31 to nodes, where each node is defined by the <xref href="GUID-3D2F56DB-DD36-3787-8653-C5AC114D69A1.dita"><apiname>SConvTableNode</apiname></xref> struct. |
31 to nodes, where each node is defined by the <xref href="GUID-3D2F56DB-DD36-3787-8653-C5AC114D69A1.dita"><apiname>SConvTableNode</apiname></xref> struct. |
32 Each node corresponds to a specific combination of modifier key states. </p> </li> |
32 Each node corresponds to a specific combination of modifier key states. </p> </li> |
33 <li id="GUID-8321989A-20FE-58C3-90D0-2D3BE29E11F6"><p>a field containing the |
33 <li id="GUID-8321989A-20FE-58C3-90D0-2D3BE29E11F6"><p>a field containing the |
34 total number of such nodes. </p> </li> |
34 total number of such nodes. </p> </li> |
35 </ul> <fig id="GUID-A8C68654-2D56-501F-8D45-C0F75E63B630"> |
35 </ul> <fig id="GUID-A8C68654-2D56-501F-8D45-C0F75E63B630"> |
36 <image href="GUID-FB69F45C-2256-5F2D-8D2C-98C93B865962_d0e372195_href.png" placement="inline"/> |
36 <image href="GUID-FB69F45C-2256-5F2D-8D2C-98C93B865962_d0e393714_href.png" placement="inline"/> |
37 </fig> </li> |
37 </fig> </li> |
38 <li id="GUID-C232C328-190D-59F1-A1CB-BC9D736367B0"><p>The combination of modifier |
38 <li id="GUID-C232C328-190D-59F1-A1CB-BC9D736367B0"><p>The combination of modifier |
39 key states that each node represents is encapsulated by a <xref href="GUID-7D0DE872-AC17-3045-9F97-E25A13B5CFB0.dita"><apiname>TMaskedModifiers</apiname></xref> object. |
39 key states that each node represents is encapsulated by a <xref href="GUID-7D0DE872-AC17-3045-9F97-E25A13B5CFB0.dita"><apiname>TMaskedModifiers</apiname></xref> object. |
40 One of these objects is embedded within each node. </p> <p>A <xref href="GUID-7D0DE872-AC17-3045-9F97-E25A13B5CFB0.dita"><apiname>TMaskedModifiers</apiname></xref> object |
40 One of these objects is embedded within each node. </p> <p>A <xref href="GUID-7D0DE872-AC17-3045-9F97-E25A13B5CFB0.dita"><apiname>TMaskedModifiers</apiname></xref> object |
41 consists of a mask, and a value for comparison. For example, if an instance |
41 consists of a mask, and a value for comparison. For example, if an instance |
62 <li id="GUID-AC4820E0-F3D9-547A-9437-964D5A7FE540"><p>a pointer to a table |
62 <li id="GUID-AC4820E0-F3D9-547A-9437-964D5A7FE540"><p>a pointer to a table |
63 containing the target keycodes. The target keycodes are arranged so that successive |
63 containing the target keycodes. The target keycodes are arranged so that successive |
64 scancode pairs are associated with successive blocks of keycodes as the following |
64 scancode pairs are associated with successive blocks of keycodes as the following |
65 diagram shows. </p> </li> |
65 diagram shows. </p> </li> |
66 </ul> <fig id="GUID-4B2FBB49-6CBD-5030-82D0-9B4DDF2D3DBF"> |
66 </ul> <fig id="GUID-4B2FBB49-6CBD-5030-82D0-9B4DDF2D3DBF"> |
67 <image href="GUID-DFADEB44-4D57-564F-ABDF-A3CCD38ACABC_d0e372306_href.png" placement="inline"/> |
67 <image href="GUID-DFADEB44-4D57-564F-ABDF-A3CCD38ACABC_d0e393825_href.png" placement="inline"/> |
68 </fig> <p>This means that successive scancodes, for example, from "A1" through |
68 </fig> <p>This means that successive scancodes, for example, from "A1" through |
69 to "B1" are represented by the successive keycodes "keycode for A1" through |
69 to "B1" are represented by the successive keycodes "keycode for A1" through |
70 to "keycode for B1"; scancode "A2" is represented by "keycode for A2", which |
70 to "keycode for B1"; scancode "A2" is represented by "keycode for A2", which |
71 follows "keycode for B1" in the keycode table. </p> </li> |
71 follows "keycode for B1" in the keycode table. </p> </li> |
72 <li id="GUID-68C8A342-A3D2-5975-82F1-F635E366F741"><p>To allow for possible |
72 <li id="GUID-68C8A342-A3D2-5975-82F1-F635E366F741"><p>To allow for possible |
73 reuse of keycode tables, a node can point to more than one <xref href="GUID-35A21F70-F080-364D-8655-5E1781B378EB.dita"><apiname>SConvSubTable</apiname></xref>. |
73 reuse of keycode tables, a node can point to more than one <xref href="GUID-35A21F70-F080-364D-8655-5E1781B378EB.dita"><apiname>SConvSubTable</apiname></xref>. |
74 The following diagram shows an example of this: </p> <fig id="GUID-3F5514B5-86E6-52BE-A4C2-38882A1CEACA"> |
74 The following diagram shows an example of this: </p> <fig id="GUID-3F5514B5-86E6-52BE-A4C2-38882A1CEACA"> |
75 <image href="GUID-5FDAF564-6BE1-544A-B5C0-E0D6E25D82E7_d0e372323_href.png" placement="inline"/> |
75 <image href="GUID-5FDAF564-6BE1-544A-B5C0-E0D6E25D82E7_d0e393842_href.png" placement="inline"/> |
76 </fig> </li> |
76 </fig> </li> |
77 <li id="GUID-C6001149-460A-57D4-A9FE-BCB050B49791"><p>If no keycode can be |
77 <li id="GUID-C6001149-460A-57D4-A9FE-BCB050B49791"><p>If no keycode can be |
78 found that matches the scancode, for a given modifier combination, then the |
78 found that matches the scancode, for a given modifier combination, then the |
79 algorithm returns the <xref href="GUID-76B2E62E-EC09-3CA9-8B2D-EBAC6BF1FFDB.dita"><apiname>EKeyNull</apiname></xref> keycode. </p> </li> |
79 algorithm returns the <xref href="GUID-76B2E62E-EC09-3CA9-8B2D-EBAC6BF1FFDB.dita"><apiname>EKeyNull</apiname></xref> keycode. </p> </li> |
80 </ol> |
80 </ol> |