diff --git a/dev/tools/gen_keycodes/bin/gen_keycodes.dart b/dev/tools/gen_keycodes/bin/gen_keycodes.dart index 4aa28a66e4..eda611ce1f 100644 --- a/dev/tools/gen_keycodes/bin/gen_keycodes.dart +++ b/dev/tools/gen_keycodes/bin/gen_keycodes.dart @@ -163,14 +163,10 @@ Future main(List rawArguments) async { final String supplementalHidCodes = readDataFile('supplemental_hid_codes.inc'); final String androidScanCodes = await getAndroidScanCodes(); final String androidToDomKey = readDataFile('android_key_name_to_name.json'); - final String glfwKeyCodes = await getGlfwKeyCodes(); - final String glfwToDomKey = readDataFile('glfw_key_name_to_name.json'); physicalData = PhysicalKeyData( [baseHidCodes, supplementalHidCodes].join('\n'), androidScanCodes, androidToDomKey, - glfwKeyCodes, - glfwToDomKey, ); // Logical @@ -183,6 +179,8 @@ Future main(List rawArguments) async { final String macosLogicalToPhysical = readDataFile('macos_logical_to_physical.json'); final String iosLogicalToPhysical = readDataFile('ios_logical_to_physical.json'); final String androidKeyCodes = await getAndroidKeyCodes(); + final String glfwKeyCodes = await getGlfwKeyCodes(); + final String glfwToDomKey = readDataFile('glfw_key_name_to_name.json'); logicalData = LogicalKeyData( [webLogicalKeys, supplementalKeyData].join('\n'), @@ -194,6 +192,8 @@ Future main(List rawArguments) async { androidToDomKey, macosLogicalToPhysical, iosLogicalToPhysical, + glfwKeyCodes, + glfwToDomKey, physicalData, ); diff --git a/dev/tools/gen_keycodes/data/logical_key_data.json b/dev/tools/gen_keycodes/data/logical_key_data.json index b51c1b48f8..fab6a3c864 100644 --- a/dev/tools/gen_keycodes/data/logical_key_data.json +++ b/dev/tools/gen_keycodes/data/logical_key_data.json @@ -15,6 +15,9 @@ ], "android": [ "SPACE" + ], + "glfw": [ + "SPACE" ] }, "values": { @@ -29,6 +32,9 @@ ], "fuchsia": [ 77309870124 + ], + "glfw": [ + 32 ] } }, @@ -55,6 +61,9 @@ ], "android": [ "APOSTROPHE" + ], + "glfw": [ + "APOSTROPHE" ] }, "values": { @@ -66,6 +75,9 @@ ], "fuchsia": [ 77309870132 + ], + "glfw": [ + 39 ] } }, @@ -196,6 +208,9 @@ ], "android": [ "COMMA" + ], + "glfw": [ + "COMMA" ] }, "values": { @@ -207,6 +222,9 @@ ], "fuchsia": [ 77309870134 + ], + "glfw": [ + 44 ] } }, @@ -223,6 +241,9 @@ ], "android": [ "MINUS" + ], + "glfw": [ + "MINUS" ] }, "values": { @@ -234,6 +255,9 @@ ], "fuchsia": [ 77309870125 + ], + "glfw": [ + 45 ] } }, @@ -253,6 +277,9 @@ ], "android": [ "PERIOD" + ], + "glfw": [ + "PERIOD" ] }, "values": { @@ -267,6 +294,9 @@ ], "fuchsia": [ 77309870135 + ], + "glfw": [ + 46 ] } }, @@ -283,6 +313,9 @@ ], "android": [ "SLASH" + ], + "glfw": [ + "SLASH" ] }, "values": { @@ -294,6 +327,9 @@ ], "fuchsia": [ 77309870136 + ], + "glfw": [ + 47 ] } }, @@ -307,6 +343,9 @@ ], "android": [ "0" + ], + "glfw": [ + "0" ] }, "values": { @@ -315,6 +354,9 @@ ], "fuchsia": [ 77309870119 + ], + "glfw": [ + 48 ] } }, @@ -328,6 +370,9 @@ ], "android": [ "1" + ], + "glfw": [ + "1" ] }, "values": { @@ -336,6 +381,9 @@ ], "fuchsia": [ 77309870110 + ], + "glfw": [ + 49 ] } }, @@ -349,6 +397,9 @@ ], "android": [ "2" + ], + "glfw": [ + "2" ] }, "values": { @@ -357,6 +408,9 @@ ], "fuchsia": [ 77309870111 + ], + "glfw": [ + 50 ] } }, @@ -370,6 +424,9 @@ ], "android": [ "3" + ], + "glfw": [ + "3" ] }, "values": { @@ -378,6 +435,9 @@ ], "fuchsia": [ 77309870112 + ], + "glfw": [ + 51 ] } }, @@ -391,6 +451,9 @@ ], "android": [ "4" + ], + "glfw": [ + "4" ] }, "values": { @@ -399,6 +462,9 @@ ], "fuchsia": [ 77309870113 + ], + "glfw": [ + 52 ] } }, @@ -412,6 +478,9 @@ ], "android": [ "5" + ], + "glfw": [ + "5" ] }, "values": { @@ -420,6 +489,9 @@ ], "fuchsia": [ 77309870114 + ], + "glfw": [ + 53 ] } }, @@ -433,6 +505,9 @@ ], "android": [ "6" + ], + "glfw": [ + "6" ] }, "values": { @@ -441,6 +516,9 @@ ], "fuchsia": [ 77309870115 + ], + "glfw": [ + 54 ] } }, @@ -454,6 +532,9 @@ ], "android": [ "7" + ], + "glfw": [ + "7" ] }, "values": { @@ -462,6 +543,9 @@ ], "fuchsia": [ 77309870116 + ], + "glfw": [ + 55 ] } }, @@ -475,6 +559,9 @@ ], "android": [ "8" + ], + "glfw": [ + "8" ] }, "values": { @@ -483,6 +570,9 @@ ], "fuchsia": [ 77309870117 + ], + "glfw": [ + 56 ] } }, @@ -496,6 +586,9 @@ ], "android": [ "9" + ], + "glfw": [ + "9" ] }, "values": { @@ -504,6 +597,9 @@ ], "fuchsia": [ 77309870118 + ], + "glfw": [ + 57 ] } }, @@ -530,6 +626,9 @@ ], "android": [ "SEMICOLON" + ], + "glfw": [ + "SEMICOLON" ] }, "values": { @@ -541,6 +640,9 @@ ], "fuchsia": [ 77309870131 + ], + "glfw": [ + 59 ] } }, @@ -567,6 +669,9 @@ ], "android": [ "EQUALS" + ], + "glfw": [ + "EQUAL" ] }, "values": { @@ -578,6 +683,9 @@ ], "fuchsia": [ 77309870126 + ], + "glfw": [ + 61 ] } }, @@ -632,6 +740,9 @@ ], "android": [ "LEFT_BRACKET" + ], + "glfw": [ + "LEFT_BRACKET" ] }, "values": { @@ -643,6 +754,9 @@ ], "fuchsia": [ 77309870127 + ], + "glfw": [ + 91 ] } }, @@ -659,6 +773,9 @@ ], "android": [ "BACKSLASH" + ], + "glfw": [ + "BACKSLASH" ] }, "values": { @@ -670,6 +787,9 @@ ], "fuchsia": [ 77309870129 + ], + "glfw": [ + 92 ] } }, @@ -686,6 +806,9 @@ ], "android": [ "RIGHT_BRACKET" + ], + "glfw": [ + "RIGHT_BRACKET" ] }, "values": { @@ -697,6 +820,9 @@ ], "fuchsia": [ 77309870128 + ], + "glfw": [ + 93 ] } }, @@ -733,6 +859,9 @@ ], "android": [ "GRAVE" + ], + "glfw": [ + "GRAVE_ACCENT" ] }, "values": { @@ -744,6 +873,9 @@ ], "fuchsia": [ 77309870133 + ], + "glfw": [ + 96 ] } }, @@ -757,6 +889,9 @@ ], "android": [ "A" + ], + "glfw": [ + "A" ] }, "values": { @@ -765,6 +900,9 @@ ], "fuchsia": [ 77309870084 + ], + "glfw": [ + 65 ] } }, @@ -778,6 +916,9 @@ ], "android": [ "B" + ], + "glfw": [ + "B" ] }, "values": { @@ -786,6 +927,9 @@ ], "fuchsia": [ 77309870085 + ], + "glfw": [ + 66 ] } }, @@ -799,6 +943,9 @@ ], "android": [ "C" + ], + "glfw": [ + "C" ] }, "values": { @@ -807,6 +954,9 @@ ], "fuchsia": [ 77309870086 + ], + "glfw": [ + 67 ] } }, @@ -820,6 +970,9 @@ ], "android": [ "D" + ], + "glfw": [ + "D" ] }, "values": { @@ -828,6 +981,9 @@ ], "fuchsia": [ 77309870087 + ], + "glfw": [ + 68 ] } }, @@ -841,6 +997,9 @@ ], "android": [ "E" + ], + "glfw": [ + "E" ] }, "values": { @@ -849,6 +1008,9 @@ ], "fuchsia": [ 77309870088 + ], + "glfw": [ + 69 ] } }, @@ -862,6 +1024,9 @@ ], "android": [ "F" + ], + "glfw": [ + "F" ] }, "values": { @@ -870,6 +1035,9 @@ ], "fuchsia": [ 77309870089 + ], + "glfw": [ + 70 ] } }, @@ -883,6 +1051,9 @@ ], "android": [ "G" + ], + "glfw": [ + "G" ] }, "values": { @@ -891,6 +1062,9 @@ ], "fuchsia": [ 77309870090 + ], + "glfw": [ + 71 ] } }, @@ -904,6 +1078,9 @@ ], "android": [ "H" + ], + "glfw": [ + "H" ] }, "values": { @@ -912,6 +1089,9 @@ ], "fuchsia": [ 77309870091 + ], + "glfw": [ + 72 ] } }, @@ -925,6 +1105,9 @@ ], "android": [ "I" + ], + "glfw": [ + "I" ] }, "values": { @@ -933,6 +1116,9 @@ ], "fuchsia": [ 77309870092 + ], + "glfw": [ + 73 ] } }, @@ -946,6 +1132,9 @@ ], "android": [ "J" + ], + "glfw": [ + "J" ] }, "values": { @@ -954,6 +1143,9 @@ ], "fuchsia": [ 77309870093 + ], + "glfw": [ + 74 ] } }, @@ -967,6 +1159,9 @@ ], "android": [ "K" + ], + "glfw": [ + "K" ] }, "values": { @@ -975,6 +1170,9 @@ ], "fuchsia": [ 77309870094 + ], + "glfw": [ + 75 ] } }, @@ -988,6 +1186,9 @@ ], "android": [ "L" + ], + "glfw": [ + "L" ] }, "values": { @@ -996,6 +1197,9 @@ ], "fuchsia": [ 77309870095 + ], + "glfw": [ + 76 ] } }, @@ -1009,6 +1213,9 @@ ], "android": [ "M" + ], + "glfw": [ + "M" ] }, "values": { @@ -1017,6 +1224,9 @@ ], "fuchsia": [ 77309870096 + ], + "glfw": [ + 77 ] } }, @@ -1030,6 +1240,9 @@ ], "android": [ "N" + ], + "glfw": [ + "N" ] }, "values": { @@ -1038,6 +1251,9 @@ ], "fuchsia": [ 77309870097 + ], + "glfw": [ + 78 ] } }, @@ -1051,6 +1267,9 @@ ], "android": [ "O" + ], + "glfw": [ + "O" ] }, "values": { @@ -1059,6 +1278,9 @@ ], "fuchsia": [ 77309870098 + ], + "glfw": [ + 79 ] } }, @@ -1072,6 +1294,9 @@ ], "android": [ "P" + ], + "glfw": [ + "P" ] }, "values": { @@ -1080,6 +1305,9 @@ ], "fuchsia": [ 77309870099 + ], + "glfw": [ + 80 ] } }, @@ -1093,6 +1321,9 @@ ], "android": [ "Q" + ], + "glfw": [ + "Q" ] }, "values": { @@ -1101,6 +1332,9 @@ ], "fuchsia": [ 77309870100 + ], + "glfw": [ + 81 ] } }, @@ -1114,6 +1348,9 @@ ], "android": [ "R" + ], + "glfw": [ + "R" ] }, "values": { @@ -1122,6 +1359,9 @@ ], "fuchsia": [ 77309870101 + ], + "glfw": [ + 82 ] } }, @@ -1135,6 +1375,9 @@ ], "android": [ "S" + ], + "glfw": [ + "S" ] }, "values": { @@ -1143,6 +1386,9 @@ ], "fuchsia": [ 77309870102 + ], + "glfw": [ + 83 ] } }, @@ -1156,6 +1402,9 @@ ], "android": [ "T" + ], + "glfw": [ + "T" ] }, "values": { @@ -1164,6 +1413,9 @@ ], "fuchsia": [ 77309870103 + ], + "glfw": [ + 84 ] } }, @@ -1177,6 +1429,9 @@ ], "android": [ "U" + ], + "glfw": [ + "U" ] }, "values": { @@ -1185,6 +1440,9 @@ ], "fuchsia": [ 77309870104 + ], + "glfw": [ + 85 ] } }, @@ -1198,6 +1456,9 @@ ], "android": [ "V" + ], + "glfw": [ + "V" ] }, "values": { @@ -1206,6 +1467,9 @@ ], "fuchsia": [ 77309870105 + ], + "glfw": [ + 86 ] } }, @@ -1219,6 +1483,9 @@ ], "android": [ "W" + ], + "glfw": [ + "W" ] }, "values": { @@ -1227,6 +1494,9 @@ ], "fuchsia": [ 77309870106 + ], + "glfw": [ + 87 ] } }, @@ -1240,6 +1510,9 @@ ], "android": [ "X" + ], + "glfw": [ + "X" ] }, "values": { @@ -1248,6 +1521,9 @@ ], "fuchsia": [ 77309870107 + ], + "glfw": [ + 88 ] } }, @@ -1261,6 +1537,9 @@ ], "android": [ "Y" + ], + "glfw": [ + "Y" ] }, "values": { @@ -1269,6 +1548,9 @@ ], "fuchsia": [ 77309870108 + ], + "glfw": [ + 89 ] } }, @@ -1282,6 +1564,9 @@ ], "android": [ "Z" + ], + "glfw": [ + "Z" ] }, "values": { @@ -1290,6 +1575,9 @@ ], "fuchsia": [ 77309870109 + ], + "glfw": [ + 90 ] } }, @@ -1364,6 +1652,9 @@ ], "android": [ "DEL" + ], + "glfw": [ + "BACKSPACE" ] }, "values": { @@ -1384,6 +1675,9 @@ ], "fuchsia": [ 77309870122 + ], + "glfw": [ + 259 ] } }, @@ -1411,6 +1705,9 @@ ], "android": [ "TAB" + ], + "glfw": [ + "TAB" ] }, "values": { @@ -1433,6 +1730,9 @@ ], "fuchsia": [ 77309870123 + ], + "glfw": [ + 258 ] } }, @@ -1460,6 +1760,9 @@ ], "android": [ "ENTER" + ], + "glfw": [ + "ENTER" ] }, "values": { @@ -1482,6 +1785,9 @@ ], "fuchsia": [ 77309870120 + ], + "glfw": [ + 257 ] } }, @@ -1507,6 +1813,9 @@ ], "android": [ "ESCAPE" + ], + "glfw": [ + "ESCAPE" ] }, "values": { @@ -1527,6 +1836,9 @@ ], "fuchsia": [ 77309870121 + ], + "glfw": [ + 256 ] } }, @@ -1552,6 +1864,9 @@ ], "android": [ "FORWARD_DEL" + ], + "glfw": [ + "DELETE" ] }, "values": { @@ -1572,6 +1887,9 @@ ], "fuchsia": [ 77309870156 + ], + "glfw": [ + 261 ] } }, @@ -1614,6 +1932,9 @@ ], "android": [ "CAPS_LOCK" + ], + "glfw": [ + "CAPS_LOCK" ] }, "values": { @@ -1634,6 +1955,9 @@ ], "fuchsia": [ 77309870137 + ], + "glfw": [ + 280 ] } }, @@ -1720,6 +2044,9 @@ ], "android": [ "NUM_LOCK" + ], + "glfw": [ + "NUM_LOCK" ] }, "values": { @@ -1740,6 +2067,9 @@ ], "fuchsia": [ 77309870163 + ], + "glfw": [ + 282 ] } }, @@ -1853,6 +2183,9 @@ ], "android": [ "DPAD_DOWN" + ], + "glfw": [ + "DOWN" ] }, "values": { @@ -1873,6 +2206,9 @@ ], "fuchsia": [ 77309870161 + ], + "glfw": [ + 264 ] } }, @@ -1897,6 +2233,9 @@ ], "android": [ "DPAD_LEFT" + ], + "glfw": [ + "LEFT" ] }, "values": { @@ -1917,6 +2256,9 @@ ], "fuchsia": [ 77309870160 + ], + "glfw": [ + 263 ] } }, @@ -1941,6 +2283,9 @@ ], "android": [ "DPAD_RIGHT" + ], + "glfw": [ + "RIGHT" ] }, "values": { @@ -1961,6 +2306,9 @@ ], "fuchsia": [ 77309870159 + ], + "glfw": [ + 262 ] } }, @@ -1985,6 +2333,9 @@ ], "android": [ "DPAD_UP" + ], + "glfw": [ + "UP" ] }, "values": { @@ -2005,6 +2356,9 @@ ], "fuchsia": [ 77309870162 + ], + "glfw": [ + 265 ] } }, @@ -2029,6 +2383,9 @@ ], "android": [ "MOVE_END" + ], + "glfw": [ + "END" ] }, "values": { @@ -2049,6 +2406,9 @@ ], "fuchsia": [ 77309870157 + ], + "glfw": [ + 269 ] } }, @@ -2073,6 +2433,9 @@ ], "android": [ "MOVE_HOME" + ], + "glfw": [ + "HOME" ] }, "values": { @@ -2093,6 +2456,9 @@ ], "fuchsia": [ 77309870154 + ], + "glfw": [ + 268 ] } }, @@ -2117,6 +2483,9 @@ ], "android": [ "PAGE_DOWN" + ], + "glfw": [ + "PAGE_DOWN" ] }, "values": { @@ -2137,6 +2506,9 @@ ], "fuchsia": [ 77309870158 + ], + "glfw": [ + 267 ] } }, @@ -2161,6 +2533,9 @@ ], "android": [ "PAGE_UP" + ], + "glfw": [ + "PAGE_UP" ] }, "values": { @@ -2181,6 +2556,9 @@ ], "fuchsia": [ 77309870155 + ], + "glfw": [ + 266 ] } }, @@ -2331,6 +2709,9 @@ ], "android": [ "INSERT" + ], + "glfw": [ + "INSERT" ] }, "values": { @@ -2351,6 +2732,9 @@ ], "fuchsia": [ 77309870153 + ], + "glfw": [ + 260 ] } }, @@ -2518,6 +2902,9 @@ ], "android": [ "MENU" + ], + "glfw": [ + "MENU" ] }, "values": { @@ -2538,6 +2925,9 @@ ], "fuchsia": [ 77309870181 + ], + "glfw": [ + 348 ] } }, @@ -2631,6 +3021,9 @@ ], "android": [ "BREAK" + ], + "glfw": [ + "PAUSE" ] }, "values": { @@ -2645,6 +3038,9 @@ ], "fuchsia": [ 77309870152 + ], + "glfw": [ + 284 ] } }, @@ -2927,6 +3323,9 @@ ], "android": [ "SYSRQ" + ], + "glfw": [ + "PRINT_SCREEN" ] }, "values": { @@ -2938,6 +3337,9 @@ ], "fuchsia": [ 77309870150 + ], + "glfw": [ + 283 ] } }, @@ -3525,6 +3927,9 @@ ], "android": [ "F1" + ], + "glfw": [ + "F1" ] }, "values": { @@ -3546,6 +3951,9 @@ ], "fuchsia": [ 77309870138 + ], + "glfw": [ + 290 ] } }, @@ -3571,6 +3979,9 @@ ], "android": [ "F2" + ], + "glfw": [ + "F2" ] }, "values": { @@ -3592,6 +4003,9 @@ ], "fuchsia": [ 77309870139 + ], + "glfw": [ + 291 ] } }, @@ -3617,6 +4031,9 @@ ], "android": [ "F3" + ], + "glfw": [ + "F3" ] }, "values": { @@ -3638,6 +4055,9 @@ ], "fuchsia": [ 77309870140 + ], + "glfw": [ + 292 ] } }, @@ -3663,6 +4083,9 @@ ], "android": [ "F4" + ], + "glfw": [ + "F4" ] }, "values": { @@ -3684,6 +4107,9 @@ ], "fuchsia": [ 77309870141 + ], + "glfw": [ + 293 ] } }, @@ -3708,6 +4134,9 @@ ], "android": [ "F5" + ], + "glfw": [ + "F5" ] }, "values": { @@ -3728,6 +4157,9 @@ ], "fuchsia": [ 77309870142 + ], + "glfw": [ + 294 ] } }, @@ -3752,6 +4184,9 @@ ], "android": [ "F6" + ], + "glfw": [ + "F6" ] }, "values": { @@ -3772,6 +4207,9 @@ ], "fuchsia": [ 77309870143 + ], + "glfw": [ + 295 ] } }, @@ -3796,6 +4234,9 @@ ], "android": [ "F7" + ], + "glfw": [ + "F7" ] }, "values": { @@ -3816,6 +4257,9 @@ ], "fuchsia": [ 77309870144 + ], + "glfw": [ + 296 ] } }, @@ -3840,6 +4284,9 @@ ], "android": [ "F8" + ], + "glfw": [ + "F8" ] }, "values": { @@ -3860,6 +4307,9 @@ ], "fuchsia": [ 77309870145 + ], + "glfw": [ + 297 ] } }, @@ -3884,6 +4334,9 @@ ], "android": [ "F9" + ], + "glfw": [ + "F9" ] }, "values": { @@ -3904,6 +4357,9 @@ ], "fuchsia": [ 77309870146 + ], + "glfw": [ + 298 ] } }, @@ -3928,6 +4384,9 @@ ], "android": [ "F10" + ], + "glfw": [ + "F10" ] }, "values": { @@ -3948,6 +4407,9 @@ ], "fuchsia": [ 77309870147 + ], + "glfw": [ + 299 ] } }, @@ -3972,6 +4434,9 @@ ], "android": [ "F11" + ], + "glfw": [ + "F11" ] }, "values": { @@ -3992,6 +4457,9 @@ ], "fuchsia": [ 77309870148 + ], + "glfw": [ + 300 ] } }, @@ -4016,6 +4484,9 @@ ], "android": [ "F12" + ], + "glfw": [ + "F12" ] }, "values": { @@ -4036,6 +4507,9 @@ ], "fuchsia": [ 77309870149 + ], + "glfw": [ + 301 ] } }, @@ -4057,6 +4531,9 @@ ], "windows": [ "F13" + ], + "glfw": [ + "F13" ] }, "values": { @@ -4074,6 +4551,9 @@ ], "fuchsia": [ 77309870184 + ], + "glfw": [ + 302 ] } }, @@ -4095,6 +4575,9 @@ ], "windows": [ "F14" + ], + "glfw": [ + "F14" ] }, "values": { @@ -4112,6 +4595,9 @@ ], "fuchsia": [ 77309870185 + ], + "glfw": [ + 303 ] } }, @@ -4133,6 +4619,9 @@ ], "windows": [ "F15" + ], + "glfw": [ + "F15" ] }, "values": { @@ -4150,6 +4639,9 @@ ], "fuchsia": [ 77309870186 + ], + "glfw": [ + 304 ] } }, @@ -4171,6 +4663,9 @@ ], "windows": [ "F16" + ], + "glfw": [ + "F16" ] }, "values": { @@ -4188,6 +4683,9 @@ ], "fuchsia": [ 77309870187 + ], + "glfw": [ + 305 ] } }, @@ -4209,6 +4707,9 @@ ], "windows": [ "F17" + ], + "glfw": [ + "F17" ] }, "values": { @@ -4226,6 +4727,9 @@ ], "fuchsia": [ 77309870188 + ], + "glfw": [ + 306 ] } }, @@ -4247,6 +4751,9 @@ ], "windows": [ "F18" + ], + "glfw": [ + "F18" ] }, "values": { @@ -4264,6 +4771,9 @@ ], "fuchsia": [ 77309870189 + ], + "glfw": [ + 307 ] } }, @@ -4285,6 +4795,9 @@ ], "windows": [ "F19" + ], + "glfw": [ + "F19" ] }, "values": { @@ -4302,6 +4815,9 @@ ], "fuchsia": [ 77309870190 + ], + "glfw": [ + 308 ] } }, @@ -4323,6 +4839,9 @@ ], "windows": [ "F20" + ], + "glfw": [ + "F20" ] }, "values": { @@ -4340,6 +4859,9 @@ ], "fuchsia": [ 77309870191 + ], + "glfw": [ + 309 ] } }, @@ -4355,6 +4877,9 @@ ], "windows": [ "F21" + ], + "glfw": [ + "F21" ] }, "values": { @@ -4366,6 +4891,9 @@ ], "fuchsia": [ 77309870192 + ], + "glfw": [ + 310 ] } }, @@ -4381,6 +4909,9 @@ ], "windows": [ "F22" + ], + "glfw": [ + "F22" ] }, "values": { @@ -4392,6 +4923,9 @@ ], "fuchsia": [ 77309870193 + ], + "glfw": [ + 311 ] } }, @@ -4407,6 +4941,9 @@ ], "windows": [ "F23" + ], + "glfw": [ + "F23" ] }, "values": { @@ -4418,6 +4955,9 @@ ], "fuchsia": [ 77309870194 + ], + "glfw": [ + 312 ] } }, @@ -7626,6 +8166,9 @@ ], "android": [ "CTRL_LEFT" + ], + "glfw": [ + "LEFT_CONTROL" ] }, "values": { @@ -7647,6 +8190,9 @@ ], "fuchsia": [ 77309870304 + ], + "glfw": [ + 341 ] } }, @@ -7671,6 +8217,9 @@ ], "android": [ "CTRL_RIGHT" + ], + "glfw": [ + "RIGHT_CONTROL" ] }, "values": { @@ -7691,6 +8240,9 @@ ], "fuchsia": [ 77309870308 + ], + "glfw": [ + 345 ] } }, @@ -7716,6 +8268,9 @@ ], "android": [ "SHIFT_LEFT" + ], + "glfw": [ + "LEFT_SHIFT" ] }, "values": { @@ -7737,6 +8292,9 @@ ], "fuchsia": [ 77309870305 + ], + "glfw": [ + 340 ] } }, @@ -7761,6 +8319,9 @@ ], "android": [ "SHIFT_RIGHT" + ], + "glfw": [ + "RIGHT_SHIFT" ] }, "values": { @@ -7781,6 +8342,9 @@ ], "fuchsia": [ 77309870309 + ], + "glfw": [ + 344 ] } }, @@ -7805,6 +8369,9 @@ ], "android": [ "ALT_LEFT" + ], + "glfw": [ + "LEFT_ALT" ] }, "values": { @@ -7825,6 +8392,9 @@ ], "fuchsia": [ 77309870306 + ], + "glfw": [ + 342 ] } }, @@ -7850,6 +8420,9 @@ ], "android": [ "ALT_RIGHT" + ], + "glfw": [ + "RIGHT_ALT" ] }, "values": { @@ -7871,6 +8444,9 @@ ], "fuchsia": [ 77309870310 + ], + "glfw": [ + 346 ] } }, @@ -7895,6 +8471,9 @@ ], "android": [ "META_LEFT" + ], + "glfw": [ + "LEFT_SUPER" ] }, "values": { @@ -7915,6 +8494,9 @@ ], "fuchsia": [ 77309870307 + ], + "glfw": [ + 343 ] } }, @@ -7939,6 +8521,9 @@ ], "android": [ "META_RIGHT" + ], + "glfw": [ + "RIGHT_SUPER" ] }, "values": { @@ -7959,6 +8544,9 @@ ], "fuchsia": [ 77309870311 + ], + "glfw": [ + 347 ] } }, @@ -8016,6 +8604,9 @@ ], "android": [ "NUMPAD_ENTER" + ], + "glfw": [ + "KP_ENTER" ] }, "values": { @@ -8033,6 +8624,9 @@ ], "fuchsia": [ 77309870168 + ], + "glfw": [ + 335 ] } }, @@ -8097,6 +8691,9 @@ ], "android": [ "NUMPAD_MULTIPLY" + ], + "glfw": [ + "KP_MULTIPLY" ] }, "values": { @@ -8117,6 +8714,9 @@ ], "fuchsia": [ 77309870165 + ], + "glfw": [ + 332 ] } }, @@ -8141,6 +8741,9 @@ ], "android": [ "NUMPAD_ADD" + ], + "glfw": [ + "KP_ADD" ] }, "values": { @@ -8161,6 +8764,9 @@ ], "fuchsia": [ 77309870167 + ], + "glfw": [ + 334 ] } }, @@ -8267,6 +8873,9 @@ ], "android": [ "NUMPAD_DOT" + ], + "glfw": [ + "KP_DECIMAL" ] }, "values": { @@ -8287,6 +8896,9 @@ ], "fuchsia": [ 77309870179 + ], + "glfw": [ + 330 ] } }, @@ -8311,6 +8923,9 @@ ], "android": [ "NUMPAD_DIVIDE" + ], + "glfw": [ + "KP_DIVIDE" ] }, "values": { @@ -8331,6 +8946,9 @@ ], "fuchsia": [ 77309870164 + ], + "glfw": [ + 331 ] } }, @@ -8356,6 +8974,9 @@ ], "android": [ "NUMPAD_0" + ], + "glfw": [ + "KP_0" ] }, "values": { @@ -8377,6 +8998,9 @@ ], "fuchsia": [ 77309870178 + ], + "glfw": [ + 320 ] } }, @@ -8402,6 +9026,9 @@ ], "android": [ "NUMPAD_1" + ], + "glfw": [ + "KP_1" ] }, "values": { @@ -8423,6 +9050,9 @@ ], "fuchsia": [ 77309870169 + ], + "glfw": [ + 321 ] } }, @@ -8448,6 +9078,9 @@ ], "android": [ "NUMPAD_2" + ], + "glfw": [ + "KP_2" ] }, "values": { @@ -8469,6 +9102,9 @@ ], "fuchsia": [ 77309870170 + ], + "glfw": [ + 322 ] } }, @@ -8494,6 +9130,9 @@ ], "android": [ "NUMPAD_3" + ], + "glfw": [ + "KP_3" ] }, "values": { @@ -8515,6 +9154,9 @@ ], "fuchsia": [ 77309870171 + ], + "glfw": [ + 323 ] } }, @@ -8540,6 +9182,9 @@ ], "android": [ "NUMPAD_4" + ], + "glfw": [ + "KP_4" ] }, "values": { @@ -8561,6 +9206,9 @@ ], "fuchsia": [ 77309870172 + ], + "glfw": [ + 324 ] } }, @@ -8585,6 +9233,9 @@ ], "android": [ "NUMPAD_5" + ], + "glfw": [ + "KP_5" ] }, "values": { @@ -8605,6 +9256,9 @@ ], "fuchsia": [ 77309870173 + ], + "glfw": [ + 325 ] } }, @@ -8630,6 +9284,9 @@ ], "android": [ "NUMPAD_6" + ], + "glfw": [ + "KP_6" ] }, "values": { @@ -8651,6 +9308,9 @@ ], "fuchsia": [ 77309870174 + ], + "glfw": [ + 326 ] } }, @@ -8676,6 +9336,9 @@ ], "android": [ "NUMPAD_7" + ], + "glfw": [ + "KP_7" ] }, "values": { @@ -8697,6 +9360,9 @@ ], "fuchsia": [ 77309870175 + ], + "glfw": [ + 327 ] } }, @@ -8722,6 +9388,9 @@ ], "android": [ "NUMPAD_8" + ], + "glfw": [ + "KP_8" ] }, "values": { @@ -8743,6 +9412,9 @@ ], "fuchsia": [ 77309870176 + ], + "glfw": [ + 328 ] } }, @@ -8768,6 +9440,9 @@ ], "android": [ "NUMPAD_9" + ], + "glfw": [ + "KP_9" ] }, "values": { @@ -8789,6 +9464,9 @@ ], "fuchsia": [ 77309870177 + ], + "glfw": [ + 329 ] } }, @@ -8813,6 +9491,9 @@ ], "android": [ "NUMPAD_EQUALS" + ], + "glfw": [ + "KP_EQUAL" ] }, "values": { @@ -8833,6 +9514,9 @@ ], "fuchsia": [ 77309870183 + ], + "glfw": [ + 336 ] } }, diff --git a/dev/tools/gen_keycodes/data/physical_key_data.json b/dev/tools/gen_keycodes/data/physical_key_data.json index 3cdbfd0931..df36869445 100644 --- a/dev/tools/gen_keycodes/data/physical_key_data.json +++ b/dev/tools/gen_keycodes/data/physical_key_data.json @@ -562,11 +562,6 @@ "windows": 30, "macos": 0, "ios": 4 - }, - "keyCodes": { - "glfw": [ - 65 - ] } }, "KeyB": { @@ -584,11 +579,6 @@ "windows": 48, "macos": 11, "ios": 5 - }, - "keyCodes": { - "glfw": [ - 66 - ] } }, "KeyC": { @@ -606,11 +596,6 @@ "windows": 46, "macos": 8, "ios": 6 - }, - "keyCodes": { - "glfw": [ - 67 - ] } }, "KeyD": { @@ -628,11 +613,6 @@ "windows": 32, "macos": 2, "ios": 7 - }, - "keyCodes": { - "glfw": [ - 68 - ] } }, "KeyE": { @@ -650,11 +630,6 @@ "windows": 18, "macos": 14, "ios": 8 - }, - "keyCodes": { - "glfw": [ - 69 - ] } }, "KeyF": { @@ -672,11 +647,6 @@ "windows": 33, "macos": 3, "ios": 9 - }, - "keyCodes": { - "glfw": [ - 70 - ] } }, "KeyG": { @@ -694,11 +664,6 @@ "windows": 34, "macos": 5, "ios": 10 - }, - "keyCodes": { - "glfw": [ - 71 - ] } }, "KeyH": { @@ -716,11 +681,6 @@ "windows": 35, "macos": 4, "ios": 11 - }, - "keyCodes": { - "glfw": [ - 72 - ] } }, "KeyI": { @@ -738,11 +698,6 @@ "windows": 23, "macos": 34, "ios": 12 - }, - "keyCodes": { - "glfw": [ - 73 - ] } }, "KeyJ": { @@ -760,11 +715,6 @@ "windows": 36, "macos": 38, "ios": 13 - }, - "keyCodes": { - "glfw": [ - 74 - ] } }, "KeyK": { @@ -782,11 +732,6 @@ "windows": 37, "macos": 40, "ios": 14 - }, - "keyCodes": { - "glfw": [ - 75 - ] } }, "KeyL": { @@ -804,11 +749,6 @@ "windows": 38, "macos": 37, "ios": 15 - }, - "keyCodes": { - "glfw": [ - 76 - ] } }, "KeyM": { @@ -826,11 +766,6 @@ "windows": 50, "macos": 46, "ios": 16 - }, - "keyCodes": { - "glfw": [ - 77 - ] } }, "KeyN": { @@ -848,11 +783,6 @@ "windows": 49, "macos": 45, "ios": 17 - }, - "keyCodes": { - "glfw": [ - 78 - ] } }, "KeyO": { @@ -870,11 +800,6 @@ "windows": 24, "macos": 31, "ios": 18 - }, - "keyCodes": { - "glfw": [ - 79 - ] } }, "KeyP": { @@ -892,11 +817,6 @@ "windows": 25, "macos": 35, "ios": 19 - }, - "keyCodes": { - "glfw": [ - 80 - ] } }, "KeyQ": { @@ -914,11 +834,6 @@ "windows": 16, "macos": 12, "ios": 20 - }, - "keyCodes": { - "glfw": [ - 81 - ] } }, "KeyR": { @@ -936,11 +851,6 @@ "windows": 19, "macos": 15, "ios": 21 - }, - "keyCodes": { - "glfw": [ - 82 - ] } }, "KeyS": { @@ -958,11 +868,6 @@ "windows": 31, "macos": 1, "ios": 22 - }, - "keyCodes": { - "glfw": [ - 83 - ] } }, "KeyT": { @@ -980,11 +885,6 @@ "windows": 20, "macos": 17, "ios": 23 - }, - "keyCodes": { - "glfw": [ - 84 - ] } }, "KeyU": { @@ -1002,11 +902,6 @@ "windows": 22, "macos": 32, "ios": 24 - }, - "keyCodes": { - "glfw": [ - 85 - ] } }, "KeyV": { @@ -1024,11 +919,6 @@ "windows": 47, "macos": 9, "ios": 25 - }, - "keyCodes": { - "glfw": [ - 86 - ] } }, "KeyW": { @@ -1046,11 +936,6 @@ "windows": 17, "macos": 13, "ios": 26 - }, - "keyCodes": { - "glfw": [ - 87 - ] } }, "KeyX": { @@ -1068,11 +953,6 @@ "windows": 45, "macos": 7, "ios": 27 - }, - "keyCodes": { - "glfw": [ - 88 - ] } }, "KeyY": { @@ -1090,11 +970,6 @@ "windows": 21, "macos": 16, "ios": 28 - }, - "keyCodes": { - "glfw": [ - 89 - ] } }, "KeyZ": { @@ -1112,11 +987,6 @@ "windows": 44, "macos": 6, "ios": 29 - }, - "keyCodes": { - "glfw": [ - 90 - ] } }, "Digit1": { @@ -1134,11 +1004,6 @@ "windows": 2, "macos": 18, "ios": 30 - }, - "keyCodes": { - "glfw": [ - 49 - ] } }, "Digit2": { @@ -1156,11 +1021,6 @@ "windows": 3, "macos": 19, "ios": 31 - }, - "keyCodes": { - "glfw": [ - 50 - ] } }, "Digit3": { @@ -1178,11 +1038,6 @@ "windows": 4, "macos": 20, "ios": 32 - }, - "keyCodes": { - "glfw": [ - 51 - ] } }, "Digit4": { @@ -1200,11 +1055,6 @@ "windows": 5, "macos": 21, "ios": 33 - }, - "keyCodes": { - "glfw": [ - 52 - ] } }, "Digit5": { @@ -1222,11 +1072,6 @@ "windows": 6, "macos": 23, "ios": 34 - }, - "keyCodes": { - "glfw": [ - 53 - ] } }, "Digit6": { @@ -1244,11 +1089,6 @@ "windows": 7, "macos": 22, "ios": 35 - }, - "keyCodes": { - "glfw": [ - 54 - ] } }, "Digit7": { @@ -1266,11 +1106,6 @@ "windows": 8, "macos": 26, "ios": 36 - }, - "keyCodes": { - "glfw": [ - 55 - ] } }, "Digit8": { @@ -1288,11 +1123,6 @@ "windows": 9, "macos": 28, "ios": 37 - }, - "keyCodes": { - "glfw": [ - 56 - ] } }, "Digit9": { @@ -1310,11 +1140,6 @@ "windows": 10, "macos": 25, "ios": 38 - }, - "keyCodes": { - "glfw": [ - 57 - ] } }, "Digit0": { @@ -1332,11 +1157,6 @@ "windows": 11, "macos": 29, "ios": 39 - }, - "keyCodes": { - "glfw": [ - 48 - ] } }, "Enter": { @@ -1354,11 +1174,6 @@ "windows": 28, "macos": 36, "ios": 40 - }, - "keyCodes": { - "glfw": [ - 257 - ] } }, "Escape": { @@ -1376,11 +1191,6 @@ "windows": 1, "macos": 53, "ios": 41 - }, - "keyCodes": { - "glfw": [ - 256 - ] } }, "Backspace": { @@ -1398,11 +1208,6 @@ "windows": 14, "macos": 51, "ios": 42 - }, - "keyCodes": { - "glfw": [ - 259 - ] } }, "Tab": { @@ -1420,11 +1225,6 @@ "windows": 15, "macos": 48, "ios": 43 - }, - "keyCodes": { - "glfw": [ - 258 - ] } }, "Space": { @@ -1442,11 +1242,6 @@ "windows": 57, "macos": 49, "ios": 44 - }, - "keyCodes": { - "glfw": [ - 32 - ] } }, "Minus": { @@ -1464,11 +1259,6 @@ "windows": 12, "macos": 27, "ios": 45 - }, - "keyCodes": { - "glfw": [ - 45 - ] } }, "Equal": { @@ -1486,11 +1276,6 @@ "windows": 13, "macos": 24, "ios": 46 - }, - "keyCodes": { - "glfw": [ - 61 - ] } }, "BracketLeft": { @@ -1508,11 +1293,6 @@ "windows": 26, "macos": 33, "ios": 47 - }, - "keyCodes": { - "glfw": [ - 91 - ] } }, "BracketRight": { @@ -1530,11 +1310,6 @@ "windows": 27, "macos": 30, "ios": 48 - }, - "keyCodes": { - "glfw": [ - 93 - ] } }, "Backslash": { @@ -1553,11 +1328,6 @@ "windows": 43, "macos": 42, "ios": 49 - }, - "keyCodes": { - "glfw": [ - 92 - ] } }, "Semicolon": { @@ -1575,11 +1345,6 @@ "windows": 39, "macos": 41, "ios": 51 - }, - "keyCodes": { - "glfw": [ - 59 - ] } }, "Quote": { @@ -1597,11 +1362,6 @@ "windows": 40, "macos": 39, "ios": 52 - }, - "keyCodes": { - "glfw": [ - 39 - ] } }, "Backquote": { @@ -1619,11 +1379,6 @@ "windows": 41, "macos": 50, "ios": 53 - }, - "keyCodes": { - "glfw": [ - 96 - ] } }, "Comma": { @@ -1641,11 +1396,6 @@ "windows": 51, "macos": 43, "ios": 54 - }, - "keyCodes": { - "glfw": [ - 44 - ] } }, "Period": { @@ -1663,11 +1413,6 @@ "windows": 52, "macos": 47, "ios": 55 - }, - "keyCodes": { - "glfw": [ - 46 - ] } }, "Slash": { @@ -1685,11 +1430,6 @@ "windows": 53, "macos": 44, "ios": 56 - }, - "keyCodes": { - "glfw": [ - 47 - ] } }, "CapsLock": { @@ -1707,11 +1447,6 @@ "windows": 58, "macos": 57, "ios": 57 - }, - "keyCodes": { - "glfw": [ - 280 - ] } }, "F1": { @@ -1729,11 +1464,6 @@ "windows": 59, "macos": 122, "ios": 58 - }, - "keyCodes": { - "glfw": [ - 290 - ] } }, "F2": { @@ -1751,11 +1481,6 @@ "windows": 60, "macos": 120, "ios": 59 - }, - "keyCodes": { - "glfw": [ - 291 - ] } }, "F3": { @@ -1773,11 +1498,6 @@ "windows": 61, "macos": 99, "ios": 60 - }, - "keyCodes": { - "glfw": [ - 292 - ] } }, "F4": { @@ -1795,11 +1515,6 @@ "windows": 62, "macos": 118, "ios": 61 - }, - "keyCodes": { - "glfw": [ - 293 - ] } }, "F5": { @@ -1817,11 +1532,6 @@ "windows": 63, "macos": 96, "ios": 62 - }, - "keyCodes": { - "glfw": [ - 294 - ] } }, "F6": { @@ -1839,11 +1549,6 @@ "windows": 64, "macos": 97, "ios": 63 - }, - "keyCodes": { - "glfw": [ - 295 - ] } }, "F7": { @@ -1861,11 +1566,6 @@ "windows": 65, "macos": 98, "ios": 64 - }, - "keyCodes": { - "glfw": [ - 296 - ] } }, "F8": { @@ -1883,11 +1583,6 @@ "windows": 66, "macos": 100, "ios": 65 - }, - "keyCodes": { - "glfw": [ - 297 - ] } }, "F9": { @@ -1905,11 +1600,6 @@ "windows": 67, "macos": 101, "ios": 66 - }, - "keyCodes": { - "glfw": [ - 298 - ] } }, "F10": { @@ -1927,11 +1617,6 @@ "windows": 68, "macos": 109, "ios": 67 - }, - "keyCodes": { - "glfw": [ - 299 - ] } }, "F11": { @@ -1949,11 +1634,6 @@ "windows": 87, "macos": 103, "ios": 68 - }, - "keyCodes": { - "glfw": [ - 300 - ] } }, "F12": { @@ -1971,11 +1651,6 @@ "windows": 88, "macos": 111, "ios": 69 - }, - "keyCodes": { - "glfw": [ - 301 - ] } }, "PrintScreen": { @@ -1992,11 +1667,6 @@ "xkb": 107, "windows": 57399, "ios": 70 - }, - "keyCodes": { - "glfw": [ - 283 - ] } }, "ScrollLock": { @@ -2030,11 +1700,6 @@ "xkb": 127, "windows": 69, "ios": 72 - }, - "keyCodes": { - "glfw": [ - 284 - ] } }, "Insert": { @@ -2052,11 +1717,6 @@ "windows": 57426, "macos": 114, "ios": 73 - }, - "keyCodes": { - "glfw": [ - 260 - ] } }, "Home": { @@ -2074,11 +1734,6 @@ "windows": 57415, "macos": 115, "ios": 74 - }, - "keyCodes": { - "glfw": [ - 268 - ] } }, "PageUp": { @@ -2097,11 +1752,6 @@ "windows": 57417, "macos": 116, "ios": 75 - }, - "keyCodes": { - "glfw": [ - 266 - ] } }, "Delete": { @@ -2119,11 +1769,6 @@ "windows": 57427, "macos": 117, "ios": 76 - }, - "keyCodes": { - "glfw": [ - 261 - ] } }, "End": { @@ -2141,11 +1786,6 @@ "windows": 57423, "macos": 119, "ios": 77 - }, - "keyCodes": { - "glfw": [ - 269 - ] } }, "PageDown": { @@ -2164,11 +1804,6 @@ "windows": 57425, "macos": 121, "ios": 78 - }, - "keyCodes": { - "glfw": [ - 267 - ] } }, "ArrowRight": { @@ -2186,11 +1821,6 @@ "windows": 57421, "macos": 124, "ios": 79 - }, - "keyCodes": { - "glfw": [ - 262 - ] } }, "ArrowLeft": { @@ -2208,11 +1838,6 @@ "windows": 57419, "macos": 123, "ios": 80 - }, - "keyCodes": { - "glfw": [ - 263 - ] } }, "ArrowDown": { @@ -2230,11 +1855,6 @@ "windows": 57424, "macos": 125, "ios": 81 - }, - "keyCodes": { - "glfw": [ - 264 - ] } }, "ArrowUp": { @@ -2252,11 +1872,6 @@ "windows": 57416, "macos": 126, "ios": 82 - }, - "keyCodes": { - "glfw": [ - 265 - ] } }, "NumLock": { @@ -2274,11 +1889,6 @@ "windows": 57413, "macos": 71, "ios": 83 - }, - "keyCodes": { - "glfw": [ - 282 - ] } }, "NumpadDivide": { @@ -2296,11 +1906,6 @@ "windows": 57397, "macos": 75, "ios": 84 - }, - "keyCodes": { - "glfw": [ - 331 - ] } }, "NumpadMultiply": { @@ -2318,11 +1923,6 @@ "windows": 55, "macos": 67, "ios": 85 - }, - "keyCodes": { - "glfw": [ - 332 - ] } }, "NumpadSubtract": { @@ -2357,11 +1957,6 @@ "windows": 78, "macos": 69, "ios": 87 - }, - "keyCodes": { - "glfw": [ - 334 - ] } }, "NumpadEnter": { @@ -2379,11 +1974,6 @@ "windows": 57372, "macos": 76, "ios": 88 - }, - "keyCodes": { - "glfw": [ - 335 - ] } }, "Numpad1": { @@ -2401,11 +1991,6 @@ "windows": 79, "macos": 83, "ios": 89 - }, - "keyCodes": { - "glfw": [ - 321 - ] } }, "Numpad2": { @@ -2423,11 +2008,6 @@ "windows": 80, "macos": 84, "ios": 90 - }, - "keyCodes": { - "glfw": [ - 322 - ] } }, "Numpad3": { @@ -2445,11 +2025,6 @@ "windows": 81, "macos": 85, "ios": 91 - }, - "keyCodes": { - "glfw": [ - 323 - ] } }, "Numpad4": { @@ -2467,11 +2042,6 @@ "windows": 75, "macos": 86, "ios": 92 - }, - "keyCodes": { - "glfw": [ - 324 - ] } }, "Numpad5": { @@ -2489,11 +2059,6 @@ "windows": 76, "macos": 87, "ios": 93 - }, - "keyCodes": { - "glfw": [ - 325 - ] } }, "Numpad6": { @@ -2511,11 +2076,6 @@ "windows": 77, "macos": 88, "ios": 94 - }, - "keyCodes": { - "glfw": [ - 326 - ] } }, "Numpad7": { @@ -2533,11 +2093,6 @@ "windows": 71, "macos": 89, "ios": 95 - }, - "keyCodes": { - "glfw": [ - 327 - ] } }, "Numpad8": { @@ -2555,11 +2110,6 @@ "windows": 72, "macos": 91, "ios": 96 - }, - "keyCodes": { - "glfw": [ - 328 - ] } }, "Numpad9": { @@ -2577,11 +2127,6 @@ "windows": 73, "macos": 92, "ios": 97 - }, - "keyCodes": { - "glfw": [ - 329 - ] } }, "Numpad0": { @@ -2599,11 +2144,6 @@ "windows": 82, "macos": 82, "ios": 98 - }, - "keyCodes": { - "glfw": [ - 320 - ] } }, "NumpadDecimal": { @@ -2621,11 +2161,6 @@ "windows": 83, "macos": 65, "ios": 99 - }, - "keyCodes": { - "glfw": [ - 330 - ] } }, "IntlBackslash": { @@ -2658,11 +2193,6 @@ "windows": 57437, "macos": 110, "ios": 101 - }, - "keyCodes": { - "glfw": [ - 348 - ] } }, "Power": { @@ -2697,11 +2227,6 @@ "windows": 89, "macos": 81, "ios": 103 - }, - "keyCodes": { - "glfw": [ - 336 - ] } }, "F13": { @@ -2719,11 +2244,6 @@ "windows": 100, "macos": 105, "ios": 104 - }, - "keyCodes": { - "glfw": [ - 302 - ] } }, "F14": { @@ -2741,11 +2261,6 @@ "windows": 101, "macos": 107, "ios": 105 - }, - "keyCodes": { - "glfw": [ - 303 - ] } }, "F15": { @@ -2763,11 +2278,6 @@ "windows": 102, "macos": 113, "ios": 106 - }, - "keyCodes": { - "glfw": [ - 304 - ] } }, "F16": { @@ -2785,11 +2295,6 @@ "windows": 103, "macos": 106, "ios": 107 - }, - "keyCodes": { - "glfw": [ - 305 - ] } }, "F17": { @@ -2807,11 +2312,6 @@ "windows": 104, "macos": 64, "ios": 108 - }, - "keyCodes": { - "glfw": [ - 306 - ] } }, "F18": { @@ -2829,11 +2329,6 @@ "windows": 105, "macos": 79, "ios": 109 - }, - "keyCodes": { - "glfw": [ - 307 - ] } }, "F19": { @@ -2851,11 +2346,6 @@ "windows": 106, "macos": 80, "ios": 110 - }, - "keyCodes": { - "glfw": [ - 308 - ] } }, "F20": { @@ -2873,11 +2363,6 @@ "windows": 107, "macos": 90, "ios": 111 - }, - "keyCodes": { - "glfw": [ - 309 - ] } }, "F21": { @@ -2894,11 +2379,6 @@ "xkb": 199, "windows": 108, "ios": 112 - }, - "keyCodes": { - "glfw": [ - 310 - ] } }, "F22": { @@ -2915,11 +2395,6 @@ "xkb": 200, "windows": 109, "ios": 113 - }, - "keyCodes": { - "glfw": [ - 311 - ] } }, "F23": { @@ -2936,11 +2411,6 @@ "xkb": 201, "windows": 110, "ios": 114 - }, - "keyCodes": { - "glfw": [ - 312 - ] } }, "F24": { @@ -3478,11 +2948,6 @@ "windows": 29, "macos": 59, "ios": 224 - }, - "keyCodes": { - "glfw": [ - 341 - ] } }, "ShiftLeft": { @@ -3500,11 +2965,6 @@ "windows": 42, "macos": 56, "ios": 225 - }, - "keyCodes": { - "glfw": [ - 340 - ] } }, "AltLeft": { @@ -3522,11 +2982,6 @@ "windows": 56, "macos": 58, "ios": 226 - }, - "keyCodes": { - "glfw": [ - 342 - ] } }, "MetaLeft": { @@ -3544,11 +2999,6 @@ "windows": 57435, "macos": 55, "ios": 227 - }, - "keyCodes": { - "glfw": [ - 343 - ] } }, "ControlRight": { @@ -3566,11 +3016,6 @@ "windows": 57373, "macos": 62, "ios": 228 - }, - "keyCodes": { - "glfw": [ - 345 - ] } }, "ShiftRight": { @@ -3588,11 +3033,6 @@ "windows": 54, "macos": 60, "ios": 229 - }, - "keyCodes": { - "glfw": [ - 344 - ] } }, "AltRight": { @@ -3610,11 +3050,6 @@ "windows": 57400, "macos": 61, "ios": 230 - }, - "keyCodes": { - "glfw": [ - 346 - ] } }, "MetaRight": { @@ -3632,11 +3067,6 @@ "windows": 57436, "macos": 54, "ios": 231 - }, - "keyCodes": { - "glfw": [ - 347 - ] } }, "Info": { diff --git a/dev/tools/gen_keycodes/lib/keyboard_maps_code_gen.dart b/dev/tools/gen_keycodes/lib/keyboard_maps_code_gen.dart index ee37a66ab2..27eee82bbb 100644 --- a/dev/tools/gen_keycodes/lib/keyboard_maps_code_gen.dart +++ b/dev/tools/gen_keycodes/lib/keyboard_maps_code_gen.dart @@ -63,7 +63,8 @@ class KeyboardMapsCodeGenerator extends BaseCodeGenerator { String get _glfwNumpadMap { final OutputLines lines = OutputLines('GLFW numpad map'); for (final PhysicalKeyEntry entry in _numpadKeyData) { - for (final int code in entry.glfwKeyCodes) { + final LogicalKeyEntry logicalKey = logicalData.entryByName(entry.name); + for (final int code in logicalKey.glfwValues) { lines.add(code, ' $code: LogicalKeyboardKey.${entry.constantName},'); } } @@ -73,9 +74,9 @@ class KeyboardMapsCodeGenerator extends BaseCodeGenerator { /// This generates the map of GLFW key codes to logical keys. String get _glfwKeyCodeMap { final OutputLines lines = OutputLines('GLFW key code map'); - for (final PhysicalKeyEntry entry in keyData.entries) { - for (final int code in entry.glfwKeyCodes) { - lines.add(code, ' $code: LogicalKeyboardKey.${entry.constantName},'); + for (final LogicalKeyEntry entry in logicalData.entries) { + for (final int value in entry.glfwValues) { + lines.add(value, ' $value: LogicalKeyboardKey.${entry.constantName},'); } } return lines.sortedJoin().trimRight(); diff --git a/dev/tools/gen_keycodes/lib/logical_key_data.dart b/dev/tools/gen_keycodes/lib/logical_key_data.dart index c55c36c4bf..a26d4b5341 100644 --- a/dev/tools/gen_keycodes/lib/logical_key_data.dart +++ b/dev/tools/gen_keycodes/lib/logical_key_data.dart @@ -50,6 +50,8 @@ class LogicalKeyData { String androidNameMap, String macosLogicalToPhysical, String iosLogicalToPhysical, + String glfwHeaderFile, + String glfwNameMap, PhysicalKeyData physicalKeyData, ) { final Map data = {}; @@ -60,6 +62,7 @@ class LogicalKeyData { _readMacOsKeyCodes(data, physicalKeyData, parseMapOfListOfString(macosLogicalToPhysical)); _readIosKeyCodes(data, physicalKeyData, parseMapOfListOfString(iosLogicalToPhysical)); _readFuchsiaKeyCodes(data, physicalKeyData); + _readGlfwKeyCodes(data, glfwHeaderFile, parseMapOfListOfString(glfwNameMap)); // Sort entries by value final List> sortedEntries = data.entries.toList()..sort( (MapEntry a, MapEntry b) => @@ -333,6 +336,54 @@ class LogicalKeyData { } } + /// Parses entries from GLFW's keycodes.h key code data file. + /// + /// Lines in this file look like this (without the ///): + /// /** Space key. */ + /// #define GLFW_KEY_SPACE 32, + /// #define GLFW_KEY_LAST GLFW_KEY_MENU + static void _readGlfwKeyCodes(Map data, String headerFile, Map> nameMap) { + final Map nameToFlutterName = reverseMapOfListOfString(nameMap, + (String flutterName, String glfwName) { print('Duplicate GLFW logical name $glfwName'); }); + + // Only get the KEY definitions, ignore the rest (mouse, joystick, etc). + final RegExp definedCodes = RegExp( + r'define\s+' + r'GLFW_KEY_(?[A-Z0-9_]+)\s+' + r'(?[A-Z0-9_]+),?', + ); + final Map replaced = {}; + for (final RegExpMatch match in definedCodes.allMatches(headerFile)) { + final String name = match.namedGroup('name')!; + final String value = match.namedGroup('value')!; + replaced[name] = int.tryParse(value) ?? value.replaceAll('GLFW_KEY_', ''); + } + final Map glfwNameToKeyCode = {}; + replaced.forEach((String key, dynamic value) { + // Some definition values point to other definitions (e.g #define GLFW_KEY_LAST GLFW_KEY_MENU). + if (value is String) { + glfwNameToKeyCode[key] = replaced[value] as int; + } else { + glfwNameToKeyCode[key] = value as int; + } + }); + + glfwNameToKeyCode.forEach((String glfwName, int value) { + final String? name = nameToFlutterName[glfwName]; + final LogicalKeyEntry? entry = data[nameToFlutterName[glfwName]]; + if (entry == null) { + print('Invalid logical entry by name $name (from GLFW $glfwName)'); + return; + } + addNameValue( + entry.glfwNames, + entry.glfwValues, + glfwName, + value, + ); + }); + } + // Map Web key to the pair of key names static late final Map _chromeModifiers = () { final String rawJson = File(path.join(dataRoot, 'chromium_modifiers.json',)).readAsStringSync(); @@ -401,7 +452,9 @@ class LogicalKeyEntry { windowsValues = [], androidNames = [], androidValues = [], - fuchsiaValues = []; + fuchsiaValues = [], + glfwNames = [], + glfwValues = []; LogicalKeyEntry.fromName({ required int value, @@ -429,6 +482,8 @@ class LogicalKeyEntry { androidNames = _toNonEmptyArray((map['names'] as Map)['android']), androidValues = _toNonEmptyArray((map['values'] as Map?)?['android']), fuchsiaValues = _toNonEmptyArray((map['values'] as Map?)?['fuchsia']), + glfwNames = _toNonEmptyArray((map['names'] as Map)['glfw']), + glfwValues = _toNonEmptyArray((map['values'] as Map?)?['glfw']), keyLabel = map['keyLabel'] as String?; final int value; @@ -490,6 +545,15 @@ class LogicalKeyEntry { final List fuchsiaValues; + /// The list of names that GLFW gives to this key (symbol names minus the + /// prefix). + final List glfwNames; + + /// The list of GLFW key codes matching this key, created by looking up the + /// GLFW name in the Chromium data, and substituting the GLFW key code + /// value. + final List glfwValues; + /// A string indicating the letter on the keycap of a letter key. /// /// This is only used to generate the key label mapping in keyboard_map.dart. @@ -510,6 +574,7 @@ class LogicalKeyEntry { 'gtk': gtkNames, 'windows': windowsNames, 'android': androidNames, + 'glfw': glfwNames, }, 'values': >{ 'macos': macOSKeyCodeValues, @@ -518,6 +583,7 @@ class LogicalKeyEntry { 'windows': windowsValues, 'android': androidValues, 'fuchsia': fuchsiaValues, + 'glfw': glfwValues, }, }); } diff --git a/dev/tools/gen_keycodes/lib/physical_key_data.dart b/dev/tools/gen_keycodes/lib/physical_key_data.dart index 957b990c85..49fcb4da1d 100644 --- a/dev/tools/gen_keycodes/lib/physical_key_data.dart +++ b/dev/tools/gen_keycodes/lib/physical_key_data.dart @@ -17,15 +17,11 @@ class PhysicalKeyData { String chromiumHidCodes, String androidKeyboardLayout, String androidNameMap, - String glfwHeaderFile, - String glfwNameMap, ) { final Map> nameToAndroidScanCodes = _readAndroidScanCodes(androidKeyboardLayout, androidNameMap); - final Map> nameToGlfwKeyCodes = _readGlfwKeyCodes(glfwHeaderFile, glfwNameMap); final Map data = _readHidEntries( chromiumHidCodes, nameToAndroidScanCodes, - nameToGlfwKeyCodes, ); final List> sortedEntries = data.entries.toList()..sort( (MapEntry a, MapEntry b) => @@ -134,54 +130,6 @@ class PhysicalKeyData { return result; } - /// Parses entries from GLFW's keycodes.h key code data file. - /// - /// Lines in this file look like this (without the ///): - /// /** Space key. */ - /// #define GLFW_KEY_SPACE 32, - /// #define GLFW_KEY_LAST GLFW_KEY_MENU - - static Map> _readGlfwKeyCodes(String headerFile, String nameMap) { - // Only get the KEY definitions, ignore the rest (mouse, joystick, etc). - final RegExp definedCodes = RegExp( - r'define\s+' - r'GLFW_KEY_(?[A-Z0-9_]+)\s+' - r'(?[A-Z0-9_]+),?', - ); - final Map replaced = {}; - for (final RegExpMatch match in definedCodes.allMatches(headerFile)) { - final String name = match.namedGroup('name')!; - final String value = match.namedGroup('value')!; - replaced[name] = int.tryParse(value) ?? value.replaceAll('GLFW_KEY_', ''); - } - final Map glfwNameToKeyCode = {}; - replaced.forEach((String key, dynamic value) { - // Some definition values point to other definitions (e.g #define GLFW_KEY_LAST GLFW_KEY_MENU). - if (value is String) { - glfwNameToKeyCode[key] = replaced[value] as int; - } else { - glfwNameToKeyCode[key] = value as int; - } - }); - - final Map> nameToGlfwNames = (json.decode(nameMap) as Map) - .cast>() - .map>((String key, List value) { - return MapEntry>(key, value.cast()); - }); - - final Map> result = nameToGlfwNames.map((String name, List glfwNames) { - final Set keyCodes = {}; - for (final String glfwName in glfwNames) { - if (glfwNameToKeyCode[glfwName] != null) - keyCodes.add(glfwNameToKeyCode[glfwName]!); - } - return MapEntry>(name, keyCodes.toList()..sort()); - }); - - return result; - } - /// Parses entries from Chromium's HID code mapping header file. /// /// Lines in this file look like this (without the ///): @@ -190,7 +138,6 @@ class PhysicalKeyData { static Map _readHidEntries( String input, Map> nameToAndroidScanCodes, - Map> nameToGlfwKeyCodes, ) { final Map entries = {}; final RegExp usbMapRegExp = RegExp( @@ -227,7 +174,6 @@ class PhysicalKeyData { final PhysicalKeyEntry newEntry = PhysicalKeyEntry( usbHidCode: usbHidCode, androidScanCodes: nameToAndroidScanCodes[name] ?? [], - glfwKeyCodes: nameToGlfwKeyCodes[name] ?? [], linuxScanCode: linuxScanCode == 0 ? null : linuxScanCode, xKbScanCode: xKbScanCode == 0 ? null : xKbScanCode, windowsScanCode: windowsScanCode == 0 ? null : windowsScanCode, @@ -270,14 +216,12 @@ class PhysicalKeyEntry { required this.macOSScanCode, required this.iOSScanCode, required this.chromiumCode, - required this.glfwKeyCodes, }); /// Populates the key from a JSON map. factory PhysicalKeyEntry.fromJsonMapEntry(Map map) { final Map names = map['names'] as Map; final Map scanCodes = map['scanCodes'] as Map; - final Map? keyCodes = map['keyCodes'] as Map?; return PhysicalKeyEntry( name: names['name'] as String, chromiumCode: names['chromium'] as String?, @@ -288,7 +232,6 @@ class PhysicalKeyEntry { windowsScanCode: scanCodes['windows'] as int?, macOSScanCode: scanCodes['macos'] as int?, iOSScanCode: scanCodes['ios'] as int?, - glfwKeyCodes: (keyCodes?['glfw'] as List?)?.cast() ?? [], ); } @@ -309,10 +252,6 @@ class PhysicalKeyEntry { /// the Android name in the Chromium data, and substituting the Android scan /// code value. final List androidScanCodes; - /// The list of GLFW key codes matching this key, created by looking up the - /// Linux name in the Chromium data, and substituting the GLFW key code - /// value. - final List glfwKeyCodes; /// The name of the key, mostly derived from the DomKey name in Chromium, /// but where there was no DomKey representation, derived from the Chromium /// symbol name. @@ -336,9 +275,6 @@ class PhysicalKeyEntry { 'macos': macOSScanCode, 'ios': iOSScanCode, }, - 'keyCodes': >{ - 'glfw': glfwKeyCodes, - }, }); }