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
8c3b826e
Unverified
Commit
8c3b826e
authored
Jun 23, 2020
by
Robert Ancell
Committed by
GitHub
Jun 23, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Support GTK keycodes (#59961)
parent
8ae71a0e
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
2204 additions
and
3 deletions
+2204
-3
gen_keycodes.dart
dev/tools/gen_keycodes/bin/gen_keycodes.dart
+27
-2
key_data.json
dev/tools/gen_keycodes/data/key_data.json
+1321
-0
key_name_to_gtk_name.json
dev/tools/gen_keycodes/data/key_name_to_gtk_name.json
+179
-0
keyboard_map_gtk_cc.tmpl
dev/tools/gen_keycodes/data/keyboard_map_gtk_cc.tmpl
+24
-0
keyboard_maps.tmpl
dev/tools/gen_keycodes/data/keyboard_maps.tmpl
+12
-0
dart_code_gen.dart
dev/tools/gen_keycodes/lib/dart_code_gen.dart
+28
-0
key_data.dart
dev/tools/gen_keycodes/lib/key_data.dart
+64
-0
keyboard_maps.dart
packages/flutter/lib/src/services/keyboard_maps.dart
+217
-0
raw_keyboard_linux.dart
packages/flutter/lib/src/services/raw_keyboard_linux.dart
+149
-1
raw_keyboard_test.dart
packages/flutter/test/services/raw_keyboard_test.dart
+183
-0
No files found.
dev/tools/gen_keycodes/bin/gen_keycodes.dart
View file @
8c3b826e
...
@@ -49,6 +49,11 @@ Future<String> getGlfwKeyCodes() async {
...
@@ -49,6 +49,11 @@ Future<String> getGlfwKeyCodes() async {
return
await
http
.
read
(
keyCodesUri
);
return
await
http
.
read
(
keyCodesUri
);
}
}
Future
<
String
>
getGtkKeyCodes
()
async
{
final
Uri
keyCodesUri
=
Uri
.
parse
(
'https://gitlab.gnome.org/GNOME/gtk/-/raw/master/gdk/gdkkeysyms.h'
);
return
await
http
.
read
(
keyCodesUri
);
}
Future
<
void
>
main
(
List
<
String
>
rawArguments
)
async
{
Future
<
void
>
main
(
List
<
String
>
rawArguments
)
async
{
final
ArgParser
argParser
=
ArgParser
();
final
ArgParser
argParser
=
ArgParser
();
argParser
.
addOption
(
argParser
.
addOption
(
...
@@ -90,6 +95,13 @@ Future<void> main(List<String> rawArguments) async {
...
@@ -90,6 +95,13 @@ Future<void> main(List<String> rawArguments) async {
'If --glfw-keycodes is not specified, the input will be read from the '
'If --glfw-keycodes is not specified, the input will be read from the '
'correct file in the GLFW github repository.'
,
'correct file in the GLFW github repository.'
,
);
);
argParser
.
addOption
(
'gtk-keycodes'
,
defaultsTo:
null
,
help:
'The path to where the GTK keycodes header file should be read. '
'If --gtk-keycodes is not specified, the input will be read from the '
'correct file in the GTK repository.'
,
);
argParser
.
addOption
(
argParser
.
addOption
(
'windows-keycodes'
,
'windows-keycodes'
,
defaultsTo:
null
,
defaultsTo:
null
,
...
@@ -107,6 +119,11 @@ Future<void> main(List<String> rawArguments) async {
...
@@ -107,6 +119,11 @@ Future<void> main(List<String> rawArguments) async {
defaultsTo:
path
.
join
(
flutterRoot
.
path
,
'dev'
,
'tools'
,
'gen_keycodes'
,
'data'
,
'key_name_to_glfw_name.json'
),
defaultsTo:
path
.
join
(
flutterRoot
.
path
,
'dev'
,
'tools'
,
'gen_keycodes'
,
'data'
,
'key_name_to_glfw_name.json'
),
help:
'The path to where the GLFW keycode to DomKey mapping is.'
,
help:
'The path to where the GLFW keycode to DomKey mapping is.'
,
);
);
argParser
.
addOption
(
'gtk-domkey'
,
defaultsTo:
path
.
join
(
flutterRoot
.
path
,
'dev'
,
'tools'
,
'gen_keycodes'
,
'data'
,
'key_name_to_gtk_name.json'
),
help:
'The path to where the GTK keycode to DomKey mapping is.'
,
);
argParser
.
addOption
(
argParser
.
addOption
(
'data'
,
'data'
,
defaultsTo:
path
.
join
(
flutterRoot
.
path
,
'dev'
,
'tools'
,
'gen_keycodes'
,
'data'
,
'key_data.json'
),
defaultsTo:
path
.
join
(
flutterRoot
.
path
,
'dev'
,
'tools'
,
'gen_keycodes'
,
'data'
,
'key_data.json'
),
...
@@ -187,6 +204,13 @@ Future<void> main(List<String> rawArguments) async {
...
@@ -187,6 +204,13 @@ Future<void> main(List<String> rawArguments) async {
glfwKeyCodes
=
File
(
parsedArguments
[
'glfw-keycodes'
]
as
String
).
readAsStringSync
();
glfwKeyCodes
=
File
(
parsedArguments
[
'glfw-keycodes'
]
as
String
).
readAsStringSync
();
}
}
String
gtkKeyCodes
;
if
(
parsedArguments
[
'gtk-keycodes'
]
==
null
)
{
gtkKeyCodes
=
await
getGtkKeyCodes
();
}
else
{
gtkKeyCodes
=
File
(
parsedArguments
[
'gtk-keycodes'
]
as
String
).
readAsStringSync
();
}
String
windowsKeyCodes
;
String
windowsKeyCodes
;
if
(
parsedArguments
[
'windows-keycodes'
]
==
null
)
{
if
(
parsedArguments
[
'windows-keycodes'
]
==
null
)
{
windowsKeyCodes
=
await
getWindowsKeyCodes
();
windowsKeyCodes
=
await
getWindowsKeyCodes
();
...
@@ -196,9 +220,10 @@ Future<void> main(List<String> rawArguments) async {
...
@@ -196,9 +220,10 @@ Future<void> main(List<String> rawArguments) async {
final
String
windowsToDomKey
=
File
(
parsedArguments
[
'windows-domkey'
]
as
String
).
readAsStringSync
();
final
String
windowsToDomKey
=
File
(
parsedArguments
[
'windows-domkey'
]
as
String
).
readAsStringSync
();
final
String
glfwToDomKey
=
File
(
parsedArguments
[
'glfw-domkey'
]
as
String
).
readAsStringSync
();
final
String
glfwToDomKey
=
File
(
parsedArguments
[
'glfw-domkey'
]
as
String
).
readAsStringSync
();
final
String
gtkToDomKey
=
File
(
parsedArguments
[
'gtk-domkey'
]
as
String
).
readAsStringSync
();
final
String
androidToDomKey
=
File
(
parsedArguments
[
'android-domkey'
]
as
String
).
readAsStringSync
();
final
String
androidToDomKey
=
File
(
parsedArguments
[
'android-domkey'
]
as
String
).
readAsStringSync
();
data
=
KeyData
(
hidCodes
,
androidScanCodes
,
androidKeyCodes
,
androidToDomKey
,
glfwKeyCodes
,
glfwToDomKey
,
windowsKeyCodes
,
windowsToDomKey
);
data
=
KeyData
(
hidCodes
,
androidScanCodes
,
androidKeyCodes
,
androidToDomKey
,
glfwKeyCodes
,
glfwToDomKey
,
gtkKeyCodes
,
gtkToDomKey
,
windowsKeyCodes
,
windowsToDomKey
);
const
JsonEncoder
encoder
=
JsonEncoder
.
withIndent
(
' '
);
const
JsonEncoder
encoder
=
JsonEncoder
.
withIndent
(
' '
);
File
(
parsedArguments
[
'data'
]
as
String
).
writeAsStringSync
(
encoder
.
convert
(
data
.
toJson
()));
File
(
parsedArguments
[
'data'
]
as
String
).
writeAsStringSync
(
encoder
.
convert
(
data
.
toJson
()));
...
@@ -221,7 +246,7 @@ Future<void> main(List<String> rawArguments) async {
...
@@ -221,7 +246,7 @@ Future<void> main(List<String> rawArguments) async {
await
mapsFile
.
writeAsString
(
generator
.
generateKeyboardMaps
());
await
mapsFile
.
writeAsString
(
generator
.
generateKeyboardMaps
());
final
CcCodeGenerator
ccCodeGenerator
=
CcCodeGenerator
(
data
);
final
CcCodeGenerator
ccCodeGenerator
=
CcCodeGenerator
(
data
);
for
(
final
String
platform
in
<
String
>[
'android'
,
'darwin'
,
'glfw'
,
'fuchsia'
,
'linux'
,
'windows'
])
{
for
(
final
String
platform
in
<
String
>[
'android'
,
'darwin'
,
'glfw'
,
'
gtk'
,
'
fuchsia'
,
'linux'
,
'windows'
])
{
final
File
platformFile
=
File
(
path
.
join
(
flutterRoot
.
path
,
'..'
,
path
.
join
(
'engine'
,
'src'
,
'flutter'
,
'shell'
,
'platform'
,
platform
,
'keycodes'
,
'keyboard_map_
$platform
.h'
)));
final
File
platformFile
=
File
(
path
.
join
(
flutterRoot
.
path
,
'..'
,
path
.
join
(
'engine'
,
'src'
,
'flutter'
,
'shell'
,
'platform'
,
platform
,
'keycodes'
,
'keyboard_map_
$platform
.h'
)));
if
(!
platformFile
.
existsSync
())
{
if
(!
platformFile
.
existsSync
())
{
platformFile
.
createSync
(
recursive:
true
);
platformFile
.
createSync
(
recursive:
true
);
...
...
dev/tools/gen_keycodes/data/key_data.json
View file @
8c3b826e
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
"english"
:
"None"
,
"english"
:
"None"
,
"chromium"
:
"none"
,
"chromium"
:
"none"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -23,6 +24,7 @@
...
@@ -23,6 +24,7 @@
0
0
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -33,6 +35,10 @@
...
@@ -33,6 +35,10 @@
"english"
:
"Hyper"
,
"english"
:
"Hyper"
,
"chromium"
:
"hyper"
,
"chromium"
:
"hyper"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Hyper_L"
,
"Hyper_R"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -46,6 +52,10 @@
...
@@ -46,6 +52,10 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65517
,
65518
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -56,6 +66,10 @@
...
@@ -56,6 +66,10 @@
"english"
:
"Super Key"
,
"english"
:
"Super Key"
,
"chromium"
:
"super"
,
"chromium"
:
"super"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Super_L"
,
"Super_R"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -69,6 +83,10 @@
...
@@ -69,6 +83,10 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65515
,
65516
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -79,6 +97,7 @@
...
@@ -79,6 +97,7 @@
"english"
:
"Fn Lock"
,
"english"
:
"Fn Lock"
,
"chromium"
:
"fnLock"
,
"chromium"
:
"fnLock"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -92,6 +111,7 @@
...
@@ -92,6 +111,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -104,6 +124,9 @@
...
@@ -104,6 +124,9 @@
"english"
:
"Suspend"
,
"english"
:
"Suspend"
,
"chromium"
:
"suspend"
,
"chromium"
:
"suspend"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Suspend"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -119,6 +142,9 @@
...
@@ -119,6 +142,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025191
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -129,6 +155,9 @@
...
@@ -129,6 +155,9 @@
"english"
:
"Resume"
,
"english"
:
"Resume"
,
"chromium"
:
"resume"
,
"chromium"
:
"resume"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Resume"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -142,6 +171,7 @@
...
@@ -142,6 +171,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -152,6 +182,7 @@
...
@@ -152,6 +182,7 @@
"english"
:
"Turbo"
,
"english"
:
"Turbo"
,
"chromium"
:
"turbo"
,
"chromium"
:
"turbo"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -165,6 +196,7 @@
...
@@ -165,6 +196,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -175,6 +207,7 @@
...
@@ -175,6 +207,7 @@
"english"
:
"Privacy Screen Toggle"
,
"english"
:
"Privacy Screen Toggle"
,
"chromium"
:
"privacyScreenToggle"
,
"chromium"
:
"privacyScreenToggle"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -188,6 +221,7 @@
...
@@ -188,6 +221,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -200,6 +234,9 @@
...
@@ -200,6 +234,9 @@
"english"
:
"Sleep"
,
"english"
:
"Sleep"
,
"chromium"
:
"sleep"
,
"chromium"
:
"sleep"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Sleep"
],
"windows"
:
[
"windows"
:
[
"SLEEP"
"SLEEP"
]
]
...
@@ -219,6 +256,9 @@
...
@@ -219,6 +256,9 @@
223
223
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025071
],
"windows"
:
[
"windows"
:
[
95
95
]
]
...
@@ -233,6 +273,9 @@
...
@@ -233,6 +273,9 @@
"english"
:
"Wake Up"
,
"english"
:
"Wake Up"
,
"chromium"
:
"wakeUp"
,
"chromium"
:
"wakeUp"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"WakeUp"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -250,6 +293,9 @@
...
@@ -250,6 +293,9 @@
224
224
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025067
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -260,6 +306,7 @@
...
@@ -260,6 +306,7 @@
"english"
:
"Display Toggle Int Ext"
,
"english"
:
"Display Toggle Int Ext"
,
"chromium"
:
"displayToggleIntExt"
,
"chromium"
:
"displayToggleIntExt"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -273,6 +320,7 @@
...
@@ -273,6 +320,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -283,6 +331,7 @@
...
@@ -283,6 +331,7 @@
"english"
:
"Usb Reserved"
,
"english"
:
"Usb Reserved"
,
"chromium"
:
"usbReserved"
,
"chromium"
:
"usbReserved"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -296,6 +345,7 @@
...
@@ -296,6 +345,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -306,6 +356,7 @@
...
@@ -306,6 +356,7 @@
"english"
:
"Usb Error Roll Over"
,
"english"
:
"Usb Error Roll Over"
,
"chromium"
:
"usbErrorRollOver"
,
"chromium"
:
"usbErrorRollOver"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -319,6 +370,7 @@
...
@@ -319,6 +370,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -329,6 +381,7 @@
...
@@ -329,6 +381,7 @@
"english"
:
"Usb Post Fail"
,
"english"
:
"Usb Post Fail"
,
"chromium"
:
"usbPostFail"
,
"chromium"
:
"usbPostFail"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -342,6 +395,7 @@
...
@@ -342,6 +395,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -352,6 +406,7 @@
...
@@ -352,6 +406,7 @@
"english"
:
"Usb Error Undefined"
,
"english"
:
"Usb Error Undefined"
,
"chromium"
:
"usbErrorUndefined"
,
"chromium"
:
"usbErrorUndefined"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -365,6 +420,7 @@
...
@@ -365,6 +420,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -379,6 +435,9 @@
...
@@ -379,6 +435,9 @@
"glfw"
:
[
"glfw"
:
[
"A"
"A"
],
],
"gtk"
:
[
"A"
],
"windows"
:
[
"windows"
:
[
"A"
"A"
]
]
...
@@ -400,6 +459,9 @@
...
@@ -400,6 +459,9 @@
"glfw"
:
[
"glfw"
:
[
65
65
],
],
"gtk"
:
[
65
],
"windows"
:
[
"windows"
:
[
65
65
]
]
...
@@ -416,6 +478,9 @@
...
@@ -416,6 +478,9 @@
"glfw"
:
[
"glfw"
:
[
"B"
"B"
],
],
"gtk"
:
[
"B"
],
"windows"
:
[
"windows"
:
[
"B"
"B"
]
]
...
@@ -437,6 +502,9 @@
...
@@ -437,6 +502,9 @@
"glfw"
:
[
"glfw"
:
[
66
66
],
],
"gtk"
:
[
66
],
"windows"
:
[
"windows"
:
[
66
66
]
]
...
@@ -453,6 +521,9 @@
...
@@ -453,6 +521,9 @@
"glfw"
:
[
"glfw"
:
[
"C"
"C"
],
],
"gtk"
:
[
"C"
],
"windows"
:
[
"windows"
:
[
"C"
"C"
]
]
...
@@ -474,6 +545,9 @@
...
@@ -474,6 +545,9 @@
"glfw"
:
[
"glfw"
:
[
67
67
],
],
"gtk"
:
[
67
],
"windows"
:
[
"windows"
:
[
67
67
]
]
...
@@ -490,6 +564,9 @@
...
@@ -490,6 +564,9 @@
"glfw"
:
[
"glfw"
:
[
"D"
"D"
],
],
"gtk"
:
[
"D"
],
"windows"
:
[
"windows"
:
[
"D"
"D"
]
]
...
@@ -511,6 +588,9 @@
...
@@ -511,6 +588,9 @@
"glfw"
:
[
"glfw"
:
[
68
68
],
],
"gtk"
:
[
68
],
"windows"
:
[
"windows"
:
[
68
68
]
]
...
@@ -527,6 +607,9 @@
...
@@ -527,6 +607,9 @@
"glfw"
:
[
"glfw"
:
[
"E"
"E"
],
],
"gtk"
:
[
"E"
],
"windows"
:
[
"windows"
:
[
"E"
"E"
]
]
...
@@ -548,6 +631,9 @@
...
@@ -548,6 +631,9 @@
"glfw"
:
[
"glfw"
:
[
69
69
],
],
"gtk"
:
[
69
],
"windows"
:
[
"windows"
:
[
69
69
]
]
...
@@ -564,6 +650,9 @@
...
@@ -564,6 +650,9 @@
"glfw"
:
[
"glfw"
:
[
"F"
"F"
],
],
"gtk"
:
[
"F"
],
"windows"
:
[
"windows"
:
[
"F"
"F"
]
]
...
@@ -585,6 +674,9 @@
...
@@ -585,6 +674,9 @@
"glfw"
:
[
"glfw"
:
[
70
70
],
],
"gtk"
:
[
70
],
"windows"
:
[
"windows"
:
[
70
70
]
]
...
@@ -601,6 +693,9 @@
...
@@ -601,6 +693,9 @@
"glfw"
:
[
"glfw"
:
[
"G"
"G"
],
],
"gtk"
:
[
"G"
],
"windows"
:
[
"windows"
:
[
"G"
"G"
]
]
...
@@ -622,6 +717,9 @@
...
@@ -622,6 +717,9 @@
"glfw"
:
[
"glfw"
:
[
71
71
],
],
"gtk"
:
[
71
],
"windows"
:
[
"windows"
:
[
71
71
]
]
...
@@ -638,6 +736,9 @@
...
@@ -638,6 +736,9 @@
"glfw"
:
[
"glfw"
:
[
"H"
"H"
],
],
"gtk"
:
[
"H"
],
"windows"
:
[
"windows"
:
[
"H"
"H"
]
]
...
@@ -659,6 +760,9 @@
...
@@ -659,6 +760,9 @@
"glfw"
:
[
"glfw"
:
[
72
72
],
],
"gtk"
:
[
72
],
"windows"
:
[
"windows"
:
[
72
72
]
]
...
@@ -675,6 +779,9 @@
...
@@ -675,6 +779,9 @@
"glfw"
:
[
"glfw"
:
[
"I"
"I"
],
],
"gtk"
:
[
"I"
],
"windows"
:
[
"windows"
:
[
"I"
"I"
]
]
...
@@ -696,6 +803,9 @@
...
@@ -696,6 +803,9 @@
"glfw"
:
[
"glfw"
:
[
73
73
],
],
"gtk"
:
[
73
],
"windows"
:
[
"windows"
:
[
73
73
]
]
...
@@ -712,6 +822,9 @@
...
@@ -712,6 +822,9 @@
"glfw"
:
[
"glfw"
:
[
"J"
"J"
],
],
"gtk"
:
[
"J"
],
"windows"
:
[
"windows"
:
[
"J"
"J"
]
]
...
@@ -733,6 +846,9 @@
...
@@ -733,6 +846,9 @@
"glfw"
:
[
"glfw"
:
[
74
74
],
],
"gtk"
:
[
74
],
"windows"
:
[
"windows"
:
[
74
74
]
]
...
@@ -749,6 +865,9 @@
...
@@ -749,6 +865,9 @@
"glfw"
:
[
"glfw"
:
[
"K"
"K"
],
],
"gtk"
:
[
"K"
],
"windows"
:
[
"windows"
:
[
"K"
"K"
]
]
...
@@ -770,6 +889,9 @@
...
@@ -770,6 +889,9 @@
"glfw"
:
[
"glfw"
:
[
75
75
],
],
"gtk"
:
[
75
],
"windows"
:
[
"windows"
:
[
75
75
]
]
...
@@ -786,6 +908,9 @@
...
@@ -786,6 +908,9 @@
"glfw"
:
[
"glfw"
:
[
"L"
"L"
],
],
"gtk"
:
[
"L"
],
"windows"
:
[
"windows"
:
[
"L"
"L"
]
]
...
@@ -807,6 +932,9 @@
...
@@ -807,6 +932,9 @@
"glfw"
:
[
"glfw"
:
[
76
76
],
],
"gtk"
:
[
76
],
"windows"
:
[
"windows"
:
[
76
76
]
]
...
@@ -823,6 +951,9 @@
...
@@ -823,6 +951,9 @@
"glfw"
:
[
"glfw"
:
[
"M"
"M"
],
],
"gtk"
:
[
"M"
],
"windows"
:
[
"windows"
:
[
"M"
"M"
]
]
...
@@ -844,6 +975,9 @@
...
@@ -844,6 +975,9 @@
"glfw"
:
[
"glfw"
:
[
77
77
],
],
"gtk"
:
[
77
],
"windows"
:
[
"windows"
:
[
77
77
]
]
...
@@ -860,6 +994,9 @@
...
@@ -860,6 +994,9 @@
"glfw"
:
[
"glfw"
:
[
"N"
"N"
],
],
"gtk"
:
[
"N"
],
"windows"
:
[
"windows"
:
[
"N"
"N"
]
]
...
@@ -881,6 +1018,9 @@
...
@@ -881,6 +1018,9 @@
"glfw"
:
[
"glfw"
:
[
78
78
],
],
"gtk"
:
[
78
],
"windows"
:
[
"windows"
:
[
78
78
]
]
...
@@ -897,6 +1037,9 @@
...
@@ -897,6 +1037,9 @@
"glfw"
:
[
"glfw"
:
[
"O"
"O"
],
],
"gtk"
:
[
"O"
],
"windows"
:
[
"windows"
:
[
"O"
"O"
]
]
...
@@ -918,6 +1061,9 @@
...
@@ -918,6 +1061,9 @@
"glfw"
:
[
"glfw"
:
[
79
79
],
],
"gtk"
:
[
79
],
"windows"
:
[
"windows"
:
[
79
79
]
]
...
@@ -934,6 +1080,9 @@
...
@@ -934,6 +1080,9 @@
"glfw"
:
[
"glfw"
:
[
"P"
"P"
],
],
"gtk"
:
[
"P"
],
"windows"
:
[
"windows"
:
[
"P"
"P"
]
]
...
@@ -955,6 +1104,9 @@
...
@@ -955,6 +1104,9 @@
"glfw"
:
[
"glfw"
:
[
80
80
],
],
"gtk"
:
[
80
],
"windows"
:
[
"windows"
:
[
80
80
]
]
...
@@ -971,6 +1123,9 @@
...
@@ -971,6 +1123,9 @@
"glfw"
:
[
"glfw"
:
[
"Q"
"Q"
],
],
"gtk"
:
[
"Q"
],
"windows"
:
[
"windows"
:
[
"Q"
"Q"
]
]
...
@@ -992,6 +1147,9 @@
...
@@ -992,6 +1147,9 @@
"glfw"
:
[
"glfw"
:
[
81
81
],
],
"gtk"
:
[
81
],
"windows"
:
[
"windows"
:
[
81
81
]
]
...
@@ -1008,6 +1166,9 @@
...
@@ -1008,6 +1166,9 @@
"glfw"
:
[
"glfw"
:
[
"R"
"R"
],
],
"gtk"
:
[
"R"
],
"windows"
:
[
"windows"
:
[
"R"
"R"
]
]
...
@@ -1029,6 +1190,9 @@
...
@@ -1029,6 +1190,9 @@
"glfw"
:
[
"glfw"
:
[
82
82
],
],
"gtk"
:
[
82
],
"windows"
:
[
"windows"
:
[
82
82
]
]
...
@@ -1045,6 +1209,9 @@
...
@@ -1045,6 +1209,9 @@
"glfw"
:
[
"glfw"
:
[
"S"
"S"
],
],
"gtk"
:
[
"S"
],
"windows"
:
[
"windows"
:
[
"S"
"S"
]
]
...
@@ -1066,6 +1233,9 @@
...
@@ -1066,6 +1233,9 @@
"glfw"
:
[
"glfw"
:
[
83
83
],
],
"gtk"
:
[
83
],
"windows"
:
[
"windows"
:
[
83
83
]
]
...
@@ -1082,6 +1252,9 @@
...
@@ -1082,6 +1252,9 @@
"glfw"
:
[
"glfw"
:
[
"T"
"T"
],
],
"gtk"
:
[
"T"
],
"windows"
:
[
"windows"
:
[
"T"
"T"
]
]
...
@@ -1103,6 +1276,9 @@
...
@@ -1103,6 +1276,9 @@
"glfw"
:
[
"glfw"
:
[
84
84
],
],
"gtk"
:
[
84
],
"windows"
:
[
"windows"
:
[
84
84
]
]
...
@@ -1119,6 +1295,9 @@
...
@@ -1119,6 +1295,9 @@
"glfw"
:
[
"glfw"
:
[
"U"
"U"
],
],
"gtk"
:
[
"U"
],
"windows"
:
[
"windows"
:
[
"U"
"U"
]
]
...
@@ -1140,6 +1319,9 @@
...
@@ -1140,6 +1319,9 @@
"glfw"
:
[
"glfw"
:
[
85
85
],
],
"gtk"
:
[
85
],
"windows"
:
[
"windows"
:
[
85
85
]
]
...
@@ -1156,6 +1338,9 @@
...
@@ -1156,6 +1338,9 @@
"glfw"
:
[
"glfw"
:
[
"V"
"V"
],
],
"gtk"
:
[
"V"
],
"windows"
:
[
"windows"
:
[
"V"
"V"
]
]
...
@@ -1177,6 +1362,9 @@
...
@@ -1177,6 +1362,9 @@
"glfw"
:
[
"glfw"
:
[
86
86
],
],
"gtk"
:
[
86
],
"windows"
:
[
"windows"
:
[
86
86
]
]
...
@@ -1193,6 +1381,9 @@
...
@@ -1193,6 +1381,9 @@
"glfw"
:
[
"glfw"
:
[
"W"
"W"
],
],
"gtk"
:
[
"W"
],
"windows"
:
[
"windows"
:
[
"W"
"W"
]
]
...
@@ -1214,6 +1405,9 @@
...
@@ -1214,6 +1405,9 @@
"glfw"
:
[
"glfw"
:
[
87
87
],
],
"gtk"
:
[
87
],
"windows"
:
[
"windows"
:
[
87
87
]
]
...
@@ -1230,6 +1424,9 @@
...
@@ -1230,6 +1424,9 @@
"glfw"
:
[
"glfw"
:
[
"X"
"X"
],
],
"gtk"
:
[
"X"
],
"windows"
:
[
"windows"
:
[
"X"
"X"
]
]
...
@@ -1251,6 +1448,9 @@
...
@@ -1251,6 +1448,9 @@
"glfw"
:
[
"glfw"
:
[
88
88
],
],
"gtk"
:
[
88
],
"windows"
:
[
"windows"
:
[
88
88
]
]
...
@@ -1267,6 +1467,9 @@
...
@@ -1267,6 +1467,9 @@
"glfw"
:
[
"glfw"
:
[
"Y"
"Y"
],
],
"gtk"
:
[
"Y"
],
"windows"
:
[
"windows"
:
[
"Y"
"Y"
]
]
...
@@ -1288,6 +1491,9 @@
...
@@ -1288,6 +1491,9 @@
"glfw"
:
[
"glfw"
:
[
89
89
],
],
"gtk"
:
[
89
],
"windows"
:
[
"windows"
:
[
89
89
]
]
...
@@ -1304,6 +1510,9 @@
...
@@ -1304,6 +1510,9 @@
"glfw"
:
[
"glfw"
:
[
"Z"
"Z"
],
],
"gtk"
:
[
"Z"
],
"windows"
:
[
"windows"
:
[
"Z"
"Z"
]
]
...
@@ -1325,6 +1534,9 @@
...
@@ -1325,6 +1534,9 @@
"glfw"
:
[
"glfw"
:
[
90
90
],
],
"gtk"
:
[
90
],
"windows"
:
[
"windows"
:
[
90
90
]
]
...
@@ -1341,6 +1553,9 @@
...
@@ -1341,6 +1553,9 @@
"glfw"
:
[
"glfw"
:
[
"1"
"1"
],
],
"gtk"
:
[
"1"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1360,6 +1575,9 @@
...
@@ -1360,6 +1575,9 @@
"glfw"
:
[
"glfw"
:
[
49
49
],
],
"gtk"
:
[
49
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1374,6 +1592,9 @@
...
@@ -1374,6 +1592,9 @@
"glfw"
:
[
"glfw"
:
[
"2"
"2"
],
],
"gtk"
:
[
"2"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1393,6 +1614,9 @@
...
@@ -1393,6 +1614,9 @@
"glfw"
:
[
"glfw"
:
[
50
50
],
],
"gtk"
:
[
50
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1407,6 +1631,9 @@
...
@@ -1407,6 +1631,9 @@
"glfw"
:
[
"glfw"
:
[
"3"
"3"
],
],
"gtk"
:
[
"3"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1426,6 +1653,9 @@
...
@@ -1426,6 +1653,9 @@
"glfw"
:
[
"glfw"
:
[
51
51
],
],
"gtk"
:
[
51
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1440,6 +1670,9 @@
...
@@ -1440,6 +1670,9 @@
"glfw"
:
[
"glfw"
:
[
"4"
"4"
],
],
"gtk"
:
[
"4"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1459,6 +1692,9 @@
...
@@ -1459,6 +1692,9 @@
"glfw"
:
[
"glfw"
:
[
52
52
],
],
"gtk"
:
[
52
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1473,6 +1709,9 @@
...
@@ -1473,6 +1709,9 @@
"glfw"
:
[
"glfw"
:
[
"5"
"5"
],
],
"gtk"
:
[
"5"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1492,6 +1731,9 @@
...
@@ -1492,6 +1731,9 @@
"glfw"
:
[
"glfw"
:
[
53
53
],
],
"gtk"
:
[
53
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1506,6 +1748,9 @@
...
@@ -1506,6 +1748,9 @@
"glfw"
:
[
"glfw"
:
[
"6"
"6"
],
],
"gtk"
:
[
"6"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1525,6 +1770,9 @@
...
@@ -1525,6 +1770,9 @@
"glfw"
:
[
"glfw"
:
[
54
54
],
],
"gtk"
:
[
54
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1539,6 +1787,9 @@
...
@@ -1539,6 +1787,9 @@
"glfw"
:
[
"glfw"
:
[
"7"
"7"
],
],
"gtk"
:
[
"7"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1558,6 +1809,9 @@
...
@@ -1558,6 +1809,9 @@
"glfw"
:
[
"glfw"
:
[
55
55
],
],
"gtk"
:
[
55
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1572,6 +1826,9 @@
...
@@ -1572,6 +1826,9 @@
"glfw"
:
[
"glfw"
:
[
"8"
"8"
],
],
"gtk"
:
[
"8"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1591,6 +1848,9 @@
...
@@ -1591,6 +1848,9 @@
"glfw"
:
[
"glfw"
:
[
56
56
],
],
"gtk"
:
[
56
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1605,6 +1865,9 @@
...
@@ -1605,6 +1865,9 @@
"glfw"
:
[
"glfw"
:
[
"9"
"9"
],
],
"gtk"
:
[
"9"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1624,6 +1887,9 @@
...
@@ -1624,6 +1887,9 @@
"glfw"
:
[
"glfw"
:
[
57
57
],
],
"gtk"
:
[
57
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1638,6 +1904,9 @@
...
@@ -1638,6 +1904,9 @@
"glfw"
:
[
"glfw"
:
[
"0"
"0"
],
],
"gtk"
:
[
"0"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -1657,6 +1926,9 @@
...
@@ -1657,6 +1926,9 @@
"glfw"
:
[
"glfw"
:
[
48
48
],
],
"gtk"
:
[
48
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -1671,6 +1943,10 @@
...
@@ -1671,6 +1943,10 @@
"glfw"
:
[
"glfw"
:
[
"ENTER"
"ENTER"
],
],
"gtk"
:
[
"Return"
,
"Enter"
],
"windows"
:
[
"windows"
:
[
"RETURN"
"RETURN"
]
]
...
@@ -1692,6 +1968,9 @@
...
@@ -1692,6 +1968,9 @@
"glfw"
:
[
"glfw"
:
[
257
257
],
],
"gtk"
:
[
65293
],
"windows"
:
[
"windows"
:
[
13
13
]
]
...
@@ -1708,6 +1987,9 @@
...
@@ -1708,6 +1987,9 @@
"glfw"
:
[
"glfw"
:
[
"ESCAPE"
"ESCAPE"
],
],
"gtk"
:
[
"Escape"
],
"windows"
:
[
"windows"
:
[
"ESCAPE"
"ESCAPE"
]
]
...
@@ -1729,6 +2011,9 @@
...
@@ -1729,6 +2011,9 @@
"glfw"
:
[
"glfw"
:
[
256
256
],
],
"gtk"
:
[
65307
],
"windows"
:
[
"windows"
:
[
27
27
]
]
...
@@ -1745,6 +2030,9 @@
...
@@ -1745,6 +2030,9 @@
"glfw"
:
[
"glfw"
:
[
"BACKSPACE"
"BACKSPACE"
],
],
"gtk"
:
[
"BackSpace"
],
"windows"
:
[
"windows"
:
[
"BACK"
"BACK"
]
]
...
@@ -1766,6 +2054,9 @@
...
@@ -1766,6 +2054,9 @@
"glfw"
:
[
"glfw"
:
[
259
259
],
],
"gtk"
:
[
65288
],
"windows"
:
[
"windows"
:
[
8
8
]
]
...
@@ -1782,6 +2073,10 @@
...
@@ -1782,6 +2073,10 @@
"glfw"
:
[
"glfw"
:
[
"TAB"
"TAB"
],
],
"gtk"
:
[
"Tab"
,
"KP_Tab"
],
"windows"
:
[
"windows"
:
[
"TAB"
"TAB"
]
]
...
@@ -1803,6 +2098,10 @@
...
@@ -1803,6 +2098,10 @@
"glfw"
:
[
"glfw"
:
[
258
258
],
],
"gtk"
:
[
65289
,
65417
],
"windows"
:
[
"windows"
:
[
9
9
]
]
...
@@ -1819,6 +2118,10 @@
...
@@ -1819,6 +2118,10 @@
"glfw"
:
[
"glfw"
:
[
"SPACE"
"SPACE"
],
],
"gtk"
:
[
"space"
,
"KP_Space"
],
"windows"
:
[
"windows"
:
[
"SPACE"
"SPACE"
]
]
...
@@ -1840,6 +2143,10 @@
...
@@ -1840,6 +2143,10 @@
"glfw"
:
[
"glfw"
:
[
32
32
],
],
"gtk"
:
[
32
,
65408
],
"windows"
:
[
"windows"
:
[
32
32
]
]
...
@@ -1856,6 +2163,9 @@
...
@@ -1856,6 +2163,9 @@
"glfw"
:
[
"glfw"
:
[
"MINUS"
"MINUS"
],
],
"gtk"
:
[
"minus"
],
"windows"
:
[
"windows"
:
[
"OEM_MINUS"
"OEM_MINUS"
]
]
...
@@ -1877,6 +2187,9 @@
...
@@ -1877,6 +2187,9 @@
"glfw"
:
[
"glfw"
:
[
45
45
],
],
"gtk"
:
[
45
],
"windows"
:
[
"windows"
:
[
189
189
]
]
...
@@ -1893,6 +2206,9 @@
...
@@ -1893,6 +2206,9 @@
"glfw"
:
[
"glfw"
:
[
"EQUAL"
"EQUAL"
],
],
"gtk"
:
[
"equal"
],
"windows"
:
[
"windows"
:
[
"OEM_PLUS"
"OEM_PLUS"
]
]
...
@@ -1914,6 +2230,9 @@
...
@@ -1914,6 +2230,9 @@
"glfw"
:
[
"glfw"
:
[
61
61
],
],
"gtk"
:
[
61
],
"windows"
:
[
"windows"
:
[
187
187
]
]
...
@@ -1930,6 +2249,9 @@
...
@@ -1930,6 +2249,9 @@
"glfw"
:
[
"glfw"
:
[
"LEFT_BRACKET"
"LEFT_BRACKET"
],
],
"gtk"
:
[
"bracketleft"
],
"windows"
:
[
"windows"
:
[
"OEM_4"
"OEM_4"
]
]
...
@@ -1951,6 +2273,9 @@
...
@@ -1951,6 +2273,9 @@
"glfw"
:
[
"glfw"
:
[
91
91
],
],
"gtk"
:
[
91
],
"windows"
:
[
"windows"
:
[
219
219
]
]
...
@@ -1967,6 +2292,9 @@
...
@@ -1967,6 +2292,9 @@
"glfw"
:
[
"glfw"
:
[
"RIGHT_BRACKET"
"RIGHT_BRACKET"
],
],
"gtk"
:
[
"bracketright"
],
"windows"
:
[
"windows"
:
[
"OEM_6"
"OEM_6"
]
]
...
@@ -1988,6 +2316,9 @@
...
@@ -1988,6 +2316,9 @@
"glfw"
:
[
"glfw"
:
[
93
93
],
],
"gtk"
:
[
93
],
"windows"
:
[
"windows"
:
[
221
221
]
]
...
@@ -2004,6 +2335,9 @@
...
@@ -2004,6 +2335,9 @@
"glfw"
:
[
"glfw"
:
[
"BACKSLASH"
"BACKSLASH"
],
],
"gtk"
:
[
"backslash"
],
"windows"
:
[
"windows"
:
[
"OEM_5"
"OEM_5"
]
]
...
@@ -2026,6 +2360,9 @@
...
@@ -2026,6 +2360,9 @@
"glfw"
:
[
"glfw"
:
[
92
92
],
],
"gtk"
:
[
92
],
"windows"
:
[
"windows"
:
[
220
220
]
]
...
@@ -2042,6 +2379,9 @@
...
@@ -2042,6 +2379,9 @@
"glfw"
:
[
"glfw"
:
[
"SEMICOLON"
"SEMICOLON"
],
],
"gtk"
:
[
"semicolon"
],
"windows"
:
[
"windows"
:
[
"OEM_1"
"OEM_1"
]
]
...
@@ -2063,6 +2403,9 @@
...
@@ -2063,6 +2403,9 @@
"glfw"
:
[
"glfw"
:
[
59
59
],
],
"gtk"
:
[
59
],
"windows"
:
[
"windows"
:
[
186
186
]
]
...
@@ -2079,6 +2422,9 @@
...
@@ -2079,6 +2422,9 @@
"glfw"
:
[
"glfw"
:
[
"APOSTROPHE"
"APOSTROPHE"
],
],
"gtk"
:
[
"apostrophe"
],
"windows"
:
[
"windows"
:
[
"OEM_7"
"OEM_7"
]
]
...
@@ -2100,6 +2446,9 @@
...
@@ -2100,6 +2446,9 @@
"glfw"
:
[
"glfw"
:
[
39
39
],
],
"gtk"
:
[
39
],
"windows"
:
[
"windows"
:
[
222
222
]
]
...
@@ -2116,6 +2465,9 @@
...
@@ -2116,6 +2465,9 @@
"glfw"
:
[
"glfw"
:
[
"GRAVE_ACCENT"
"GRAVE_ACCENT"
],
],
"gtk"
:
[
"quoteleft"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -2135,6 +2487,9 @@
...
@@ -2135,6 +2487,9 @@
"glfw"
:
[
"glfw"
:
[
96
96
],
],
"gtk"
:
[
96
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -2149,6 +2504,9 @@
...
@@ -2149,6 +2504,9 @@
"glfw"
:
[
"glfw"
:
[
"COMMA"
"COMMA"
],
],
"gtk"
:
[
"comma"
],
"windows"
:
[
"windows"
:
[
"OEM_COMMA"
"OEM_COMMA"
]
]
...
@@ -2170,6 +2528,9 @@
...
@@ -2170,6 +2528,9 @@
"glfw"
:
[
"glfw"
:
[
44
44
],
],
"gtk"
:
[
44
],
"windows"
:
[
"windows"
:
[
188
188
]
]
...
@@ -2186,6 +2547,9 @@
...
@@ -2186,6 +2547,9 @@
"glfw"
:
[
"glfw"
:
[
"PERIOD"
"PERIOD"
],
],
"gtk"
:
[
"period"
],
"windows"
:
[
"windows"
:
[
"OEM_PERIOD"
"OEM_PERIOD"
]
]
...
@@ -2207,6 +2571,9 @@
...
@@ -2207,6 +2571,9 @@
"glfw"
:
[
"glfw"
:
[
46
46
],
],
"gtk"
:
[
46
],
"windows"
:
[
"windows"
:
[
190
190
]
]
...
@@ -2223,6 +2590,9 @@
...
@@ -2223,6 +2590,9 @@
"glfw"
:
[
"glfw"
:
[
"SLASH"
"SLASH"
],
],
"gtk"
:
[
"slash"
],
"windows"
:
[
"windows"
:
[
"OEM_2"
"OEM_2"
]
]
...
@@ -2244,6 +2614,9 @@
...
@@ -2244,6 +2614,9 @@
"glfw"
:
[
"glfw"
:
[
47
47
],
],
"gtk"
:
[
47
],
"windows"
:
[
"windows"
:
[
191
191
]
]
...
@@ -2260,6 +2633,9 @@
...
@@ -2260,6 +2633,9 @@
"glfw"
:
[
"glfw"
:
[
"CAPS_LOCK"
"CAPS_LOCK"
],
],
"gtk"
:
[
"Caps_Lock"
],
"windows"
:
[
"windows"
:
[
"CAPITAL"
"CAPITAL"
]
]
...
@@ -2281,6 +2657,9 @@
...
@@ -2281,6 +2657,9 @@
"glfw"
:
[
"glfw"
:
[
280
280
],
],
"gtk"
:
[
65509
],
"windows"
:
[
"windows"
:
[
20
20
]
]
...
@@ -2297,6 +2676,10 @@
...
@@ -2297,6 +2676,10 @@
"glfw"
:
[
"glfw"
:
[
"F1"
"F1"
],
],
"gtk"
:
[
"F1"
,
"KP_F1"
],
"windows"
:
[
"windows"
:
[
"F1"
"F1"
]
]
...
@@ -2318,6 +2701,10 @@
...
@@ -2318,6 +2701,10 @@
"glfw"
:
[
"glfw"
:
[
290
290
],
],
"gtk"
:
[
65470
,
65425
],
"windows"
:
[
"windows"
:
[
112
112
]
]
...
@@ -2334,6 +2721,10 @@
...
@@ -2334,6 +2721,10 @@
"glfw"
:
[
"glfw"
:
[
"F2"
"F2"
],
],
"gtk"
:
[
"F2"
,
"KP_F2"
],
"windows"
:
[
"windows"
:
[
"F2"
"F2"
]
]
...
@@ -2355,6 +2746,10 @@
...
@@ -2355,6 +2746,10 @@
"glfw"
:
[
"glfw"
:
[
291
291
],
],
"gtk"
:
[
65471
,
65426
],
"windows"
:
[
"windows"
:
[
113
113
]
]
...
@@ -2371,6 +2766,10 @@
...
@@ -2371,6 +2766,10 @@
"glfw"
:
[
"glfw"
:
[
"F3"
"F3"
],
],
"gtk"
:
[
"F3"
,
"KP_F3"
],
"windows"
:
[
"windows"
:
[
"F3"
"F3"
]
]
...
@@ -2392,6 +2791,10 @@
...
@@ -2392,6 +2791,10 @@
"glfw"
:
[
"glfw"
:
[
292
292
],
],
"gtk"
:
[
65472
,
65427
],
"windows"
:
[
"windows"
:
[
114
114
]
]
...
@@ -2408,6 +2811,10 @@
...
@@ -2408,6 +2811,10 @@
"glfw"
:
[
"glfw"
:
[
"F4"
"F4"
],
],
"gtk"
:
[
"F4"
,
"KP_F4"
],
"windows"
:
[
"windows"
:
[
"F4"
"F4"
]
]
...
@@ -2429,6 +2836,10 @@
...
@@ -2429,6 +2836,10 @@
"glfw"
:
[
"glfw"
:
[
293
293
],
],
"gtk"
:
[
65473
,
65428
],
"windows"
:
[
"windows"
:
[
115
115
]
]
...
@@ -2445,6 +2856,9 @@
...
@@ -2445,6 +2856,9 @@
"glfw"
:
[
"glfw"
:
[
"F5"
"F5"
],
],
"gtk"
:
[
"F5"
],
"windows"
:
[
"windows"
:
[
"F5"
"F5"
]
]
...
@@ -2466,6 +2880,9 @@
...
@@ -2466,6 +2880,9 @@
"glfw"
:
[
"glfw"
:
[
294
294
],
],
"gtk"
:
[
65474
],
"windows"
:
[
"windows"
:
[
116
116
]
]
...
@@ -2482,6 +2899,9 @@
...
@@ -2482,6 +2899,9 @@
"glfw"
:
[
"glfw"
:
[
"F6"
"F6"
],
],
"gtk"
:
[
"F6"
],
"windows"
:
[
"windows"
:
[
"F6"
"F6"
]
]
...
@@ -2503,6 +2923,9 @@
...
@@ -2503,6 +2923,9 @@
"glfw"
:
[
"glfw"
:
[
295
295
],
],
"gtk"
:
[
65475
],
"windows"
:
[
"windows"
:
[
117
117
]
]
...
@@ -2519,6 +2942,9 @@
...
@@ -2519,6 +2942,9 @@
"glfw"
:
[
"glfw"
:
[
"F7"
"F7"
],
],
"gtk"
:
[
"F7"
],
"windows"
:
[
"windows"
:
[
"F7"
"F7"
]
]
...
@@ -2540,6 +2966,9 @@
...
@@ -2540,6 +2966,9 @@
"glfw"
:
[
"glfw"
:
[
296
296
],
],
"gtk"
:
[
65476
],
"windows"
:
[
"windows"
:
[
118
118
]
]
...
@@ -2556,6 +2985,9 @@
...
@@ -2556,6 +2985,9 @@
"glfw"
:
[
"glfw"
:
[
"F8"
"F8"
],
],
"gtk"
:
[
"F8"
],
"windows"
:
[
"windows"
:
[
"F8"
"F8"
]
]
...
@@ -2577,6 +3009,9 @@
...
@@ -2577,6 +3009,9 @@
"glfw"
:
[
"glfw"
:
[
297
297
],
],
"gtk"
:
[
65477
],
"windows"
:
[
"windows"
:
[
119
119
]
]
...
@@ -2593,6 +3028,9 @@
...
@@ -2593,6 +3028,9 @@
"glfw"
:
[
"glfw"
:
[
"F9"
"F9"
],
],
"gtk"
:
[
"F9"
],
"windows"
:
[
"windows"
:
[
"F9"
"F9"
]
]
...
@@ -2614,6 +3052,9 @@
...
@@ -2614,6 +3052,9 @@
"glfw"
:
[
"glfw"
:
[
298
298
],
],
"gtk"
:
[
65478
],
"windows"
:
[
"windows"
:
[
120
120
]
]
...
@@ -2630,6 +3071,9 @@
...
@@ -2630,6 +3071,9 @@
"glfw"
:
[
"glfw"
:
[
"F10"
"F10"
],
],
"gtk"
:
[
"F10"
],
"windows"
:
[
"windows"
:
[
"F10"
"F10"
]
]
...
@@ -2651,6 +3095,9 @@
...
@@ -2651,6 +3095,9 @@
"glfw"
:
[
"glfw"
:
[
299
299
],
],
"gtk"
:
[
65479
],
"windows"
:
[
"windows"
:
[
121
121
]
]
...
@@ -2667,6 +3114,9 @@
...
@@ -2667,6 +3114,9 @@
"glfw"
:
[
"glfw"
:
[
"F11"
"F11"
],
],
"gtk"
:
[
"F11"
],
"windows"
:
[
"windows"
:
[
"F11"
"F11"
]
]
...
@@ -2688,6 +3138,9 @@
...
@@ -2688,6 +3138,9 @@
"glfw"
:
[
"glfw"
:
[
300
300
],
],
"gtk"
:
[
65480
],
"windows"
:
[
"windows"
:
[
122
122
]
]
...
@@ -2704,6 +3157,9 @@
...
@@ -2704,6 +3157,9 @@
"glfw"
:
[
"glfw"
:
[
"F12"
"F12"
],
],
"gtk"
:
[
"F12"
],
"windows"
:
[
"windows"
:
[
"F12"
"F12"
]
]
...
@@ -2725,6 +3181,9 @@
...
@@ -2725,6 +3181,9 @@
"glfw"
:
[
"glfw"
:
[
301
301
],
],
"gtk"
:
[
65481
],
"windows"
:
[
"windows"
:
[
123
123
]
]
...
@@ -2741,6 +3200,9 @@
...
@@ -2741,6 +3200,9 @@
"glfw"
:
[
"glfw"
:
[
"PRINT_SCREEN"
"PRINT_SCREEN"
],
],
"gtk"
:
[
"3270_PrintScreen"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -2760,6 +3222,9 @@
...
@@ -2760,6 +3222,9 @@
"glfw"
:
[
"glfw"
:
[
283
283
],
],
"gtk"
:
[
64797
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -2772,6 +3237,9 @@
...
@@ -2772,6 +3237,9 @@
"english"
:
"Scroll Lock"
,
"english"
:
"Scroll Lock"
,
"chromium"
:
"scrollLock"
,
"chromium"
:
"scrollLock"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Scroll_Lock"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -2789,6 +3257,9 @@
...
@@ -2789,6 +3257,9 @@
116
116
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65300
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -2803,6 +3274,9 @@
...
@@ -2803,6 +3274,9 @@
"glfw"
:
[
"glfw"
:
[
"PAUSE"
"PAUSE"
],
],
"gtk"
:
[
"Pause"
],
"windows"
:
[
"windows"
:
[
"PAUSE"
"PAUSE"
]
]
...
@@ -2825,6 +3299,9 @@
...
@@ -2825,6 +3299,9 @@
"glfw"
:
[
"glfw"
:
[
284
284
],
],
"gtk"
:
[
65299
],
"windows"
:
[
"windows"
:
[
19
19
]
]
...
@@ -2841,6 +3318,10 @@
...
@@ -2841,6 +3318,10 @@
"glfw"
:
[
"glfw"
:
[
"INSERT"
"INSERT"
],
],
"gtk"
:
[
"Insert"
,
"KP_Insert"
],
"windows"
:
[
"windows"
:
[
"INSERT"
"INSERT"
]
]
...
@@ -2862,6 +3343,10 @@
...
@@ -2862,6 +3343,10 @@
"glfw"
:
[
"glfw"
:
[
260
260
],
],
"gtk"
:
[
65379
,
65438
],
"windows"
:
[
"windows"
:
[
45
45
]
]
...
@@ -2878,6 +3363,10 @@
...
@@ -2878,6 +3363,10 @@
"glfw"
:
[
"glfw"
:
[
"HOME"
"HOME"
],
],
"gtk"
:
[
"Home"
,
"KP_Home"
],
"windows"
:
[
"windows"
:
[
"HOME"
"HOME"
]
]
...
@@ -2899,6 +3388,10 @@
...
@@ -2899,6 +3388,10 @@
"glfw"
:
[
"glfw"
:
[
268
268
],
],
"gtk"
:
[
65360
,
65429
],
"windows"
:
[
"windows"
:
[
36
36
]
]
...
@@ -2915,6 +3408,10 @@
...
@@ -2915,6 +3408,10 @@
"glfw"
:
[
"glfw"
:
[
"PAGE_UP"
"PAGE_UP"
],
],
"gtk"
:
[
"Page_Up"
,
"KP_Page_Up"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -2935,6 +3432,10 @@
...
@@ -2935,6 +3432,10 @@
"glfw"
:
[
"glfw"
:
[
266
266
],
],
"gtk"
:
[
65365
,
65434
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -2949,6 +3450,10 @@
...
@@ -2949,6 +3450,10 @@
"glfw"
:
[
"glfw"
:
[
"DELETE"
"DELETE"
],
],
"gtk"
:
[
"Delete"
,
"KP_Delete"
],
"windows"
:
[
"windows"
:
[
"DELETE"
"DELETE"
]
]
...
@@ -2970,6 +3475,10 @@
...
@@ -2970,6 +3475,10 @@
"glfw"
:
[
"glfw"
:
[
261
261
],
],
"gtk"
:
[
65535
,
65439
],
"windows"
:
[
"windows"
:
[
46
46
]
]
...
@@ -2986,6 +3495,10 @@
...
@@ -2986,6 +3495,10 @@
"glfw"
:
[
"glfw"
:
[
"END"
"END"
],
],
"gtk"
:
[
"End"
,
"KP_End"
],
"windows"
:
[
"windows"
:
[
"END"
"END"
]
]
...
@@ -3007,6 +3520,10 @@
...
@@ -3007,6 +3520,10 @@
"glfw"
:
[
"glfw"
:
[
269
269
],
],
"gtk"
:
[
65367
,
65436
],
"windows"
:
[
"windows"
:
[
35
35
]
]
...
@@ -3023,6 +3540,10 @@
...
@@ -3023,6 +3540,10 @@
"glfw"
:
[
"glfw"
:
[
"PAGE_DOWN"
"PAGE_DOWN"
],
],
"gtk"
:
[
"Page_Down"
,
"KP_Page_Down"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -3043,6 +3564,10 @@
...
@@ -3043,6 +3564,10 @@
"glfw"
:
[
"glfw"
:
[
267
267
],
],
"gtk"
:
[
65366
,
65435
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -3057,6 +3582,10 @@
...
@@ -3057,6 +3582,10 @@
"glfw"
:
[
"glfw"
:
[
"RIGHT"
"RIGHT"
],
],
"gtk"
:
[
"Right"
,
"KP_Right"
],
"windows"
:
[
"windows"
:
[
"RIGHT"
"RIGHT"
]
]
...
@@ -3078,6 +3607,10 @@
...
@@ -3078,6 +3607,10 @@
"glfw"
:
[
"glfw"
:
[
262
262
],
],
"gtk"
:
[
65363
,
65432
],
"windows"
:
[
"windows"
:
[
39
39
]
]
...
@@ -3094,6 +3627,10 @@
...
@@ -3094,6 +3627,10 @@
"glfw"
:
[
"glfw"
:
[
"LEFT"
"LEFT"
],
],
"gtk"
:
[
"Left"
,
"KP_Left"
],
"windows"
:
[
"windows"
:
[
"LEFT"
"LEFT"
]
]
...
@@ -3115,6 +3652,10 @@
...
@@ -3115,6 +3652,10 @@
"glfw"
:
[
"glfw"
:
[
263
263
],
],
"gtk"
:
[
65361
,
65430
],
"windows"
:
[
"windows"
:
[
37
37
]
]
...
@@ -3131,6 +3672,10 @@
...
@@ -3131,6 +3672,10 @@
"glfw"
:
[
"glfw"
:
[
"DOWN"
"DOWN"
],
],
"gtk"
:
[
"Down"
,
"KP_Down"
],
"windows"
:
[
"windows"
:
[
"DOWN"
"DOWN"
]
]
...
@@ -3152,6 +3697,10 @@
...
@@ -3152,6 +3697,10 @@
"glfw"
:
[
"glfw"
:
[
264
264
],
],
"gtk"
:
[
65364
,
65433
],
"windows"
:
[
"windows"
:
[
40
40
]
]
...
@@ -3168,6 +3717,10 @@
...
@@ -3168,6 +3717,10 @@
"glfw"
:
[
"glfw"
:
[
"UP"
"UP"
],
],
"gtk"
:
[
"Up"
,
"KP_Up"
],
"windows"
:
[
"windows"
:
[
"UP"
"UP"
]
]
...
@@ -3189,6 +3742,10 @@
...
@@ -3189,6 +3742,10 @@
"glfw"
:
[
"glfw"
:
[
265
265
],
],
"gtk"
:
[
65362
,
65431
],
"windows"
:
[
"windows"
:
[
38
38
]
]
...
@@ -3205,6 +3762,9 @@
...
@@ -3205,6 +3762,9 @@
"glfw"
:
[
"glfw"
:
[
"NUM_LOCK"
"NUM_LOCK"
],
],
"gtk"
:
[
"Num_Lock"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -3224,6 +3784,9 @@
...
@@ -3224,6 +3784,9 @@
"glfw"
:
[
"glfw"
:
[
282
282
],
],
"gtk"
:
[
65407
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -3238,6 +3801,9 @@
...
@@ -3238,6 +3801,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_DIVIDE"
"KP_DIVIDE"
],
],
"gtk"
:
[
"KP_Divide"
],
"windows"
:
[
"windows"
:
[
"DIVIDE"
"DIVIDE"
]
]
...
@@ -3259,6 +3825,9 @@
...
@@ -3259,6 +3825,9 @@
"glfw"
:
[
"glfw"
:
[
331
331
],
],
"gtk"
:
[
65455
],
"windows"
:
[
"windows"
:
[
111
111
]
]
...
@@ -3275,6 +3844,9 @@
...
@@ -3275,6 +3844,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_MULTIPLY"
"KP_MULTIPLY"
],
],
"gtk"
:
[
"KP_Multiply"
],
"windows"
:
[
"windows"
:
[
"MULTIPLY"
"MULTIPLY"
]
]
...
@@ -3296,6 +3868,9 @@
...
@@ -3296,6 +3868,9 @@
"glfw"
:
[
"glfw"
:
[
332
332
],
],
"gtk"
:
[
65450
],
"windows"
:
[
"windows"
:
[
106
106
]
]
...
@@ -3312,6 +3887,9 @@
...
@@ -3312,6 +3887,9 @@
"glfw"
:
[
"glfw"
:
[
"NUMPAD_SUBTRACT"
"NUMPAD_SUBTRACT"
],
],
"gtk"
:
[
"KP_Subtract"
],
"windows"
:
[
"windows"
:
[
"SUBTRACT"
"SUBTRACT"
]
]
...
@@ -3331,6 +3909,9 @@
...
@@ -3331,6 +3909,9 @@
156
156
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65453
],
"windows"
:
[
"windows"
:
[
109
109
]
]
...
@@ -3347,6 +3928,9 @@
...
@@ -3347,6 +3928,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_ADD"
"KP_ADD"
],
],
"gtk"
:
[
"KP_Add"
],
"windows"
:
[
"windows"
:
[
"ADD"
"ADD"
]
]
...
@@ -3368,6 +3952,9 @@
...
@@ -3368,6 +3952,9 @@
"glfw"
:
[
"glfw"
:
[
334
334
],
],
"gtk"
:
[
65451
],
"windows"
:
[
"windows"
:
[
107
107
]
]
...
@@ -3384,6 +3971,9 @@
...
@@ -3384,6 +3971,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_ENTER"
"KP_ENTER"
],
],
"gtk"
:
[
"KP_Enter"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -3403,6 +3993,9 @@
...
@@ -3403,6 +3993,9 @@
"glfw"
:
[
"glfw"
:
[
335
335
],
],
"gtk"
:
[
65421
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -3417,6 +4010,9 @@
...
@@ -3417,6 +4010,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_1"
"KP_1"
],
],
"gtk"
:
[
"KP_1"
],
"windows"
:
[
"windows"
:
[
"NUMPAD1"
"NUMPAD1"
]
]
...
@@ -3438,6 +4034,9 @@
...
@@ -3438,6 +4034,9 @@
"glfw"
:
[
"glfw"
:
[
321
321
],
],
"gtk"
:
[
65457
],
"windows"
:
[
"windows"
:
[
97
97
]
]
...
@@ -3454,6 +4053,9 @@
...
@@ -3454,6 +4053,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_2"
"KP_2"
],
],
"gtk"
:
[
"KP_2"
],
"windows"
:
[
"windows"
:
[
"NUMPAD2"
"NUMPAD2"
]
]
...
@@ -3475,6 +4077,9 @@
...
@@ -3475,6 +4077,9 @@
"glfw"
:
[
"glfw"
:
[
322
322
],
],
"gtk"
:
[
65458
],
"windows"
:
[
"windows"
:
[
98
98
]
]
...
@@ -3491,6 +4096,9 @@
...
@@ -3491,6 +4096,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_3"
"KP_3"
],
],
"gtk"
:
[
"KP_3"
],
"windows"
:
[
"windows"
:
[
"NUMPAD3"
"NUMPAD3"
]
]
...
@@ -3512,6 +4120,9 @@
...
@@ -3512,6 +4120,9 @@
"glfw"
:
[
"glfw"
:
[
323
323
],
],
"gtk"
:
[
65459
],
"windows"
:
[
"windows"
:
[
99
99
]
]
...
@@ -3528,6 +4139,9 @@
...
@@ -3528,6 +4139,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_4"
"KP_4"
],
],
"gtk"
:
[
"KP_4"
],
"windows"
:
[
"windows"
:
[
"NUMPAD4"
"NUMPAD4"
]
]
...
@@ -3549,6 +4163,9 @@
...
@@ -3549,6 +4163,9 @@
"glfw"
:
[
"glfw"
:
[
324
324
],
],
"gtk"
:
[
65460
],
"windows"
:
[
"windows"
:
[
100
100
]
]
...
@@ -3565,6 +4182,9 @@
...
@@ -3565,6 +4182,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_5"
"KP_5"
],
],
"gtk"
:
[
"KP_5"
],
"windows"
:
[
"windows"
:
[
"NUMPAD5"
"NUMPAD5"
]
]
...
@@ -3586,6 +4206,9 @@
...
@@ -3586,6 +4206,9 @@
"glfw"
:
[
"glfw"
:
[
325
325
],
],
"gtk"
:
[
65461
],
"windows"
:
[
"windows"
:
[
101
101
]
]
...
@@ -3602,6 +4225,9 @@
...
@@ -3602,6 +4225,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_6"
"KP_6"
],
],
"gtk"
:
[
"KP_6"
],
"windows"
:
[
"windows"
:
[
"NUMPAD6"
"NUMPAD6"
]
]
...
@@ -3623,6 +4249,9 @@
...
@@ -3623,6 +4249,9 @@
"glfw"
:
[
"glfw"
:
[
326
326
],
],
"gtk"
:
[
65462
],
"windows"
:
[
"windows"
:
[
102
102
]
]
...
@@ -3639,6 +4268,9 @@
...
@@ -3639,6 +4268,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_7"
"KP_7"
],
],
"gtk"
:
[
"KP_7"
],
"windows"
:
[
"windows"
:
[
"NUMPAD7"
"NUMPAD7"
]
]
...
@@ -3660,6 +4292,9 @@
...
@@ -3660,6 +4292,9 @@
"glfw"
:
[
"glfw"
:
[
327
327
],
],
"gtk"
:
[
65463
],
"windows"
:
[
"windows"
:
[
103
103
]
]
...
@@ -3676,6 +4311,9 @@
...
@@ -3676,6 +4311,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_8"
"KP_8"
],
],
"gtk"
:
[
"KP_8"
],
"windows"
:
[
"windows"
:
[
"NUMPAD8"
"NUMPAD8"
]
]
...
@@ -3697,6 +4335,9 @@
...
@@ -3697,6 +4335,9 @@
"glfw"
:
[
"glfw"
:
[
328
328
],
],
"gtk"
:
[
65464
],
"windows"
:
[
"windows"
:
[
104
104
]
]
...
@@ -3713,6 +4354,9 @@
...
@@ -3713,6 +4354,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_9"
"KP_9"
],
],
"gtk"
:
[
"KP_9"
],
"windows"
:
[
"windows"
:
[
"NUMPAD9"
"NUMPAD9"
]
]
...
@@ -3734,6 +4378,9 @@
...
@@ -3734,6 +4378,9 @@
"glfw"
:
[
"glfw"
:
[
329
329
],
],
"gtk"
:
[
65465
],
"windows"
:
[
"windows"
:
[
105
105
]
]
...
@@ -3750,6 +4397,9 @@
...
@@ -3750,6 +4397,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_0"
"KP_0"
],
],
"gtk"
:
[
"KP_0"
],
"windows"
:
[
"windows"
:
[
"NUMPAD0"
"NUMPAD0"
]
]
...
@@ -3771,6 +4421,9 @@
...
@@ -3771,6 +4421,9 @@
"glfw"
:
[
"glfw"
:
[
320
320
],
],
"gtk"
:
[
65456
],
"windows"
:
[
"windows"
:
[
96
96
]
]
...
@@ -3787,6 +4440,9 @@
...
@@ -3787,6 +4440,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_DECIMAL"
"KP_DECIMAL"
],
],
"gtk"
:
[
"KP_Decimal"
],
"windows"
:
[
"windows"
:
[
"DECIMAL"
"DECIMAL"
]
]
...
@@ -3808,6 +4464,9 @@
...
@@ -3808,6 +4464,9 @@
"glfw"
:
[
"glfw"
:
[
330
330
],
],
"gtk"
:
[
65454
],
"windows"
:
[
"windows"
:
[
110
110
]
]
...
@@ -3820,6 +4479,7 @@
...
@@ -3820,6 +4479,7 @@
"english"
:
"Intl Backslash"
,
"english"
:
"Intl Backslash"
,
"chromium"
:
"intlBackslash"
,
"chromium"
:
"intlBackslash"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -3833,6 +4493,7 @@
...
@@ -3833,6 +4493,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -3847,6 +4508,9 @@
...
@@ -3847,6 +4508,9 @@
"glfw"
:
[
"glfw"
:
[
"MENU"
"MENU"
],
],
"gtk"
:
[
"Menu"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -3867,6 +4531,9 @@
...
@@ -3867,6 +4531,9 @@
"glfw"
:
[
"glfw"
:
[
348
348
],
],
"gtk"
:
[
65383
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -3879,6 +4546,9 @@
...
@@ -3879,6 +4546,9 @@
"english"
:
"Power"
,
"english"
:
"Power"
,
"chromium"
:
"power"
,
"chromium"
:
"power"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"PowerOff"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -3897,6 +4567,9 @@
...
@@ -3897,6 +4567,9 @@
26
26
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025066
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -3911,6 +4584,9 @@
...
@@ -3911,6 +4584,9 @@
"glfw"
:
[
"glfw"
:
[
"KP_EQUAL"
"KP_EQUAL"
],
],
"gtk"
:
[
"KP_Equal"
],
"windows"
:
[
"windows"
:
[
"OEM_NEC_EQUAL"
"OEM_NEC_EQUAL"
]
]
...
@@ -3932,6 +4608,9 @@
...
@@ -3932,6 +4608,9 @@
"glfw"
:
[
"glfw"
:
[
336
336
],
],
"gtk"
:
[
65469
],
"windows"
:
[
"windows"
:
[
146
146
]
]
...
@@ -3948,6 +4627,9 @@
...
@@ -3948,6 +4627,9 @@
"glfw"
:
[
"glfw"
:
[
"F13"
"F13"
],
],
"gtk"
:
[
"F13"
],
"windows"
:
[
"windows"
:
[
"F13"
"F13"
]
]
...
@@ -3967,6 +4649,9 @@
...
@@ -3967,6 +4649,9 @@
"glfw"
:
[
"glfw"
:
[
302
302
],
],
"gtk"
:
[
65482
],
"windows"
:
[
"windows"
:
[
124
124
]
]
...
@@ -3983,6 +4668,9 @@
...
@@ -3983,6 +4668,9 @@
"glfw"
:
[
"glfw"
:
[
"F14"
"F14"
],
],
"gtk"
:
[
"F14"
],
"windows"
:
[
"windows"
:
[
"F14"
"F14"
]
]
...
@@ -4002,6 +4690,9 @@
...
@@ -4002,6 +4690,9 @@
"glfw"
:
[
"glfw"
:
[
303
303
],
],
"gtk"
:
[
65483
],
"windows"
:
[
"windows"
:
[
125
125
]
]
...
@@ -4018,6 +4709,9 @@
...
@@ -4018,6 +4709,9 @@
"glfw"
:
[
"glfw"
:
[
"F15"
"F15"
],
],
"gtk"
:
[
"F15"
],
"windows"
:
[
"windows"
:
[
"F15"
"F15"
]
]
...
@@ -4037,6 +4731,9 @@
...
@@ -4037,6 +4731,9 @@
"glfw"
:
[
"glfw"
:
[
304
304
],
],
"gtk"
:
[
65484
],
"windows"
:
[
"windows"
:
[
126
126
]
]
...
@@ -4053,6 +4750,9 @@
...
@@ -4053,6 +4750,9 @@
"glfw"
:
[
"glfw"
:
[
"F16"
"F16"
],
],
"gtk"
:
[
"F16"
],
"windows"
:
[
"windows"
:
[
"F16"
"F16"
]
]
...
@@ -4072,6 +4772,9 @@
...
@@ -4072,6 +4772,9 @@
"glfw"
:
[
"glfw"
:
[
305
305
],
],
"gtk"
:
[
65485
],
"windows"
:
[
"windows"
:
[
127
127
]
]
...
@@ -4088,6 +4791,9 @@
...
@@ -4088,6 +4791,9 @@
"glfw"
:
[
"glfw"
:
[
"F17"
"F17"
],
],
"gtk"
:
[
"F17"
],
"windows"
:
[
"windows"
:
[
"F17"
"F17"
]
]
...
@@ -4107,6 +4813,9 @@
...
@@ -4107,6 +4813,9 @@
"glfw"
:
[
"glfw"
:
[
306
306
],
],
"gtk"
:
[
65486
],
"windows"
:
[
"windows"
:
[
128
128
]
]
...
@@ -4123,6 +4832,9 @@
...
@@ -4123,6 +4832,9 @@
"glfw"
:
[
"glfw"
:
[
"F18"
"F18"
],
],
"gtk"
:
[
"F18"
],
"windows"
:
[
"windows"
:
[
"F18"
"F18"
]
]
...
@@ -4142,6 +4854,9 @@
...
@@ -4142,6 +4854,9 @@
"glfw"
:
[
"glfw"
:
[
307
307
],
],
"gtk"
:
[
65487
],
"windows"
:
[
"windows"
:
[
129
129
]
]
...
@@ -4158,6 +4873,9 @@
...
@@ -4158,6 +4873,9 @@
"glfw"
:
[
"glfw"
:
[
"F19"
"F19"
],
],
"gtk"
:
[
"F19"
],
"windows"
:
[
"windows"
:
[
"F19"
"F19"
]
]
...
@@ -4177,6 +4895,9 @@
...
@@ -4177,6 +4895,9 @@
"glfw"
:
[
"glfw"
:
[
308
308
],
],
"gtk"
:
[
65488
],
"windows"
:
[
"windows"
:
[
130
130
]
]
...
@@ -4193,6 +4914,9 @@
...
@@ -4193,6 +4914,9 @@
"glfw"
:
[
"glfw"
:
[
"F20"
"F20"
],
],
"gtk"
:
[
"F20"
],
"windows"
:
[
"windows"
:
[
"F20"
"F20"
]
]
...
@@ -4212,6 +4936,9 @@
...
@@ -4212,6 +4936,9 @@
"glfw"
:
[
"glfw"
:
[
309
309
],
],
"gtk"
:
[
65489
],
"windows"
:
[
"windows"
:
[
131
131
]
]
...
@@ -4228,6 +4955,9 @@
...
@@ -4228,6 +4955,9 @@
"glfw"
:
[
"glfw"
:
[
"F21"
"F21"
],
],
"gtk"
:
[
"F21"
],
"windows"
:
[
"windows"
:
[
"F21"
"F21"
]
]
...
@@ -4247,6 +4977,9 @@
...
@@ -4247,6 +4977,9 @@
"glfw"
:
[
"glfw"
:
[
310
310
],
],
"gtk"
:
[
65490
],
"windows"
:
[
"windows"
:
[
132
132
]
]
...
@@ -4263,6 +4996,9 @@
...
@@ -4263,6 +4996,9 @@
"glfw"
:
[
"glfw"
:
[
"F22"
"F22"
],
],
"gtk"
:
[
"F22"
],
"windows"
:
[
"windows"
:
[
"F22"
"F22"
]
]
...
@@ -4282,6 +5018,9 @@
...
@@ -4282,6 +5018,9 @@
"glfw"
:
[
"glfw"
:
[
311
311
],
],
"gtk"
:
[
65491
],
"windows"
:
[
"windows"
:
[
133
133
]
]
...
@@ -4298,6 +5037,9 @@
...
@@ -4298,6 +5037,9 @@
"glfw"
:
[
"glfw"
:
[
"F23"
"F23"
],
],
"gtk"
:
[
"F23"
],
"windows"
:
[
"windows"
:
[
"F23"
"F23"
]
]
...
@@ -4317,6 +5059,9 @@
...
@@ -4317,6 +5059,9 @@
"glfw"
:
[
"glfw"
:
[
312
312
],
],
"gtk"
:
[
65492
],
"windows"
:
[
"windows"
:
[
134
134
]
]
...
@@ -4331,6 +5076,9 @@
...
@@ -4331,6 +5076,9 @@
"english"
:
"F24"
,
"english"
:
"F24"
,
"chromium"
:
"f24"
,
"chromium"
:
"f24"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"F24"
],
"windows"
:
[
"windows"
:
[
"F24"
"F24"
]
]
...
@@ -4348,6 +5096,9 @@
...
@@ -4348,6 +5096,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65493
],
"windows"
:
[
"windows"
:
[
135
135
]
]
...
@@ -4362,6 +5113,9 @@
...
@@ -4362,6 +5113,9 @@
"english"
:
"Open"
,
"english"
:
"Open"
,
"chromium"
:
"open"
,
"chromium"
:
"open"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Open"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4377,6 +5131,9 @@
...
@@ -4377,6 +5131,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025131
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4389,6 +5146,9 @@
...
@@ -4389,6 +5146,9 @@
"english"
:
"Help"
,
"english"
:
"Help"
,
"chromium"
:
"help"
,
"chromium"
:
"help"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Help"
],
"windows"
:
[
"windows"
:
[
"HELP"
"HELP"
]
]
...
@@ -4408,6 +5168,9 @@
...
@@ -4408,6 +5168,9 @@
259
259
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65386
],
"windows"
:
[
"windows"
:
[
47
47
]
]
...
@@ -4422,6 +5185,9 @@
...
@@ -4422,6 +5185,9 @@
"english"
:
"Select"
,
"english"
:
"Select"
,
"chromium"
:
"select"
,
"chromium"
:
"select"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Select"
],
"windows"
:
[
"windows"
:
[
"SELECT"
"SELECT"
]
]
...
@@ -4441,6 +5207,9 @@
...
@@ -4441,6 +5207,9 @@
23
23
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65376
],
"windows"
:
[
"windows"
:
[
41
41
]
]
...
@@ -4455,6 +5224,7 @@
...
@@ -4455,6 +5224,7 @@
"english"
:
"Again"
,
"english"
:
"Again"
,
"chromium"
:
"again"
,
"chromium"
:
"again"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4470,6 +5240,7 @@
...
@@ -4470,6 +5240,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4482,6 +5253,9 @@
...
@@ -4482,6 +5253,9 @@
"english"
:
"Undo"
,
"english"
:
"Undo"
,
"chromium"
:
"undo"
,
"chromium"
:
"undo"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Undo"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4497,6 +5271,9 @@
...
@@ -4497,6 +5271,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65381
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4509,6 +5286,7 @@
...
@@ -4509,6 +5286,7 @@
"english"
:
"Cut"
,
"english"
:
"Cut"
,
"chromium"
:
"cut"
,
"chromium"
:
"cut"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4526,6 +5304,7 @@
...
@@ -4526,6 +5304,7 @@
277
277
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4538,6 +5317,10 @@
...
@@ -4538,6 +5317,10 @@
"english"
:
"Copy"
,
"english"
:
"Copy"
,
"chromium"
:
"copy"
,
"chromium"
:
"copy"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Copy"
,
"3270_Copy"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4555,6 +5338,10 @@
...
@@ -4555,6 +5338,10 @@
278
278
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025111
,
64789
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4567,6 +5354,9 @@
...
@@ -4567,6 +5354,9 @@
"english"
:
"Paste"
,
"english"
:
"Paste"
,
"chromium"
:
"paste"
,
"chromium"
:
"paste"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Paste"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4584,6 +5374,9 @@
...
@@ -4584,6 +5374,9 @@
279
279
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025133
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4596,6 +5389,9 @@
...
@@ -4596,6 +5389,9 @@
"english"
:
"Find"
,
"english"
:
"Find"
,
"chromium"
:
"find"
,
"chromium"
:
"find"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Find"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4611,6 +5407,9 @@
...
@@ -4611,6 +5407,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65384
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4623,6 +5422,9 @@
...
@@ -4623,6 +5422,9 @@
"english"
:
"Audio Volume Mute"
,
"english"
:
"Audio Volume Mute"
,
"chromium"
:
"volumeMute"
,
"chromium"
:
"volumeMute"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioMute"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4640,6 +5442,9 @@
...
@@ -4640,6 +5442,9 @@
164
164
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025042
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4652,6 +5457,9 @@
...
@@ -4652,6 +5457,9 @@
"english"
:
"Audio Volume Up"
,
"english"
:
"Audio Volume Up"
,
"chromium"
:
"volumeUp"
,
"chromium"
:
"volumeUp"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioRaiseVolume"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4669,6 +5477,9 @@
...
@@ -4669,6 +5477,9 @@
24
24
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025043
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4681,6 +5492,9 @@
...
@@ -4681,6 +5492,9 @@
"english"
:
"Audio Volume Down"
,
"english"
:
"Audio Volume Down"
,
"chromium"
:
"volumeDown"
,
"chromium"
:
"volumeDown"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioLowerVolume"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4698,6 +5512,9 @@
...
@@ -4698,6 +5512,9 @@
25
25
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025041
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4710,6 +5527,7 @@
...
@@ -4710,6 +5527,7 @@
"english"
:
"Numpad Comma"
,
"english"
:
"Numpad Comma"
,
"chromium"
:
"numpadComma"
,
"chromium"
:
"numpadComma"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4728,6 +5546,7 @@
...
@@ -4728,6 +5546,7 @@
159
159
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4738,6 +5557,7 @@
...
@@ -4738,6 +5557,7 @@
"english"
:
"Intl Ro"
,
"english"
:
"Intl Ro"
,
"chromium"
:
"intlRo"
,
"chromium"
:
"intlRo"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4751,6 +5571,7 @@
...
@@ -4751,6 +5571,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4761,6 +5582,9 @@
...
@@ -4761,6 +5582,9 @@
"english"
:
"Kana Mode"
,
"english"
:
"Kana Mode"
,
"chromium"
:
"kanaMode"
,
"chromium"
:
"kanaMode"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"kana_switch"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4774,6 +5598,9 @@
...
@@ -4774,6 +5598,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65406
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4784,6 +5611,9 @@
...
@@ -4784,6 +5611,9 @@
"english"
:
"Intl Yen"
,
"english"
:
"Intl Yen"
,
"chromium"
:
"intlYen"
,
"chromium"
:
"intlYen"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"yen"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4797,6 +5627,9 @@
...
@@ -4797,6 +5627,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
165
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4809,6 +5642,7 @@
...
@@ -4809,6 +5642,7 @@
"english"
:
"Convert"
,
"english"
:
"Convert"
,
"chromium"
:
"convert"
,
"chromium"
:
"convert"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
[
"windows"
:
[
"CONVERT"
"CONVERT"
]
]
...
@@ -4828,6 +5662,7 @@
...
@@ -4828,6 +5662,7 @@
214
214
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
[
"windows"
:
[
28
28
]
]
...
@@ -4842,6 +5677,7 @@
...
@@ -4842,6 +5677,7 @@
"english"
:
"Non Convert"
,
"english"
:
"Non Convert"
,
"chromium"
:
"nonConvert"
,
"chromium"
:
"nonConvert"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4859,6 +5695,7 @@
...
@@ -4859,6 +5695,7 @@
213
213
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4869,6 +5706,7 @@
...
@@ -4869,6 +5706,7 @@
"english"
:
"Lang 1"
,
"english"
:
"Lang 1"
,
"chromium"
:
"lang1"
,
"chromium"
:
"lang1"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4882,6 +5720,7 @@
...
@@ -4882,6 +5720,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4892,6 +5731,7 @@
...
@@ -4892,6 +5731,7 @@
"english"
:
"Lang 2"
,
"english"
:
"Lang 2"
,
"chromium"
:
"lang2"
,
"chromium"
:
"lang2"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4905,6 +5745,7 @@
...
@@ -4905,6 +5745,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4917,6 +5758,7 @@
...
@@ -4917,6 +5758,7 @@
"english"
:
"Lang 3"
,
"english"
:
"Lang 3"
,
"chromium"
:
"lang3"
,
"chromium"
:
"lang3"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4932,6 +5774,7 @@
...
@@ -4932,6 +5774,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4944,6 +5787,7 @@
...
@@ -4944,6 +5787,7 @@
"english"
:
"Lang 4"
,
"english"
:
"Lang 4"
,
"chromium"
:
"lang4"
,
"chromium"
:
"lang4"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4959,6 +5803,7 @@
...
@@ -4959,6 +5803,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4969,6 +5814,7 @@
...
@@ -4969,6 +5814,7 @@
"english"
:
"Lang 5"
,
"english"
:
"Lang 5"
,
"chromium"
:
"lang5"
,
"chromium"
:
"lang5"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -4982,6 +5828,7 @@
...
@@ -4982,6 +5828,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -4992,6 +5839,7 @@
...
@@ -4992,6 +5839,7 @@
"english"
:
"Abort"
,
"english"
:
"Abort"
,
"chromium"
:
"abort"
,
"chromium"
:
"abort"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5005,6 +5853,7 @@
...
@@ -5005,6 +5853,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5017,6 +5866,7 @@
...
@@ -5017,6 +5866,7 @@
"english"
:
"Props"
,
"english"
:
"Props"
,
"chromium"
:
"props"
,
"chromium"
:
"props"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5032,6 +5882,7 @@
...
@@ -5032,6 +5882,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5044,6 +5895,7 @@
...
@@ -5044,6 +5895,7 @@
"english"
:
"Numpad Paren Left"
,
"english"
:
"Numpad Paren Left"
,
"chromium"
:
"numpadParenLeft"
,
"chromium"
:
"numpadParenLeft"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5061,6 +5913,7 @@
...
@@ -5061,6 +5913,7 @@
162
162
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5073,6 +5926,7 @@
...
@@ -5073,6 +5926,7 @@
"english"
:
"Numpad Paren Right"
,
"english"
:
"Numpad Paren Right"
,
"chromium"
:
"numpadParenRight"
,
"chromium"
:
"numpadParenRight"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5090,6 +5944,7 @@
...
@@ -5090,6 +5944,7 @@
163
163
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5100,6 +5955,7 @@
...
@@ -5100,6 +5955,7 @@
"english"
:
"Numpad Backspace"
,
"english"
:
"Numpad Backspace"
,
"chromium"
:
"numpadBackspace"
,
"chromium"
:
"numpadBackspace"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5113,6 +5969,7 @@
...
@@ -5113,6 +5969,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5123,6 +5980,7 @@
...
@@ -5123,6 +5980,7 @@
"english"
:
"Numpad Memory Store"
,
"english"
:
"Numpad Memory Store"
,
"chromium"
:
"numpadMemoryStore"
,
"chromium"
:
"numpadMemoryStore"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5136,6 +5994,7 @@
...
@@ -5136,6 +5994,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5146,6 +6005,7 @@
...
@@ -5146,6 +6005,7 @@
"english"
:
"Numpad Memory Recall"
,
"english"
:
"Numpad Memory Recall"
,
"chromium"
:
"numpadMemoryRecall"
,
"chromium"
:
"numpadMemoryRecall"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5159,6 +6019,7 @@
...
@@ -5159,6 +6019,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5169,6 +6030,7 @@
...
@@ -5169,6 +6030,7 @@
"english"
:
"Numpad Memory Clear"
,
"english"
:
"Numpad Memory Clear"
,
"chromium"
:
"numpadMemoryClear"
,
"chromium"
:
"numpadMemoryClear"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5182,6 +6044,7 @@
...
@@ -5182,6 +6044,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5192,6 +6055,7 @@
...
@@ -5192,6 +6055,7 @@
"english"
:
"Numpad Memory Add"
,
"english"
:
"Numpad Memory Add"
,
"chromium"
:
"numpadMemoryAdd"
,
"chromium"
:
"numpadMemoryAdd"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5205,6 +6069,7 @@
...
@@ -5205,6 +6069,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5215,6 +6080,7 @@
...
@@ -5215,6 +6080,7 @@
"english"
:
"Numpad Memory Subtract"
,
"english"
:
"Numpad Memory Subtract"
,
"chromium"
:
"numpadMemorySubtract"
,
"chromium"
:
"numpadMemorySubtract"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5228,6 +6094,7 @@
...
@@ -5228,6 +6094,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5238,6 +6105,7 @@
...
@@ -5238,6 +6105,7 @@
"english"
:
"Numpad Sign Change"
,
"english"
:
"Numpad Sign Change"
,
"chromium"
:
"numpadSignChange"
,
"chromium"
:
"numpadSignChange"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5251,6 +6119,7 @@
...
@@ -5251,6 +6119,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5261,6 +6130,7 @@
...
@@ -5261,6 +6130,7 @@
"english"
:
"Numpad Clear"
,
"english"
:
"Numpad Clear"
,
"chromium"
:
"numpadClear"
,
"chromium"
:
"numpadClear"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5274,6 +6144,7 @@
...
@@ -5274,6 +6144,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5284,6 +6155,7 @@
...
@@ -5284,6 +6155,7 @@
"english"
:
"Numpad Clear Entry"
,
"english"
:
"Numpad Clear Entry"
,
"chromium"
:
"numpadClearEntry"
,
"chromium"
:
"numpadClearEntry"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5297,6 +6169,7 @@
...
@@ -5297,6 +6169,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5311,6 +6184,9 @@
...
@@ -5311,6 +6184,9 @@
"glfw"
:
[
"glfw"
:
[
"LEFT_CONTROL"
"LEFT_CONTROL"
],
],
"gtk"
:
[
"Control_L"
],
"windows"
:
[
"windows"
:
[
"LCONTROL"
"LCONTROL"
]
]
...
@@ -5332,6 +6208,9 @@
...
@@ -5332,6 +6208,9 @@
"glfw"
:
[
"glfw"
:
[
341
341
],
],
"gtk"
:
[
65507
],
"windows"
:
[
"windows"
:
[
162
162
]
]
...
@@ -5348,6 +6227,9 @@
...
@@ -5348,6 +6227,9 @@
"glfw"
:
[
"glfw"
:
[
"LEFT_SHIFT"
"LEFT_SHIFT"
],
],
"gtk"
:
[
"Shift_L"
],
"windows"
:
[
"windows"
:
[
"LSHIFT"
"LSHIFT"
]
]
...
@@ -5369,6 +6251,9 @@
...
@@ -5369,6 +6251,9 @@
"glfw"
:
[
"glfw"
:
[
340
340
],
],
"gtk"
:
[
65505
],
"windows"
:
[
"windows"
:
[
160
160
]
]
...
@@ -5385,6 +6270,9 @@
...
@@ -5385,6 +6270,9 @@
"glfw"
:
[
"glfw"
:
[
"LEFT_ALT"
"LEFT_ALT"
],
],
"gtk"
:
[
"Alt_L"
],
"windows"
:
[
"windows"
:
[
"LMENU"
"LMENU"
]
]
...
@@ -5406,6 +6294,9 @@
...
@@ -5406,6 +6294,9 @@
"glfw"
:
[
"glfw"
:
[
342
342
],
],
"gtk"
:
[
65513
],
"windows"
:
[
"windows"
:
[
164
164
]
]
...
@@ -5422,6 +6313,9 @@
...
@@ -5422,6 +6313,9 @@
"glfw"
:
[
"glfw"
:
[
"LEFT_SUPER"
"LEFT_SUPER"
],
],
"gtk"
:
[
"Meta_L"
],
"windows"
:
[
"windows"
:
[
"LWIN"
"LWIN"
]
]
...
@@ -5443,6 +6337,9 @@
...
@@ -5443,6 +6337,9 @@
"glfw"
:
[
"glfw"
:
[
343
343
],
],
"gtk"
:
[
65511
],
"windows"
:
[
"windows"
:
[
91
91
]
]
...
@@ -5459,6 +6356,9 @@
...
@@ -5459,6 +6356,9 @@
"glfw"
:
[
"glfw"
:
[
"RIGHT_CONTROL"
"RIGHT_CONTROL"
],
],
"gtk"
:
[
"Control_R"
],
"windows"
:
[
"windows"
:
[
"RCONTROL"
"RCONTROL"
]
]
...
@@ -5480,6 +6380,9 @@
...
@@ -5480,6 +6380,9 @@
"glfw"
:
[
"glfw"
:
[
345
345
],
],
"gtk"
:
[
65508
],
"windows"
:
[
"windows"
:
[
163
163
]
]
...
@@ -5496,6 +6399,9 @@
...
@@ -5496,6 +6399,9 @@
"glfw"
:
[
"glfw"
:
[
"RIGHT_SHIFT"
"RIGHT_SHIFT"
],
],
"gtk"
:
[
"Shift_R"
],
"windows"
:
[
"windows"
:
[
"RSHIFT"
"RSHIFT"
]
]
...
@@ -5517,6 +6423,9 @@
...
@@ -5517,6 +6423,9 @@
"glfw"
:
[
"glfw"
:
[
344
344
],
],
"gtk"
:
[
65506
],
"windows"
:
[
"windows"
:
[
161
161
]
]
...
@@ -5533,6 +6442,9 @@
...
@@ -5533,6 +6442,9 @@
"glfw"
:
[
"glfw"
:
[
"RIGHT_ALT"
"RIGHT_ALT"
],
],
"gtk"
:
[
"Alt_R"
],
"windows"
:
[
"windows"
:
[
"RMENU"
"RMENU"
]
]
...
@@ -5554,6 +6466,9 @@
...
@@ -5554,6 +6466,9 @@
"glfw"
:
[
"glfw"
:
[
346
346
],
],
"gtk"
:
[
65514
],
"windows"
:
[
"windows"
:
[
165
165
]
]
...
@@ -5570,6 +6485,9 @@
...
@@ -5570,6 +6485,9 @@
"glfw"
:
[
"glfw"
:
[
"RIGHT_SUPER"
"RIGHT_SUPER"
],
],
"gtk"
:
[
"Meta_R"
],
"windows"
:
[
"windows"
:
[
"RWIN"
"RWIN"
]
]
...
@@ -5591,6 +6509,9 @@
...
@@ -5591,6 +6509,9 @@
"glfw"
:
[
"glfw"
:
[
347
347
],
],
"gtk"
:
[
65512
],
"windows"
:
[
"windows"
:
[
92
92
]
]
...
@@ -5605,6 +6526,7 @@
...
@@ -5605,6 +6526,7 @@
"english"
:
"Info"
,
"english"
:
"Info"
,
"chromium"
:
"info"
,
"chromium"
:
"info"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5622,6 +6544,7 @@
...
@@ -5622,6 +6544,7 @@
165
165
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5634,6 +6557,7 @@
...
@@ -5634,6 +6557,7 @@
"english"
:
"Closed Caption Toggle"
,
"english"
:
"Closed Caption Toggle"
,
"chromium"
:
"closedCaptionToggle"
,
"chromium"
:
"closedCaptionToggle"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5649,6 +6573,7 @@
...
@@ -5649,6 +6573,7 @@
175
175
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5661,6 +6586,9 @@
...
@@ -5661,6 +6586,9 @@
"english"
:
"Brightness Up"
,
"english"
:
"Brightness Up"
,
"chromium"
:
"brightnessUp"
,
"chromium"
:
"brightnessUp"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"MonBrightnessUp"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5678,6 +6606,9 @@
...
@@ -5678,6 +6606,9 @@
221
221
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025026
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5690,6 +6621,9 @@
...
@@ -5690,6 +6621,9 @@
"english"
:
"Brightness Down"
,
"english"
:
"Brightness Down"
,
"chromium"
:
"brightnessDown"
,
"chromium"
:
"brightnessDown"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"MonBrightnessDown"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5707,6 +6641,9 @@
...
@@ -5707,6 +6641,9 @@
220
220
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025027
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5717,6 +6654,7 @@
...
@@ -5717,6 +6654,7 @@
"english"
:
"Brightness Toggle"
,
"english"
:
"Brightness Toggle"
,
"chromium"
:
"brightnessToggle"
,
"chromium"
:
"brightnessToggle"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5730,6 +6668,7 @@
...
@@ -5730,6 +6668,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5740,6 +6679,7 @@
...
@@ -5740,6 +6679,7 @@
"english"
:
"Brightness Minimum"
,
"english"
:
"Brightness Minimum"
,
"chromium"
:
"brightnessMinimum"
,
"chromium"
:
"brightnessMinimum"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5753,6 +6693,7 @@
...
@@ -5753,6 +6693,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5763,6 +6704,7 @@
...
@@ -5763,6 +6704,7 @@
"english"
:
"Brightness Maximum"
,
"english"
:
"Brightness Maximum"
,
"chromium"
:
"brightnessMaximum"
,
"chromium"
:
"brightnessMaximum"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5776,6 +6718,7 @@
...
@@ -5776,6 +6718,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5786,6 +6729,7 @@
...
@@ -5786,6 +6729,7 @@
"english"
:
"Brightness Auto"
,
"english"
:
"Brightness Auto"
,
"chromium"
:
"brightnessAuto"
,
"chromium"
:
"brightnessAuto"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5799,6 +6743,65 @@
...
@@ -5799,6 +6743,65 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
}
},
"kbdIllumUp"
:
{
"names"
:
{
"domkey"
:
null
,
"android"
:
null
,
"english"
:
"Kbd Illum Up"
,
"chromium"
:
"kbdIllumUp"
,
"glfw"
:
null
,
"gtk"
:
[
"KbdBrightnessUp"
],
"windows"
:
null
},
"scanCodes"
:
{
"android"
:
null
,
"usb"
:
786553
,
"linux"
:
230
,
"xkb"
:
238
,
"windows"
:
null
,
"macos"
:
null
},
"keyCodes"
:
{
"android"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025029
],
"windows"
:
null
}
},
"kbdIllumDown"
:
{
"names"
:
{
"domkey"
:
null
,
"android"
:
null
,
"english"
:
"Kbd Illum Down"
,
"chromium"
:
"kbdIllumDown"
,
"glfw"
:
null
,
"gtk"
:
[
"KbdBrightnessDown"
],
"windows"
:
null
},
"scanCodes"
:
{
"android"
:
null
,
"usb"
:
786554
,
"linux"
:
229
,
"xkb"
:
237
,
"windows"
:
null
,
"macos"
:
null
},
"keyCodes"
:
{
"android"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025030
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5811,6 +6814,7 @@
...
@@ -5811,6 +6814,7 @@
"english"
:
"Media Last"
,
"english"
:
"Media Last"
,
"chromium"
:
"mediaLast"
,
"chromium"
:
"mediaLast"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5826,6 +6830,7 @@
...
@@ -5826,6 +6830,7 @@
229
229
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5836,6 +6841,9 @@
...
@@ -5836,6 +6841,9 @@
"english"
:
"Launch Phone"
,
"english"
:
"Launch Phone"
,
"chromium"
:
"launchPhone"
,
"chromium"
:
"launchPhone"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Phone"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5849,6 +6857,9 @@
...
@@ -5849,6 +6857,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025134
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5859,6 +6870,7 @@
...
@@ -5859,6 +6870,7 @@
"english"
:
"Program Guide"
,
"english"
:
"Program Guide"
,
"chromium"
:
"programGuide"
,
"chromium"
:
"programGuide"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5872,6 +6884,7 @@
...
@@ -5872,6 +6884,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5884,6 +6897,7 @@
...
@@ -5884,6 +6897,7 @@
"english"
:
"Exit"
,
"english"
:
"Exit"
,
"chromium"
:
"exit"
,
"chromium"
:
"exit"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5899,6 +6913,7 @@
...
@@ -5899,6 +6913,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5911,6 +6926,7 @@
...
@@ -5911,6 +6926,7 @@
"english"
:
"Channel Up"
,
"english"
:
"Channel Up"
,
"chromium"
:
"channelUp"
,
"chromium"
:
"channelUp"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5928,6 +6944,7 @@
...
@@ -5928,6 +6944,7 @@
166
166
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5940,6 +6957,7 @@
...
@@ -5940,6 +6957,7 @@
"english"
:
"Channel Down"
,
"english"
:
"Channel Down"
,
"chromium"
:
"channelDown"
,
"chromium"
:
"channelDown"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5957,6 +6975,7 @@
...
@@ -5957,6 +6975,7 @@
167
167
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5969,6 +6988,10 @@
...
@@ -5969,6 +6988,10 @@
"english"
:
"Media Play"
,
"english"
:
"Media Play"
,
"chromium"
:
"mediaPlay"
,
"chromium"
:
"mediaPlay"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioPlay"
,
"3270_Play"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -5987,6 +7010,10 @@
...
@@ -5987,6 +7010,10 @@
126
126
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025044
,
64790
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -5999,6 +7026,9 @@
...
@@ -5999,6 +7026,9 @@
"english"
:
"Media Pause"
,
"english"
:
"Media Pause"
,
"chromium"
:
"mediaPause"
,
"chromium"
:
"mediaPause"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioPause"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6016,6 +7046,9 @@
...
@@ -6016,6 +7046,9 @@
127
127
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025073
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6028,6 +7061,9 @@
...
@@ -6028,6 +7061,9 @@
"english"
:
"Media Record"
,
"english"
:
"Media Record"
,
"chromium"
:
"mediaRecord"
,
"chromium"
:
"mediaRecord"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioRecord"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6045,6 +7081,9 @@
...
@@ -6045,6 +7081,9 @@
130
130
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025052
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6057,6 +7096,9 @@
...
@@ -6057,6 +7096,9 @@
"english"
:
"Media Fast Forward"
,
"english"
:
"Media Fast Forward"
,
"chromium"
:
"mediaFastForward"
,
"chromium"
:
"mediaFastForward"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioForward"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6074,6 +7116,9 @@
...
@@ -6074,6 +7116,9 @@
90
90
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025175
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6086,6 +7131,9 @@
...
@@ -6086,6 +7131,9 @@
"english"
:
"Media Rewind"
,
"english"
:
"Media Rewind"
,
"chromium"
:
"mediaRewind"
,
"chromium"
:
"mediaRewind"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioRewind"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6103,6 +7151,9 @@
...
@@ -6103,6 +7151,9 @@
89
89
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025086
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6115,6 +7166,9 @@
...
@@ -6115,6 +7166,9 @@
"english"
:
"Media Track Next"
,
"english"
:
"Media Track Next"
,
"chromium"
:
"mediaTrackNext"
,
"chromium"
:
"mediaTrackNext"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioNext"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6132,6 +7186,9 @@
...
@@ -6132,6 +7186,9 @@
87
87
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025047
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6144,6 +7201,9 @@
...
@@ -6144,6 +7201,9 @@
"english"
:
"Media Track Previous"
,
"english"
:
"Media Track Previous"
,
"chromium"
:
"mediaTrackPrevious"
,
"chromium"
:
"mediaTrackPrevious"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioPrev"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6161,6 +7221,9 @@
...
@@ -6161,6 +7221,9 @@
88
88
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025046
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6173,6 +7236,9 @@
...
@@ -6173,6 +7236,9 @@
"english"
:
"Media Stop"
,
"english"
:
"Media Stop"
,
"chromium"
:
"mediaStop"
,
"chromium"
:
"mediaStop"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"AudioStop"
],
"windows"
:
[
"windows"
:
[
"MEDIA_STOP"
"MEDIA_STOP"
]
]
...
@@ -6193,6 +7259,9 @@
...
@@ -6193,6 +7259,9 @@
86
86
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025045
],
"windows"
:
[
"windows"
:
[
178
178
]
]
...
@@ -6207,6 +7276,9 @@
...
@@ -6207,6 +7276,9 @@
"english"
:
"Eject"
,
"english"
:
"Eject"
,
"chromium"
:
"eject"
,
"chromium"
:
"eject"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Eject"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6225,6 +7297,9 @@
...
@@ -6225,6 +7297,9 @@
129
129
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025068
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6237,6 +7312,7 @@
...
@@ -6237,6 +7312,7 @@
"english"
:
"Media Play Pause"
,
"english"
:
"Media Play Pause"
,
"chromium"
:
"mediaPlayPause"
,
"chromium"
:
"mediaPlayPause"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
[
"windows"
:
[
"MEDIA_PLAY_PAUSE"
"MEDIA_PLAY_PAUSE"
]
]
...
@@ -6256,6 +7332,7 @@
...
@@ -6256,6 +7332,7 @@
85
85
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
[
"windows"
:
[
179
179
]
]
...
@@ -6268,6 +7345,7 @@
...
@@ -6268,6 +7345,7 @@
"english"
:
"Speech Input Toggle"
,
"english"
:
"Speech Input Toggle"
,
"chromium"
:
"speechInputToggle"
,
"chromium"
:
"speechInputToggle"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6281,6 +7359,7 @@
...
@@ -6281,6 +7359,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6293,6 +7372,7 @@
...
@@ -6293,6 +7372,7 @@
"english"
:
"Bass Boost"
,
"english"
:
"Bass Boost"
,
"chromium"
:
"bassBoost"
,
"chromium"
:
"bassBoost"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6308,6 +7388,7 @@
...
@@ -6308,6 +7388,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6318,6 +7399,7 @@
...
@@ -6318,6 +7399,7 @@
"english"
:
"Media Select"
,
"english"
:
"Media Select"
,
"chromium"
:
"mediaSelect"
,
"chromium"
:
"mediaSelect"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6331,6 +7413,7 @@
...
@@ -6331,6 +7413,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6341,6 +7424,7 @@
...
@@ -6341,6 +7424,7 @@
"english"
:
"Launch Word Processor"
,
"english"
:
"Launch Word Processor"
,
"chromium"
:
"launchWordProcessor"
,
"chromium"
:
"launchWordProcessor"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6354,6 +7438,7 @@
...
@@ -6354,6 +7438,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6364,6 +7449,7 @@
...
@@ -6364,6 +7449,7 @@
"english"
:
"Launch Spreadsheet"
,
"english"
:
"Launch Spreadsheet"
,
"chromium"
:
"launchSpreadsheet"
,
"chromium"
:
"launchSpreadsheet"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6377,6 +7463,7 @@
...
@@ -6377,6 +7463,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6389,6 +7476,9 @@
...
@@ -6389,6 +7476,9 @@
"english"
:
"Launch Mail"
,
"english"
:
"Launch Mail"
,
"chromium"
:
"launchMail"
,
"chromium"
:
"launchMail"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Mail"
],
"windows"
:
[
"windows"
:
[
"LAUNCH_MAIL"
"LAUNCH_MAIL"
]
]
...
@@ -6409,6 +7499,9 @@
...
@@ -6409,6 +7499,9 @@
65
65
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025049
],
"windows"
:
[
"windows"
:
[
180
180
]
]
...
@@ -6423,6 +7516,7 @@
...
@@ -6423,6 +7516,7 @@
"english"
:
"Launch Contacts"
,
"english"
:
"Launch Contacts"
,
"chromium"
:
"launchContacts"
,
"chromium"
:
"launchContacts"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6440,6 +7534,7 @@
...
@@ -6440,6 +7534,7 @@
207
207
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6452,6 +7547,9 @@
...
@@ -6452,6 +7547,9 @@
"english"
:
"Launch Calendar"
,
"english"
:
"Launch Calendar"
,
"chromium"
:
"launchCalendar"
,
"chromium"
:
"launchCalendar"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Calendar"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6469,6 +7567,9 @@
...
@@ -6469,6 +7567,9 @@
208
208
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025056
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6479,6 +7580,7 @@
...
@@ -6479,6 +7580,7 @@
"english"
:
"Launch App2"
,
"english"
:
"Launch App2"
,
"chromium"
:
"launchApp2"
,
"chromium"
:
"launchApp2"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
[
"windows"
:
[
"LAUNCH_APP2"
"LAUNCH_APP2"
]
]
...
@@ -6494,6 +7596,7 @@
...
@@ -6494,6 +7596,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
[
"windows"
:
[
183
183
]
]
...
@@ -6506,6 +7609,7 @@
...
@@ -6506,6 +7609,7 @@
"english"
:
"Launch App1"
,
"english"
:
"Launch App1"
,
"chromium"
:
"launchApp1"
,
"chromium"
:
"launchApp1"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
[
"windows"
:
[
"LAUNCH_APP1"
"LAUNCH_APP1"
]
]
...
@@ -6521,6 +7625,7 @@
...
@@ -6521,6 +7625,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
[
"windows"
:
[
182
182
]
]
...
@@ -6533,6 +7638,9 @@
...
@@ -6533,6 +7638,9 @@
"english"
:
"Launch Internet Browser"
,
"english"
:
"Launch Internet Browser"
,
"chromium"
:
"launchInternetBrowser"
,
"chromium"
:
"launchInternetBrowser"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"WWW"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6546,6 +7654,9 @@
...
@@ -6546,6 +7654,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025070
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6556,6 +7667,9 @@
...
@@ -6556,6 +7667,9 @@
"english"
:
"Log Off"
,
"english"
:
"Log Off"
,
"chromium"
:
"logOff"
,
"chromium"
:
"logOff"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"LogOff"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6569,6 +7683,9 @@
...
@@ -6569,6 +7683,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025121
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6579,6 +7696,7 @@
...
@@ -6579,6 +7696,7 @@
"english"
:
"Lock Screen"
,
"english"
:
"Lock Screen"
,
"chromium"
:
"lockScreen"
,
"chromium"
:
"lockScreen"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6592,6 +7710,7 @@
...
@@ -6592,6 +7710,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6602,6 +7721,7 @@
...
@@ -6602,6 +7721,7 @@
"english"
:
"Launch Control Panel"
,
"english"
:
"Launch Control Panel"
,
"chromium"
:
"launchControlPanel"
,
"chromium"
:
"launchControlPanel"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6615,6 +7735,7 @@
...
@@ -6615,6 +7735,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6625,6 +7746,7 @@
...
@@ -6625,6 +7746,7 @@
"english"
:
"Select Task"
,
"english"
:
"Select Task"
,
"chromium"
:
"selectTask"
,
"chromium"
:
"selectTask"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6638,6 +7760,7 @@
...
@@ -6638,6 +7760,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6648,6 +7771,9 @@
...
@@ -6648,6 +7771,9 @@
"english"
:
"Launch Documents"
,
"english"
:
"Launch Documents"
,
"chromium"
:
"launchDocuments"
,
"chromium"
:
"launchDocuments"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Document"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6661,6 +7787,7 @@
...
@@ -6661,6 +7787,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6671,6 +7798,9 @@
...
@@ -6671,6 +7798,9 @@
"english"
:
"Spell Check"
,
"english"
:
"Spell Check"
,
"chromium"
:
"spellCheck"
,
"chromium"
:
"spellCheck"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Spell"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6684,6 +7814,9 @@
...
@@ -6684,6 +7814,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025148
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6694,6 +7827,7 @@
...
@@ -6694,6 +7827,7 @@
"english"
:
"Launch Keyboard Layout"
,
"english"
:
"Launch Keyboard Layout"
,
"chromium"
:
"launchKeyboardLayout"
,
"chromium"
:
"launchKeyboardLayout"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6707,6 +7841,7 @@
...
@@ -6707,6 +7841,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6717,6 +7852,9 @@
...
@@ -6717,6 +7852,9 @@
"english"
:
"Launch Screen Saver"
,
"english"
:
"Launch Screen Saver"
,
"chromium"
:
"launchScreenSaver"
,
"chromium"
:
"launchScreenSaver"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"ScreenSaver"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6730,6 +7868,9 @@
...
@@ -6730,6 +7868,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025069
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6742,6 +7883,7 @@
...
@@ -6742,6 +7883,7 @@
"english"
:
"Launch Assistant"
,
"english"
:
"Launch Assistant"
,
"chromium"
:
"launchAssistant"
,
"chromium"
:
"launchAssistant"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6757,6 +7899,7 @@
...
@@ -6757,6 +7899,7 @@
219
219
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6767,6 +7910,9 @@
...
@@ -6767,6 +7910,9 @@
"english"
:
"Launch Audio Browser"
,
"english"
:
"Launch Audio Browser"
,
"chromium"
:
"launchAudioBrowser"
,
"chromium"
:
"launchAudioBrowser"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Music"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6780,6 +7926,9 @@
...
@@ -6780,6 +7926,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025170
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6792,6 +7941,9 @@
...
@@ -6792,6 +7941,9 @@
"english"
:
"New Key"
,
"english"
:
"New Key"
,
"chromium"
:
"new"
,
"chromium"
:
"new"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"New"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6807,6 +7959,9 @@
...
@@ -6807,6 +7959,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025128
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6820,6 +7975,9 @@
...
@@ -6820,6 +7975,9 @@
"english"
:
"Close"
,
"english"
:
"Close"
,
"chromium"
:
"close"
,
"chromium"
:
"close"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Close"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6838,6 +7996,9 @@
...
@@ -6838,6 +7996,9 @@
128
128
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025110
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6848,6 +8009,9 @@
...
@@ -6848,6 +8009,9 @@
"english"
:
"Save"
,
"english"
:
"Save"
,
"chromium"
:
"save"
,
"chromium"
:
"save"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Save"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -6861,6 +8025,9 @@
...
@@ -6861,6 +8025,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025143
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -6873,6 +8040,9 @@
...
@@ -6873,6 +8040,9 @@
"english"
:
"Print"
,
"english"
:
"Print"
,
"chromium"
:
"print"
,
"chromium"
:
"print"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Print"
],
"windows"
:
[
"windows"
:
[
"PRINT"
"PRINT"
]
]
...
@@ -6890,6 +8060,9 @@
...
@@ -6890,6 +8060,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65377
],
"windows"
:
[
"windows"
:
[
42
42
]
]
...
@@ -6904,6 +8077,9 @@
...
@@ -6904,6 +8077,9 @@
"english"
:
"Browser Search"
,
"english"
:
"Browser Search"
,
"chromium"
:
"browserSearch"
,
"chromium"
:
"browserSearch"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Search"
],
"windows"
:
[
"windows"
:
[
"BROWSER_SEARCH"
"BROWSER_SEARCH"
]
]
...
@@ -6923,6 +8099,9 @@
...
@@ -6923,6 +8099,9 @@
84
84
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025051
],
"windows"
:
[
"windows"
:
[
170
170
]
]
...
@@ -6935,6 +8114,9 @@
...
@@ -6935,6 +8114,9 @@
"english"
:
"Browser Home"
,
"english"
:
"Browser Home"
,
"chromium"
:
"browserHome"
,
"chromium"
:
"browserHome"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"HomePage"
],
"windows"
:
[
"windows"
:
[
"BROWSER_HOME"
"BROWSER_HOME"
]
]
...
@@ -6950,6 +8132,9 @@
...
@@ -6950,6 +8132,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025048
],
"windows"
:
[
"windows"
:
[
172
172
]
]
...
@@ -6962,6 +8147,9 @@
...
@@ -6962,6 +8147,9 @@
"english"
:
"Browser Back"
,
"english"
:
"Browser Back"
,
"chromium"
:
"browserBack"
,
"chromium"
:
"browserBack"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Back"
],
"windows"
:
[
"windows"
:
[
"BROWSER_BACK"
"BROWSER_BACK"
]
]
...
@@ -6977,6 +8165,9 @@
...
@@ -6977,6 +8165,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025062
],
"windows"
:
[
"windows"
:
[
166
166
]
]
...
@@ -6991,6 +8182,9 @@
...
@@ -6991,6 +8182,9 @@
"english"
:
"Browser Forward"
,
"english"
:
"Browser Forward"
,
"chromium"
:
"browserForward"
,
"chromium"
:
"browserForward"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Forward"
],
"windows"
:
[
"windows"
:
[
"BROWSER_FORWARD"
"BROWSER_FORWARD"
]
]
...
@@ -7010,6 +8204,9 @@
...
@@ -7010,6 +8204,9 @@
125
125
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025063
],
"windows"
:
[
"windows"
:
[
167
167
]
]
...
@@ -7022,6 +8219,9 @@
...
@@ -7022,6 +8219,9 @@
"english"
:
"Browser Stop"
,
"english"
:
"Browser Stop"
,
"chromium"
:
"browserStop"
,
"chromium"
:
"browserStop"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Stop"
],
"windows"
:
[
"windows"
:
[
"BROWSER_STOP"
"BROWSER_STOP"
]
]
...
@@ -7037,6 +8237,9 @@
...
@@ -7037,6 +8237,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025064
],
"windows"
:
[
"windows"
:
[
169
169
]
]
...
@@ -7049,6 +8252,9 @@
...
@@ -7049,6 +8252,9 @@
"english"
:
"Browser Refresh"
,
"english"
:
"Browser Refresh"
,
"chromium"
:
"browserRefresh"
,
"chromium"
:
"browserRefresh"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Refresh"
],
"windows"
:
[
"windows"
:
[
"BROWSER_REFRESH"
"BROWSER_REFRESH"
]
]
...
@@ -7064,6 +8270,9 @@
...
@@ -7064,6 +8270,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025065
],
"windows"
:
[
"windows"
:
[
168
168
]
]
...
@@ -7078,6 +8287,9 @@
...
@@ -7078,6 +8287,9 @@
"english"
:
"Browser Favorites"
,
"english"
:
"Browser Favorites"
,
"chromium"
:
"browserFavorites"
,
"chromium"
:
"browserFavorites"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Favorites"
],
"windows"
:
[
"windows"
:
[
"BROWSER_FAVORITES"
"BROWSER_FAVORITES"
]
]
...
@@ -7097,6 +8309,9 @@
...
@@ -7097,6 +8309,9 @@
174
174
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025072
],
"windows"
:
[
"windows"
:
[
171
171
]
]
...
@@ -7111,6 +8326,9 @@
...
@@ -7111,6 +8326,9 @@
"english"
:
"Zoom In"
,
"english"
:
"Zoom In"
,
"chromium"
:
"zoomIn"
,
"chromium"
:
"zoomIn"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"ZoomIn"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7126,6 +8344,9 @@
...
@@ -7126,6 +8344,9 @@
168
168
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025163
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7138,6 +8359,9 @@
...
@@ -7138,6 +8359,9 @@
"english"
:
"Zoom Out"
,
"english"
:
"Zoom Out"
,
"chromium"
:
"zoomOut"
,
"chromium"
:
"zoomOut"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"ZoomOut"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7153,6 +8377,9 @@
...
@@ -7153,6 +8377,9 @@
169
169
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025164
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7165,6 +8392,7 @@
...
@@ -7165,6 +8392,7 @@
"english"
:
"Zoom Toggle"
,
"english"
:
"Zoom Toggle"
,
"chromium"
:
"zoomToggle"
,
"chromium"
:
"zoomToggle"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7180,6 +8408,7 @@
...
@@ -7180,6 +8408,7 @@
255
255
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7192,6 +8421,9 @@
...
@@ -7192,6 +8421,9 @@
"english"
:
"Redo"
,
"english"
:
"Redo"
,
"chromium"
:
"redo"
,
"chromium"
:
"redo"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Redo"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7207,6 +8439,9 @@
...
@@ -7207,6 +8439,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
65382
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7217,6 +8452,9 @@
...
@@ -7217,6 +8452,9 @@
"english"
:
"Mail Reply"
,
"english"
:
"Mail Reply"
,
"chromium"
:
"mailReply"
,
"chromium"
:
"mailReply"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Reply"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7230,6 +8468,9 @@
...
@@ -7230,6 +8468,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025138
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7240,6 +8481,9 @@
...
@@ -7240,6 +8481,9 @@
"english"
:
"Mail Forward"
,
"english"
:
"Mail Forward"
,
"chromium"
:
"mailForward"
,
"chromium"
:
"mailForward"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"MailForward"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7253,6 +8497,9 @@
...
@@ -7253,6 +8497,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025168
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7263,6 +8510,9 @@
...
@@ -7263,6 +8510,9 @@
"english"
:
"Mail Send"
,
"english"
:
"Mail Send"
,
"chromium"
:
"mailSend"
,
"chromium"
:
"mailSend"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
"Send"
],
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7276,6 +8526,9 @@
...
@@ -7276,6 +8526,9 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
[
269025147
],
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7286,6 +8539,7 @@
...
@@ -7286,6 +8539,7 @@
"english"
:
"Keyboard Layout Select"
,
"english"
:
"Keyboard Layout Select"
,
"chromium"
:
"keyboardLayoutSelect"
,
"chromium"
:
"keyboardLayoutSelect"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7299,6 +8553,7 @@
...
@@ -7299,6 +8553,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7309,6 +8564,7 @@
...
@@ -7309,6 +8564,7 @@
"english"
:
"Show All Windows"
,
"english"
:
"Show All Windows"
,
"chromium"
:
"showAllWindows"
,
"chromium"
:
"showAllWindows"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7322,6 +8578,7 @@
...
@@ -7322,6 +8578,7 @@
"keyCodes"
:
{
"keyCodes"
:
{
"android"
:
null
,
"android"
:
null
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7334,6 +8591,7 @@
...
@@ -7334,6 +8591,7 @@
"english"
:
"Game Button 1"
,
"english"
:
"Game Button 1"
,
"chromium"
:
"button1"
,
"chromium"
:
"button1"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7352,6 +8610,7 @@
...
@@ -7352,6 +8610,7 @@
188
188
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7364,6 +8623,7 @@
...
@@ -7364,6 +8623,7 @@
"english"
:
"Game Button 2"
,
"english"
:
"Game Button 2"
,
"chromium"
:
"button2"
,
"chromium"
:
"button2"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7382,6 +8642,7 @@
...
@@ -7382,6 +8642,7 @@
189
189
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7394,6 +8655,7 @@
...
@@ -7394,6 +8655,7 @@
"english"
:
"Game Button 3"
,
"english"
:
"Game Button 3"
,
"chromium"
:
"button3"
,
"chromium"
:
"button3"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7412,6 +8674,7 @@
...
@@ -7412,6 +8674,7 @@
190
190
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7424,6 +8687,7 @@
...
@@ -7424,6 +8687,7 @@
"english"
:
"Game Button 4"
,
"english"
:
"Game Button 4"
,
"chromium"
:
"button4"
,
"chromium"
:
"button4"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7442,6 +8706,7 @@
...
@@ -7442,6 +8706,7 @@
191
191
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7454,6 +8719,7 @@
...
@@ -7454,6 +8719,7 @@
"english"
:
"Game Button 5"
,
"english"
:
"Game Button 5"
,
"chromium"
:
"button5"
,
"chromium"
:
"button5"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7472,6 +8738,7 @@
...
@@ -7472,6 +8738,7 @@
192
192
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7484,6 +8751,7 @@
...
@@ -7484,6 +8751,7 @@
"english"
:
"Game Button 6"
,
"english"
:
"Game Button 6"
,
"chromium"
:
"button6"
,
"chromium"
:
"button6"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7502,6 +8770,7 @@
...
@@ -7502,6 +8770,7 @@
193
193
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7514,6 +8783,7 @@
...
@@ -7514,6 +8783,7 @@
"english"
:
"Game Button 7"
,
"english"
:
"Game Button 7"
,
"chromium"
:
"button7"
,
"chromium"
:
"button7"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7532,6 +8802,7 @@
...
@@ -7532,6 +8802,7 @@
194
194
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7544,6 +8815,7 @@
...
@@ -7544,6 +8815,7 @@
"english"
:
"Game Button 8"
,
"english"
:
"Game Button 8"
,
"chromium"
:
"button8"
,
"chromium"
:
"button8"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7562,6 +8834,7 @@
...
@@ -7562,6 +8834,7 @@
195
195
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7574,6 +8847,7 @@
...
@@ -7574,6 +8847,7 @@
"english"
:
"Game Button 9"
,
"english"
:
"Game Button 9"
,
"chromium"
:
"button9"
,
"chromium"
:
"button9"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7592,6 +8866,7 @@
...
@@ -7592,6 +8866,7 @@
196
196
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7604,6 +8879,7 @@
...
@@ -7604,6 +8879,7 @@
"english"
:
"Game Button 10"
,
"english"
:
"Game Button 10"
,
"chromium"
:
"button10"
,
"chromium"
:
"button10"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7622,6 +8898,7 @@
...
@@ -7622,6 +8898,7 @@
197
197
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7634,6 +8911,7 @@
...
@@ -7634,6 +8911,7 @@
"english"
:
"Game Button 11"
,
"english"
:
"Game Button 11"
,
"chromium"
:
"button11"
,
"chromium"
:
"button11"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7652,6 +8930,7 @@
...
@@ -7652,6 +8930,7 @@
198
198
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7664,6 +8943,7 @@
...
@@ -7664,6 +8943,7 @@
"english"
:
"Game Button 12"
,
"english"
:
"Game Button 12"
,
"chromium"
:
"button12"
,
"chromium"
:
"button12"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7682,6 +8962,7 @@
...
@@ -7682,6 +8962,7 @@
199
199
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7694,6 +8975,7 @@
...
@@ -7694,6 +8975,7 @@
"english"
:
"Game Button 13"
,
"english"
:
"Game Button 13"
,
"chromium"
:
"button13"
,
"chromium"
:
"button13"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7712,6 +8994,7 @@
...
@@ -7712,6 +8994,7 @@
200
200
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7724,6 +9007,7 @@
...
@@ -7724,6 +9007,7 @@
"english"
:
"Game Button 14"
,
"english"
:
"Game Button 14"
,
"chromium"
:
"button14"
,
"chromium"
:
"button14"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7742,6 +9026,7 @@
...
@@ -7742,6 +9026,7 @@
201
201
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7754,6 +9039,7 @@
...
@@ -7754,6 +9039,7 @@
"english"
:
"Game Button 15"
,
"english"
:
"Game Button 15"
,
"chromium"
:
"button15"
,
"chromium"
:
"button15"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7772,6 +9058,7 @@
...
@@ -7772,6 +9058,7 @@
202
202
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7784,6 +9071,7 @@
...
@@ -7784,6 +9071,7 @@
"english"
:
"Game Button 16"
,
"english"
:
"Game Button 16"
,
"chromium"
:
"button16"
,
"chromium"
:
"button16"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7802,6 +9090,7 @@
...
@@ -7802,6 +9090,7 @@
203
203
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7814,6 +9103,7 @@
...
@@ -7814,6 +9103,7 @@
"english"
:
"Game Button A"
,
"english"
:
"Game Button A"
,
"chromium"
:
"buttonA"
,
"chromium"
:
"buttonA"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7831,6 +9121,7 @@
...
@@ -7831,6 +9121,7 @@
96
96
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7843,6 +9134,7 @@
...
@@ -7843,6 +9134,7 @@
"english"
:
"Game Button B"
,
"english"
:
"Game Button B"
,
"chromium"
:
"buttonB"
,
"chromium"
:
"buttonB"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7860,6 +9152,7 @@
...
@@ -7860,6 +9152,7 @@
97
97
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7872,6 +9165,7 @@
...
@@ -7872,6 +9165,7 @@
"english"
:
"Game Button C"
,
"english"
:
"Game Button C"
,
"chromium"
:
"buttonC"
,
"chromium"
:
"buttonC"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7889,6 +9183,7 @@
...
@@ -7889,6 +9183,7 @@
98
98
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7901,6 +9196,7 @@
...
@@ -7901,6 +9196,7 @@
"english"
:
"Game Button Left 1"
,
"english"
:
"Game Button Left 1"
,
"chromium"
:
"buttonL1"
,
"chromium"
:
"buttonL1"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7918,6 +9214,7 @@
...
@@ -7918,6 +9214,7 @@
102
102
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7930,6 +9227,7 @@
...
@@ -7930,6 +9227,7 @@
"english"
:
"Game Button Left 2"
,
"english"
:
"Game Button Left 2"
,
"chromium"
:
"buttonL2"
,
"chromium"
:
"buttonL2"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7947,6 +9245,7 @@
...
@@ -7947,6 +9245,7 @@
104
104
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7959,6 +9258,7 @@
...
@@ -7959,6 +9258,7 @@
"english"
:
"Game Button Mode"
,
"english"
:
"Game Button Mode"
,
"chromium"
:
"buttonMode"
,
"chromium"
:
"buttonMode"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -7976,6 +9276,7 @@
...
@@ -7976,6 +9276,7 @@
110
110
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -7988,6 +9289,7 @@
...
@@ -7988,6 +9289,7 @@
"english"
:
"Game Button Right 1"
,
"english"
:
"Game Button Right 1"
,
"chromium"
:
"buttonR1"
,
"chromium"
:
"buttonR1"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8005,6 +9307,7 @@
...
@@ -8005,6 +9307,7 @@
103
103
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -8017,6 +9320,7 @@
...
@@ -8017,6 +9320,7 @@
"english"
:
"Game Button Right 2"
,
"english"
:
"Game Button Right 2"
,
"chromium"
:
"buttonR2"
,
"chromium"
:
"buttonR2"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8034,6 +9338,7 @@
...
@@ -8034,6 +9338,7 @@
105
105
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -8046,6 +9351,7 @@
...
@@ -8046,6 +9351,7 @@
"english"
:
"Game Button Select"
,
"english"
:
"Game Button Select"
,
"chromium"
:
"buttonSelect"
,
"chromium"
:
"buttonSelect"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8063,6 +9369,7 @@
...
@@ -8063,6 +9369,7 @@
109
109
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -8075,6 +9382,7 @@
...
@@ -8075,6 +9382,7 @@
"english"
:
"Game Button Start"
,
"english"
:
"Game Button Start"
,
"chromium"
:
"buttonStart"
,
"chromium"
:
"buttonStart"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8092,6 +9400,7 @@
...
@@ -8092,6 +9400,7 @@
108
108
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -8104,6 +9413,7 @@
...
@@ -8104,6 +9413,7 @@
"english"
:
"Game Button Thumb Left"
,
"english"
:
"Game Button Thumb Left"
,
"chromium"
:
"buttonThumbl"
,
"chromium"
:
"buttonThumbl"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8121,6 +9431,7 @@
...
@@ -8121,6 +9431,7 @@
106
106
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -8133,6 +9444,7 @@
...
@@ -8133,6 +9444,7 @@
"english"
:
"Game Button Thumb Right"
,
"english"
:
"Game Button Thumb Right"
,
"chromium"
:
"buttonThumbr"
,
"chromium"
:
"buttonThumbr"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8150,6 +9462,7 @@
...
@@ -8150,6 +9462,7 @@
107
107
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -8162,6 +9475,7 @@
...
@@ -8162,6 +9475,7 @@
"english"
:
"Game Button X"
,
"english"
:
"Game Button X"
,
"chromium"
:
"buttonX"
,
"chromium"
:
"buttonX"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8179,6 +9493,7 @@
...
@@ -8179,6 +9493,7 @@
99
99
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -8191,6 +9506,7 @@
...
@@ -8191,6 +9506,7 @@
"english"
:
"Game Button Y"
,
"english"
:
"Game Button Y"
,
"chromium"
:
"buttonY"
,
"chromium"
:
"buttonY"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8208,6 +9524,7 @@
...
@@ -8208,6 +9524,7 @@
100
100
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -8220,6 +9537,7 @@
...
@@ -8220,6 +9537,7 @@
"english"
:
"Game Button Z"
,
"english"
:
"Game Button Z"
,
"chromium"
:
"buttonZ"
,
"chromium"
:
"buttonZ"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8237,6 +9555,7 @@
...
@@ -8237,6 +9555,7 @@
101
101
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
},
},
...
@@ -8249,6 +9568,7 @@
...
@@ -8249,6 +9568,7 @@
"english"
:
"Fn"
,
"english"
:
"Fn"
,
"chromium"
:
"fn"
,
"chromium"
:
"fn"
,
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
},
},
"scanCodes"
:
{
"scanCodes"
:
{
...
@@ -8266,6 +9586,7 @@
...
@@ -8266,6 +9586,7 @@
119
119
],
],
"glfw"
:
null
,
"glfw"
:
null
,
"gtk"
:
null
,
"windows"
:
null
"windows"
:
null
}
}
}
}
...
...
dev/tools/gen_keycodes/data/key_name_to_gtk_name.json
0 → 100644
View file @
8c3b826e
{
"altLeft"
:
[
"Alt_L"
],
"altRight"
:
[
"Alt_R"
],
"arrowDown"
:
[
"Down"
,
"KP_Down"
],
"arrowLeft"
:
[
"Left"
,
"KP_Left"
],
"arrowRight"
:
[
"Right"
,
"KP_Right"
],
"arrowUp"
:
[
"Up"
,
"KP_Up"
],
"audioVolumeDown"
:
[
"AudioLowerVolume"
],
"audioVolumeMute"
:
[
"AudioMute"
],
"audioVolumeUp"
:
[
"AudioRaiseVolume"
],
"backquote"
:
[
"quoteleft"
],
"backslash"
:
[
"backslash"
],
"backspace"
:
[
"BackSpace"
],
"bracketLeft"
:
[
"bracketleft"
],
"bracketRight"
:
[
"bracketright"
],
"brightnessDown"
:
[
"MonBrightnessDown"
],
"brightnessUp"
:
[
"MonBrightnessUp"
],
"browserBack"
:
[
"Back"
],
"browserFavorites"
:
[
"Favorites"
],
"browserFavourites"
:
[
"Favourites"
],
"browserForward"
:
[
"Forward"
],
"browserHome"
:
[
"HomePage"
],
"browserRefresh"
:
[
"Refresh"
],
"browserSearch"
:
[
"Search"
],
"browserStop"
:
[
"Stop"
],
"capsLock"
:
[
"Caps_Lock"
],
"close"
:
[
"Close"
],
"comma"
:
[
"comma"
],
"contextMenu"
:
[
"Menu"
],
"controlLeft"
:
[
"Control_L"
],
"controlRight"
:
[
"Control_R"
],
"copy"
:
[
"Copy"
,
"3270_Copy"
],
"delete"
:
[
"Delete"
,
"KP_Delete"
],
"digit0"
:
[
"0"
],
"digit1"
:
[
"1"
],
"digit2"
:
[
"2"
],
"digit3"
:
[
"3"
],
"digit4"
:
[
"4"
],
"digit5"
:
[
"5"
],
"digit6"
:
[
"6"
],
"digit7"
:
[
"7"
],
"digit8"
:
[
"8"
],
"digit9"
:
[
"9"
],
"eject"
:
[
"Eject"
],
"end"
:
[
"End"
,
"KP_End"
],
"enter"
:
[
"Return"
,
"Enter"
],
"equal"
:
[
"equal"
],
"escape"
:
[
"Escape"
],
"f1"
:
[
"F1"
,
"KP_F1"
],
"f2"
:
[
"F2"
,
"KP_F2"
],
"f3"
:
[
"F3"
,
"KP_F3"
],
"f4"
:
[
"F4"
,
"KP_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"
],
"f25"
:
[
"F25"
],
"find"
:
[
"Find"
],
"help"
:
[
"Help"
],
"home"
:
[
"Home"
,
"KP_Home"
],
"hyper"
:
[
"Hyper_L"
,
"Hyper_R"
],
"insert"
:
[
"Insert"
,
"KP_Insert"
],
"intlYen"
:
[
"yen"
],
"kanaMode"
:
[
"kana_switch"
],
"kbdIllumDown"
:
[
"KbdBrightnessDown"
],
"kbdIllumUp"
:
[
"KbdBrightnessUp"
],
"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"
],
"launchAudioBrowser"
:
[
"Music"
],
"launchCalendar"
:
[
"Calendar"
],
"launchDocuments"
:
[
"Document"
],
"launchInternetBrowser"
:
[
"WWW"
],
"launchMail"
:
[
"Mail"
],
"launchPhone"
:
[
"Phone"
],
"launchScreenSaver"
:
[
"ScreenSaver"
],
"logOff"
:
[
"LogOff"
],
"mailForward"
:
[
"MailForward"
],
"mailReply"
:
[
"Reply"
],
"mailSend"
:
[
"Send"
],
"mediaFastForward"
:
[
"AudioForward"
],
"mediaPause"
:
[
"AudioPause"
],
"mediaPlay"
:
[
"AudioPlay"
,
"3270_Play"
],
"mediaRecord"
:
[
"AudioRecord"
],
"mediaRewind"
:
[
"AudioRewind"
],
"mediaStop"
:
[
"AudioStop"
],
"mediaTrackNext"
:
[
"AudioNext"
],
"mediaTrackPrevious"
:
[
"AudioPrev"
],
"metaLeft"
:
[
"Meta_L"
],
"metaRight"
:
[
"Meta_R"
],
"minus"
:
[
"minus"
],
"newKey"
:
[
"New"
],
"numLock"
:
[
"Num_Lock"
],
"numpad0"
:
[
"KP_0"
],
"numpad1"
:
[
"KP_1"
],
"numpad2"
:
[
"KP_2"
],
"numpad3"
:
[
"KP_3"
],
"numpad4"
:
[
"KP_4"
],
"numpad5"
:
[
"KP_5"
],
"numpad6"
:
[
"KP_6"
],
"numpad7"
:
[
"KP_7"
],
"numpad8"
:
[
"KP_8"
],
"numpad9"
:
[
"KP_9"
],
"numpadAdd"
:
[
"KP_Add"
],
"numpadDecimal"
:
[
"KP_Decimal"
],
"numpadDivide"
:
[
"KP_Divide"
],
"numpadEnter"
:
[
"KP_Enter"
],
"numpadEqual"
:
[
"KP_Equal"
],
"numpadMultiply"
:
[
"KP_Multiply"
],
"numpadSubtract"
:
[
"KP_Subtract"
],
"open"
:
[
"Open"
],
"pageDown"
:
[
"Page_Down"
,
"KP_Page_Down"
],
"pageUp"
:
[
"Page_Up"
,
"KP_Page_Up"
],
"paste"
:
[
"Paste"
],
"pause"
:
[
"Pause"
],
"period"
:
[
"period"
],
"power"
:
[
"PowerOff"
],
"print"
:
[
"Print"
],
"printScreen"
:
[
"3270_PrintScreen"
],
"quote"
:
[
"apostrophe"
],
"redo"
:
[
"Redo"
],
"resume"
:
[
"Resume"
],
"save"
:
[
"Save"
],
"scrollLock"
:
[
"Scroll_Lock"
],
"select"
:
[
"Select"
],
"semicolon"
:
[
"semicolon"
],
"shiftLeft"
:
[
"Shift_L"
],
"shiftRight"
:
[
"Shift_R"
],
"slash"
:
[
"slash"
],
"sleep"
:
[
"Sleep"
],
"space"
:
[
"space"
,
"KP_Space"
],
"spellCheck"
:
[
"Spell"
],
"superKey"
:
[
"Super_L"
,
"Super_R"
],
"suspend"
:
[
"Suspend"
],
"tab"
:
[
"Tab"
,
"KP_Tab"
],
"undo"
:
[
"Undo"
],
"wakeUp"
:
[
"WakeUp"
],
"zoomIn"
:
[
"ZoomIn"
],
"zoomOut"
:
[
"ZoomOut"
]
}
dev/tools/gen_keycodes/data/keyboard_map_gtk_cc.tmpl
0 → 100644
View file @
8c3b826e
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <map>
// DO NOT EDIT -- DO NOT EDIT -- DO NOT EDIT
// This file is generated by flutter/flutter@dev/tools/gen_keycodes/bin/gen_keycodes.dart and
// should not be edited directly.
//
// Edit the template dev/tools/gen_keycodes/data/keyboard_maps_gtk_cxx.tmpl instead.
// See dev/tools/gen_keycodes/README.md for more information.
/// Maps GTK-specific key codes to the matching [LogicalKeyboardKey].
const std::map<int, int> g_gtk_to_logical_key = {
@@@GTK_KEY_CODE_MAP@@@
};
/// A map of GTK key codes which have printable representations, but appear
/// on the number pad. Used to provide different key objects for keys like
/// KEY_EQUALS and NUMPAD_EQUALS.
const std::map<int, int> g_gtk_numpad_map = {
@@@GTK_NUMPAD_MAP@@@
};
dev/tools/gen_keycodes/data/keyboard_maps.tmpl
View file @
8c3b826e
...
@@ -71,6 +71,18 @@ const Map<int, LogicalKeyboardKey> kGlfwNumpadMap = <int, LogicalKeyboardKey>{
...
@@ -71,6 +71,18 @@ const Map<int, LogicalKeyboardKey> kGlfwNumpadMap = <int, LogicalKeyboardKey>{
@@@GLFW_NUMPAD_MAP@@@
@@@GLFW_NUMPAD_MAP@@@
};
};
/// Maps GTK-specific key codes to the matching [LogicalKeyboardKey].
const Map<int, LogicalKeyboardKey> kGtkToLogicalKey = <int, LogicalKeyboardKey>{
@@@GTK_KEY_CODE_MAP@@@
};
/// A map of GTK key codes which have printable representations, but appear
/// on the number pad. Used to provide different key objects for keys like
/// KEY_EQUALS and NUMPAD_EQUALS.
const Map<int, LogicalKeyboardKey> kGtkNumpadMap = <int, LogicalKeyboardKey>{
@@@GTK_NUMPAD_MAP@@@
};
/// Maps XKB specific key code values representing [PhysicalKeyboardKey].
/// Maps XKB specific key code values representing [PhysicalKeyboardKey].
const Map<int, PhysicalKeyboardKey> kLinuxToPhysicalKey = <int, PhysicalKeyboardKey>{
const Map<int, PhysicalKeyboardKey> kLinuxToPhysicalKey = <int, PhysicalKeyboardKey>{
@@@XKB_SCAN_CODE_MAP@@@
@@@XKB_SCAN_CODE_MAP@@@
...
...
dev/tools/gen_keycodes/lib/dart_code_gen.dart
View file @
8c3b826e
...
@@ -175,6 +175,32 @@ $otherComments static const LogicalKeyboardKey $constantName = LogicalKeyboardK
...
@@ -175,6 +175,32 @@ $otherComments static const LogicalKeyboardKey $constantName = LogicalKeyboardK
return
glfwKeyCodeMap
.
toString
().
trimRight
();
return
glfwKeyCodeMap
.
toString
().
trimRight
();
}
}
/// This generates the map of GTK number pad key codes to logical keys.
String
get
gtkNumpadMap
{
final
StringBuffer
gtkNumpadMap
=
StringBuffer
();
for
(
final
Key
entry
in
numpadKeyData
)
{
if
(
entry
.
gtkKeyCodes
!=
null
)
{
for
(
final
int
code
in
entry
.
gtkKeyCodes
.
cast
<
int
>())
{
gtkNumpadMap
.
writeln
(
'
$code
: LogicalKeyboardKey.
${entry.constantName}
,'
);
}
}
}
return
gtkNumpadMap
.
toString
().
trimRight
();
}
/// This generates the map of GTK key codes to logical keys.
String
get
gtkKeyCodeMap
{
final
StringBuffer
gtkKeyCodeMap
=
StringBuffer
();
for
(
final
Key
entry
in
keyData
.
data
)
{
if
(
entry
.
gtkKeyCodes
!=
null
)
{
for
(
final
int
code
in
entry
.
gtkKeyCodes
.
cast
<
int
>())
{
gtkKeyCodeMap
.
writeln
(
'
$code
: LogicalKeyboardKey.
${entry.constantName}
,'
);
}
}
}
return
gtkKeyCodeMap
.
toString
().
trimRight
();
}
/// This generates the map of XKB USB HID codes to physical keys.
/// This generates the map of XKB USB HID codes to physical keys.
String
get
xkbScanCodeMap
{
String
get
xkbScanCodeMap
{
final
StringBuffer
xkbScanCodeMap
=
StringBuffer
();
final
StringBuffer
xkbScanCodeMap
=
StringBuffer
();
...
@@ -414,6 +440,8 @@ $otherComments static const LogicalKeyboardKey $constantName = LogicalKeyboardK
...
@@ -414,6 +440,8 @@ $otherComments static const LogicalKeyboardKey $constantName = LogicalKeyboardK
'MACOS_FUNCTION_KEY_MAP'
:
macOsFunctionKeyMap
,
'MACOS_FUNCTION_KEY_MAP'
:
macOsFunctionKeyMap
,
'GLFW_KEY_CODE_MAP'
:
glfwKeyCodeMap
,
'GLFW_KEY_CODE_MAP'
:
glfwKeyCodeMap
,
'GLFW_NUMPAD_MAP'
:
glfwNumpadMap
,
'GLFW_NUMPAD_MAP'
:
glfwNumpadMap
,
'GTK_KEY_CODE_MAP'
:
gtkKeyCodeMap
,
'GTK_NUMPAD_MAP'
:
gtkNumpadMap
,
'XKB_SCAN_CODE_MAP'
:
xkbScanCodeMap
,
'XKB_SCAN_CODE_MAP'
:
xkbScanCodeMap
,
'WEB_LOGICAL_KEY_MAP'
:
webLogicalKeyMap
,
'WEB_LOGICAL_KEY_MAP'
:
webLogicalKeyMap
,
'WEB_PHYSICAL_KEY_MAP'
:
webPhysicalKeyMap
,
'WEB_PHYSICAL_KEY_MAP'
:
webPhysicalKeyMap
,
...
...
dev/tools/gen_keycodes/lib/key_data.dart
View file @
8c3b826e
...
@@ -28,6 +28,8 @@ class KeyData {
...
@@ -28,6 +28,8 @@ class KeyData {
String
androidNameMap
,
String
androidNameMap
,
String
glfwKeyCodeHeader
,
String
glfwKeyCodeHeader
,
String
glfwNameMap
,
String
glfwNameMap
,
String
gtkKeyCodeHeader
,
String
gtkNameMap
,
String
windowsKeyCodeHeader
,
String
windowsKeyCodeHeader
,
String
windowsNameMap
,
String
windowsNameMap
,
)
:
assert
(
chromiumHidCodes
!=
null
),
)
:
assert
(
chromiumHidCodes
!=
null
),
...
@@ -36,11 +38,14 @@ class KeyData {
...
@@ -36,11 +38,14 @@ class KeyData {
assert
(
androidNameMap
!=
null
),
assert
(
androidNameMap
!=
null
),
assert
(
glfwKeyCodeHeader
!=
null
),
assert
(
glfwKeyCodeHeader
!=
null
),
assert
(
glfwNameMap
!=
null
),
assert
(
glfwNameMap
!=
null
),
assert
(
gtkKeyCodeHeader
!=
null
),
assert
(
gtkNameMap
!=
null
),
assert
(
windowsKeyCodeHeader
!=
null
),
assert
(
windowsKeyCodeHeader
!=
null
),
assert
(
windowsNameMap
!=
null
)
{
assert
(
windowsNameMap
!=
null
)
{
_nameToAndroidScanCodes
=
_readAndroidScanCodes
(
androidKeyboardLayout
);
_nameToAndroidScanCodes
=
_readAndroidScanCodes
(
androidKeyboardLayout
);
_nameToAndroidKeyCode
=
_readAndroidKeyCodes
(
androidKeyCodeHeader
);
_nameToAndroidKeyCode
=
_readAndroidKeyCodes
(
androidKeyCodeHeader
);
_nameToGlfwKeyCode
=
_readGlfwKeyCodes
(
glfwKeyCodeHeader
);
_nameToGlfwKeyCode
=
_readGlfwKeyCodes
(
glfwKeyCodeHeader
);
_nameToGtkKeyCode
=
_readGtkKeyCodes
(
gtkKeyCodeHeader
);
_nameToWindowsKeyCode
=
_readWindowsKeyCodes
(
windowsKeyCodeHeader
);
_nameToWindowsKeyCode
=
_readWindowsKeyCodes
(
windowsKeyCodeHeader
);
// Cast Android dom map
// Cast Android dom map
final
Map
<
String
,
List
<
dynamic
>>
dynamicAndroidNames
=
(
json
.
decode
(
androidNameMap
)
as
Map
<
String
,
dynamic
>).
cast
<
String
,
List
<
dynamic
>>();
final
Map
<
String
,
List
<
dynamic
>>
dynamicAndroidNames
=
(
json
.
decode
(
androidNameMap
)
as
Map
<
String
,
dynamic
>).
cast
<
String
,
List
<
dynamic
>>();
...
@@ -52,6 +57,11 @@ class KeyData {
...
@@ -52,6 +57,11 @@ class KeyData {
_nameToGlfwName
=
dynamicGlfwNames
.
map
<
String
,
List
<
String
>>((
String
key
,
List
<
dynamic
>
value
)
{
_nameToGlfwName
=
dynamicGlfwNames
.
map
<
String
,
List
<
String
>>((
String
key
,
List
<
dynamic
>
value
)
{
return
MapEntry
<
String
,
List
<
String
>>(
key
,
value
.
cast
<
String
>());
return
MapEntry
<
String
,
List
<
String
>>(
key
,
value
.
cast
<
String
>());
});
});
// Cast GTK dom map
final
Map
<
String
,
List
<
dynamic
>>
dynamicGtkNames
=
(
json
.
decode
(
gtkNameMap
)
as
Map
<
String
,
dynamic
>).
cast
<
String
,
List
<
dynamic
>>();
_nameToGtkName
=
dynamicGtkNames
.
map
<
String
,
List
<
String
>>((
String
key
,
List
<
dynamic
>
value
)
{
return
MapEntry
<
String
,
List
<
String
>>(
key
,
value
.
cast
<
String
>());
});
// Cast Windows dom map
// Cast Windows dom map
final
Map
<
String
,
List
<
dynamic
>>
dynamicWindowsNames
=
(
json
.
decode
(
windowsNameMap
)
as
Map
<
String
,
dynamic
>).
cast
<
String
,
List
<
dynamic
>>();
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
)
{
_nameToWindowsName
=
dynamicWindowsNames
.
map
<
String
,
List
<
String
>>((
String
key
,
List
<
dynamic
>
value
)
{
...
@@ -97,6 +107,17 @@ class KeyData {
...
@@ -97,6 +107,17 @@ class KeyData {
}
}
}
}
// GTK key names
entry
.
gtkKeyNames
=
_nameToGtkName
[
entry
.
constantName
]?.
cast
<
String
>();
if
(
entry
.
gtkKeyNames
!=
null
&&
entry
.
gtkKeyNames
.
isNotEmpty
)
{
for
(
final
String
gtkKeyName
in
entry
.
gtkKeyNames
)
{
if
(
_nameToGtkKeyCode
[
gtkKeyName
]
!=
null
)
{
entry
.
gtkKeyCodes
??=
<
int
>[];
entry
.
gtkKeyCodes
.
add
(
_nameToGtkKeyCode
[
gtkKeyName
]);
}
}
}
// Windows key names
// Windows key names
entry
.
windowsKeyNames
=
_nameToWindowsName
[
entry
.
constantName
]?.
cast
<
String
>();
entry
.
windowsKeyNames
=
_nameToWindowsName
[
entry
.
constantName
]?.
cast
<
String
>();
if
(
entry
.
windowsKeyNames
!=
null
&&
entry
.
windowsKeyNames
.
isNotEmpty
)
{
if
(
entry
.
windowsKeyNames
!=
null
&&
entry
.
windowsKeyNames
.
isNotEmpty
)
{
...
@@ -133,6 +154,13 @@ class KeyData {
...
@@ -133,6 +154,13 @@ class KeyData {
/// JSON.
/// JSON.
Map
<
String
,
List
<
String
>>
_nameToGlfwName
;
Map
<
String
,
List
<
String
>>
_nameToGlfwName
;
/// The mapping from the Flutter name (e.g. "eject") to the GTK name (e.g.
/// "GDK_KEY_Eject").
///
/// Only populated if data is parsed from the source files, not if parsed from
/// JSON.
Map
<
String
,
List
<
String
>>
_nameToGtkName
;
/// The mapping from the Android name (e.g. "MEDIA_EJECT") to the integer scan
/// The mapping from the Android name (e.g. "MEDIA_EJECT") to the integer scan
/// code (physical location) of the key.
/// code (physical location) of the key.
///
///
...
@@ -154,6 +182,13 @@ class KeyData {
...
@@ -154,6 +182,13 @@ class KeyData {
/// JSON.
/// JSON.
Map
<
String
,
int
>
_nameToGlfwKeyCode
;
Map
<
String
,
int
>
_nameToGlfwKeyCode
;
/// The mapping from GTK name (e.g. "GTK_KEY_comma") 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
>
_nameToGtkKeyCode
;
/// The mapping from Widows name (e.g. "RETURN") to the integer key code
/// The mapping from Widows name (e.g. "RETURN") to the integer key code
/// (logical meaning) of the key.
/// (logical meaning) of the key.
///
///
...
@@ -244,6 +279,20 @@ class KeyData {
...
@@ -244,6 +279,20 @@ class KeyData {
return
result
;
return
result
;
}
}
/// Parses entries from GTK's gdkkeysyms.h key code data file.
///
/// Lines in this file look like this (without the ///):
/// /** Space key. */
/// #define GDK_KEY_space 0x020
Map
<
String
,
int
>
_readGtkKeyCodes
(
String
headerFile
)
{
final
RegExp
definedCodes
=
RegExp
(
r'#define GDK_KEY_([a-zA-Z0-9_]+)\s*0x([0-9a-f]+),?'
);
final
Map
<
String
,
int
>
replaced
=
<
String
,
int
>{};
for
(
final
Match
match
in
definedCodes
.
allMatches
(
headerFile
))
{
replaced
[
match
.
group
(
1
)]
=
int
.
parse
(
match
.
group
(
2
),
radix:
16
);
}
return
replaced
;
}
Map
<
String
,
int
>
_readWindowsKeyCodes
(
String
headerFile
)
{
Map
<
String
,
int
>
_readWindowsKeyCodes
(
String
headerFile
)
{
final
RegExp
definedCodes
=
RegExp
(
r'define VK_([A-Z0-9_]+)\s*([A-Z0-9_x]+),?'
);
final
RegExp
definedCodes
=
RegExp
(
r'define VK_([A-Z0-9_]+)\s*([A-Z0-9_x]+),?'
);
final
Map
<
String
,
int
>
replaced
=
<
String
,
int
>{};
final
Map
<
String
,
int
>
replaced
=
<
String
,
int
>{};
...
@@ -332,6 +381,8 @@ class Key {
...
@@ -332,6 +381,8 @@ class Key {
this
.
androidKeyCodes
,
this
.
androidKeyCodes
,
this
.
glfwKeyNames
,
this
.
glfwKeyNames
,
this
.
glfwKeyCodes
,
this
.
glfwKeyCodes
,
this
.
gtkKeyNames
,
this
.
gtkKeyCodes
,
})
:
assert
(
usbHidCode
!=
null
),
})
:
assert
(
usbHidCode
!=
null
),
assert
(
chromiumName
!=
null
),
assert
(
chromiumName
!=
null
),
_constantName
=
enumName
;
_constantName
=
enumName
;
...
@@ -354,6 +405,8 @@ class Key {
...
@@ -354,6 +405,8 @@ class Key {
macOsScanCode:
map
[
'scanCodes'
][
'macos'
]
as
int
,
macOsScanCode:
map
[
'scanCodes'
][
'macos'
]
as
int
,
glfwKeyNames:
(
map
[
'names'
][
'glfw'
]
as
List
<
dynamic
>)?.
cast
<
String
>(),
glfwKeyNames:
(
map
[
'names'
][
'glfw'
]
as
List
<
dynamic
>)?.
cast
<
String
>(),
glfwKeyCodes:
(
map
[
'keyCodes'
][
'glfw'
]
as
List
<
dynamic
>)?.
cast
<
int
>(),
glfwKeyCodes:
(
map
[
'keyCodes'
][
'glfw'
]
as
List
<
dynamic
>)?.
cast
<
int
>(),
gtkKeyNames:
(
map
[
'names'
][
'gtk'
]
as
List
<
dynamic
>)?.
cast
<
String
>(),
gtkKeyCodes:
(
map
[
'keyCodes'
][
'gtk'
]
as
List
<
dynamic
>)?.
cast
<
int
>(),
);
);
}
}
...
@@ -402,6 +455,15 @@ class Key {
...
@@ -402,6 +455,15 @@ class Key {
/// value.
/// value.
List
<
int
>
glfwKeyCodes
;
List
<
int
>
glfwKeyCodes
;
/// The list of names that GTK gives to this key (symbol names minus the
/// prefix).
List
<
String
>
gtkKeyNames
;
/// The list of GTK key codes matching this key, created by looking up the
/// Linux name in the GTK data, and substituting the GTK key code
/// value.
List
<
int
>
gtkKeyCodes
;
/// Creates a JSON map from the key data.
/// Creates a JSON map from the key data.
Map
<
String
,
dynamic
>
toJson
()
{
Map
<
String
,
dynamic
>
toJson
()
{
return
<
String
,
dynamic
>{
return
<
String
,
dynamic
>{
...
@@ -411,6 +473,7 @@ class Key {
...
@@ -411,6 +473,7 @@ class Key {
'english'
:
commentName
,
'english'
:
commentName
,
'chromium'
:
chromiumName
,
'chromium'
:
chromiumName
,
'glfw'
:
glfwKeyNames
,
'glfw'
:
glfwKeyNames
,
'gtk'
:
gtkKeyNames
,
'windows'
:
windowsKeyNames
,
'windows'
:
windowsKeyNames
,
},
},
'scanCodes'
:
<
String
,
dynamic
>{
'scanCodes'
:
<
String
,
dynamic
>{
...
@@ -424,6 +487,7 @@ class Key {
...
@@ -424,6 +487,7 @@ class Key {
'keyCodes'
:
<
String
,
List
<
int
>>{
'keyCodes'
:
<
String
,
List
<
int
>>{
'android'
:
androidKeyCodes
,
'android'
:
androidKeyCodes
,
'glfw'
:
glfwKeyCodes
,
'glfw'
:
glfwKeyCodes
,
'gtk'
:
gtkKeyCodes
,
'windows'
:
windowsKeyCodes
,
'windows'
:
windowsKeyCodes
,
},
},
};
};
...
...
packages/flutter/lib/src/services/keyboard_maps.dart
View file @
8c3b826e
...
@@ -1312,6 +1312,223 @@ const Map<int, LogicalKeyboardKey> kGlfwNumpadMap = <int, LogicalKeyboardKey>{
...
@@ -1312,6 +1312,223 @@ const Map<int, LogicalKeyboardKey> kGlfwNumpadMap = <int, LogicalKeyboardKey>{
336
:
LogicalKeyboardKey
.
numpadEqual
,
336
:
LogicalKeyboardKey
.
numpadEqual
,
};
};
/// Maps GTK-specific key codes to the matching [LogicalKeyboardKey].
const
Map
<
int
,
LogicalKeyboardKey
>
kGtkToLogicalKey
=
<
int
,
LogicalKeyboardKey
>{
65517
:
LogicalKeyboardKey
.
hyper
,
65518
:
LogicalKeyboardKey
.
hyper
,
65515
:
LogicalKeyboardKey
.
superKey
,
65516
:
LogicalKeyboardKey
.
superKey
,
269025191
:
LogicalKeyboardKey
.
suspend
,
269025071
:
LogicalKeyboardKey
.
sleep
,
269025067
:
LogicalKeyboardKey
.
wakeUp
,
65
:
LogicalKeyboardKey
.
keyA
,
66
:
LogicalKeyboardKey
.
keyB
,
67
:
LogicalKeyboardKey
.
keyC
,
68
:
LogicalKeyboardKey
.
keyD
,
69
:
LogicalKeyboardKey
.
keyE
,
70
:
LogicalKeyboardKey
.
keyF
,
71
:
LogicalKeyboardKey
.
keyG
,
72
:
LogicalKeyboardKey
.
keyH
,
73
:
LogicalKeyboardKey
.
keyI
,
74
:
LogicalKeyboardKey
.
keyJ
,
75
:
LogicalKeyboardKey
.
keyK
,
76
:
LogicalKeyboardKey
.
keyL
,
77
:
LogicalKeyboardKey
.
keyM
,
78
:
LogicalKeyboardKey
.
keyN
,
79
:
LogicalKeyboardKey
.
keyO
,
80
:
LogicalKeyboardKey
.
keyP
,
81
:
LogicalKeyboardKey
.
keyQ
,
82
:
LogicalKeyboardKey
.
keyR
,
83
:
LogicalKeyboardKey
.
keyS
,
84
:
LogicalKeyboardKey
.
keyT
,
85
:
LogicalKeyboardKey
.
keyU
,
86
:
LogicalKeyboardKey
.
keyV
,
87
:
LogicalKeyboardKey
.
keyW
,
88
:
LogicalKeyboardKey
.
keyX
,
89
:
LogicalKeyboardKey
.
keyY
,
90
:
LogicalKeyboardKey
.
keyZ
,
49
:
LogicalKeyboardKey
.
digit1
,
50
:
LogicalKeyboardKey
.
digit2
,
51
:
LogicalKeyboardKey
.
digit3
,
52
:
LogicalKeyboardKey
.
digit4
,
53
:
LogicalKeyboardKey
.
digit5
,
54
:
LogicalKeyboardKey
.
digit6
,
55
:
LogicalKeyboardKey
.
digit7
,
56
:
LogicalKeyboardKey
.
digit8
,
57
:
LogicalKeyboardKey
.
digit9
,
48
:
LogicalKeyboardKey
.
digit0
,
65293
:
LogicalKeyboardKey
.
enter
,
65307
:
LogicalKeyboardKey
.
escape
,
65288
:
LogicalKeyboardKey
.
backspace
,
65289
:
LogicalKeyboardKey
.
tab
,
65417
:
LogicalKeyboardKey
.
tab
,
32
:
LogicalKeyboardKey
.
space
,
65408
:
LogicalKeyboardKey
.
space
,
45
:
LogicalKeyboardKey
.
minus
,
61
:
LogicalKeyboardKey
.
equal
,
91
:
LogicalKeyboardKey
.
bracketLeft
,
93
:
LogicalKeyboardKey
.
bracketRight
,
92
:
LogicalKeyboardKey
.
backslash
,
59
:
LogicalKeyboardKey
.
semicolon
,
39
:
LogicalKeyboardKey
.
quote
,
96
:
LogicalKeyboardKey
.
backquote
,
44
:
LogicalKeyboardKey
.
comma
,
46
:
LogicalKeyboardKey
.
period
,
47
:
LogicalKeyboardKey
.
slash
,
65509
:
LogicalKeyboardKey
.
capsLock
,
65470
:
LogicalKeyboardKey
.
f1
,
65425
:
LogicalKeyboardKey
.
f1
,
65471
:
LogicalKeyboardKey
.
f2
,
65426
:
LogicalKeyboardKey
.
f2
,
65472
:
LogicalKeyboardKey
.
f3
,
65427
:
LogicalKeyboardKey
.
f3
,
65473
:
LogicalKeyboardKey
.
f4
,
65428
:
LogicalKeyboardKey
.
f4
,
65474
:
LogicalKeyboardKey
.
f5
,
65475
:
LogicalKeyboardKey
.
f6
,
65476
:
LogicalKeyboardKey
.
f7
,
65477
:
LogicalKeyboardKey
.
f8
,
65478
:
LogicalKeyboardKey
.
f9
,
65479
:
LogicalKeyboardKey
.
f10
,
65480
:
LogicalKeyboardKey
.
f11
,
65481
:
LogicalKeyboardKey
.
f12
,
64797
:
LogicalKeyboardKey
.
printScreen
,
65300
:
LogicalKeyboardKey
.
scrollLock
,
65299
:
LogicalKeyboardKey
.
pause
,
65379
:
LogicalKeyboardKey
.
insert
,
65438
:
LogicalKeyboardKey
.
insert
,
65360
:
LogicalKeyboardKey
.
home
,
65429
:
LogicalKeyboardKey
.
home
,
65365
:
LogicalKeyboardKey
.
pageUp
,
65434
:
LogicalKeyboardKey
.
pageUp
,
65535
:
LogicalKeyboardKey
.
delete
,
65439
:
LogicalKeyboardKey
.
delete
,
65367
:
LogicalKeyboardKey
.
end
,
65436
:
LogicalKeyboardKey
.
end
,
65366
:
LogicalKeyboardKey
.
pageDown
,
65435
:
LogicalKeyboardKey
.
pageDown
,
65363
:
LogicalKeyboardKey
.
arrowRight
,
65432
:
LogicalKeyboardKey
.
arrowRight
,
65361
:
LogicalKeyboardKey
.
arrowLeft
,
65430
:
LogicalKeyboardKey
.
arrowLeft
,
65364
:
LogicalKeyboardKey
.
arrowDown
,
65433
:
LogicalKeyboardKey
.
arrowDown
,
65362
:
LogicalKeyboardKey
.
arrowUp
,
65431
:
LogicalKeyboardKey
.
arrowUp
,
65407
:
LogicalKeyboardKey
.
numLock
,
65455
:
LogicalKeyboardKey
.
numpadDivide
,
65450
:
LogicalKeyboardKey
.
numpadMultiply
,
65453
:
LogicalKeyboardKey
.
numpadSubtract
,
65451
:
LogicalKeyboardKey
.
numpadAdd
,
65421
:
LogicalKeyboardKey
.
numpadEnter
,
65457
:
LogicalKeyboardKey
.
numpad1
,
65458
:
LogicalKeyboardKey
.
numpad2
,
65459
:
LogicalKeyboardKey
.
numpad3
,
65460
:
LogicalKeyboardKey
.
numpad4
,
65461
:
LogicalKeyboardKey
.
numpad5
,
65462
:
LogicalKeyboardKey
.
numpad6
,
65463
:
LogicalKeyboardKey
.
numpad7
,
65464
:
LogicalKeyboardKey
.
numpad8
,
65465
:
LogicalKeyboardKey
.
numpad9
,
65456
:
LogicalKeyboardKey
.
numpad0
,
65454
:
LogicalKeyboardKey
.
numpadDecimal
,
65383
:
LogicalKeyboardKey
.
contextMenu
,
269025066
:
LogicalKeyboardKey
.
power
,
65469
:
LogicalKeyboardKey
.
numpadEqual
,
65482
:
LogicalKeyboardKey
.
f13
,
65483
:
LogicalKeyboardKey
.
f14
,
65484
:
LogicalKeyboardKey
.
f15
,
65485
:
LogicalKeyboardKey
.
f16
,
65486
:
LogicalKeyboardKey
.
f17
,
65487
:
LogicalKeyboardKey
.
f18
,
65488
:
LogicalKeyboardKey
.
f19
,
65489
:
LogicalKeyboardKey
.
f20
,
65490
:
LogicalKeyboardKey
.
f21
,
65491
:
LogicalKeyboardKey
.
f22
,
65492
:
LogicalKeyboardKey
.
f23
,
65493
:
LogicalKeyboardKey
.
f24
,
269025131
:
LogicalKeyboardKey
.
open
,
65386
:
LogicalKeyboardKey
.
help
,
65376
:
LogicalKeyboardKey
.
select
,
65381
:
LogicalKeyboardKey
.
undo
,
269025111
:
LogicalKeyboardKey
.
copy
,
64789
:
LogicalKeyboardKey
.
copy
,
269025133
:
LogicalKeyboardKey
.
paste
,
65384
:
LogicalKeyboardKey
.
find
,
269025042
:
LogicalKeyboardKey
.
audioVolumeMute
,
269025043
:
LogicalKeyboardKey
.
audioVolumeUp
,
269025041
:
LogicalKeyboardKey
.
audioVolumeDown
,
65406
:
LogicalKeyboardKey
.
kanaMode
,
165
:
LogicalKeyboardKey
.
intlYen
,
65507
:
LogicalKeyboardKey
.
controlLeft
,
65505
:
LogicalKeyboardKey
.
shiftLeft
,
65513
:
LogicalKeyboardKey
.
altLeft
,
65511
:
LogicalKeyboardKey
.
metaLeft
,
65508
:
LogicalKeyboardKey
.
controlRight
,
65506
:
LogicalKeyboardKey
.
shiftRight
,
65514
:
LogicalKeyboardKey
.
altRight
,
65512
:
LogicalKeyboardKey
.
metaRight
,
269025026
:
LogicalKeyboardKey
.
brightnessUp
,
269025027
:
LogicalKeyboardKey
.
brightnessDown
,
269025134
:
LogicalKeyboardKey
.
launchPhone
,
269025044
:
LogicalKeyboardKey
.
mediaPlay
,
64790
:
LogicalKeyboardKey
.
mediaPlay
,
269025073
:
LogicalKeyboardKey
.
mediaPause
,
269025052
:
LogicalKeyboardKey
.
mediaRecord
,
269025175
:
LogicalKeyboardKey
.
mediaFastForward
,
269025086
:
LogicalKeyboardKey
.
mediaRewind
,
269025047
:
LogicalKeyboardKey
.
mediaTrackNext
,
269025046
:
LogicalKeyboardKey
.
mediaTrackPrevious
,
269025045
:
LogicalKeyboardKey
.
mediaStop
,
269025068
:
LogicalKeyboardKey
.
eject
,
269025049
:
LogicalKeyboardKey
.
launchMail
,
269025056
:
LogicalKeyboardKey
.
launchCalendar
,
269025070
:
LogicalKeyboardKey
.
launchInternetBrowser
,
269025121
:
LogicalKeyboardKey
.
logOff
,
269025148
:
LogicalKeyboardKey
.
spellCheck
,
269025069
:
LogicalKeyboardKey
.
launchScreenSaver
,
269025170
:
LogicalKeyboardKey
.
launchAudioBrowser
,
269025128
:
LogicalKeyboardKey
.
newKey
,
269025110
:
LogicalKeyboardKey
.
close
,
269025143
:
LogicalKeyboardKey
.
save
,
65377
:
LogicalKeyboardKey
.
print
,
269025051
:
LogicalKeyboardKey
.
browserSearch
,
269025048
:
LogicalKeyboardKey
.
browserHome
,
269025062
:
LogicalKeyboardKey
.
browserBack
,
269025063
:
LogicalKeyboardKey
.
browserForward
,
269025064
:
LogicalKeyboardKey
.
browserStop
,
269025065
:
LogicalKeyboardKey
.
browserRefresh
,
269025072
:
LogicalKeyboardKey
.
browserFavorites
,
269025163
:
LogicalKeyboardKey
.
zoomIn
,
269025164
:
LogicalKeyboardKey
.
zoomOut
,
65382
:
LogicalKeyboardKey
.
redo
,
269025138
:
LogicalKeyboardKey
.
mailReply
,
269025168
:
LogicalKeyboardKey
.
mailForward
,
269025147
:
LogicalKeyboardKey
.
mailSend
,
};
/// A map of GTK key codes which have printable representations, but appear
/// on the number pad. Used to provide different key objects for keys like
/// KEY_EQUALS and NUMPAD_EQUALS.
const
Map
<
int
,
LogicalKeyboardKey
>
kGtkNumpadMap
=
<
int
,
LogicalKeyboardKey
>{
65455
:
LogicalKeyboardKey
.
numpadDivide
,
65450
:
LogicalKeyboardKey
.
numpadMultiply
,
65453
:
LogicalKeyboardKey
.
numpadSubtract
,
65451
:
LogicalKeyboardKey
.
numpadAdd
,
65457
:
LogicalKeyboardKey
.
numpad1
,
65458
:
LogicalKeyboardKey
.
numpad2
,
65459
:
LogicalKeyboardKey
.
numpad3
,
65460
:
LogicalKeyboardKey
.
numpad4
,
65461
:
LogicalKeyboardKey
.
numpad5
,
65462
:
LogicalKeyboardKey
.
numpad6
,
65463
:
LogicalKeyboardKey
.
numpad7
,
65464
:
LogicalKeyboardKey
.
numpad8
,
65465
:
LogicalKeyboardKey
.
numpad9
,
65456
:
LogicalKeyboardKey
.
numpad0
,
65454
:
LogicalKeyboardKey
.
numpadDecimal
,
65469
:
LogicalKeyboardKey
.
numpadEqual
,
};
/// Maps XKB specific key code values representing [PhysicalKeyboardKey].
/// Maps XKB specific key code values representing [PhysicalKeyboardKey].
const
Map
<
int
,
PhysicalKeyboardKey
>
kLinuxToPhysicalKey
=
<
int
,
PhysicalKeyboardKey
>{
const
Map
<
int
,
PhysicalKeyboardKey
>
kLinuxToPhysicalKey
=
<
int
,
PhysicalKeyboardKey
>{
0x00000281
:
PhysicalKeyboardKey
.
privacyScreenToggle
,
0x00000281
:
PhysicalKeyboardKey
.
privacyScreenToggle
,
...
...
packages/flutter/lib/src/services/raw_keyboard_linux.dart
View file @
8c3b826e
...
@@ -19,7 +19,7 @@ import 'raw_keyboard.dart';
...
@@ -19,7 +19,7 @@ import 'raw_keyboard.dart';
///
///
/// * [RawKeyboard], which uses this interface to expose key data.
/// * [RawKeyboard], which uses this interface to expose key data.
class
RawKeyEventDataLinux
extends
RawKeyEventData
{
class
RawKeyEventDataLinux
extends
RawKeyEventData
{
/// Creates a key event data structure specific for
macOS
.
/// Creates a key event data structure specific for
Linux
.
///
///
/// The [toolkit], [scanCode], [unicodeScalarValues], [keyCode], and [modifiers],
/// The [toolkit], [scanCode], [unicodeScalarValues], [keyCode], and [modifiers],
/// arguments must not be null.
/// arguments must not be null.
...
@@ -145,6 +145,8 @@ abstract class KeyHelper {
...
@@ -145,6 +145,8 @@ abstract class KeyHelper {
factory
KeyHelper
(
String
toolkit
)
{
factory
KeyHelper
(
String
toolkit
)
{
if
(
toolkit
==
'glfw'
)
{
if
(
toolkit
==
'glfw'
)
{
return
GLFWKeyHelper
();
return
GLFWKeyHelper
();
}
else
if
(
toolkit
==
'gtk'
)
{
return
GtkKeyHelper
();
}
else
{
}
else
{
throw
FlutterError
(
'Window toolkit not recognized:
$toolkit
'
);
throw
FlutterError
(
'Window toolkit not recognized:
$toolkit
'
);
}
}
...
@@ -314,3 +316,149 @@ class GLFWKeyHelper with KeyHelper {
...
@@ -314,3 +316,149 @@ class GLFWKeyHelper with KeyHelper {
return
kGlfwToLogicalKey
[
keyCode
];
return
kGlfwToLogicalKey
[
keyCode
];
}
}
}
}
/// Helper class that uses GTK-specific key mappings.
class
GtkKeyHelper
with
KeyHelper
{
/// This mask is used to check the [modifiers] field to test whether one of the
/// SHIFT modifier keys is pressed.
///
/// {@template flutter.services.gtkKeyHelper.modifiers}
/// Use this value if you need to decode the [modifiers] field yourself, but
/// it's much easier to use [isModifierPressed] if you just want to know if a
/// modifier is pressed. This is especially true on GTK, since its modifiers
/// don't include the effects of the current key event.
/// {@endtemplate}
static
const
int
modifierShift
=
1
<<
0
;
/// This mask is used to check the [modifiers] field to test whether the CAPS
/// LOCK modifier key is on.
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierCapsLock
=
1
<<
1
;
/// This mask is used to check the [modifiers] field to test whether one of the
/// CTRL modifier keys is pressed.
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierControl
=
1
<<
2
;
/// This mask is used to check the [modifiers] field to test whether the first
/// modifier key is pressed (usually mapped to alt).
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierMod1
=
1
<<
3
;
/// This mask is used to check the [modifiers] field to test whether the second
/// modifier key is pressed (assumed to be mapped to num lock).
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierMod2
=
1
<<
4
;
/// This mask is used to check the [modifiers] field to test whether one of the
/// Meta(SUPER) modifier keys is pressed.
/// {@macro flutter.services.gtkKeyHelper.modifiers}
static
const
int
modifierMeta
=
1
<<
28
;
int
_mergeModifiers
({
int
modifiers
,
int
keyCode
,
bool
isDown
})
{
// GTK Key codes for modifier keys.
const
int
shiftLeftKeyCode
=
0xffe1
;
const
int
shiftRightKeyCode
=
0xffe2
;
const
int
controlLeftKeyCode
=
0xffe3
;
const
int
controlRightKeyCode
=
0xffe4
;
const
int
capsLockKeyCode
=
0xffe5
;
const
int
shiftLockKeyCode
=
0xffe6
;
const
int
metaLeftKeyCode
=
0xffe7
;
const
int
metaRightKeyCode
=
0xffe8
;
const
int
altLeftKeyCode
=
0xffe9
;
const
int
altRightKeyCode
=
0xffea
;
const
int
numLockKeyCode
=
0xff7f
;
// On GTK, the "modifiers" bitfield is the state as it is BEFORE this event
// happened, not AFTER, like every other platform. Consequently, if this is
// a key down, then we need to add the correct modifier bits, and if it's a
// key up, we need to remove them.
int
modifierChange
=
0
;
switch
(
keyCode
)
{
case
shiftLeftKeyCode:
case
shiftRightKeyCode:
modifierChange
=
modifierShift
;
break
;
case
controlLeftKeyCode:
case
controlRightKeyCode:
modifierChange
=
modifierControl
;
break
;
case
altLeftKeyCode:
case
altRightKeyCode:
modifierChange
=
modifierMod1
;
break
;
case
metaLeftKeyCode:
case
metaRightKeyCode:
modifierChange
=
modifierMeta
;
break
;
case
capsLockKeyCode:
case
shiftLockKeyCode:
modifierChange
=
modifierCapsLock
;
break
;
case
numLockKeyCode:
modifierChange
=
modifierMod2
;
break
;
default
:
break
;
}
return
isDown
?
modifiers
|
modifierChange
:
modifiers
&
~
modifierChange
;
}
@override
bool
isModifierPressed
(
ModifierKey
key
,
int
modifiers
,
{
KeyboardSide
side
=
KeyboardSide
.
any
,
int
keyCode
,
bool
isDown
})
{
modifiers
=
_mergeModifiers
(
modifiers:
modifiers
,
keyCode:
keyCode
,
isDown:
isDown
);
switch
(
key
)
{
case
ModifierKey
.
controlModifier
:
return
modifiers
&
modifierControl
!=
0
;
case
ModifierKey
.
shiftModifier
:
return
modifiers
&
modifierShift
!=
0
;
case
ModifierKey
.
altModifier
:
return
modifiers
&
modifierMod1
!=
0
;
case
ModifierKey
.
metaModifier
:
return
modifiers
&
modifierMeta
!=
0
;
case
ModifierKey
.
capsLockModifier
:
return
modifiers
&
modifierCapsLock
!=
0
;
case
ModifierKey
.
numLockModifier
:
return
modifiers
&
modifierMod2
!=
0
;
case
ModifierKey
.
functionModifier
:
case
ModifierKey
.
symbolModifier
:
case
ModifierKey
.
scrollLockModifier
:
// These are not used in GTK keyboards.
return
false
;
}
return
false
;
}
@override
KeyboardSide
getModifierSide
(
ModifierKey
key
)
{
switch
(
key
)
{
case
ModifierKey
.
controlModifier
:
case
ModifierKey
.
shiftModifier
:
case
ModifierKey
.
altModifier
:
case
ModifierKey
.
metaModifier
:
// Neither GTK or X11 provide a distinction between left and right modifiers, so defaults to KeyboardSide.any.
// https://code.woboq.org/qt5/include/X11/X.h.html#_M/ShiftMask
return
KeyboardSide
.
any
;
case
ModifierKey
.
capsLockModifier
:
case
ModifierKey
.
numLockModifier
:
case
ModifierKey
.
functionModifier
:
case
ModifierKey
.
symbolModifier
:
case
ModifierKey
.
scrollLockModifier
:
return
KeyboardSide
.
all
;
}
assert
(
false
,
'Not handling
$key
type properly.'
);
return
null
;
}
@override
LogicalKeyboardKey
numpadKey
(
int
keyCode
)
{
return
kGtkNumpadMap
[
keyCode
];
}
@override
LogicalKeyboardKey
logicalKey
(
int
keyCode
)
{
return
kGtkToLogicalKey
[
keyCode
];
}
}
packages/flutter/test/services/raw_keyboard_test.dart
View file @
8c3b826e
...
@@ -1101,6 +1101,189 @@ void main() {
...
@@ -1101,6 +1101,189 @@ void main() {
});
});
},
skip:
isBrowser
);
},
skip:
isBrowser
);
group
(
'RawKeyEventDataLinux-GTK'
,
()
{
const
Map
<
int
,
_ModifierCheck
>
modifierTests
=
<
int
,
_ModifierCheck
>{
GtkKeyHelper
.
modifierMod1
:
_ModifierCheck
(
ModifierKey
.
altModifier
,
KeyboardSide
.
any
),
GtkKeyHelper
.
modifierShift
:
_ModifierCheck
(
ModifierKey
.
shiftModifier
,
KeyboardSide
.
any
),
GtkKeyHelper
.
modifierControl
:
_ModifierCheck
(
ModifierKey
.
controlModifier
,
KeyboardSide
.
any
),
GtkKeyHelper
.
modifierMeta
:
_ModifierCheck
(
ModifierKey
.
metaModifier
,
KeyboardSide
.
any
),
GtkKeyHelper
.
modifierMod2
:
_ModifierCheck
(
ModifierKey
.
numLockModifier
,
KeyboardSide
.
all
),
GtkKeyHelper
.
modifierCapsLock
:
_ModifierCheck
(
ModifierKey
.
capsLockModifier
,
KeyboardSide
.
all
),
};
// How modifiers are interpreted depends upon the keyCode for GTK.
int
keyCodeForModifier
(
int
modifier
,
{
bool
isLeft
})
{
switch
(
modifier
)
{
case
GtkKeyHelper
.
modifierMod1
:
return
isLeft
?
65513
:
65513
;
case
GtkKeyHelper
.
modifierShift
:
return
isLeft
?
65505
:
65506
;
case
GtkKeyHelper
.
modifierControl
:
return
isLeft
?
65507
:
65508
;
case
GtkKeyHelper
.
modifierMeta
:
return
isLeft
?
65511
:
65512
;
case
GtkKeyHelper
.
modifierMod2
:
return
65407
;
case
GtkKeyHelper
.
modifierCapsLock
:
return
65509
;
default
:
return
65
;
// keyA
}
}
test
(
'modifier keys are recognized individually'
,
()
{
for
(
final
int
modifier
in
modifierTests
.
keys
)
{
for
(
final
bool
isDown
in
<
bool
>[
true
,
false
])
{
for
(
final
bool
isLeft
in
<
bool
>[
true
,
false
])
{
final
RawKeyEvent
event
=
RawKeyEvent
.
fromMessage
(<
String
,
dynamic
>{
'type'
:
isDown
?
'keydown'
:
'keyup'
,
'keymap'
:
'linux'
,
'toolkit'
:
'gtk'
,
'keyCode'
:
keyCodeForModifier
(
modifier
,
isLeft:
isLeft
),
'scanCode'
:
0x00000026
,
'unicodeScalarValues'
:
97
,
// GTK modifiers don't include the current key event.
'modifiers'
:
isDown
?
0
:
modifier
,
});
final
RawKeyEventDataLinux
data
=
event
.
data
as
RawKeyEventDataLinux
;
for
(
final
ModifierKey
key
in
ModifierKey
.
values
)
{
if
(
modifierTests
[
modifier
].
key
==
key
)
{
expect
(
data
.
isModifierPressed
(
key
,
side:
modifierTests
[
modifier
].
side
),
isDown
?
isTrue
:
isFalse
,
reason:
"
${isLeft ? 'left' : 'right'}
$key
${isDown ? 'should' : 'should not'}
be pressed with metaState
$modifier
, when key is
${isDown ? 'down' : 'up'}
, but isn't."
,
);
expect
(
data
.
getModifierSide
(
key
),
equals
(
modifierTests
[
modifier
].
side
));
}
else
{
expect
(
data
.
isModifierPressed
(
key
,
side:
modifierTests
[
modifier
].
side
),
isFalse
,
reason:
"
${isLeft ? 'left' : 'right'}
$key
should not be pressed with metaState
$modifier
, wwhen key is
${isDown ? 'down' : 'up'}
, but is."
,
);
}
}
}
}
}
});
test
(
'modifier keys are recognized when combined'
,
()
{
for
(
final
int
modifier
in
modifierTests
.
keys
)
{
if
(
modifier
==
GtkKeyHelper
.
modifierControl
)
{
// No need to combine CTRL key with itself.
continue
;
}
final
RawKeyEvent
event
=
RawKeyEvent
.
fromMessage
(<
String
,
dynamic
>{
'type'
:
'keydown'
,
'keymap'
:
'linux'
,
'toolkit'
:
'gtk'
,
'keyCode'
:
65
,
'scanCode'
:
0x00000026
,
'unicodeScalarValues'
:
97
,
'modifiers'
:
modifier
|
GtkKeyHelper
.
modifierControl
,
});
final
RawKeyEventDataLinux
data
=
event
.
data
as
RawKeyEventDataLinux
;
for
(
final
ModifierKey
key
in
ModifierKey
.
values
)
{
if
(
modifierTests
[
modifier
].
key
==
key
||
key
==
ModifierKey
.
controlModifier
)
{
expect
(
data
.
isModifierPressed
(
key
,
side:
modifierTests
[
modifier
].
side
),
isTrue
,
reason:
'
$key
should be pressed with metaState
$modifier
'
"and additional key
${GtkKeyHelper.modifierControl}
, but isn't."
,
);
if
(
key
!=
ModifierKey
.
controlModifier
)
{
expect
(
data
.
getModifierSide
(
key
),
equals
(
modifierTests
[
modifier
].
side
));
}
else
{
expect
(
data
.
getModifierSide
(
key
),
equals
(
KeyboardSide
.
any
));
}
}
else
{
expect
(
data
.
isModifierPressed
(
key
,
side:
modifierTests
[
modifier
].
side
),
isFalse
,
reason:
'
$key
should not be pressed with metaState
$modifier
'
'and additional key
${GtkKeyHelper.modifierControl}
.'
,
);
}
}
}
});
test
(
'Printable keyboard keys are correctly translated'
,
()
{
final
RawKeyEvent
keyAEvent
=
RawKeyEvent
.
fromMessage
(
const
<
String
,
dynamic
>{
'type'
:
'keydown'
,
'keymap'
:
'linux'
,
'toolkit'
:
'gtk'
,
'keyCode'
:
65
,
'scanCode'
:
0x00000026
,
'unicodeScalarValues'
:
113
,
'modifiers'
:
0x0
,
});
final
RawKeyEventDataLinux
data
=
keyAEvent
.
data
as
RawKeyEventDataLinux
;
expect
(
data
.
physicalKey
,
equals
(
PhysicalKeyboardKey
.
keyA
));
expect
(
data
.
logicalKey
,
equals
(
LogicalKeyboardKey
.
keyQ
));
expect
(
data
.
keyLabel
,
equals
(
'q'
));
});
test
(
'Code points with two Unicode scalar values are allowed'
,
()
{
final
RawKeyEvent
keyAEvent
=
RawKeyEvent
.
fromMessage
(
const
<
String
,
dynamic
>{
'type'
:
'keydown'
,
'keymap'
:
'linux'
,
'toolkit'
:
'gtk'
,
'keyCode'
:
65
,
'scanCode'
:
0x00000026
,
'unicodeScalarValues'
:
0x10FFFF
,
'modifiers'
:
0x0
,
});
final
RawKeyEventDataLinux
data
=
keyAEvent
.
data
as
RawKeyEventDataLinux
;
expect
(
data
.
physicalKey
,
equals
(
PhysicalKeyboardKey
.
keyA
));
expect
(
data
.
logicalKey
.
keyId
,
equals
(
0x10FFFF
));
expect
(
data
.
keyLabel
,
equals
(
''
));
});
test
(
'Code points with more than three Unicode scalar values are not allowed'
,
()
{
// |keyCode| and |scanCode| are arbitrary values. This test should fail due to an invalid |unicodeScalarValues|.
void
_createFailingKey
()
{
RawKeyEvent
.
fromMessage
(
const
<
String
,
dynamic
>{
'type'
:
'keydown'
,
'keymap'
:
'linux'
,
'toolkit'
:
'gtk'
,
'keyCode'
:
65
,
'scanCode'
:
0x00000026
,
'unicodeScalarValues'
:
0x1F00000000
,
'modifiers'
:
0x0
,
});
}
expect
(()
=>
_createFailingKey
(),
throwsAssertionError
);
});
test
(
'Control keyboard keys are correctly translated'
,
()
{
final
RawKeyEvent
escapeKeyEvent
=
RawKeyEvent
.
fromMessage
(
const
<
String
,
dynamic
>{
'type'
:
'keydown'
,
'keymap'
:
'linux'
,
'toolkit'
:
'gtk'
,
'keyCode'
:
65307
,
'scanCode'
:
0x00000009
,
'unicodeScalarValues'
:
0
,
'modifiers'
:
0x0
,
});
final
RawKeyEventDataLinux
data
=
escapeKeyEvent
.
data
as
RawKeyEventDataLinux
;
expect
(
data
.
physicalKey
,
equals
(
PhysicalKeyboardKey
.
escape
));
expect
(
data
.
logicalKey
,
equals
(
LogicalKeyboardKey
.
escape
));
expect
(
data
.
keyLabel
,
isNull
);
});
test
(
'Modifier keyboard keys are correctly translated'
,
()
{
final
RawKeyEvent
shiftLeftKeyEvent
=
RawKeyEvent
.
fromMessage
(
const
<
String
,
dynamic
>{
'type'
:
'keydown'
,
'keymap'
:
'linux'
,
'toolkit'
:
'gtk'
,
'keyCode'
:
65505
,
'scanCode'
:
0x00000032
,
'unicodeScalarValues'
:
0
,
});
final
RawKeyEventDataLinux
data
=
shiftLeftKeyEvent
.
data
as
RawKeyEventDataLinux
;
expect
(
data
.
physicalKey
,
equals
(
PhysicalKeyboardKey
.
shiftLeft
));
expect
(
data
.
logicalKey
,
equals
(
LogicalKeyboardKey
.
shiftLeft
));
expect
(
data
.
keyLabel
,
isNull
);
});
},
skip:
isBrowser
);
group
(
'RawKeyEventDataWeb'
,
()
{
group
(
'RawKeyEventDataWeb'
,
()
{
const
Map
<
int
,
ModifierKey
>
modifierTests
=
<
int
,
ModifierKey
>{
const
Map
<
int
,
ModifierKey
>
modifierTests
=
<
int
,
ModifierKey
>{
RawKeyEventDataWeb
.
modifierAlt
:
ModifierKey
.
altModifier
,
RawKeyEventDataWeb
.
modifierAlt
:
ModifierKey
.
altModifier
,
...
...
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