1 <?xml version="1.0" encoding="utf-8"?> |
1 <?xml version="1.0" encoding="UTF-8"?> |
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
2 <!--Arbortext, Inc., 1988-2008, v.4002--> |
3 <!-- This component and the accompanying materials are made available under the terms of the License |
3 <!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" |
4 "Eclipse Public License v1.0" which accompanies this distribution, |
4 "concept.dtd"> |
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
5 <concept id="GUID-9126A296-0301-4077-A183-3D703F77C548" xml:lang="en"> |
6 <!-- Initial Contributors: |
6 <title>Support for Multiple Pointers in the Emulator Overview</title> |
7 Nokia Corporation - initial contribution. |
7 <shortdesc>This topic provides an overview of support for multiple |
8 Contributors: |
8 pointers in the emulator. Two mice are used to provide two independent |
9 --> |
9 pointer positions. The emulator responds to the mice’s individual |
10 <!DOCTYPE concept |
10 button-clicks, moves, and mouse wheel scrolls as if two human fingers |
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
11 are moving, touching or hovering over the screen.</shortdesc> |
12 <concept id="GUID-9126A296-0301-4077-A183-3D703F77C548" xml:lang="en"><title>Multi-Touch |
12 <prolog> |
13 Support in the Emulator Overview</title><shortdesc>This topic provides an overview of multi-touch support in the emulator. |
13 <metadata><keywords></keywords></metadata> |
14 Two mice are used to provide two independent pointer positions. The emulator |
14 </prolog> |
15 responds to the mice’s individual button-clicks, moves, and mouse wheel scrolls |
15 <conbody> |
16 as if two human fingers are moving, touching or hovering over the screen.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
16 <p>The emulator can be extended to support more than two mice or other |
17 <p>The emulator can be extended to support more than two mice or other pointer |
17 pointer devices.</p> |
18 devices.</p> |
18 <p><b>Variant</b>: <xref |
19 <p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target |
19 href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref |
20 audience</b>: Application developers. </p> |
20 >. <b>Target audience</b>: Application developers. </p> |
21 <p>The following figure shows two Windows pointers on the emulator screen, |
21 <p>The following figure shows two Windows pointers on the emulator |
22 each representing a mouse device. The ordinal integer (starting from 0) beside |
22 screen, each representing a mouse device. The ordinal integer (starting |
23 each pointer is the unique device identifier. The position of each mouse on |
23 from 0) beside each pointer is the unique device identifier. The position |
24 the screen is represented by the X and Y coordinates. The pressure (a positive |
24 of each mouse on the screen is represented by the X and Y coordinates. |
25 value) and proximity (a negative value) information captured by the mouse |
25 The pressure (a positive value) and proximity (a negative value) information |
26 wheel is represented by the Z coordinate. Notice that the status bar shows |
26 captured by the mouse wheel is represented by the Z coordinate. Notice |
27 the identifier and the dynamic X, Y and Z values of each pointer.</p> |
27 that the status bar shows the identifier and the dynamic X, Y and |
|
28 Z values of each pointer.</p> |
28 <fig id="GUID-03428614-06B1-4821-A284-C3B6DB8E053C"> |
29 <fig id="GUID-03428614-06B1-4821-A284-C3B6DB8E053C"> |
29 <title>Two pointers are displayed in the emulator</title> |
30 <title>Two pointers are displayed in the emulator</title> |
30 <image href="GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e194049_href.png" placement="inline"/> |
31 <image |
31 </fig> |
32 href="GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e194049_href.png" |
32 <p>The delivery of pointer events from the emulator driver to the Window Server |
33 placement="inline"></image></fig> |
33 is the same in the multi-touch environment as in the single pointer environment. |
34 <p>The delivery of pointer events from the emulator driver to the |
34 This means the raw events for a mouse move, button click and mouse wheel movement |
35 Window Server is the same when there are multiple pointers as in the |
35 are delivered to the Window Server as usual. Each mouse has a unique device |
36 single pointer environment. This means the raw events for a mouse |
36 identifier, which makes it possible to ascertain which mouse the events relate |
37 move, button click and mouse wheel movement are delivered to the Window |
37 to. The raw events for each individual mouse include the following: </p> |
38 Server as usual. Each mouse has a unique device identifier, which |
|
39 makes it possible to ascertain which mouse the events relate to. The |
|
40 raw events for each individual mouse include the following: </p> |
38 <ul> |
41 <ul> |
39 <li><p><codeph>TRawEvent::EPointerMove</codeph> indicates a mouse move or |
42 <li><p><codeph>TRawEvent::EPointerMove</codeph> indicates a mouse |
40 a mouse wheel movement event.</p></li> |
43 move or a mouse wheel movement event.</p></li> |
41 <li><p><codeph>TRawEvent::EButton1Down</codeph> indicates that the left mouse |
44 <li><p><codeph>TRawEvent::EButton1Down</codeph> indicates that the |
42 button is pressed down.</p></li> |
45 left mouse button is pressed down.</p></li> |
43 <li><p><codeph>TRawEvent::EButton1Up</codeph> indicates that the left mouse |
46 <li><p><codeph>TRawEvent::EButton1Up</codeph> indicates that the left |
44 button is released.</p></li> |
47 mouse button is released.</p></li> |
45 <li><p><codeph>TRawEvent::EPointerOutOfRange</codeph> indicates that the proximity |
48 <li><p><codeph>TRawEvent::EPointerOutOfRange</codeph> indicates that |
46 of a mouse is out of range. This means that the Z coordinate value of the |
49 the proximity of a mouse is out of range. This means that the Z coordinate |
47 mouse has reached <codeph>HALData::EPointer3DMaxProximity</codeph>.</p></li> |
50 value of the mouse has reached <codeph>HALData::EPointer3DMaxProximity</codeph |
|
51 >.</p></li> |
48 </ul> |
52 </ul> |
49 <section id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-10-1-12-1-1-7-1-6-1-6-1-9-1-9-1-8-1-5-1-3-7"> <title>Pressure |
53 <section |
50 and proximity emulation</title><p>The Z coordinate value is used to represent |
54 id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-10-1-12-1-1-7-1-6-1-6-1-9-1-9-1-8-1-5-1-3-7" |
51 the pressure and proximity to the screen. In the emulator, the Z value is |
55 > <title>Pressure and proximity emulation</title><p>The Z coordinate |
52 captured and tuned by the mouse wheel movement.</p><ul> |
56 value is used to represent the pressure and proximity to the screen. |
53 <li><p>Z < 0 indicates the proximity of the device from the screen.</p></li> |
57 In the emulator, the Z value is captured and tuned by the mouse wheel |
54 <li><p>Z > 0 indicates pressure.</p></li> |
58 movement.</p><ul> |
55 </ul><p>See <xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced |
59 <li><p>Z < 0 indicates the proximity of the device from the screen.</p |
56 Pointer Overview</xref> for more information about pressure and proximity.</p><p>The |
60 ></li> |
57 mouse wheel combines the features of a wheel and a mouse button. The wheel |
61 <li><p>Z > 0 indicates pressure.</p></li> |
58 has discrete, evenly spaced notches. Rotating the wheel backwards or forwards |
62 </ul><p>See <xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita" |
59 has the effect of changing the pressure or proximity.</p><ul> |
63 >Advanced Pointer Overview</xref> for more information about pressure |
60 <li><p>When the mouse wheel is rotated, a device-specific message is sent |
64 and proximity.</p><p>The mouse wheel combines the features of a wheel |
61 to the emulator window that has focus as each notch is encountered.</p></li> |
65 and a mouse button. The wheel has discrete, evenly spaced notches. |
62 <li><p>The Z coordinate is initiated as 0. Then when the wheel is moved forward, |
66 Rotating the wheel backwards or forwards has the effect of changing |
63 the Z value enters the pressure range and increases by one pressure step. |
67 the pressure or proximity.</p><ul> |
64 When the wheel is moved backward, the Z value enters the proximity range and |
68 <li><p>When the mouse wheel is rotated, a device-specific message |
65 decreases by one proximity step.</p><p>The pressure or proximity step can |
69 is sent to the emulator window that has focus as each notch is encountered.</p |
66 be customized in the <filepath>epoc.ini</filepath> file. See <xref href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita">Enabling |
70 ></li> |
67 Multi-Touch in the Emulator Tutorial</xref> for more information.</p></li> |
71 <li><p>The Z coordinate is initiated as 0. Then when the wheel is |
68 <li><p>When the Z value is in the pressure range (Z > 0), moving the wheel |
72 moved forward, the Z value enters the pressure range and increases |
69 forward by one notch increases Z by one pressure step. Moving the wheel backward |
73 by one pressure step. When the wheel is moved backward, the Z value |
70 by one notch decreases Z by one pressure step, until Z returns to 0.</p></li> |
74 enters the proximity range and decreases by one proximity step.</p |
71 <li><p>When the Z value is in the proximity range (Z < 0), moving the wheel |
75 ><p>The pressure or proximity step can be customized in the <filepath |
72 backward by one notch decreases Z by one proximity step. Moving the wheel |
76 >epoc.ini</filepath> file. See <xref |
73 forward by one notch increases Z by one proximity step, until Z returns to |
77 href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita">Enabling Multiple |
74 0. </p></li> |
78 Pointers in the Emulator Tutorial</xref> for more information.</p |
75 <li><p>There are limits to the values of the Z coordinate. This |
79 ></li> |
76 means that the Symbian emulator does not allow Z to exceed the upper boundary <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-BF464EF0-D685-3B12-9E13-65A86BAED610"><apiname>HALData::EPointer3DMaxPressure</apiname></xref> (a |
80 <li><p>When the Z value is in the pressure range (Z > 0), moving the |
77 positive value) and lower boundary <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-7FCDA198-1E26-3BC9-A5A1-C4AF67016615"><apiname>HALData::EPointer3DMaxProximity</apiname></xref> (a |
81 wheel forward by one notch increases Z by one pressure step. Moving |
78 negative value). If Z is at the lower boundary, when the mouse wheel is moved |
82 the wheel backward by one notch decreases Z by one pressure step, |
79 backward next time, Z does not change. A new <codeph>Out of Range</codeph> pointer |
83 until Z returns to 0.</p></li> |
80 event is generated and sent to the Window Server. Similarly when Z is at the |
84 <li><p>When the Z value is in the proximity range (Z < 0), moving |
81 upper boundary, Z does not change when the mouse wheel is moved forward.</p></li> |
85 the wheel backward by one notch decreases Z by one proximity step. |
82 <li><p>When the mouse button down or up event (<codeph>TRawEvent::EButton1Down</codeph> or <codeph>TRawEvent::EButton1Up</codeph>) |
86 Moving the wheel forward by one notch increases Z by one proximity |
83 is generated, Z is reset to 0.</p></li> |
87 step, until Z returns to 0. </p></li> |
|
88 <li><p>There are limits to the values of the Z coordinate. This means |
|
89 that the Symbian emulator does not allow Z to exceed the upper boundary <xref |
|
90 href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-BF464EF0-D685-3B12-9E13-65A86BAED610" |
|
91 ><apiname>HALData::EPointer3DMaxPressure</apiname></xref> (a positive |
|
92 value) and lower boundary <xref |
|
93 href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-7FCDA198-1E26-3BC9-A5A1-C4AF67016615" |
|
94 ><apiname>HALData::EPointer3DMaxProximity</apiname></xref> (a negative |
|
95 value). If Z is at the lower boundary, when the mouse wheel is moved |
|
96 backward next time, Z does not change. A new <codeph>Out of Range</codeph |
|
97 > pointer event is generated and sent to the Window Server. Similarly |
|
98 when Z is at the upper boundary, Z does not change when the mouse |
|
99 wheel is moved forward.</p></li> |
|
100 <li><p>When the mouse button down or up event (<codeph>TRawEvent::EButton1Down</codeph |
|
101 > or <codeph>TRawEvent::EButton1Up</codeph>) is generated, Z is reset |
|
102 to 0.</p></li> |
84 </ul> </section> |
103 </ul> </section> |
85 </conbody><related-links> |
104 </conbody> |
86 <link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext>Advanced |
105 <related-links> |
87 Pointers</linktext></link> |
106 <link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext |
88 <link href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita"><linktext>Enabling |
107 >Advanced Pointers</linktext></link> |
89 Multi-Touch in the Emulator Tutorial</linktext></link> |
108 <link href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita"><linktext |
90 </related-links></concept> |
109 >Enabling Multiple Pointers <?Pub Caret?>in the Emulator Tutorial</linktext> |
|
110 </link> |
|
111 </related-links> |
|
112 </concept> |
|
113 <?Pub *0000006176?> |