From 5dd5ea23fb0142b63a78d830e8db52061a99c59b Mon Sep 17 00:00:00 2001 From: ramsrq <57735189+ramsrq@users.noreply.github.com> Date: Wed, 5 Apr 2023 20:42:26 -0600 Subject: [PATCH 1/2] Fix some issues Some issues ares detected when - There are white spaces before and/or after when send press multiple keys - There is a empty line at the end of the file (index out of bound) - When default delay is modified, single or multiple key remain pressed during default delay period. 144: Fix white spaces after line 189: Prevent from key still pressed when default delay is more than zero. 202: Prevent error index out of bound whet read last line 203: Fix --- adafruit_ducky.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/adafruit_ducky.py b/adafruit_ducky.py index 9772bd8..b820acb 100644 --- a/adafruit_ducky.py +++ b/adafruit_ducky.py @@ -141,6 +141,7 @@ def loop( # pylint: disable=too-many-return-statements if line is None: try: line = self.lines[0] + line = line.strip() # Fix except IndexError: print("Done!") return False @@ -185,10 +186,10 @@ def loop( # pylint: disable=too-many-return-statements self.write_key(start) if len(words) == 1: + self.keyboard.release_all() time.sleep(self.default_delay) self.last = self.lines[0] self.lines.pop(0) - self.keyboard.release_all() return True if len(words[1]): self.loop(line=words[1]) @@ -198,8 +199,8 @@ def loop( # pylint: disable=too-many-return-statements self.keyboard.release_all() time.sleep(self.default_delay) - self.last = self.lines[0] - self.lines.pop(0) + # self.last = self.lines[0] + # self.lines.pop(0) return True def write_key(self, start: str) -> None: From 6e3c9a4f6b0cf2ae9f8706528997eaa02c14ae1b Mon Sep 17 00:00:00 2001 From: foamyguy Date: Mon, 24 Apr 2023 16:24:29 -0500 Subject: [PATCH 2/2] code format. remove commented lines. remove EOL strip whitespace --- adafruit_ducky.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/adafruit_ducky.py b/adafruit_ducky.py index b820acb..b1c92ce 100644 --- a/adafruit_ducky.py +++ b/adafruit_ducky.py @@ -141,7 +141,6 @@ def loop( # pylint: disable=too-many-return-statements if line is None: try: line = self.lines[0] - line = line.strip() # Fix except IndexError: print("Done!") return False @@ -186,7 +185,7 @@ def loop( # pylint: disable=too-many-return-statements self.write_key(start) if len(words) == 1: - self.keyboard.release_all() + self.keyboard.release_all() time.sleep(self.default_delay) self.last = self.lines[0] self.lines.pop(0) @@ -199,8 +198,6 @@ def loop( # pylint: disable=too-many-return-statements self.keyboard.release_all() time.sleep(self.default_delay) - # self.last = self.lines[0] - # self.lines.pop(0) return True def write_key(self, start: str) -> None: