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