Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qhaikukeymapper.cpp
Go to the documentation of this file.
1// Copyright (C) 2015 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Tobias Koenig <tobias.koenig@kdab.com>
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
5
7
8uint32 Haiku_ScanCodes[] = {
9 Qt::Key_Escape, 0x01,
10 Qt::Key_F1, 0x02,
11 Qt::Key_F2, 0x03,
12 Qt::Key_F3, 0x04,
13 Qt::Key_F4, 0x05,
14 Qt::Key_F5, 0x06,
15 Qt::Key_F6, 0x07,
16 Qt::Key_F7, 0x08,
17 Qt::Key_F8, 0x09,
18 Qt::Key_F9, 0x0A,
19 Qt::Key_F10, 0x0B,
20 Qt::Key_F11, 0x0C,
21 Qt::Key_F12, 0x0D,
22 Qt::Key_Print, 0x0E,
23 Qt::Key_Pause, 0x22,
24 Qt::Key_AsciiTilde, 0x11,
25 Qt::Key_1, 0x12,
26 Qt::Key_2, 0x13,
27 Qt::Key_3, 0x14,
28 Qt::Key_4, 0x15,
29 Qt::Key_5, 0x16,
30 Qt::Key_6, 0x17,
31 Qt::Key_7, 0x18,
32 Qt::Key_8, 0x19,
33 Qt::Key_9, 0x1A,
34 Qt::Key_0, 0x1B,
35 Qt::Key_Minus, 0x1C,
36 Qt::Key_Plus, 0x1D,
37 Qt::Key_Backspace, 0x1E,
38 Qt::Key_Insert, 0x1F,
39 Qt::Key_Home, 0x20,
40 Qt::Key_PageUp, 0x21,
41 Qt::Key_Slash, 0x23,
42 Qt::Key_Asterisk, 0x24,
43 Qt::Key_Minus, 0x25,
44 Qt::Key_Tab, 0x26,
45 Qt::Key_Q, 0x27,
46 Qt::Key_W, 0x28,
47 Qt::Key_E, 0x29,
48 Qt::Key_R, 0x2A,
49 Qt::Key_T, 0x2B,
50 Qt::Key_Y, 0x2C,
51 Qt::Key_U, 0x2D,
52 Qt::Key_I, 0x2E,
53 Qt::Key_O, 0x2F,
54 Qt::Key_P, 0x30,
55 Qt::Key_BracketLeft, 0x31,
56 Qt::Key_BracketRight, 0x32,
57 Qt::Key_Backslash, 0x33,
58 Qt::Key_Delete, 0x34,
59 Qt::Key_End, 0x35,
60 Qt::Key_PageDown, 0x36,
61 Qt::Key_Home, 0x37, // numpad
62 Qt::Key_Up, 0x38, // numpad
63 Qt::Key_PageUp, 0x39, // numpad
64 Qt::Key_Plus, 0x3A, // numpad
65 Qt::Key_A, 0x3C,
66 Qt::Key_S, 0x3D,
67 Qt::Key_D, 0x3E,
68 Qt::Key_F, 0x3F,
69 Qt::Key_G, 0x40,
70 Qt::Key_H, 0x41,
71 Qt::Key_J, 0x42,
72 Qt::Key_K, 0x43,
73 Qt::Key_L, 0x44,
74 Qt::Key_Colon, 0x45,
75 Qt::Key_QuoteDbl, 0x46,
76 Qt::Key_Return, 0x47,
77 Qt::Key_Left, 0x48, // numpad
78 Qt::Key_5, 0x49, // numpad ???
79 Qt::Key_Right, 0x4A, // numpad
80 Qt::Key_Z, 0x4C,
81 Qt::Key_X, 0x4D,
82 Qt::Key_C, 0x4E,
83 Qt::Key_V, 0x4F,
84 Qt::Key_B, 0x50,
85 Qt::Key_N, 0x51,
86 Qt::Key_M, 0x51,
87 Qt::Key_Less, 0x52,
88 Qt::Key_Greater, 0x54,
89 Qt::Key_Question, 0x55,
90 Qt::Key_Up, 0x57, // cursor
91 Qt::Key_End, 0x58, // numpad
92 Qt::Key_Down, 0x59, // numpad
93 Qt::Key_PageDown, 0x5A, // numpad
94 Qt::Key_Enter, 0x5B, // numpad
95 Qt::Key_Space, 0x5E,
96 Qt::Key_Left, 0x61, // cursor
97 Qt::Key_Down, 0x62, // cursor
98 Qt::Key_Right, 0x63, // cursor
99 Qt::Key_Insert, 0x64, // cursor
100 Qt::Key_Delete, 0x65, // numpad
101 0, 0x00
102};
103
105 Qt::Key_7, 0x37,
106 Qt::Key_8, 0x38,
107 Qt::Key_9, 0x39,
108 Qt::Key_Plus, 0x3A,
109 Qt::Key_4, 0x48,
110 Qt::Key_5, 0x49,
111 Qt::Key_6, 0x4A,
112 Qt::Key_1, 0x58,
113 Qt::Key_2, 0x59,
114 Qt::Key_3, 0x5A,
115 Qt::Key_Enter, 0x5B,
116 Qt::Key_Comma, 0x65,
117 0, 0x00
118};
119
120uint32 QHaikuKeyMapper::translateKeyCode(uint32 key, bool numlockActive)
121{
122 uint32 code = 0;
123 int i = 0;
124
125 if (numlockActive) {
126 while (Haiku_ScanCodes_Numlock[i]) {
127 if (key == Haiku_ScanCodes_Numlock[i + 1]) {
128 code = Haiku_ScanCodes_Numlock[i];
129 break;
130 }
131 i += 2;
132 }
133
134 if (code > 0)
135 return code;
136 }
137
138 i = 0;
139 while (Haiku_ScanCodes[i]) {
140 if (key == Haiku_ScanCodes[i + 1]) {
141 code = Haiku_ScanCodes[i];
142 break;
143 }
144 i += 2;
145 }
146
147 return code;
148}
149
150QT_END_NAMESPACE
Definition qcompare.h:76
@ Key_Plus
Definition qnamespace.h:542
@ Key_9
Definition qnamespace.h:556
@ Key_Enter
Definition qnamespace.h:685
@ Key_4
Definition qnamespace.h:551
@ Key_2
Definition qnamespace.h:549
@ Key_7
Definition qnamespace.h:554
@ Key_8
Definition qnamespace.h:555
@ Key_1
Definition qnamespace.h:548
@ Key_6
Definition qnamespace.h:553
@ Key_3
Definition qnamespace.h:550
@ Key_Comma
Definition qnamespace.h:543
@ Key_5
Definition qnamespace.h:552
uint32 Haiku_ScanCodes_Numlock[]