Rabbit Remote Control 0.1.0-bate16
Loading...
Searching...
No Matches
ConvertKeyCode.cpp
1
2
3#include "freerdp/scancode.h"
4#include "ConvertKeyCode.h"
5
8
18quint32 CConvertKeyCode::QtToScanCode(int key, Qt::KeyboardModifiers modifiers)
19{
20 UINT32 k = RDP_SCANCODE_UNKNOWN;
21 switch (key)
22 {
23 case Qt::Key_Escape: return RDP_SCANCODE_ESCAPE;
24 case Qt::Key_Tab: return RDP_SCANCODE_TAB;
25 case Qt::Key_Backtab: return k;
26 case Qt::Key_Backspace: return RDP_SCANCODE_BACKSPACE;
27 case Qt::Key_Return: return RDP_SCANCODE_RETURN; //大键盘Enter对应Qt::Key_Return
28 case Qt::Key_Enter: return RDP_SCANCODE_RETURN; //小键盘Enter对应Qt::Key_Enter
29 case Qt::Key_Insert: return RDP_SCANCODE_INSERT;
30 case Qt::Key_Delete: return RDP_SCANCODE_DELETE;
31 case Qt::Key_Pause: return RDP_SCANCODE_PAUSE;
32 case Qt::Key_Print: return RDP_SCANCODE_PRINTSCREEN;
33 case Qt::Key_SysReq: return RDP_SCANCODE_SYSREQ;
34 //case Qt::Key_Clear: return RDP_SCANCODE_UNKNOWN;
35 case Qt::Key_Home: return RDP_SCANCODE_HOME;
36 case Qt::Key_End: return RDP_SCANCODE_END;
37 case Qt::Key_Left: return RDP_SCANCODE_LEFT;
38 case Qt::Key_Up: return RDP_SCANCODE_UP;
39 case Qt::Key_Right: return RDP_SCANCODE_RIGHT;
40 case Qt::Key_Down: return RDP_SCANCODE_DOWN;
41 case Qt::Key_PageUp: return RDP_SCANCODE_PRIOR;
42 case Qt::Key_PageDown: return RDP_SCANCODE_NEXT;
43 case Qt::Key_Shift: return RDP_SCANCODE_LSHIFT;
44 case Qt::Key_Control: return RDP_SCANCODE_LCONTROL;
45 case Qt::Key_Alt: return RDP_SCANCODE_LMENU;
46 case Qt::Key_AltGr: return RDP_SCANCODE_RMENU;
47 case Qt::Key_CapsLock: return RDP_SCANCODE_CAPSLOCK;
48 case Qt::Key_NumLock: return RDP_SCANCODE_NUMLOCK;
49 case Qt::Key_ScrollLock: return RDP_SCANCODE_SCROLLLOCK;
50 case Qt::Key_F1: return RDP_SCANCODE_F1;
51 case Qt::Key_F2: return RDP_SCANCODE_F2;
52 case Qt::Key_F3: return RDP_SCANCODE_F3;
53 case Qt::Key_F4: return RDP_SCANCODE_F4;
54 case Qt::Key_F5: return RDP_SCANCODE_F5;
55 case Qt::Key_F6: return RDP_SCANCODE_F6;
56 case Qt::Key_F7: return RDP_SCANCODE_F7;
57 case Qt::Key_F8: return RDP_SCANCODE_F8;
58 case Qt::Key_F9: return RDP_SCANCODE_F9;
59 case Qt::Key_F10: return RDP_SCANCODE_F10;
60 case Qt::Key_F11: return RDP_SCANCODE_F11;
61 case Qt::Key_F12: return RDP_SCANCODE_F12;
62 case Qt::Key_F13: return RDP_SCANCODE_F13;
63 case Qt::Key_F14: return RDP_SCANCODE_F14;
64 case Qt::Key_F15: return RDP_SCANCODE_F15;
65 case Qt::Key_F16: return RDP_SCANCODE_F16;
66 case Qt::Key_F17: return RDP_SCANCODE_F17;
67 case Qt::Key_F18: return RDP_SCANCODE_F18;
68 case Qt::Key_F19: return RDP_SCANCODE_F19;
69 case Qt::Key_F20: return RDP_SCANCODE_F20;
70 case Qt::Key_F21: return RDP_SCANCODE_F20;
71 case Qt::Key_F22: return RDP_SCANCODE_F21;
72 case Qt::Key_F23: return RDP_SCANCODE_F22;
73 case Qt::Key_F24: return RDP_SCANCODE_F23;
74 /*
75 Qt::Key_F25
76 Qt::Key_F26
77 Qt::Key_F27
78 Qt::Key_F28
79 Qt::Key_F29
80 Qt::Key_F30
81 Qt::Key_F31
82 Qt::Key_F32
83 Qt::Key_F33
84 Qt::Key_F34
85 Qt::Key_F35
86 */
87 case Qt::Key_Meta: return RDP_SCANCODE_LWIN;
88 case Qt::Key_Super_L: return RDP_SCANCODE_LWIN;
89 case Qt::Key_Super_R: return RDP_SCANCODE_RWIN;
90 case Qt::Key_Menu: return RDP_SCANCODE_LMENU;
91 // Qt::Key_Hyper_L
92 // Qt::Key_Hyper_R
93 case Qt::Key_Help: return RDP_SCANCODE_HELP;
94 // Qt::Key_Direction_L
95 // Qt::Key_Direction_R
96 case Qt::Key_Space: return RDP_SCANCODE_SPACE;
97 //case Qt::Key_Any: return RDP_SCANCODE_SPACE;
98 case Qt::Key_Exclam: return RDP_SCANCODE_KEY_1; // !
99 case Qt::Key_QuoteDbl:return RDP_SCANCODE_OEM_7; // "
100 case Qt::Key_NumberSign: return RDP_SCANCODE_KEY_3; // #
101 case Qt::Key_Dollar: return RDP_SCANCODE_KEY_4; // $
102 case Qt::Key_Percent: return RDP_SCANCODE_KEY_5; // %
103 case Qt::Key_Ampersand: return RDP_SCANCODE_KEY_7; // &
104 case Qt::Key_Apostrophe: return RDP_SCANCODE_OEM_7; // '
105 case Qt::Key_ParenLeft: return RDP_SCANCODE_KEY_9; // (
106 case Qt::Key_ParenRight: return RDP_SCANCODE_KEY_0; // )
107 case Qt::Key_Asterisk: // *
108 {
109 if(modifiers & Qt::ShiftModifier)
110 return RDP_SCANCODE_KEY_8;
111 return RDP_SCANCODE_MULTIPLY;
112 }
113 case Qt::Key_Plus: // +
114 {
115 if(modifiers & Qt::ShiftModifier)
116 return RDP_SCANCODE_OEM_PLUS;
117 return RDP_SCANCODE_ADD;
118 }
119 case Qt::Key_Comma: return RDP_SCANCODE_OEM_COMMA; // ,
120 case Qt::Key_Minus: return RDP_SCANCODE_OEM_MINUS; // -
121 case Qt::Key_Period: return RDP_SCANCODE_OEM_PERIOD; // .
122 case Qt::Key_Slash: return RDP_SCANCODE_OEM_2; // '/'
123
124 case Qt::Key_0: return RDP_SCANCODE_KEY_0;
125 case Qt::Key_1: return RDP_SCANCODE_KEY_1;
126 case Qt::Key_2: return RDP_SCANCODE_KEY_2;
127 case Qt::Key_3: return RDP_SCANCODE_KEY_3;
128 case Qt::Key_4: return RDP_SCANCODE_KEY_4;
129 case Qt::Key_5: return RDP_SCANCODE_KEY_5;
130 case Qt::Key_6: return RDP_SCANCODE_KEY_6;
131 case Qt::Key_7: return RDP_SCANCODE_KEY_7;
132 case Qt::Key_8: return RDP_SCANCODE_KEY_8;
133 case Qt::Key_9: return RDP_SCANCODE_KEY_9;
134
135 case Qt::Key_Colon: return RDP_SCANCODE_OEM_1; // :
136 case Qt::Key_Semicolon: return RDP_SCANCODE_OEM_1; // ;
137 case Qt::Key_Less: return RDP_SCANCODE_OEM_COMMA; // <
138 case Qt::Key_Equal: return RDP_SCANCODE_OEM_PLUS; // =
139 case Qt::Key_Greater: return RDP_SCANCODE_OEM_PERIOD; // >
140 case Qt::Key_Question: return RDP_SCANCODE_OEM_2; // ?
141 case Qt::Key_At: return RDP_SCANCODE_KEY_2; // @
142
143 case Qt::Key_A: return RDP_SCANCODE_KEY_A;
144 case Qt::Key_B: return RDP_SCANCODE_KEY_B;
145 case Qt::Key_C: return RDP_SCANCODE_KEY_C;
146 case Qt::Key_D: return RDP_SCANCODE_KEY_D;
147 case Qt::Key_E: return RDP_SCANCODE_KEY_E;
148 case Qt::Key_F: return RDP_SCANCODE_KEY_F;
149 case Qt::Key_G: return RDP_SCANCODE_KEY_G;
150 case Qt::Key_H: return RDP_SCANCODE_KEY_H;
151 case Qt::Key_I: return RDP_SCANCODE_KEY_I;
152 case Qt::Key_J: return RDP_SCANCODE_KEY_J;
153 case Qt::Key_K: return RDP_SCANCODE_KEY_K;
154 case Qt::Key_L: return RDP_SCANCODE_KEY_L;
155 case Qt::Key_M: return RDP_SCANCODE_KEY_M;
156 case Qt::Key_N: return RDP_SCANCODE_KEY_N;
157 case Qt::Key_O: return RDP_SCANCODE_KEY_O;
158 case Qt::Key_P: return RDP_SCANCODE_KEY_P;
159 case Qt::Key_Q: return RDP_SCANCODE_KEY_Q;
160 case Qt::Key_R: return RDP_SCANCODE_KEY_R;
161 case Qt::Key_S: return RDP_SCANCODE_KEY_S;
162 case Qt::Key_T: return RDP_SCANCODE_KEY_T;
163 case Qt::Key_U: return RDP_SCANCODE_KEY_U;
164 case Qt::Key_V: return RDP_SCANCODE_KEY_V;
165 case Qt::Key_W: return RDP_SCANCODE_KEY_W;
166 case Qt::Key_X: return RDP_SCANCODE_KEY_X;
167 case Qt::Key_Y: return RDP_SCANCODE_KEY_Y;
168 case Qt::Key_Z: return RDP_SCANCODE_KEY_Z;
169 case Qt::Key_BracketLeft: return RDP_SCANCODE_OEM_4;
170 case Qt::Key_Backslash: return RDP_SCANCODE_OEM_5;
171 case Qt::Key_BracketRight: return RDP_SCANCODE_OEM_6;
172 case Qt::Key_AsciiCircum: return RDP_SCANCODE_KEY_6;
173 case Qt::Key_Underscore: return RDP_SCANCODE_OEM_MINUS;
174 case Qt::Key_QuoteLeft: return RDP_SCANCODE_OEM_3;
175 case Qt::Key_BraceLeft: return RDP_SCANCODE_OEM_4;
176 case Qt::Key_Bar: return RDP_SCANCODE_OEM_5;
177 case Qt::Key_BraceRight: return RDP_SCANCODE_OEM_6;
178 case Qt::Key_AsciiTilde: return RDP_SCANCODE_OEM_3;
179 /* Qt::Key_nobreakspace
180 Qt::Key_exclamdown
181 Qt::Key_cent
182 Qt::Key_sterling
183 Qt::Key_currency
184 Qt::Key_yen
185 Qt::Key_brokenbar
186 Qt::Key_section
187 Qt::Key_diaeresis
188 Qt::Key_copyright
189 Qt::Key_ordfeminine
190 Qt::Key_guillemotleft
191 Qt::Key_notsign
192 Qt::Key_hyphen
193 Qt::Key_registered
194 Qt::Key_macron
195 Qt::Key_degree
196 Qt::Key_plusminus
197 Qt::Key_twosuperior
198 Qt::Key_threesuperior
199 Qt::Key_acute
200 Qt::Key_mu
201 Qt::Key_paragraph
202 Qt::Key_periodcentered
203 Qt::Key_cedilla
204 Qt::Key_onesuperior
205 Qt::Key_masculine
206 Qt::Key_guillemotright
207 Qt::Key_onequarter
208 Qt::Key_onehalf
209 Qt::Key_threequarters
210 Qt::Key_questiondown
211 Qt::Key_Agrave
212 Qt::Key_Aacute
213 Qt::Key_Acircumflex
214 Qt::Key_Atilde
215 Qt::Key_Adiaeresis
216 Qt::Key_Aring
217 Qt::Key_AE
218 Qt::Key_Ccedilla
219 Qt::Key_Egrave
220 Qt::Key_Eacute
221 Qt::Key_Ecircumflex
222 Qt::Key_Ediaeresis
223 Qt::Key_Igrave
224 Qt::Key_Iacute
225 Qt::Key_Icircumflex
226 Qt::Key_Idiaeresis
227 Qt::Key_ETH
228 Qt::Key_Ntilde
229 Qt::Key_Ograve
230 Qt::Key_Oacute
231 Qt::Key_Ocircumflex
232 Qt::Key_Otilde
233 Qt::Key_Odiaeresis
234 Qt::Key_multiply
235 Qt::Key_Ooblique
236 Qt::Key_Ugrave
237 Qt::Key_Uacute
238 Qt::Key_Ucircumflex
239 Qt::Key_Udiaeresis
240 Qt::Key_Yacute
241 Qt::Key_THORN
242 Qt::Key_ssharp
243 Qt::Key_division
244 Qt::Key_ydiaeresis
245 Qt::Key_Multi_key
246 Qt::Key_Codeinput
247 Qt::Key_SingleCandidate
248 Qt::Key_MultipleCandidate
249 Qt::Key_PreviousCandidate
250 Qt::Key_Mode_switch
251 Qt::Key_Kanji
252 Qt::Key_Muhenkan
253 Qt::Key_Henkan
254 Qt::Key_Romaji
255 Qt::Key_Hiragana
256 Qt::Key_Katakana
257 Qt::Key_Hiragana_Katakana
258 Qt::Key_Zenkaku
259 Qt::Key_Hankaku
260 Qt::Key_Zenkaku_Hankaku
261 Qt::Key_Touroku
262 Qt::Key_Massyo
263 Qt::Key_Kana_Lock
264 Qt::Key_Kana_Shift
265 Qt::Key_Eisu_Shift
266 Qt::Key_Eisu_toggle
267 Qt::Key_Hangul
268 Qt::Key_Hangul_Start
269 Qt::Key_Hangul_End
270 Qt::Key_Hangul_Hanja
271 Qt::Key_Hangul_Jamo
272 Qt::Key_Hangul_Romaja
273 Qt::Key_Hangul_Jeonja
274 Qt::Key_Hangul_Banja
275 Qt::Key_Hangul_PreHanja
276 Qt::Key_Hangul_PostHanja
277 Qt::Key_Hangul_Special
278 Qt::Key_Dead_Grave
279 Qt::Key_Dead_Acute
280 Qt::Key_Dead_Circumflex
281 Qt::Key_Dead_Tilde
282 Qt::Key_Dead_Macron
283 Qt::Key_Dead_Breve
284 Qt::Key_Dead_Abovedot
285 Qt::Key_Dead_Diaeresis
286 Qt::Key_Dead_Abovering
287 Qt::Key_Dead_Doubleacute
288 Qt::Key_Dead_Caron
289 Qt::Key_Dead_Cedilla
290 Qt::Key_Dead_Ogonek
291 Qt::Key_Dead_Iota
292 Qt::Key_Dead_Voiced_Sound
293 Qt::Key_Dead_Semivoiced_Sound
294 Qt::Key_Dead_Belowdot
295 Qt::Key_Dead_Hook
296 Qt::Key_Dead_Horn
297 Qt::Key_Dead_Stroke
298 Qt::Key_Dead_Abovecomma
299 Qt::Key_Dead_Abovereversedcomma
300 Qt::Key_Dead_Doublegrave
301 Qt::Key_Dead_Belowring
302 Qt::Key_Dead_Belowmacron
303 Qt::Key_Dead_Belowcircumflex
304 Qt::Key_Dead_Belowtilde
305 Qt::Key_Dead_Belowbreve
306 Qt::Key_Dead_Belowdiaeresis
307 Qt::Key_Dead_Invertedbreve
308 Qt::Key_Dead_Belowcomma
309 Qt::Key_Dead_Currency
310 Qt::Key_Dead_a
311 Qt::Key_Dead_A
312 Qt::Key_Dead_e
313 Qt::Key_Dead_E
314 Qt::Key_Dead_i
315 Qt::Key_Dead_I
316 Qt::Key_Dead_o
317 Qt::Key_Dead_O
318 Qt::Key_Dead_u
319 Qt::Key_Dead_U
320 Qt::Key_Dead_Small_Schwa
321 Qt::Key_Dead_Capital_Schwa
322 Qt::Key_Dead_Greek
323 Qt::Key_Dead_Lowline
324 Qt::Key_Dead_Aboveverticalline
325 Qt::Key_Dead_Belowverticalline
326 Qt::Key_Dead_Longsolidusoverlay
327 Qt::Key_Back
328 Qt::Key_Forward
329 Qt::Key_Stop
330 Qt::Key_Refresh
331 Qt::Key_VolumeDown
332 Qt::Key_VolumeMute
333 Qt::Key_VolumeUp
334 Qt::Key_BassBoost
335 Qt::Key_BassUp
336 Qt::Key_BassDown
337 Qt::Key_TrebleUp
338 Qt::Key_TrebleDown
339 Qt::Key_MediaPlay
340 Qt::Key_MediaStop
341 Qt::Key_MediaPrevious
342 Qt::Key_MediaNext
343 Qt::Key_MediaRecord
344 Qt::Key_MediaPause
345 Qt::Key_MediaTogglePlayPause
346 Qt::Key_HomePage
347 Qt::Key_Favorites
348 Qt::Key_Search
349 Qt::Key_Standby
350 Qt::Key_OpenUrl
351 Qt::Key_LaunchMail
352 Qt::Key_LaunchMedia
353 Qt::Key_Launch0
354 Qt::Key_Launch1
355 Qt::Key_Launch2
356 Qt::Key_Launch3
357 Qt::Key_Launch4
358 Qt::Key_Launch5
359 Qt::Key_Launch6
360 Qt::Key_Launch7
361 Qt::Key_Launch8
362 Qt::Key_Launch9
363 Qt::Key_LaunchA
364 Qt::Key_LaunchB
365 Qt::Key_LaunchC
366 Qt::Key_LaunchD
367 Qt::Key_LaunchE
368 Qt::Key_LaunchF
369 Qt::Key_LaunchG
370 Qt::Key_LaunchH
371 Qt::Key_MonBrightnessUp
372 Qt::Key_MonBrightnessDown
373 Qt::Key_KeyboardLightOnOff
374 Qt::Key_KeyboardBrightnessUp
375 Qt::Key_KeyboardBrightnessDown
376 Qt::Key_PowerOff
377 Qt::Key_WakeUp
378 Qt::Key_Eject
379 Qt::Key_ScreenSaver
380 Qt::Key_WWW
381 Qt::Key_Memo
382 Qt::Key_LightBulb
383 Qt::Key_Shop
384 Qt::Key_History
385 Qt::Key_AddFavorite
386 Qt::Key_HotLinks
387 Qt::Key_BrightnessAdjust
388 Qt::Key_Finance
389 Qt::Key_Community
390 Qt::Key_AudioRewind
391 Qt::Key_BackForward
392 Qt::Key_ApplicationLeft
393 Qt::Key_ApplicationRight
394 Qt::Key_Book
395 Qt::Key_CD
396 Qt::Key_Calculator
397 Qt::Key_ToDoList
398 Qt::Key_ClearGrab
399 Qt::Key_Close
400 Qt::Key_Copy
401 Qt::Key_Cut
402 Qt::Key_Display
403 Qt::Key_DOS
404 Qt::Key_Documents
405 Qt::Key_Excel
406 Qt::Key_Explorer
407 Qt::Key_Game
408 Qt::Key_Go
409 Qt::Key_iTouch
410 Qt::Key_LogOff
411 Qt::Key_Market
412 Qt::Key_Meeting
413 Qt::Key_MenuKB
414 Qt::Key_MenuPB
415 Qt::Key_MySites
416 Qt::Key_News
417 Qt::Key_OfficeHome
418 Qt::Key_Option
419 Qt::Key_Paste
420 Qt::Key_Phone
421 Qt::Key_Calendar
422 Qt::Key_Reply
423 Qt::Key_Reload
424 Qt::Key_RotateWindows
425 Qt::Key_RotationPB
426 Qt::Key_RotationKB
427 Qt::Key_Save
428 Qt::Key_Send
429 Qt::Key_Spell
430 Qt::Key_SplitScreen
431 Qt::Key_Support
432 Qt::Key_TaskPane
433 Qt::Key_Terminal
434 Qt::Key_Tools
435 Qt::Key_Travel
436 Qt::Key_Video
437 Qt::Key_Word
438 Qt::Key_Xfer
439 Qt::Key_ZoomIn
440 Qt::Key_ZoomOut
441 Qt::Key_Away
442 Qt::Key_Messenger
443 Qt::Key_WebCam
444 Qt::Key_MailForward
445 Qt::Key_Pictures
446 Qt::Key_Music
447 Qt::Key_Battery
448 Qt::Key_Bluetooth
449 Qt::Key_WLAN
450 Qt::Key_UWB
451 Qt::Key_AudioForward
452 Qt::Key_AudioRepeat
453 Qt::Key_AudioRandomPlay
454 Qt::Key_Subtitle
455 Qt::Key_AudioCycleTrack
456 Qt::Key_Time
457 Qt::Key_Hibernate
458 Qt::Key_View
459 Qt::Key_TopMenu
460 Qt::Key_PowerDown
461 Qt::Key_Suspend
462 Qt::Key_ContrastAdjust
463 Qt::Key_TouchpadToggle
464 Qt::Key_TouchpadOn
465 Qt::Key_TouchpadOff
466 Qt::Key_MicMute
467 Qt::Key_Red
468 Qt::Key_Green
469 Qt::Key_Yellow
470 Qt::Key_Blue
471 Qt::Key_ChannelUp
472 Qt::Key_ChannelDown
473 Qt::Key_Guide
474 Qt::Key_Info
475 Qt::Key_Settings
476 Qt::Key_MicVolumeUp
477 Qt::Key_MicVolumeDown
478 Qt::Key_New
479 Qt::Key_Open
480 Qt::Key_Find
481 Qt::Key_Undo
482 Qt::Key_Redo
483 Qt::Key_MediaLast
484 Qt::Key_unknown
485 Qt::Key_Call
486 Qt::Key_Camera
487 Qt::Key_CameraFocus
488 Qt::Key_Context1
489 Qt::Key_Context2
490 Qt::Key_Context3
491 Qt::Key_Context4
492 Qt::Key_Flip
493 Qt::Key_Hangup
494 Qt::Key_No
495 Qt::Key_Select
496 Qt::Key_Yes
497 Qt::Key_ToggleCallHangup
498 Qt::Key_VoiceDial
499 Qt::Key_LastNumberRedial
500 Qt::Key_Execute
501 Qt::Key_Printer
502 Qt::Key_Play
503 Qt::Key_Sleep
504 Qt::Key_Zoom
505 Qt::Key_Exit
506 Qt::Key_Cancel
507 //*/
508 //case Qt::Key_Clear: k = XK_Clear; break;
509 }
510 return k;
511}
CConvertKeyCode()
Author: Kang Lin kl222@126.com.
static quint32 QtToScanCode(int key, Qt::KeyboardModifiers modifiers)
CConvertKeyCode::QtToScanCode.