Title: [245849] trunk/Source/WebCore
Revision
245849
Author
[email protected]
Date
2019-05-29 06:07:02 -0700 (Wed, 29 May 2019)

Log Message

PlatformEventKeyboardGtk still uses old key aliases
https://bugs.webkit.org/show_bug.cgi?id=198326

Patch by Ludovico de Nittis <[email protected]> on 2019-05-29
Reviewed by Carlos Garcia Campos.

No behavior change.

Use the new key names convention prepending "KEY_".

* platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::keyIdentifierForGdkKeyCode):
(WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode):
(WebCore::PlatformKeyboardEvent::singleCharacterString):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (245848 => 245849)


--- trunk/Source/WebCore/ChangeLog	2019-05-29 06:00:40 UTC (rev 245848)
+++ trunk/Source/WebCore/ChangeLog	2019-05-29 13:07:02 UTC (rev 245849)
@@ -1,3 +1,20 @@
+2019-05-29  Ludovico de Nittis  <[email protected]>
+
+        PlatformEventKeyboardGtk still uses old key aliases
+        https://bugs.webkit.org/show_bug.cgi?id=198326
+
+        Reviewed by Carlos Garcia Campos.
+
+        No behavior change.
+
+        Use the new key names convention prepending "KEY_".
+
+        * platform/gtk/PlatformKeyboardEventGtk.cpp:
+        (WebCore::PlatformKeyboardEvent::keyIdentifierForGdkKeyCode):
+        (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode):
+        (WebCore::PlatformKeyboardEvent::singleCharacterString):
+        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+
 2019-05-28  Yacine Bandou  <[email protected]>
 
         [MSE][GStreamer] update the readyState correctly in MediaPlayerPrivateGStreamerMSE

Modified: trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp (245848 => 245849)


--- trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp	2019-05-29 06:00:40 UTC (rev 245848)
+++ trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp	2019-05-29 13:07:02 UTC (rev 245849)
@@ -776,106 +776,106 @@
 String PlatformKeyboardEvent::keyIdentifierForGdkKeyCode(unsigned keyCode)
 {
     switch (keyCode) {
-        case GDK_Menu:
-        case GDK_Alt_L:
-        case GDK_Alt_R:
-            return "Alt";
-        case GDK_Clear:
-            return "Clear";
-        case GDK_Down:
-            return "Down";
-            // "End"
-        case GDK_End:
-            return "End";
-            // "Enter"
-        case GDK_ISO_Enter:
-        case GDK_KP_Enter:
-        case GDK_Return:
-            return "Enter";
-        case GDK_Execute:
-            return "Execute";
-        case GDK_F1:
-            return "F1";
-        case GDK_F2:
-            return "F2";
-        case GDK_F3:
-            return "F3";
-        case GDK_F4:
-            return "F4";
-        case GDK_F5:
-            return "F5";
-        case GDK_F6:
-            return "F6";
-        case GDK_F7:
-            return "F7";
-        case GDK_F8:
-            return "F8";
-        case GDK_F9:
-            return "F9";
-        case GDK_F10:
-            return "F10";
-        case GDK_F11:
-            return "F11";
-        case GDK_F12:
-            return "F12";
-        case GDK_F13:
-            return "F13";
-        case GDK_F14:
-            return "F14";
-        case GDK_F15:
-            return "F15";
-        case GDK_F16:
-            return "F16";
-        case GDK_F17:
-            return "F17";
-        case GDK_F18:
-            return "F18";
-        case GDK_F19:
-            return "F19";
-        case GDK_F20:
-            return "F20";
-        case GDK_F21:
-            return "F21";
-        case GDK_F22:
-            return "F22";
-        case GDK_F23:
-            return "F23";
-        case GDK_F24:
-            return "F24";
-        case GDK_Help:
-            return "Help";
-        case GDK_Home:
-            return "Home";
-        case GDK_Insert:
-            return "Insert";
-        case GDK_Left:
-            return "Left";
-        case GDK_Page_Down:
-            return "PageDown";
-        case GDK_Page_Up:
-            return "PageUp";
-        case GDK_Pause:
-            return "Pause";
-        case GDK_3270_PrintScreen:
-        case GDK_Print:
-            return "PrintScreen";
-        case GDK_Right:
-            return "Right";
-        case GDK_Select:
-            return "Select";
-        case GDK_Up:
-            return "Up";
-            // Standard says that DEL becomes U+007F.
-        case GDK_Delete:
-            return "U+007F";
-        case GDK_BackSpace:
-            return "U+0008";
-        case GDK_ISO_Left_Tab:
-        case GDK_3270_BackTab:
-        case GDK_Tab:
-            return "U+0009";
-        default:
-            return makeString("U+", hex(gdk_keyval_to_unicode(gdk_keyval_to_upper(keyCode)), 4));
+    case GDK_KEY_Menu:
+    case GDK_KEY_Alt_L:
+    case GDK_KEY_Alt_R:
+        return "Alt";
+    case GDK_KEY_Clear:
+        return "Clear";
+    case GDK_KEY_Down:
+        return "Down";
+        // "End"
+    case GDK_KEY_End:
+        return "End";
+        // "Enter"
+    case GDK_KEY_ISO_Enter:
+    case GDK_KEY_KP_Enter:
+    case GDK_KEY_Return:
+        return "Enter";
+    case GDK_KEY_Execute:
+        return "Execute";
+    case GDK_KEY_F1:
+        return "F1";
+    case GDK_KEY_F2:
+        return "F2";
+    case GDK_KEY_F3:
+        return "F3";
+    case GDK_KEY_F4:
+        return "F4";
+    case GDK_KEY_F5:
+        return "F5";
+    case GDK_KEY_F6:
+        return "F6";
+    case GDK_KEY_F7:
+        return "F7";
+    case GDK_KEY_F8:
+        return "F8";
+    case GDK_KEY_F9:
+        return "F9";
+    case GDK_KEY_F10:
+        return "F10";
+    case GDK_KEY_F11:
+        return "F11";
+    case GDK_KEY_F12:
+        return "F12";
+    case GDK_KEY_F13:
+        return "F13";
+    case GDK_KEY_F14:
+        return "F14";
+    case GDK_KEY_F15:
+        return "F15";
+    case GDK_KEY_F16:
+        return "F16";
+    case GDK_KEY_F17:
+        return "F17";
+    case GDK_KEY_F18:
+        return "F18";
+    case GDK_KEY_F19:
+        return "F19";
+    case GDK_KEY_F20:
+        return "F20";
+    case GDK_KEY_F21:
+        return "F21";
+    case GDK_KEY_F22:
+        return "F22";
+    case GDK_KEY_F23:
+        return "F23";
+    case GDK_KEY_F24:
+        return "F24";
+    case GDK_KEY_Help:
+        return "Help";
+    case GDK_KEY_Home:
+        return "Home";
+    case GDK_KEY_Insert:
+        return "Insert";
+    case GDK_KEY_Left:
+        return "Left";
+    case GDK_KEY_Page_Down:
+        return "PageDown";
+    case GDK_KEY_Page_Up:
+        return "PageUp";
+    case GDK_KEY_Pause:
+        return "Pause";
+    case GDK_KEY_3270_PrintScreen:
+    case GDK_KEY_Print:
+        return "PrintScreen";
+    case GDK_KEY_Right:
+        return "Right";
+    case GDK_KEY_Select:
+        return "Select";
+    case GDK_KEY_Up:
+        return "Up";
+        // Standard says that DEL becomes U+007F.
+    case GDK_KEY_Delete:
+        return "U+007F";
+    case GDK_KEY_BackSpace:
+        return "U+0008";
+    case GDK_KEY_ISO_Left_Tab:
+    case GDK_KEY_3270_BackTab:
+    case GDK_KEY_Tab:
+        return "U+0009";
+    default:
+        return makeString("U+", hex(gdk_keyval_to_unicode(gdk_keyval_to_upper(keyCode)), 4));
     }
 }
 
