Changeset 245849 in webkit
- Timestamp:
- May 29, 2019 6:07:02 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
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 783 case GDK_Clear:784 785 case GDK_Down:786 787 788 case GDK_End:789 790 791 case GDK_ISO_Enter:792 case GDK_KP_Enter:793 case GDK_Return:794 795 case GDK_Execute:796 797 case GDK_F1:798 799 case GDK_F2:800 801 case GDK_F3:802 803 case GDK_F4:804 805 case GDK_F5:806 807 case GDK_F6:808 809 case GDK_F7:810 811 case GDK_F8:812 813 case GDK_F9:814 815 case GDK_F10:816 817 case GDK_F11:818 819 case GDK_F12:820 821 case GDK_F13:822 823 case GDK_F14:824 825 case GDK_F15:826 827 case GDK_F16:828 829 case GDK_F17:830 831 case GDK_F18:832 833 case GDK_F19:834 835 case GDK_F20:836 837 case GDK_F21:838 839 case GDK_F22:840 841 case GDK_F23:842 843 case GDK_F24:844 845 case GDK_Help:846 847 case GDK_Home:848 849 case GDK_Insert:850 851 case GDK_Left:852 853 case GDK_Page_Down:854 855 case GDK_Page_Up:856 857 case GDK_Pause:858 859 case GDK_3270_PrintScreen:860 case GDK_Print:861 862 case GDK_Right:863 864 case GDK_Select:865 866 case GDK_Up:867 868 869 case GDK_Delete:870 871 case GDK_BackSpace:872 873 case GDK_ISO_Left_Tab:874 case GDK_3270_BackTab:875 case GDK_Tab:876 877 878 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 886 887 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 895 case GDK_KP_4:896 897 case GDK_KP_5:898 return VK_NUMPAD5; //(65) Numeric keypad 5 key899 case GDK_KP_6:900 901 case GDK_KP_7:902 903 case GDK_KP_8:904 905 case GDK_KP_9:906 907 case GDK_KP_Multiply:908 909 case GDK_KP_Add:910 911 case GDK_KP_Subtract:912 913 case GDK_KP_Decimal:914 915 case GDK_KP_Divide:916 917 918 case GDK_KP_Page_Up:919 920 case GDK_KP_Page_Down:921 922 case GDK_KP_End:923 924 case GDK_KP_Home:925 926 case GDK_KP_Left:927 928 case GDK_KP_Up:929 930 case GDK_KP_Right:931 932 case GDK_KP_Down:933 934 935 case GDK_BackSpace:936 937 case GDK_ISO_Left_Tab:938 case GDK_3270_BackTab:939 case GDK_Tab:940 941 case GDK_Clear:942 943 case GDK_ISO_Enter:944 case GDK_KP_Enter:945 case GDK_Return:946 return VK_RETURN; //(0D) Return key947 948 949 950 951 case GDK_Menu:952 return VK_APPS;// (5D) Applications key (Natural keyboard)953 954 955 956 case GDK_Pause:957 958 959 case GDK_Caps_Lock:960 961 case GDK_Kana_Lock:962 case GDK_Kana_Shift:963 964 case GDK_Hangul:965 966 967 968 case GDK_Hangul_Hanja:969 970 case GDK_Kanji:971 972 case GDK_Escape:973 974 975 976 977 978 case GDK_space:979 980 case GDK_Page_Up:981 982 case GDK_Page_Down:983 984 case GDK_End:985 986 case GDK_Home:987 988 case GDK_Left:989 990 case GDK_Up:991 992 case GDK_Right:993 994 case GDK_Down:995 996 case GDK_Select:997 998 case GDK_Print:999 1000 case GDK_Execute:1001 return VK_EXECUTE;// (2B) EXECUTE key1002 case GDK_Insert:1003 case GDK_KP_Insert:1004 1005 case GDK_Delete:1006 case GDK_KP_Delete:1007 1008 case GDK_Help:1009 1010 case GDK_0:1011 case GDK_parenright:1012 return VK_0;// (30) 0) key1013 case GDK_1:1014 case GDK_exclam:1015 1016 case GDK_2:1017 case GDK_at:1018 1019 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 1025 case GDK_5:1026 case GDK_percent:1027 1028 case GDK_6:1029 case GDK_asciicircum:1030 1031 case GDK_7:1032 case GDK_ampersand:1033 1034 case GDK_8:1035 case GDK_asterisk:1036 1037 case GDK_9:1038 case GDK_parenleft:1039 1040 case GDK_a:1041 case GDK_A:1042 1043 case GDK_b:1044 case GDK_B:1045 1046 case GDK_c:1047 case GDK_C:1048 1049 case GDK_d:1050 case GDK_D:1051 1052 case GDK_e:1053 case GDK_E:1054 1055 case GDK_f:1056 case GDK_F:1057 1058 case GDK_g:1059 case GDK_G:1060 1061 case GDK_h:1062 case GDK_H:1063 1064 case GDK_i:1065 case GDK_I:1066 1067 case GDK_j:1068 case GDK_J:1069 1070 case GDK_k:1071 case GDK_K:1072 1073 case GDK_l:1074 case GDK_L:1075 1076 case GDK_m:1077 case GDK_M:1078 1079 case GDK_n:1080 case GDK_N:1081 1082 case GDK_o:1083 case GDK_O:1084 1085 case GDK_p:1086 case GDK_P:1087 1088 case GDK_q:1089 case GDK_Q:1090 1091 case GDK_r:1092 case GDK_R:1093 1094 case GDK_s:1095 case GDK_S:1096 1097 case GDK_t:1098 case GDK_T:1099 1100 case GDK_u:1101 case GDK_U:1102 1103 case GDK_v:1104 case GDK_V:1105 1106 case GDK_w:1107 case GDK_W:1108 1109 case GDK_x:1110 case GDK_X:1111 1112 case GDK_y:1113 case GDK_Y:1114 1115 case GDK_z:1116 case GDK_Z:1117 1118 case GDK_Meta_L:1119 1120 case GDK_Meta_R:1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 case GDK_Num_Lock:1131 1132 1133 case GDK_Scroll_Lock:1134 1135 1136 case GDK_Shift_L:1137 1138 case GDK_Shift_R:1139 1140 case GDK_Control_L:1141 1142 case GDK_Control_R:1143 1144 case GDK_Alt_L:1145 1146 case GDK_Alt_R:1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 case GDK_semicolon:1184 case GDK_colon:1185 return VK_OEM_1; //case ';': case ':': return 0xBA;1186 1187 case GDK_plus:1188 case GDK_equal:1189 return VK_OEM_PLUS; //case '=': case '+': return 0xBB;1190 1191 case GDK_comma:1192 case GDK_less:1193 return VK_OEM_COMMA; //case ',': case '<': return 0xBC;1194 1195 case GDK_minus:1196 case GDK_underscore:1197 return VK_OEM_MINUS; //case '-': case '_': return 0xBD;1198 1199 case GDK_period:1200 case GDK_greater:1201 return VK_OEM_PERIOD; //case '.': case '>': return 0xBE;1202 1203 case GDK_slash:1204 case GDK_question:1205 return VK_OEM_2; //case '/': case '?': return 0xBF;1206 1207 case GDK_asciitilde:1208 case GDK_quoteleft:1209 return VK_OEM_3; //case '`': case '~': return 0xC0;1210 1211 case GDK_bracketleft:1212 case GDK_braceleft:1213 return VK_OEM_4; //case '[': case '{': return 0xDB;1214 1215 case GDK_backslash:1216 case GDK_bar:1217 return VK_OEM_5; //case '\\': case '|': return 0xDC;1218 1219 case GDK_bracketright:1220 case GDK_braceright:1221 1222 1223 case GDK_quoteright:1224 case GDK_quotedbl:1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 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 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 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 1304 case GDK_BackSpace:1305 1306 case GDK_Tab:1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 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.