[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,
-      },
     });
   }