-
Notifications
You must be signed in to change notification settings - Fork 7
/
KeycodeMap.cpp
121 lines (105 loc) · 1.83 KB
/
KeycodeMap.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
//
// Created by Gyuhwan Park on 2022/05/07.
//
#include "KeycodeMap.hpp"
#include <Carbon/Carbon.h>
static const int16_t RDP_CGKEYCODE_MAP[] = {
-1,
kVK_Escape,
kVK_ANSI_1,
kVK_ANSI_2,
kVK_ANSI_3,
kVK_ANSI_4,
kVK_ANSI_5,
kVK_ANSI_6,
kVK_ANSI_7,
kVK_ANSI_8,
kVK_ANSI_9,
kVK_ANSI_0,
kVK_ANSI_Minus,
kVK_ANSI_Equal,
kVK_Delete, // 14
kVK_Tab, // 15
kVK_ANSI_Q,
kVK_ANSI_W,
kVK_ANSI_E,
kVK_ANSI_R,
kVK_ANSI_T,
kVK_ANSI_Y,
kVK_ANSI_U,
kVK_ANSI_I,
kVK_ANSI_O,
kVK_ANSI_P,
kVK_ANSI_LeftBracket,
kVK_ANSI_RightBracket, // 27
kVK_Return, // 28
kVK_Control, // 29
kVK_ANSI_A,
kVK_ANSI_S,
kVK_ANSI_D,
kVK_ANSI_F,
kVK_ANSI_G,
kVK_ANSI_H,
kVK_ANSI_J,
kVK_ANSI_K,
kVK_ANSI_L,
kVK_ANSI_Semicolon,
kVK_ANSI_Quote, // 40
kVK_ANSI_Grave,
kVK_Shift, // 42
kVK_ANSI_Backslash,
kVK_ANSI_Z, // 44
kVK_ANSI_X,
kVK_ANSI_C,
kVK_ANSI_V,
kVK_ANSI_B,
kVK_ANSI_N,
kVK_ANSI_M,
kVK_ANSI_Comma,
kVK_ANSI_Period,
kVK_ANSI_Slash,
kVK_RightShift, // 54
-1,
kVK_Option, // 56
kVK_Space, // 57
-1,
kVK_F1,
kVK_F2, // 60
kVK_F3, // 61
kVK_F4,
kVK_F5,
kVK_F6,
kVK_F7,
kVK_F8,
kVK_F9,
kVK_F10,
kVK_F11,
kVK_F12, // 70
kVK_Home, // 71
kVK_UpArrow,
kVK_PageUp,
-1,
kVK_LeftArrow,
-1,
kVK_RightArrow,
-1,
kVK_End,
kVK_DownArrow, // 80
kVK_PageDown,
-1, // FIXME: INSERT KEY
kVK_ForwardDelete,
-1,
-1,
-1,
-1,
-1,
-1,
-1, // 90
kVK_Command
};
int16_t rdpKeycodeToCGKeycode(uint16_t keycode) {
if (keycode <= 91) {
return RDP_CGKEYCODE_MAP[keycode];
}
return -1;
}