Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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
4#include "qhaikukeymapper.h"
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,
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,
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,
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]) {
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
static uint32 translateKeyCode(uint32 key, bool numlockActive)
Combined button and popup list for selecting options.
@ Key_Escape
Definition qnamespace.h:663
@ Key_O
Definition qnamespace.h:561
@ Key_Tab
Definition qnamespace.h:664
@ Key_C
Definition qnamespace.h:549
@ Key_B
Definition qnamespace.h:548
@ Key_Plus
Definition qnamespace.h:525
@ Key_Return
Definition qnamespace.h:667
@ Key_9
Definition qnamespace.h:539
@ Key_Right
Definition qnamespace.h:679
@ Key_Greater
Definition qnamespace.h:544
@ Key_Enter
Definition qnamespace.h:668
@ Key_F7
Definition qnamespace.h:696
@ Key_K
Definition qnamespace.h:557
@ Key_PageUp
Definition qnamespace.h:681
@ Key_Space
Definition qnamespace.h:513
@ Key_D
Definition qnamespace.h:550
@ Key_4
Definition qnamespace.h:534
@ Key_I
Definition qnamespace.h:555
@ Key_2
Definition qnamespace.h:532
@ Key_7
Definition qnamespace.h:537
@ Key_QuoteDbl
Definition qnamespace.h:516
@ Key_Colon
Definition qnamespace.h:540
@ Key_U
Definition qnamespace.h:567
@ Key_8
Definition qnamespace.h:538
@ Key_Backspace
Definition qnamespace.h:666
@ Key_F6
Definition qnamespace.h:695
@ Key_Insert
Definition qnamespace.h:669
@ Key_BracketRight
Definition qnamespace.h:575
@ Key_Left
Definition qnamespace.h:677
@ Key_X
Definition qnamespace.h:570
@ Key_BracketLeft
Definition qnamespace.h:573
@ Key_A
Definition qnamespace.h:547
@ Key_0
Definition qnamespace.h:530
@ Key_F9
Definition qnamespace.h:698
@ Key_Question
Definition qnamespace.h:545
@ Key_R
Definition qnamespace.h:564
@ Key_F11
Definition qnamespace.h:700
@ Key_P
Definition qnamespace.h:562
@ Key_Print
Definition qnamespace.h:672
@ Key_M
Definition qnamespace.h:559
@ Key_Pause
Definition qnamespace.h:671
@ Key_1
Definition qnamespace.h:531
@ Key_Up
Definition qnamespace.h:678
@ Key_Minus
Definition qnamespace.h:527
@ Key_F3
Definition qnamespace.h:692
@ Key_Q
Definition qnamespace.h:563
@ Key_Down
Definition qnamespace.h:680
@ Key_T
Definition qnamespace.h:566
@ Key_V
Definition qnamespace.h:568
@ Key_6
Definition qnamespace.h:536
@ Key_F4
Definition qnamespace.h:693
@ Key_G
Definition qnamespace.h:553
@ Key_F2
Definition qnamespace.h:691
@ Key_Delete
Definition qnamespace.h:670
@ Key_AsciiTilde
Definition qnamespace.h:582
@ Key_Backslash
Definition qnamespace.h:574
@ Key_Less
Definition qnamespace.h:542
@ Key_H
Definition qnamespace.h:554
@ Key_W
Definition qnamespace.h:569
@ Key_F1
Definition qnamespace.h:690
@ Key_J
Definition qnamespace.h:556
@ Key_3
Definition qnamespace.h:533
@ Key_Slash
Definition qnamespace.h:529
@ Key_Z
Definition qnamespace.h:572
@ Key_PageDown
Definition qnamespace.h:682
@ Key_F5
Definition qnamespace.h:694
@ Key_Home
Definition qnamespace.h:675
@ Key_F10
Definition qnamespace.h:699
@ Key_F
Definition qnamespace.h:552
@ Key_N
Definition qnamespace.h:560
@ Key_Comma
Definition qnamespace.h:526
@ Key_S
Definition qnamespace.h:565
@ Key_F8
Definition qnamespace.h:697
@ Key_Y
Definition qnamespace.h:571
@ Key_Asterisk
Definition qnamespace.h:524
@ Key_E
Definition qnamespace.h:551
@ Key_L
Definition qnamespace.h:558
@ Key_5
Definition qnamespace.h:535
@ Key_F12
Definition qnamespace.h:701
@ Key_End
Definition qnamespace.h:676
QT_BEGIN_NAMESPACE uint32 Haiku_ScanCodes[]
uint32 Haiku_ScanCodes_Numlock[]
GLuint64 key