1 <?xml version="1.0" encoding="UTF-8"?> |
1 <?xml version="1.0" encoding="utf-8"?> |
2 <!--Arbortext, Inc., 1988-2008, v.4002--> |
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
3 <!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" |
3 <!-- This component and the accompanying materials are made available under the terms of the License |
4 "concept.dtd"> |
4 "Eclipse Public License v1.0" which accompanies this distribution, |
5 <concept id="GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF" xml:lang="en"> |
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
6 <title>Tactile feedback</title> |
6 <!-- Initial Contributors: |
7 <prolog> |
7 Nokia Corporation - initial contribution. |
8 <metadata><keywords></keywords></metadata> |
8 Contributors: |
9 </prolog> |
9 --> |
10 <conbody> |
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF" xml:lang="en"><title>Tactile feedback</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
11 <p>There are two cases where vibration or audio of the device is used |
13 <p>There are two cases where vibration or audio of the device is used |
12 as an output method:</p> |
14 as an output method:</p> |
13 <ul> |
15 <ul> |
14 <li><p>As a <i>tacticon</i> to inform users through physical feedback, |
16 <li><p>As a <i>tacticon</i> to inform users through physical feedback, |
15 that an important event is occurring in the device. For example, when |
17 that an important event is occurring in the device. For example, when |
50 also possible with other similar components.</p></entry> |
51 also possible with other similar components.</p></entry> |
51 </row> |
52 </row> |
52 <row> |
53 <row> |
53 <entry><p><b>Sensitive list</b></p></entry> |
54 <entry><p><b>Sensitive list</b></p></entry> |
54 <entry><p>Provides single pulse effect to lists and grids. Effect |
55 <entry><p>Provides single pulse effect to lists and grids. Effect |
55 is used with move (drag and flick) when new item appears on the screen.</p |
56 is used with move (drag and flick) when new item appears on the screen.</p></entry> |
56 ></entry> |
|
57 </row> |
57 </row> |
58 <row> |
58 <row> |
59 <entry><p><b>Basic list</b></p></entry> |
59 <entry><p><b>Basic list</b></p></entry> |
60 <entry><p>Provides stronger single pulse effect to lists and grids. |
60 <entry><p>Provides stronger single pulse effect to lists and grids. |
61 Effect is used with touch down and release when tap makes an action. </p |
61 Effect is used with touch down and release when tap makes an action. </p><p>In hierarchical list, collapsing/expanding item provides basic |
62 ><p>In hierarchical list, collapsing/expanding item provides basic |
|
63 list effect with touch down and release.</p></entry> |
62 list effect with touch down and release.</p></entry> |
64 </row> |
63 </row> |
65 <row> |
64 <row> |
66 <entry><p><b>Bounce effect</b></p></entry> |
65 <entry><p><b>Bounce effect</b></p></entry> |
67 <entry><p>Provides pulse effect when list returns to its normal state |
66 <entry><p>Provides pulse effect when list returns to its normal state |
139 <row> |
137 <row> |
140 <entry><p><b>Line edit</b></p></entry> |
138 <entry><p><b>Line edit</b></p></entry> |
141 <entry><p>Provides pulse effect when painting a line.</p></entry> |
139 <entry><p>Provides pulse effect when painting a line.</p></entry> |
142 </row> |
140 </row> |
143 <row> |
141 <row> |
144 <entry><p><b>Em<?Pub Caret?>pty line</b></p></entry> |
142 <entry><p><b>Empty line</b></p></entry> |
145 <entry><p>Provides pulse effect when painting an empty line. By default, |
143 <entry><p>Provides pulse effect when painting an empty line. By default, |
146 it is none.</p></entry> |
144 it is none.</p></entry> |
147 </row> |
145 </row> |
148 <row> |
146 <row> |
149 <entry><p><b>Check box</b></p></entry> |
147 <entry><p><b>Check box</b></p></entry> |
150 <entry><p>Provides pulse effect when marking/unmarking a check box.</p |
148 <entry><p>Provides pulse effect when marking/unmarking a check box.</p></entry> |
151 ></entry> |
149 </row> |
152 </row> |
150 <row> |
153 <row> |
151 <entry><p><b>Multiple Touch recognition</b></p></entry> |
154 <entry><p><b>Multiple touch recognition</b></p></entry> |
|
155 <entry><p>Provides double pulse (sensitive + sensitive) effect when |
152 <entry><p>Provides double pulse (sensitive + sensitive) effect when |
156 multiple touch is recognized (generally, when second finger is touched |
153 multiple touch is recognized (generally, when second finger is touched |
157 down).</p></entry> |
154 down).</p></entry> |
158 </row> |
155 </row> |
159 <row> |
156 <row> |
178 through the sense of touch, we have to stimulate some of the cutaneous |
175 through the sense of touch, we have to stimulate some of the cutaneous |
179 senses or the movement sense. The stimulation of the cutaneous senses |
176 senses or the movement sense. The stimulation of the cutaneous senses |
180 or one of them by a product is called tactile stimulation. Respectively, |
177 or one of them by a product is called tactile stimulation. Respectively, |
181 the stimulation of the movement sense by a product is called haptic |
178 the stimulation of the movement sense by a product is called haptic |
182 stimulation or just haptics. Haptics is also used as general term |
179 stimulation or just haptics. Haptics is also used as general term |
183 for all issues related to sense of touch, both human and machine.</p |
180 for all issues related to sense of touch, both human and machine.</p><p>Haptic feedback, often referred to as "Haptics", is the use of |
184 ><p>Haptic feedback, often referred to as "Haptics", is the use of |
|
185 the sense of touch in a user interface design to provide information |
181 the sense of touch in a user interface design to provide information |
186 to an end user. In mobile phones, this generally means the use of |
182 to an end user. In mobile phones, this generally means the use of |
187 vibrations from the device's vibration alarm to denote that a touch |
183 vibrations from the device's vibration alarm to denote that a touch |
188 screen button has been pressed. In this particular example, the phone |
184 screen button has been pressed. In this particular example, the phone |
189 would vibrate slightly in response to the user's activation of an |
185 would vibrate slightly in response to the user's activation of an |
190 on-screen control, making up for the lack of a normal tactile response |
186 on-screen control, making up for the lack of a normal tactile response |
191 that the user would experience when pressing a physical button.</p |
187 that the user would experience when pressing a physical button.</p></section> |
192 ></section> |
|
193 <section id="GUID-B9A35CA3-B830-4D97-9B0A-E22DC4A3CDA1"><title>Characteristics |
188 <section id="GUID-B9A35CA3-B830-4D97-9B0A-E22DC4A3CDA1"><title>Characteristics |
194 of haptics related APIs</title><p>You can use the following APIs |
189 of haptics related APIs</title><p>You can use the following APIs |
195 to create haptic effects:</p><ul> |
190 to create haptic effects:</p><ul> |
196 <li><p><xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita" |
191 <li><p><xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile |
197 >Tactile Feedback Client API</xref></p><ul> |
192 Feedback Client API</xref></p><ul> |
198 <li><p>Available from S60 5th Edition onwards.</p></li> |
193 <li><p>Available from S60 5th Edition onwards.</p></li> |
199 <li><p>It can be used on all S60 5th Edition or later mobile devices. |
194 <li><p>It can be used on all S60 5th Edition or later mobile devices. |
200 However, the feedback is played only on touch enabled layouts.</p |
195 However, the feedback is played only on touch enabled layouts.</p></li> |
201 ></li> |
|
202 <li><p>Provides simple functions for triggering various predefined |
196 <li><p>Provides simple functions for triggering various predefined |
203 tactile feedback (vibration or audio) effects.</p></li> |
197 tactile feedback (vibration or audio) effects.</p></li> |
204 <li><p>Enables a consistent user experience in all applications of |
198 <li><p>Enables a consistent user experience in all applications of |
205 the mobile device (an application gives a logical feedback type as |
199 the mobile device (an application gives a logical feedback type as |
206 an input and the actual physical effect depends on the mobile device |
200 an input and the actual physical effect depends on the mobile device |
207 configuration and end user settings).</p></li> |
201 configuration and end user settings).</p></li> |
208 <li><p>When the area feedback is used, latency is low for the feedback |
202 <li><p>When the area feedback is used, latency is low for the feedback |
209 triggering (a tactile feedback can already be triggered at the window |
203 triggering (a tactile feedback can already be triggered at the window |
210 server level prior to the corresponding pointer event being delivered |
204 server level prior to the corresponding pointer event being delivered |
211 to the visible application).</p></li> |
205 to the visible application).</p></li> |
212 <li><p>Direct feedback can be easily integrated into <xref |
206 <li><p>Direct feedback can be easily integrated into <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-5CF90E7A-4A91-36FF-BB3F-CF7CF687DED2"><apiname>CCoeControl::HandlePointerEventL()</apiname></xref>. </p></li> |
213 href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-5CF90E7A-4A91-36FF-BB3F-CF7CF687DED2" |
|
214 ><apiname>CCoeControl::HandlePointerEventL()</apiname></xref>. </p |
|
215 ></li> |
|
216 <li><p>An application can select the logical tactile feedback from |
207 <li><p>An application can select the logical tactile feedback from |
217 certain types. The produced effect may be different on various mobile |
208 certain types. The produced effect may be different on various mobile |
218 devices.</p></li> |
209 devices.</p></li> |
219 </ul></li> |
210 </ul></li> |
220 <li><p><xref format="application/java-archive" |
211 <li><p><xref href="jar:GUID-558A5A9B-811E-4A87-B3DD-AE734C9AA966.jar!/public_specs/GuidesA/Haptics_API_Specification/Haptics_API_Specification.html" format="application/java-archive">Haptics API</xref></p><ul> |
221 href="jar:GUID-558A5A9B-811E-4A87-B3DD-AE734C9AA966.jar!/public_specs/GuidesA/Haptics_API_Specification/Haptics_API_Specification.html" |
|
222 >Haptics API</xref></p><ul> |
|
223 <li><p>Available from S60 5th Edition, FP2 onwards.</p></li> |
212 <li><p>Available from S60 5th Edition, FP2 onwards.</p></li> |
224 <li><p>It can be used in touch and hybrid mobile devices.</p></li> |
213 <li><p>It can be used in touch and hybrid mobile devices.</p></li> |
225 <li><p>Provides an interface for accessing Haptics player that can |
214 <li><p>Provides an interface for accessing Haptics player that can |
226 control different actuator types.</p></li> |
215 control different actuator types.</p></li> |
227 <li><p>Enables producing of complex vibrator effects, such as an explosion |
216 <li><p>Enables producing of complex vibrator effects, such as an explosion |
230 <li><p>Enables simultaneous playing of different kinds of basis effects |
219 <li><p>Enables simultaneous playing of different kinds of basis effects |
231 and modifying them when played. </p></li> |
220 and modifying them when played. </p></li> |
232 <li><p>Allows the design of complex effects (using a separate PC application) |
221 <li><p>Allows the design of complex effects (using a separate PC application) |
233 that can be loaded on Haptics player for playing.</p></li> |
222 that can be loaded on Haptics player for playing.</p></li> |
234 <li><p>It may require a special license key for third-party applications |
223 <li><p>It may require a special license key for third-party applications |
235 (to be set at runtime) to enable the Haptics player functionality.</p |
224 (to be set at runtime) to enable the Haptics player functionality.</p></li> |
236 ></li> |
|
237 </ul></li> |
225 </ul></li> |
238 <li><p><xref href="GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita" |
226 <li><p><xref href="GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita">Vibra |
239 >Vibra API</xref></p><ul> |
227 API</xref></p><ul> |
240 <li><p>Available from S60 3.0 onwards.</p></li> |
228 <li><p>Available from S60 3.0 onwards.</p></li> |
241 <li><p>It can be used for running device vibrator with given intensity |
229 <li><p>It can be used for running device vibrator with given intensity |
242 for a given period of time.</p></li> |
230 for a given period of time.</p></li> |
243 <li><p>It can be used by a privileged client application to play pulse |
231 <li><p>It can be used by a privileged client application to play pulse |
244 effects, which have a very short duration (as the ones used for tactile |
232 effects, which have a very short duration (as the ones used for tactile |
245 feedback).</p></li> |
233 feedback).</p></li> |
246 </ul></li> |
234 </ul></li> |
247 </ul></section> |
235 </ul></section> |
248 <section id="GUID-428F693C-1CA8-4588-9A7D-C4265D2AED91"><title>When |
236 <section id="GUID-428F693C-1CA8-4588-9A7D-C4265D2AED91"><title>When |
249 to use Tactile Feedback Client API, Haptics API, and Vibra API</title |
237 to use Tactile Feedback Client API, Haptics API, and Vibra API</title><p><ul> |
250 ><p><ul> |
|
251 <li><p>Tactile Feedback Client API for providing tactile feedback |
238 <li><p>Tactile Feedback Client API for providing tactile feedback |
252 in custom controls (grids, lists, and so on), which will comply with |
239 in custom controls (grids, lists, and so on), which will comply with |
253 the style of Core UI components to ensure a uniform user experience |
240 the style of Core UI components to ensure a uniform user experience |
254 among applications.</p></li> |
241 among applications.</p></li> |
255 <li><p>Haptics API on touch and hybrid mobile devices for producing |
242 <li><p>Haptics API on touch and hybrid mobile devices for producing |
257 Framework (games, simulations, demos, and so on).</p></li> |
244 Framework (games, simulations, demos, and so on).</p></li> |
258 <li><p>Vibra API for producing haptic effects such as ringing tone |
245 <li><p>Vibra API for producing haptic effects such as ringing tone |
259 vibration in those mobile devices where Haptics API is not available |
246 vibration in those mobile devices where Haptics API is not available |
260 or functional.</p></li> |
247 or functional.</p></li> |
261 </ul></p></section> |
248 </ul></p></section> |
262 <section id="GUID-8334E102-8F04-4726-9CD2-1D8004A417E1"><title>Using |
249 <section id="GUID-8334E102-8F04-4726-9CD2-1D8004A417E1"><title>Using tactile feedback |
263 tactile feedback in applications</title><p>The API to use for tactile |
250 in applications</title><p>The API to use for tactile feedback is the <xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile feedback |
264 feedback is the <xref |
|
265 href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile feedback |
|
266 client API</xref>.</p><p>The Symbian platform includes a tactile feedback |
251 client API</xref>.</p><p>The Symbian platform includes a tactile feedback |
267 interface to add, modify and remove feedback areas in the registry. |
252 interface to add, modify and remove feedback areas in the registry. |
268 There is also an option to trigger direct feedback and bypass the |
253 There is also an option to trigger direct feedback and bypass the |
269 registry. <xref |
254 registry. <xref href="GUID-766333D1-8D66-3B81-9B5D-8C4245F78298.dita#GUID-766333D1-8D66-3B81-9B5D-8C4245F78298/GUID-962B6543-9A59-3E72-893D-F775FEC54ACB"><apiname>MTouchFeedback::Instance()</apiname></xref> is used for |
270 href="GUID-766333D1-8D66-3B81-9B5D-8C4245F78298.dita#GUID-766333D1-8D66-3B81-9B5D-8C4245F78298/GUID-962B6543-9A59-3E72-893D-F775FEC54ACB" |
|
271 ><apiname>MTouchFeedback::Instance()</apiname></xref> is used for |
|
272 acquiring a pointer to a touch feedback instance. When touch feedback |
255 acquiring a pointer to a touch feedback instance. When touch feedback |
273 is activated, the mobile device users get a slight vibration when |
256 is activated, the mobile device users get a slight vibration when |
274 the control with the feedback interface is touched. </p><note><p>Tactile |
257 the control with the feedback interface is touched. </p><note><p>Tactile |
275 feedback can be set and disabled in a client application or a mobile |
258 feedback can be set and disabled in a client application or a mobile |
276 device in some scenarios, for example, during phone calls.</p></note |
259 device in some scenarios, for example, during phone calls.</p></note><p>Client applications cannot determine the actual physical feedback |
277 ><p>Client applications cannot determine the actual physical feedback |
|
278 that is generated. It depends on device configuration and current |
260 that is generated. It depends on device configuration and current |
279 settings. In current devices, the user changeable settings include |
261 settings. In current devices, the user changeable settings include |
280 vibration and audio feedback intensity level.</p><p>For more information, |
262 vibration and audio feedback intensity level.</p><p>For more information, |
281 see <xref href="GUID-21DAC50D-7737-42B6-BBDA-E12E8779741B.dita">Feedback</xref |
263 see <xref href="GUID-21DAC50D-7737-42B6-BBDA-E12E8779741B.dita">Feedback</xref>.</p></section> |
282 >.</p></section> |
264 </conbody></concept> |
283 </conbody> |
|
284 </concept> |
|
285 <?Pub *0000013046?> |
|