Unverified Commit e9905b6a authored by Francisco Magdaleno's avatar Francisco Magdaleno Committed by GitHub

[Keyboard] Collects windows key data (#52265)

parent bc43b41d
...@@ -17,7 +17,7 @@ import 'package:gen_keycodes/utils.dart'; ...@@ -17,7 +17,7 @@ import 'package:gen_keycodes/utils.dart';
/// Get contents of the file that contains the key code mapping in Chromium /// Get contents of the file that contains the key code mapping in Chromium
/// source. /// source.
Future<String> getChromiumConversions() async { Future<String> getChromiumConversions() async {
final Uri keyCodeMapUri = Uri.parse('https://cs.chromium.org/codesearch/f/chromium/src/ui/events/keycodes/dom/keycode_converter_data.inc'); final Uri keyCodeMapUri = Uri.parse('https://cs.chromium.org/codesearch/f/chromium/src/ui/events/keycodes/dom/dom_code_data.inc');
return await http.read(keyCodeMapUri); return await http.read(keyCodeMapUri);
} }
...@@ -27,6 +27,11 @@ Future<String> getAndroidKeyCodes() async { ...@@ -27,6 +27,11 @@ Future<String> getAndroidKeyCodes() async {
return utf8.decode(base64.decode(await http.read(keyCodesUri))); return utf8.decode(base64.decode(await http.read(keyCodesUri)));
} }
Future<String> getWindowsKeyCodes() async {
final Uri keyCodesUri = Uri.parse('https://raw.githubusercontent.com/tpn/winsdk-10/master/Include/10.0.10240.0/um/WinUser.h');
return await http.read(keyCodesUri);
}
/// Get contents of the file that contains the scan codes in Android source. /// Get contents of the file that contains the scan codes in Android source.
/// Yes, this is just the generic keyboard layout file for base Android distro /// Yes, this is just the generic keyboard layout file for base Android distro
/// This is because there isn't any facility in Android to get the keyboard /// This is because there isn't any facility in Android to get the keyboard
...@@ -84,12 +89,23 @@ Future<void> main(List<String> rawArguments) async { ...@@ -84,12 +89,23 @@ Future<void> main(List<String> rawArguments) async {
'If --glfw-keycodes is not specified, the input will be read from the ' 'If --glfw-keycodes is not specified, the input will be read from the '
'correct file in the GLFW github repository.', 'correct file in the GLFW github repository.',
); );
argParser.addOption(
'windows-keycodes',
defaultsTo: null,
help: 'The path to where the Windows keycodes header file should be read. '
'If --windows-keycodes is not specified, the input will be read from the '
'correct file in the Windows github repository.',
);
argParser.addOption(
'windows-domkey',
defaultsTo: path.join(flutterRoot.path, 'dev', 'tools', 'gen_keycodes', 'data', 'key_name_to_windows_name.json'),
help: 'The path to where the Windows keycode to DomKey mapping is.',
);
argParser.addOption( argParser.addOption(
'glfw-domkey', 'glfw-domkey',
defaultsTo: path.join(flutterRoot.path, 'dev', 'tools', 'gen_keycodes', 'data', 'key_name_to_glfw_name.json'), defaultsTo: path.join(flutterRoot.path, 'dev', 'tools', 'gen_keycodes', 'data', 'key_name_to_glfw_name.json'),
help: 'The path to where the GLFW keycode to DomKey mapping is.', help: 'The path to where the GLFW keycode to DomKey mapping is.',
); );
argParser.addOption( argParser.addOption(
'data', 'data',
defaultsTo: path.join(flutterRoot.path, 'dev', 'tools', 'gen_keycodes', 'data', 'key_data.json'), defaultsTo: path.join(flutterRoot.path, 'dev', 'tools', 'gen_keycodes', 'data', 'key_data.json'),
...@@ -170,10 +186,18 @@ Future<void> main(List<String> rawArguments) async { ...@@ -170,10 +186,18 @@ Future<void> main(List<String> rawArguments) async {
glfwKeyCodes = File(parsedArguments['glfw-keycodes'] as String).readAsStringSync(); glfwKeyCodes = File(parsedArguments['glfw-keycodes'] as String).readAsStringSync();
} }
String windowsKeyCodes;
if (parsedArguments['windows-keycodes'] == null) {
windowsKeyCodes = await getWindowsKeyCodes();
} else {
windowsKeyCodes = File(parsedArguments['windows-keycodes'] as String).readAsStringSync();
}
final String windowsToDomKey = File(parsedArguments['windows-domkey'] as String).readAsStringSync();
final String glfwToDomKey = File(parsedArguments['glfw-domkey'] as String).readAsStringSync(); final String glfwToDomKey = File(parsedArguments['glfw-domkey'] as String).readAsStringSync();
final String androidToDomKey = File(parsedArguments['android-domkey'] as String).readAsStringSync(); final String androidToDomKey = File(parsedArguments['android-domkey'] as String).readAsStringSync();
data = KeyData(hidCodes, androidScanCodes, androidKeyCodes, androidToDomKey, glfwKeyCodes, glfwToDomKey); data = KeyData(hidCodes, androidScanCodes, androidKeyCodes, androidToDomKey, glfwKeyCodes, glfwToDomKey, windowsKeyCodes, windowsToDomKey);
const JsonEncoder encoder = JsonEncoder.withIndent(' '); const JsonEncoder encoder = JsonEncoder.withIndent(' ');
File(parsedArguments['data'] as String).writeAsStringSync(encoder.convert(data.toJson())); File(parsedArguments['data'] as String).writeAsStringSync(encoder.convert(data.toJson()));
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
], ],
"english": "None", "english": "None",
"chromium": "none", "chromium": "none",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -21,7 +22,8 @@ ...@@ -21,7 +22,8 @@
"android": [ "android": [
0 0
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"hyper": { "hyper": {
...@@ -30,7 +32,8 @@ ...@@ -30,7 +32,8 @@
"android": null, "android": null,
"english": "Hyper", "english": "Hyper",
"chromium": "hyper", "chromium": "hyper",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -42,7 +45,8 @@ ...@@ -42,7 +45,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"superKey": { "superKey": {
...@@ -51,7 +55,8 @@ ...@@ -51,7 +55,8 @@
"android": null, "android": null,
"english": "Super Key", "english": "Super Key",
"chromium": "super", "chromium": "super",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -63,7 +68,8 @@ ...@@ -63,7 +68,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"fnLock": { "fnLock": {
...@@ -72,7 +78,8 @@ ...@@ -72,7 +78,8 @@
"android": null, "android": null,
"english": "Fn Lock", "english": "Fn Lock",
"chromium": "fnLock", "chromium": "fnLock",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -84,7 +91,8 @@ ...@@ -84,7 +91,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"suspend": { "suspend": {
...@@ -95,7 +103,8 @@ ...@@ -95,7 +103,8 @@
], ],
"english": "Suspend", "english": "Suspend",
"chromium": "suspend", "chromium": "suspend",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -109,7 +118,8 @@ ...@@ -109,7 +118,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"resume": { "resume": {
...@@ -118,7 +128,8 @@ ...@@ -118,7 +128,8 @@
"android": null, "android": null,
"english": "Resume", "english": "Resume",
"chromium": "resume", "chromium": "resume",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -130,7 +141,8 @@ ...@@ -130,7 +141,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"turbo": { "turbo": {
...@@ -139,7 +151,8 @@ ...@@ -139,7 +151,8 @@
"android": null, "android": null,
"english": "Turbo", "english": "Turbo",
"chromium": "turbo", "chromium": "turbo",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -151,7 +164,31 @@ ...@@ -151,7 +164,31 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
}
},
"privacyScreenToggle": {
"names": {
"domkey": "PrivacyScreenToggle",
"android": null,
"english": "Privacy Screen Toggle",
"chromium": "privacyScreenToggle",
"glfw": null,
"windows": null
},
"scanCodes": {
"android": null,
"usb": 23,
"linux": 633,
"xkb": 641,
"windows": null,
"macos": null
},
"keyCodes": {
"android": null,
"glfw": null,
"windows": null
} }
}, },
"sleep": { "sleep": {
...@@ -162,7 +199,10 @@ ...@@ -162,7 +199,10 @@
], ],
"english": "Sleep", "english": "Sleep",
"chromium": "sleep", "chromium": "sleep",
"glfw": null "glfw": null,
"windows": [
"SLEEP"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -178,7 +218,10 @@ ...@@ -178,7 +218,10 @@
"android": [ "android": [
223 223
], ],
"glfw": null "glfw": null,
"windows": [
95
]
} }
}, },
"wakeUp": { "wakeUp": {
...@@ -189,7 +232,8 @@ ...@@ -189,7 +232,8 @@
], ],
"english": "Wake Up", "english": "Wake Up",
"chromium": "wakeUp", "chromium": "wakeUp",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -205,7 +249,8 @@ ...@@ -205,7 +249,8 @@
"android": [ "android": [
224 224
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"displayToggleIntExt": { "displayToggleIntExt": {
...@@ -214,7 +259,8 @@ ...@@ -214,7 +259,8 @@
"android": null, "android": null,
"english": "Display Toggle Int Ext", "english": "Display Toggle Int Ext",
"chromium": "displayToggleIntExt", "chromium": "displayToggleIntExt",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -226,7 +272,8 @@ ...@@ -226,7 +272,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"usbReserved": { "usbReserved": {
...@@ -235,7 +282,8 @@ ...@@ -235,7 +282,8 @@
"android": null, "android": null,
"english": "Usb Reserved", "english": "Usb Reserved",
"chromium": "usbReserved", "chromium": "usbReserved",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -247,7 +295,8 @@ ...@@ -247,7 +295,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"usbErrorRollOver": { "usbErrorRollOver": {
...@@ -256,7 +305,8 @@ ...@@ -256,7 +305,8 @@
"android": null, "android": null,
"english": "Usb Error Roll Over", "english": "Usb Error Roll Over",
"chromium": "usbErrorRollOver", "chromium": "usbErrorRollOver",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -268,7 +318,8 @@ ...@@ -268,7 +318,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"usbPostFail": { "usbPostFail": {
...@@ -277,7 +328,8 @@ ...@@ -277,7 +328,8 @@
"android": null, "android": null,
"english": "Usb Post Fail", "english": "Usb Post Fail",
"chromium": "usbPostFail", "chromium": "usbPostFail",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -289,7 +341,8 @@ ...@@ -289,7 +341,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"usbErrorUndefined": { "usbErrorUndefined": {
...@@ -298,7 +351,8 @@ ...@@ -298,7 +351,8 @@
"android": null, "android": null,
"english": "Usb Error Undefined", "english": "Usb Error Undefined",
"chromium": "usbErrorUndefined", "chromium": "usbErrorUndefined",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -310,7 +364,8 @@ ...@@ -310,7 +364,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"keyA": { "keyA": {
...@@ -323,6 +378,9 @@ ...@@ -323,6 +378,9 @@
"chromium": "usA", "chromium": "usA",
"glfw": [ "glfw": [
"A" "A"
],
"windows": [
"A"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -341,6 +399,9 @@ ...@@ -341,6 +399,9 @@
], ],
"glfw": [ "glfw": [
65 65
],
"windows": [
65
] ]
} }
}, },
...@@ -354,6 +415,9 @@ ...@@ -354,6 +415,9 @@
"chromium": "usB", "chromium": "usB",
"glfw": [ "glfw": [
"B" "B"
],
"windows": [
"B"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -372,6 +436,9 @@ ...@@ -372,6 +436,9 @@
], ],
"glfw": [ "glfw": [
66 66
],
"windows": [
66
] ]
} }
}, },
...@@ -385,6 +452,9 @@ ...@@ -385,6 +452,9 @@
"chromium": "usC", "chromium": "usC",
"glfw": [ "glfw": [
"C" "C"
],
"windows": [
"C"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -403,6 +473,9 @@ ...@@ -403,6 +473,9 @@
], ],
"glfw": [ "glfw": [
67 67
],
"windows": [
67
] ]
} }
}, },
...@@ -416,6 +489,9 @@ ...@@ -416,6 +489,9 @@
"chromium": "usD", "chromium": "usD",
"glfw": [ "glfw": [
"D" "D"
],
"windows": [
"D"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -434,6 +510,9 @@ ...@@ -434,6 +510,9 @@
], ],
"glfw": [ "glfw": [
68 68
],
"windows": [
68
] ]
} }
}, },
...@@ -447,6 +526,9 @@ ...@@ -447,6 +526,9 @@
"chromium": "usE", "chromium": "usE",
"glfw": [ "glfw": [
"E" "E"
],
"windows": [
"E"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -465,6 +547,9 @@ ...@@ -465,6 +547,9 @@
], ],
"glfw": [ "glfw": [
69 69
],
"windows": [
69
] ]
} }
}, },
...@@ -478,6 +563,9 @@ ...@@ -478,6 +563,9 @@
"chromium": "usF", "chromium": "usF",
"glfw": [ "glfw": [
"F" "F"
],
"windows": [
"F"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -496,6 +584,9 @@ ...@@ -496,6 +584,9 @@
], ],
"glfw": [ "glfw": [
70 70
],
"windows": [
70
] ]
} }
}, },
...@@ -509,6 +600,9 @@ ...@@ -509,6 +600,9 @@
"chromium": "usG", "chromium": "usG",
"glfw": [ "glfw": [
"G" "G"
],
"windows": [
"G"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -527,6 +621,9 @@ ...@@ -527,6 +621,9 @@
], ],
"glfw": [ "glfw": [
71 71
],
"windows": [
71
] ]
} }
}, },
...@@ -540,6 +637,9 @@ ...@@ -540,6 +637,9 @@
"chromium": "usH", "chromium": "usH",
"glfw": [ "glfw": [
"H" "H"
],
"windows": [
"H"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -558,6 +658,9 @@ ...@@ -558,6 +658,9 @@
], ],
"glfw": [ "glfw": [
72 72
],
"windows": [
72
] ]
} }
}, },
...@@ -571,6 +674,9 @@ ...@@ -571,6 +674,9 @@
"chromium": "usI", "chromium": "usI",
"glfw": [ "glfw": [
"I" "I"
],
"windows": [
"I"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -589,6 +695,9 @@ ...@@ -589,6 +695,9 @@
], ],
"glfw": [ "glfw": [
73 73
],
"windows": [
73
] ]
} }
}, },
...@@ -602,6 +711,9 @@ ...@@ -602,6 +711,9 @@
"chromium": "usJ", "chromium": "usJ",
"glfw": [ "glfw": [
"J" "J"
],
"windows": [
"J"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -620,6 +732,9 @@ ...@@ -620,6 +732,9 @@
], ],
"glfw": [ "glfw": [
74 74
],
"windows": [
74
] ]
} }
}, },
...@@ -633,6 +748,9 @@ ...@@ -633,6 +748,9 @@
"chromium": "usK", "chromium": "usK",
"glfw": [ "glfw": [
"K" "K"
],
"windows": [
"K"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -651,6 +769,9 @@ ...@@ -651,6 +769,9 @@
], ],
"glfw": [ "glfw": [
75 75
],
"windows": [
75
] ]
} }
}, },
...@@ -664,6 +785,9 @@ ...@@ -664,6 +785,9 @@
"chromium": "usL", "chromium": "usL",
"glfw": [ "glfw": [
"L" "L"
],
"windows": [
"L"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -682,6 +806,9 @@ ...@@ -682,6 +806,9 @@
], ],
"glfw": [ "glfw": [
76 76
],
"windows": [
76
] ]
} }
}, },
...@@ -695,6 +822,9 @@ ...@@ -695,6 +822,9 @@
"chromium": "usM", "chromium": "usM",
"glfw": [ "glfw": [
"M" "M"
],
"windows": [
"M"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -713,6 +843,9 @@ ...@@ -713,6 +843,9 @@
], ],
"glfw": [ "glfw": [
77 77
],
"windows": [
77
] ]
} }
}, },
...@@ -726,6 +859,9 @@ ...@@ -726,6 +859,9 @@
"chromium": "usN", "chromium": "usN",
"glfw": [ "glfw": [
"N" "N"
],
"windows": [
"N"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -744,6 +880,9 @@ ...@@ -744,6 +880,9 @@
], ],
"glfw": [ "glfw": [
78 78
],
"windows": [
78
] ]
} }
}, },
...@@ -757,6 +896,9 @@ ...@@ -757,6 +896,9 @@
"chromium": "usO", "chromium": "usO",
"glfw": [ "glfw": [
"O" "O"
],
"windows": [
"O"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -775,6 +917,9 @@ ...@@ -775,6 +917,9 @@
], ],
"glfw": [ "glfw": [
79 79
],
"windows": [
79
] ]
} }
}, },
...@@ -788,6 +933,9 @@ ...@@ -788,6 +933,9 @@
"chromium": "usP", "chromium": "usP",
"glfw": [ "glfw": [
"P" "P"
],
"windows": [
"P"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -806,6 +954,9 @@ ...@@ -806,6 +954,9 @@
], ],
"glfw": [ "glfw": [
80 80
],
"windows": [
80
] ]
} }
}, },
...@@ -819,6 +970,9 @@ ...@@ -819,6 +970,9 @@
"chromium": "usQ", "chromium": "usQ",
"glfw": [ "glfw": [
"Q" "Q"
],
"windows": [
"Q"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -837,6 +991,9 @@ ...@@ -837,6 +991,9 @@
], ],
"glfw": [ "glfw": [
81 81
],
"windows": [
81
] ]
} }
}, },
...@@ -850,6 +1007,9 @@ ...@@ -850,6 +1007,9 @@
"chromium": "usR", "chromium": "usR",
"glfw": [ "glfw": [
"R" "R"
],
"windows": [
"R"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -868,6 +1028,9 @@ ...@@ -868,6 +1028,9 @@
], ],
"glfw": [ "glfw": [
82 82
],
"windows": [
82
] ]
} }
}, },
...@@ -881,6 +1044,9 @@ ...@@ -881,6 +1044,9 @@
"chromium": "usS", "chromium": "usS",
"glfw": [ "glfw": [
"S" "S"
],
"windows": [
"S"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -899,6 +1065,9 @@ ...@@ -899,6 +1065,9 @@
], ],
"glfw": [ "glfw": [
83 83
],
"windows": [
83
] ]
} }
}, },
...@@ -912,6 +1081,9 @@ ...@@ -912,6 +1081,9 @@
"chromium": "usT", "chromium": "usT",
"glfw": [ "glfw": [
"T" "T"
],
"windows": [
"T"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -930,6 +1102,9 @@ ...@@ -930,6 +1102,9 @@
], ],
"glfw": [ "glfw": [
84 84
],
"windows": [
84
] ]
} }
}, },
...@@ -943,6 +1118,9 @@ ...@@ -943,6 +1118,9 @@
"chromium": "usU", "chromium": "usU",
"glfw": [ "glfw": [
"U" "U"
],
"windows": [
"U"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -961,6 +1139,9 @@ ...@@ -961,6 +1139,9 @@
], ],
"glfw": [ "glfw": [
85 85
],
"windows": [
85
] ]
} }
}, },
...@@ -974,6 +1155,9 @@ ...@@ -974,6 +1155,9 @@
"chromium": "usV", "chromium": "usV",
"glfw": [ "glfw": [
"V" "V"
],
"windows": [
"V"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -992,6 +1176,9 @@ ...@@ -992,6 +1176,9 @@
], ],
"glfw": [ "glfw": [
86 86
],
"windows": [
86
] ]
} }
}, },
...@@ -1005,6 +1192,9 @@ ...@@ -1005,6 +1192,9 @@
"chromium": "usW", "chromium": "usW",
"glfw": [ "glfw": [
"W" "W"
],
"windows": [
"W"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1023,6 +1213,9 @@ ...@@ -1023,6 +1213,9 @@
], ],
"glfw": [ "glfw": [
87 87
],
"windows": [
87
] ]
} }
}, },
...@@ -1036,6 +1229,9 @@ ...@@ -1036,6 +1229,9 @@
"chromium": "usX", "chromium": "usX",
"glfw": [ "glfw": [
"X" "X"
],
"windows": [
"X"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1054,6 +1250,9 @@ ...@@ -1054,6 +1250,9 @@
], ],
"glfw": [ "glfw": [
88 88
],
"windows": [
88
] ]
} }
}, },
...@@ -1067,6 +1266,9 @@ ...@@ -1067,6 +1266,9 @@
"chromium": "usY", "chromium": "usY",
"glfw": [ "glfw": [
"Y" "Y"
],
"windows": [
"Y"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1085,6 +1287,9 @@ ...@@ -1085,6 +1287,9 @@
], ],
"glfw": [ "glfw": [
89 89
],
"windows": [
89
] ]
} }
}, },
...@@ -1098,6 +1303,9 @@ ...@@ -1098,6 +1303,9 @@
"chromium": "usZ", "chromium": "usZ",
"glfw": [ "glfw": [
"Z" "Z"
],
"windows": [
"Z"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1116,6 +1324,9 @@ ...@@ -1116,6 +1324,9 @@
], ],
"glfw": [ "glfw": [
90 90
],
"windows": [
90
] ]
} }
}, },
...@@ -1129,7 +1340,8 @@ ...@@ -1129,7 +1340,8 @@
"chromium": "digit1", "chromium": "digit1",
"glfw": [ "glfw": [
"1" "1"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1147,7 +1359,8 @@ ...@@ -1147,7 +1359,8 @@
], ],
"glfw": [ "glfw": [
49 49
] ],
"windows": null
} }
}, },
"digit2": { "digit2": {
...@@ -1160,7 +1373,8 @@ ...@@ -1160,7 +1373,8 @@
"chromium": "digit2", "chromium": "digit2",
"glfw": [ "glfw": [
"2" "2"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1178,7 +1392,8 @@ ...@@ -1178,7 +1392,8 @@
], ],
"glfw": [ "glfw": [
50 50
] ],
"windows": null
} }
}, },
"digit3": { "digit3": {
...@@ -1191,7 +1406,8 @@ ...@@ -1191,7 +1406,8 @@
"chromium": "digit3", "chromium": "digit3",
"glfw": [ "glfw": [
"3" "3"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1209,7 +1425,8 @@ ...@@ -1209,7 +1425,8 @@
], ],
"glfw": [ "glfw": [
51 51
] ],
"windows": null
} }
}, },
"digit4": { "digit4": {
...@@ -1222,7 +1439,8 @@ ...@@ -1222,7 +1439,8 @@
"chromium": "digit4", "chromium": "digit4",
"glfw": [ "glfw": [
"4" "4"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1240,7 +1458,8 @@ ...@@ -1240,7 +1458,8 @@
], ],
"glfw": [ "glfw": [
52 52
] ],
"windows": null
} }
}, },
"digit5": { "digit5": {
...@@ -1253,7 +1472,8 @@ ...@@ -1253,7 +1472,8 @@
"chromium": "digit5", "chromium": "digit5",
"glfw": [ "glfw": [
"5" "5"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1271,7 +1491,8 @@ ...@@ -1271,7 +1491,8 @@
], ],
"glfw": [ "glfw": [
53 53
] ],
"windows": null
} }
}, },
"digit6": { "digit6": {
...@@ -1284,7 +1505,8 @@ ...@@ -1284,7 +1505,8 @@
"chromium": "digit6", "chromium": "digit6",
"glfw": [ "glfw": [
"6" "6"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1302,7 +1524,8 @@ ...@@ -1302,7 +1524,8 @@
], ],
"glfw": [ "glfw": [
54 54
] ],
"windows": null
} }
}, },
"digit7": { "digit7": {
...@@ -1315,7 +1538,8 @@ ...@@ -1315,7 +1538,8 @@
"chromium": "digit7", "chromium": "digit7",
"glfw": [ "glfw": [
"7" "7"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1333,7 +1557,8 @@ ...@@ -1333,7 +1557,8 @@
], ],
"glfw": [ "glfw": [
55 55
] ],
"windows": null
} }
}, },
"digit8": { "digit8": {
...@@ -1346,7 +1571,8 @@ ...@@ -1346,7 +1571,8 @@
"chromium": "digit8", "chromium": "digit8",
"glfw": [ "glfw": [
"8" "8"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1364,7 +1590,8 @@ ...@@ -1364,7 +1590,8 @@
], ],
"glfw": [ "glfw": [
56 56
] ],
"windows": null
} }
}, },
"digit9": { "digit9": {
...@@ -1377,7 +1604,8 @@ ...@@ -1377,7 +1604,8 @@
"chromium": "digit9", "chromium": "digit9",
"glfw": [ "glfw": [
"9" "9"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1395,7 +1623,8 @@ ...@@ -1395,7 +1623,8 @@
], ],
"glfw": [ "glfw": [
57 57
] ],
"windows": null
} }
}, },
"digit0": { "digit0": {
...@@ -1408,7 +1637,8 @@ ...@@ -1408,7 +1637,8 @@
"chromium": "digit0", "chromium": "digit0",
"glfw": [ "glfw": [
"0" "0"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1426,7 +1656,8 @@ ...@@ -1426,7 +1656,8 @@
], ],
"glfw": [ "glfw": [
48 48
] ],
"windows": null
} }
}, },
"enter": { "enter": {
...@@ -1439,6 +1670,9 @@ ...@@ -1439,6 +1670,9 @@
"chromium": "enter", "chromium": "enter",
"glfw": [ "glfw": [
"ENTER" "ENTER"
],
"windows": [
"RETURN"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1457,6 +1691,9 @@ ...@@ -1457,6 +1691,9 @@
], ],
"glfw": [ "glfw": [
257 257
],
"windows": [
13
] ]
} }
}, },
...@@ -1470,6 +1707,9 @@ ...@@ -1470,6 +1707,9 @@
"chromium": "escape", "chromium": "escape",
"glfw": [ "glfw": [
"ESCAPE" "ESCAPE"
],
"windows": [
"ESCAPE"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1488,6 +1728,9 @@ ...@@ -1488,6 +1728,9 @@
], ],
"glfw": [ "glfw": [
256 256
],
"windows": [
27
] ]
} }
}, },
...@@ -1501,6 +1744,9 @@ ...@@ -1501,6 +1744,9 @@
"chromium": "backspace", "chromium": "backspace",
"glfw": [ "glfw": [
"BACKSPACE" "BACKSPACE"
],
"windows": [
"BACK"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1519,6 +1765,9 @@ ...@@ -1519,6 +1765,9 @@
], ],
"glfw": [ "glfw": [
259 259
],
"windows": [
8
] ]
} }
}, },
...@@ -1532,6 +1781,9 @@ ...@@ -1532,6 +1781,9 @@
"chromium": "tab", "chromium": "tab",
"glfw": [ "glfw": [
"TAB" "TAB"
],
"windows": [
"TAB"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1550,6 +1802,9 @@ ...@@ -1550,6 +1802,9 @@
], ],
"glfw": [ "glfw": [
258 258
],
"windows": [
9
] ]
} }
}, },
...@@ -1563,6 +1818,9 @@ ...@@ -1563,6 +1818,9 @@
"chromium": "space", "chromium": "space",
"glfw": [ "glfw": [
"SPACE" "SPACE"
],
"windows": [
"SPACE"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1581,6 +1839,9 @@ ...@@ -1581,6 +1839,9 @@
], ],
"glfw": [ "glfw": [
32 32
],
"windows": [
32
] ]
} }
}, },
...@@ -1594,6 +1855,9 @@ ...@@ -1594,6 +1855,9 @@
"chromium": "minus", "chromium": "minus",
"glfw": [ "glfw": [
"MINUS" "MINUS"
],
"windows": [
"OEM_MINUS"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1612,6 +1876,9 @@ ...@@ -1612,6 +1876,9 @@
], ],
"glfw": [ "glfw": [
45 45
],
"windows": [
189
] ]
} }
}, },
...@@ -1625,6 +1892,9 @@ ...@@ -1625,6 +1892,9 @@
"chromium": "equal", "chromium": "equal",
"glfw": [ "glfw": [
"EQUAL" "EQUAL"
],
"windows": [
"OEM_PLUS"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1643,6 +1913,9 @@ ...@@ -1643,6 +1913,9 @@
], ],
"glfw": [ "glfw": [
61 61
],
"windows": [
187
] ]
} }
}, },
...@@ -1656,6 +1929,9 @@ ...@@ -1656,6 +1929,9 @@
"chromium": "bracketLeft", "chromium": "bracketLeft",
"glfw": [ "glfw": [
"LEFT_BRACKET" "LEFT_BRACKET"
],
"windows": [
"OEM_4"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1674,6 +1950,9 @@ ...@@ -1674,6 +1950,9 @@
], ],
"glfw": [ "glfw": [
91 91
],
"windows": [
219
] ]
} }
}, },
...@@ -1687,6 +1966,9 @@ ...@@ -1687,6 +1966,9 @@
"chromium": "bracketRight", "chromium": "bracketRight",
"glfw": [ "glfw": [
"RIGHT_BRACKET" "RIGHT_BRACKET"
],
"windows": [
"OEM_6"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1705,6 +1987,9 @@ ...@@ -1705,6 +1987,9 @@
], ],
"glfw": [ "glfw": [
93 93
],
"windows": [
221
] ]
} }
}, },
...@@ -1718,6 +2003,9 @@ ...@@ -1718,6 +2003,9 @@
"chromium": "backslash", "chromium": "backslash",
"glfw": [ "glfw": [
"BACKSLASH" "BACKSLASH"
],
"windows": [
"OEM_5"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1737,6 +2025,9 @@ ...@@ -1737,6 +2025,9 @@
], ],
"glfw": [ "glfw": [
92 92
],
"windows": [
220
] ]
} }
}, },
...@@ -1750,6 +2041,9 @@ ...@@ -1750,6 +2041,9 @@
"chromium": "semicolon", "chromium": "semicolon",
"glfw": [ "glfw": [
"SEMICOLON" "SEMICOLON"
],
"windows": [
"OEM_1"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1768,6 +2062,9 @@ ...@@ -1768,6 +2062,9 @@
], ],
"glfw": [ "glfw": [
59 59
],
"windows": [
186
] ]
} }
}, },
...@@ -1781,6 +2078,9 @@ ...@@ -1781,6 +2078,9 @@
"chromium": "quote", "chromium": "quote",
"glfw": [ "glfw": [
"APOSTROPHE" "APOSTROPHE"
],
"windows": [
"OEM_7"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1799,6 +2099,9 @@ ...@@ -1799,6 +2099,9 @@
], ],
"glfw": [ "glfw": [
39 39
],
"windows": [
222
] ]
} }
}, },
...@@ -1812,7 +2115,8 @@ ...@@ -1812,7 +2115,8 @@
"chromium": "backquote", "chromium": "backquote",
"glfw": [ "glfw": [
"GRAVE_ACCENT" "GRAVE_ACCENT"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -1830,7 +2134,8 @@ ...@@ -1830,7 +2134,8 @@
], ],
"glfw": [ "glfw": [
96 96
] ],
"windows": null
} }
}, },
"comma": { "comma": {
...@@ -1843,6 +2148,9 @@ ...@@ -1843,6 +2148,9 @@
"chromium": "comma", "chromium": "comma",
"glfw": [ "glfw": [
"COMMA" "COMMA"
],
"windows": [
"OEM_COMMA"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1861,6 +2169,9 @@ ...@@ -1861,6 +2169,9 @@
], ],
"glfw": [ "glfw": [
44 44
],
"windows": [
188
] ]
} }
}, },
...@@ -1874,6 +2185,9 @@ ...@@ -1874,6 +2185,9 @@
"chromium": "period", "chromium": "period",
"glfw": [ "glfw": [
"PERIOD" "PERIOD"
],
"windows": [
"OEM_PERIOD"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1892,6 +2206,9 @@ ...@@ -1892,6 +2206,9 @@
], ],
"glfw": [ "glfw": [
46 46
],
"windows": [
190
] ]
} }
}, },
...@@ -1905,6 +2222,9 @@ ...@@ -1905,6 +2222,9 @@
"chromium": "slash", "chromium": "slash",
"glfw": [ "glfw": [
"SLASH" "SLASH"
],
"windows": [
"OEM_2"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1923,6 +2243,9 @@ ...@@ -1923,6 +2243,9 @@
], ],
"glfw": [ "glfw": [
47 47
],
"windows": [
191
] ]
} }
}, },
...@@ -1936,6 +2259,9 @@ ...@@ -1936,6 +2259,9 @@
"chromium": "capsLock", "chromium": "capsLock",
"glfw": [ "glfw": [
"CAPS_LOCK" "CAPS_LOCK"
],
"windows": [
"CAPITAL"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1954,6 +2280,9 @@ ...@@ -1954,6 +2280,9 @@
], ],
"glfw": [ "glfw": [
280 280
],
"windows": [
20
] ]
} }
}, },
...@@ -1967,6 +2296,9 @@ ...@@ -1967,6 +2296,9 @@
"chromium": "f1", "chromium": "f1",
"glfw": [ "glfw": [
"F1" "F1"
],
"windows": [
"F1"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -1985,6 +2317,9 @@ ...@@ -1985,6 +2317,9 @@
], ],
"glfw": [ "glfw": [
290 290
],
"windows": [
112
] ]
} }
}, },
...@@ -1998,6 +2333,9 @@ ...@@ -1998,6 +2333,9 @@
"chromium": "f2", "chromium": "f2",
"glfw": [ "glfw": [
"F2" "F2"
],
"windows": [
"F2"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2016,6 +2354,9 @@ ...@@ -2016,6 +2354,9 @@
], ],
"glfw": [ "glfw": [
291 291
],
"windows": [
113
] ]
} }
}, },
...@@ -2029,6 +2370,9 @@ ...@@ -2029,6 +2370,9 @@
"chromium": "f3", "chromium": "f3",
"glfw": [ "glfw": [
"F3" "F3"
],
"windows": [
"F3"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2047,6 +2391,9 @@ ...@@ -2047,6 +2391,9 @@
], ],
"glfw": [ "glfw": [
292 292
],
"windows": [
114
] ]
} }
}, },
...@@ -2060,6 +2407,9 @@ ...@@ -2060,6 +2407,9 @@
"chromium": "f4", "chromium": "f4",
"glfw": [ "glfw": [
"F4" "F4"
],
"windows": [
"F4"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2078,6 +2428,9 @@ ...@@ -2078,6 +2428,9 @@
], ],
"glfw": [ "glfw": [
293 293
],
"windows": [
115
] ]
} }
}, },
...@@ -2091,6 +2444,9 @@ ...@@ -2091,6 +2444,9 @@
"chromium": "f5", "chromium": "f5",
"glfw": [ "glfw": [
"F5" "F5"
],
"windows": [
"F5"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2109,6 +2465,9 @@ ...@@ -2109,6 +2465,9 @@
], ],
"glfw": [ "glfw": [
294 294
],
"windows": [
116
] ]
} }
}, },
...@@ -2122,6 +2481,9 @@ ...@@ -2122,6 +2481,9 @@
"chromium": "f6", "chromium": "f6",
"glfw": [ "glfw": [
"F6" "F6"
],
"windows": [
"F6"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2140,6 +2502,9 @@ ...@@ -2140,6 +2502,9 @@
], ],
"glfw": [ "glfw": [
295 295
],
"windows": [
117
] ]
} }
}, },
...@@ -2153,6 +2518,9 @@ ...@@ -2153,6 +2518,9 @@
"chromium": "f7", "chromium": "f7",
"glfw": [ "glfw": [
"F7" "F7"
],
"windows": [
"F7"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2171,6 +2539,9 @@ ...@@ -2171,6 +2539,9 @@
], ],
"glfw": [ "glfw": [
296 296
],
"windows": [
118
] ]
} }
}, },
...@@ -2184,6 +2555,9 @@ ...@@ -2184,6 +2555,9 @@
"chromium": "f8", "chromium": "f8",
"glfw": [ "glfw": [
"F8" "F8"
],
"windows": [
"F8"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2202,6 +2576,9 @@ ...@@ -2202,6 +2576,9 @@
], ],
"glfw": [ "glfw": [
297 297
],
"windows": [
119
] ]
} }
}, },
...@@ -2215,6 +2592,9 @@ ...@@ -2215,6 +2592,9 @@
"chromium": "f9", "chromium": "f9",
"glfw": [ "glfw": [
"F9" "F9"
],
"windows": [
"F9"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2233,6 +2613,9 @@ ...@@ -2233,6 +2613,9 @@
], ],
"glfw": [ "glfw": [
298 298
],
"windows": [
120
] ]
} }
}, },
...@@ -2246,6 +2629,9 @@ ...@@ -2246,6 +2629,9 @@
"chromium": "f10", "chromium": "f10",
"glfw": [ "glfw": [
"F10" "F10"
],
"windows": [
"F10"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2264,6 +2650,9 @@ ...@@ -2264,6 +2650,9 @@
], ],
"glfw": [ "glfw": [
299 299
],
"windows": [
121
] ]
} }
}, },
...@@ -2277,6 +2666,9 @@ ...@@ -2277,6 +2666,9 @@
"chromium": "f11", "chromium": "f11",
"glfw": [ "glfw": [
"F11" "F11"
],
"windows": [
"F11"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2295,6 +2687,9 @@ ...@@ -2295,6 +2687,9 @@
], ],
"glfw": [ "glfw": [
300 300
],
"windows": [
122
] ]
} }
}, },
...@@ -2308,6 +2703,9 @@ ...@@ -2308,6 +2703,9 @@
"chromium": "f12", "chromium": "f12",
"glfw": [ "glfw": [
"F12" "F12"
],
"windows": [
"F12"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2326,6 +2724,9 @@ ...@@ -2326,6 +2724,9 @@
], ],
"glfw": [ "glfw": [
301 301
],
"windows": [
123
] ]
} }
}, },
...@@ -2339,7 +2740,8 @@ ...@@ -2339,7 +2740,8 @@
"chromium": "printScreen", "chromium": "printScreen",
"glfw": [ "glfw": [
"PRINT_SCREEN" "PRINT_SCREEN"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2357,7 +2759,8 @@ ...@@ -2357,7 +2759,8 @@
], ],
"glfw": [ "glfw": [
283 283
] ],
"windows": null
} }
}, },
"scrollLock": { "scrollLock": {
...@@ -2368,7 +2771,8 @@ ...@@ -2368,7 +2771,8 @@
], ],
"english": "Scroll Lock", "english": "Scroll Lock",
"chromium": "scrollLock", "chromium": "scrollLock",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2384,7 +2788,8 @@ ...@@ -2384,7 +2788,8 @@
"android": [ "android": [
116 116
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"pause": { "pause": {
...@@ -2397,6 +2802,9 @@ ...@@ -2397,6 +2802,9 @@
"chromium": "pause", "chromium": "pause",
"glfw": [ "glfw": [
"PAUSE" "PAUSE"
],
"windows": [
"PAUSE"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2416,6 +2824,9 @@ ...@@ -2416,6 +2824,9 @@
], ],
"glfw": [ "glfw": [
284 284
],
"windows": [
19
] ]
} }
}, },
...@@ -2429,6 +2840,9 @@ ...@@ -2429,6 +2840,9 @@
"chromium": "insert", "chromium": "insert",
"glfw": [ "glfw": [
"INSERT" "INSERT"
],
"windows": [
"INSERT"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2447,6 +2861,9 @@ ...@@ -2447,6 +2861,9 @@
], ],
"glfw": [ "glfw": [
260 260
],
"windows": [
45
] ]
} }
}, },
...@@ -2460,6 +2877,9 @@ ...@@ -2460,6 +2877,9 @@
"chromium": "home", "chromium": "home",
"glfw": [ "glfw": [
"HOME" "HOME"
],
"windows": [
"HOME"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2478,6 +2898,9 @@ ...@@ -2478,6 +2898,9 @@
], ],
"glfw": [ "glfw": [
268 268
],
"windows": [
36
] ]
} }
}, },
...@@ -2491,7 +2914,8 @@ ...@@ -2491,7 +2914,8 @@
"chromium": "pageUp", "chromium": "pageUp",
"glfw": [ "glfw": [
"PAGE_UP" "PAGE_UP"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2510,7 +2934,8 @@ ...@@ -2510,7 +2934,8 @@
], ],
"glfw": [ "glfw": [
266 266
] ],
"windows": null
} }
}, },
"delete": { "delete": {
...@@ -2523,6 +2948,9 @@ ...@@ -2523,6 +2948,9 @@
"chromium": "del", "chromium": "del",
"glfw": [ "glfw": [
"DELETE" "DELETE"
],
"windows": [
"DELETE"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2541,6 +2969,9 @@ ...@@ -2541,6 +2969,9 @@
], ],
"glfw": [ "glfw": [
261 261
],
"windows": [
46
] ]
} }
}, },
...@@ -2554,6 +2985,9 @@ ...@@ -2554,6 +2985,9 @@
"chromium": "end", "chromium": "end",
"glfw": [ "glfw": [
"END" "END"
],
"windows": [
"END"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2572,6 +3006,9 @@ ...@@ -2572,6 +3006,9 @@
], ],
"glfw": [ "glfw": [
269 269
],
"windows": [
35
] ]
} }
}, },
...@@ -2585,7 +3022,8 @@ ...@@ -2585,7 +3022,8 @@
"chromium": "pageDown", "chromium": "pageDown",
"glfw": [ "glfw": [
"PAGE_DOWN" "PAGE_DOWN"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2604,7 +3042,8 @@ ...@@ -2604,7 +3042,8 @@
], ],
"glfw": [ "glfw": [
267 267
] ],
"windows": null
} }
}, },
"arrowRight": { "arrowRight": {
...@@ -2617,7 +3056,8 @@ ...@@ -2617,7 +3056,8 @@
"chromium": "arrowRight", "chromium": "arrowRight",
"glfw": [ "glfw": [
"RIGHT" "RIGHT"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2635,7 +3075,8 @@ ...@@ -2635,7 +3075,8 @@
], ],
"glfw": [ "glfw": [
262 262
] ],
"windows": null
} }
}, },
"arrowLeft": { "arrowLeft": {
...@@ -2648,7 +3089,8 @@ ...@@ -2648,7 +3089,8 @@
"chromium": "arrowLeft", "chromium": "arrowLeft",
"glfw": [ "glfw": [
"LEFT" "LEFT"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2666,7 +3108,8 @@ ...@@ -2666,7 +3108,8 @@
], ],
"glfw": [ "glfw": [
263 263
] ],
"windows": null
} }
}, },
"arrowDown": { "arrowDown": {
...@@ -2679,7 +3122,8 @@ ...@@ -2679,7 +3122,8 @@
"chromium": "arrowDown", "chromium": "arrowDown",
"glfw": [ "glfw": [
"DOWN" "DOWN"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2697,7 +3141,8 @@ ...@@ -2697,7 +3141,8 @@
], ],
"glfw": [ "glfw": [
264 264
] ],
"windows": null
} }
}, },
"arrowUp": { "arrowUp": {
...@@ -2710,7 +3155,8 @@ ...@@ -2710,7 +3155,8 @@
"chromium": "arrowUp", "chromium": "arrowUp",
"glfw": [ "glfw": [
"UP" "UP"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2728,7 +3174,8 @@ ...@@ -2728,7 +3174,8 @@
], ],
"glfw": [ "glfw": [
265 265
] ],
"windows": null
} }
}, },
"numLock": { "numLock": {
...@@ -2741,7 +3188,8 @@ ...@@ -2741,7 +3188,8 @@
"chromium": "numLock", "chromium": "numLock",
"glfw": [ "glfw": [
"NUM_LOCK" "NUM_LOCK"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2759,7 +3207,8 @@ ...@@ -2759,7 +3207,8 @@
], ],
"glfw": [ "glfw": [
282 282
] ],
"windows": null
} }
}, },
"numpadDivide": { "numpadDivide": {
...@@ -2772,6 +3221,9 @@ ...@@ -2772,6 +3221,9 @@
"chromium": "numpadDivide", "chromium": "numpadDivide",
"glfw": [ "glfw": [
"KP_DIVIDE" "KP_DIVIDE"
],
"windows": [
"DIVIDE"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2790,6 +3242,9 @@ ...@@ -2790,6 +3242,9 @@
], ],
"glfw": [ "glfw": [
331 331
],
"windows": [
111
] ]
} }
}, },
...@@ -2803,6 +3258,9 @@ ...@@ -2803,6 +3258,9 @@
"chromium": "numpadMultiply", "chromium": "numpadMultiply",
"glfw": [ "glfw": [
"KP_MULTIPLY" "KP_MULTIPLY"
],
"windows": [
"MULTIPLY"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2821,6 +3279,9 @@ ...@@ -2821,6 +3279,9 @@
], ],
"glfw": [ "glfw": [
332 332
],
"windows": [
106
] ]
} }
}, },
...@@ -2834,6 +3295,9 @@ ...@@ -2834,6 +3295,9 @@
"chromium": "numpadSubtract", "chromium": "numpadSubtract",
"glfw": [ "glfw": [
"NUMPAD_SUBTRACT" "NUMPAD_SUBTRACT"
],
"windows": [
"SUBTRACT"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2850,7 +3314,10 @@ ...@@ -2850,7 +3314,10 @@
"android": [ "android": [
156 156
], ],
"glfw": null "glfw": null,
"windows": [
109
]
} }
}, },
"numpadAdd": { "numpadAdd": {
...@@ -2863,6 +3330,9 @@ ...@@ -2863,6 +3330,9 @@
"chromium": "numpadAdd", "chromium": "numpadAdd",
"glfw": [ "glfw": [
"KP_ADD" "KP_ADD"
],
"windows": [
"ADD"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2881,6 +3351,9 @@ ...@@ -2881,6 +3351,9 @@
], ],
"glfw": [ "glfw": [
334 334
],
"windows": [
107
] ]
} }
}, },
...@@ -2894,7 +3367,8 @@ ...@@ -2894,7 +3367,8 @@
"chromium": "numpadEnter", "chromium": "numpadEnter",
"glfw": [ "glfw": [
"KP_ENTER" "KP_ENTER"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -2912,7 +3386,8 @@ ...@@ -2912,7 +3386,8 @@
], ],
"glfw": [ "glfw": [
335 335
] ],
"windows": null
} }
}, },
"numpad1": { "numpad1": {
...@@ -2925,6 +3400,9 @@ ...@@ -2925,6 +3400,9 @@
"chromium": "numpad1", "chromium": "numpad1",
"glfw": [ "glfw": [
"KP_1" "KP_1"
],
"windows": [
"NUMPAD1"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2943,6 +3421,9 @@ ...@@ -2943,6 +3421,9 @@
], ],
"glfw": [ "glfw": [
321 321
],
"windows": [
97
] ]
} }
}, },
...@@ -2956,6 +3437,9 @@ ...@@ -2956,6 +3437,9 @@
"chromium": "numpad2", "chromium": "numpad2",
"glfw": [ "glfw": [
"KP_2" "KP_2"
],
"windows": [
"NUMPAD2"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -2974,6 +3458,9 @@ ...@@ -2974,6 +3458,9 @@
], ],
"glfw": [ "glfw": [
322 322
],
"windows": [
98
] ]
} }
}, },
...@@ -2987,6 +3474,9 @@ ...@@ -2987,6 +3474,9 @@
"chromium": "numpad3", "chromium": "numpad3",
"glfw": [ "glfw": [
"KP_3" "KP_3"
],
"windows": [
"NUMPAD3"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3005,6 +3495,9 @@ ...@@ -3005,6 +3495,9 @@
], ],
"glfw": [ "glfw": [
323 323
],
"windows": [
99
] ]
} }
}, },
...@@ -3018,6 +3511,9 @@ ...@@ -3018,6 +3511,9 @@
"chromium": "numpad4", "chromium": "numpad4",
"glfw": [ "glfw": [
"KP_4" "KP_4"
],
"windows": [
"NUMPAD4"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3036,6 +3532,9 @@ ...@@ -3036,6 +3532,9 @@
], ],
"glfw": [ "glfw": [
324 324
],
"windows": [
100
] ]
} }
}, },
...@@ -3049,6 +3548,9 @@ ...@@ -3049,6 +3548,9 @@
"chromium": "numpad5", "chromium": "numpad5",
"glfw": [ "glfw": [
"KP_5" "KP_5"
],
"windows": [
"NUMPAD5"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3067,6 +3569,9 @@ ...@@ -3067,6 +3569,9 @@
], ],
"glfw": [ "glfw": [
325 325
],
"windows": [
101
] ]
} }
}, },
...@@ -3080,6 +3585,9 @@ ...@@ -3080,6 +3585,9 @@
"chromium": "numpad6", "chromium": "numpad6",
"glfw": [ "glfw": [
"KP_6" "KP_6"
],
"windows": [
"NUMPAD6"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3098,6 +3606,9 @@ ...@@ -3098,6 +3606,9 @@
], ],
"glfw": [ "glfw": [
326 326
],
"windows": [
102
] ]
} }
}, },
...@@ -3111,6 +3622,9 @@ ...@@ -3111,6 +3622,9 @@
"chromium": "numpad7", "chromium": "numpad7",
"glfw": [ "glfw": [
"KP_7" "KP_7"
],
"windows": [
"NUMPAD7"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3129,6 +3643,9 @@ ...@@ -3129,6 +3643,9 @@
], ],
"glfw": [ "glfw": [
327 327
],
"windows": [
103
] ]
} }
}, },
...@@ -3142,6 +3659,9 @@ ...@@ -3142,6 +3659,9 @@
"chromium": "numpad8", "chromium": "numpad8",
"glfw": [ "glfw": [
"KP_8" "KP_8"
],
"windows": [
"NUMPAD8"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3160,6 +3680,9 @@ ...@@ -3160,6 +3680,9 @@
], ],
"glfw": [ "glfw": [
328 328
],
"windows": [
104
] ]
} }
}, },
...@@ -3173,6 +3696,9 @@ ...@@ -3173,6 +3696,9 @@
"chromium": "numpad9", "chromium": "numpad9",
"glfw": [ "glfw": [
"KP_9" "KP_9"
],
"windows": [
"NUMPAD9"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3191,6 +3717,9 @@ ...@@ -3191,6 +3717,9 @@
], ],
"glfw": [ "glfw": [
329 329
],
"windows": [
105
] ]
} }
}, },
...@@ -3204,6 +3733,9 @@ ...@@ -3204,6 +3733,9 @@
"chromium": "numpad0", "chromium": "numpad0",
"glfw": [ "glfw": [
"KP_0" "KP_0"
],
"windows": [
"NUMPAD0"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3222,6 +3754,9 @@ ...@@ -3222,6 +3754,9 @@
], ],
"glfw": [ "glfw": [
320 320
],
"windows": [
96
] ]
} }
}, },
...@@ -3235,6 +3770,9 @@ ...@@ -3235,6 +3770,9 @@
"chromium": "numpadDecimal", "chromium": "numpadDecimal",
"glfw": [ "glfw": [
"KP_DECIMAL" "KP_DECIMAL"
],
"windows": [
"DECIMAL"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3253,6 +3791,9 @@ ...@@ -3253,6 +3791,9 @@
], ],
"glfw": [ "glfw": [
330 330
],
"windows": [
110
] ]
} }
}, },
...@@ -3262,7 +3803,8 @@ ...@@ -3262,7 +3803,8 @@
"android": null, "android": null,
"english": "Intl Backslash", "english": "Intl Backslash",
"chromium": "intlBackslash", "chromium": "intlBackslash",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -3274,7 +3816,8 @@ ...@@ -3274,7 +3816,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"contextMenu": { "contextMenu": {
...@@ -3287,7 +3830,8 @@ ...@@ -3287,7 +3830,8 @@
"chromium": "contextMenu", "chromium": "contextMenu",
"glfw": [ "glfw": [
"MENU" "MENU"
] ],
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3306,7 +3850,8 @@ ...@@ -3306,7 +3850,8 @@
], ],
"glfw": [ "glfw": [
348 348
] ],
"windows": null
} }
}, },
"power": { "power": {
...@@ -3317,7 +3862,8 @@ ...@@ -3317,7 +3862,8 @@
], ],
"english": "Power", "english": "Power",
"chromium": "power", "chromium": "power",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3334,7 +3880,8 @@ ...@@ -3334,7 +3880,8 @@
"android": [ "android": [
26 26
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadEqual": { "numpadEqual": {
...@@ -3347,6 +3894,9 @@ ...@@ -3347,6 +3894,9 @@
"chromium": "numpadEqual", "chromium": "numpadEqual",
"glfw": [ "glfw": [
"KP_EQUAL" "KP_EQUAL"
],
"windows": [
"OEM_NEC_EQUAL"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3365,6 +3915,9 @@ ...@@ -3365,6 +3915,9 @@
], ],
"glfw": [ "glfw": [
336 336
],
"windows": [
146
] ]
} }
}, },
...@@ -3378,6 +3931,9 @@ ...@@ -3378,6 +3931,9 @@
"chromium": "f13", "chromium": "f13",
"glfw": [ "glfw": [
"F13" "F13"
],
"windows": [
"F13"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3394,6 +3950,9 @@ ...@@ -3394,6 +3950,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
302 302
],
"windows": [
124
] ]
} }
}, },
...@@ -3407,6 +3966,9 @@ ...@@ -3407,6 +3966,9 @@
"chromium": "f14", "chromium": "f14",
"glfw": [ "glfw": [
"F14" "F14"
],
"windows": [
"F14"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3423,6 +3985,9 @@ ...@@ -3423,6 +3985,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
303 303
],
"windows": [
125
] ]
} }
}, },
...@@ -3436,6 +4001,9 @@ ...@@ -3436,6 +4001,9 @@
"chromium": "f15", "chromium": "f15",
"glfw": [ "glfw": [
"F15" "F15"
],
"windows": [
"F15"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3452,6 +4020,9 @@ ...@@ -3452,6 +4020,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
304 304
],
"windows": [
126
] ]
} }
}, },
...@@ -3465,6 +4036,9 @@ ...@@ -3465,6 +4036,9 @@
"chromium": "f16", "chromium": "f16",
"glfw": [ "glfw": [
"F16" "F16"
],
"windows": [
"F16"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3481,6 +4055,9 @@ ...@@ -3481,6 +4055,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
305 305
],
"windows": [
127
] ]
} }
}, },
...@@ -3494,6 +4071,9 @@ ...@@ -3494,6 +4071,9 @@
"chromium": "f17", "chromium": "f17",
"glfw": [ "glfw": [
"F17" "F17"
],
"windows": [
"F17"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3510,6 +4090,9 @@ ...@@ -3510,6 +4090,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
306 306
],
"windows": [
128
] ]
} }
}, },
...@@ -3523,6 +4106,9 @@ ...@@ -3523,6 +4106,9 @@
"chromium": "f18", "chromium": "f18",
"glfw": [ "glfw": [
"F18" "F18"
],
"windows": [
"F18"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3539,6 +4125,9 @@ ...@@ -3539,6 +4125,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
307 307
],
"windows": [
129
] ]
} }
}, },
...@@ -3552,6 +4141,9 @@ ...@@ -3552,6 +4141,9 @@
"chromium": "f19", "chromium": "f19",
"glfw": [ "glfw": [
"F19" "F19"
],
"windows": [
"F19"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3568,6 +4160,9 @@ ...@@ -3568,6 +4160,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
308 308
],
"windows": [
130
] ]
} }
}, },
...@@ -3581,6 +4176,9 @@ ...@@ -3581,6 +4176,9 @@
"chromium": "f20", "chromium": "f20",
"glfw": [ "glfw": [
"F20" "F20"
],
"windows": [
"F20"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3597,6 +4195,9 @@ ...@@ -3597,6 +4195,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
309 309
],
"windows": [
131
] ]
} }
}, },
...@@ -3610,6 +4211,9 @@ ...@@ -3610,6 +4211,9 @@
"chromium": "f21", "chromium": "f21",
"glfw": [ "glfw": [
"F21" "F21"
],
"windows": [
"F21"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3626,6 +4230,9 @@ ...@@ -3626,6 +4230,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
310 310
],
"windows": [
132
] ]
} }
}, },
...@@ -3639,6 +4246,9 @@ ...@@ -3639,6 +4246,9 @@
"chromium": "f22", "chromium": "f22",
"glfw": [ "glfw": [
"F22" "F22"
],
"windows": [
"F22"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3655,6 +4265,9 @@ ...@@ -3655,6 +4265,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
311 311
],
"windows": [
133
] ]
} }
}, },
...@@ -3668,6 +4281,9 @@ ...@@ -3668,6 +4281,9 @@
"chromium": "f23", "chromium": "f23",
"glfw": [ "glfw": [
"F23" "F23"
],
"windows": [
"F23"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -3684,6 +4300,9 @@ ...@@ -3684,6 +4300,9 @@
"android": null, "android": null,
"glfw": [ "glfw": [
312 312
],
"windows": [
134
] ]
} }
}, },
...@@ -3695,7 +4314,10 @@ ...@@ -3695,7 +4314,10 @@
], ],
"english": "F24", "english": "F24",
"chromium": "f24", "chromium": "f24",
"glfw": null "glfw": null,
"windows": [
"F24"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3709,7 +4331,10 @@ ...@@ -3709,7 +4331,10 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": [
135
]
} }
}, },
"open": { "open": {
...@@ -3720,7 +4345,8 @@ ...@@ -3720,7 +4345,8 @@
], ],
"english": "Open", "english": "Open",
"chromium": "open", "chromium": "open",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3734,7 +4360,8 @@ ...@@ -3734,7 +4360,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"help": { "help": {
...@@ -3745,7 +4372,10 @@ ...@@ -3745,7 +4372,10 @@
], ],
"english": "Help", "english": "Help",
"chromium": "help", "chromium": "help",
"glfw": null "glfw": null,
"windows": [
"HELP"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3761,7 +4391,10 @@ ...@@ -3761,7 +4391,10 @@
"android": [ "android": [
259 259
], ],
"glfw": null "glfw": null,
"windows": [
47
]
} }
}, },
"select": { "select": {
...@@ -3772,7 +4405,10 @@ ...@@ -3772,7 +4405,10 @@
], ],
"english": "Select", "english": "Select",
"chromium": "select", "chromium": "select",
"glfw": null "glfw": null,
"windows": [
"SELECT"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3788,7 +4424,10 @@ ...@@ -3788,7 +4424,10 @@
"android": [ "android": [
23 23
], ],
"glfw": null "glfw": null,
"windows": [
41
]
} }
}, },
"again": { "again": {
...@@ -3799,7 +4438,8 @@ ...@@ -3799,7 +4438,8 @@
], ],
"english": "Again", "english": "Again",
"chromium": "again", "chromium": "again",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3813,7 +4453,8 @@ ...@@ -3813,7 +4453,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"undo": { "undo": {
...@@ -3824,7 +4465,8 @@ ...@@ -3824,7 +4465,8 @@
], ],
"english": "Undo", "english": "Undo",
"chromium": "undo", "chromium": "undo",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3838,7 +4480,8 @@ ...@@ -3838,7 +4480,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"cut": { "cut": {
...@@ -3849,7 +4492,8 @@ ...@@ -3849,7 +4492,8 @@
], ],
"english": "Cut", "english": "Cut",
"chromium": "cut", "chromium": "cut",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3865,7 +4509,8 @@ ...@@ -3865,7 +4509,8 @@
"android": [ "android": [
277 277
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"copy": { "copy": {
...@@ -3876,7 +4521,8 @@ ...@@ -3876,7 +4521,8 @@
], ],
"english": "Copy", "english": "Copy",
"chromium": "copy", "chromium": "copy",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3892,7 +4538,8 @@ ...@@ -3892,7 +4538,8 @@
"android": [ "android": [
278 278
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"paste": { "paste": {
...@@ -3903,7 +4550,8 @@ ...@@ -3903,7 +4550,8 @@
], ],
"english": "Paste", "english": "Paste",
"chromium": "paste", "chromium": "paste",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3919,7 +4567,8 @@ ...@@ -3919,7 +4567,8 @@
"android": [ "android": [
279 279
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"find": { "find": {
...@@ -3930,7 +4579,8 @@ ...@@ -3930,7 +4579,8 @@
], ],
"english": "Find", "english": "Find",
"chromium": "find", "chromium": "find",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3944,7 +4594,8 @@ ...@@ -3944,7 +4594,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"audioVolumeMute": { "audioVolumeMute": {
...@@ -3955,7 +4606,8 @@ ...@@ -3955,7 +4606,8 @@
], ],
"english": "Audio Volume Mute", "english": "Audio Volume Mute",
"chromium": "volumeMute", "chromium": "volumeMute",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3971,7 +4623,8 @@ ...@@ -3971,7 +4623,8 @@
"android": [ "android": [
164 164
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"audioVolumeUp": { "audioVolumeUp": {
...@@ -3982,7 +4635,8 @@ ...@@ -3982,7 +4635,8 @@
], ],
"english": "Audio Volume Up", "english": "Audio Volume Up",
"chromium": "volumeUp", "chromium": "volumeUp",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -3998,7 +4652,8 @@ ...@@ -3998,7 +4652,8 @@
"android": [ "android": [
24 24
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"audioVolumeDown": { "audioVolumeDown": {
...@@ -4009,7 +4664,8 @@ ...@@ -4009,7 +4664,8 @@
], ],
"english": "Audio Volume Down", "english": "Audio Volume Down",
"chromium": "volumeDown", "chromium": "volumeDown",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4025,7 +4681,8 @@ ...@@ -4025,7 +4681,8 @@
"android": [ "android": [
25 25
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadComma": { "numpadComma": {
...@@ -4036,7 +4693,8 @@ ...@@ -4036,7 +4693,8 @@
], ],
"english": "Numpad Comma", "english": "Numpad Comma",
"chromium": "numpadComma", "chromium": "numpadComma",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4053,7 +4711,8 @@ ...@@ -4053,7 +4711,8 @@
"android": [ "android": [
159 159
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"intlRo": { "intlRo": {
...@@ -4062,7 +4721,8 @@ ...@@ -4062,7 +4721,8 @@
"android": null, "android": null,
"english": "Intl Ro", "english": "Intl Ro",
"chromium": "intlRo", "chromium": "intlRo",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4074,7 +4734,8 @@ ...@@ -4074,7 +4734,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"kanaMode": { "kanaMode": {
...@@ -4083,7 +4744,8 @@ ...@@ -4083,7 +4744,8 @@
"android": null, "android": null,
"english": "Kana Mode", "english": "Kana Mode",
"chromium": "kanaMode", "chromium": "kanaMode",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4091,11 +4753,12 @@ ...@@ -4091,11 +4753,12 @@
"linux": 93, "linux": 93,
"xkb": 101, "xkb": 101,
"windows": 112, "windows": 112,
"macos": 104 "macos": null
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"intlYen": { "intlYen": {
...@@ -4104,7 +4767,8 @@ ...@@ -4104,7 +4767,8 @@
"android": null, "android": null,
"english": "Intl Yen", "english": "Intl Yen",
"chromium": "intlYen", "chromium": "intlYen",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4116,7 +4780,8 @@ ...@@ -4116,7 +4780,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"convert": { "convert": {
...@@ -4127,7 +4792,10 @@ ...@@ -4127,7 +4792,10 @@
], ],
"english": "Convert", "english": "Convert",
"chromium": "convert", "chromium": "convert",
"glfw": null "glfw": null,
"windows": [
"CONVERT"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4143,7 +4811,10 @@ ...@@ -4143,7 +4811,10 @@
"android": [ "android": [
214 214
], ],
"glfw": null "glfw": null,
"windows": [
28
]
} }
}, },
"nonConvert": { "nonConvert": {
...@@ -4154,7 +4825,8 @@ ...@@ -4154,7 +4825,8 @@
], ],
"english": "Non Convert", "english": "Non Convert",
"chromium": "nonConvert", "chromium": "nonConvert",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4170,7 +4842,8 @@ ...@@ -4170,7 +4842,8 @@
"android": [ "android": [
213 213
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"lang1": { "lang1": {
...@@ -4179,7 +4852,8 @@ ...@@ -4179,7 +4852,8 @@
"android": null, "android": null,
"english": "Lang 1", "english": "Lang 1",
"chromium": "lang1", "chromium": "lang1",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4187,11 +4861,12 @@ ...@@ -4187,11 +4861,12 @@
"linux": 122, "linux": 122,
"xkb": 130, "xkb": 130,
"windows": 114, "windows": 114,
"macos": null "macos": 104
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"lang2": { "lang2": {
...@@ -4200,7 +4875,8 @@ ...@@ -4200,7 +4875,8 @@
"android": null, "android": null,
"english": "Lang 2", "english": "Lang 2",
"chromium": "lang2", "chromium": "lang2",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4208,11 +4884,12 @@ ...@@ -4208,11 +4884,12 @@
"linux": 123, "linux": 123,
"xkb": 131, "xkb": 131,
"windows": 113, "windows": 113,
"macos": null "macos": 102
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"lang3": { "lang3": {
...@@ -4223,7 +4900,8 @@ ...@@ -4223,7 +4900,8 @@
], ],
"english": "Lang 3", "english": "Lang 3",
"chromium": "lang3", "chromium": "lang3",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4237,7 +4915,8 @@ ...@@ -4237,7 +4915,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"lang4": { "lang4": {
...@@ -4248,7 +4927,8 @@ ...@@ -4248,7 +4927,8 @@
], ],
"english": "Lang 4", "english": "Lang 4",
"chromium": "lang4", "chromium": "lang4",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4262,7 +4942,8 @@ ...@@ -4262,7 +4942,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"lang5": { "lang5": {
...@@ -4271,7 +4952,8 @@ ...@@ -4271,7 +4952,8 @@
"android": null, "android": null,
"english": "Lang 5", "english": "Lang 5",
"chromium": "lang5", "chromium": "lang5",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4283,7 +4965,8 @@ ...@@ -4283,7 +4965,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"abort": { "abort": {
...@@ -4292,7 +4975,8 @@ ...@@ -4292,7 +4975,8 @@
"android": null, "android": null,
"english": "Abort", "english": "Abort",
"chromium": "abort", "chromium": "abort",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4304,7 +4988,8 @@ ...@@ -4304,7 +4988,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"props": { "props": {
...@@ -4315,7 +5000,8 @@ ...@@ -4315,7 +5000,8 @@
], ],
"english": "Props", "english": "Props",
"chromium": "props", "chromium": "props",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4329,7 +5015,8 @@ ...@@ -4329,7 +5015,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadParenLeft": { "numpadParenLeft": {
...@@ -4340,7 +5027,8 @@ ...@@ -4340,7 +5027,8 @@
], ],
"english": "Numpad Paren Left", "english": "Numpad Paren Left",
"chromium": "numpadParenLeft", "chromium": "numpadParenLeft",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4356,7 +5044,8 @@ ...@@ -4356,7 +5044,8 @@
"android": [ "android": [
162 162
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadParenRight": { "numpadParenRight": {
...@@ -4367,7 +5056,8 @@ ...@@ -4367,7 +5056,8 @@
], ],
"english": "Numpad Paren Right", "english": "Numpad Paren Right",
"chromium": "numpadParenRight", "chromium": "numpadParenRight",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4383,7 +5073,8 @@ ...@@ -4383,7 +5073,8 @@
"android": [ "android": [
163 163
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadBackspace": { "numpadBackspace": {
...@@ -4392,7 +5083,8 @@ ...@@ -4392,7 +5083,8 @@
"android": null, "android": null,
"english": "Numpad Backspace", "english": "Numpad Backspace",
"chromium": "numpadBackspace", "chromium": "numpadBackspace",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4404,7 +5096,8 @@ ...@@ -4404,7 +5096,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadMemoryStore": { "numpadMemoryStore": {
...@@ -4413,7 +5106,8 @@ ...@@ -4413,7 +5106,8 @@
"android": null, "android": null,
"english": "Numpad Memory Store", "english": "Numpad Memory Store",
"chromium": "numpadMemoryStore", "chromium": "numpadMemoryStore",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4425,7 +5119,8 @@ ...@@ -4425,7 +5119,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadMemoryRecall": { "numpadMemoryRecall": {
...@@ -4434,7 +5129,8 @@ ...@@ -4434,7 +5129,8 @@
"android": null, "android": null,
"english": "Numpad Memory Recall", "english": "Numpad Memory Recall",
"chromium": "numpadMemoryRecall", "chromium": "numpadMemoryRecall",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4446,7 +5142,8 @@ ...@@ -4446,7 +5142,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadMemoryClear": { "numpadMemoryClear": {
...@@ -4455,7 +5152,8 @@ ...@@ -4455,7 +5152,8 @@
"android": null, "android": null,
"english": "Numpad Memory Clear", "english": "Numpad Memory Clear",
"chromium": "numpadMemoryClear", "chromium": "numpadMemoryClear",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4467,7 +5165,8 @@ ...@@ -4467,7 +5165,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadMemoryAdd": { "numpadMemoryAdd": {
...@@ -4476,7 +5175,8 @@ ...@@ -4476,7 +5175,8 @@
"android": null, "android": null,
"english": "Numpad Memory Add", "english": "Numpad Memory Add",
"chromium": "numpadMemoryAdd", "chromium": "numpadMemoryAdd",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4488,7 +5188,8 @@ ...@@ -4488,7 +5188,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadMemorySubtract": { "numpadMemorySubtract": {
...@@ -4497,7 +5198,8 @@ ...@@ -4497,7 +5198,8 @@
"android": null, "android": null,
"english": "Numpad Memory Subtract", "english": "Numpad Memory Subtract",
"chromium": "numpadMemorySubtract", "chromium": "numpadMemorySubtract",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4509,7 +5211,8 @@ ...@@ -4509,7 +5211,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadSignChange": { "numpadSignChange": {
...@@ -4518,7 +5221,8 @@ ...@@ -4518,7 +5221,8 @@
"android": null, "android": null,
"english": "Numpad Sign Change", "english": "Numpad Sign Change",
"chromium": "numpadSignChange", "chromium": "numpadSignChange",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4530,7 +5234,8 @@ ...@@ -4530,7 +5234,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadClear": { "numpadClear": {
...@@ -4539,7 +5244,8 @@ ...@@ -4539,7 +5244,8 @@
"android": null, "android": null,
"english": "Numpad Clear", "english": "Numpad Clear",
"chromium": "numpadClear", "chromium": "numpadClear",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4551,7 +5257,8 @@ ...@@ -4551,7 +5257,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"numpadClearEntry": { "numpadClearEntry": {
...@@ -4560,7 +5267,8 @@ ...@@ -4560,7 +5267,8 @@
"android": null, "android": null,
"english": "Numpad Clear Entry", "english": "Numpad Clear Entry",
"chromium": "numpadClearEntry", "chromium": "numpadClearEntry",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4572,7 +5280,8 @@ ...@@ -4572,7 +5280,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"controlLeft": { "controlLeft": {
...@@ -4585,6 +5294,9 @@ ...@@ -4585,6 +5294,9 @@
"chromium": "controlLeft", "chromium": "controlLeft",
"glfw": [ "glfw": [
"LEFT_CONTROL" "LEFT_CONTROL"
],
"windows": [
"LCONTROL"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -4603,6 +5315,9 @@ ...@@ -4603,6 +5315,9 @@
], ],
"glfw": [ "glfw": [
341 341
],
"windows": [
162
] ]
} }
}, },
...@@ -4616,6 +5331,9 @@ ...@@ -4616,6 +5331,9 @@
"chromium": "shiftLeft", "chromium": "shiftLeft",
"glfw": [ "glfw": [
"LEFT_SHIFT" "LEFT_SHIFT"
],
"windows": [
"LSHIFT"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -4634,6 +5352,9 @@ ...@@ -4634,6 +5352,9 @@
], ],
"glfw": [ "glfw": [
340 340
],
"windows": [
160
] ]
} }
}, },
...@@ -4647,6 +5368,9 @@ ...@@ -4647,6 +5368,9 @@
"chromium": "altLeft", "chromium": "altLeft",
"glfw": [ "glfw": [
"LEFT_ALT" "LEFT_ALT"
],
"windows": [
"LMENU"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -4665,6 +5389,9 @@ ...@@ -4665,6 +5389,9 @@
], ],
"glfw": [ "glfw": [
342 342
],
"windows": [
164
] ]
} }
}, },
...@@ -4678,6 +5405,9 @@ ...@@ -4678,6 +5405,9 @@
"chromium": "metaLeft", "chromium": "metaLeft",
"glfw": [ "glfw": [
"LEFT_SUPER" "LEFT_SUPER"
],
"windows": [
"LWIN"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -4696,6 +5426,9 @@ ...@@ -4696,6 +5426,9 @@
], ],
"glfw": [ "glfw": [
343 343
],
"windows": [
91
] ]
} }
}, },
...@@ -4709,6 +5442,9 @@ ...@@ -4709,6 +5442,9 @@
"chromium": "controlRight", "chromium": "controlRight",
"glfw": [ "glfw": [
"RIGHT_CONTROL" "RIGHT_CONTROL"
],
"windows": [
"RCONTROL"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -4727,6 +5463,9 @@ ...@@ -4727,6 +5463,9 @@
], ],
"glfw": [ "glfw": [
345 345
],
"windows": [
163
] ]
} }
}, },
...@@ -4740,6 +5479,9 @@ ...@@ -4740,6 +5479,9 @@
"chromium": "shiftRight", "chromium": "shiftRight",
"glfw": [ "glfw": [
"RIGHT_SHIFT" "RIGHT_SHIFT"
],
"windows": [
"RSHIFT"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -4758,6 +5500,9 @@ ...@@ -4758,6 +5500,9 @@
], ],
"glfw": [ "glfw": [
344 344
],
"windows": [
161
] ]
} }
}, },
...@@ -4771,6 +5516,9 @@ ...@@ -4771,6 +5516,9 @@
"chromium": "altRight", "chromium": "altRight",
"glfw": [ "glfw": [
"RIGHT_ALT" "RIGHT_ALT"
],
"windows": [
"RMENU"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -4789,6 +5537,9 @@ ...@@ -4789,6 +5537,9 @@
], ],
"glfw": [ "glfw": [
346 346
],
"windows": [
165
] ]
} }
}, },
...@@ -4802,6 +5553,9 @@ ...@@ -4802,6 +5553,9 @@
"chromium": "metaRight", "chromium": "metaRight",
"glfw": [ "glfw": [
"RIGHT_SUPER" "RIGHT_SUPER"
],
"windows": [
"RWIN"
] ]
}, },
"scanCodes": { "scanCodes": {
...@@ -4820,6 +5574,9 @@ ...@@ -4820,6 +5574,9 @@
], ],
"glfw": [ "glfw": [
347 347
],
"windows": [
92
] ]
} }
}, },
...@@ -4831,7 +5588,8 @@ ...@@ -4831,7 +5588,8 @@
], ],
"english": "Info", "english": "Info",
"chromium": "info", "chromium": "info",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4847,7 +5605,8 @@ ...@@ -4847,7 +5605,8 @@
"android": [ "android": [
165 165
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"closedCaptionToggle": { "closedCaptionToggle": {
...@@ -4858,7 +5617,8 @@ ...@@ -4858,7 +5617,8 @@
], ],
"english": "Closed Caption Toggle", "english": "Closed Caption Toggle",
"chromium": "closedCaptionToggle", "chromium": "closedCaptionToggle",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4872,7 +5632,8 @@ ...@@ -4872,7 +5632,8 @@
"android": [ "android": [
175 175
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"brightnessUp": { "brightnessUp": {
...@@ -4883,7 +5644,8 @@ ...@@ -4883,7 +5644,8 @@
], ],
"english": "Brightness Up", "english": "Brightness Up",
"chromium": "brightnessUp", "chromium": "brightnessUp",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4899,7 +5661,8 @@ ...@@ -4899,7 +5661,8 @@
"android": [ "android": [
221 221
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"brightnessDown": { "brightnessDown": {
...@@ -4910,7 +5673,8 @@ ...@@ -4910,7 +5673,8 @@
], ],
"english": "Brightness Down", "english": "Brightness Down",
"chromium": "brightnessDown", "chromium": "brightnessDown",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -4926,7 +5690,8 @@ ...@@ -4926,7 +5690,8 @@
"android": [ "android": [
220 220
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"brightnessToggle": { "brightnessToggle": {
...@@ -4935,7 +5700,8 @@ ...@@ -4935,7 +5700,8 @@
"android": null, "android": null,
"english": "Brightness Toggle", "english": "Brightness Toggle",
"chromium": "brightnessToggle", "chromium": "brightnessToggle",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4947,7 +5713,8 @@ ...@@ -4947,7 +5713,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"brightnessMinimum": { "brightnessMinimum": {
...@@ -4956,7 +5723,8 @@ ...@@ -4956,7 +5723,8 @@
"android": null, "android": null,
"english": "Brightness Minimum", "english": "Brightness Minimum",
"chromium": "brightnessMinimum", "chromium": "brightnessMinimum",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4968,7 +5736,8 @@ ...@@ -4968,7 +5736,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"brightnessMaximum": { "brightnessMaximum": {
...@@ -4977,7 +5746,8 @@ ...@@ -4977,7 +5746,8 @@
"android": null, "android": null,
"english": "Brightness Maximum", "english": "Brightness Maximum",
"chromium": "brightnessMaximum", "chromium": "brightnessMaximum",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -4989,7 +5759,8 @@ ...@@ -4989,7 +5759,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"brightnessAuto": { "brightnessAuto": {
...@@ -4998,7 +5769,8 @@ ...@@ -4998,7 +5769,8 @@
"android": null, "android": null,
"english": "Brightness Auto", "english": "Brightness Auto",
"chromium": "brightnessAuto", "chromium": "brightnessAuto",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5010,7 +5782,8 @@ ...@@ -5010,7 +5782,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mediaLast": { "mediaLast": {
...@@ -5021,7 +5794,8 @@ ...@@ -5021,7 +5794,8 @@
], ],
"english": "Media Last", "english": "Media Last",
"chromium": "mediaLast", "chromium": "mediaLast",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5035,7 +5809,8 @@ ...@@ -5035,7 +5809,8 @@
"android": [ "android": [
229 229
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchPhone": { "launchPhone": {
...@@ -5044,7 +5819,8 @@ ...@@ -5044,7 +5819,8 @@
"android": null, "android": null,
"english": "Launch Phone", "english": "Launch Phone",
"chromium": "launchPhone", "chromium": "launchPhone",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5056,7 +5832,8 @@ ...@@ -5056,7 +5832,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"programGuide": { "programGuide": {
...@@ -5065,7 +5842,8 @@ ...@@ -5065,7 +5842,8 @@
"android": null, "android": null,
"english": "Program Guide", "english": "Program Guide",
"chromium": "programGuide", "chromium": "programGuide",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5077,7 +5855,8 @@ ...@@ -5077,7 +5855,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"exit": { "exit": {
...@@ -5088,7 +5867,8 @@ ...@@ -5088,7 +5867,8 @@
], ],
"english": "Exit", "english": "Exit",
"chromium": "exit", "chromium": "exit",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5102,7 +5882,8 @@ ...@@ -5102,7 +5882,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"channelUp": { "channelUp": {
...@@ -5113,7 +5894,8 @@ ...@@ -5113,7 +5894,8 @@
], ],
"english": "Channel Up", "english": "Channel Up",
"chromium": "channelUp", "chromium": "channelUp",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5129,7 +5911,8 @@ ...@@ -5129,7 +5911,8 @@
"android": [ "android": [
166 166
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"channelDown": { "channelDown": {
...@@ -5140,7 +5923,8 @@ ...@@ -5140,7 +5923,8 @@
], ],
"english": "Channel Down", "english": "Channel Down",
"chromium": "channelDown", "chromium": "channelDown",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5156,7 +5940,8 @@ ...@@ -5156,7 +5940,8 @@
"android": [ "android": [
167 167
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mediaPlay": { "mediaPlay": {
...@@ -5167,7 +5952,8 @@ ...@@ -5167,7 +5952,8 @@
], ],
"english": "Media Play", "english": "Media Play",
"chromium": "mediaPlay", "chromium": "mediaPlay",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5184,7 +5970,37 @@ ...@@ -5184,7 +5970,37 @@
"android": [ "android": [
126 126
], ],
"glfw": null "glfw": null,
"windows": null
}
},
"mediaPause": {
"names": {
"domkey": "MediaPause",
"android": [
"MEDIA_PAUSE"
],
"english": "Media Pause",
"chromium": "mediaPause",
"glfw": null,
"windows": null
},
"scanCodes": {
"android": [
201
],
"usb": 786609,
"linux": 201,
"xkb": 209,
"windows": null,
"macos": null
},
"keyCodes": {
"android": [
127
],
"glfw": null,
"windows": null
} }
}, },
"mediaRecord": { "mediaRecord": {
...@@ -5195,7 +6011,8 @@ ...@@ -5195,7 +6011,8 @@
], ],
"english": "Media Record", "english": "Media Record",
"chromium": "mediaRecord", "chromium": "mediaRecord",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5211,7 +6028,8 @@ ...@@ -5211,7 +6028,8 @@
"android": [ "android": [
130 130
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mediaFastForward": { "mediaFastForward": {
...@@ -5222,7 +6040,8 @@ ...@@ -5222,7 +6040,8 @@
], ],
"english": "Media Fast Forward", "english": "Media Fast Forward",
"chromium": "mediaFastForward", "chromium": "mediaFastForward",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5238,7 +6057,8 @@ ...@@ -5238,7 +6057,8 @@
"android": [ "android": [
90 90
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mediaRewind": { "mediaRewind": {
...@@ -5249,7 +6069,8 @@ ...@@ -5249,7 +6069,8 @@
], ],
"english": "Media Rewind", "english": "Media Rewind",
"chromium": "mediaRewind", "chromium": "mediaRewind",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5265,7 +6086,8 @@ ...@@ -5265,7 +6086,8 @@
"android": [ "android": [
89 89
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mediaTrackNext": { "mediaTrackNext": {
...@@ -5276,7 +6098,8 @@ ...@@ -5276,7 +6098,8 @@
], ],
"english": "Media Track Next", "english": "Media Track Next",
"chromium": "mediaTrackNext", "chromium": "mediaTrackNext",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5292,7 +6115,8 @@ ...@@ -5292,7 +6115,8 @@
"android": [ "android": [
87 87
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mediaTrackPrevious": { "mediaTrackPrevious": {
...@@ -5303,7 +6127,8 @@ ...@@ -5303,7 +6127,8 @@
], ],
"english": "Media Track Previous", "english": "Media Track Previous",
"chromium": "mediaTrackPrevious", "chromium": "mediaTrackPrevious",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5319,7 +6144,8 @@ ...@@ -5319,7 +6144,8 @@
"android": [ "android": [
88 88
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mediaStop": { "mediaStop": {
...@@ -5330,7 +6156,10 @@ ...@@ -5330,7 +6156,10 @@
], ],
"english": "Media Stop", "english": "Media Stop",
"chromium": "mediaStop", "chromium": "mediaStop",
"glfw": null "glfw": null,
"windows": [
"MEDIA_STOP"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5347,7 +6176,10 @@ ...@@ -5347,7 +6176,10 @@
"android": [ "android": [
86 86
], ],
"glfw": null "glfw": null,
"windows": [
178
]
} }
}, },
"eject": { "eject": {
...@@ -5358,7 +6190,8 @@ ...@@ -5358,7 +6190,8 @@
], ],
"english": "Eject", "english": "Eject",
"chromium": "eject", "chromium": "eject",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5375,7 +6208,8 @@ ...@@ -5375,7 +6208,8 @@
"android": [ "android": [
129 129
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mediaPlayPause": { "mediaPlayPause": {
...@@ -5386,7 +6220,10 @@ ...@@ -5386,7 +6220,10 @@
], ],
"english": "Media Play Pause", "english": "Media Play Pause",
"chromium": "mediaPlayPause", "chromium": "mediaPlayPause",
"glfw": null "glfw": null,
"windows": [
"MEDIA_PLAY_PAUSE"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5402,7 +6239,10 @@ ...@@ -5402,7 +6239,10 @@
"android": [ "android": [
85 85
], ],
"glfw": null "glfw": null,
"windows": [
179
]
} }
}, },
"speechInputToggle": { "speechInputToggle": {
...@@ -5411,7 +6251,8 @@ ...@@ -5411,7 +6251,8 @@
"android": null, "android": null,
"english": "Speech Input Toggle", "english": "Speech Input Toggle",
"chromium": "speechInputToggle", "chromium": "speechInputToggle",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5423,7 +6264,8 @@ ...@@ -5423,7 +6264,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"bassBoost": { "bassBoost": {
...@@ -5434,7 +6276,8 @@ ...@@ -5434,7 +6276,8 @@
], ],
"english": "Bass Boost", "english": "Bass Boost",
"chromium": "bassBoost", "chromium": "bassBoost",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5448,7 +6291,8 @@ ...@@ -5448,7 +6291,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mediaSelect": { "mediaSelect": {
...@@ -5457,7 +6301,8 @@ ...@@ -5457,7 +6301,8 @@
"android": null, "android": null,
"english": "Media Select", "english": "Media Select",
"chromium": "mediaSelect", "chromium": "mediaSelect",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5469,7 +6314,8 @@ ...@@ -5469,7 +6314,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchWordProcessor": { "launchWordProcessor": {
...@@ -5478,7 +6324,8 @@ ...@@ -5478,7 +6324,8 @@
"android": null, "android": null,
"english": "Launch Word Processor", "english": "Launch Word Processor",
"chromium": "launchWordProcessor", "chromium": "launchWordProcessor",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5490,7 +6337,8 @@ ...@@ -5490,7 +6337,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchSpreadsheet": { "launchSpreadsheet": {
...@@ -5499,7 +6347,8 @@ ...@@ -5499,7 +6347,8 @@
"android": null, "android": null,
"english": "Launch Spreadsheet", "english": "Launch Spreadsheet",
"chromium": "launchSpreadsheet", "chromium": "launchSpreadsheet",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5511,7 +6360,8 @@ ...@@ -5511,7 +6360,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchMail": { "launchMail": {
...@@ -5522,7 +6372,10 @@ ...@@ -5522,7 +6372,10 @@
], ],
"english": "Launch Mail", "english": "Launch Mail",
"chromium": "launchMail", "chromium": "launchMail",
"glfw": null "glfw": null,
"windows": [
"LAUNCH_MAIL"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5539,7 +6392,10 @@ ...@@ -5539,7 +6392,10 @@
"android": [ "android": [
65 65
], ],
"glfw": null "glfw": null,
"windows": [
180
]
} }
}, },
"launchContacts": { "launchContacts": {
...@@ -5550,7 +6406,8 @@ ...@@ -5550,7 +6406,8 @@
], ],
"english": "Launch Contacts", "english": "Launch Contacts",
"chromium": "launchContacts", "chromium": "launchContacts",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5566,7 +6423,8 @@ ...@@ -5566,7 +6423,8 @@
"android": [ "android": [
207 207
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchCalendar": { "launchCalendar": {
...@@ -5577,7 +6435,8 @@ ...@@ -5577,7 +6435,8 @@
], ],
"english": "Launch Calendar", "english": "Launch Calendar",
"chromium": "launchCalendar", "chromium": "launchCalendar",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5593,7 +6452,8 @@ ...@@ -5593,7 +6452,8 @@
"android": [ "android": [
208 208
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchApp2": { "launchApp2": {
...@@ -5602,7 +6462,10 @@ ...@@ -5602,7 +6462,10 @@
"android": null, "android": null,
"english": "Launch App2", "english": "Launch App2",
"chromium": "launchApp2", "chromium": "launchApp2",
"glfw": null "glfw": null,
"windows": [
"LAUNCH_APP2"
]
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5614,7 +6477,10 @@ ...@@ -5614,7 +6477,10 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": [
183
]
} }
}, },
"launchApp1": { "launchApp1": {
...@@ -5623,7 +6489,10 @@ ...@@ -5623,7 +6489,10 @@
"android": null, "android": null,
"english": "Launch App1", "english": "Launch App1",
"chromium": "launchApp1", "chromium": "launchApp1",
"glfw": null "glfw": null,
"windows": [
"LAUNCH_APP1"
]
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5635,7 +6504,10 @@ ...@@ -5635,7 +6504,10 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": [
182
]
} }
}, },
"launchInternetBrowser": { "launchInternetBrowser": {
...@@ -5644,7 +6516,8 @@ ...@@ -5644,7 +6516,8 @@
"android": null, "android": null,
"english": "Launch Internet Browser", "english": "Launch Internet Browser",
"chromium": "launchInternetBrowser", "chromium": "launchInternetBrowser",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5656,7 +6529,8 @@ ...@@ -5656,7 +6529,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"logOff": { "logOff": {
...@@ -5665,7 +6539,8 @@ ...@@ -5665,7 +6539,8 @@
"android": null, "android": null,
"english": "Log Off", "english": "Log Off",
"chromium": "logOff", "chromium": "logOff",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5677,7 +6552,8 @@ ...@@ -5677,7 +6552,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"lockScreen": { "lockScreen": {
...@@ -5686,7 +6562,8 @@ ...@@ -5686,7 +6562,8 @@
"android": null, "android": null,
"english": "Lock Screen", "english": "Lock Screen",
"chromium": "lockScreen", "chromium": "lockScreen",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5698,7 +6575,8 @@ ...@@ -5698,7 +6575,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchControlPanel": { "launchControlPanel": {
...@@ -5707,7 +6585,8 @@ ...@@ -5707,7 +6585,8 @@
"android": null, "android": null,
"english": "Launch Control Panel", "english": "Launch Control Panel",
"chromium": "launchControlPanel", "chromium": "launchControlPanel",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5719,7 +6598,8 @@ ...@@ -5719,7 +6598,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"selectTask": { "selectTask": {
...@@ -5728,7 +6608,8 @@ ...@@ -5728,7 +6608,8 @@
"android": null, "android": null,
"english": "Select Task", "english": "Select Task",
"chromium": "selectTask", "chromium": "selectTask",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5740,7 +6621,8 @@ ...@@ -5740,7 +6621,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchDocuments": { "launchDocuments": {
...@@ -5749,7 +6631,8 @@ ...@@ -5749,7 +6631,8 @@
"android": null, "android": null,
"english": "Launch Documents", "english": "Launch Documents",
"chromium": "launchDocuments", "chromium": "launchDocuments",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5761,7 +6644,8 @@ ...@@ -5761,7 +6644,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"spellCheck": { "spellCheck": {
...@@ -5770,7 +6654,8 @@ ...@@ -5770,7 +6654,8 @@
"android": null, "android": null,
"english": "Spell Check", "english": "Spell Check",
"chromium": "spellCheck", "chromium": "spellCheck",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5782,7 +6667,8 @@ ...@@ -5782,7 +6667,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchKeyboardLayout": { "launchKeyboardLayout": {
...@@ -5791,7 +6677,8 @@ ...@@ -5791,7 +6677,8 @@
"android": null, "android": null,
"english": "Launch Keyboard Layout", "english": "Launch Keyboard Layout",
"chromium": "launchKeyboardLayout", "chromium": "launchKeyboardLayout",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5803,7 +6690,8 @@ ...@@ -5803,7 +6690,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchScreenSaver": { "launchScreenSaver": {
...@@ -5812,7 +6700,8 @@ ...@@ -5812,7 +6700,8 @@
"android": null, "android": null,
"english": "Launch Screen Saver", "english": "Launch Screen Saver",
"chromium": "launchScreenSaver", "chromium": "launchScreenSaver",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5824,7 +6713,8 @@ ...@@ -5824,7 +6713,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchAssistant": { "launchAssistant": {
...@@ -5835,7 +6725,8 @@ ...@@ -5835,7 +6725,8 @@
], ],
"english": "Launch Assistant", "english": "Launch Assistant",
"chromium": "launchAssistant", "chromium": "launchAssistant",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5849,7 +6740,8 @@ ...@@ -5849,7 +6740,8 @@
"android": [ "android": [
219 219
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"launchAudioBrowser": { "launchAudioBrowser": {
...@@ -5858,7 +6750,8 @@ ...@@ -5858,7 +6750,8 @@
"android": null, "android": null,
"english": "Launch Audio Browser", "english": "Launch Audio Browser",
"chromium": "launchAudioBrowser", "chromium": "launchAudioBrowser",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5870,7 +6763,8 @@ ...@@ -5870,7 +6763,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"newKey": { "newKey": {
...@@ -5881,7 +6775,8 @@ ...@@ -5881,7 +6775,8 @@
], ],
"english": "New Key", "english": "New Key",
"chromium": "new", "chromium": "new",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5895,7 +6790,8 @@ ...@@ -5895,7 +6790,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"close": { "close": {
...@@ -5907,7 +6803,8 @@ ...@@ -5907,7 +6803,8 @@
], ],
"english": "Close", "english": "Close",
"chromium": "close", "chromium": "close",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5924,7 +6821,8 @@ ...@@ -5924,7 +6821,8 @@
"android": [ "android": [
128 128
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"save": { "save": {
...@@ -5933,7 +6831,8 @@ ...@@ -5933,7 +6831,8 @@
"android": null, "android": null,
"english": "Save", "english": "Save",
"chromium": "save", "chromium": "save",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -5945,7 +6844,8 @@ ...@@ -5945,7 +6844,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"print": { "print": {
...@@ -5956,7 +6856,10 @@ ...@@ -5956,7 +6856,10 @@
], ],
"english": "Print", "english": "Print",
"chromium": "print", "chromium": "print",
"glfw": null "glfw": null,
"windows": [
"PRINT"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5970,7 +6873,10 @@ ...@@ -5970,7 +6873,10 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": [
42
]
} }
}, },
"browserSearch": { "browserSearch": {
...@@ -5981,7 +6887,10 @@ ...@@ -5981,7 +6887,10 @@
], ],
"english": "Browser Search", "english": "Browser Search",
"chromium": "browserSearch", "chromium": "browserSearch",
"glfw": null "glfw": null,
"windows": [
"BROWSER_SEARCH"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -5997,7 +6906,10 @@ ...@@ -5997,7 +6906,10 @@
"android": [ "android": [
84 84
], ],
"glfw": null "glfw": null,
"windows": [
170
]
} }
}, },
"browserHome": { "browserHome": {
...@@ -6006,7 +6918,10 @@ ...@@ -6006,7 +6918,10 @@
"android": null, "android": null,
"english": "Browser Home", "english": "Browser Home",
"chromium": "browserHome", "chromium": "browserHome",
"glfw": null "glfw": null,
"windows": [
"BROWSER_HOME"
]
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6018,7 +6933,10 @@ ...@@ -6018,7 +6933,10 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": [
172
]
} }
}, },
"browserBack": { "browserBack": {
...@@ -6027,7 +6945,10 @@ ...@@ -6027,7 +6945,10 @@
"android": null, "android": null,
"english": "Browser Back", "english": "Browser Back",
"chromium": "browserBack", "chromium": "browserBack",
"glfw": null "glfw": null,
"windows": [
"BROWSER_BACK"
]
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6039,7 +6960,10 @@ ...@@ -6039,7 +6960,10 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": [
166
]
} }
}, },
"browserForward": { "browserForward": {
...@@ -6050,7 +6974,10 @@ ...@@ -6050,7 +6974,10 @@
], ],
"english": "Browser Forward", "english": "Browser Forward",
"chromium": "browserForward", "chromium": "browserForward",
"glfw": null "glfw": null,
"windows": [
"BROWSER_FORWARD"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6066,7 +6993,10 @@ ...@@ -6066,7 +6993,10 @@
"android": [ "android": [
125 125
], ],
"glfw": null "glfw": null,
"windows": [
167
]
} }
}, },
"browserStop": { "browserStop": {
...@@ -6075,7 +7005,10 @@ ...@@ -6075,7 +7005,10 @@
"android": null, "android": null,
"english": "Browser Stop", "english": "Browser Stop",
"chromium": "browserStop", "chromium": "browserStop",
"glfw": null "glfw": null,
"windows": [
"BROWSER_STOP"
]
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6087,7 +7020,10 @@ ...@@ -6087,7 +7020,10 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": [
169
]
} }
}, },
"browserRefresh": { "browserRefresh": {
...@@ -6096,7 +7032,10 @@ ...@@ -6096,7 +7032,10 @@
"android": null, "android": null,
"english": "Browser Refresh", "english": "Browser Refresh",
"chromium": "browserRefresh", "chromium": "browserRefresh",
"glfw": null "glfw": null,
"windows": [
"BROWSER_REFRESH"
]
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6108,7 +7047,10 @@ ...@@ -6108,7 +7047,10 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": [
168
]
} }
}, },
"browserFavorites": { "browserFavorites": {
...@@ -6119,7 +7061,10 @@ ...@@ -6119,7 +7061,10 @@
], ],
"english": "Browser Favorites", "english": "Browser Favorites",
"chromium": "browserFavorites", "chromium": "browserFavorites",
"glfw": null "glfw": null,
"windows": [
"BROWSER_FAVORITES"
]
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6135,7 +7080,10 @@ ...@@ -6135,7 +7080,10 @@
"android": [ "android": [
174 174
], ],
"glfw": null "glfw": null,
"windows": [
171
]
} }
}, },
"zoomIn": { "zoomIn": {
...@@ -6146,7 +7094,8 @@ ...@@ -6146,7 +7094,8 @@
], ],
"english": "Zoom In", "english": "Zoom In",
"chromium": "zoomIn", "chromium": "zoomIn",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6160,7 +7109,8 @@ ...@@ -6160,7 +7109,8 @@
"android": [ "android": [
168 168
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"zoomOut": { "zoomOut": {
...@@ -6171,7 +7121,8 @@ ...@@ -6171,7 +7121,8 @@
], ],
"english": "Zoom Out", "english": "Zoom Out",
"chromium": "zoomOut", "chromium": "zoomOut",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6185,7 +7136,8 @@ ...@@ -6185,7 +7136,8 @@
"android": [ "android": [
169 169
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"zoomToggle": { "zoomToggle": {
...@@ -6196,7 +7148,8 @@ ...@@ -6196,7 +7148,8 @@
], ],
"english": "Zoom Toggle", "english": "Zoom Toggle",
"chromium": "zoomToggle", "chromium": "zoomToggle",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6210,7 +7163,8 @@ ...@@ -6210,7 +7163,8 @@
"android": [ "android": [
255 255
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"redo": { "redo": {
...@@ -6221,7 +7175,8 @@ ...@@ -6221,7 +7175,8 @@
], ],
"english": "Redo", "english": "Redo",
"chromium": "redo", "chromium": "redo",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6235,7 +7190,8 @@ ...@@ -6235,7 +7190,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mailReply": { "mailReply": {
...@@ -6244,7 +7200,8 @@ ...@@ -6244,7 +7200,8 @@
"android": null, "android": null,
"english": "Mail Reply", "english": "Mail Reply",
"chromium": "mailReply", "chromium": "mailReply",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6256,7 +7213,8 @@ ...@@ -6256,7 +7213,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mailForward": { "mailForward": {
...@@ -6265,7 +7223,8 @@ ...@@ -6265,7 +7223,8 @@
"android": null, "android": null,
"english": "Mail Forward", "english": "Mail Forward",
"chromium": "mailForward", "chromium": "mailForward",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6277,7 +7236,8 @@ ...@@ -6277,7 +7236,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"mailSend": { "mailSend": {
...@@ -6286,7 +7246,8 @@ ...@@ -6286,7 +7246,8 @@
"android": null, "android": null,
"english": "Mail Send", "english": "Mail Send",
"chromium": "mailSend", "chromium": "mailSend",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6298,7 +7259,8 @@ ...@@ -6298,7 +7259,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"keyboardLayoutSelect": { "keyboardLayoutSelect": {
...@@ -6307,7 +7269,8 @@ ...@@ -6307,7 +7269,8 @@
"android": null, "android": null,
"english": "Keyboard Layout Select", "english": "Keyboard Layout Select",
"chromium": "keyboardLayoutSelect", "chromium": "keyboardLayoutSelect",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6319,7 +7282,8 @@ ...@@ -6319,7 +7282,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"showAllWindows": { "showAllWindows": {
...@@ -6328,7 +7292,8 @@ ...@@ -6328,7 +7292,8 @@
"android": null, "android": null,
"english": "Show All Windows", "english": "Show All Windows",
"chromium": "showAllWindows", "chromium": "showAllWindows",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": null, "android": null,
...@@ -6340,7 +7305,8 @@ ...@@ -6340,7 +7305,8 @@
}, },
"keyCodes": { "keyCodes": {
"android": null, "android": null,
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton1": { "gameButton1": {
...@@ -6351,7 +7317,8 @@ ...@@ -6351,7 +7317,8 @@
], ],
"english": "Game Button 1", "english": "Game Button 1",
"chromium": "button1", "chromium": "button1",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6368,7 +7335,8 @@ ...@@ -6368,7 +7335,8 @@
"android": [ "android": [
188 188
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton2": { "gameButton2": {
...@@ -6379,7 +7347,8 @@ ...@@ -6379,7 +7347,8 @@
], ],
"english": "Game Button 2", "english": "Game Button 2",
"chromium": "button2", "chromium": "button2",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6396,7 +7365,8 @@ ...@@ -6396,7 +7365,8 @@
"android": [ "android": [
189 189
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton3": { "gameButton3": {
...@@ -6407,7 +7377,8 @@ ...@@ -6407,7 +7377,8 @@
], ],
"english": "Game Button 3", "english": "Game Button 3",
"chromium": "button3", "chromium": "button3",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6424,7 +7395,8 @@ ...@@ -6424,7 +7395,8 @@
"android": [ "android": [
190 190
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton4": { "gameButton4": {
...@@ -6435,7 +7407,8 @@ ...@@ -6435,7 +7407,8 @@
], ],
"english": "Game Button 4", "english": "Game Button 4",
"chromium": "button4", "chromium": "button4",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6452,7 +7425,8 @@ ...@@ -6452,7 +7425,8 @@
"android": [ "android": [
191 191
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton5": { "gameButton5": {
...@@ -6463,7 +7437,8 @@ ...@@ -6463,7 +7437,8 @@
], ],
"english": "Game Button 5", "english": "Game Button 5",
"chromium": "button5", "chromium": "button5",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6480,7 +7455,8 @@ ...@@ -6480,7 +7455,8 @@
"android": [ "android": [
192 192
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton6": { "gameButton6": {
...@@ -6491,7 +7467,8 @@ ...@@ -6491,7 +7467,8 @@
], ],
"english": "Game Button 6", "english": "Game Button 6",
"chromium": "button6", "chromium": "button6",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6508,7 +7485,8 @@ ...@@ -6508,7 +7485,8 @@
"android": [ "android": [
193 193
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton7": { "gameButton7": {
...@@ -6519,7 +7497,8 @@ ...@@ -6519,7 +7497,8 @@
], ],
"english": "Game Button 7", "english": "Game Button 7",
"chromium": "button7", "chromium": "button7",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6536,7 +7515,8 @@ ...@@ -6536,7 +7515,8 @@
"android": [ "android": [
194 194
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton8": { "gameButton8": {
...@@ -6547,7 +7527,8 @@ ...@@ -6547,7 +7527,8 @@
], ],
"english": "Game Button 8", "english": "Game Button 8",
"chromium": "button8", "chromium": "button8",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6564,7 +7545,8 @@ ...@@ -6564,7 +7545,8 @@
"android": [ "android": [
195 195
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton9": { "gameButton9": {
...@@ -6575,7 +7557,8 @@ ...@@ -6575,7 +7557,8 @@
], ],
"english": "Game Button 9", "english": "Game Button 9",
"chromium": "button9", "chromium": "button9",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6592,7 +7575,8 @@ ...@@ -6592,7 +7575,8 @@
"android": [ "android": [
196 196
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton10": { "gameButton10": {
...@@ -6603,7 +7587,8 @@ ...@@ -6603,7 +7587,8 @@
], ],
"english": "Game Button 10", "english": "Game Button 10",
"chromium": "button10", "chromium": "button10",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6620,7 +7605,8 @@ ...@@ -6620,7 +7605,8 @@
"android": [ "android": [
197 197
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton11": { "gameButton11": {
...@@ -6631,7 +7617,8 @@ ...@@ -6631,7 +7617,8 @@
], ],
"english": "Game Button 11", "english": "Game Button 11",
"chromium": "button11", "chromium": "button11",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6648,7 +7635,8 @@ ...@@ -6648,7 +7635,8 @@
"android": [ "android": [
198 198
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton12": { "gameButton12": {
...@@ -6659,7 +7647,8 @@ ...@@ -6659,7 +7647,8 @@
], ],
"english": "Game Button 12", "english": "Game Button 12",
"chromium": "button12", "chromium": "button12",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6676,7 +7665,8 @@ ...@@ -6676,7 +7665,8 @@
"android": [ "android": [
199 199
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton13": { "gameButton13": {
...@@ -6687,7 +7677,8 @@ ...@@ -6687,7 +7677,8 @@
], ],
"english": "Game Button 13", "english": "Game Button 13",
"chromium": "button13", "chromium": "button13",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6704,7 +7695,8 @@ ...@@ -6704,7 +7695,8 @@
"android": [ "android": [
200 200
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton14": { "gameButton14": {
...@@ -6715,7 +7707,8 @@ ...@@ -6715,7 +7707,8 @@
], ],
"english": "Game Button 14", "english": "Game Button 14",
"chromium": "button14", "chromium": "button14",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6732,7 +7725,8 @@ ...@@ -6732,7 +7725,8 @@
"android": [ "android": [
201 201
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton15": { "gameButton15": {
...@@ -6743,7 +7737,8 @@ ...@@ -6743,7 +7737,8 @@
], ],
"english": "Game Button 15", "english": "Game Button 15",
"chromium": "button15", "chromium": "button15",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6760,7 +7755,8 @@ ...@@ -6760,7 +7755,8 @@
"android": [ "android": [
202 202
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButton16": { "gameButton16": {
...@@ -6771,7 +7767,8 @@ ...@@ -6771,7 +7767,8 @@
], ],
"english": "Game Button 16", "english": "Game Button 16",
"chromium": "button16", "chromium": "button16",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6788,7 +7785,8 @@ ...@@ -6788,7 +7785,8 @@
"android": [ "android": [
203 203
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonA": { "gameButtonA": {
...@@ -6799,7 +7797,8 @@ ...@@ -6799,7 +7797,8 @@
], ],
"english": "Game Button A", "english": "Game Button A",
"chromium": "buttonA", "chromium": "buttonA",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6815,7 +7814,8 @@ ...@@ -6815,7 +7814,8 @@
"android": [ "android": [
96 96
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonB": { "gameButtonB": {
...@@ -6826,7 +7826,8 @@ ...@@ -6826,7 +7826,8 @@
], ],
"english": "Game Button B", "english": "Game Button B",
"chromium": "buttonB", "chromium": "buttonB",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6842,7 +7843,8 @@ ...@@ -6842,7 +7843,8 @@
"android": [ "android": [
97 97
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonC": { "gameButtonC": {
...@@ -6853,7 +7855,8 @@ ...@@ -6853,7 +7855,8 @@
], ],
"english": "Game Button C", "english": "Game Button C",
"chromium": "buttonC", "chromium": "buttonC",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6869,7 +7872,8 @@ ...@@ -6869,7 +7872,8 @@
"android": [ "android": [
98 98
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonLeft1": { "gameButtonLeft1": {
...@@ -6880,7 +7884,8 @@ ...@@ -6880,7 +7884,8 @@
], ],
"english": "Game Button Left 1", "english": "Game Button Left 1",
"chromium": "buttonL1", "chromium": "buttonL1",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6896,7 +7901,8 @@ ...@@ -6896,7 +7901,8 @@
"android": [ "android": [
102 102
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonLeft2": { "gameButtonLeft2": {
...@@ -6907,7 +7913,8 @@ ...@@ -6907,7 +7913,8 @@
], ],
"english": "Game Button Left 2", "english": "Game Button Left 2",
"chromium": "buttonL2", "chromium": "buttonL2",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6923,7 +7930,8 @@ ...@@ -6923,7 +7930,8 @@
"android": [ "android": [
104 104
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonMode": { "gameButtonMode": {
...@@ -6934,7 +7942,8 @@ ...@@ -6934,7 +7942,8 @@
], ],
"english": "Game Button Mode", "english": "Game Button Mode",
"chromium": "buttonMode", "chromium": "buttonMode",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6950,7 +7959,8 @@ ...@@ -6950,7 +7959,8 @@
"android": [ "android": [
110 110
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonRight1": { "gameButtonRight1": {
...@@ -6961,7 +7971,8 @@ ...@@ -6961,7 +7971,8 @@
], ],
"english": "Game Button Right 1", "english": "Game Button Right 1",
"chromium": "buttonR1", "chromium": "buttonR1",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -6977,7 +7988,8 @@ ...@@ -6977,7 +7988,8 @@
"android": [ "android": [
103 103
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonRight2": { "gameButtonRight2": {
...@@ -6988,7 +8000,8 @@ ...@@ -6988,7 +8000,8 @@
], ],
"english": "Game Button Right 2", "english": "Game Button Right 2",
"chromium": "buttonR2", "chromium": "buttonR2",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -7004,7 +8017,8 @@ ...@@ -7004,7 +8017,8 @@
"android": [ "android": [
105 105
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonSelect": { "gameButtonSelect": {
...@@ -7015,7 +8029,8 @@ ...@@ -7015,7 +8029,8 @@
], ],
"english": "Game Button Select", "english": "Game Button Select",
"chromium": "buttonSelect", "chromium": "buttonSelect",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -7031,7 +8046,8 @@ ...@@ -7031,7 +8046,8 @@
"android": [ "android": [
109 109
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonStart": { "gameButtonStart": {
...@@ -7042,7 +8058,8 @@ ...@@ -7042,7 +8058,8 @@
], ],
"english": "Game Button Start", "english": "Game Button Start",
"chromium": "buttonStart", "chromium": "buttonStart",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -7058,7 +8075,8 @@ ...@@ -7058,7 +8075,8 @@
"android": [ "android": [
108 108
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonThumbLeft": { "gameButtonThumbLeft": {
...@@ -7069,7 +8087,8 @@ ...@@ -7069,7 +8087,8 @@
], ],
"english": "Game Button Thumb Left", "english": "Game Button Thumb Left",
"chromium": "buttonThumbl", "chromium": "buttonThumbl",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -7085,7 +8104,8 @@ ...@@ -7085,7 +8104,8 @@
"android": [ "android": [
106 106
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonThumbRight": { "gameButtonThumbRight": {
...@@ -7096,7 +8116,8 @@ ...@@ -7096,7 +8116,8 @@
], ],
"english": "Game Button Thumb Right", "english": "Game Button Thumb Right",
"chromium": "buttonThumbr", "chromium": "buttonThumbr",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -7112,7 +8133,8 @@ ...@@ -7112,7 +8133,8 @@
"android": [ "android": [
107 107
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonX": { "gameButtonX": {
...@@ -7123,7 +8145,8 @@ ...@@ -7123,7 +8145,8 @@
], ],
"english": "Game Button X", "english": "Game Button X",
"chromium": "buttonX", "chromium": "buttonX",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -7139,7 +8162,8 @@ ...@@ -7139,7 +8162,8 @@
"android": [ "android": [
99 99
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonY": { "gameButtonY": {
...@@ -7150,7 +8174,8 @@ ...@@ -7150,7 +8174,8 @@
], ],
"english": "Game Button Y", "english": "Game Button Y",
"chromium": "buttonY", "chromium": "buttonY",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -7166,7 +8191,8 @@ ...@@ -7166,7 +8191,8 @@
"android": [ "android": [
100 100
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"gameButtonZ": { "gameButtonZ": {
...@@ -7177,7 +8203,8 @@ ...@@ -7177,7 +8203,8 @@
], ],
"english": "Game Button Z", "english": "Game Button Z",
"chromium": "buttonZ", "chromium": "buttonZ",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -7193,7 +8220,8 @@ ...@@ -7193,7 +8220,8 @@
"android": [ "android": [
101 101
], ],
"glfw": null "glfw": null,
"windows": null
} }
}, },
"fn": { "fn": {
...@@ -7204,7 +8232,8 @@ ...@@ -7204,7 +8232,8 @@
], ],
"english": "Fn", "english": "Fn",
"chromium": "fn", "chromium": "fn",
"glfw": null "glfw": null,
"windows": null
}, },
"scanCodes": { "scanCodes": {
"android": [ "android": [
...@@ -7220,7 +8249,8 @@ ...@@ -7220,7 +8249,8 @@
"android": [ "android": [
119 119
], ],
"glfw": null "glfw": null,
"windows": null
} }
} }
} }
\ No newline at end of file
{
"leftMouseButton": ["LBUTTON"],
"rightMouseButton": ["RBUTTON"],
"cancel": ["CANCEL"],
"middleMouseButton": ["MBUTTON"],
"xMouseButton1": ["XBUTTON1"],
"xMouseButton2": ["XBUTTON2"],
"backspace": ["BACK"],
"tab": ["TAB"],
"clear": ["CLEAR"],
"enter": ["RETURN"],
"shift": ["SHIFT"],
"control": ["CONTROL"],
"menu": ["MENU"],
"pause": ["PAUSE"],
"capsLock": ["CAPITAL"],
"kana": ["KANA"],
"hangeul": ["HANGEUL"],
"hangul": ["HANGUL"],
"junja": ["JUNJA"],
"final": ["FINAL"],
"hanja": ["HANJA"],
"kanji": ["KANJI"],
"escape": ["ESCAPE"],
"convert": ["CONVERT"],
"nonconvert": ["NONCONVERT"],
"accept": ["ACCEPT"],
"modeChange": ["MODECHANGE"],
"space": ["SPACE"],
"prior": ["PRIOR"],
"next": ["NEXT"],
"end": ["END"],
"home": ["HOME"],
"leftArrow": ["LEFT"],
"upArrow": ["UP"],
"rightArrow": ["RIGHT"],
"downArrow": ["DOWN"],
"select": ["SELECT"],
"print": ["PRINT"],
"execute": ["EXECUTE"],
"snapshot": ["SNAPSHOT"],
"insert": ["INSERT"],
"delete": ["DELETE"],
"help": ["HELP"],
"metaLeft": ["LWIN"],
"metaRight": ["RWIN"],
"apps": ["APPS"],
"sleep": ["SLEEP"],
"numpad0": ["NUMPAD0"],
"numpad1": ["NUMPAD1"],
"numpad2": ["NUMPAD2"],
"numpad3": ["NUMPAD3"],
"numpad4": ["NUMPAD4"],
"numpad5": ["NUMPAD5"],
"numpad6": ["NUMPAD6"],
"numpad7": ["NUMPAD7"],
"numpad8": ["NUMPAD8"],
"numpad9": ["NUMPAD9"],
"numpadMultiply": ["MULTIPLY"],
"numpadAdd": ["ADD"],
"numpadSeparator": ["SEPARATOR"],
"numpadSubtract": ["SUBTRACT"],
"numpadDecimal": ["DECIMAL"],
"numpadDivide": ["DIVIDE"],
"f1": ["F1"],
"f2": ["F2"],
"f3": ["F3"],
"f4": ["F4"],
"f5": ["F5"],
"f6": ["F6"],
"f7": ["F7"],
"f8": ["F8"],
"f9": ["F9"],
"f10": ["F10"],
"f11": ["F11"],
"f12": ["F12"],
"f13": ["F13"],
"f14": ["F14"],
"f15": ["F15"],
"f16": ["F16"],
"f17": ["F17"],
"f18": ["F18"],
"f19": ["F19"],
"f20": ["F20"],
"f21": ["F21"],
"f22": ["F22"],
"f23": ["F23"],
"f24": ["F24"],
"navigationView": ["NAVIGATION_VIEW"],
"navigationMenu": ["NAVIGATION_MENU"],
"navigationUp": ["NAVIGATION_UP"],
"navigationDown": ["NAVIGATION_DOWN"],
"navigationLeft": ["NAVIGATION_LEFT"],
"navigationRight": ["NAVIGATION_RIGHT"],
"navigationAccept": ["NAVIGATION_ACCEPT"],
"navigationCancel": ["NAVIGATION_CANCEL"],
"numlock": ["NUMLOCK"],
"scroll": ["SCROLL"],
"numpadEqual": ["OEM_NEC_EQUAL"],
"oemFjJisho": ["OEM_FJ_JISHO"],
"oemFjMasshou": ["OEM_FJ_MASSHOU"],
"oemFjTouroku": ["OEM_FJ_TOUROKU"],
"oemFjLoya": ["OEM_FJ_LOYA"],
"oemFjRoya": ["OEM_FJ_ROYA"],
"shiftLeft": ["LSHIFT"],
"shiftRight": ["RSHIFT"],
"controlLeft": ["LCONTROL"],
"controlRight": ["RCONTROL"],
"altLeft": ["LMENU"],
"altRight": ["RMENU"],
"browserBack": ["BROWSER_BACK"],
"browserForward": ["BROWSER_FORWARD"],
"browserRefresh": ["BROWSER_REFRESH"],
"browserStop": ["BROWSER_STOP"],
"browserSearch": ["BROWSER_SEARCH"],
"browserFavorites": ["BROWSER_FAVORITES"],
"browserHome": ["BROWSER_HOME"],
"volumeMute": ["VOLUME_MUTE"],
"volumeDown": ["VOLUME_DOWN"],
"volumeUp": ["VOLUME_UP"],
"mediaNextTrack": ["MEDIA_NEXT_TRACK"],
"mediaPrevTrack": ["MEDIA_PREV_TRACK"],
"mediaStop": ["MEDIA_STOP"],
"mediaPlayPause": ["MEDIA_PLAY_PAUSE"],
"launchMail": ["LAUNCH_MAIL"],
"launchMediaSelect": ["LAUNCH_MEDIA_SELECT"],
"launchApp1": ["LAUNCH_APP1"],
"launchApp2": ["LAUNCH_APP2"],
"semicolon": ["OEM_1"],
"equal": ["OEM_PLUS"],
"comma": ["OEM_COMMA"],
"minus": ["OEM_MINUS"],
"period": ["OEM_PERIOD"],
"slash": ["OEM_2"],
"backQuote": ["OEM_3"],
"gamepadA": ["GAMEPAD_A"],
"gamepadB": ["GAMEPAD_B"],
"gamepadX": ["GAMEPAD_X"],
"gamepadY": ["GAMEPAD_Y"],
"gamepadRightShoulder": ["GAMEPAD_RIGHT_SHOULDER"],
"gamepadLeftShoulder": ["GAMEPAD_LEFT_SHOULDER"],
"gamepadLeftTrigger": ["GAMEPAD_LEFT_TRIGGER"],
"gamepadRightTrigger": ["GAMEPAD_RIGHT_TRIGGER"],
"gamepadDpadUp": ["GAMEPAD_DPAD_UP"],
"gamepadDpadDown": ["GAMEPAD_DPAD_DOWN"],
"gamepadDpadLeft": ["GAMEPAD_DPAD_LEFT"],
"gamepadDpadRight": ["GAMEPAD_DPAD_RIGHT"],
"gamepadMenu": ["GAMEPAD_MENU"],
"gamepadView": ["GAMEPAD_VIEW"],
"gamepadLeftThumbstickButton": ["GAMEPAD_LEFT_THUMBSTICK_BUTTON"],
"gamepadRightThumbstickButton": ["GAMEPAD_RIGHT_THUMBSTICK_BUTTON"],
"gamepadLeftThumbstickUp": ["GAMEPAD_LEFT_THUMBSTICK_UP"],
"gamepadLeftThumbstickDown": ["GAMEPAD_LEFT_THUMBSTICK_DOWN"],
"gamepadLeftThumbstickRight": ["GAMEPAD_LEFT_THUMBSTICK_RIGHT"],
"gamepadLeftThumbstickLeft": ["GAMEPAD_LEFT_THUMBSTICK_LEFT"],
"gamepadRightThumbstickUp": ["GAMEPAD_RIGHT_THUMBSTICK_UP"],
"gamepadRightThumbstickDown": ["GAMEPAD_RIGHT_THUMBSTICK_DOWN"],
"gamepadRightThumbstickRight": ["GAMEPAD_RIGHT_THUMBSTICK_RIGHT"],
"gamepadRightThumbstickLeft": ["GAMEPAD_RIGHT_THUMBSTICK_LEFT"],
"bracketLeft": ["OEM_4"],
"backslash": ["OEM_5"],
"bracketRight": ["OEM_6"],
"quote": ["OEM_7"],
"oem8": ["OEM_8"],
"oemAx": ["OEM_AX"],
"oem102": ["OEM_102"],
"icoHelp": ["ICO_HELP"],
"ico00": ["ICO_00"],
"processkey": ["PROCESSKEY"],
"icoClear": ["ICO_CLEAR"],
"packet": ["PACKET"],
"oemReset": ["OEM_RESET"],
"oemJump": ["OEM_JUMP"],
"oemPa1": ["OEM_PA1"],
"oemPa2": ["OEM_PA2"],
"oemPa3": ["OEM_PA3"],
"oemWsctrl": ["OEM_WSCTRL"],
"oemCusel": ["OEM_CUSEL"],
"oemAttn": ["OEM_ATTN"],
"oemFinish": ["OEM_FINISH"],
"oemCopy": ["OEM_COPY"],
"oemAuto": ["OEM_AUTO"],
"oemEnlw": ["OEM_ENLW"],
"oemBacktab": ["OEM_BACKTAB"],
"attn": ["ATTN"],
"crsel": ["CRSEL"],
"exsel": ["EXSEL"],
"ereof": ["EREOF"],
"play": ["PLAY"],
"zoom": ["ZOOM"],
"noname": ["NONAME"],
"pa1": ["PA1"],
"oemClear": ["OEM_CLEAR"],
"0": ["0"],
"1": ["1"],
"2": ["2"],
"3": ["3"],
"4": ["4"],
"5": ["5"],
"6": ["6"],
"7": ["7"],
"8": ["8"],
"9": ["9"],
"keyA": ["A"],
"keyB": ["B"],
"keyC": ["C"],
"keyD": ["D"],
"keyE": ["E"],
"keyF": ["F"],
"keyG": ["G"],
"keyH": ["H"],
"keyI": ["I"],
"keyJ": ["J"],
"keyK": ["K"],
"keyL": ["L"],
"keyM": ["M"],
"keyN": ["N"],
"keyO": ["O"],
"keyP": ["P"],
"keyQ": ["Q"],
"keyR": ["R"],
"keyS": ["S"],
"keyT": ["T"],
"keyU": ["U"],
"keyV": ["V"],
"keyW": ["W"],
"keyX": ["X"],
"keyY": ["Y"],
"keyZ": ["Z"]
}
...@@ -45,7 +45,7 @@ abstract class KeyboardKey extends Diagnosticable { ...@@ -45,7 +45,7 @@ abstract class KeyboardKey extends Diagnosticable {
/// look at the physical key to make sure that regardless of the character the /// look at the physical key to make sure that regardless of the character the
/// key produces, you got the key that is in that location on the keyboard. /// key produces, you got the key that is in that location on the keyboard.
/// ///
/// {@tool sample --template=stateful_widget_scaffold} /// {@tool dartpad --template=stateful_widget_scaffold}
/// This example shows how to detect if the user has selected the logical "Q" /// This example shows how to detect if the user has selected the logical "Q"
/// key. /// key.
/// ///
...@@ -331,7 +331,7 @@ class LogicalKeyboardKey extends KeyboardKey { ...@@ -331,7 +331,7 @@ class LogicalKeyboardKey extends KeyboardKey {
/// looking for "the key next next to the TAB key", since on a French keyboard, /// looking for "the key next next to the TAB key", since on a French keyboard,
/// the key next to the TAB key has an "A" on it. /// the key next to the TAB key has an "A" on it.
/// ///
/// {@tool sample --template=stateful_widget_scaffold} /// {@tool dartpad --template=stateful_widget_scaffold}
/// This example shows how to detect if the user has selected the physical key /// This example shows how to detect if the user has selected the physical key
/// to the right of the CAPS LOCK key. /// to the right of the CAPS LOCK key.
/// ///
......
...@@ -12,40 +12,40 @@ ...@@ -12,40 +12,40 @@
// collide with any currently defined HID codes. // collide with any currently defined HID codes.
// //
// USB HID evdev XKB Win Mac DOMKey Code // USB HID evdev XKB Win Mac DOMKey Code
USB_KEYMAP(0x05ff01, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton1", BUTTON_1), DOM_CODE(0x05ff01, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton1", BUTTON_1),
USB_KEYMAP(0x05ff02, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton2", BUTTON_2), DOM_CODE(0x05ff02, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton2", BUTTON_2),
USB_KEYMAP(0x05ff03, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton3", BUTTON_3), DOM_CODE(0x05ff03, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton3", BUTTON_3),
USB_KEYMAP(0x05ff04, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton4", BUTTON_4), DOM_CODE(0x05ff04, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton4", BUTTON_4),
USB_KEYMAP(0x05ff05, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton5", BUTTON_5), DOM_CODE(0x05ff05, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton5", BUTTON_5),
USB_KEYMAP(0x05ff06, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton6", BUTTON_6), DOM_CODE(0x05ff06, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton6", BUTTON_6),
USB_KEYMAP(0x05ff07, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton7", BUTTON_7), DOM_CODE(0x05ff07, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton7", BUTTON_7),
USB_KEYMAP(0x05ff08, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton8", BUTTON_8), DOM_CODE(0x05ff08, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton8", BUTTON_8),
USB_KEYMAP(0x05ff09, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton9", BUTTON_9), DOM_CODE(0x05ff09, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton9", BUTTON_9),
USB_KEYMAP(0x05ff0a, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton10", BUTTON_10), DOM_CODE(0x05ff0a, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton10", BUTTON_10),
USB_KEYMAP(0x05ff0b, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton11", BUTTON_11), DOM_CODE(0x05ff0b, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton11", BUTTON_11),
USB_KEYMAP(0x05ff0c, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton12", BUTTON_12), DOM_CODE(0x05ff0c, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton12", BUTTON_12),
USB_KEYMAP(0x05ff0d, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton13", BUTTON_13), DOM_CODE(0x05ff0d, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton13", BUTTON_13),
USB_KEYMAP(0x05ff0e, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton14", BUTTON_14), DOM_CODE(0x05ff0e, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton14", BUTTON_14),
USB_KEYMAP(0x05ff0f, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton15", BUTTON_15), DOM_CODE(0x05ff0f, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton15", BUTTON_15),
USB_KEYMAP(0x05ff10, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton16", BUTTON_16), DOM_CODE(0x05ff10, 0x0000, 0x0000, 0x0000, 0xffff, "GameButton16", BUTTON_16),
USB_KEYMAP(0x05ff11, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonA", BUTTON_A), DOM_CODE(0x05ff11, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonA", BUTTON_A),
USB_KEYMAP(0x05ff12, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonB", BUTTON_B), DOM_CODE(0x05ff12, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonB", BUTTON_B),
USB_KEYMAP(0x05ff13, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonC", BUTTON_C), DOM_CODE(0x05ff13, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonC", BUTTON_C),
USB_KEYMAP(0x05ff14, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonLeft1", BUTTON_L1), DOM_CODE(0x05ff14, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonLeft1", BUTTON_L1),
USB_KEYMAP(0x05ff15, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonLeft2", BUTTON_L2), DOM_CODE(0x05ff15, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonLeft2", BUTTON_L2),
USB_KEYMAP(0x05ff16, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonMode", BUTTON_MODE), DOM_CODE(0x05ff16, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonMode", BUTTON_MODE),
USB_KEYMAP(0x05ff17, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonRight1", BUTTON_R1), DOM_CODE(0x05ff17, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonRight1", BUTTON_R1),
USB_KEYMAP(0x05ff18, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonRight2", BUTTON_R2), DOM_CODE(0x05ff18, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonRight2", BUTTON_R2),
USB_KEYMAP(0x05ff19, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonSelect", BUTTON_SELECT), DOM_CODE(0x05ff19, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonSelect", BUTTON_SELECT),
USB_KEYMAP(0x05ff1a, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonStart", BUTTON_START), DOM_CODE(0x05ff1a, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonStart", BUTTON_START),
USB_KEYMAP(0x05ff1b, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonThumbLeft", BUTTON_THUMBL), DOM_CODE(0x05ff1b, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonThumbLeft", BUTTON_THUMBL),
USB_KEYMAP(0x05ff1c, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonThumbRight", BUTTON_THUMBR), DOM_CODE(0x05ff1c, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonThumbRight", BUTTON_THUMBR),
USB_KEYMAP(0x05ff1d, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonX", BUTTON_X), DOM_CODE(0x05ff1d, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonX", BUTTON_X),
USB_KEYMAP(0x05ff1e, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonY", BUTTON_Y), DOM_CODE(0x05ff1e, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonY", BUTTON_Y),
USB_KEYMAP(0x05ff1f, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonZ", BUTTON_Z), DOM_CODE(0x05ff1f, 0x0000, 0x0000, 0x0000, 0xffff, "GameButtonZ", BUTTON_Z),
// The Mac defines a key code for the Fn key on Mac keyboards, but it's not // The Mac defines a key code for the Fn key on Mac keyboards, but it's not
// defined on other platforms. Chromium does define an "Fn" row, but doesn't // defined on other platforms. Chromium does define an "Fn" row, but doesn't
// give it a Mac keycode. This overrides their definition. // give it a Mac keycode. This overrides their definition.
// USB HID evdev XKB Win Mac DOMKey Code // USB HID evdev XKB Win Mac DOMKey Code
USB_KEYMAP(0x000012, 0x0000, 0x0000, 0x0000, 0x003f, "Fn", FN), DOM_CODE(0x000012, 0x0000, 0x0000, 0x0000, 0x003f, "Fn", FN),
...@@ -28,32 +28,42 @@ class KeyData { ...@@ -28,32 +28,42 @@ class KeyData {
String androidNameMap, String androidNameMap,
String glfwKeyCodeHeader, String glfwKeyCodeHeader,
String glfwNameMap, String glfwNameMap,
String windowsKeyCodeHeader,
String windowsNameMap,
) : assert(chromiumHidCodes != null), ) : assert(chromiumHidCodes != null),
assert(androidKeyboardLayout != null), assert(androidKeyboardLayout != null),
assert(androidKeyCodeHeader != null), assert(androidKeyCodeHeader != null),
assert(androidNameMap != null), assert(androidNameMap != null),
assert(glfwKeyCodeHeader != null), assert(glfwKeyCodeHeader != null),
assert(glfwNameMap != null) { assert(glfwNameMap != null),
assert(windowsKeyCodeHeader != null),
assert(windowsNameMap != null) {
_nameToAndroidScanCodes = _readAndroidScanCodes(androidKeyboardLayout); _nameToAndroidScanCodes = _readAndroidScanCodes(androidKeyboardLayout);
_nameToAndroidKeyCode = _readAndroidKeyCodes(androidKeyCodeHeader); _nameToAndroidKeyCode = _readAndroidKeyCodes(androidKeyCodeHeader);
_nameToGlfwKeyCode = _readGlfwKeyCodes(glfwKeyCodeHeader); _nameToGlfwKeyCode = _readGlfwKeyCodes(glfwKeyCodeHeader);
_nameToWindowsKeyCode = _readWindowsKeyCodes(windowsKeyCodeHeader);
// Cast Android dom map // Cast Android dom map
final Map<String, List<dynamic>> dynamicAndroidNames = (json.decode(androidNameMap) as Map<String, List<dynamic>>).cast<String, List<dynamic>>(); final Map<String, List<dynamic>> dynamicAndroidNames = (json.decode(androidNameMap) as Map<String, dynamic>).cast<String, List<dynamic>>();
_nameToAndroidName = dynamicAndroidNames.map<String, List<String>>((String key, List<dynamic> value) { _nameToAndroidName = dynamicAndroidNames.map<String, List<String>>((String key, List<dynamic> value) {
return MapEntry<String, List<String>>(key, value.cast<String>()); return MapEntry<String, List<String>>(key, value.cast<String>());
}); });
// Cast GLFW dom map // Cast GLFW dom map
final Map<String, List<dynamic>> dynamicGlfwNames = (json.decode(glfwNameMap) as Map<String, List<dynamic>>).cast<String, List<dynamic>>(); final Map<String, List<dynamic>> dynamicGlfwNames = (json.decode(glfwNameMap) as Map<String, dynamic>).cast<String, List<dynamic>>();
_nameToGlfwName = dynamicGlfwNames.map<String, List<String>>((String key, List<dynamic> value) { _nameToGlfwName = dynamicGlfwNames.map<String, List<String>>((String key, List<dynamic> value) {
return MapEntry<String, List<String>>(key, value.cast<String>()); return MapEntry<String, List<String>>(key, value.cast<String>());
}); });
// Cast Windows dom map
final Map<String, List<dynamic>> dynamicWindowsNames = (json.decode(windowsNameMap) as Map<String, dynamic>).cast<String, List<dynamic>>();
_nameToWindowsName = dynamicWindowsNames.map<String, List<String>>((String key, List<dynamic> value) {
return MapEntry<String, List<String>>(key, value.cast<String>());
});
data = _readHidEntries(chromiumHidCodes); data = _readHidEntries(chromiumHidCodes);
} }
/// Parses the given JSON data and populates the data structure from it. /// Parses the given JSON data and populates the data structure from it.
KeyData.fromJson(Map<String, dynamic> contentMap) { KeyData.fromJson(Map<String, dynamic> contentMap) {
data = <Key>[ data = <Key>[
for (final String key in contentMap.keys) Key.fromJsonMapEntry(key, contentMap[key] as Map<String, List<dynamic>>), for (final String key in contentMap.keys) Key.fromJsonMapEntry(key, contentMap[key] as Map<String, dynamic>),
]; ];
} }
...@@ -86,6 +96,17 @@ class KeyData { ...@@ -86,6 +96,17 @@ class KeyData {
} }
} }
} }
// Windows key names
entry.windowsKeyNames = _nameToWindowsName[entry.constantName]?.cast<String>();
if (entry.windowsKeyNames != null && entry.windowsKeyNames.isNotEmpty) {
for (final String windowsKeyName in entry.windowsKeyNames) {
if (_nameToWindowsKeyCode[windowsKeyName] != null) {
entry.windowsKeyCodes ??= <int>[];
entry.windowsKeyCodes.add(_nameToWindowsKeyCode[windowsKeyName]);
}
}
}
} }
final Map<String, dynamic> outputMap = <String, dynamic>{}; final Map<String, dynamic> outputMap = <String, dynamic>{};
...@@ -133,6 +154,21 @@ class KeyData { ...@@ -133,6 +154,21 @@ class KeyData {
/// JSON. /// JSON.
Map<String, int> _nameToGlfwKeyCode; Map<String, int> _nameToGlfwKeyCode;
/// The mapping from Widows name (e.g. "RETURN") to the integer key code
/// (logical meaning) of the key.
///
/// Only populated if data is parsed from the source files, not if parsed from
/// JSON.
Map<String, int> _nameToWindowsKeyCode;
/// The mapping from the Flutter name (e.g. "enter") to the Windows name (e.g.
/// "RETURN").
///
/// Only populated if data is parsed from the source files, not if parsed from
/// JSON.
Map<String, List<String>> _nameToWindowsName;
/// Parses entries from Androids Generic.kl scan code data file. /// Parses entries from Androids Generic.kl scan code data file.
/// ///
/// Lines in this file look like this (without the ///): /// Lines in this file look like this (without the ///):
...@@ -191,9 +227,9 @@ class KeyData { ...@@ -191,9 +227,9 @@ class KeyData {
/// #define GLFW_KEY_SPACE 32, /// #define GLFW_KEY_SPACE 32,
Map<String, int> _readGlfwKeyCodes(String headerFile) { Map<String, int> _readGlfwKeyCodes(String headerFile) {
// Only get the KEY definitions, ignore the rest (mouse, joystick, etc). // Only get the KEY definitions, ignore the rest (mouse, joystick, etc).
final RegExp enumEntry = RegExp(r'define GLFW_KEY_([A-Z0-9_]+)\s*([A-Z0-9_]+),?'); final RegExp definedCodes = RegExp(r'define GLFW_KEY_([A-Z0-9_]+)\s*([A-Z0-9_]+),?');
final Map<String, dynamic> replaced = <String, dynamic>{}; final Map<String, dynamic> replaced = <String, dynamic>{};
for (final Match match in enumEntry.allMatches(headerFile)) { for (final Match match in definedCodes.allMatches(headerFile)) {
replaced[match.group(1)] = int.tryParse(match.group(2)) ?? match.group(2).replaceAll('GLFW_KEY_', ''); replaced[match.group(1)] = int.tryParse(match.group(2)) ?? match.group(2).replaceAll('GLFW_KEY_', '');
} }
final Map<String, int> result = <String, int>{}; final Map<String, int> result = <String, int>{};
...@@ -208,15 +244,32 @@ class KeyData { ...@@ -208,15 +244,32 @@ class KeyData {
return result; return result;
} }
Map<String, int> _readWindowsKeyCodes(String headerFile) {
final RegExp definedCodes = RegExp(r'define VK_([A-Z0-9_]+)\s*([A-Z0-9_x]+),?');
final Map<String, int> replaced = <String, int>{};
for (final Match match in definedCodes.allMatches(headerFile)) {
replaced[match.group(1)] = int.tryParse(match.group(2));
}
// The header doesn't explicitly define the [0-9] and [A-Z], but they mention that the range
// is equivalent to the ASCII value.
for (int i = 0x30; i <= 0x39; i++) {
replaced[String.fromCharCode(i)] = i;
}
for (int i = 0x41; i <= 0x5A; i++) {
replaced[String.fromCharCode(i)] = i;
}
return replaced;
}
/// Parses entries from Chromium's HID code mapping header file. /// Parses entries from Chromium's HID code mapping header file.
/// ///
/// Lines in this file look like this (without the ///): /// Lines in this file look like this (without the ///):
/// USB evdev XKB Win Mac Code Enum /// USB evdev XKB Win Mac Code Enum
/// USB_KEYMAP(0x000010, 0x0000, 0x0000, 0x0000, 0xffff, "Hyper", HYPER), /// DOM_CODE(0x000010, 0x0000, 0x0000, 0x0000, 0xffff, "Hyper", HYPER),
List<Key> _readHidEntries(String input) { List<Key> _readHidEntries(String input) {
final List<Key> entries = <Key>[]; final List<Key> entries = <Key>[];
final RegExp usbMapRegExp = RegExp( final RegExp usbMapRegExp = RegExp(
r'USB_KEYMAP\s*\(\s*0x([a-fA-F0-9]+),\s*0x([a-fA-F0-9]+),' r'DOM_CODE\s*\(\s*0x([a-fA-F0-9]+),\s*0x([a-fA-F0-9]+),'
r'\s*0x([a-fA-F0-9]+),\s*0x([a-fA-F0-9]+),\s*0x([a-fA-F0-9]+),\s*"?([^\s]+?)"?,\s*([^\s]+?)\s*\)', r'\s*0x([a-fA-F0-9]+),\s*0x([a-fA-F0-9]+),\s*0x([a-fA-F0-9]+),\s*"?([^\s]+?)"?,\s*([^\s]+?)\s*\)',
multiLine: true); multiLine: true);
final RegExp commentRegExp = RegExp(r'//.*$', multiLine: true); final RegExp commentRegExp = RegExp(r'//.*$', multiLine: true);
...@@ -270,6 +323,8 @@ class Key { ...@@ -270,6 +323,8 @@ class Key {
this.linuxScanCode, this.linuxScanCode,
this.xKbScanCode, this.xKbScanCode,
this.windowsScanCode, this.windowsScanCode,
this.windowsKeyNames,
this.windowsKeyCodes,
this.macOsScanCode, this.macOsScanCode,
@required this.chromiumName, @required this.chromiumName,
this.androidKeyNames, this.androidKeyNames,
...@@ -294,6 +349,8 @@ class Key { ...@@ -294,6 +349,8 @@ class Key {
linuxScanCode: map['scanCodes']['linux'] as int, linuxScanCode: map['scanCodes']['linux'] as int,
xKbScanCode: map['scanCodes']['xkb'] as int, xKbScanCode: map['scanCodes']['xkb'] as int,
windowsScanCode: map['scanCodes']['windows'] as int, windowsScanCode: map['scanCodes']['windows'] as int,
windowsKeyCodes: (map['keyCodes']['windows'] as List<dynamic>)?.cast<int>(),
windowsKeyNames: (map['names']['windows'] as List<dynamic>)?.cast<String>(),
macOsScanCode: map['scanCodes']['macos'] as int, macOsScanCode: map['scanCodes']['macos'] as int,
glfwKeyNames: (map['names']['glfw'] as List<dynamic>)?.cast<String>(), glfwKeyNames: (map['names']['glfw'] as List<dynamic>)?.cast<String>(),
glfwKeyCodes: (map['keyCodes']['glfw'] as List<dynamic>)?.cast<int>(), glfwKeyCodes: (map['keyCodes']['glfw'] as List<dynamic>)?.cast<int>(),
...@@ -309,6 +366,13 @@ class Key { ...@@ -309,6 +366,13 @@ class Key {
int xKbScanCode; int xKbScanCode;
/// The Windows scan code of the key from Chromium's header file. /// The Windows scan code of the key from Chromium's header file.
int windowsScanCode; int windowsScanCode;
/// The list of Windows key codes matching this key, created by looking up the
/// Windows name in the Chromium data, and substituting the Windows key code
/// value.
List<int> windowsKeyCodes;
/// The list of names that Windows gives to this key (symbol names minus the
/// prefix).
List<String> windowsKeyNames;
/// The macOS scan code of the key from Chromium's header file. /// The macOS scan code of the key from Chromium's header file.
int macOsScanCode; int macOsScanCode;
/// The name of the key, mostly derived from the DomKey name in Chromium, /// The name of the key, mostly derived from the DomKey name in Chromium,
...@@ -347,6 +411,7 @@ class Key { ...@@ -347,6 +411,7 @@ class Key {
'english': commentName, 'english': commentName,
'chromium': chromiumName, 'chromium': chromiumName,
'glfw': glfwKeyNames, 'glfw': glfwKeyNames,
'windows': windowsKeyNames,
}, },
'scanCodes': <String, dynamic>{ 'scanCodes': <String, dynamic>{
'android': androidScanCodes, 'android': androidScanCodes,
...@@ -359,6 +424,7 @@ class Key { ...@@ -359,6 +424,7 @@ class Key {
'keyCodes': <String, List<int>>{ 'keyCodes': <String, List<int>>{
'android': androidKeyCodes, 'android': androidKeyCodes,
'glfw': glfwKeyCodes, 'glfw': glfwKeyCodes,
'windows': windowsKeyCodes,
}, },
}; };
} }
...@@ -420,7 +486,7 @@ class Key { ...@@ -420,7 +486,7 @@ class Key {
return """'$constantName': (name: "$name", usbHidCode: ${toHex(usbHidCode)}, """ return """'$constantName': (name: "$name", usbHidCode: ${toHex(usbHidCode)}, """
'linuxScanCode: ${toHex(linuxScanCode)}, xKbScanCode: ${toHex(xKbScanCode)}, ' 'linuxScanCode: ${toHex(linuxScanCode)}, xKbScanCode: ${toHex(xKbScanCode)}, '
'windowsKeyCode: ${toHex(windowsScanCode)}, macOsScanCode: ${toHex(macOsScanCode)}, ' 'windowsKeyCode: ${toHex(windowsScanCode)}, macOsScanCode: ${toHex(macOsScanCode)}, '
'chromiumSymbolName: $chromiumName'; 'windowsScanCode: ${toHex(windowsScanCode)}, chromiumSymbolName: $chromiumName';
} }
/// Returns the static map of printable representations. /// Returns the static map of printable representations.
......
...@@ -335,6 +335,11 @@ class LogicalKeyboardKey extends KeyboardKey { ...@@ -335,6 +335,11 @@ class LogicalKeyboardKey extends KeyboardKey {
/// See the function [RawKeyEvent.logicalKey] for more information. /// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey turbo = LogicalKeyboardKey(0x00100000016, debugName: kReleaseMode ? null : 'Turbo'); static const LogicalKeyboardKey turbo = LogicalKeyboardKey(0x00100000016, debugName: kReleaseMode ? null : 'Turbo');
/// Represents the logical "Privacy Screen Toggle" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey privacyScreenToggle = LogicalKeyboardKey(0x00100000017, debugName: kReleaseMode ? null : 'Privacy Screen Toggle');
/// Represents the logical "Sleep" key on the keyboard. /// Represents the logical "Sleep" key on the keyboard.
/// ///
/// See the function [RawKeyEvent.logicalKey] for more information. /// See the function [RawKeyEvent.logicalKey] for more information.
...@@ -1220,6 +1225,11 @@ class LogicalKeyboardKey extends KeyboardKey { ...@@ -1220,6 +1225,11 @@ class LogicalKeyboardKey extends KeyboardKey {
/// See the function [RawKeyEvent.logicalKey] for more information. /// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaPlay = LogicalKeyboardKey(0x001000c00b0, debugName: kReleaseMode ? null : 'Media Play'); static const LogicalKeyboardKey mediaPlay = LogicalKeyboardKey(0x001000c00b0, debugName: kReleaseMode ? null : 'Media Play');
/// Represents the logical "Media Pause" key on the keyboard.
///
/// See the function [RawKeyEvent.logicalKey] for more information.
static const LogicalKeyboardKey mediaPause = LogicalKeyboardKey(0x001000c00b1, debugName: kReleaseMode ? null : 'Media Pause');
/// Represents the logical "Media Record" key on the keyboard. /// Represents the logical "Media Record" key on the keyboard.
/// ///
/// See the function [RawKeyEvent.logicalKey] for more information. /// See the function [RawKeyEvent.logicalKey] for more information.
...@@ -1663,6 +1673,7 @@ class LogicalKeyboardKey extends KeyboardKey { ...@@ -1663,6 +1673,7 @@ class LogicalKeyboardKey extends KeyboardKey {
0x0100000014: suspend, 0x0100000014: suspend,
0x0100000015: resume, 0x0100000015: resume,
0x0100000016: turbo, 0x0100000016: turbo,
0x0100000017: privacyScreenToggle,
0x0100010082: sleep, 0x0100010082: sleep,
0x0100010083: wakeUp, 0x0100010083: wakeUp,
0x01000100b5: displayToggleIntExt, 0x01000100b5: displayToggleIntExt,
...@@ -1840,6 +1851,7 @@ class LogicalKeyboardKey extends KeyboardKey { ...@@ -1840,6 +1851,7 @@ class LogicalKeyboardKey extends KeyboardKey {
0x01000c009c: channelUp, 0x01000c009c: channelUp,
0x01000c009d: channelDown, 0x01000c009d: channelDown,
0x01000c00b0: mediaPlay, 0x01000c00b0: mediaPlay,
0x01000c00b1: mediaPause,
0x01000c00b2: mediaRecord, 0x01000c00b2: mediaRecord,
0x01000c00b3: mediaFastForward, 0x01000c00b3: mediaFastForward,
0x01000c00b4: mediaRewind, 0x01000c00b4: mediaRewind,
...@@ -2122,6 +2134,12 @@ class PhysicalKeyboardKey extends KeyboardKey { ...@@ -2122,6 +2134,12 @@ class PhysicalKeyboardKey extends KeyboardKey {
/// See the function [RawKeyEvent.physicalKey] for more information. /// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey turbo = PhysicalKeyboardKey(0x00000016, debugName: kReleaseMode ? null : 'Turbo'); static const PhysicalKeyboardKey turbo = PhysicalKeyboardKey(0x00000016, debugName: kReleaseMode ? null : 'Turbo');
/// Represents the location of the "Privacy Screen Toggle" key on a
/// generalized keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey privacyScreenToggle = PhysicalKeyboardKey(0x00000017, debugName: kReleaseMode ? null : 'Privacy Screen Toggle');
/// Represents the location of the "Sleep" key on a generalized keyboard. /// Represents the location of the "Sleep" key on a generalized keyboard.
/// ///
/// See the function [RawKeyEvent.physicalKey] for more information. /// See the function [RawKeyEvent.physicalKey] for more information.
...@@ -3054,6 +3072,12 @@ class PhysicalKeyboardKey extends KeyboardKey { ...@@ -3054,6 +3072,12 @@ class PhysicalKeyboardKey extends KeyboardKey {
/// See the function [RawKeyEvent.physicalKey] for more information. /// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaPlay = PhysicalKeyboardKey(0x000c00b0, debugName: kReleaseMode ? null : 'Media Play'); static const PhysicalKeyboardKey mediaPlay = PhysicalKeyboardKey(0x000c00b0, debugName: kReleaseMode ? null : 'Media Play');
/// Represents the location of the "Media Pause" key on a generalized
/// keyboard.
///
/// See the function [RawKeyEvent.physicalKey] for more information.
static const PhysicalKeyboardKey mediaPause = PhysicalKeyboardKey(0x000c00b1, debugName: kReleaseMode ? null : 'Media Pause');
/// Represents the location of the "Media Record" key on a generalized /// Represents the location of the "Media Record" key on a generalized
/// keyboard. /// keyboard.
/// ///
...@@ -3536,6 +3560,7 @@ class PhysicalKeyboardKey extends KeyboardKey { ...@@ -3536,6 +3560,7 @@ class PhysicalKeyboardKey extends KeyboardKey {
0x00000014: suspend, 0x00000014: suspend,
0x00000015: resume, 0x00000015: resume,
0x00000016: turbo, 0x00000016: turbo,
0x00000017: privacyScreenToggle,
0x00010082: sleep, 0x00010082: sleep,
0x00010083: wakeUp, 0x00010083: wakeUp,
0x000100b5: displayToggleIntExt, 0x000100b5: displayToggleIntExt,
...@@ -3713,6 +3738,7 @@ class PhysicalKeyboardKey extends KeyboardKey { ...@@ -3713,6 +3738,7 @@ class PhysicalKeyboardKey extends KeyboardKey {
0x000c009c: channelUp, 0x000c009c: channelUp,
0x000c009d: channelDown, 0x000c009d: channelDown,
0x000c00b0: mediaPlay, 0x000c00b0: mediaPlay,
0x000c00b1: mediaPause,
0x000c00b2: mediaRecord, 0x000c00b2: mediaRecord,
0x000c00b3: mediaFastForward, 0x000c00b3: mediaFastForward,
0x000c00b4: mediaRewind, 0x000c00b4: mediaRewind,
......
...@@ -143,6 +143,7 @@ const Map<int, LogicalKeyboardKey> kAndroidToLogicalKey = <int, LogicalKeyboardK ...@@ -143,6 +143,7 @@ const Map<int, LogicalKeyboardKey> kAndroidToLogicalKey = <int, LogicalKeyboardK
166: LogicalKeyboardKey.channelUp, 166: LogicalKeyboardKey.channelUp,
167: LogicalKeyboardKey.channelDown, 167: LogicalKeyboardKey.channelDown,
126: LogicalKeyboardKey.mediaPlay, 126: LogicalKeyboardKey.mediaPlay,
127: LogicalKeyboardKey.mediaPause,
130: LogicalKeyboardKey.mediaRecord, 130: LogicalKeyboardKey.mediaRecord,
90: LogicalKeyboardKey.mediaFastForward, 90: LogicalKeyboardKey.mediaFastForward,
89: LogicalKeyboardKey.mediaRewind, 89: LogicalKeyboardKey.mediaRewind,
...@@ -354,6 +355,7 @@ const Map<int, PhysicalKeyboardKey> kAndroidToPhysicalKey = <int, PhysicalKeyboa ...@@ -354,6 +355,7 @@ const Map<int, PhysicalKeyboardKey> kAndroidToPhysicalKey = <int, PhysicalKeyboa
403: PhysicalKeyboardKey.channelDown, 403: PhysicalKeyboardKey.channelDown,
200: PhysicalKeyboardKey.mediaPlay, 200: PhysicalKeyboardKey.mediaPlay,
207: PhysicalKeyboardKey.mediaPlay, 207: PhysicalKeyboardKey.mediaPlay,
201: PhysicalKeyboardKey.mediaPause,
167: PhysicalKeyboardKey.mediaRecord, 167: PhysicalKeyboardKey.mediaRecord,
208: PhysicalKeyboardKey.mediaFastForward, 208: PhysicalKeyboardKey.mediaFastForward,
168: PhysicalKeyboardKey.mediaRewind, 168: PhysicalKeyboardKey.mediaRewind,
...@@ -461,6 +463,7 @@ const Map<int, LogicalKeyboardKey> kFuchsiaToLogicalKey = <int, LogicalKeyboardK ...@@ -461,6 +463,7 @@ const Map<int, LogicalKeyboardKey> kFuchsiaToLogicalKey = <int, LogicalKeyboardK
0x100000014: LogicalKeyboardKey.suspend, 0x100000014: LogicalKeyboardKey.suspend,
0x100000015: LogicalKeyboardKey.resume, 0x100000015: LogicalKeyboardKey.resume,
0x100000016: LogicalKeyboardKey.turbo, 0x100000016: LogicalKeyboardKey.turbo,
0x100000017: LogicalKeyboardKey.privacyScreenToggle,
0x100010082: LogicalKeyboardKey.sleep, 0x100010082: LogicalKeyboardKey.sleep,
0x100010083: LogicalKeyboardKey.wakeUp, 0x100010083: LogicalKeyboardKey.wakeUp,
0x1000100b5: LogicalKeyboardKey.displayToggleIntExt, 0x1000100b5: LogicalKeyboardKey.displayToggleIntExt,
...@@ -638,6 +641,7 @@ const Map<int, LogicalKeyboardKey> kFuchsiaToLogicalKey = <int, LogicalKeyboardK ...@@ -638,6 +641,7 @@ const Map<int, LogicalKeyboardKey> kFuchsiaToLogicalKey = <int, LogicalKeyboardK
0x1000c009c: LogicalKeyboardKey.channelUp, 0x1000c009c: LogicalKeyboardKey.channelUp,
0x1000c009d: LogicalKeyboardKey.channelDown, 0x1000c009d: LogicalKeyboardKey.channelDown,
0x1000c00b0: LogicalKeyboardKey.mediaPlay, 0x1000c00b0: LogicalKeyboardKey.mediaPlay,
0x1000c00b1: LogicalKeyboardKey.mediaPause,
0x1000c00b2: LogicalKeyboardKey.mediaRecord, 0x1000c00b2: LogicalKeyboardKey.mediaRecord,
0x1000c00b3: LogicalKeyboardKey.mediaFastForward, 0x1000c00b3: LogicalKeyboardKey.mediaFastForward,
0x1000c00b4: LogicalKeyboardKey.mediaRewind, 0x1000c00b4: LogicalKeyboardKey.mediaRewind,
...@@ -731,6 +735,7 @@ const Map<int, PhysicalKeyboardKey> kFuchsiaToPhysicalKey = <int, PhysicalKeyboa ...@@ -731,6 +735,7 @@ const Map<int, PhysicalKeyboardKey> kFuchsiaToPhysicalKey = <int, PhysicalKeyboa
0x00000014: PhysicalKeyboardKey.suspend, 0x00000014: PhysicalKeyboardKey.suspend,
0x00000015: PhysicalKeyboardKey.resume, 0x00000015: PhysicalKeyboardKey.resume,
0x00000016: PhysicalKeyboardKey.turbo, 0x00000016: PhysicalKeyboardKey.turbo,
0x00000017: PhysicalKeyboardKey.privacyScreenToggle,
0x00010082: PhysicalKeyboardKey.sleep, 0x00010082: PhysicalKeyboardKey.sleep,
0x00010083: PhysicalKeyboardKey.wakeUp, 0x00010083: PhysicalKeyboardKey.wakeUp,
0x000100b5: PhysicalKeyboardKey.displayToggleIntExt, 0x000100b5: PhysicalKeyboardKey.displayToggleIntExt,
...@@ -908,6 +913,7 @@ const Map<int, PhysicalKeyboardKey> kFuchsiaToPhysicalKey = <int, PhysicalKeyboa ...@@ -908,6 +913,7 @@ const Map<int, PhysicalKeyboardKey> kFuchsiaToPhysicalKey = <int, PhysicalKeyboa
0x000c009c: PhysicalKeyboardKey.channelUp, 0x000c009c: PhysicalKeyboardKey.channelUp,
0x000c009d: PhysicalKeyboardKey.channelDown, 0x000c009d: PhysicalKeyboardKey.channelDown,
0x000c00b0: PhysicalKeyboardKey.mediaPlay, 0x000c00b0: PhysicalKeyboardKey.mediaPlay,
0x000c00b1: PhysicalKeyboardKey.mediaPause,
0x000c00b2: PhysicalKeyboardKey.mediaRecord, 0x000c00b2: PhysicalKeyboardKey.mediaRecord,
0x000c00b3: PhysicalKeyboardKey.mediaFastForward, 0x000c00b3: PhysicalKeyboardKey.mediaFastForward,
0x000c00b4: PhysicalKeyboardKey.mediaRewind, 0x000c00b4: PhysicalKeyboardKey.mediaRewind,
...@@ -1103,8 +1109,9 @@ const Map<int, PhysicalKeyboardKey> kMacOsToPhysicalKey = <int, PhysicalKeyboard ...@@ -1103,8 +1109,9 @@ const Map<int, PhysicalKeyboardKey> kMacOsToPhysicalKey = <int, PhysicalKeyboard
0x00000049: PhysicalKeyboardKey.audioVolumeDown, 0x00000049: PhysicalKeyboardKey.audioVolumeDown,
0x0000005f: PhysicalKeyboardKey.numpadComma, 0x0000005f: PhysicalKeyboardKey.numpadComma,
0x0000005e: PhysicalKeyboardKey.intlRo, 0x0000005e: PhysicalKeyboardKey.intlRo,
0x00000068: PhysicalKeyboardKey.kanaMode,
0x0000005d: PhysicalKeyboardKey.intlYen, 0x0000005d: PhysicalKeyboardKey.intlYen,
0x00000068: PhysicalKeyboardKey.lang1,
0x00000066: PhysicalKeyboardKey.lang2,
0x0000003b: PhysicalKeyboardKey.controlLeft, 0x0000003b: PhysicalKeyboardKey.controlLeft,
0x00000038: PhysicalKeyboardKey.shiftLeft, 0x00000038: PhysicalKeyboardKey.shiftLeft,
0x0000003a: PhysicalKeyboardKey.altLeft, 0x0000003a: PhysicalKeyboardKey.altLeft,
...@@ -1305,6 +1312,7 @@ const Map<int, LogicalKeyboardKey> kGlfwNumpadMap = <int, LogicalKeyboardKey>{ ...@@ -1305,6 +1312,7 @@ const Map<int, LogicalKeyboardKey> kGlfwNumpadMap = <int, LogicalKeyboardKey>{
/// Maps XKB specific key code values representing [PhysicalKeyboardKey]. /// Maps XKB specific key code values representing [PhysicalKeyboardKey].
const Map<int, PhysicalKeyboardKey> kLinuxToPhysicalKey = <int, PhysicalKeyboardKey>{ const Map<int, PhysicalKeyboardKey> kLinuxToPhysicalKey = <int, PhysicalKeyboardKey>{
0x00000281: PhysicalKeyboardKey.privacyScreenToggle,
0x00000096: PhysicalKeyboardKey.sleep, 0x00000096: PhysicalKeyboardKey.sleep,
0x00000097: PhysicalKeyboardKey.wakeUp, 0x00000097: PhysicalKeyboardKey.wakeUp,
0x000000eb: PhysicalKeyboardKey.displayToggleIntExt, 0x000000eb: PhysicalKeyboardKey.displayToggleIntExt,
...@@ -1468,6 +1476,7 @@ const Map<int, PhysicalKeyboardKey> kLinuxToPhysicalKey = <int, PhysicalKeyboard ...@@ -1468,6 +1476,7 @@ const Map<int, PhysicalKeyboardKey> kLinuxToPhysicalKey = <int, PhysicalKeyboard
0x000001a2: PhysicalKeyboardKey.channelUp, 0x000001a2: PhysicalKeyboardKey.channelUp,
0x000001a3: PhysicalKeyboardKey.channelDown, 0x000001a3: PhysicalKeyboardKey.channelDown,
0x000000d7: PhysicalKeyboardKey.mediaPlay, 0x000000d7: PhysicalKeyboardKey.mediaPlay,
0x000000d1: PhysicalKeyboardKey.mediaPause,
0x000000af: PhysicalKeyboardKey.mediaRecord, 0x000000af: PhysicalKeyboardKey.mediaRecord,
0x000000d8: PhysicalKeyboardKey.mediaFastForward, 0x000000d8: PhysicalKeyboardKey.mediaFastForward,
0x000000b0: PhysicalKeyboardKey.mediaRewind, 0x000000b0: PhysicalKeyboardKey.mediaRewind,
...@@ -1528,6 +1537,7 @@ const Map<String, LogicalKeyboardKey> kWebToLogicalKey = <String, LogicalKeyboar ...@@ -1528,6 +1537,7 @@ const Map<String, LogicalKeyboardKey> kWebToLogicalKey = <String, LogicalKeyboar
'Suspend': LogicalKeyboardKey.suspend, 'Suspend': LogicalKeyboardKey.suspend,
'Resume': LogicalKeyboardKey.resume, 'Resume': LogicalKeyboardKey.resume,
'Turbo': LogicalKeyboardKey.turbo, 'Turbo': LogicalKeyboardKey.turbo,
'PrivacyScreenToggle': LogicalKeyboardKey.privacyScreenToggle,
'Sleep': LogicalKeyboardKey.sleep, 'Sleep': LogicalKeyboardKey.sleep,
'WakeUp': LogicalKeyboardKey.wakeUp, 'WakeUp': LogicalKeyboardKey.wakeUp,
'DisplayToggleIntExt': LogicalKeyboardKey.displayToggleIntExt, 'DisplayToggleIntExt': LogicalKeyboardKey.displayToggleIntExt,
...@@ -1688,6 +1698,7 @@ const Map<String, LogicalKeyboardKey> kWebToLogicalKey = <String, LogicalKeyboar ...@@ -1688,6 +1698,7 @@ const Map<String, LogicalKeyboardKey> kWebToLogicalKey = <String, LogicalKeyboar
'BrightnessUp': LogicalKeyboardKey.brightnessUp, 'BrightnessUp': LogicalKeyboardKey.brightnessUp,
'BrightnessDown': LogicalKeyboardKey.brightnessDown, 'BrightnessDown': LogicalKeyboardKey.brightnessDown,
'MediaPlay': LogicalKeyboardKey.mediaPlay, 'MediaPlay': LogicalKeyboardKey.mediaPlay,
'MediaPause': LogicalKeyboardKey.mediaPause,
'MediaRecord': LogicalKeyboardKey.mediaRecord, 'MediaRecord': LogicalKeyboardKey.mediaRecord,
'MediaFastForward': LogicalKeyboardKey.mediaFastForward, 'MediaFastForward': LogicalKeyboardKey.mediaFastForward,
'MediaRewind': LogicalKeyboardKey.mediaRewind, 'MediaRewind': LogicalKeyboardKey.mediaRewind,
...@@ -1760,6 +1771,7 @@ const Map<String, PhysicalKeyboardKey> kWebToPhysicalKey = <String, PhysicalKeyb ...@@ -1760,6 +1771,7 @@ const Map<String, PhysicalKeyboardKey> kWebToPhysicalKey = <String, PhysicalKeyb
'Suspend': PhysicalKeyboardKey.suspend, 'Suspend': PhysicalKeyboardKey.suspend,
'Resume': PhysicalKeyboardKey.resume, 'Resume': PhysicalKeyboardKey.resume,
'Turbo': PhysicalKeyboardKey.turbo, 'Turbo': PhysicalKeyboardKey.turbo,
'PrivacyScreenToggle': PhysicalKeyboardKey.privacyScreenToggle,
'Sleep': PhysicalKeyboardKey.sleep, 'Sleep': PhysicalKeyboardKey.sleep,
'WakeUp': PhysicalKeyboardKey.wakeUp, 'WakeUp': PhysicalKeyboardKey.wakeUp,
'DisplayToggleIntExt': PhysicalKeyboardKey.displayToggleIntExt, 'DisplayToggleIntExt': PhysicalKeyboardKey.displayToggleIntExt,
...@@ -1920,6 +1932,7 @@ const Map<String, PhysicalKeyboardKey> kWebToPhysicalKey = <String, PhysicalKeyb ...@@ -1920,6 +1932,7 @@ const Map<String, PhysicalKeyboardKey> kWebToPhysicalKey = <String, PhysicalKeyb
'BrightnessUp': PhysicalKeyboardKey.brightnessUp, 'BrightnessUp': PhysicalKeyboardKey.brightnessUp,
'BrightnessDown': PhysicalKeyboardKey.brightnessDown, 'BrightnessDown': PhysicalKeyboardKey.brightnessDown,
'MediaPlay': PhysicalKeyboardKey.mediaPlay, 'MediaPlay': PhysicalKeyboardKey.mediaPlay,
'MediaPause': PhysicalKeyboardKey.mediaPause,
'MediaRecord': PhysicalKeyboardKey.mediaRecord, 'MediaRecord': PhysicalKeyboardKey.mediaRecord,
'MediaFastForward': PhysicalKeyboardKey.mediaFastForward, 'MediaFastForward': PhysicalKeyboardKey.mediaFastForward,
'MediaRewind': PhysicalKeyboardKey.mediaRewind, 'MediaRewind': PhysicalKeyboardKey.mediaRewind,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment