[gen_keycodes] Move GLFW keys to logical_key_data (#87086)
diff --git a/dev/tools/gen_keycodes/bin/gen_keycodes.dart b/dev/tools/gen_keycodes/bin/gen_keycodes.dart
index 4aa28a6..eda611c 100644
--- a/dev/tools/gen_keycodes/bin/gen_keycodes.dart
+++ b/dev/tools/gen_keycodes/bin/gen_keycodes.dart
@@ -163,14 +163,10 @@
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 @@
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 @@
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 b51c1b4..fab6a3c 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 3cdbfd0..df36869 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 ee37a66..27eee82 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 @@
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 @@
/// 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();
diff --git a/dev/tools/gen_keycodes/lib/logical_key_data.dart b/dev/tools/gen_keycodes/lib/logical_key_data.dart
index c55c36c..a26d4b5 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 @@
String androidNameMap,
String macosLogicalToPhysical,
String iosLogicalToPhysical,
+ String glfwHeaderFile,
+ String glfwNameMap,
PhysicalKeyData physicalKeyData,
) {
final Map<String, LogicalKeyEntry> data = <String, LogicalKeyEntry>{};
@@ -60,6 +62,7 @@
_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 @@
}
}
+ /// 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 @@
windowsValues = <int>[],
androidNames = <String>[],
androidValues = <int>[],
- fuchsiaValues = <int>[];
+ fuchsiaValues = <int>[],
+ glfwNames = <String>[],
+ glfwValues = <int>[];
LogicalKeyEntry.fromName({
required int value,
@@ -429,6 +482,8 @@
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 @@
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 @@
'gtk': gtkNames,
'windows': windowsNames,
'android': androidNames,
+ 'glfw': glfwNames,
},
'values': <String, List<int>>{
'macos': macOSKeyCodeValues,
@@ -518,6 +583,7 @@
'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 957b990..49fcb4d 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
/// 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 @@
'macos': macOSScanCode,
'ios': iOSScanCode,
},
- 'keyCodes': <String, List<int>>{
- 'glfw': glfwKeyCodes,
- },
});
}