Symbian3/PDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita
changeset 12 80ef3a206772
parent 11 5072524fcc79
equal deleted inserted replaced
11:5072524fcc79 12:80ef3a206772
     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
    26 application. However, this is acceptable only if tactile feedback
    28 application. However, this is acceptable only if tactile feedback
    27 causes interference with other device functions.</p>
    29 causes interference with other device functions.</p>
    28 <p>The user can choose the level of tactile feedback and turn tacticons
    30 <p>The user can choose the level of tactile feedback and turn tacticons
    29 ON and OFF.</p>
    31 ON and OFF.</p>
    30 <p>The following table lists the tactile feedback effects:</p>
    32 <p>The following table lists the tactile feedback effects:</p>
    31 <p><table id="GUID-4969AEA7-3BE4-4644-8232-1FA26D49010B">
    33 <p><table id="GUID-4969AEA7-3BE4-4644-8232-1FA26D49010B"><title>Tactile
    32 <title>Tactile feedback effects</title>
    34 feedback effects</title>
    33 <tgroup cols="2"><colspec colname="col1" colwidth="0.40*"/><colspec
    35 <tgroup cols="2"><colspec colname="col1" colwidth="0.40*"/><colspec colname="col2" colwidth="1.60*"/>
    34 colname="col2" colwidth="1.60*"/>
       
    35 <thead>
    36 <thead>
    36 <row>
    37 <row>
    37 <entry valign="top"><p>Effects</p></entry>
    38 <entry valign="top"><p>Effects</p></entry>
    38 <entry valign="top"><p>Description</p></entry>
    39 <entry valign="top"><p>Description</p></entry>
    39 </row>
    40 </row>
    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
    89 <row>
    88 <row>
    90 <entry><p><b>Pop-up</b></p></entry>
    89 <entry><p><b>Pop-up</b></p></entry>
    91 <entry><p>Provides sensitive pulse effect when pop-up is opened or
    90 <entry><p>Provides sensitive pulse effect when pop-up is opened or
    92 closed. If the theme animations are ON, then pop-up effect is used
    91 closed. If the theme animations are ON, then pop-up effect is used
    93 with opening event after increasing long touch effect. In this scenario,
    92 with opening event after increasing long touch effect. In this scenario,
    94 there is no pop-up effect . <note> All pop-ups do not have theme animation.</note
    93 there is no pop-up effect . <note> All pop-ups do not have theme animation.</note></p></entry>
    95 ></p></entry>
       
    96 </row>
    94 </row>
    97 <row>
    95 <row>
    98 <entry><p><b>Pop-up close</b></p></entry>
    96 <entry><p><b>Pop-up close</b></p></entry>
    99 <entry><p>Provides decreasing smooth feedback  a pop-up and when theme
    97 <entry><p>Provides decreasing smooth feedback  a pop-up and when theme
   100 animations are ON.</p></entry>
    98 animations are ON.</p></entry>
   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?>