... |
... |
@@ -71,10 +71,6 @@ |
71
|
71
|
static
|
72
|
72
|
Translator key_translators[] =
|
73
|
73
|
{
|
74
|
|
- { VK_BACK, grKeyBackSpace },
|
75
|
|
- { VK_TAB, grKeyTab },
|
76
|
|
- { VK_RETURN, grKeyReturn },
|
77
|
|
- { VK_ESCAPE, grKeyEsc },
|
78
|
74
|
{ VK_HOME, grKeyHome },
|
79
|
75
|
{ VK_LEFT, grKeyLeft },
|
80
|
76
|
{ VK_UP, grKeyUp },
|
... |
... |
@@ -398,23 +394,6 @@ gr_win32_surface_listen_event( grWin32Surface* surface, |
398
|
394
|
}
|
399
|
395
|
break;
|
400
|
396
|
|
401
|
|
- case WM_KEYDOWN:
|
402
|
|
- case WM_SYSKEYDOWN:
|
403
|
|
- {
|
404
|
|
- Translator* trans = key_translators;
|
405
|
|
- Translator* limit = trans + sizeof( key_translators ) /
|
406
|
|
- sizeof( key_translators[0] );
|
407
|
|
- for ( ; trans < limit; trans++ )
|
408
|
|
- if ( msg.wParam == trans->winkey )
|
409
|
|
- {
|
410
|
|
- grevent->type = gr_event_key;
|
411
|
|
- grevent->key = trans->grkey;
|
412
|
|
- LOG(( "KeyPress: VK = 0x%02x\n", msg.wParam ));
|
413
|
|
- return;
|
414
|
|
- }
|
415
|
|
- }
|
416
|
|
- break;
|
417
|
|
-
|
418
|
397
|
case WM_CHAR:
|
419
|
398
|
{
|
420
|
399
|
grevent->type = gr_event_key;
|
... |
... |
@@ -680,6 +659,22 @@ LRESULT CALLBACK Message_Process( HWND handle, UINT mess, |
680
|
659
|
|
681
|
660
|
case WM_KEYDOWN:
|
682
|
661
|
case WM_SYSKEYDOWN:
|
|
662
|
+ {
|
|
663
|
+ Translator* trans = key_translators;
|
|
664
|
+ Translator* limit = trans + sizeof( key_translators ) /
|
|
665
|
+ sizeof( key_translators[0] );
|
|
666
|
+
|
|
667
|
+ for ( ; trans < limit; trans++ )
|
|
668
|
+ if ( wParam == trans->winkey )
|
|
669
|
+ {
|
|
670
|
+ /* repost to the main thread */
|
|
671
|
+ PostThreadMessage( surface->host, WM_CHAR, trans->grkey, 0 );
|
|
672
|
+ LOG(( "KeyPress: VK = 0x%02x\n", wParam ));
|
|
673
|
+ break;
|
|
674
|
+ }
|
|
675
|
+ }
|
|
676
|
+ break;
|
|
677
|
+
|
683
|
678
|
case WM_CHAR:
|
684
|
679
|
/* repost to the main thread */
|
685
|
680
|
PostThreadMessage( surface->host, mess, wParam, lParam );
|