From 6e00a4c3c095bd3d2f0dd81d10cf2e648a4b6111 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Tue, 1 Jun 2021 17:16:52 +0200 Subject: [PATCH 01/20] Separate Key maps from the main program + gitignore --- .gitignore | 1 + pd_key_maps/keymap_US.py | 53 +++++++++++++++++++++++++++++++++++++++ piduck.py | 54 ++-------------------------------------- 3 files changed, 56 insertions(+), 52 deletions(-) create mode 100644 .gitignore create mode 100644 pd_key_maps/keymap_US.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c18dd8d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +__pycache__/ diff --git a/pd_key_maps/keymap_US.py b/pd_key_maps/keymap_US.py new file mode 100644 index 0000000..3968195 --- /dev/null +++ b/pd_key_maps/keymap_US.py @@ -0,0 +1,53 @@ +#!/bin/python3 +commap = {} +c1map = { + "a": 4, + "b": 5, + "c": 6, + "d": 7, + "e": 8, + "f": 9, + "g": 10, + "h": 11, + "i": 12, + "j": 13, + "k": 14, + "l": 15, + "m": 16, + "n": 17, + "o": 18, + "p": 19, + "q": 20, + "r": 21, + "s": 22, + "t": 23, + "u": 24, + "v": 25, + "w": 26, + "x": 27, + "y": 28, + "z": 29, + "1": 30, + "2": 31, + "3": 32, + "4": 33, + "5": 34, + "6": 35, + "7": 36, + "8": 37, + "9": 38, + "0": 39, + "RETURN": 40, + "ESC": 41, + "BACKSPACE": 42, + "TAB": 43, + "SPACE": 44, +} +c2map = {} +for i in range(65, 91): + c2map[chr(i)] = "SHIFT " + chr(i).lower() +aliasmap = { + "CTRL-ALT": "CTRL ALT", + "CTRL-SHIFT": "CTRL SHIFT", + "DEFAULT_DELAY": "DEFAULTDELAY", +} diff --git a/piduck.py b/piduck.py index fa73d9c..68808a4 100755 --- a/piduck.py +++ b/piduck.py @@ -2,58 +2,8 @@ import sys from time import sleep -commap = {} -c1map = { - "a": 4, - "b": 5, - "c": 6, - "d": 7, - "e": 8, - "f": 9, - "g": 10, - "h": 11, - "i": 12, - "j": 13, - "k": 14, - "l": 15, - "m": 16, - "n": 17, - "o": 18, - "p": 19, - "q": 20, - "r": 21, - "s": 22, - "t": 23, - "u": 24, - "v": 25, - "w": 26, - "x": 27, - "y": 28, - "z": 29, - "1": 30, - "2": 31, - "3": 32, - "4": 33, - "5": 34, - "6": 35, - "7": 36, - "8": 37, - "9": 38, - "0": 39, - "RETURN": 40, - "ESC": 41, - "BACKSPACE": 42, - "TAB": 43, - "SPACE": 44, -} -c2map = {} -for i in range(65, 91): - c2map[chr(i)] = "SHIFT " + chr(i).lower() -aliasmap = { - "CTRL-ALT": "CTRL ALT", - "CTRL-SHIFT": "CTRL SHIFT", - "DEFAULT_DELAY": "DEFAULTDELAY", -} +from pd_key_maps import keymap_US + default_delay = 10 string_delay = 10 From b7263b6d299e8474018df2f1284cf60055138b27 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Tue, 1 Jun 2021 17:33:50 +0200 Subject: [PATCH 02/20] Theoretical support for other Key Maps --- pd_key_maps/{keymap_US.py => keymap_us.py} | 0 piduck.py | 7 ++++++- 2 files changed, 6 insertions(+), 1 deletion(-) rename pd_key_maps/{keymap_US.py => keymap_us.py} (100%) diff --git a/pd_key_maps/keymap_US.py b/pd_key_maps/keymap_us.py similarity index 100% rename from pd_key_maps/keymap_US.py rename to pd_key_maps/keymap_us.py diff --git a/piduck.py b/piduck.py index 68808a4..c5407fc 100755 --- a/piduck.py +++ b/piduck.py @@ -1,8 +1,13 @@ #!/bin/python3 import sys +from importlib import import_module from time import sleep -from pd_key_maps import keymap_US +key_layout = "us" +try: + import_module("pd_key_maps.keymap_" + key_layout) +except ModuleNotFoundError: + exit(3) default_delay = 10 string_delay = 10 From 81b8d06676e27d53d2f35c8be9895268d2b0dd12 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Wed, 2 Jun 2021 15:44:55 +0200 Subject: [PATCH 03/20] Argpharse --- piduck.py | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/piduck.py b/piduck.py index c5407fc..d8dca7b 100755 --- a/piduck.py +++ b/piduck.py @@ -1,17 +1,34 @@ #!/bin/python3 -import sys +# import sys +import argparse from importlib import import_module from time import sleep key_layout = "us" +default_delay = 10 +string_delay = 10 + +piparser = argparse.ArgumentParser() +piparser.add_argument("-i", "--input", help="File input") +piparser.add_argument( + "-l", "--keyboardlayoutcode", help="Language codes specified by ISO639-1:2002" +) +piparser.add_argument("-d", "--defaultdelay", help="The default delay of execution") +piparser.add_argument( + "-s", "--defaultchardelay", help="The default char delay of execution" +) +piargs = piparser.parse_args() +if piargs.keyboardlayoutcode is not None: + key_layout = piargs.keyboardlayoutcode +if piargs.defaultdelay is not None: + default_delay = piargs.defaultdelay +if piargs.defaultchardelay is not None: + string_delay = piargs.defaultchardelay try: import_module("pd_key_maps.keymap_" + key_layout) except ModuleNotFoundError: exit(3) -default_delay = 10 -string_delay = 10 - def divide_chunks(l, n): for i in range(0, len(l), n): @@ -75,16 +92,17 @@ def out(ccl): fd.write((chr(0) * 8).encode()) +# argparse fix def main(): - if len(sys.argv) >= 2: - file1 = open(sys.argv[1], "r") + if piargs.input is not None: + file1 = open(piargs.input, "r") while True: line = file1.readline() if not line: break pharse(line.strip(), [], False) file1.close() - elif len(sys.argv) == 1: + else: while True: line = input() if not line: From 3478b64a43d22dfee762baddb1d6b165807b3c26 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Wed, 2 Jun 2021 16:00:23 +0200 Subject: [PATCH 04/20] FIX* --- piduck.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/piduck.py b/piduck.py index d8dca7b..53712e0 100755 --- a/piduck.py +++ b/piduck.py @@ -25,7 +25,7 @@ if piargs.defaultchardelay is not None: string_delay = piargs.defaultchardelay try: - import_module("pd_key_maps.keymap_" + key_layout) + keymap = import_module("pd_key_maps.keymap_" + key_layout) except ModuleNotFoundError: exit(3) @@ -64,17 +64,20 @@ def pharse(line, known, deltrue): elif command[0] == "DEFAULTDELAY": default_delay = int(command[1]) return - elif command[0] in aliasmap: - pharse(aliasmap[command[0]] + " ".join(command[1:]), True) + elif command[0] in keymap.aliasmap: + pharse(keymap.aliasmap[command[0]] + " ".join(command[1:]), True) return - elif command[0] in commap: + elif command[0] in keymap.commap: known.append(commap[command[0]]) - pharse(" ".join(command[1:]), known, True) + pharse(" ".join(keymap.command[1:]), known, True) return - elif command[0] in c1map: - known.append(c1map[command[0]]) + elif command[0] in keymap.c1map: + known.append(keymap.c1map[command[0]]) out(known) return + elif command[0] in keymap.c2map: + pharse(keymap.c2map[command[0]] + " ".join(command[1:]), True) + return else: exit(2) From 29e3d2274cdc7ade13f2461acaa49a3e13a2fd31 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Wed, 2 Jun 2021 18:05:26 +0200 Subject: [PATCH 05/20] FIX: String Space Errors --- pd_key_maps/keymap_us.py | 3 ++- piduck.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pd_key_maps/keymap_us.py b/pd_key_maps/keymap_us.py index 3968195..bc21286 100644 --- a/pd_key_maps/keymap_us.py +++ b/pd_key_maps/keymap_us.py @@ -41,7 +41,7 @@ "ESC": 41, "BACKSPACE": 42, "TAB": 43, - "SPACE": 44, + " ": 44, } c2map = {} for i in range(65, 91): @@ -50,4 +50,5 @@ "CTRL-ALT": "CTRL ALT", "CTRL-SHIFT": "CTRL SHIFT", "DEFAULT_DELAY": "DEFAULTDELAY", + "SPACE": " ", } diff --git a/piduck.py b/piduck.py index 53712e0..fb813e7 100755 --- a/piduck.py +++ b/piduck.py @@ -65,7 +65,7 @@ def pharse(line, known, deltrue): default_delay = int(command[1]) return elif command[0] in keymap.aliasmap: - pharse(keymap.aliasmap[command[0]] + " ".join(command[1:]), True) + pharse(keymap.aliasmap[command[0]] + " ".join(command[1:]), known, True) return elif command[0] in keymap.commap: known.append(commap[command[0]]) @@ -76,7 +76,7 @@ def pharse(line, known, deltrue): out(known) return elif command[0] in keymap.c2map: - pharse(keymap.c2map[command[0]] + " ".join(command[1:]), True) + pharse(keymap.c2map[command[0]] + " ".join(command[1:]), known, True) return else: exit(2) From 0835cb7849aeeafa778e2088ea5d012d60951090 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Wed, 2 Jun 2021 18:39:16 +0200 Subject: [PATCH 06/20] TRY: FIX: space & Upper --- piduck.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/piduck.py b/piduck.py index fb813e7..7e0ce2b 100755 --- a/piduck.py +++ b/piduck.py @@ -44,7 +44,10 @@ def string(string): def pharse(line, known, deltrue): global default_delay global string_delay - command = line.split() + if line != " ": + command = line.split() + else: + command = [" "] if not deltrue: if command[0] == "DELAY": sleep(int(command[1]) / 100) @@ -76,7 +79,7 @@ def pharse(line, known, deltrue): out(known) return elif command[0] in keymap.c2map: - pharse(keymap.c2map[command[0]] + " ".join(command[1:]), known, True) + pharse(keymap.c2map[command[0]], known, True) return else: exit(2) From be3f49dfee3d84a1ef0758a5d2bb9b0a7f86a5ee Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Wed, 2 Jun 2021 18:53:41 +0200 Subject: [PATCH 07/20] TRY: Shift --- pd_key_maps/keymap_us.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pd_key_maps/keymap_us.py b/pd_key_maps/keymap_us.py index bc21286..d796223 100644 --- a/pd_key_maps/keymap_us.py +++ b/pd_key_maps/keymap_us.py @@ -1,5 +1,5 @@ #!/bin/python3 -commap = {} +commap = {"RSHIFT": 20} c1map = { "a": 4, "b": 5, @@ -51,4 +51,5 @@ "CTRL-SHIFT": "CTRL SHIFT", "DEFAULT_DELAY": "DEFAULTDELAY", "SPACE": " ", + "SHIFT": "RSHIFT", } From 516b6e4111c9e13afc63aa561cd5fd011324a84b Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Wed, 2 Jun 2021 19:26:16 +0200 Subject: [PATCH 08/20] TRY: Shift --- piduck.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/piduck.py b/piduck.py index 7e0ce2b..2bf0e83 100755 --- a/piduck.py +++ b/piduck.py @@ -68,11 +68,11 @@ def pharse(line, known, deltrue): default_delay = int(command[1]) return elif command[0] in keymap.aliasmap: - pharse(keymap.aliasmap[command[0]] + " ".join(command[1:]), known, True) + pharse(keymap.aliasmap[command[0]] + " " + " ".join(command[1:]), known, True) return elif command[0] in keymap.commap: - known.append(commap[command[0]]) - pharse(" ".join(keymap.command[1:]), known, True) + known.append(keymap.commap[command[0]]) + pharse(" ".join(command[1:]), known, True) return elif command[0] in keymap.c1map: known.append(keymap.c1map[command[0]]) From 4565e75ade65849a76656a90025b7b829f13f27a Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Wed, 2 Jun 2021 22:12:35 +0200 Subject: [PATCH 09/20] Undo TRY: Shift --- pd_key_maps/keymap_us.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pd_key_maps/keymap_us.py b/pd_key_maps/keymap_us.py index d796223..6e29181 100644 --- a/pd_key_maps/keymap_us.py +++ b/pd_key_maps/keymap_us.py @@ -1,5 +1,5 @@ #!/bin/python3 -commap = {"RSHIFT": 20} +commap = {} c1map = { "a": 4, "b": 5, From bc35980f63455678c5aab4f21e0f874a884f345f Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Mon, 7 Jun 2021 17:50:45 +0200 Subject: [PATCH 10/20] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9bf1783..708ff49 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ The function `REPEAT`, Control keys and other special character and keys are mis ## Contributions All contributions are welcome! - ## Setup ### HID Setup [Source1][Hid-setup-source1] From d778df2dc6b7c90a3744a5051b291b4ce724d3bb Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Mon, 7 Jun 2021 19:14:29 +0200 Subject: [PATCH 11/20] TRY: CONTROL --- pd_key_maps/keymap_us.py | 21 +++++++++++++++++---- piduck.py | 15 ++++++++++----- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/pd_key_maps/keymap_us.py b/pd_key_maps/keymap_us.py index 6e29181..9627e5a 100644 --- a/pd_key_maps/keymap_us.py +++ b/pd_key_maps/keymap_us.py @@ -1,5 +1,14 @@ #!/bin/python3 -commap = {} +commap = { + "LCTRL": 1, + "LSHIFT": 2, + "LALT": 4, + "LMETA": 8, + "RCTRL": 16, + "RSHIFT": 32, + "RALT": 64, + "RMETA": 128, +} c1map = { "a": 4, "b": 5, @@ -41,15 +50,19 @@ "ESC": 41, "BACKSPACE": 42, "TAB": 43, - " ": 44, + "SPACE": 44, } c2map = {} for i in range(65, 91): c2map[chr(i)] = "SHIFT " + chr(i).lower() aliasmap = { + "CTRL": "LCTRL", + "SHIFT": "LSHIFT", + "ALT": "LALT", + "META": "LMETA", + "CONTROL": "CTRL", "CTRL-ALT": "CTRL ALT", "CTRL-SHIFT": "CTRL SHIFT", "DEFAULT_DELAY": "DEFAULTDELAY", - "SPACE": " ", - "SHIFT": "RSHIFT", + " ": "SPACE", } diff --git a/piduck.py b/piduck.py index 2bf0e83..cf3da1e 100755 --- a/piduck.py +++ b/piduck.py @@ -87,12 +87,17 @@ def pharse(line, known, deltrue): def out(ccl): # ccl_part=list(divide_chunks(ccl, n)) - rep = chr(0) * 2 i = 2 - for e in ccl: - i += 1 - rep = rep + chr(e) - rep = rep + (chr(0) * (8 - i)) + if len(ccl) == 1: + rep = (chr(0) * 2) + chr(ccl[0]) + e = 3 + else: + rep = "" + for e in range(len(ccl) - 1): + rep = rep + chr(ccl[e]) + e = e + 2 + rep = rep + chr(0) + chr(ccl[e - 1]) + rep = rep + (chr(0) * (8 - e)) with open("/dev/hidg0", "rb+") as fd: fd.write(rep.encode()) fd.write((chr(0) * 8).encode()) From 1f2212c7bce24cc7b8939470a3ded625b157ce4c Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Mon, 7 Jun 2021 20:31:32 +0200 Subject: [PATCH 12/20] extend-us-keymap-part1 --- pd_key_maps/keymap_us.py | 91 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/pd_key_maps/keymap_us.py b/pd_key_maps/keymap_us.py index 9627e5a..841936e 100644 --- a/pd_key_maps/keymap_us.py +++ b/pd_key_maps/keymap_us.py @@ -51,6 +51,90 @@ "BACKSPACE": 42, "TAB": 43, "SPACE": 44, + "-": 45, + "=": 46, + "(": 47, + ")": 48, + "\\": 49, + "#": 50, + ":": 51, + '"': 52, + "~": 53, + ",": 54, + ".": 55, + "/": 56, + "CAPSLOCK": 57, + "F1": 58, + "F2": 59, + "F3": 60, + "F4": 61, + "F5": 62, + "F6": 63, + "F7": 64, + "F8": 65, + "F9": 66, + "F10": 67, + "F11": 68, + "F12": 69, + "PRINT": 70, + "SCROLLLOCK": 71, + "PAUSE": 72, + "INSERT": 73, + "HOME": 74, + "PAGEUP": 75, + "DELETE": 76, + "END": 77, + "PAGEDOWN": 78, + "RIGHT": 79, + "LEFT": 80, + "DOWN": 81, + "UP": 82, + "NUMLOCK": 83, + # kp-divide:"54", + # kp-multiply:"55", + # kp-minus:"56", + # kp-plus:"57", + # kp-return:"58", + # kp-1:"59", + # kp-2:"5a", + # kp-3:"5b", + # kp-4:"5c", + # kp-5:"5d", + # kp-6:"5e", + # kp-7:"5f", + # kp-8:"60", + # kp-9:"61", + # kp-0:"62", + # kp-period:"63", + # application:"65", + # power:"66", + # kp-equal:"67", + "F13": 104, + "F14": 105, + "F15": 106, + "F16": 107, + "F17": 108, + "F18": 109, + "F19": 110, + "F20": 111, + "F21": 112, + "F22": 113, + "F23": 114, + "F24": 115, + # execute:116, + # help:117, + # menu:118, + # select:119, + # cancel:120, + # redo:121, + # undo:122, + # cut:123, + # copy:124, + # paste:125, + # find:126, + # mute:127, + # volume-up:128, + # volume-down:129, } c2map = {} for i in range(65, 91): @@ -61,8 +145,15 @@ "ALT": "LALT", "META": "LMETA", "CONTROL": "CTRL", + "GUI": "META", + "ESCAPE": "ESC", + "RIGHTARROW": "RIGHT", + "LEFTARROW": "LEFT", + "DOWNARROW": "DOWN", + "UPARROW": "UP", "CTRL-ALT": "CTRL ALT", "CTRL-SHIFT": "CTRL SHIFT", "DEFAULT_DELAY": "DEFAULTDELAY", " ": "SPACE", + "BREAK": "PAUSE", } From 33adb93b49cfc4ebe4f5a1f4ef61122d9551962f Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Mon, 7 Jun 2021 20:33:20 +0200 Subject: [PATCH 13/20] Update README --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 708ff49..4165c48 100644 --- a/README.md +++ b/README.md @@ -69,10 +69,11 @@ Also run these commands as root! Syntax of [Ducky-Script-v1][Ducky-Script-v1-Syntax] Root is needed (again) ### Using Script File -`piduck inject.txt` +`piduck -i inject.txt` ### Input from standard input `piduck` - +### Set Layout +`piduck -l xx` ## Disclamer This project may not be used illegally and i am not responsible for any damages made with or by this project. From e7b36f82f953ac62ea2f7e0890fead63eab539af Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Mon, 7 Jun 2021 20:34:32 +0200 Subject: [PATCH 14/20] Set default string_delay to 1 ms --- piduck.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/piduck.py b/piduck.py index cf3da1e..d88b9f5 100755 --- a/piduck.py +++ b/piduck.py @@ -6,7 +6,7 @@ key_layout = "us" default_delay = 10 -string_delay = 10 +string_delay = 1 piparser = argparse.ArgumentParser() piparser.add_argument("-i", "--input", help="File input") From c2d18ff4744b78691386bdda09432e7d05dd018d Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Tue, 8 Jun 2021 08:46:28 +0200 Subject: [PATCH 15/20] Update to delaying system --- piduck.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/piduck.py b/piduck.py index d88b9f5..4de02b5 100755 --- a/piduck.py +++ b/piduck.py @@ -48,25 +48,25 @@ def pharse(line, known, deltrue): command = line.split() else: command = [" "] - if not deltrue: - if command[0] == "DELAY": - sleep(int(command[1]) / 100) - return - elif command[0] == "REM": - return - elif command[0] == "REPEAT": - return # todo - else: - sleep(default_delay / 100) - if command[0] == "STRING": - string(" ".join(command[1:])) + if command[0] == "DELAY": + sleep(int(command[1]) / 100) return + elif command[0] == "REM": + return + elif command[0] == "REPEAT": + return # todo elif command[0] == "DEFAULTCHARDELAY": string_delay = int(command[1]) return elif command[0] == "DEFAULTDELAY": default_delay = int(command[1]) return + else: + if not deltrue: + sleep(default_delay / 100) + if command[0] == "STRING": + string(line[len("STRING "):]) + return elif command[0] in keymap.aliasmap: pharse(keymap.aliasmap[command[0]] + " " + " ".join(command[1:]), known, True) return From c4308f172b2d9e828b45a6eee8a31d9d62b2e8e3 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Tue, 8 Jun 2021 16:48:19 +0200 Subject: [PATCH 16/20] Update piduck.py --- piduck.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/piduck.py b/piduck.py index 4de02b5..58b10e4 100755 --- a/piduck.py +++ b/piduck.py @@ -86,24 +86,21 @@ def pharse(line, known, deltrue): def out(ccl): - # ccl_part=list(divide_chunks(ccl, n)) - i = 2 - if len(ccl) == 1: - rep = (chr(0) * 2) + chr(ccl[0]) - e = 3 - else: - rep = "" - for e in range(len(ccl) - 1): + rep = "" + if len(ccl[0]) > 0: + for e in ccl[0]: rep = rep + chr(ccl[e]) - e = e + 2 - rep = rep + chr(0) + chr(ccl[e - 1]) - rep = rep + (chr(0) * (8 - e)) + else: + rep = rep + chr(0) + rep = rep + chr(0) + for e in ccl[1]: + rep = rep + chr(ccl[e]) + rep = rep + chr(0) * (8 - len(rep)) with open("/dev/hidg0", "rb+") as fd: fd.write(rep.encode()) fd.write((chr(0) * 8).encode()) -# argparse fix def main(): if piargs.input is not None: file1 = open(piargs.input, "r") From 944d66cfd2dcef07a609ca84573cd4812e2bd2ce Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Tue, 8 Jun 2021 19:09:47 +0200 Subject: [PATCH 17/20] Update piduck.py --- piduck.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/piduck.py b/piduck.py index 58b10e4..a32d103 100755 --- a/piduck.py +++ b/piduck.py @@ -30,11 +30,6 @@ exit(3) -def divide_chunks(l, n): - for i in range(0, len(l), n): - yield l[i : i + n] - - def string(string): for char in string: pharse(char, [], True) @@ -65,22 +60,22 @@ def pharse(line, known, deltrue): if not deltrue: sleep(default_delay / 100) if command[0] == "STRING": - string(line[len("STRING "):]) - return - elif command[0] in keymap.aliasmap: - pharse(keymap.aliasmap[command[0]] + " " + " ".join(command[1:]), known, True) + string(line[len("STRING ") :]) return elif command[0] in keymap.commap: - known.append(keymap.commap[command[0]]) + known[0].append(keymap.commap[command[0]]) pharse(" ".join(command[1:]), known, True) return elif command[0] in keymap.c1map: - known.append(keymap.c1map[command[0]]) + known[1].append(keymap.c1map[command[0]]) out(known) return elif command[0] in keymap.c2map: pharse(keymap.c2map[command[0]], known, True) return + elif command[0] in keymap.aliasmap: + pharse(keymap.aliasmap[command[0]] + " " + " ".join(command[1:]), known, True) + return else: exit(2) @@ -108,14 +103,14 @@ def main(): line = file1.readline() if not line: break - pharse(line.strip(), [], False) + pharse(line.strip(), [[], []], False) file1.close() else: while True: line = input() if not line: break - pharse(line.strip(), [], False) + pharse(line.strip(), [[], []], False) main() From 708af798585a3205ed498495797b8140d70f4918 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Tue, 8 Jun 2021 19:55:26 +0200 Subject: [PATCH 18/20] FIX* --- piduck.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/piduck.py b/piduck.py index a32d103..8d76bee 100755 --- a/piduck.py +++ b/piduck.py @@ -32,7 +32,7 @@ def string(string): for char in string: - pharse(char, [], True) + pharse(char, [[], []], True) sleep(string_delay / 100) From b06f74e52e429234375cd194ec9dd84738bf6286 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Tue, 8 Jun 2021 20:00:09 +0200 Subject: [PATCH 19/20] FIX --- piduck.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/piduck.py b/piduck.py index 8d76bee..17f80a2 100755 --- a/piduck.py +++ b/piduck.py @@ -84,12 +84,12 @@ def out(ccl): rep = "" if len(ccl[0]) > 0: for e in ccl[0]: - rep = rep + chr(ccl[e]) + rep = rep + chr(e) else: rep = rep + chr(0) rep = rep + chr(0) for e in ccl[1]: - rep = rep + chr(ccl[e]) + rep = rep + chr(e) rep = rep + chr(0) * (8 - len(rep)) with open("/dev/hidg0", "rb+") as fd: fd.write(rep.encode()) From 96bc415708542b35f3e14f4e4cf0f6c360f6a423 Mon Sep 17 00:00:00 2001 From: gitdev-bash <63194733+gitdev-bash@users.noreply.github.com> Date: Thu, 10 Jun 2021 08:50:00 +0200 Subject: [PATCH 20/20] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4165c48..ab5a035 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Piduck is a program with which you can easily use your Raspberry Pi Zero as a USB HID keyboard. It uses the scripting language [Ducky-Script-v1]. The Project is in Beta and help is needed. -The function `REPEAT`, Control keys and other special character and keys are missing. For now, only the US keyboard layout is available. +The function `REPEAT`, `FN` and other special character and keys are missing. For now, only the US keyboard layout is available. ## Contributions All contributions are welcome!