Changeset 245849 in webkit
- Timestamp:
- May 29, 2019, 6:07:02 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
platform/gtk/PlatformKeyboardEventGtk.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r245848 r245849 1 2019-05-29 Ludovico de Nittis <ludovico.denittis@collabora.com> 2 3 PlatformEventKeyboardGtk still uses old key aliases 4 https://bugs.webkit.org/show_bug.cgi?id=198326 5 6 Reviewed by Carlos Garcia Campos. 7 8 No behavior change. 9 10 Use the new key names convention prepending "KEY_". 11 12 * platform/gtk/PlatformKeyboardEventGtk.cpp: 13 (WebCore::PlatformKeyboardEvent::keyIdentifierForGdkKeyCode): 14 (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode): 15 (WebCore::PlatformKeyboardEvent::singleCharacterString): 16 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 17 1 18 2019-05-28 Yacine Bandou <yacine.bandou@softathome.com> 2 19 -
trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp
r241751 r245849 777 777 { 778 778 switch (keyCode) { 779 case GDK_Menu:780 case GDK_Alt_L:781 case GDK_Alt_R:782 return "Alt";783 case GDK_Clear:784 return "Clear";785 case GDK_Down:786 return "Down";787 // "End"788 case GDK_End:789 return "End";790 // "Enter"791 case GDK_ISO_Enter:792 case GDK_KP_Enter:793 case GDK_Return:794 return "Enter";795 case GDK_Execute:796 return "Execute";797 case GDK_F1:798 return "F1";799 case GDK_F2:800 return "F2";801 case GDK_F3:802 return "F3";803 case GDK_F4:804 return "F4";805 case GDK_F5:806 return "F5";807 case GDK_F6:808 return "F6";809 case GDK_F7:810 return "F7";811 case GDK_F8:812 return "F8";813 case GDK_F9:814 return "F9";815 case GDK_F10:816 return "F10";817 case GDK_F11:818 return "F11";819 case GDK_F12:820 return "F12";821 case GDK_F13:822 return "F13";823 case GDK_F14:824 return "F14";825 case GDK_F15:826 return "F15";827 case GDK_F16:828 return "F16";829 case GDK_F17:830 return "F17";831 case GDK_F18:832 return "F18";833 case GDK_F19:834 return "F19";835 case GDK_F20:836 return "F20";837 case GDK_F21:838 return "F21";839 case GDK_F22:840 return "F22";841 case GDK_F23:842 return "F23";843 case GDK_F24:844 return "F24";845 case GDK_Help:846 return "Help";847 case GDK_Home:848 return "Home";849 case GDK_Insert:850 return "Insert";851 case GDK_Left:852 return "Left";853 case GDK_Page_Down:854 return "PageDown";855 case GDK_Page_Up:856 return "PageUp";857 case GDK_Pause:858 return "Pause";859 case GDK_3270_PrintScreen:860 case GDK_Print:861 return "PrintScreen";862 case GDK_Right:863 return "Right";864 case GDK_Select:865 return "Select";866 case GDK_Up:867 return "Up";868 // Standard says that DEL becomes U+007F.869 case GDK_Delete:870 return "U+007F";871 case GDK_BackSpace:872 return "U+0008";873 case GDK_ISO_Left_Tab:874 case GDK_3270_BackTab:875 case GDK_Tab:876 return "U+0009";877 default:878 return makeString("U+", hex(gdk_keyval_to_unicode(gdk_keyval_to_upper(keyCode)), 4));779 case GDK_KEY_Menu: 780 case GDK_KEY_Alt_L: 781 case GDK_KEY_Alt_R: 782 return "Alt"; 783 case GDK_KEY_Clear: 784 return "Clear"; 785 case GDK_KEY_Down: 786 return "Down"; 787 // "End" 788 case GDK_KEY_End: 789 return "End"; 790 // "Enter" 791 case GDK_KEY_ISO_Enter: 792 case GDK_KEY_KP_Enter: 793 case GDK_KEY_Return: 794 return "Enter"; 795 case GDK_KEY_Execute: 796 return "Execute"; 797 case GDK_KEY_F1: 798 return "F1"; 799 case GDK_KEY_F2: 800 return "F2"; 801 case GDK_KEY_F3: 802 return "F3"; 803 case GDK_KEY_F4: 804 return "F4"; 805 case GDK_KEY_F5: 806 return "F5"; 807 case GDK_KEY_F6: 808 return "F6"; 809 case GDK_KEY_F7: 810 return "F7"; 811 case GDK_KEY_F8: 812 return "F8"; 813 case GDK_KEY_F9: 814 return "F9"; 815 case GDK_KEY_F10: 816 return "F10"; 817 case GDK_KEY_F11: 818 return "F11"; 819 case GDK_KEY_F12: 820 return "F12"; 821 case GDK_KEY_F13: 822 return "F13"; 823 case GDK_KEY_F14: 824 return "F14"; 825 case GDK_KEY_F15: 826 return "F15"; 827 case GDK_KEY_F16: 828 return "F16"; 829 case GDK_KEY_F17: 830 return "F17"; 831 case GDK_KEY_F18: 832 return "F18"; 833 case GDK_KEY_F19: 834 return "F19"; 835 case GDK_KEY_F20: 836 return "F20"; 837 case GDK_KEY_F21: 838 return "F21"; 839 case GDK_KEY_F22: 840 return "F22"; 841 case GDK_KEY_F23: 842 return "F23"; 843 case GDK_KEY_F24: 844 return "F24"; 845 case GDK_KEY_Help: 846 return "Help"; 847 case GDK_KEY_Home: 848 return "Home"; 849 case GDK_KEY_Insert: 850 return "Insert"; 851 case GDK_KEY_Left: 852 return "Left"; 853 case GDK_KEY_Page_Down: 854 return "PageDown"; 855 case GDK_KEY_Page_Up: 856 return "PageUp"; 857 case GDK_KEY_Pause: 858 return "Pause"; 859 case GDK_KEY_3270_PrintScreen: 860 case GDK_KEY_Print: 861 return "PrintScreen"; 862 case GDK_KEY_Right: 863 return "Right"; 864 case GDK_KEY_Select: 865 return "Select"; 866 case GDK_KEY_Up: 867 return "Up"; 868 // Standard says that DEL becomes U+007F. 869 case GDK_KEY_Delete: 870 return "U+007F"; 871 case GDK_KEY_BackSpace: 872 return "U+0008"; 873 case GDK_KEY_ISO_Left_Tab: 874 case GDK_KEY_3270_BackTab: 875 case GDK_KEY_Tab: 876 return "U+0009"; 877 default: 878 return makeString("U+", hex(gdk_keyval_to_unicode(gdk_keyval_to_upper(keyCode)), 4)); 879 879 } 880 880 } … … 883 883 { 884 884 switch (keycode) { 885 case GDK_KEY_Cancel:886 return 0x03; // (03) The Cancel key887 case GDK_KP_0:888 return VK_NUMPAD0;// (60) Numeric keypad 0 key889 case GDK_KP_1:890 return VK_NUMPAD1;// (61) Numeric keypad 1 key891 case GDK_KP_2:892 returnVK_NUMPAD2; // (62) Numeric keypad 2 key893 case GDK_KP_3:894 return VK_NUMPAD3; // (63) Numeric keypad 3 key895 case GDK_KP_4:896 return VK_NUMPAD4; // (64) Numeric keypad 4 key897 case GDK_KP_5:898 return VK_NUMPAD5; //(65) Numeric keypad 5 key899 case GDK_KP_6:900 return VK_NUMPAD6; // (66) Numeric keypad 6 key901 case GDK_KP_7:902 return VK_NUMPAD7; // (67) Numeric keypad 7 key903 case GDK_KP_8:904 return VK_NUMPAD8; // (68) Numeric keypad 8 key905 case GDK_KP_9:906 return VK_NUMPAD9; // (69) Numeric keypad 9 key907 case GDK_KP_Multiply:908 return VK_MULTIPLY; // (6A) Multiply key909 case GDK_KP_Add:910 return VK_ADD; // (6B) Add key911 case GDK_KP_Subtract:912 return VK_SUBTRACT; // (6D) Subtract key913 case GDK_KP_Decimal:914 return VK_DECIMAL; // (6E) Decimal key915 case GDK_KP_Divide:916 return VK_DIVIDE; // (6F) Divide key917 918 case GDK_KP_Page_Up:919 return VK_PRIOR; // (21) PAGE UP key920 case GDK_KP_Page_Down:921 return VK_NEXT; // (22) PAGE DOWN key922 case GDK_KP_End:923 return VK_END; // (23) END key924 case GDK_KP_Home:925 return VK_HOME; // (24) HOME key926 case GDK_KP_Left:927 return VK_LEFT; // (25) LEFT ARROW key928 case GDK_KP_Up:929 return VK_UP; // (26) UP ARROW key930 case GDK_KP_Right:931 return VK_RIGHT; // (27) RIGHT ARROW key932 case GDK_KP_Down:933 return VK_DOWN; // (28) DOWN ARROW key934 935 case GDK_BackSpace:936 return VK_BACK; // (08) BACKSPACE key937 case GDK_ISO_Left_Tab:938 case GDK_3270_BackTab:939 case GDK_Tab:940 return VK_TAB; // (09) TAB key941 case GDK_Clear:942 return VK_CLEAR; // (0C) CLEAR key943 case GDK_ISO_Enter:944 case GDK_KP_Enter:945 case GDK_Return:946 return VK_RETURN; //(0D) Return key947 948 // VK_SHIFT (10) SHIFT key949 // VK_CONTROL (11) CTRL key950 951 case GDK_Menu:952 return VK_APPS;// (5D) Applications key (Natural keyboard)953 954 // VK_MENU (12) ALT key955 956 case GDK_Pause:957 case GDK_KEY_AudioPause:958 return VK_PAUSE; // (13) PAUSE key959 case GDK_Caps_Lock:960 return VK_CAPITAL; // (14) CAPS LOCK key961 case GDK_Kana_Lock:962 case GDK_Kana_Shift:963 return VK_KANA; // (15) Input Method Editor (IME) Kana mode964 case GDK_Hangul:965 return VK_HANGUL; // VK_HANGUL (15) IME Hangul mode966 // VK_JUNJA (17) IME Junja mode967 // VK_FINAL (18) IME final mode968 case GDK_Hangul_Hanja:969 return VK_HANJA; // (19) IME Hanja mode970 case GDK_Kanji:971 return VK_KANJI; // (19) IME Kanji mode972 case GDK_Escape:973 return VK_ESCAPE; // (1B) ESC key974 // VK_CONVERT (1C) IME convert975 // VK_NONCONVERT (1D) IME nonconvert976 // VK_ACCEPT (1E) IME accept977 // VK_MODECHANGE (1F) IME mode change request978 case GDK_space:979 return VK_SPACE; // (20) SPACEBAR980 case GDK_Page_Up:981 return VK_PRIOR; // (21) PAGE UP key982 case GDK_Page_Down:983 return VK_NEXT; // (22) PAGE DOWN key984 case GDK_End:985 return VK_END; // (23) END key986 case GDK_Home:987 return VK_HOME; // (24) HOME key988 case GDK_Left:989 return VK_LEFT; // (25) LEFT ARROW key990 case GDK_Up:991 return VK_UP; // (26) UP ARROW key992 case GDK_Right:993 return VK_RIGHT; // (27) RIGHT ARROW key994 case GDK_Down:995 return VK_DOWN; // (28) DOWN ARROW key996 case GDK_Select:997 return VK_SELECT; // (29) SELECT key998 case GDK_Print:999 return VK_SNAPSHOT; // (2C) PRINT SCREEN key1000 case GDK_Execute:1001 return VK_EXECUTE;// (2B) EXECUTE key1002 case GDK_Insert:1003 case GDK_KP_Insert:1004 return VK_INSERT; // (2D) INS key1005 case GDK_Delete:1006 case GDK_KP_Delete:1007 return VK_DELETE; // (2E) DEL key1008 case GDK_Help:1009 return VK_HELP; // (2F) HELP key1010 case GDK_0:1011 case GDK_parenright:1012 return VK_0;// (30) 0) key1013 case GDK_1:1014 case GDK_exclam:1015 return VK_1; // (31) 1 ! key1016 case GDK_2:1017 case GDK_at:1018 return VK_2; // (32) 2 & key1019 case GDK_3:1020 case GDK_numbersign:1021 return VK_3; //case '3': case '#';1022 case GDK_4:1023 case GDK_dollar: // (34) 4 key '$';1024 return VK_4;1025 case GDK_5:1026 case GDK_percent:1027 return VK_5; // (35) 5 key '%'1028 case GDK_6:1029 case GDK_asciicircum:1030 return VK_6; // (36) 6 key '^'1031 case GDK_7:1032 case GDK_ampersand:1033 return VK_7; // (37) 7 key case '&'1034 case GDK_8:1035 case GDK_asterisk:1036 return VK_8; // (38) 8 key '*'1037 case GDK_9:1038 case GDK_parenleft:1039 return VK_9; // (39) 9 key '('1040 case GDK_a:1041 case GDK_A:1042 return VK_A; // (41) A key case 'a': case 'A': return 0x41;1043 case GDK_b:1044 case GDK_B:1045 return VK_B; // (42) B key case 'b': case 'B': return 0x42;1046 case GDK_c:1047 case GDK_C:1048 return VK_C; // (43) C key case 'c': case 'C': return 0x43;1049 case GDK_d:1050 case GDK_D:1051 return VK_D; // (44) D key case 'd': case 'D': return 0x44;1052 case GDK_e:1053 case GDK_E:1054 return VK_E; // (45) E key case 'e': case 'E': return 0x45;1055 case GDK_f:1056 case GDK_F:1057 return VK_F; // (46) F key case 'f': case 'F': return 0x46;1058 case GDK_g:1059 case GDK_G:1060 return VK_G; // (47) G key case 'g': case 'G': return 0x47;1061 case GDK_h:1062 case GDK_H:1063 return VK_H; // (48) H key case 'h': case 'H': return 0x48;1064 case GDK_i:1065 case GDK_I:1066 return VK_I; // (49) I key case 'i': case 'I': return 0x49;1067 case GDK_j:1068 case GDK_J:1069 return VK_J; // (4A) J key case 'j': case 'J': return 0x4A;1070 case GDK_k:1071 case GDK_K:1072 return VK_K; // (4B) K key case 'k': case 'K': return 0x4B;1073 case GDK_l:1074 case GDK_L:1075 return VK_L; // (4C) L key case 'l': case 'L': return 0x4C;1076 case GDK_m:1077 case GDK_M:1078 return VK_M; // (4D) M key case 'm': case 'M': return 0x4D;1079 case GDK_n:1080 case GDK_N:1081 return VK_N; // (4E) N key case 'n': case 'N': return 0x4E;1082 case GDK_o:1083 case GDK_O:1084 return VK_O; // (4F) O key case 'o': case 'O': return 0x4F;1085 case GDK_p:1086 case GDK_P:1087 return VK_P; // (50) P key case 'p': case 'P': return 0x50;1088 case GDK_q:1089 case GDK_Q:1090 return VK_Q; // (51) Q key case 'q': case 'Q': return 0x51;1091 case GDK_r:1092 case GDK_R:1093 return VK_R; // (52) R key case 'r': case 'R': return 0x52;1094 case GDK_s:1095 case GDK_S:1096 return VK_S; // (53) S key case 's': case 'S': return 0x53;1097 case GDK_t:1098 case GDK_T:1099 return VK_T; // (54) T key case 't': case 'T': return 0x54;1100 case GDK_u:1101 case GDK_U:1102 return VK_U; // (55) U key case 'u': case 'U': return 0x55;1103 case GDK_v:1104 case GDK_V:1105 return VK_V; // (56) V key case 'v': case 'V': return 0x56;1106 case GDK_w:1107 case GDK_W:1108 return VK_W; // (57) W key case 'w': case 'W': return 0x57;1109 case GDK_x:1110 case GDK_X:1111 return VK_X; // (58) X key case 'x': case 'X': return 0x58;1112 case GDK_y:1113 case GDK_Y:1114 return VK_Y; // (59) Y key case 'y': case 'Y': return 0x59;1115 case GDK_z:1116 case GDK_Z:1117 return VK_Z; // (5A) Z key case 'z': case 'Z': return 0x5A;1118 case GDK_Meta_L:1119 return VK_LWIN; // (5B) Left Windows key (Microsoft Natural keyboard)1120 case GDK_Meta_R:1121 return VK_RWIN; // (5C) Right Windows key (Natural keyboard)1122 case GDK_KEY_Sleep:1123 return VK_SLEEP; // (5F) Computer Sleep key1124 // VK_SEPARATOR (6C) Separator key1125 // VK_SUBTRACT (6D) Subtract key1126 // VK_DECIMAL (6E) Decimal key1127 // VK_DIVIDE (6F) Divide key1128 // handled by key code above1129 1130 case GDK_Num_Lock:1131 return VK_NUMLOCK; // (90) NUM LOCK key1132 1133 case GDK_Scroll_Lock:1134 return VK_SCROLL; // (91) SCROLL LOCK key1135 1136 case GDK_Shift_L:1137 return VK_LSHIFT; // (A0) Left SHIFT key1138 case GDK_Shift_R:1139 return VK_RSHIFT; // (A1) Right SHIFT key1140 case GDK_Control_L:1141 return VK_LCONTROL; // (A2) Left CONTROL key1142 case GDK_Control_R:1143 return VK_RCONTROL; // (A3) Right CONTROL key1144 case GDK_Alt_L:1145 return VK_LMENU; // (A4) Left MENU key1146 case GDK_Alt_R:1147 return VK_RMENU; // (A5) Right MENU key1148 1149 case GDK_KEY_Back:1150 return VK_BROWSER_BACK; // VK_BROWSER_BACK (A6) Windows 2000/XP: Browser Back key1151 case GDK_KEY_Forward:1152 return VK_BROWSER_FORWARD; // (A7) Windows 2000/XP: Browser Forward key1153 case GDK_KEY_Refresh:1154 return VK_BROWSER_REFRESH; // (A8) Windows 2000/XP: Browser Refresh key1155 case GDK_KEY_Stop:1156 return VK_BROWSER_STOP; // (A9) Windows 2000/XP: Browser Stop key1157 case GDK_KEY_Search:1158 return VK_BROWSER_SEARCH; // (AA) Windows 2000/XP: Browser Search key1159 case GDK_KEY_Favorites:1160 return VK_BROWSER_FAVORITES; // (AB) Windows 2000/XP: Browser Favorites key1161 case GDK_KEY_HomePage:1162 return VK_BROWSER_HOME; // (AC) Windows 2000/XP: Browser Start and Home key1163 case GDK_KEY_AudioMute:1164 return VK_VOLUME_MUTE; // (AD) Windows 2000/XP: Volume Mute key1165 case GDK_KEY_AudioLowerVolume:1166 return VK_VOLUME_DOWN; // (AE) Windows 2000/XP: Volume Down key1167 case GDK_KEY_AudioRaiseVolume:1168 return VK_VOLUME_UP; // (AF) Windows 2000/XP: Volume Up key1169 case GDK_KEY_AudioNext:1170 return VK_MEDIA_NEXT_TRACK; // (B0) Windows 2000/XP: Next Track key1171 case GDK_KEY_AudioPrev:1172 return VK_MEDIA_PREV_TRACK; // (B1) Windows 2000/XP: Previous Track key1173 case GDK_KEY_AudioStop:1174 return VK_MEDIA_STOP; // (B2) Windows 2000/XP: Stop Media key1175 // VK_MEDIA_PLAY_PAUSE (B3) Windows 2000/XP: Play/Pause Media key1176 // VK_LAUNCH_MAIL (B4) Windows 2000/XP: Start Mail key1177 case GDK_KEY_AudioMedia:1178 return VK_MEDIA_LAUNCH_MEDIA_SELECT; // (B5) Windows 2000/XP: Select Media key1179 // VK_LAUNCH_APP1 (B6) Windows 2000/XP: Start Application 1 key1180 // VK_LAUNCH_APP2 (B7) Windows 2000/XP: Start Application 2 key1181 1182 // VK_OEM_1 (BA) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ';:' key1183 case GDK_semicolon:1184 case GDK_colon:1185 return VK_OEM_1; //case ';': case ':': return 0xBA;1186 // VK_OEM_PLUS (BB) Windows 2000/XP: For any country/region, the '+' key1187 case GDK_plus:1188 case GDK_equal:1189 return VK_OEM_PLUS; //case '=': case '+': return 0xBB;1190 // VK_OEM_COMMA (BC) Windows 2000/XP: For any country/region, the ',' key1191 case GDK_comma:1192 case GDK_less:1193 return VK_OEM_COMMA; //case ',': case '<': return 0xBC;1194 // VK_OEM_MINUS (BD) Windows 2000/XP: For any country/region, the '-' key1195 case GDK_minus:1196 case GDK_underscore:1197 return VK_OEM_MINUS; //case '-': case '_': return 0xBD;1198 // VK_OEM_PERIOD (BE) Windows 2000/XP: For any country/region, the '.' key1199 case GDK_period:1200 case GDK_greater:1201 return VK_OEM_PERIOD; //case '.': case '>': return 0xBE;1202 // VK_OEM_2 (BF) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '/?' key1203 case GDK_slash:1204 case GDK_question:1205 return VK_OEM_2; //case '/': case '?': return 0xBF;1206 // VK_OEM_3 (C0) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '`~' key1207 case GDK_asciitilde:1208 case GDK_quoteleft:1209 return VK_OEM_3; //case '`': case '~': return 0xC0;1210 // VK_OEM_4 (DB) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '[{' key1211 case GDK_bracketleft:1212 case GDK_braceleft:1213 return VK_OEM_4; //case '[': case '{': return 0xDB;1214 // VK_OEM_5 (DC) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '\|' key1215 case GDK_backslash:1216 case GDK_bar:1217 return VK_OEM_5; //case '\\': case '|': return 0xDC;1218 // VK_OEM_6 (DD) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ']}' key1219 case GDK_bracketright:1220 case GDK_braceright:1221 return VK_OEM_6; // case ']': case '}': return 0xDD;1222 // 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' key1223 case GDK_quoteright:1224 case GDK_quotedbl:1225 return VK_OEM_7; // case '\'': case '"': return 0xDE;1226 // VK_OEM_8 (DF) Used for miscellaneous characters; it can vary by keyboard.1227 // VK_OEM_102 (E2) Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard1228 case GDK_KEY_AudioRewind:1229 return 0xE3; // (E3) Android/GoogleTV: Rewind media key (Windows: VK_ICO_HELP Help key on 1984 Olivetti M24 deluxe keyboard)1230 case GDK_KEY_AudioForward:1231 return 0xE4; // (E4) Android/GoogleTV: Fast forward media key (Windows: VK_ICO_00 '00' key on 1984 Olivetti M24 deluxe keyboard)1232 // VK_PROCESSKEY (E5) Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key1233 // 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_KEYUP1234 // VK_ATTN (F6) Attn key1235 // VK_CRSEL (F7) CrSel key1236 // VK_EXSEL (F8) ExSel key1237 // VK_EREOF (F9) Erase EOF key1238 case GDK_KEY_AudioPlay:1239 return VK_PLAY; // VK_PLAY (FA) Play key1240 // VK_ZOOM (FB) Zoom key1241 // VK_NONAME (FC) Reserved for future use1242 // VK_PA1 (FD) PA1 key1243 // VK_OEM_CLEAR (FE) Clear key1244 case GDK_F1:1245 case GDK_F2:1246 case GDK_F3:1247 case GDK_F4:1248 case GDK_F5:1249 case GDK_F6:1250 case GDK_F7:1251 case GDK_F8:1252 case GDK_F9:1253 case GDK_F10:1254 case GDK_F11:1255 case GDK_F12:1256 case GDK_F13:1257 case GDK_F14:1258 case GDK_F15:1259 case GDK_F16:1260 case GDK_F17:1261 case GDK_F18:1262 case GDK_F19:1263 case GDK_F20:1264 case GDK_F21:1265 case GDK_F22:1266 case GDK_F23:1267 case GDK_F24:1268 return VK_F1 + (keycode - GDK_F1);1269 case GDK_KEY_VoidSymbol:1270 return VK_PROCESSKEY;1271 1272 // TV keycodes from DASE / OCAP / CE-HTML standards.1273 case GDK_KEY_Red:1274 return 0x193; // General purpose color-coded media function key, as index 0 (red)1275 case GDK_KEY_Green:1276 return 0x194; // General purpose color-coded media function key, as index 1 (green)1277 case GDK_KEY_Yellow:1278 return 0x195; // General purpose color-coded media function key, as index 2 (yellow)1279 case GDK_KEY_Blue:1280 return 0x196; // General purpose color-coded media function key, as index 3 (blue)1281 case GDK_KEY_PowerOff:1282 return 0x199; // Toggle power state1283 case GDK_KEY_AudioRecord:1284 return 0x1A0; // Initiate or resume recording of currently selected media1285 case GDK_KEY_Display:1286 return 0x1BC; // Swap video sources1287 case GDK_KEY_Subtitle:1288 return 0x1CC; // Toggle display of subtitles, if available1289 case GDK_KEY_Video:1290 return 0x26F; // Access on-demand content or programs1291 default:1292 return 0;885 case GDK_KEY_Cancel: 886 return 0x03; // (03) The Cancel key 887 case GDK_KEY_KP_0: 888 return VK_NUMPAD0; // (60) Numeric keypad 0 key 889 case GDK_KEY_KP_1: 890 return VK_NUMPAD1; // (61) Numeric keypad 1 key 891 case GDK_KEY_KP_2: 892 return VK_NUMPAD2; // (62) Numeric keypad 2 key 893 case GDK_KEY_KP_3: 894 return VK_NUMPAD3; // (63) Numeric keypad 3 key 895 case GDK_KEY_KP_4: 896 return VK_NUMPAD4; // (64) Numeric keypad 4 key 897 case GDK_KEY_KP_5: 898 return VK_NUMPAD5; // (65) Numeric keypad 5 key 899 case GDK_KEY_KP_6: 900 return VK_NUMPAD6; // (66) Numeric keypad 6 key 901 case GDK_KEY_KP_7: 902 return VK_NUMPAD7; // (67) Numeric keypad 7 key 903 case GDK_KEY_KP_8: 904 return VK_NUMPAD8; // (68) Numeric keypad 8 key 905 case GDK_KEY_KP_9: 906 return VK_NUMPAD9; // (69) Numeric keypad 9 key 907 case GDK_KEY_KP_Multiply: 908 return VK_MULTIPLY; // (6A) Multiply key 909 case GDK_KEY_KP_Add: 910 return VK_ADD; // (6B) Add key 911 case GDK_KEY_KP_Subtract: 912 return VK_SUBTRACT; // (6D) Subtract key 913 case GDK_KEY_KP_Decimal: 914 return VK_DECIMAL; // (6E) Decimal key 915 case GDK_KEY_KP_Divide: 916 return VK_DIVIDE; // (6F) Divide key 917 918 case GDK_KEY_KP_Page_Up: 919 return VK_PRIOR; // (21) PAGE UP key 920 case GDK_KEY_KP_Page_Down: 921 return VK_NEXT; // (22) PAGE DOWN key 922 case GDK_KEY_KP_End: 923 return VK_END; // (23) END key 924 case GDK_KEY_KP_Home: 925 return VK_HOME; // (24) HOME key 926 case GDK_KEY_KP_Left: 927 return VK_LEFT; // (25) LEFT ARROW key 928 case GDK_KEY_KP_Up: 929 return VK_UP; // (26) UP ARROW key 930 case GDK_KEY_KP_Right: 931 return VK_RIGHT; // (27) RIGHT ARROW key 932 case GDK_KEY_KP_Down: 933 return VK_DOWN; // (28) DOWN ARROW key 934 935 case GDK_KEY_BackSpace: 936 return VK_BACK; // (08) BACKSPACE key 937 case GDK_KEY_ISO_Left_Tab: 938 case GDK_KEY_3270_BackTab: 939 case GDK_KEY_Tab: 940 return VK_TAB; // (09) TAB key 941 case GDK_KEY_Clear: 942 return VK_CLEAR; // (0C) CLEAR key 943 case GDK_KEY_ISO_Enter: 944 case GDK_KEY_KP_Enter: 945 case GDK_KEY_Return: 946 return VK_RETURN; // (0D) Return key 947 948 // VK_SHIFT (10) SHIFT key 949 // VK_CONTROL (11) CTRL key 950 951 case GDK_KEY_Menu: 952 return VK_APPS; // (5D) Applications key (Natural keyboard) 953 954 // VK_MENU (12) ALT key 955 956 case GDK_KEY_Pause: 957 case GDK_KEY_AudioPause: 958 return VK_PAUSE; // (13) PAUSE key 959 case GDK_KEY_Caps_Lock: 960 return VK_CAPITAL; // (14) CAPS LOCK key 961 case GDK_KEY_Kana_Lock: 962 case GDK_KEY_Kana_Shift: 963 return VK_KANA; // (15) Input Method Editor (IME) Kana mode 964 case GDK_KEY_Hangul: 965 return VK_HANGUL; // VK_HANGUL (15) IME Hangul mode 966 // VK_JUNJA (17) IME Junja mode 967 // VK_FINAL (18) IME final mode 968 case GDK_KEY_Hangul_Hanja: 969 return VK_HANJA; // (19) IME Hanja mode 970 case GDK_KEY_Kanji: 971 return VK_KANJI; // (19) IME Kanji mode 972 case GDK_KEY_Escape: 973 return VK_ESCAPE; // (1B) ESC key 974 // VK_CONVERT (1C) IME convert 975 // VK_NONCONVERT (1D) IME nonconvert 976 // VK_ACCEPT (1E) IME accept 977 // VK_MODECHANGE (1F) IME mode change request 978 case GDK_KEY_space: 979 return VK_SPACE; // (20) SPACEBAR 980 case GDK_KEY_Page_Up: 981 return VK_PRIOR; // (21) PAGE UP key 982 case GDK_KEY_Page_Down: 983 return VK_NEXT; // (22) PAGE DOWN key 984 case GDK_KEY_End: 985 return VK_END; // (23) END key 986 case GDK_KEY_Home: 987 return VK_HOME; // (24) HOME key 988 case GDK_KEY_Left: 989 return VK_LEFT; // (25) LEFT ARROW key 990 case GDK_KEY_Up: 991 return VK_UP; // (26) UP ARROW key 992 case GDK_KEY_Right: 993 return VK_RIGHT; // (27) RIGHT ARROW key 994 case GDK_KEY_Down: 995 return VK_DOWN; // (28) DOWN ARROW key 996 case GDK_KEY_Select: 997 return VK_SELECT; // (29) SELECT key 998 case GDK_KEY_Print: 999 return VK_SNAPSHOT; // (2C) PRINT SCREEN key 1000 case GDK_KEY_Execute: 1001 return VK_EXECUTE; // (2B) EXECUTE key 1002 case GDK_KEY_Insert: 1003 case GDK_KEY_KP_Insert: 1004 return VK_INSERT; // (2D) INS key 1005 case GDK_KEY_Delete: 1006 case GDK_KEY_KP_Delete: 1007 return VK_DELETE; // (2E) DEL key 1008 case GDK_KEY_Help: 1009 return VK_HELP; // (2F) HELP key 1010 case GDK_KEY_0: 1011 case GDK_KEY_parenright: 1012 return VK_0; // (30) 0) key 1013 case GDK_KEY_1: 1014 case GDK_KEY_exclam: 1015 return VK_1; // (31) 1 ! key 1016 case GDK_KEY_2: 1017 case GDK_KEY_at: 1018 return VK_2; // (32) 2 & key 1019 case GDK_KEY_3: 1020 case GDK_KEY_numbersign: 1021 return VK_3; // case '3': case '#'; 1022 case GDK_KEY_4: 1023 case GDK_KEY_dollar: // (34) 4 key '$'; 1024 return VK_4; 1025 case GDK_KEY_5: 1026 case GDK_KEY_percent: 1027 return VK_5; // (35) 5 key '%' 1028 case GDK_KEY_6: 1029 case GDK_KEY_asciicircum: 1030 return VK_6; // (36) 6 key '^' 1031 case GDK_KEY_7: 1032 case GDK_KEY_ampersand: 1033 return VK_7; // (37) 7 key case '&' 1034 case GDK_KEY_8: 1035 case GDK_KEY_asterisk: 1036 return VK_8; // (38) 8 key '*' 1037 case GDK_KEY_9: 1038 case GDK_KEY_parenleft: 1039 return VK_9; // (39) 9 key '(' 1040 case GDK_KEY_a: 1041 case GDK_KEY_A: 1042 return VK_A; // (41) A key case 'a': case 'A': return 0x41; 1043 case GDK_KEY_b: 1044 case GDK_KEY_B: 1045 return VK_B; // (42) B key case 'b': case 'B': return 0x42; 1046 case GDK_KEY_c: 1047 case GDK_KEY_C: 1048 return VK_C; // (43) C key case 'c': case 'C': return 0x43; 1049 case GDK_KEY_d: 1050 case GDK_KEY_D: 1051 return VK_D; // (44) D key case 'd': case 'D': return 0x44; 1052 case GDK_KEY_e: 1053 case GDK_KEY_E: 1054 return VK_E; // (45) E key case 'e': case 'E': return 0x45; 1055 case GDK_KEY_f: 1056 case GDK_KEY_F: 1057 return VK_F; // (46) F key case 'f': case 'F': return 0x46; 1058 case GDK_KEY_g: 1059 case GDK_KEY_G: 1060 return VK_G; // (47) G key case 'g': case 'G': return 0x47; 1061 case GDK_KEY_h: 1062 case GDK_KEY_H: 1063 return VK_H; // (48) H key case 'h': case 'H': return 0x48; 1064 case GDK_KEY_i: 1065 case GDK_KEY_I: 1066 return VK_I; // (49) I key case 'i': case 'I': return 0x49; 1067 case GDK_KEY_j: 1068 case GDK_KEY_J: 1069 return VK_J; // (4A) J key case 'j': case 'J': return 0x4A; 1070 case GDK_KEY_k: 1071 case GDK_KEY_K: 1072 return VK_K; // (4B) K key case 'k': case 'K': return 0x4B; 1073 case GDK_KEY_l: 1074 case GDK_KEY_L: 1075 return VK_L; // (4C) L key case 'l': case 'L': return 0x4C; 1076 case GDK_KEY_m: 1077 case GDK_KEY_M: 1078 return VK_M; // (4D) M key case 'm': case 'M': return 0x4D; 1079 case GDK_KEY_n: 1080 case GDK_KEY_N: 1081 return VK_N; // (4E) N key case 'n': case 'N': return 0x4E; 1082 case GDK_KEY_o: 1083 case GDK_KEY_O: 1084 return VK_O; // (4F) O key case 'o': case 'O': return 0x4F; 1085 case GDK_KEY_p: 1086 case GDK_KEY_P: 1087 return VK_P; // (50) P key case 'p': case 'P': return 0x50; 1088 case GDK_KEY_q: 1089 case GDK_KEY_Q: 1090 return VK_Q; // (51) Q key case 'q': case 'Q': return 0x51; 1091 case GDK_KEY_r: 1092 case GDK_KEY_R: 1093 return VK_R; // (52) R key case 'r': case 'R': return 0x52; 1094 case GDK_KEY_s: 1095 case GDK_KEY_S: 1096 return VK_S; // (53) S key case 's': case 'S': return 0x53; 1097 case GDK_KEY_t: 1098 case GDK_KEY_T: 1099 return VK_T; // (54) T key case 't': case 'T': return 0x54; 1100 case GDK_KEY_u: 1101 case GDK_KEY_U: 1102 return VK_U; // (55) U key case 'u': case 'U': return 0x55; 1103 case GDK_KEY_v: 1104 case GDK_KEY_V: 1105 return VK_V; // (56) V key case 'v': case 'V': return 0x56; 1106 case GDK_KEY_w: 1107 case GDK_KEY_W: 1108 return VK_W; // (57) W key case 'w': case 'W': return 0x57; 1109 case GDK_KEY_x: 1110 case GDK_KEY_X: 1111 return VK_X; // (58) X key case 'x': case 'X': return 0x58; 1112 case GDK_KEY_y: 1113 case GDK_KEY_Y: 1114 return VK_Y; // (59) Y key case 'y': case 'Y': return 0x59; 1115 case GDK_KEY_z: 1116 case GDK_KEY_Z: 1117 return VK_Z; // (5A) Z key case 'z': case 'Z': return 0x5A; 1118 case GDK_KEY_Meta_L: 1119 return VK_LWIN; // (5B) Left Windows key (Microsoft Natural keyboard) 1120 case GDK_KEY_Meta_R: 1121 return VK_RWIN; // (5C) Right Windows key (Natural keyboard) 1122 case GDK_KEY_Sleep: 1123 return VK_SLEEP; // (5F) Computer Sleep key 1124 // VK_SEPARATOR (6C) Separator key 1125 // VK_SUBTRACT (6D) Subtract key 1126 // VK_DECIMAL (6E) Decimal key 1127 // VK_DIVIDE (6F) Divide key 1128 // handled by key code above 1129 1130 case GDK_KEY_Num_Lock: 1131 return VK_NUMLOCK; // (90) NUM LOCK key 1132 1133 case GDK_KEY_Scroll_Lock: 1134 return VK_SCROLL; // (91) SCROLL LOCK key 1135 1136 case GDK_KEY_Shift_L: 1137 return VK_LSHIFT; // (A0) Left SHIFT key 1138 case GDK_KEY_Shift_R: 1139 return VK_RSHIFT; // (A1) Right SHIFT key 1140 case GDK_KEY_Control_L: 1141 return VK_LCONTROL; // (A2) Left CONTROL key 1142 case GDK_KEY_Control_R: 1143 return VK_RCONTROL; // (A3) Right CONTROL key 1144 case GDK_KEY_Alt_L: 1145 return VK_LMENU; // (A4) Left MENU key 1146 case GDK_KEY_Alt_R: 1147 return VK_RMENU; // (A5) Right MENU key 1148 1149 case GDK_KEY_Back: 1150 return VK_BROWSER_BACK; // VK_BROWSER_BACK (A6) Windows 2000/XP: Browser Back key 1151 case GDK_KEY_Forward: 1152 return VK_BROWSER_FORWARD; // (A7) Windows 2000/XP: Browser Forward key 1153 case GDK_KEY_Refresh: 1154 return VK_BROWSER_REFRESH; // (A8) Windows 2000/XP: Browser Refresh key 1155 case GDK_KEY_Stop: 1156 return VK_BROWSER_STOP; // (A9) Windows 2000/XP: Browser Stop key 1157 case GDK_KEY_Search: 1158 return VK_BROWSER_SEARCH; // (AA) Windows 2000/XP: Browser Search key 1159 case GDK_KEY_Favorites: 1160 return VK_BROWSER_FAVORITES; // (AB) Windows 2000/XP: Browser Favorites key 1161 case GDK_KEY_HomePage: 1162 return VK_BROWSER_HOME; // (AC) Windows 2000/XP: Browser Start and Home key 1163 case GDK_KEY_AudioMute: 1164 return VK_VOLUME_MUTE; // (AD) Windows 2000/XP: Volume Mute key 1165 case GDK_KEY_AudioLowerVolume: 1166 return VK_VOLUME_DOWN; // (AE) Windows 2000/XP: Volume Down key 1167 case GDK_KEY_AudioRaiseVolume: 1168 return VK_VOLUME_UP; // (AF) Windows 2000/XP: Volume Up key 1169 case GDK_KEY_AudioNext: 1170 return VK_MEDIA_NEXT_TRACK; // (B0) Windows 2000/XP: Next Track key 1171 case GDK_KEY_AudioPrev: 1172 return VK_MEDIA_PREV_TRACK; // (B1) Windows 2000/XP: Previous Track key 1173 case GDK_KEY_AudioStop: 1174 return VK_MEDIA_STOP; // (B2) Windows 2000/XP: Stop Media key 1175 // VK_MEDIA_PLAY_PAUSE (B3) Windows 2000/XP: Play/Pause Media key 1176 // VK_LAUNCH_MAIL (B4) Windows 2000/XP: Start Mail key 1177 case GDK_KEY_AudioMedia: 1178 return VK_MEDIA_LAUNCH_MEDIA_SELECT; // (B5) Windows 2000/XP: Select Media key 1179 // VK_LAUNCH_APP1 (B6) Windows 2000/XP: Start Application 1 key 1180 // VK_LAUNCH_APP2 (B7) Windows 2000/XP: Start Application 2 key 1181 1182 // VK_OEM_1 (BA) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ';:' key 1183 case GDK_KEY_semicolon: 1184 case GDK_KEY_colon: 1185 return VK_OEM_1; // case ';': case ':': return 0xBA; 1186 // VK_OEM_PLUS (BB) Windows 2000/XP: For any country/region, the '+' key 1187 case GDK_KEY_plus: 1188 case GDK_KEY_equal: 1189 return VK_OEM_PLUS; // case '=': case '+': return 0xBB; 1190 // VK_OEM_COMMA (BC) Windows 2000/XP: For any country/region, the ',' key 1191 case GDK_KEY_comma: 1192 case GDK_KEY_less: 1193 return VK_OEM_COMMA; // case ',': case '<': return 0xBC; 1194 // VK_OEM_MINUS (BD) Windows 2000/XP: For any country/region, the '-' key 1195 case GDK_KEY_minus: 1196 case GDK_KEY_underscore: 1197 return VK_OEM_MINUS; // case '-': case '_': return 0xBD; 1198 // VK_OEM_PERIOD (BE) Windows 2000/XP: For any country/region, the '.' key 1199 case GDK_KEY_period: 1200 case GDK_KEY_greater: 1201 return VK_OEM_PERIOD; // case '.': case '>': return 0xBE; 1202 // VK_OEM_2 (BF) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '/?' key 1203 case GDK_KEY_slash: 1204 case GDK_KEY_question: 1205 return VK_OEM_2; // case '/': case '?': return 0xBF; 1206 // VK_OEM_3 (C0) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '`~' key 1207 case GDK_KEY_asciitilde: 1208 case GDK_KEY_quoteleft: 1209 return VK_OEM_3; // case '`': case '~': return 0xC0; 1210 // VK_OEM_4 (DB) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '[{' key 1211 case GDK_KEY_bracketleft: 1212 case GDK_KEY_braceleft: 1213 return VK_OEM_4; // case '[': case '{': return 0xDB; 1214 // VK_OEM_5 (DC) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '\|' key 1215 case GDK_KEY_backslash: 1216 case GDK_KEY_bar: 1217 return VK_OEM_5; // case '\\': case '|': return 0xDC; 1218 // VK_OEM_6 (DD) Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ']}' key 1219 case GDK_KEY_bracketright: 1220 case GDK_KEY_braceright: 1221 return VK_OEM_6; // case ']': case '}': return 0xDD; 1222 // 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 1223 case GDK_KEY_quoteright: 1224 case GDK_KEY_quotedbl: 1225 return VK_OEM_7; // case '\'': case '"': return 0xDE; 1226 // VK_OEM_8 (DF) Used for miscellaneous characters; it can vary by keyboard. 1227 // VK_OEM_102 (E2) Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard 1228 case GDK_KEY_AudioRewind: 1229 return 0xE3; // (E3) Android/GoogleTV: Rewind media key (Windows: VK_ICO_HELP Help key on 1984 Olivetti M24 deluxe keyboard) 1230 case GDK_KEY_AudioForward: 1231 return 0xE4; // (E4) Android/GoogleTV: Fast forward media key (Windows: VK_ICO_00 '00' key on 1984 Olivetti M24 deluxe keyboard) 1232 // VK_PROCESSKEY (E5) Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key 1233 // 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 1234 // VK_ATTN (F6) Attn key 1235 // VK_CRSEL (F7) CrSel key 1236 // VK_EXSEL (F8) ExSel key 1237 // VK_EREOF (F9) Erase EOF key 1238 case GDK_KEY_AudioPlay: 1239 return VK_PLAY; // VK_PLAY (FA) Play key 1240 // VK_ZOOM (FB) Zoom key 1241 // VK_NONAME (FC) Reserved for future use 1242 // VK_PA1 (FD) PA1 key 1243 // VK_OEM_CLEAR (FE) Clear key 1244 case GDK_KEY_F1: 1245 case GDK_KEY_F2: 1246 case GDK_KEY_F3: 1247 case GDK_KEY_F4: 1248 case GDK_KEY_F5: 1249 case GDK_KEY_F6: 1250 case GDK_KEY_F7: 1251 case GDK_KEY_F8: 1252 case GDK_KEY_F9: 1253 case GDK_KEY_F10: 1254 case GDK_KEY_F11: 1255 case GDK_KEY_F12: 1256 case GDK_KEY_F13: 1257 case GDK_KEY_F14: 1258 case GDK_KEY_F15: 1259 case GDK_KEY_F16: 1260 case GDK_KEY_F17: 1261 case GDK_KEY_F18: 1262 case GDK_KEY_F19: 1263 case GDK_KEY_F20: 1264 case GDK_KEY_F21: 1265 case GDK_KEY_F22: 1266 case GDK_KEY_F23: 1267 case GDK_KEY_F24: 1268 return VK_F1 + (keycode - GDK_KEY_F1); 1269 case GDK_KEY_VoidSymbol: 1270 return VK_PROCESSKEY; 1271 1272 // TV keycodes from DASE / OCAP / CE-HTML standards. 1273 case GDK_KEY_Red: 1274 return 0x193; // General purpose color-coded media function key, as index 0 (red) 1275 case GDK_KEY_Green: 1276 return 0x194; // General purpose color-coded media function key, as index 1 (green) 1277 case GDK_KEY_Yellow: 1278 return 0x195; // General purpose color-coded media function key, as index 2 (yellow) 1279 case GDK_KEY_Blue: 1280 return 0x196; // General purpose color-coded media function key, as index 3 (blue) 1281 case GDK_KEY_PowerOff: 1282 return 0x199; // Toggle power state 1283 case GDK_KEY_AudioRecord: 1284 return 0x1A0; // Initiate or resume recording of currently selected media 1285 case GDK_KEY_Display: 1286 return 0x1BC; // Swap video sources 1287 case GDK_KEY_Subtitle: 1288 return 0x1CC; // Toggle display of subtitles, if available 1289 case GDK_KEY_Video: 1290 return 0x26F; // Access on-demand content or programs 1291 default: 1292 return 0; 1293 1293 } 1294 1294 … … 1298 1298 { 1299 1299 switch (val) { 1300 case GDK_ISO_Enter:1301 case GDK_KP_Enter:1302 case GDK_Return:1303 return String("\r");1304 case GDK_BackSpace:1305 return String("\x8");1306 case GDK_Tab:1307 return String("\t");1308 default:1309 gunichar c = gdk_keyval_to_unicode(val);1310 glong nwc;1311 gunichar2* uchar16 = g_ucs4_to_utf16(&c, 1, 0, &nwc, 0);1312 1313 String retVal;1314 if (uchar16)1315 retVal = String((UChar*)uchar16, nwc);1316 else1317 retVal = String();1318 1319 g_free(uchar16);1320 1321 return retVal;1300 case GDK_KEY_ISO_Enter: 1301 case GDK_KEY_KP_Enter: 1302 case GDK_KEY_Return: 1303 return String("\r"); 1304 case GDK_KEY_BackSpace: 1305 return String("\x8"); 1306 case GDK_KEY_Tab: 1307 return String("\t"); 1308 default: 1309 gunichar c = gdk_keyval_to_unicode(val); 1310 glong nwc; 1311 gunichar2* uchar16 = g_ucs4_to_utf16(&c, 1, 0, &nwc, 0); 1312 1313 String retVal; 1314 if (uchar16) 1315 retVal = String((UChar*)uchar16, nwc); 1316 else 1317 retVal = String(); 1318 1319 g_free(uchar16); 1320 1321 return retVal; 1322 1322 } 1323 1323 } … … 1355 1355 , m_handledByInputMethod(false) 1356 1356 , m_autoRepeat(false) 1357 , m_isKeypad(event->keyval >= GDK_K P_Space && event->keyval <= GDK_KP_9)1357 , m_isKeypad(event->keyval >= GDK_KEY_KP_Space && event->keyval <= GDK_KEY_KP_9) 1358 1358 , m_isSystemKey(false) 1359 1359 , m_gdkEventKey(event)
Note:
See TracChangeset
for help on using the changeset viewer.