Unverified Commit c6a24e3f authored by Tong Mu's avatar Tong Mu Committed by GitHub

[gen_keycodes] Move GLFW keys to logical_key_data (#87086)

parent b50991d6
......@@ -163,14 +163,10 @@ Future<void> main(List<String> 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(
<String>[baseHidCodes, supplementalHidCodes].join('\n'),
androidScanCodes,
androidToDomKey,
glfwKeyCodes,
glfwToDomKey,
);
// Logical
......@@ -183,6 +179,8 @@ Future<void> main(List<String> 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(
<String>[webLogicalKeys, supplementalKeyData].join('\n'),
......@@ -194,6 +192,8 @@ Future<void> main(List<String> rawArguments) async {
androidToDomKey,
macosLogicalToPhysical,
iosLogicalToPhysical,
glfwKeyCodes,
glfwToDomKey,
physicalData,
);
......
......@@ -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
]
}
},
......
......@@ -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": {
......
......@@ -63,7 +63,8 @@ class KeyboardMapsCodeGenerator extends BaseCodeGenerator {
String get _glfwNumpadMap {
final OutputLines<int> lines = OutputLines<int>('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<int> lines = OutputLines<int>('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();
......
......@@ -50,6 +50,8 @@ class LogicalKeyData {
String androidNameMap,
String macosLogicalToPhysical,
String iosLogicalToPhysical,
String glfwHeaderFile,
String glfwNameMap,
PhysicalKeyData physicalKeyData,
) {
final Map<String, LogicalKeyEntry> data = <String, LogicalKeyEntry>{};
......@@ -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<MapEntry<String, LogicalKeyEntry>> sortedEntries = data.entries.toList()..sort(
(MapEntry<String, LogicalKeyEntry> a, MapEntry<String, LogicalKeyEntry> 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<String, LogicalKeyEntry> data, String headerFile, Map<String, List<String>> nameMap) {
final Map<String, String> 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_(?<name>[A-Z0-9_]+)\s+'
r'(?<value>[A-Z0-9_]+),?',
);
final Map<String, dynamic> replaced = <String, dynamic>{};
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<String, int> glfwNameToKeyCode = <String, int>{};
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<String, _ModifierPair> _chromeModifiers = () {
final String rawJson = File(path.join(dataRoot, 'chromium_modifiers.json',)).readAsStringSync();
......@@ -401,7 +452,9 @@ class LogicalKeyEntry {
windowsValues = <int>[],
androidNames = <String>[],
androidValues = <int>[],
fuchsiaValues = <int>[];
fuchsiaValues = <int>[],
glfwNames = <String>[],
glfwValues = <int>[];
LogicalKeyEntry.fromName({
required int value,
......@@ -429,6 +482,8 @@ class LogicalKeyEntry {
androidNames = _toNonEmptyArray<String>((map['names'] as Map<String, dynamic>)['android']),
androidValues = _toNonEmptyArray<int>((map['values'] as Map<String, dynamic>?)?['android']),
fuchsiaValues = _toNonEmptyArray<int>((map['values'] as Map<String, dynamic>?)?['fuchsia']),
glfwNames = _toNonEmptyArray<String>((map['names'] as Map<String, dynamic>)['glfw']),
glfwValues = _toNonEmptyArray<int>((map['values'] as Map<String, dynamic>?)?['glfw']),
keyLabel = map['keyLabel'] as String?;
final int value;
......@@ -490,6 +545,15 @@ class LogicalKeyEntry {
final List<int> fuchsiaValues;
/// The list of names that GLFW gives to this key (symbol names minus the
/// prefix).
final List<String> 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<int> 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': <String, List<int>>{
'macos': macOSKeyCodeValues,
......@@ -518,6 +583,7 @@ class LogicalKeyEntry {
'windows': windowsValues,
'android': androidValues,
'fuchsia': fuchsiaValues,
'glfw': glfwValues,
},
});
}
......
......@@ -17,15 +17,11 @@ class PhysicalKeyData {
String chromiumHidCodes,
String androidKeyboardLayout,
String androidNameMap,
String glfwHeaderFile,
String glfwNameMap,
) {
final Map<String, List<int>> nameToAndroidScanCodes = _readAndroidScanCodes(androidKeyboardLayout, androidNameMap);
final Map<String, List<int>> nameToGlfwKeyCodes = _readGlfwKeyCodes(glfwHeaderFile, glfwNameMap);
final Map<String, PhysicalKeyEntry> data = _readHidEntries(
chromiumHidCodes,
nameToAndroidScanCodes,
nameToGlfwKeyCodes,
);
final List<MapEntry<String, PhysicalKeyEntry>> sortedEntries = data.entries.toList()..sort(
(MapEntry<String, PhysicalKeyEntry> a, MapEntry<String, PhysicalKeyEntry> 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<String, List<int>> _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_(?<name>[A-Z0-9_]+)\s+'
r'(?<value>[A-Z0-9_]+),?',
);
final Map<String, dynamic> replaced = <String, dynamic>{};
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<String, int> glfwNameToKeyCode = <String, int>{};
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<String, List<String>> nameToGlfwNames = (json.decode(nameMap) as Map<String, dynamic>)
.cast<String, List<dynamic>>()
.map<String, List<String>>((String key, List<dynamic> value) {
return MapEntry<String, List<String>>(key, value.cast<String>());
});
final Map<String, List<int>> result = nameToGlfwNames.map((String name, List<String> glfwNames) {
final Set<int> keyCodes = <int>{};
for (final String glfwName in glfwNames) {
if (glfwNameToKeyCode[glfwName] != null)
keyCodes.add(glfwNameToKeyCode[glfwName]!);
}
return MapEntry<String, List<int>>(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<String, PhysicalKeyEntry> _readHidEntries(
String input,
Map<String, List<int>> nameToAndroidScanCodes,
Map<String, List<int>> nameToGlfwKeyCodes,
) {
final Map<int, PhysicalKeyEntry> entries = <int, PhysicalKeyEntry>{};
final RegExp usbMapRegExp = RegExp(
......@@ -227,7 +174,6 @@ class PhysicalKeyData {
final PhysicalKeyEntry newEntry = PhysicalKeyEntry(
usbHidCode: usbHidCode,
androidScanCodes: nameToAndroidScanCodes[name] ?? <int>[],
glfwKeyCodes: nameToGlfwKeyCodes[name] ?? <int>[],
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<String, dynamic> map) {
final Map<String, dynamic> names = map['names'] as Map<String, dynamic>;
final Map<String, dynamic> scanCodes = map['scanCodes'] as Map<String, dynamic>;
final Map<String, dynamic>? keyCodes = map['keyCodes'] as Map<String, dynamic>?;
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<dynamic>?)?.cast<int>() ?? <int>[],
);
}
......@@ -309,10 +252,6 @@ class PhysicalKeyEntry {
/// the Android name in the Chromium data, and substituting the Android scan
/// code value.
final List<int> 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<int> 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': <String, List<int>>{
'glfw': glfwKeyCodes,
},
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment