16 #define K(k,s,a) {k+CocoaKeycodeOffset,s,a}
19 { K_BACK ,
"Backspace" ,
nullptr },
20 { K_TAB ,
"Tab" ,
nullptr },
22 { K_RETURN ,
"Return" ,
nullptr },
24 { K_SHIFT_L ,
"LeftShift" ,
"LShift" },
25 { K_SHIFT_R ,
"RightShift" ,
"RShift" },
26 { K_CONTROL_L ,
"LeftControl" ,
"LCtrl" },
27 { K_CONTROL_R ,
"RightControl" ,
"RCtrl" },
28 { K_ALT_L ,
"LeftAlt" ,
"LAlt" },
29 { K_ALT_R ,
"RightAlt" ,
"RAlt" },
30 { K_PAUSE ,
"Pause" ,
nullptr },
47 { K_SPACE ,
"Space" ,
"Sp" },
49 { K_END ,
"End" ,
nullptr },
50 { K_HOME ,
"Home" ,
nullptr },
51 { K_LEFT ,
"Left" ,
nullptr },
52 { K_UP ,
"Up" ,
nullptr },
53 { K_RIGHT ,
"Right" ,
nullptr },
54 { K_DOWN ,
"Down" ,
nullptr },
60 { K_DELETE ,
"Delete" ,
"Del" },
63 K( 29 ,
"0" ,
nullptr ),
64 K( 18 ,
"1" ,
nullptr ),
65 K( 19 ,
"2" ,
nullptr ),
66 K( 20 ,
"3" ,
nullptr ),
67 K( 21 ,
"4" ,
nullptr ),
68 K( 23 ,
"5" ,
nullptr ),
69 K( 22 ,
"6" ,
nullptr ),
70 K( 26 ,
"7" ,
nullptr ),
71 K( 28 ,
"8" ,
nullptr ),
72 K( 25 ,
"9" ,
nullptr ),
74 K( 0 ,
"A" ,
nullptr ),
75 K( 11 ,
"B" ,
nullptr ),
76 K( 8 ,
"C" ,
nullptr ),
77 K( 2 ,
"D" ,
nullptr ),
78 K( 14 ,
"E" ,
nullptr ),
79 K( 3 ,
"F" ,
nullptr ),
80 K( 5 ,
"G" ,
nullptr ),
81 K( 4 ,
"H" ,
nullptr ),
82 K( 34 ,
"I" ,
nullptr ),
83 K( 38 ,
"J" ,
nullptr ),
84 K( 40 ,
"K" ,
nullptr ),
85 K( 37 ,
"L" ,
nullptr ),
86 K( 46 ,
"M" ,
nullptr ),
87 K( 45 ,
"N" ,
nullptr ),
88 K( 31 ,
"O" ,
nullptr ),
89 K( 35 ,
"P" ,
nullptr ),
90 K( 12 ,
"Q" ,
nullptr ),
91 K( 15 ,
"R" ,
nullptr ),
92 K( 1 ,
"S" ,
nullptr ),
93 K( 17 ,
"T" ,
nullptr ),
94 K( 32 ,
"U" ,
nullptr ),
95 K( 9 ,
"V" ,
nullptr ),
96 K( 13 ,
"W" ,
nullptr ),
97 K( 7 ,
"X" ,
nullptr ),
98 K( 6 ,
"Y" ,
nullptr ),
99 K( 16 ,
"Z" ,
nullptr ),
100 K( 43 ,
"Comma" ,
nullptr ),
101 K( 47 ,
"Period" ,
nullptr ),
102 K( 43 ,
"Apostrophe",
nullptr ),
103 K( 44 ,
"Backslash" ,
nullptr ),
104 K( 43 ,
"Comma_US" ,
nullptr ),
105 K( 49 ,
"Less" ,
nullptr ),
111 K( 82 ,
"Num0" ,
"N0" ),
112 K( 83 ,
"Num1" ,
"N1" ),
113 K( 84 ,
"Num2" ,
"N2" ),
114 K( 85 ,
"Num3" ,
"N3" ),
115 K( 86 ,
"Num4" ,
"N4" ),
116 K( 87 ,
"Num5" ,
"N5" ),
117 K( 88 ,
"Num6" ,
"N6" ),
118 K( 89 ,
"Num7" ,
"N7" ),
119 K( 91 ,
"Num8" ,
"N8" ),
120 K( 92 ,
"Num9" ,
"N9" ),
121 K( 67 ,
"Multiply" ,
"N*" ),
122 K( 69 ,
"Add" ,
"N+" ),
124 K( 78 ,
"Subtract" ,
"N-" ),
125 K( 65 ,
"Decimal" ,
"N," ),
126 K( 75 ,
"Divide" ,
"N/" ),
127 { K_F1 ,
"F1" ,
nullptr },
128 { K_F2 ,
"F2" ,
nullptr },
129 { K_F3 ,
"F3" ,
nullptr },
130 { K_F4 ,
"F4" ,
nullptr },
131 { K_F5 ,
"F5" ,
nullptr },
132 { K_F6 ,
"F6" ,
nullptr },
133 { K_F7 ,
"F7" ,
nullptr },
134 { K_F8 ,
"F8" ,
nullptr },
135 { K_F9 ,
"F9" ,
nullptr },
136 { K_F10 ,
"F10" ,
nullptr },
137 { K_F11 ,
"F11" ,
nullptr },
138 { K_F12 ,
"F12" ,
nullptr },
152 K( 71 ,
"NumLock" ,
"NLock" ),
const C4KeyCodeMapEntry KeyCodeMap[]