author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> |
Tue, 31 Aug 2010 16:34:26 +0300 | |
branch | RCL_3 |
changeset 256 | c1f20ce4abcf |
parent 0 | a41df078684a |
child 257 | 3e88ff8f41d5 |
permissions | -rw-r--r-- |
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
1 |
// Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies). |
0 | 2 |
// All rights reserved. |
3 |
// This component and the accompanying materials are made available |
|
4 |
// under the terms of the License "Eclipse Public License v1.0" |
|
5 |
// which accompanies this distribution, and is available |
|
6 |
// at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 |
// |
|
8 |
// Initial Contributors: |
|
9 |
// Nokia Corporation - initial contribution. |
|
10 |
// |
|
11 |
// Contributors: |
|
12 |
// |
|
13 |
// Description: |
|
14 |
// e32\include\k32keys.h |
|
15 |
// |
|
16 |
// WARNING: This file contains some APIs which are internal and are subject |
|
17 |
// to change without notice. Such APIs should therefore not be used |
|
18 |
// outside the Kernel and Hardware Services package. |
|
19 |
// |
|
20 |
||
21 |
#ifndef __KEYSTD_H__ |
|
22 |
#define __KEYSTD_H__ |
|
23 |
||
24 |
||
25 |
//////////////////////////////////////////////////////// |
|
26 |
// |
|
27 |
// Bits required for keyboard translation software |
|
28 |
// |
|
29 |
//////////////////////////////////////////////////////// |
|
30 |
||
31 |
#include <e32svr.h> |
|
32 |
||
33 |
/** |
|
34 |
@internalComponent |
|
35 |
@released |
|
36 |
*/ |
|
37 |
const TUint KConvTableSettableModifiers=EModifierAutorepeatable| |
|
38 |
EModifierKeypad| |
|
39 |
EModifierPureKeycode; |
|
40 |
||
41 |
/** |
|
42 |
@internalComponent |
|
43 |
@released |
|
44 |
*/ |
|
45 |
const TUint KPersistentModifiers=EModifierLeftAlt| |
|
46 |
EModifierRightAlt| |
|
47 |
EModifierAlt| |
|
48 |
EModifierLeftCtrl| |
|
49 |
EModifierRightCtrl| |
|
50 |
EModifierCtrl| |
|
51 |
EModifierLeftShift| |
|
52 |
EModifierRightShift| |
|
53 |
EModifierShift| |
|
54 |
EModifierLeftFunc| |
|
55 |
EModifierRightFunc| |
|
56 |
EModifierFunc| |
|
57 |
EModifierCapsLock| |
|
58 |
EModifierNumLock| |
|
59 |
EModifierScrollLock| |
|
60 |
EModifierKeyboardExtend; |
|
61 |
||
62 |
||
63 |
/** |
|
64 |
@internalComponent |
|
65 |
@released |
|
66 |
*/ |
|
67 |
const TUint KRotationModifiers=EModifierRotateBy90| |
|
68 |
EModifierRotateBy180| |
|
69 |
EModifierRotateBy270; |
|
70 |
||
71 |
||
72 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
73 |
A contiguous range of logical scancodes of type, and ordering, as |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
74 |
defined in TStdScanCode. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
75 |
Once aligned with an array of target keycodes, a pairwise |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
76 |
association between each scancode and its translation will |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
77 |
be defined. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
78 |
|
0 | 79 |
@publishedPartner |
80 |
@released |
|
81 |
*/ |
|
82 |
struct SScanCodeBlock |
|
83 |
{ |
|
84 |
TUint16 firstScanCode; |
|
85 |
TUint16 lastScanCode; |
|
86 |
}; |
|
87 |
||
88 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
89 |
An array of SScanCodeBlock scancode ranges. This allows |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
90 |
a discontiguous set of scancodes to be treated contiguously. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
91 |
|
0 | 92 |
@publishedPartner |
93 |
@released |
|
94 |
*/ |
|
95 |
struct SScanCodeBlockList |
|
96 |
{ |
|
97 |
TUint numBlocks; |
|
98 |
const SScanCodeBlock *pblocks; |
|
99 |
}; |
|
100 |
||
101 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
102 |
Associates an SScanCodeBlockList with |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
103 |
a specific set of target keycodes. This defines a concrete |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
104 |
translation for the scancodes in the scanCodes block list. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
105 |
|
0 | 106 |
@publishedPartner |
107 |
@released |
|
108 |
*/ |
|
109 |
struct SConvSubTable |
|
110 |
{ |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
111 |
const TUint16 *pkeyCode; //<! An array of target keycodes |
0 | 112 |
SScanCodeBlockList scanCodes; |
113 |
}; |
|
114 |
||
115 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
116 |
Associates a combination of modifier keys with the translation |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
117 |
table to be used when the combination is active. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
118 |
|
0 | 119 |
@publishedPartner |
120 |
@released |
|
121 |
*/ |
|
122 |
struct SConvTableNode |
|
123 |
{ |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
124 |
TMaskedModifiers maskedModifiers; |
0 | 125 |
TUint numSubTables; |
126 |
const SConvSubTable * const *ppsubTables; |
|
127 |
}; |
|
128 |
||
129 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
130 |
The top level collection of all different translation |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
131 |
tables. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
132 |
|
0 | 133 |
@publishedPartner |
134 |
@released |
|
135 |
*/ |
|
136 |
struct SConvTable |
|
137 |
{ |
|
138 |
TUint numNodes; |
|
139 |
const SConvTableNode *pnodes; |
|
140 |
}; |
|
141 |
||
142 |
/** |
|
143 |
@publishedPartner |
|
144 |
@released |
|
145 |
*/ |
|
146 |
struct SKeyCodeList |
|
147 |
{ |
|
148 |
TUint numKeyCodes; |
|
149 |
const TUint16 *pkeyCodes; |
|
150 |
}; |
|
151 |
||
152 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
153 |
Defines an action to perform when a given key press |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
154 |
occurs. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
155 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
156 |
@note This struct should not be used in a keymap table. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
157 |
It is used within the key translator to represent an |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
158 |
SFuncAndState for the modifier table (where the state |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
159 |
member is not meaningful). |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
160 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
161 |
@see SFuncAndState |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
162 |
|
0 | 163 |
@publishedPartner |
164 |
@released |
|
165 |
*/ |
|
166 |
struct SFunc |
|
167 |
{ |
|
168 |
TInt32 funcParam; |
|
169 |
TUint8 func; |
|
170 |
TUint8 filler; |
|
171 |
}; |
|
172 |
||
173 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
174 |
Defines an action to perform and the next state transition |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
175 |
when a given key press occurs. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
176 |
|
0 | 177 |
@publishedPartner |
178 |
@released |
|
179 |
*/ |
|
180 |
struct SFuncAndState |
|
181 |
{ |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
182 |
TUint8 state; ///< The next TState to transition to |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
183 |
TUint8 func; ///< A TFuncGeneral action |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
184 |
TInt32 funcParam; ///< Parameter for func (key to translate to for EPassSpecialKeyThru) |
0 | 185 |
}; |
186 |
||
187 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
188 |
Associates a SFuncAndState, which defines an action, with a |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
189 |
key press and modifier combination to trigger it. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
190 |
|
0 | 191 |
@publishedPartner |
192 |
@released |
|
193 |
*/ |
|
194 |
struct SFuncTableEntry |
|
195 |
{ |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
196 |
TMaskedModifiers maskedModifiers; ///< Required modifier combination |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
197 |
TKeyCodePattern keyCodePattern; ///< Required keypress |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
198 |
SFuncAndState funcAndNewState; ///< Action or translation |
0 | 199 |
}; |
200 |
||
201 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
202 |
A function table corresponds to a particular keyboard |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
203 |
mode. When this mode is active this table's entries |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
204 |
are used to perform actions or translations |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
205 |
for certain keypresses. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
206 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
207 |
@see SFuncTableEntry |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
208 |
|
0 | 209 |
@publishedPartner |
210 |
@released |
|
211 |
*/ |
|
212 |
struct SFuncTable |
|
213 |
{ |
|
214 |
TUint numEntries; |
|
215 |
const SFuncTableEntry *pentries; |
|
216 |
}; |
|
217 |
||
218 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
219 |
Collection of all keyboard mode function tables |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
220 |
|
0 | 221 |
@publishedPartner |
222 |
@released |
|
223 |
*/ |
|
224 |
struct SFuncTables |
|
225 |
{ |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
226 |
/** |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
227 |
This table is searched for a match if a match has not been |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
228 |
found in the current state's table |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
229 |
*/ |
0 | 230 |
SFuncTable defaultTable; |
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
231 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
232 |
/** |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
233 |
This table controls which keys change which modifiers; |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
234 |
the state field in this table is ignored |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
235 |
*/ |
0 | 236 |
SFuncTable modifierTable; |
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
237 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
238 |
/** |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
239 |
Number of entries in array pgenFuncTables. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
240 |
This must in fact, always be equal to 13. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
241 |
*/ |
0 | 242 |
TUint numGenFuncTables; |
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
243 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
244 |
/** |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
245 |
Array of pointers to general state control tables. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
246 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
247 |
Indicies 1-12 are possible tables, index 0 |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
248 |
should be unused. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
249 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
250 |
If a state is not used its SFuncTable array size should be set to |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
251 |
zero and the pointer to NULL |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
252 |
*/ |
0 | 253 |
const SFuncTable *pgenFuncTables; |
254 |
}; |
|
255 |
||
256 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
257 |
Extends TChar with some extra utility functions |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
258 |
|
0 | 259 |
@internalComponent |
260 |
@released |
|
261 |
*/ |
|
262 |
class TCharExtended: public TChar |
|
263 |
{ |
|
264 |
public: |
|
265 |
inline TCharExtended(); |
|
266 |
inline TCharExtended(TUint aChar); |
|
267 |
TCharExtended &operator=(TUint aChar); |
|
268 |
TBool IsDigitGivenRadix(TRadix aRadix) const; |
|
269 |
TBool IsModifier() const; |
|
270 |
TInt DigitValue() const; |
|
271 |
TBool MatchesPattern(const TKeyCodePattern &aKeyCodePattern, TRadix aRadix=EDecimal) const; |
|
272 |
}; |
|
273 |
||
274 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
275 |
Responsible for loading and performing lookups |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
276 |
in a keyboard function table. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
277 |
|
0 | 278 |
@internalComponent |
279 |
@released |
|
280 |
*/ |
|
281 |
class TFuncTable |
|
282 |
{ |
|
283 |
public: |
|
284 |
TFuncTable(); |
|
285 |
void Update(RLibrary aLibrary); |
|
286 |
SFunc GetModifierFunc(const TCharExtended &aChar, const TInt &aModifiers) const; |
|
287 |
SFuncAndState GetGeneralFuncAndState(const TCharExtended &aChar, const TInt &aModifiers, |
|
288 |
TUint aCurState, TRadix aRadix) const; |
|
289 |
private: |
|
290 |
SFuncTables iFuncTables; |
|
291 |
SFuncTableEntry getDefault(const TCharExtended &aChar, const TInt &aModifiers) const; |
|
292 |
}; |
|
293 |
||
294 |
/** |
|
295 |
@internalComponent |
|
296 |
@released |
|
297 |
*/ |
|
298 |
struct SConvKeyData |
|
299 |
{ |
|
300 |
TInt modifiers; |
|
301 |
TUint16 keyCode; |
|
302 |
TUint16 filler; |
|
303 |
}; |
|
304 |
||
305 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
306 |
Used by a keymap to state what method is used to |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
307 |
enter multi digit control codes for special characters. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
308 |
|
0 | 309 |
@publishedPartner |
310 |
@released |
|
311 |
*/ |
|
312 |
enum TCtrlDigitsTermination |
|
313 |
{ |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
314 |
/** |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
315 |
Keyboard will stay in code entry mode for a set number |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
316 |
of key presses. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
317 |
*/ |
0 | 318 |
ETerminationByCount, |
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
319 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
320 |
/** |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
321 |
Keyboard will stay in code entry mode while Ctrl is held |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
322 |
down. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
323 |
*/ |
0 | 324 |
ETerminationByCtrlUp |
325 |
}; |
|
326 |
||
327 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
328 |
Responsible for loading and walking through a keymap conversion table. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
329 |
|
0 | 330 |
@internalComponent |
331 |
@released |
|
332 |
*/ |
|
333 |
class TConvTable |
|
334 |
{ |
|
335 |
public: |
|
336 |
TConvTable(); |
|
337 |
void Update(RLibrary aLibrary); |
|
338 |
SConvKeyData Convert(TUint aScanCode, const TInt &aModifiers) const; |
|
339 |
SConvKeyData ConvertBaseCase(TUint aScanCode, const TInt &aModifiers) const; |
|
340 |
inline TUint FirstScanCode() const; |
|
341 |
inline TUint LastScanCode() const; |
|
342 |
private: |
|
343 |
SConvTable iConvTable; |
|
344 |
TUint iFirstScanCode; |
|
345 |
TUint iLastScanCode; |
|
346 |
SScanCodeBlockList iKeypadScanCodes; |
|
347 |
SKeyCodeList iNonAutorepKeyCodes; |
|
348 |
TBool onKeypad(TUint aScanCode) const; |
|
349 |
TBool autorepeatable(TUint aKeyCode) const; |
|
350 |
}; |
|
351 |
||
352 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
353 |
Responsible for aggregating a series of digits |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
354 |
from separate keypresses into a single character. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
355 |
|
0 | 356 |
@internalComponent |
357 |
@released |
|
358 |
*/ |
|
359 |
class TCtrlDigits |
|
360 |
{ |
|
361 |
public: |
|
362 |
TCtrlDigits(); |
|
363 |
void Update(RLibrary aLibrary); |
|
364 |
void Reset(); |
|
365 |
void AppendDigit(TUint aKeyCode, TUint aModifiers); |
|
366 |
inline void SetRadix(TRadix aRadix); |
|
367 |
inline void SetMaxCount(TInt aMaxCount); |
|
368 |
inline TRadix GetRadix() const; |
|
369 |
TBool Terminated(TInt aModifiers) const; |
|
370 |
TUint SetStateToCtrlDigits() const; |
|
371 |
inline TBool WithinLimits() const; |
|
372 |
inline TUint GetDigits() const; |
|
373 |
inline TBool Error() const; |
|
374 |
private: |
|
375 |
TInt iCount; |
|
376 |
TInt iMaxCount; |
|
377 |
TInt iMaximumCtrlDigitsMaxCount; |
|
378 |
TUint32 iDigits; |
|
379 |
TRadix iRadix; |
|
380 |
TBool iErrorFlag; |
|
381 |
TCtrlDigitsTermination iTermination; |
|
382 |
}; |
|
383 |
||
384 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
385 |
Definitions for keyboard states. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
386 |
The first 3 values identify special keyboard states and |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
387 |
are used as an index to these states' tables. This is |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
388 |
only a partial list of possible states, states 1-9 |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
389 |
are also valid, and should be used for translating |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
390 |
isolated characters e.g. to apply diacritics to vowels. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
391 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
392 |
The next 3 do not specify particular states, but give |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
393 |
information to the key translator so that it can |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
394 |
decide the next state. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
395 |
|
0 | 396 |
@internalComponent |
397 |
@released |
|
398 |
*/ |
|
399 |
enum TState |
|
400 |
{ |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
401 |
/** |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
402 |
Normal keyboard state, which defines keys |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
403 |
that transition to the other states. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
404 |
*/ |
0 | 405 |
EStateNormal =0x0a, |
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
406 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
407 |
/** |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
408 |
Allow characters to be specified |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
409 |
by a decimal code. The state will be transitioned |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
410 |
back to EStateNormal after a given count. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
411 |
*/ |
0 | 412 |
EStateCtrlDigitsUntilCount =0x0b, |
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
413 |
|
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
414 |
/** |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
415 |
Allow characters to be specified |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
416 |
by a decimal code. The state will be transitioned |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
417 |
back to EStateNormal once Ctrl is released. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
418 |
*/ |
0 | 419 |
EStateCtrlDigitsUntilCtrlUp =0x0c, |
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
420 |
|
0 | 421 |
// values used as "rules" to be processed in a switch statement |
422 |
EStateUnchanged =0x40, |
|
423 |
EStateDerivedFromDigitEntered, |
|
424 |
EStateCtrlDigits |
|
425 |
}; |
|
426 |
||
427 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
428 |
Defines an action to be performed for a keypress. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
429 |
@see SFuncAndState::func |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
430 |
|
0 | 431 |
@internalComponent |
432 |
@released |
|
433 |
*/ |
|
434 |
enum TFuncGeneral |
|
435 |
{ |
|
436 |
EDoNothing =0x00, |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
437 |
EPassKeyThru, ///< Pass key through, unchanged |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
438 |
EPassSpecialKeyThru, ///< Translate to a new character |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
439 |
EPassCtrlDigitsThru, ///< End accumulation of character digits |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
440 |
EAddOnCtrlDigit, ///< Allow another control digit to be entered |
0 | 441 |
}; |
442 |
||
443 |
/** |
|
256
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
444 |
Concrete implementation of a CKeyTranslator. |
c1f20ce4abcf
Revision: 201035
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
445 |
|
0 | 446 |
@internalComponent |
447 |
@released |
|
448 |
*/ |
|
449 |
NONSHARABLE_CLASS(CKeyTranslatorX) : public CKeyTranslator |
|
450 |
{ |
|
451 |
friend class CKeyTranslator; |
|
452 |
public: |
|
453 |
CKeyTranslatorX(); |
|
454 |
virtual TInt GetModifierState(); |
|
455 |
virtual void SetModifierState(TEventModifier aModifier,TModifierState aState); |
|
456 |
virtual TBool TranslateKey(TUint aScanCode, TBool aKeyUp, |
|
457 |
const CCaptureKeys &aCaptureKeys, TKeyData &aKeyData); |
|
458 |
virtual void UpdateModifiers(TInt aModifiers); |
|
459 |
virtual TInt ChangeKeyData(const TDesC& aLibraryName); |
|
460 |
TBool currentlyUpperCase(void); |
|
461 |
TUint executeFunctionsAndSetState(TCharExtended aChar); |
|
462 |
TInt Initialise(); |
|
463 |
private: |
|
464 |
TInt iCurModifiers; |
|
465 |
TMaskedModifiers iTogglingModifiers; |
|
466 |
TCtrlDigits iCurCtrlDigits; |
|
467 |
TConvTable iConvTable; |
|
468 |
TFuncTable iFuncTable; |
|
469 |
TUint iCurState; |
|
470 |
TBool iIsdefaultKeyData; |
|
471 |
RLibrary iKeyDataLib; |
|
472 |
RLibrary iDefaultKeyDataLib; |
|
473 |
}; |
|
474 |
||
475 |
/** |
|
476 |
@internalComponent |
|
477 |
@released |
|
478 |
*/ |
|
479 |
enum TCP850Char |
|
480 |
{ |
|
481 |
ECP850LogicNot=0x00aa, |
|
482 |
ECP850LcAe=0x0091, |
|
483 |
ECP850LcCcedilla=0x0087, |
|
484 |
ECP850EsTset=0x00e1, |
|
485 |
ECP850LcOslash=0x009b, |
|
486 |
ECP850LcThorn=0x00d0, |
|
487 |
ECP850LcSoftTh=0x00e7, |
|
488 |
ECP850LeftChevron=0x00ae, |
|
489 |
ECP850RightChevron=0x00af, |
|
490 |
ECP850InvExclam=0x00ad, |
|
491 |
ECP850InvQuest=0x00a8, |
|
492 |
ECP850LcAo=0x0086, |
|
493 |
ECP850Pound=0x009c, |
|
494 |
ECP850LcAumlaut=0x0084, |
|
495 |
ECP850LcEumlaut=0x0089, |
|
496 |
ECP850LcIumlaut=0x008b, |
|
497 |
ECP850LcOumlaut=0x0094, |
|
498 |
ECP850LcUumlaut=0x009a, |
|
499 |
ECP850LcYumlaut=0x0098, |
|
500 |
ECP850SpaceUmlaut=0x00f9, |
|
501 |
ECP850LcAgrave=0x0085, |
|
502 |
ECP850LcEgrave=0x008a, |
|
503 |
ECP850LcIgrave=0x008d, |
|
504 |
ECP850LcOgrave=0x0095, |
|
505 |
ECP850LcUgrave=0x0097, |
|
506 |
ECP850SpaceGrave=0x0060, |
|
507 |
ECP850LcAacute=0x00a0, |
|
508 |
ECP850LcEacute=0x0082, |
|
509 |
ECP850LcIacute=0x00a1, |
|
510 |
ECP850LcOacute=0x00a2, |
|
511 |
ECP850LcUacute=0x00a3, |
|
512 |
ECP850LcYacute=0x00ec, |
|
513 |
ECP850LcSpaceAcute=0x0027, |
|
514 |
ECP850LcAtilde=0x00c6, |
|
515 |
ECP850LcNtilde=0x00a4, |
|
516 |
ECP850LcOtilde=0x00e4, |
|
517 |
ECP850LcSpaceTilde=0x007e, |
|
518 |
ECP850LcAcirc=0x0083, |
|
519 |
ECP850LcEcirc=0x0088, |
|
520 |
ECP850LcIcirc=0x008c, |
|
521 |
ECP850LcOcirc=0x0093, |
|
522 |
ECP850LcUcirc=0x0096, |
|
523 |
ECP850LcSpaceCirc=0x005e |
|
524 |
}; |
|
525 |
||
526 |
/** |
|
527 |
@internalComponent |
|
528 |
@released |
|
529 |
*/ |
|
530 |
enum TLatin1Char |
|
531 |
{ |
|
532 |
ELatin1LogicNot=0x0090, |
|
533 |
ELatin1LcAe=0x00e6, |
|
534 |
ELatin1UcAe=0x00c6, |
|
535 |
ELatin1LcCcedilla=0x00e7, |
|
536 |
ELatin1EsTset=0x00df, |
|
537 |
ELatin1LcOslash=0x00f8, |
|
538 |
ELatin1UcOslash=0x00d8, |
|
539 |
ELatin1LcThorn=0x00fe, |
|
540 |
ELatin1LcSoftTh=0x00f0, |
|
541 |
ELatin1LeftChevron=0x00ab, |
|
542 |
ELatin1RightChevron=0x00bb, |
|
543 |
ELatin1InvExclam=0x00a1, |
|
544 |
ELatin1InvQuest=0x00bf, |
|
545 |
ELatin1LcAo=0x00e5, |
|
546 |
ELatin1Pound=0x00a3, |
|
547 |
ELatin1LcAumlaut=0x00e4, |
|
548 |
ELatin1LcEumlaut=0x00eb, |
|
549 |
ELatin1LcIumlaut=0x00ef, |
|
550 |
ELatin1LcOumlaut=0x00f6, |
|
551 |
ELatin1LcUumlaut=0x00fc, |
|
552 |
ELatin1LcYumlaut=0x00ff, |
|
553 |
ELatin1SpaceUmlaut=0x00a8, |
|
554 |
ELatin1LcAgrave=0x00e0, |
|
555 |
ELatin1LcEgrave=0x00e8, |
|
556 |
ELatin1LcIgrave=0x00ec, |
|
557 |
ELatin1LcOgrave=0x00f2, |
|
558 |
ELatin1LcUgrave=0x00f9, |
|
559 |
ELatin1SpaceGrave=0x0060, |
|
560 |
ELatin1LcAacute=0x00e1, |
|
561 |
ELatin1LcEacute=0x00e9, |
|
562 |
ELatin1LcIacute=0x00ed, |
|
563 |
ELatin1LcOacute=0x00f3, |
|
564 |
ELatin1LcUacute=0x00fa, |
|
565 |
ELatin1LcYacute=0x00fd, |
|
566 |
ELatin1LcSpaceAcute=0x00b4, |
|
567 |
ELatin1LcAtilde=0x00e3, |
|
568 |
ELatin1LcNtilde=0x00f1, |
|
569 |
ELatin1LcOtilde=0x00f5, |
|
570 |
ELatin1LcSpaceTilde=0x0098, |
|
571 |
ELatin1LcAcirc=0x00e2, |
|
572 |
ELatin1LcEcirc=0x00ea, |
|
573 |
ELatin1LcIcirc=0x00ee, |
|
574 |
ELatin1LcOcirc=0x00f4, |
|
575 |
ELatin1LcUcirc=0x00fb, |
|
576 |
ELatin1LcSpaceCirc=0x0088, |
|
577 |
ELatin1UcEacute=0x00c9, |
|
578 |
ELatin1Diaresis=0x00a8, |
|
579 |
ELatin1MicroSign=0x00b5, |
|
580 |
ELatin1UcAumlaut=0x00c4, |
|
581 |
ELatin1UcOumlaut=0x00d6, |
|
582 |
ELatin1UcUumlaut=0x00dc, |
|
583 |
ELatin1SectionSign=0x00a7, |
|
584 |
ELatin1MultiplicationSign=0x00d7, |
|
585 |
ELatin1DivisionSign=0x00f7, |
|
586 |
ELatin1DegreeSign=0x00b0, |
|
587 |
ELatin1UcUgrave=0x00d9, |
|
588 |
ELatin1MasculineOrdinalSign=0x00ba |
|
589 |
}; |
|
590 |
// |
|
591 |
#include <k32keys.inl> |
|
592 |
// |
|
593 |
#endif |
|
594 |