@@ -882,414 +882,414 @@
 int PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode(unsigned keycode)
 {
     switch (keycode) {
-        case GDK_KEY_Cancel:
-            return 0x03; // (03) The Cancel key
-        case GDK_KP_0:
-            return VK_NUMPAD0;// (60) Numeric keypad 0 key
-        case GDK_KP_1:
-            return VK_NUMPAD1;// (61) Numeric keypad 1 key
-        case GDK_KP_2:
-            return  VK_NUMPAD2; // (62) Numeric keypad 2 key
-        case GDK_KP_3:
-            return VK_NUMPAD3; // (63) Numeric keypad 3 key
-        case GDK_KP_4:
-            return VK_NUMPAD4; // (64) Numeric keypad 4 key
-        case GDK_KP_5:
-            return VK_NUMPAD5; //(65) Numeric keypad 5 key
-        case GDK_KP_6:
-            return VK_NUMPAD6; // (66) Numeric keypad 6 key
-        case GDK_KP_7:
-            return VK_NUMPAD7; // (67) Numeric keypad 7 key
-        case GDK_KP_8:
-            return VK_NUMPAD8; // (68) Numeric keypad 8 key
-        case GDK_KP_9:
-            return VK_NUMPAD9; // (69) Numeric keypad 9 key
-        case GDK_KP_Multiply:
-            return VK_MULTIPLY; // (6A) Multiply key
-        case GDK_KP_Add:
-            return VK_ADD; // (6B) Add key
-        case GDK_KP_Subtract:
-            return VK_SUBTRACT; // (6D) Subtract key
-        case GDK_KP_Decimal:
-            return VK_DECIMAL; // (6E) Decimal key
-        case GDK_KP_Divide:
-            return VK_DIVIDE; // (6F) Divide key
+    case GDK_KEY_Cancel:
+        return 0x03; // (03) The Cancel key
+    case GDK_KEY_KP_0:
+        return VK_NUMPAD0; // (60) Numeric keypad 0 key
+    case GDK_KEY_KP_1:
+        return VK_NUMPAD1; // (61) Numeric keypad 1 key
+    case GDK_KEY_KP_2:
+        return VK_NUMPAD2; // (62) Numeric keypad 2 key
+    case GDK_KEY_KP_3:
+        return VK_NUMPAD3; // (63) Numeric keypad 3 key
+    case GDK_KEY_KP_4:
+        return VK_NUMPAD4; // (64) Numeric keypad 4 key
+    case GDK_KEY_KP_5:
+        return VK_NUMPAD5; // (65) Numeric keypad 5 key
+    case GDK_KEY_KP_6:
+        return VK_NUMPAD6; // (66) Numeric keypad 6 key
+    case GDK_KEY_KP_7:
+        return VK_NUMPAD7; // (67) Numeric keypad 7 key
+    case GDK_KEY_KP_8:
+        return VK_NUMPAD8; // (68) Numeric keypad 8 key
+    case GDK_KEY_KP_9:
+        return VK_NUMPAD9; // (69) Numeric keypad 9 key
+    case GDK_KEY_KP_Multiply:
+        return VK_MULTIPLY; // (6A) Multiply key
+    case GDK_KEY_KP_Add:
+        return VK_ADD; // (6B) Add key
+    case GDK_KEY_KP_Subtract:
+        return VK_SUBTRACT; // (6D) Subtract key
+    case GDK_KEY_KP_Decimal:
+        return VK_DECIMAL; // (6E) Decimal key
+    case GDK_KEY_KP_Divide:
+        return VK_DIVIDE; // (6F) Divide key
 
-        case GDK_KP_Page_Up:
-            return VK_PRIOR; // (21) PAGE UP key
-        case GDK_KP_Page_Down:
-            return VK_NEXT; // (22) PAGE DOWN key
-        case GDK_KP_End:
-            return VK_END; // (23) END key
-        case GDK_KP_Home:
-            return VK_HOME; // (24) HOME key
-        case GDK_KP_Left:
-            return VK_LEFT; // (25) LEFT ARROW key
-        case GDK_KP_Up:
-            return VK_UP; // (26) UP ARROW key
-        case GDK_KP_Right:
-            return VK_RIGHT; // (27) RIGHT ARROW key
-        case GDK_KP_Down:
-            return VK_DOWN; // (28) DOWN ARROW key
+    case GDK_KEY_KP_Page_Up:
+        return VK_PRIOR; // (21) PAGE UP key
+    case GDK_KEY_KP_Page_Down:
+        return VK_NEXT; // (22) PAGE DOWN key
+    case GDK_KEY_KP_End:
+        return VK_END; // (23) END key
+    case GDK_KEY_KP_Home:
+        return VK_HOME; // (24) HOME key
+    case GDK_KEY_KP_Left:
+        return VK_LEFT; // (25) LEFT ARROW key
+    case GDK_KEY_KP_Up:
+        return VK_UP; // (26) UP ARROW key
+    case GDK_KEY_KP_Right:
+        return VK_RIGHT; // (27) RIGHT ARROW key
+    case GDK_KEY_KP_Down:
+        return VK_DOWN; // (28) DOWN ARROW key
 
-        case GDK_BackSpace:
-            return VK_BACK; // (08) BACKSPACE key
-        case GDK_ISO_Left_Tab:
-        case GDK_3270_BackTab:
-        case GDK_Tab:
-            return VK_TAB; // (09) TAB key
-        case GDK_Clear:
-            return VK_CLEAR; // (0C) CLEAR key
-        case GDK_ISO_Enter:
-        case GDK_KP_Enter:
-        case GDK_Return:
-            return VK_RETURN; //(0D) Return key
+    case GDK_KEY_BackSpace:
+        return VK_BACK; // (08) BACKSPACE key
+    case GDK_KEY_ISO_Left_Tab:
+    case GDK_KEY_3270_BackTab:
+    case GDK_KEY_Tab:
+        return VK_TAB; // (09) TAB key
+    case GDK_KEY_Clear:
+        return VK_CLEAR; // (0C) CLEAR key
+    case GDK_KEY_ISO_Enter:
+    case GDK_KEY_KP_Enter:
+    case GDK_KEY_Return:
+        return VK_RETURN; // (0D) Return key
 
-            // VK_SHIFT (10) SHIFT key
-            // VK_CONTROL (11) CTRL key
+        // VK_SHIFT (10) SHIFT key
+        // VK_CONTROL (11) CTRL key
 
-        case GDK_Menu:
-            return VK_APPS;  // (5D) Applications key (Natural keyboard)
+    case GDK_KEY_Menu:
+        return VK_APPS; // (5D) Applications key (Natural keyboard)
 
-            // VK_MENU (12) ALT key
+        // VK_MENU (12) ALT key
 
-        case GDK_Pause:
-        case GDK_KEY_AudioPause:
-            return VK_PAUSE; // (13) PAUSE key
-        case GDK_Caps_Lock:
-            return VK_CAPITAL; // (14) CAPS LOCK key
-        case GDK_Kana_Lock:
-        case GDK_Kana_Shift:
-            return VK_KANA; // (15) Input Method Editor (IME) Kana mode
-        case GDK_Hangul:
-            return VK_HANGUL; // VK_HANGUL (15) IME Hangul mode
-            // VK_JUNJA (17) IME Junja mode
-            // VK_FINAL (18) IME final mode
-        case GDK_Hangul_Hanja:
-            return VK_HANJA; // (19) IME Hanja mode
-        case GDK_Kanji:
-            return VK_KANJI; // (19) IME Kanji mode
-        case GDK_Escape:
-            return VK_ESCAPE; // (1B) ESC key
-            // VK_CONVERT (1C) IME convert
-            // VK_NONCONVERT (1D) IME nonconvert
-            // VK_ACCEPT (1E) IME accept
-            // VK_MODECHANGE (1F) IME mode change request
-        case GDK_space:
-            return VK_SPACE; // (20) SPACEBAR
-        case GDK_Page_Up:
-            return VK_PRIOR; // (21) PAGE UP key
-        case GDK_Page_Down:
-            return VK_NEXT; // (22) PAGE DOWN key
-        case GDK_End:
-            return VK_END; // (23) END key
-        case GDK_Home:
-            return VK_HOME; // (24) HOME key
-        case GDK_Left:
-            return VK_LEFT; // (25) LEFT ARROW key
-        case GDK_Up:
-            return VK_UP; // (26) UP ARROW key
-        case GDK_Right:
-            return VK_RIGHT; // (27) RIGHT ARROW key
-        case GDK_Down:
-            return VK_DOWN; // (28) DOWN ARROW key
-        case GDK_Select:
-            return VK_SELECT; // (29) SELECT key
-        case GDK_Print:
-            return VK_SNAPSHOT; // (2C) PRINT SCREEN key
-        case GDK_Execute:
-            return VK_EXECUTE;// (2B) EXECUTE key
-        case GDK_Insert:
-        case GDK_KP_Insert:
-            return VK_INSERT; // (2D) INS key
-        case GDK_Delete:
-        case GDK_KP_Delete:
-            return VK_DELETE; // (2E) DEL key
-        case GDK_Help:
-            return VK_HELP; // (2F) HELP key
-        case GDK_0:
-        case GDK_parenright:
-            return VK_0;    //  (30) 0) key
-        case GDK_1:
-        case GDK_exclam:
-            return VK_1; //  (31) 1 ! key
-        case GDK_2:
-        case GDK_at:
-            return VK_2; //  (32) 2 & key
-        case GDK_3:
-        case GDK_numbersign:
-            return VK_3; //case '3': case '#';
-        case GDK_4:
-        case GDK_dollar: //  (34) 4 key '$';
-            return VK_4;
-        case GDK_5:
-        case GDK_percent:
-            return VK_5; //  (35) 5 key  '%'
-        case GDK_6:
-        case GDK_asciicircum:
-            return VK_6; //  (36) 6 key  '^'
-        case GDK_7:
-        case GDK_ampersand:
-            return VK_7; //  (37) 7 key  case '&'
-        case GDK_8:
-        case GDK_asterisk:
-            return VK_8; //  (38) 8 key  '*'
-        case GDK_9:
-        case GDK_parenleft:
-            return VK_9; //  (39) 9 key '('
-        case GDK_a:
-        case GDK_A:
-            return VK_A; //  (41) A key case 'a': case 'A': return 0x41;
-        case GDK_b:
-        case GDK_B:
-            return VK_B; //  (42) B key case 'b': case 'B': return 0x42;
-        case GDK_c:
-        case GDK_C:
-            return VK_C; //  (43) C key case 'c': case 'C': return 0x43;
-        case GDK_d:
-        case GDK_D:
-            return VK_D; //  (44) D key case 'd': case 'D': return 0x44;
-        case GDK_e:
-        case GDK_E:
-            return VK_E; //  (45) E key case 'e': case 'E': return 0x45;
-        case GDK_f:
-        case GDK_F:
-            return VK_F; //  (46) F key case 'f': case 'F': return 0x46;
-        case GDK_g:
-        case GDK_G:
-            return VK_G; //  (47) G key case 'g': case 'G': return 0x47;
-        case GDK_h:
-        case GDK_H:
-            return VK_H; //  (48) H key case 'h': case 'H': return 0x48;
-        case GDK_i:
-        case GDK_I:
-            return VK_I; //  (49) I key case 'i': case 'I': return 0x49;
-        case GDK_j:
-        case GDK_J:
-            return VK_J; //  (4A) J key case 'j': case 'J': return 0x4A;
-        case GDK_k:
-        case GDK_K:
-            return VK_K; //  (4B) K key case 'k': case 'K': return 0x4B;
-        case GDK_l:
-        case GDK_L:
-            return VK_L; //  (4C) L key case 'l': case 'L': return 0x4C;
-        case GDK_m:
-        case GDK_M:
-            return VK_M; //  (4D) M key case 'm': case 'M': return 0x4D;
-        case GDK_n:
-        case GDK_N:
-            return VK_N; //  (4E) N key case 'n': case 'N': return 0x4E;
-        case GDK_o:
-        case GDK_O:
-            return VK_O; //  (4F) O key case 'o': case 'O': return 0x4F;
-        case GDK_p:
-        case GDK_P:
-            return VK_P; //  (50) P key case 'p': case 'P': return 0x50;
-        case GDK_q:
-        case GDK_Q:
-            return VK_Q; //  (51) Q key case 'q': case 'Q': return 0x51;
-        case GDK_r:
-        case GDK_R:
-            return VK_R; //  (52) R key case 'r': case 'R': return 0x52;
-        case GDK_s:
-        case GDK_S:
-            return VK_S; //  (53) S key case 's': case 'S': return 0x53;
-        case GDK_t:
-        case GDK_T:
-            return VK_T; //  (54) T key case 't': case 'T': return 0x54;
-        case GDK_u:
-        case GDK_U:
-            return VK_U; //  (55) U key case 'u': case 'U': return 0x55;
-        case GDK_v:
-        case GDK_V:
-            return VK_V; //  (56) V key case 'v': case 'V': return 0x56;
-        case GDK_w:
-        case GDK_W:
-            return VK_W; //  (57) W key case 'w': case 'W': return 0x57;
-        case GDK_x:
-        case GDK_X:
-            return VK_X; //  (58) X key case 'x': case 'X': return 0x58;
-        case GDK_y:
-        case GDK_Y:
-            return VK_Y; //  (59) Y key case 'y': case 'Y': return 0x59;
-        case GDK_z:
-        case GDK_Z:
-            return VK_Z; //  (5A) Z key case 'z': case 'Z': return 0x5A;
-        case GDK_Meta_L:
-            return VK_LWIN; // (5B) Left Windows key (Microsoft Natural keyboard)
-        case GDK_Meta_R:
-            return VK_RWIN; // (5C) Right Windows key (Natural keyboard)
-        case GDK_KEY_Sleep:
-            return VK_SLEEP; // (5F) Computer Sleep key
-            // VK_SEPARATOR (6C) Separator key
-            // VK_SUBTRACT (6D) Subtract key
-            // VK_DECIMAL (6E) Decimal key
-            // VK_DIVIDE (6F) Divide key
-            // handled by key code above
+    case GDK_KEY_Pause:
+    case GDK_KEY_AudioPause:
+        return VK_PAUSE; // (13) PAUSE key
+    case GDK_KEY_Caps_Lock:
+        return VK_CAPITAL; // (14) CAPS LOCK key
+    case GDK_KEY_Kana_Lock:
+    case GDK_KEY_Kana_Shift:
+        return VK_KANA; // (15) Input Method Editor (IME) Kana mode
+    case GDK_KEY_Hangul:
+        return VK_HANGUL; // VK_HANGUL (15) IME Hangul mode
+        // VK_JUNJA (17) IME Junja mode
+        // VK_FINAL (18) IME final mode
+    case GDK_KEY_Hangul_Hanja:
+        return VK_HANJA; // (19) IME Hanja mode
+    case GDK_KEY_Kanji:
+        return VK_KANJI; // (19) IME Kanji mode
+    case GDK_KEY_Escape:
+        return VK_ESCAPE; // (1B) ESC key
+        // VK_CONVERT (1C) IME convert
+        // VK_NONCONVERT (1D) IME nonconvert
+        // VK_ACCEPT (1E) IME accept
+        // VK_MODECHANGE (1F) IME mode change request
+    case GDK_KEY_space:
+        return VK_SPACE; // (20) SPACEBAR
+    case GDK_KEY_Page_Up:
+        return VK_PRIOR; // (21) PAGE UP key
+    case GDK_KEY_Page_Down:
+        return VK_NEXT; // (22) PAGE DOWN key
+    case GDK_KEY_End:
+        return VK_END; // (23) END key
+    case GDK_KEY_Home:
+        return VK_HOME; // (24) HOME key
+    case GDK_KEY_Left:
+        return VK_LEFT; // (25) LEFT ARROW key
+    case GDK_KEY_Up:
+        return VK_UP; // (26) UP ARROW key
+    case GDK_KEY_Right:
+        return VK_RIGHT; // (27) RIGHT ARROW key
+    case GDK_KEY_Down:
+        return VK_DOWN; // (28) DOWN ARROW key
+    case GDK_KEY_Select:
+        return VK_SELECT; // (29) SELECT key
+    case GDK_KEY_Print:
+        return VK_SNAPSHOT; // (2C) PRINT SCREEN key
+    case GDK_KEY_Execute:
+        return VK_EXECUTE; // (2B) EXECUTE key
+    case GDK_KEY_Insert:
+    case GDK_KEY_KP_Insert:
+        return VK_INSERT; // (2D) INS key
+    case GDK_KEY_Delete:
+    case GDK_KEY_KP_Delete:
+        return VK_DELETE; // (2E) DEL key
+    case GDK_KEY_Help:
+        return VK_HELP; // (2F) HELP key
+    case GDK_KEY_0:
+    case GDK_KEY_parenright:
+        return VK_0; //  (30) 0) key
+    case GDK_KEY_1:
+    case GDK_KEY_exclam:
+        return VK_1; //  (31) 1 ! key
+    case GDK_KEY_2:
+    case GDK_KEY_at:
+        return VK_2; //  (32) 2 & key
+    case GDK_KEY_3:
+    case GDK_KEY_numbersign:
+        return VK_3; // case '3': case '#';
+    case GDK_KEY_4:
+    case GDK_KEY_dollar: //  (34) 4 key '$';
+        return VK_4;
+    case GDK_KEY_5:
+    case GDK_KEY_percent:
+        return VK_5; //  (35) 5 key  '%'
+    case GDK_KEY_6:
+    case GDK_KEY_asciicircum:
+        return VK_6; //  (36) 6 key  '^'
+    case GDK_KEY_7:
+    case GDK_KEY_ampersand:
+        return VK_7; //  (37) 7 key  case '&'
+    case GDK_KEY_8:
+    case GDK_KEY_asterisk:
+        return VK_8; //  (38) 8 key  '*'
+    case GDK_KEY_9:
+    case GDK_KEY_parenleft:
+        return VK_9; //  (39) 9 key '('
+    case GDK_KEY_a:
+    case GDK_KEY_A:
+        return VK_A; //  (41) A key case 'a': case 'A': return 0x41;
+    case GDK_KEY_b:
+    case GDK_KEY_B:
+        return VK_B; //  (42) B key case 'b': case 'B': return 0x42;
+    case GDK_KEY_c:
+    case GDK_KEY_C:
+        return VK_C; //  (43) C key case 'c': case 'C': return 0x43;
+    case GDK_KEY_d:
+    case GDK_KEY_D:
+        return VK_D; //  (44) D key case 'd': case 'D': return 0x44;
+    case GDK_KEY_e:
+    case GDK_KEY_E:
+        return VK_E; //  (45) E key case 'e': case 'E': return 0x45;
+    case GDK_KEY_f:
+    case GDK_KEY_F:
+        return VK_F; //  (46) F key case 'f': case 'F': return 0x46;
+    case GDK_KEY_g:
+    case GDK_KEY_G:
+        return VK_G; //  (47) G key case 'g': case 'G': return 0x47;
+    case GDK_KEY_h:
+    case GDK_KEY_H:
+        return VK_H; //  (48) H key case 'h': case 'H': return 0x48;
+    case GDK_KEY_i:
+    case GDK_KEY_I:
+        return VK_I; //  (49) I key case 'i': case 'I': return 0x49;
+    case GDK_KEY_j:
+    case GDK_KEY_J:
+        return VK_J; //  (4A) J key case 'j': case 'J': return 0x4A;
+    case GDK_KEY_k:
+    case GDK_KEY_K:
+        return VK_K; //  (4B) K key case 'k': case 'K': return 0x4B;
+    case GDK_KEY_l:
+    case GDK_KEY_L:
+        return VK_L; //  (4C) L key case 'l': case 'L': return 0x4C;
+    case GDK_KEY_m:
+    case GDK_KEY_M:
+        return VK_M; //  (4D) M key case 'm': case 'M': return 0x4D;
+    case GDK_KEY_n:
+    case GDK_KEY_N:
+        return VK_N; //  (4E) N key case 'n': case 'N': return 0x4E;
+    case GDK_KEY_o:
+    case GDK_KEY_O:
+        return VK_O; //  (4F) O key case 'o': case 'O': return 0x4F;
+    case GDK_KEY_p:
+    case GDK_KEY_P:
+        return VK_P; //  (50) P key case 'p': case 'P': return 0x50;
+    case GDK_KEY_q:
+    case GDK_KEY_Q:
+        return VK_Q; //  (51) Q key case 'q': case 'Q': return 0x51;
+    case GDK_KEY_r:
+    case GDK_KEY_R:
+        return VK_R; //  (52) R key case 'r': case 'R': return 0x52;
+    case GDK_KEY_s:
+    case GDK_KEY_S:
+        return VK_S; //  (53) S key case 's': case 'S': return 0x53;
+    case GDK_KEY_t:
+    case GDK_KEY_T:
+        return VK_T; //  (54) T key case 't': case 'T': return 0x54;
+    case GDK_KEY_u:
+    case GDK_KEY_U:
+        return VK_U; //  (55) U key case 'u': case 'U': return 0x55;
+    case GDK_KEY_v:
+    case GDK_KEY_V:
+        return VK_V; //  (56) V key case 'v': case 'V': return 0x56;
+    case GDK_KEY_w:
+    case GDK_KEY_W:
+        return VK_W; //  (57) W key case 'w': case 'W': return 0x57;
+    case GDK_KEY_x:
+    case GDK_KEY_X:
+        return VK_X; //  (58) X key case 'x': case 'X': return 0x58;
+    case GDK_KEY_y:
+    case GDK_KEY_Y:
+        return VK_Y; //  (59) Y key case 'y': case 'Y': return 0x59;
+    case GDK_KEY_z:
+    case GDK_KEY_Z:
+        return VK_Z; //  (5A) Z key case 'z': case 'Z': return 0x5A;
+    case GDK_KEY_Meta_L:
+        return VK_LWIN; // (5B) Left Windows key (Microsoft Natural keyboard)
+    case GDK_KEY_Meta_R:
+        return VK_RWIN; // (5C) Right Windows key (Natural keyboard)
+    case GDK_KEY_Sleep:
+        return VK_SLEEP; // (5F) Computer Sleep key
+        // VK_SEPARATOR (6C) Separator key
+        // VK_SUBTRACT (6D) Subtract key
+        // VK_DECIMAL (6E) Decimal key
+        // VK_DIVIDE (6F) Divide key
+        // handled by key code above
 
-        case GDK_Num_Lock:
-            return VK_NUMLOCK; // (90) NUM LOCK key
+    case GDK_KEY_Num_Lock:
+        return VK_NUMLOCK; // (90) NUM LOCK key
 
-        case GDK_Scroll_Lock:
-            return VK_SCROLL; // (91) SCROLL LOCK key
+    case GDK_KEY_Scroll_Lock:
+        return VK_SCROLL; // (91) SCROLL LOCK key
 
-        case GDK_Shift_L:
-            return VK_LSHIFT; // (A0) Left SHIFT key
-        case GDK_Shift_R:
-            return VK_RSHIFT; // (A1) Right SHIFT key
-        case GDK_Control_L:
-            return VK_LCONTROL; // (A2) Left CONTROL key
-        case GDK_Control_R:
-            return VK_RCONTROL; // (A3) Right CONTROL key
-        case GDK_Alt_L:
-            return VK_LMENU; // (A4) Left MENU key
-        case GDK_Alt_R:
-            return VK_RMENU; // (A5) Right MENU key
+    case GDK_KEY_Shift_L:
+        return VK_LSHIFT; // (A0) Left SHIFT key
+    case GDK_KEY_Shift_R:
+        return VK_RSHIFT; // (A1) Right SHIFT key
+    case GDK_KEY_Control_L:
+        return VK_LCONTROL; // (A2) Left CONTROL key
+    case GDK_KEY_Control_R:
+        return VK_RCONTROL; // (A3) Right CONTROL key
+    case GDK_KEY_Alt_L:
+        return VK_LMENU; // (A4) Left MENU key
+    case GDK_KEY_Alt_R:
+        return VK_RMENU; // (A5) Right MENU key
 
-        case GDK_KEY_Back:
-            return VK_BROWSER_BACK; // VK_BROWSER_BACK (A6) Windows 2000/XP: Browser Back key
-        case GDK_KEY_Forward:
-            return VK_BROWSER_FORWARD; // (A7) Windows 2000/XP: Browser Forward key
-        case GDK_KEY_Refresh:
-            return VK_BROWSER_REFRESH; // (A8) Windows 2000/XP: Browser Refresh key
-        case GDK_KEY_Stop:
-            return VK_BROWSER_STOP; // (A9) Windows 2000/XP: Browser Stop key
-        case GDK_KEY_Search:
-            return VK_BROWSER_SEARCH; // (AA) Windows 2000/XP: Browser Search key
-        case GDK_KEY_Favorites:
-            return VK_BROWSER_FAVORITES; // (AB) Windows 2000/XP: Browser Favorites key
-        case GDK_KEY_HomePage:
-            return VK_BROWSER_HOME; // (AC) Windows 2000/XP: Browser Start and Home key
-        case GDK_KEY_AudioMute:
-            return VK_VOLUME_MUTE; // (AD) Windows 2000/XP: Volume Mute key
-        case GDK_KEY_AudioLowerVolume:
-            return VK_VOLUME_DOWN; // (AE) Windows 2000/XP: Volume Down key
-        case GDK_KEY_AudioRaiseVolume:
-            return VK_VOLUME_UP; // (AF) Windows 2000/XP: Volume Up key
-        case GDK_KEY_AudioNext:
-            return VK_MEDIA_NEXT_TRACK; // (B0) Windows 2000/XP: Next Track key
-        case GDK_KEY_AudioPrev:
-            return VK_MEDIA_PREV_TRACK; // (B1) Windows 2000/XP: Previous Track key
-        case GDK_KEY_AudioStop:
-            return VK_MEDIA_STOP; // (B2) Windows 2000/XP: Stop Media key
-            // VK_MEDIA_PLAY_PAUSE (B3) Windows 2000/XP: Play/Pause Media key
-            // VK_LAUNCH_MAIL (B4) Windows 2000/XP: Start Mail key
-        case GDK_KEY_AudioMedia:
-            return VK_MEDIA_LAUNCH_MEDIA_SELECT; // (B5) Windows 2000/XP: Select Media key
-            // VK_LAUNCH_APP1 (B6) Windows 2000/XP: Start Application 1 key
-            // VK_LAUNCH_APP2 (B7) Windows 2000/XP: Start Application 2 key
+    case GDK_KEY_Back:
+        return VK_BROWSER_BACK; // VK_BROWSER_BACK (A6) Windows 2000/XP: Browser Back key
+    case GDK_KEY_Forward:
+        return VK_BROWSER_FORWARD; // (A7) Windows 2000/XP: Browser Forward key
+    case GDK_KEY_Refresh:
+        return VK_BROWSER_REFRESH; // (A8) Windows 2000/XP: Browser Refresh key
+    case GDK_KEY_Stop:
+        return VK_BROWSER_STOP; // (A9) Windows 2000/XP: Browser Stop key
+    case GDK_KEY_Search:
+        return VK_BROWSER_SEARCH; // (AA) Windows 2000/XP: Browser Search key
+    case GDK_KEY_Favorites:
+        return VK_BROWSER_FAVORITES; // (AB) Windows 2000/XP: Browser Favorites key
+    case GDK_KEY_HomePage:
+        return VK_BROWSER_HOME; // (AC) Windows 2000/XP: Browser Start and Home key
+    case GDK_KEY_AudioMute:
+        return VK_VOLUME_MUTE; // (AD) Windows 2000/XP: Volume Mute key
+    case GDK_KEY_AudioLowerVolume:
+        return VK_VOLUME_DOWN; // (AE) Windows 2000/XP: Volume Down key
+    case GDK_KEY_AudioRaiseVolume:
+        return VK_VOLUME_UP; // (AF) Windows 2000/XP: Volume Up key
+    case GDK_KEY_AudioNext:
+        return VK_MEDIA_NEXT_TRACK; // (B0) Windows 2000/XP: Next Track key
+    case GDK_KEY_AudioPrev:
+        return VK_MEDIA_PREV_TRACK; // (B1) Windows 2000/XP: Previous Track key
+    case GDK_KEY_AudioStop:
+        return VK_MEDIA_STOP; // (B2) Windows 2000/XP: Stop Media key
+        // VK_MEDIA_PLAY_PAUSE (B3) Windows 2000/XP: Play/Pause Media key
+        // VK_LAUNCH_MAIL (B4) Windows 2000/XP: Start Mail key
+    case GDK_KEY_AudioMedia:
+        return VK_MEDIA_LAUNCH_MEDIA_SELECT; // (B5) Windows 2000/XP: Select Media key
+        // VK_LAUNCH_APP1 (B6) Windows 2000/XP: Start Application 1 key
+        // VK_LAUNCH_APP2 (B7) Windows 2000/XP: Start Application 2 key
 
-            // VK_OEM_1 (BA) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ';:' key
-        case GDK_semicolon:
-        case GDK_colon:
-            return VK_OEM_1; //case ';': case ':': return 0xBA;
-            // VK_OEM_PLUS (BB) Windows 2000/XP: For any country/region, the '+' key
-        case GDK_plus:
-        case GDK_equal:
-            return VK_OEM_PLUS; //case '=': case '+': return 0xBB;
-            // VK_OEM_COMMA (BC) Windows 2000/XP: For any country/region, the ',' key
-        case GDK_comma:
-        case GDK_less:
-            return VK_OEM_COMMA; //case ',': case '<': return 0xBC;
-            // VK_OEM_MINUS (BD) Windows 2000/XP: For any country/region, the '-' key
-        case GDK_minus:
-        case GDK_underscore:
-            return VK_OEM_MINUS; //case '-': case '_': return 0xBD;
-            // VK_OEM_PERIOD (BE) Windows 2000/XP: For any country/region, the '.' key
-        case GDK_period:
-        case GDK_greater:
-            return VK_OEM_PERIOD; //case '.': case '>': return 0xBE;
-            // VK_OEM_2 (BF) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '/?' key
-        case GDK_slash:
-        case GDK_question:
-            return VK_OEM_2; //case '/': case '?': return 0xBF;
-            // VK_OEM_3 (C0) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '`~' key
-        case GDK_asciitilde:
-        case GDK_quoteleft:
-            return VK_OEM_3; //case '`': case '~': return 0xC0;
-            // VK_OEM_4 (DB) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '[{' key
-        case GDK_bracketleft:
-        case GDK_braceleft:
-            return VK_OEM_4; //case '[': case '{': return 0xDB;
-            // VK_OEM_5 (DC) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '\|' key
-        case GDK_backslash:
-        case GDK_bar:
-            return VK_OEM_5; //case '\\': case '|': return 0xDC;
-            // VK_OEM_6 (DD) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ']}' key
-        case GDK_bracketright:
-        case GDK_braceright:
-            return VK_OEM_6; // case ']': case '}': return 0xDD;
-            // VK_OEM_7 (DE) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key
-        case GDK_quoteright:
-        case GDK_quotedbl:
-            return VK_OEM_7; // case '\'': case '"': return 0xDE;
-            // VK_OEM_8 (DF) Used for miscellaneous characters; it can vary by keyboard.
-            // VK_OEM_102 (E2) Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard
-        case GDK_KEY_AudioRewind:
-            return 0xE3; // (E3) Android/GoogleTV: Rewind media key (Windows: VK_ICO_HELP Help key on 1984 Olivetti M24 deluxe keyboard)
-        case GDK_KEY_AudioForward:
-            return 0xE4; // (E4) Android/GoogleTV: Fast forward media key  (Windows: VK_ICO_00 '00' key on 1984 Olivetti M24 deluxe keyboard)
-            // VK_PROCESSKEY (E5) Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
-            // VK_PACKET (E7) Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT,SendInput, WM_KEYDOWN, and WM_KEYUP
-            // VK_ATTN (F6) Attn key
-            // VK_CRSEL (F7) CrSel key
-            // VK_EXSEL (F8) ExSel key
-            // VK_EREOF (F9) Erase EOF key
-        case GDK_KEY_AudioPlay:
-            return VK_PLAY; // VK_PLAY (FA) Play key
-            // VK_ZOOM (FB) Zoom key
-            // VK_NONAME (FC) Reserved for future use
-            // VK_PA1 (FD) PA1 key
-            // VK_OEM_CLEAR (FE) Clear key
-        case GDK_F1:
-        case GDK_F2:
-        case GDK_F3:
-        case GDK_F4:
-        case GDK_F5:
-        case GDK_F6:
-        case GDK_F7:
-        case GDK_F8:
-        case GDK_F9:
-        case GDK_F10:
-        case GDK_F11:
-        case GDK_F12:
-        case GDK_F13:
-        case GDK_F14:
-        case GDK_F15:
-        case GDK_F16:
-        case GDK_F17:
-        case GDK_F18:
-        case GDK_F19:
-        case GDK_F20:
-        case GDK_F21:
-        case GDK_F22:
-        case GDK_F23:
-        case GDK_F24:
-            return VK_F1 + (keycode - GDK_F1);
-        case GDK_KEY_VoidSymbol:
-            return VK_PROCESSKEY;
+        // VK_OEM_1 (BA) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ';:' key
+    case GDK_KEY_semicolon:
+    case GDK_KEY_colon:
+        return VK_OEM_1; // case ';': case ':': return 0xBA;
+        // VK_OEM_PLUS (BB) Windows 2000/XP: For any country/region, the '+' key
+    case GDK_KEY_plus:
+    case GDK_KEY_equal:
+        return VK_OEM_PLUS; // case '=': case '+': return 0xBB;
+        // VK_OEM_COMMA (BC) Windows 2000/XP: For any country/region, the ',' key
+    case GDK_KEY_comma:
+    case GDK_KEY_less:
+        return VK_OEM_COMMA; // case ',': case '<': return 0xBC;
+        // VK_OEM_MINUS (BD) Windows 2000/XP: For any country/region, the '-' key
+    case GDK_KEY_minus:
+    case GDK_KEY_underscore:
+        return VK_OEM_MINUS; // case '-': case '_': return 0xBD;
+        // VK_OEM_PERIOD (BE) Windows 2000/XP: For any country/region, the '.' key
+    case GDK_KEY_period:
+    case GDK_KEY_greater:
+        return VK_OEM_PERIOD; // case '.': case '>': return 0xBE;
+        // VK_OEM_2 (BF) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '/?' key
+    case GDK_KEY_slash:
+    case GDK_KEY_question:
+        return VK_OEM_2; // case '/': case '?': return 0xBF;
+        // VK_OEM_3 (C0) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '`~' key
+    case GDK_KEY_asciitilde:
+    case GDK_KEY_quoteleft:
+        return VK_OEM_3; // case '`': case '~': return 0xC0;
+        // VK_OEM_4 (DB) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '[{' key
+    case GDK_KEY_bracketleft:
+    case GDK_KEY_braceleft:
+        return VK_OEM_4; // case '[': case '{': return 0xDB;
+        // VK_OEM_5 (DC) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '\|' key
+    case GDK_KEY_backslash:
+    case GDK_KEY_bar:
+        return VK_OEM_5; // case '\\': case '|': return 0xDC;
+        // VK_OEM_6 (DD) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ']}' key
+    case GDK_KEY_bracketright:
+    case GDK_KEY_braceright:
+        return VK_OEM_6; // case ']': case '}': return 0xDD;
+        // VK_OEM_7 (DE) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key
+    case GDK_KEY_quoteright:
+    case GDK_KEY_quotedbl:
+        return VK_OEM_7; // case '\'': case '"': return 0xDE;
+        // VK_OEM_8 (DF) Used for miscellaneous characters; it can vary by keyboard.
+        // VK_OEM_102 (E2) Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard
+    case GDK_KEY_AudioRewind:
+        return 0xE3; // (E3) Android/GoogleTV: Rewind media key (Windows: VK_ICO_HELP Help key on 1984 Olivetti M24 deluxe keyboard)
+    case GDK_KEY_AudioForward:
+        return 0xE4; // (E4) Android/GoogleTV: Fast forward media key  (Windows: VK_ICO_00 '00' key on 1984 Olivetti M24 deluxe keyboard)
+        // VK_PROCESSKEY (E5) Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
+        // VK_PACKET (E7) Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT,SendInput, WM_KEYDOWN, and WM_KEYUP
+        // VK_ATTN (F6) Attn key
+        // VK_CRSEL (F7) CrSel key
+        // VK_EXSEL (F8) ExSel key
+        // VK_EREOF (F9) Erase EOF key
+    case GDK_KEY_AudioPlay:
+        return VK_PLAY; // VK_PLAY (FA) Play key
+        // VK_ZOOM (FB) Zoom key
+        // VK_NONAME (FC) Reserved for future use
+        // VK_PA1 (FD) PA1 key
+        // VK_OEM_CLEAR (FE) Clear key
+    case GDK_KEY_F1:
+    case GDK_KEY_F2:
+    case GDK_KEY_F3:
+    case GDK_KEY_F4:
+    case GDK_KEY_F5:
+    case GDK_KEY_F6:
+    case GDK_KEY_F7:
+    case GDK_KEY_F8:
+    case GDK_KEY_F9:
+    case GDK_KEY_F10:
+    case GDK_KEY_F11:
+    case GDK_KEY_F12:
+    case GDK_KEY_F13:
+    case GDK_KEY_F14:
+    case GDK_KEY_F15:
+    case GDK_KEY_F16:
+    case GDK_KEY_F17:
+    case GDK_KEY_F18:
+    case GDK_KEY_F19:
+    case GDK_KEY_F20:
+    case GDK_KEY_F21:
+    case GDK_KEY_F22:
+    case GDK_KEY_F23:
+    case GDK_KEY_F24:
+        return VK_F1 + (keycode - GDK_KEY_F1);
+    case GDK_KEY_VoidSymbol:
+        return VK_PROCESSKEY;
 
-        // TV keycodes from DASE / OCAP / CE-HTML standards.
-        case GDK_KEY_Red:
-            return 0x193; // General purpose color-coded media function key, as index 0 (red)
-        case GDK_KEY_Green:
-            return 0x194; // General purpose color-coded media function key, as index 1 (green)
-        case GDK_KEY_Yellow:
-            return 0x195; // General purpose color-coded media function key, as index 2 (yellow)
-        case GDK_KEY_Blue:
-            return 0x196; // General purpose color-coded media function key, as index 3 (blue)
-        case GDK_KEY_PowerOff:
-            return 0x199; // Toggle power state
-        case GDK_KEY_AudioRecord:
-            return 0x1A0; // Initiate or resume recording of currently selected media
-        case GDK_KEY_Display:
-            return 0x1BC; // Swap video sources
-        case GDK_KEY_Subtitle:
-            return 0x1CC; // Toggle display of subtitles, if available
-        case GDK_KEY_Video:
-            return 0x26F; // Access on-demand content or programs
-        default:
-            return 0;
+    // TV keycodes from DASE / OCAP / CE-HTML standards.
+    case GDK_KEY_Red:
+        return 0x193; // General purpose color-coded media function key, as index 0 (red)
+    case GDK_KEY_Green:
+        return 0x194; // General purpose color-coded media function key, as index 1 (green)
+    case GDK_KEY_Yellow:
+        return 0x195; // General purpose color-coded media function key, as index 2 (yellow)
+    case GDK_KEY_Blue:
+        return 0x196; // General purpose color-coded media function key, as index 3 (blue)
+    case GDK_KEY_PowerOff:
+        return 0x199; // Toggle power state
+    case GDK_KEY_AudioRecord:
+        return 0x1A0; // Initiate or resume recording of currently selected media
+    case GDK_KEY_Display:
+        return 0x1BC; // Swap video sources
+    case GDK_KEY_Subtitle:
+        return 0x1CC; // Toggle display of subtitles, if available
+    case GDK_KEY_Video:
+        return 0x26F; // Access on-demand content or programs
+    default:
+        return 0;
     }
 
 }
