141
return val;
142
}
143
144
-// Mac to Linux conversion
145
-static const unsigned int mac_to_linux_map[] = {
146
- [kVK_ANSI_A] = KEY_A,
147
- [kVK_ANSI_B] = KEY_B,
148
- [kVK_ANSI_C] = KEY_C,
149
- [kVK_ANSI_D] = KEY_D,
150
- [kVK_ANSI_E] = KEY_E,
151
- [kVK_ANSI_F] = KEY_F,
152
- [kVK_ANSI_G] = KEY_G,
153
- [kVK_ANSI_H] = KEY_H,
154
- [kVK_ANSI_I] = KEY_I,
155
- [kVK_ANSI_J] = KEY_J,
156
- [kVK_ANSI_K] = KEY_K,
157
- [kVK_ANSI_L] = KEY_L,
158
- [kVK_ANSI_M] = KEY_M,
159
- [kVK_ANSI_N] = KEY_N,
160
- [kVK_ANSI_O] = KEY_O,
161
- [kVK_ANSI_P] = KEY_P,
162
- [kVK_ANSI_Q] = KEY_Q,
163
- [kVK_ANSI_R] = KEY_R,
164
- [kVK_ANSI_S] = KEY_S,
165
- [kVK_ANSI_T] = KEY_T,
166
- [kVK_ANSI_U] = KEY_U,
167
- [kVK_ANSI_V] = KEY_V,
168
- [kVK_ANSI_W] = KEY_W,
169
- [kVK_ANSI_X] = KEY_X,
170
- [kVK_ANSI_Y] = KEY_Y,
171
- [kVK_ANSI_Z] = KEY_Z,
172
-
173
- [kVK_ANSI_0] = KEY_0,
174
- [kVK_ANSI_1] = KEY_1,
175
- [kVK_ANSI_2] = KEY_2,
176
- [kVK_ANSI_3] = KEY_3,
177
- [kVK_ANSI_4] = KEY_4,
178
- [kVK_ANSI_5] = KEY_5,
179
- [kVK_ANSI_6] = KEY_6,
180
- [kVK_ANSI_7] = KEY_7,
181
- [kVK_ANSI_8] = KEY_8,
182
- [kVK_ANSI_9] = KEY_9,
183
-
184
- [kVK_ANSI_Grave] = KEY_GRAVE,
185
- [kVK_ANSI_Minus] = KEY_MINUS,
186
- [kVK_ANSI_Equal] = KEY_EQUAL,
187
- [kVK_Delete] = KEY_BACKSPACE,
188
- [kVK_CapsLock] = KEY_CAPSLOCK,
189
- [kVK_Tab] = KEY_TAB,
190
- [kVK_Return] = KEY_ENTER,
191
- [kVK_ANSI_LeftBracket] = KEY_LEFTBRACE,
192
- [kVK_ANSI_RightBracket] = KEY_RIGHTBRACE,
193
- [kVK_ANSI_Backslash] = KEY_BACKSLASH,
194
- [kVK_ANSI_Semicolon] = KEY_SEMICOLON,
195
- [kVK_ANSI_Quote] = KEY_APOSTROPHE,
196
- [kVK_ANSI_Comma] = KEY_COMMA,
197
- [kVK_ANSI_Period] = KEY_DOT,
198
- [kVK_ANSI_Slash] = KEY_SLASH,
199
- [kVK_Space] = KEY_SPACE,
200
-
201
- [kVK_ANSI_Keypad0] = KEY_KP0,
202
- [kVK_ANSI_Keypad1] = KEY_KP1,
203
- [kVK_ANSI_Keypad2] = KEY_KP2,
204
- [kVK_ANSI_Keypad3] = KEY_KP3,
205
- [kVK_ANSI_Keypad4] = KEY_KP4,
206
- [kVK_ANSI_Keypad5] = KEY_KP5,
207
- [kVK_ANSI_Keypad6] = KEY_KP6,
208
- [kVK_ANSI_Keypad7] = KEY_KP7,
209
- [kVK_ANSI_Keypad8] = KEY_KP8,
210
- [kVK_ANSI_Keypad9] = KEY_KP9,
211
- [kVK_ANSI_KeypadDecimal] = KEY_KPDOT,
212
- [kVK_ANSI_KeypadEnter] = KEY_KPENTER,
213
- [kVK_ANSI_KeypadPlus] = KEY_KPPLUS,
214
- [kVK_ANSI_KeypadMinus] = KEY_KPMINUS,
215
- [kVK_ANSI_KeypadMultiply] = KEY_KPASTERISK,
216
- [kVK_ANSI_KeypadDivide] = KEY_KPSLASH,
217
- [kVK_ANSI_KeypadEquals] = KEY_KPEQUAL,
218
- [kVK_ANSI_KeypadClear] = KEY_NUMLOCK,
219
-
220
- [kVK_UpArrow] = KEY_UP,
221
- [kVK_DownArrow] = KEY_DOWN,
222
- [kVK_LeftArrow] = KEY_LEFT,
223
- [kVK_RightArrow] = KEY_RIGHT,
224
-
225
- [kVK_Help] = KEY_INSERT,
226
- [kVK_Home] = KEY_HOME,
227
- [kVK_PageUp] = KEY_PAGEUP,
228
- [kVK_PageDown] = KEY_PAGEDOWN,
229
- [kVK_End] = KEY_END,
230
- [kVK_ForwardDelete] = KEY_DELETE,
231
-
232
- [kVK_Escape] = KEY_ESC,
233
-
234
- /* The Power key can't be used directly because the operating system uses
235
- * it. This key can be emulated by using it in place of another key such as
236
- * F1. Don't forget to disable the real key binding.
237
- */
238
- /* [kVK_F1] = KEY_POWER, */
239
-
240
- [kVK_F1] = KEY_F1,
241
- [kVK_F2] = KEY_F2,
242
- [kVK_F3] = KEY_F3,
243
- [kVK_F4] = KEY_F4,
244
- [kVK_F5] = KEY_F5,
245
- [kVK_F6] = KEY_F6,
246
- [kVK_F7] = KEY_F7,
247
- [kVK_F8] = KEY_F8,
248
- [kVK_F9] = KEY_F9,
249
- [kVK_F10] = KEY_F10,
250
- [kVK_F11] = KEY_F11,
251
- [kVK_F12] = KEY_F12,
252
- [kVK_F13] = KEY_SYSRQ,
253
- [kVK_F14] = KEY_SCROLLLOCK,
254
- [kVK_F15] = KEY_PAUSE,
255
-
256
- // JIS keyboards only
257
- [kVK_JIS_Yen] = KEY_YEN,
258
- [kVK_JIS_Underscore] = KEY_RO,
259
- [kVK_JIS_KeypadComma] = KEY_KPCOMMA,
260
- [kVK_JIS_Eisu] = KEY_MUHENKAN,
261
- [kVK_JIS_Kana] = KEY_HENKAN,
262
-
263
- /*
264
- * The eject and volume keys can't be used here because they are handled at
265
- * a lower level than what an Application can see.
266
- */
267
-};
268
-
269
-static unsigned int cocoa_keycode_to_linux(int keycode)
144
+static int cocoa_keycode_to_linux(int keycode)
145
{
271
- if (ARRAY_SIZE(mac_to_linux_map) <= keycode) {
146
+ if (qemu_input_map_osx_to_linux_len <= keycode) {
147
error_report("(cocoa) warning unknown keycode 0x%x", keycode);
148
return 0;
149
}
275
- return mac_to_linux_map[keycode];
150
+ return qemu_input_map_osx_to_linux[keycode];
151
}
152
153
/* Displays an alert dialog box with the specified message */