1 | /**************************************************************************** |
2 | ** |
3 | ** Copyright (C) 2016 The Qt Company Ltd. |
4 | ** Contact: https://www.qt.io/licensing/ |
5 | ** |
6 | ** This file is part of the QtTest module of the Qt Toolkit. |
7 | ** |
8 | ** $QT_BEGIN_LICENSE:LGPL$ |
9 | ** Commercial License Usage |
10 | ** Licensees holding valid commercial Qt licenses may use this file in |
11 | ** accordance with the commercial license agreement provided with the |
12 | ** Software or, alternatively, in accordance with the terms contained in |
13 | ** a written agreement between you and The Qt Company. For licensing terms |
14 | ** and conditions see https://www.qt.io/terms-conditions. For further |
15 | ** information use the contact form at https://www.qt.io/contact-us. |
16 | ** |
17 | ** GNU Lesser General Public License Usage |
18 | ** Alternatively, this file may be used under the terms of the GNU Lesser |
19 | ** General Public License version 3 as published by the Free Software |
20 | ** Foundation and appearing in the file LICENSE.LGPL3 included in the |
21 | ** packaging of this file. Please review the following information to |
22 | ** ensure the GNU Lesser General Public License version 3 requirements |
23 | ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. |
24 | ** |
25 | ** GNU General Public License Usage |
26 | ** Alternatively, this file may be used under the terms of the GNU |
27 | ** General Public License version 2.0 or (at your option) the GNU General |
28 | ** Public license version 3 or any later version approved by the KDE Free |
29 | ** Qt Foundation. The licenses are as published by the Free Software |
30 | ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 |
31 | ** included in the packaging of this file. Please review the following |
32 | ** information to ensure the GNU General Public License requirements will |
33 | ** be met: https://www.gnu.org/licenses/gpl-2.0.html and |
34 | ** https://www.gnu.org/licenses/gpl-3.0.html. |
35 | ** |
36 | ** $QT_END_LICENSE$ |
37 | ** |
38 | ****************************************************************************/ |
39 | |
40 | #include <QtTest/qtestcase.h> |
41 | #include <QtTest/qtestassert.h> |
42 | |
43 | QT_BEGIN_NAMESPACE |
44 | |
45 | /*! \internal |
46 | Convert an ascii char key value to a Qt Key value. |
47 | If the key is unknown a 0 is returned. |
48 | |
49 | Note: this may happen more than you like since not all known |
50 | ascii keys _are_ converted already. So feel free to add all the keys you need. |
51 | */ |
52 | Qt::Key QTest::asciiToKey(char ascii) |
53 | { |
54 | switch ((unsigned char)ascii) { |
55 | case 0x08: return Qt::Key_Backspace; |
56 | case 0x09: return Qt::Key_Tab; |
57 | case 0x0b: return Qt::Key_Backtab; |
58 | case 0x0d: return Qt::Key_Return; |
59 | case 0x1b: return Qt::Key_Escape; |
60 | case 0x13: return Qt::Key_Up; |
61 | case 0x15: return Qt::Key_Down; |
62 | case 0x20: return Qt::Key_Space; |
63 | case 0x21: return Qt::Key_Exclam; |
64 | case 0x22: return Qt::Key_QuoteDbl; |
65 | case 0x23: return Qt::Key_NumberSign; |
66 | case 0x24: return Qt::Key_Dollar; |
67 | case 0x25: return Qt::Key_Percent; |
68 | case 0x26: return Qt::Key_Ampersand; |
69 | case 0x27: return Qt::Key_Apostrophe; |
70 | case 0x28: return Qt::Key_ParenLeft; |
71 | case 0x29: return Qt::Key_ParenRight; |
72 | case 0x2a: return Qt::Key_Asterisk; |
73 | case 0x2b: return Qt::Key_Plus; |
74 | case 0x2c: return Qt::Key_Comma; |
75 | case 0x2d: return Qt::Key_Minus; |
76 | case 0x2e: return Qt::Key_Period; |
77 | case 0x2f: return Qt::Key_Slash; |
78 | case 0x30: return Qt::Key_0; |
79 | case 0x31: return Qt::Key_1; |
80 | case 0x32: return Qt::Key_2; |
81 | case 0x33: return Qt::Key_3; |
82 | case 0x34: return Qt::Key_4; |
83 | case 0x35: return Qt::Key_5; |
84 | case 0x36: return Qt::Key_6; |
85 | case 0x37: return Qt::Key_7; |
86 | case 0x38: return Qt::Key_8; |
87 | case 0x39: return Qt::Key_9; |
88 | case 0x3a: return Qt::Key_Colon; |
89 | case 0x3b: return Qt::Key_Semicolon; |
90 | case 0x3c: return Qt::Key_Less; |
91 | case 0x3d: return Qt::Key_Equal; |
92 | case 0x3e: return Qt::Key_Greater; |
93 | case 0x3f: return Qt::Key_Question; |
94 | case 0x40: return Qt::Key_At; |
95 | case 0x41: return Qt::Key_A; |
96 | case 0x42: return Qt::Key_B; |
97 | case 0x43: return Qt::Key_C; |
98 | case 0x44: return Qt::Key_D; |
99 | case 0x45: return Qt::Key_E; |
100 | case 0x46: return Qt::Key_F; |
101 | case 0x47: return Qt::Key_G; |
102 | case 0x48: return Qt::Key_H; |
103 | case 0x49: return Qt::Key_I; |
104 | case 0x4a: return Qt::Key_J; |
105 | case 0x4b: return Qt::Key_K; |
106 | case 0x4c: return Qt::Key_L; |
107 | case 0x4d: return Qt::Key_M; |
108 | case 0x4e: return Qt::Key_N; |
109 | case 0x4f: return Qt::Key_O; |
110 | case 0x50: return Qt::Key_P; |
111 | case 0x51: return Qt::Key_Q; |
112 | case 0x52: return Qt::Key_R; |
113 | case 0x53: return Qt::Key_S; |
114 | case 0x54: return Qt::Key_T; |
115 | case 0x55: return Qt::Key_U; |
116 | case 0x56: return Qt::Key_V; |
117 | case 0x57: return Qt::Key_W; |
118 | case 0x58: return Qt::Key_X; |
119 | case 0x59: return Qt::Key_Y; |
120 | case 0x5a: return Qt::Key_Z; |
121 | case 0x5b: return Qt::Key_BracketLeft; |
122 | case 0x5c: return Qt::Key_Backslash; |
123 | case 0x5d: return Qt::Key_BracketRight; |
124 | case 0x5e: return Qt::Key_AsciiCircum; |
125 | case 0x5f: return Qt::Key_Underscore; |
126 | case 0x60: return Qt::Key_QuoteLeft; |
127 | case 0x61: return Qt::Key_A; |
128 | case 0x62: return Qt::Key_B; |
129 | case 0x63: return Qt::Key_C; |
130 | case 0x64: return Qt::Key_D; |
131 | case 0x65: return Qt::Key_E; |
132 | case 0x66: return Qt::Key_F; |
133 | case 0x67: return Qt::Key_G; |
134 | case 0x68: return Qt::Key_H; |
135 | case 0x69: return Qt::Key_I; |
136 | case 0x6a: return Qt::Key_J; |
137 | case 0x6b: return Qt::Key_K; |
138 | case 0x6c: return Qt::Key_L; |
139 | case 0x6d: return Qt::Key_M; |
140 | case 0x6e: return Qt::Key_N; |
141 | case 0x6f: return Qt::Key_O; |
142 | case 0x70: return Qt::Key_P; |
143 | case 0x71: return Qt::Key_Q; |
144 | case 0x72: return Qt::Key_R; |
145 | case 0x73: return Qt::Key_S; |
146 | case 0x74: return Qt::Key_T; |
147 | case 0x75: return Qt::Key_U; |
148 | case 0x76: return Qt::Key_V; |
149 | case 0x77: return Qt::Key_W; |
150 | case 0x78: return Qt::Key_X; |
151 | case 0x79: return Qt::Key_Y; |
152 | case 0x7a: return Qt::Key_Z; |
153 | case 0x7b: return Qt::Key_BraceLeft; |
154 | case 0x7c: return Qt::Key_Bar; |
155 | case 0x7d: return Qt::Key_BraceRight; |
156 | case 0x7e: return Qt::Key_AsciiTilde; |
157 | |
158 | // Latin 1 codes adapted from X: keysymdef.h,v 1.21 94/08/28 16:17:06 |
159 | case 0xa0: return Qt::Key_nobreakspace; |
160 | case 0xa1: return Qt::Key_exclamdown; |
161 | case 0xa2: return Qt::Key_cent; |
162 | case 0xa3: return Qt::Key_sterling; |
163 | case 0xa4: return Qt::Key_currency; |
164 | case 0xa5: return Qt::Key_yen; |
165 | case 0xa6: return Qt::Key_brokenbar; |
166 | case 0xa7: return Qt::Key_section; |
167 | case 0xa8: return Qt::Key_diaeresis; |
168 | case 0xa9: return Qt::Key_copyright; |
169 | case 0xaa: return Qt::Key_ordfeminine; |
170 | case 0xab: return Qt::Key_guillemotleft; |
171 | case 0xac: return Qt::Key_notsign; |
172 | case 0xad: return Qt::Key_hyphen; |
173 | case 0xae: return Qt::Key_registered; |
174 | case 0xaf: return Qt::Key_macron; |
175 | case 0xb0: return Qt::Key_degree; |
176 | case 0xb1: return Qt::Key_plusminus; |
177 | case 0xb2: return Qt::Key_twosuperior; |
178 | case 0xb3: return Qt::Key_threesuperior; |
179 | case 0xb4: return Qt::Key_acute; |
180 | case 0xb5: return Qt::Key_mu; |
181 | case 0xb6: return Qt::Key_paragraph; |
182 | case 0xb7: return Qt::Key_periodcentered; |
183 | case 0xb8: return Qt::Key_cedilla; |
184 | case 0xb9: return Qt::Key_onesuperior; |
185 | case 0xba: return Qt::Key_masculine; |
186 | case 0xbb: return Qt::Key_guillemotright; |
187 | case 0xbc: return Qt::Key_onequarter; |
188 | case 0xbd: return Qt::Key_onehalf; |
189 | case 0xbe: return Qt::Key_threequarters; |
190 | case 0xbf: return Qt::Key_questiondown; |
191 | case 0xc0: return Qt::Key_Agrave; |
192 | case 0xc1: return Qt::Key_Aacute; |
193 | case 0xc2: return Qt::Key_Acircumflex; |
194 | case 0xc3: return Qt::Key_Atilde; |
195 | case 0xc4: return Qt::Key_Adiaeresis; |
196 | case 0xc5: return Qt::Key_Aring; |
197 | case 0xc6: return Qt::Key_AE; |
198 | case 0xc7: return Qt::Key_Ccedilla; |
199 | case 0xc8: return Qt::Key_Egrave; |
200 | case 0xc9: return Qt::Key_Eacute; |
201 | case 0xca: return Qt::Key_Ecircumflex; |
202 | case 0xcb: return Qt::Key_Ediaeresis; |
203 | case 0xcc: return Qt::Key_Igrave; |
204 | case 0xcd: return Qt::Key_Iacute; |
205 | case 0xce: return Qt::Key_Icircumflex; |
206 | case 0xcf: return Qt::Key_Idiaeresis; |
207 | case 0xd0: return Qt::Key_ETH; |
208 | case 0xd1: return Qt::Key_Ntilde; |
209 | case 0xd2: return Qt::Key_Ograve; |
210 | case 0xd3: return Qt::Key_Oacute; |
211 | case 0xd4: return Qt::Key_Ocircumflex; |
212 | case 0xd5: return Qt::Key_Otilde; |
213 | case 0xd6: return Qt::Key_Odiaeresis; |
214 | case 0xd7: return Qt::Key_multiply; |
215 | case 0xd8: return Qt::Key_Ooblique; |
216 | case 0xd9: return Qt::Key_Ugrave; |
217 | case 0xda: return Qt::Key_Uacute; |
218 | case 0xdb: return Qt::Key_Ucircumflex; |
219 | case 0xdc: return Qt::Key_Udiaeresis; |
220 | case 0xdd: return Qt::Key_Yacute; |
221 | case 0xde: return Qt::Key_THORN; |
222 | case 0xdf: return Qt::Key_ssharp; |
223 | case 0xe5: return Qt::Key_Aring; |
224 | case 0xe6: return Qt::Key_AE; |
225 | case 0xf7: return Qt::Key_division; |
226 | case 0xf8: return Qt::Key_Ooblique; |
227 | case 0xff: return Qt::Key_ydiaeresis; |
228 | default: QTEST_ASSERT(false); return Qt::Key(0); |
229 | } |
230 | } |
231 | |
232 | /*! \internal |
233 | Convert a Qt Key to an ascii char value. |
234 | If the Qt key is unknown a 0 is returned. |
235 | |
236 | Note: this may happen more than you like since not all known |
237 | Qt keys _are_ converted already. So feel free to add all the keys you need. |
238 | */ |
239 | char QTest::keyToAscii(Qt::Key key) |
240 | { |
241 | switch (key) { |
242 | case Qt::Key_Backspace: return 0x8; //BS |
243 | case Qt::Key_Tab: return 0x09; // HT |
244 | case Qt::Key_Backtab: return 0x0b; // VT |
245 | case Qt::Key_Enter: |
246 | case Qt::Key_Return: return 0x0d; // CR |
247 | case Qt::Key_Escape: return 0x1b; // ESC |
248 | case Qt::Key_Space: return 0x20; // 7 bit printable ASCII |
249 | case Qt::Key_Exclam: return 0x21; |
250 | case Qt::Key_QuoteDbl: return 0x22; |
251 | case Qt::Key_NumberSign: return 0x23; |
252 | case Qt::Key_Dollar: return 0x24; |
253 | case Qt::Key_Percent: return 0x25; |
254 | case Qt::Key_Ampersand: return 0x26; |
255 | case Qt::Key_Apostrophe: return 0x27; |
256 | case Qt::Key_ParenLeft: return 0x28; |
257 | case Qt::Key_ParenRight: return 0x29; |
258 | case Qt::Key_Asterisk: return 0x2a; |
259 | case Qt::Key_Plus: return 0x2b; |
260 | case Qt::Key_Comma: return 0x2c; |
261 | case Qt::Key_Minus: return 0x2d; |
262 | case Qt::Key_Period: return 0x2e; |
263 | case Qt::Key_Slash: return 0x2f; |
264 | case Qt::Key_0: return 0x30; |
265 | case Qt::Key_1: return 0x31; |
266 | case Qt::Key_2: return 0x32; |
267 | case Qt::Key_3: return 0x33; |
268 | case Qt::Key_4: return 0x34; |
269 | case Qt::Key_5: return 0x35; |
270 | case Qt::Key_6: return 0x36; |
271 | case Qt::Key_7: return 0x37; |
272 | case Qt::Key_8: return 0x38; |
273 | case Qt::Key_9: return 0x39; |
274 | case Qt::Key_Colon: return 0x3a; |
275 | case Qt::Key_Semicolon: return 0x3b; |
276 | case Qt::Key_Less: return 0x3c; |
277 | case Qt::Key_Equal: return 0x3d; |
278 | case Qt::Key_Greater: return 0x3e; |
279 | case Qt::Key_Question: return 0x3f; |
280 | case Qt::Key_At: return 0x40; |
281 | case Qt::Key_A: return 0x61; // 0x41 == 'A', 0x61 == 'a' |
282 | case Qt::Key_B: return 0x62; |
283 | case Qt::Key_C: return 0x63; |
284 | case Qt::Key_D: return 0x64; |
285 | case Qt::Key_E: return 0x65; |
286 | case Qt::Key_F: return 0x66; |
287 | case Qt::Key_G: return 0x67; |
288 | case Qt::Key_H: return 0x68; |
289 | case Qt::Key_I: return 0x69; |
290 | case Qt::Key_J: return 0x6a; |
291 | case Qt::Key_K: return 0x6b; |
292 | case Qt::Key_L: return 0x6c; |
293 | case Qt::Key_M: return 0x6d; |
294 | case Qt::Key_N: return 0x6e; |
295 | case Qt::Key_O: return 0x6f; |
296 | case Qt::Key_P: return 0x70; |
297 | case Qt::Key_Q: return 0x71; |
298 | case Qt::Key_R: return 0x72; |
299 | case Qt::Key_S: return 0x73; |
300 | case Qt::Key_T: return 0x74; |
301 | case Qt::Key_U: return 0x75; |
302 | case Qt::Key_V: return 0x76; |
303 | case Qt::Key_W: return 0x77; |
304 | case Qt::Key_X: return 0x78; |
305 | case Qt::Key_Y: return 0x79; |
306 | case Qt::Key_Z: return 0x7a; |
307 | case Qt::Key_BracketLeft: return 0x5b; |
308 | case Qt::Key_Backslash: return 0x5c; |
309 | case Qt::Key_BracketRight: return 0x5d; |
310 | case Qt::Key_AsciiCircum: return 0x5e; |
311 | case Qt::Key_Underscore: return 0x5f; |
312 | case Qt::Key_QuoteLeft: return 0x60; |
313 | |
314 | case Qt::Key_BraceLeft: return 0x7b; |
315 | case Qt::Key_Bar: return 0x7c; |
316 | case Qt::Key_BraceRight: return 0x7d; |
317 | case Qt::Key_AsciiTilde: return 0x7e; |
318 | |
319 | case Qt::Key_Delete: return 0; |
320 | case Qt::Key_Insert: return 0; // = 0x1006, |
321 | case Qt::Key_Pause: return 0; // = 0x1008, |
322 | case Qt::Key_Print: return 0; // = 0x1009, |
323 | case Qt::Key_SysReq: return 0; // = 0x100a, |
324 | |
325 | case Qt::Key_Clear: return 0; // = 0x100b, |
326 | |
327 | case Qt::Key_Home: return 0; // = 0x1010, // cursor movement |
328 | case Qt::Key_End: return 0; // = 0x1011, |
329 | case Qt::Key_Left: return 0; // = 0x1012, |
330 | case Qt::Key_Up: return 0; // = 0x1013, |
331 | case Qt::Key_Right: return 0; // = 0x1014, |
332 | case Qt::Key_Down: return 0; // = 0x1015, |
333 | case Qt::Key_PageUp: return 0; // = 0x1016, |
334 | case Qt::Key_PageDown: return 0; // = 0x1017, |
335 | case Qt::Key_Shift: return 0; // = 0x1020, // modifiers |
336 | case Qt::Key_Control: return 0; // = 0x1021, |
337 | case Qt::Key_Meta: return 0; // = 0x1022, |
338 | case Qt::Key_Alt: return 0; // = 0x1023, |
339 | case Qt::Key_CapsLock: return 0; // = 0x1024, |
340 | case Qt::Key_NumLock: return 0; // = 0x1025, |
341 | case Qt::Key_ScrollLock: return 0; // = 0x1026, |
342 | case Qt::Key_F1: return 0; // = 0x1030, // function keys |
343 | case Qt::Key_F2: return 0; // = 0x1031, |
344 | case Qt::Key_F3: return 0; // = 0x1032, |
345 | case Qt::Key_F4: return 0; // = 0x1033, |
346 | case Qt::Key_F5: return 0; // = 0x1034, |
347 | case Qt::Key_F6: return 0; // = 0x1035, |
348 | case Qt::Key_F7: return 0; // = 0x1036, |
349 | case Qt::Key_F8: return 0; // = 0x1037, |
350 | case Qt::Key_F9: return 0; // = 0x1038, |
351 | case Qt::Key_F10: return 0; // = 0x1039, |
352 | case Qt::Key_F11: return 0; // = 0x103a, |
353 | case Qt::Key_F12: return 0; // = 0x103b, |
354 | case Qt::Key_F13: return 0; // = 0x103c, |
355 | case Qt::Key_F14: return 0; // = 0x103d, |
356 | case Qt::Key_F15: return 0; // = 0x103e, |
357 | case Qt::Key_F16: return 0; // = 0x103f, |
358 | case Qt::Key_F17: return 0; // = 0x1040, |
359 | case Qt::Key_F18: return 0; // = 0x1041, |
360 | case Qt::Key_F19: return 0; // = 0x1042, |
361 | case Qt::Key_F20: return 0; // = 0x1043, |
362 | case Qt::Key_F21: return 0; // = 0x1044, |
363 | case Qt::Key_F22: return 0; // = 0x1045, |
364 | case Qt::Key_F23: return 0; // = 0x1046, |
365 | case Qt::Key_F24: return 0; // = 0x1047, |
366 | case Qt::Key_F25: return 0; // = 0x1048, // F25 .. F35 only on X11 |
367 | case Qt::Key_F26: return 0; // = 0x1049, |
368 | case Qt::Key_F27: return 0; // = 0x104a, |
369 | case Qt::Key_F28: return 0; // = 0x104b, |
370 | case Qt::Key_F29: return 0; // = 0x104c, |
371 | case Qt::Key_F30: return 0; // = 0x104d, |
372 | case Qt::Key_F31: return 0; // = 0x104e, |
373 | case Qt::Key_F32: return 0; // = 0x104f, |
374 | case Qt::Key_F33: return 0; // = 0x1050, |
375 | case Qt::Key_F34: return 0; // = 0x1051, |
376 | case Qt::Key_F35: return 0; // = 0x1052, |
377 | case Qt::Key_Super_L: return 0; // = 0x1053, // extra keys |
378 | case Qt::Key_Super_R: return 0; // = 0x1054, |
379 | case Qt::Key_Menu: return 0; // = 0x1055, |
380 | case Qt::Key_Hyper_L: return 0; // = 0x1056, |
381 | case Qt::Key_Hyper_R: return 0; // = 0x1057, |
382 | case Qt::Key_Help: return 0; // = 0x1058, |
383 | case Qt::Key_Direction_L: return 0; // = 0x1059, |
384 | case Qt::Key_Direction_R: return 0; // = 0x1060, |
385 | |
386 | // Latin 1 codes adapted from X: keysymdef.h,v 1.21 94/08/28 16:17:06 |
387 | case Qt::Key_nobreakspace: return char(0xa0); |
388 | case Qt::Key_exclamdown: return char(0xa1); |
389 | case Qt::Key_cent: return char(0xa2); |
390 | case Qt::Key_sterling: return char(0xa3); |
391 | case Qt::Key_currency: return char(0xa4); |
392 | case Qt::Key_yen: return char(0xa5); |
393 | case Qt::Key_brokenbar: return char(0xa6); |
394 | case Qt::Key_section: return char(0xa7); |
395 | case Qt::Key_diaeresis: return char(0xa8); |
396 | case Qt::Key_copyright: return char(0xa9); |
397 | case Qt::Key_ordfeminine: return char(0xaa); |
398 | case Qt::Key_guillemotleft: return char(0xab); // left angle quotation mar |
399 | case Qt::Key_notsign: return char(0xac); |
400 | case Qt::Key_hyphen: return char(0xad); |
401 | case Qt::Key_registered: return char(0xae); |
402 | case Qt::Key_macron: return char(0xaf); |
403 | case Qt::Key_degree: return char(0xb0); |
404 | case Qt::Key_plusminus: return char(0xb1); |
405 | case Qt::Key_twosuperior: return char(0xb2); |
406 | case Qt::Key_threesuperior: return char(0xb3); |
407 | case Qt::Key_acute: return char(0xb4); |
408 | case Qt::Key_mu: return char(0xb5); |
409 | case Qt::Key_paragraph: return char(0xb6); |
410 | case Qt::Key_periodcentered: return char(0xb7); |
411 | case Qt::Key_cedilla: return char(0xb8); |
412 | case Qt::Key_onesuperior: return char(0xb9); |
413 | case Qt::Key_masculine: return char(0xba); |
414 | case Qt::Key_guillemotright: return char(0xbb); // right angle quotation mar |
415 | case Qt::Key_onequarter: return char(0xbc); |
416 | case Qt::Key_onehalf: return char(0xbd); |
417 | case Qt::Key_threequarters: return char(0xbe); |
418 | case Qt::Key_questiondown: return char(0xbf); |
419 | case Qt::Key_Agrave: return char(0xc0); |
420 | case Qt::Key_Aacute: return char(0xc1); |
421 | case Qt::Key_Acircumflex: return char(0xc2); |
422 | case Qt::Key_Atilde: return char(0xc3); |
423 | case Qt::Key_Adiaeresis: return char(0xc4); |
424 | case Qt::Key_Aring: return char(0xe5); |
425 | case Qt::Key_AE: return char(0xe6); |
426 | case Qt::Key_Ccedilla: return char(0xc7); |
427 | case Qt::Key_Egrave: return char(0xc8); |
428 | case Qt::Key_Eacute: return char(0xc9); |
429 | case Qt::Key_Ecircumflex: return char(0xca); |
430 | case Qt::Key_Ediaeresis: return char(0xcb); |
431 | case Qt::Key_Igrave: return char(0xcc); |
432 | case Qt::Key_Iacute: return char(0xcd); |
433 | case Qt::Key_Icircumflex: return char(0xce); |
434 | case Qt::Key_Idiaeresis: return char(0xcf); |
435 | case Qt::Key_ETH: return char(0xd0); |
436 | case Qt::Key_Ntilde: return char(0xd1); |
437 | case Qt::Key_Ograve: return char(0xd2); |
438 | case Qt::Key_Oacute: return char(0xd3); |
439 | case Qt::Key_Ocircumflex: return char(0xd4); |
440 | case Qt::Key_Otilde: return char(0xd5); |
441 | case Qt::Key_Odiaeresis: return char(0xd6); |
442 | case Qt::Key_multiply: return char(0xd7); |
443 | case Qt::Key_Ooblique: return char(0xf8); |
444 | case Qt::Key_Ugrave: return char(0xd9); |
445 | case Qt::Key_Uacute: return char(0xda); |
446 | case Qt::Key_Ucircumflex: return char(0xdb); |
447 | case Qt::Key_Udiaeresis: return char(0xdc); |
448 | case Qt::Key_Yacute: return char(0xdd); |
449 | case Qt::Key_THORN: return char(0xde); |
450 | case Qt::Key_ssharp: return char(0xdf); |
451 | case Qt::Key_division: return char(0xf7); |
452 | case Qt::Key_ydiaeresis: return char(0xff); |
453 | |
454 | // multimedia/internet keys - ignored by default - see QKeyEvent c'tor |
455 | |
456 | case Qt::Key_Back : return 0; // = 0x1061, |
457 | case Qt::Key_Forward : return 0; // = 0x1062, |
458 | case Qt::Key_Stop : return 0; // = 0x1063, |
459 | case Qt::Key_Refresh : return 0; // = 0x1064, |
460 | |
461 | case Qt::Key_VolumeDown: return 0; // = 0x1070, |
462 | case Qt::Key_VolumeMute : return 0; // = 0x1071, |
463 | case Qt::Key_VolumeUp: return 0; // = 0x1072, |
464 | case Qt::Key_BassBoost: return 0; // = 0x1073, |
465 | case Qt::Key_BassUp: return 0; // = 0x1074, |
466 | case Qt::Key_BassDown: return 0; // = 0x1075, |
467 | case Qt::Key_TrebleUp: return 0; // = 0x1076, |
468 | case Qt::Key_TrebleDown: return 0; // = 0x1077, |
469 | |
470 | case Qt::Key_MediaPlay : return 0; // = 0x1080, |
471 | case Qt::Key_MediaStop : return 0; // = 0x1081, |
472 | case Qt::Key_MediaPrevious : return 0; // = 0x1082, |
473 | case Qt::Key_MediaNext : return 0; // = 0x1083, |
474 | case Qt::Key_MediaRecord: return 0; // = 0x1084, |
475 | |
476 | case Qt::Key_HomePage : return 0; // = 0x1090, |
477 | case Qt::Key_Favorites : return 0; // = 0x1091, |
478 | case Qt::Key_Search : return 0; // = 0x1092, |
479 | case Qt::Key_Standby: return 0; // = 0x1093, |
480 | case Qt::Key_OpenUrl: return 0; // = 0x1094, |
481 | |
482 | case Qt::Key_LaunchMail : return 0; // = 0x10a0, |
483 | case Qt::Key_LaunchMedia: return 0; // = 0x10a1, |
484 | case Qt::Key_Launch0 : return 0; // = 0x10a2, |
485 | case Qt::Key_Launch1 : return 0; // = 0x10a3, |
486 | case Qt::Key_Launch2 : return 0; // = 0x10a4, |
487 | case Qt::Key_Launch3 : return 0; // = 0x10a5, |
488 | case Qt::Key_Launch4 : return 0; // = 0x10a6, |
489 | case Qt::Key_Launch5 : return 0; // = 0x10a7, |
490 | case Qt::Key_Launch6 : return 0; // = 0x10a8, |
491 | case Qt::Key_Launch7 : return 0; // = 0x10a9, |
492 | case Qt::Key_Launch8 : return 0; // = 0x10aa, |
493 | case Qt::Key_Launch9 : return 0; // = 0x10ab, |
494 | case Qt::Key_LaunchA : return 0; // = 0x10ac, |
495 | case Qt::Key_LaunchB : return 0; // = 0x10ad, |
496 | case Qt::Key_LaunchC : return 0; // = 0x10ae, |
497 | case Qt::Key_LaunchD : return 0; // = 0x10af, |
498 | case Qt::Key_LaunchE : return 0; // = 0x10b0, |
499 | case Qt::Key_LaunchF : return 0; // = 0x10b1, |
500 | |
501 | default: QTEST_ASSERT(false); return 0; |
502 | } |
503 | } |
504 | |
505 | QT_END_NAMESPACE |
506 | |