@@ -1297,28 +1297,28 @@
 String PlatformKeyboardEvent::singleCharacterString(unsigned val)
 {
     switch (val) {
-        case GDK_ISO_Enter:
-        case GDK_KP_Enter:
-        case GDK_Return:
-            return String("\r");
-        case GDK_BackSpace:
-            return String("\x8");
-        case GDK_Tab:
-            return String("\t");
-        default:
-            gunichar c = gdk_keyval_to_unicode(val);
-            glong nwc;
-            gunichar2* uchar16 = g_ucs4_to_utf16(&c, 1, 0, &nwc, 0);
+    case GDK_KEY_ISO_Enter:
+    case GDK_KEY_KP_Enter:
+    case GDK_KEY_Return:
+        return String("\r");
+    case GDK_KEY_BackSpace:
+        return String("\x8");
+    case GDK_KEY_Tab:
+        return String("\t");
+    default:
+        gunichar c = gdk_keyval_to_unicode(val);
+        glong nwc;
+        gunichar2* uchar16 = g_ucs4_to_utf16(&c, 1, 0, &nwc, 0);
 
-            String retVal;
-            if (uchar16)
-                retVal = String((UChar*)uchar16, nwc);
-            else
-                retVal = String();
+        String retVal;
+        if (uchar16)
+            retVal = String((UChar*)uchar16, nwc);
+        else
+            retVal = String();
 
-            g_free(uchar16);
+        g_free(uchar16);
 
-            return retVal;
+        return retVal;
     }
 }
 
@@ -1354,7 +1354,7 @@
     , m_windowsVirtualKeyCode(windowsKeyCodeForGdkKeyCode(event->keyval))
     , m_handledByInputMethod(false)
     , m_autoRepeat(false)
-    , m_isKeypad(event->keyval >= GDK_KP_Space && event->keyval <= GDK_KP_9)
+    , m_isKeypad(event->keyval >= GDK_KEY_KP_Space && event->keyval <= GDK_KEY_KP_9)
     , m_isSystemKey(false)
     , m_gdkEventKey(event)
     , m_compositionResults(compositionResults)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to