282
switch (rec.Event.KeyEvent.wVirtualKeyCode)
284
case VK_TAB: ev->data.key.ch = '\t'; break;
285
case VK_RETURN: ev->data.key.ch = '\r'; break;
286
case VK_ESCAPE: ev->data.key.ch = '\033'; break;
287
case VK_SPACE: ev->data.key.ch = ' '; break;
288
case VK_DELETE: ev->data.key.ch = '\x7f'; break;
290
case VK_LEFT: ev->data.key.ch = CACA_KEY_LEFT; break;
291
case VK_RIGHT: ev->data.key.ch = CACA_KEY_RIGHT; break;
292
case VK_UP: ev->data.key.ch = CACA_KEY_UP; break;
293
case VK_DOWN: ev->data.key.ch = CACA_KEY_DOWN; break;
295
case VK_INSERT: ev->data.key.ch = CACA_KEY_INSERT; break;
296
case VK_HOME: ev->data.key.ch = CACA_KEY_HOME; break;
297
case VK_END: ev->data.key.ch = CACA_KEY_END; break;
298
case VK_PRIOR: ev->data.key.ch = CACA_KEY_PAGEUP; break;
299
case VK_NEXT: ev->data.key.ch = CACA_KEY_PAGEDOWN; break;
301
case VK_F1: ev->data.key.ch = CACA_KEY_F1; break;
302
case VK_F2: ev->data.key.ch = CACA_KEY_F2; break;
303
case VK_F3: ev->data.key.ch = CACA_KEY_F3; break;
304
case VK_F4: ev->data.key.ch = CACA_KEY_F4; break;
305
case VK_F5: ev->data.key.ch = CACA_KEY_F5; break;
306
case VK_F6: ev->data.key.ch = CACA_KEY_F6; break;
307
case VK_F7: ev->data.key.ch = CACA_KEY_F7; break;
308
case VK_F8: ev->data.key.ch = CACA_KEY_F8; break;
309
case VK_F9: ev->data.key.ch = CACA_KEY_F9; break;
310
case VK_F10: ev->data.key.ch = CACA_KEY_F10; break;
311
case VK_F11: ev->data.key.ch = CACA_KEY_F11; break;
312
case VK_F12: ev->data.key.ch = CACA_KEY_F12; break;
313
case VK_F13: ev->data.key.ch = CACA_KEY_F13; break;
314
case VK_F14: ev->data.key.ch = CACA_KEY_F14; break;
315
case VK_F15: ev->data.key.ch = CACA_KEY_F15; break;
317
case VK_NUMPAD0: ev->data.key.ch = '0'; break;
318
case VK_NUMPAD1: ev->data.key.ch = '1'; break;
319
case VK_NUMPAD2: ev->data.key.ch = '2'; break;
320
case VK_NUMPAD3: ev->data.key.ch = '3'; break;
321
case VK_NUMPAD4: ev->data.key.ch = '4'; break;
322
case VK_NUMPAD5: ev->data.key.ch = '5'; break;
323
case VK_NUMPAD6: ev->data.key.ch = '6'; break;
324
case VK_NUMPAD7: ev->data.key.ch = '7'; break;
325
case VK_NUMPAD8: ev->data.key.ch = '8'; break;
326
case VK_NUMPAD9: ev->data.key.ch = '9'; break;
327
case VK_MULTIPLY: ev->data.key.ch = '*'; break;
328
case VK_ADD: ev->data.key.ch = '+'; break;
329
case VK_SEPARATOR: ev->data.key.ch = ','; break;
330
case VK_SUBTRACT: ev->data.key.ch = '-'; break;
331
case VK_DECIMAL: ev->data.key.ch = '.'; break;
332
case VK_DIVIDE: ev->data.key.ch = '/'; break;
334
default: ev->type = CACA_EVENT_NONE; return 0;
337
if ((ev->data.key.ch > 0)
339
(ev->data.key.ch <= 0x7f))
341
ev->data.key.utf32 = (uint32_t)ev->data.key.ch;
342
ev->data.key.utf8[0] = ev->data.key.ch;
343
ev->data.key.utf8[1] = '\0';
347
ev->data.key.utf32 = 0;
348
ev->data.key.utf8[0] = '\0';
282
355
if(rec.EventType == MOUSE_EVENT)