From d29b8016577ed7e8fee458bcc14d174ddaed5b42 Mon Sep 17 00:00:00 2001 From: Shayaan Shaikh Date: Mon, 11 Dec 2023 21:31:59 +0530 Subject: [PATCH 1/2] #95 created config for forward key --- fishy/engine/__init__.py | 1 + fishy/engine/fullautofisher/engine.py | 4 +-- .../engine/fullautofisher/mode/calibrator.py | 4 +-- fishy/gui/config_top.py | 28 +++++++++++++++---- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/fishy/engine/__init__.py b/fishy/engine/__init__.py index 156a158..8b10466 100644 --- a/fishy/engine/__init__.py +++ b/fishy/engine/__init__.py @@ -1 +1,2 @@ from fishy.engine.semifisher.engine import SemiFisherEngine +from fishy.engine.fullautofisher.engine import FullAuto \ No newline at end of file diff --git a/fishy/engine/fullautofisher/engine.py b/fishy/engine/fullautofisher/engine.py index 057c85a..36fc6f9 100644 --- a/fishy/engine/fullautofisher/engine.py +++ b/fishy/engine/fullautofisher/engine.py @@ -120,9 +120,9 @@ class FullAuto(IEngine): walking_time = dist / self.calibrator.move_factor logging.debug(f"walking for {walking_time}") - kb.press('w') + kb.press(config.get("forward_key")) time.sleep(walking_time) - kb.release('w') + kb.release(config.get("forward_key")) logging.debug("done") # todo: maybe check if it reached the destination before returning true? return True diff --git a/fishy/engine/fullautofisher/mode/calibrator.py b/fishy/engine/fullautofisher/mode/calibrator.py index 678c1d1..71feb47 100644 --- a/fishy/engine/fullautofisher/mode/calibrator.py +++ b/fishy/engine/fullautofisher/mode/calibrator.py @@ -63,9 +63,9 @@ class Calibrator(IMode): x1, y1, rot1 = coords - kb.press('w') + kb.press(config.get("forward_key")) time.sleep(walking_time) - kb.release('w') + kb.release(config.get("forward_key")) time.sleep(0.5) coords = self.engine.get_coords() diff --git a/fishy/gui/config_top.py b/fishy/gui/config_top.py index 0851caf..77a782e 100644 --- a/fishy/gui/config_top.py +++ b/fishy/gui/config_top.py @@ -13,11 +13,20 @@ from fishy.helper.config import config from fishy.helper.popup import PopUp -def start_fullfisher_config(gui: 'GUI'): - top = PopUp(helper.empty_function, gui._root, background=gui._root["background"]) +def del_entry_key(event): + event.widget.delete(0, "end") + event.widget.insert(0, str(event.char)) + + +def start_fullfisher_config(gui: 'GUI' ): + def save(): + gui.config.set("forward_key", forward_key_entry.get()) + + top = PopUp(save, gui._root, background=gui._root["background"]) controls_frame = ttk.Frame(top) top.title("Config") + def file_name(): file = config.get("full_auto_rec_file", None) if file is None: @@ -63,6 +72,14 @@ def start_fullfisher_config(gui: 'GUI'): row += 1 + ttk.Label(controls_frame, text="Forward key:").grid(row=row, column=0) + forward_key_entry = ttk.Entry(controls_frame, justify=tk.CENTER) + forward_key_entry.grid(row=row, column=1) + forward_key_entry.insert(0, config.get("forward_key", "w")) + forward_key_entry.bind("", del_entry_key) + + row += 1 + ttk.Label(controls_frame, text="Edit Mode: ").grid(row=row, column=0) edit_state = tk.NORMAL if config.get("full_auto_mode", 0) == FullAutoMode.Recorder.value else tk.DISABLED edit_cb = ttk.Checkbutton(controls_frame, variable=edit_var, state=edit_state, command=lambda: config.set("edit_recorder_mode", edit_var.get())) @@ -111,9 +128,7 @@ def start_semifisher_config(gui: 'GUI'): if web.sub(): gui._notify.set(1) - def del_entry_key(event): - event.widget.delete(0, "end") - event.widget.insert(0, str(event.char)) + top = PopUp(save, gui._root, background=gui._root["background"]) controls_frame = ttk.Frame(top) @@ -130,7 +145,7 @@ def start_semifisher_config(gui: 'GUI'): gui._notify_check['state'] = tk.NORMAL gui._notify.set(is_subbed[0]) - ttk.Label(controls_frame, text="Action Key:").grid(row=1, column=0) + ttk.Label(controls_frame, text="action Key:").grid(row=1, column=0) action_key_entry = ttk.Entry(controls_frame, justify=tk.CENTER) action_key_entry.grid(row=1, column=1) action_key_entry.insert(0, config.get("action_key", "e")) @@ -160,4 +175,5 @@ if __name__ == '__main__': from fishy.gui import GUI gui = GUI(lambda: IEngineHandler()) gui.call_in_thread(lambda: start_semifisher_config(gui)) + gui.call_in_thread(lambda: start_fullfisher_config(gui)) gui.create() From a59909de9d291e9df9fc21939ca357a1ed1ac5cb Mon Sep 17 00:00:00 2001 From: Adam Saudagar Date: Fri, 15 Dec 2023 18:37:16 +0530 Subject: [PATCH 2/2] #95 added default config for when forward_key isn't set but used --- fishy/engine/fullautofisher/engine.py | 7 +++++-- fishy/engine/fullautofisher/mode/calibrator.py | 6 ++++-- fishy/gui/config_top.py | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/fishy/engine/fullautofisher/engine.py b/fishy/engine/fullautofisher/engine.py index 36fc6f9..d562068 100644 --- a/fishy/engine/fullautofisher/engine.py +++ b/fishy/engine/fullautofisher/engine.py @@ -120,9 +120,12 @@ class FullAuto(IEngine): walking_time = dist / self.calibrator.move_factor logging.debug(f"walking for {walking_time}") - kb.press(config.get("forward_key")) + + forward_key = config.get("forward_key", 'w') + kb.press(forward_key) time.sleep(walking_time) - kb.release(config.get("forward_key")) + kb.release(forward_key) + logging.debug("done") # todo: maybe check if it reached the destination before returning true? return True diff --git a/fishy/engine/fullautofisher/mode/calibrator.py b/fishy/engine/fullautofisher/mode/calibrator.py index 71feb47..93e6bbc 100644 --- a/fishy/engine/fullautofisher/mode/calibrator.py +++ b/fishy/engine/fullautofisher/mode/calibrator.py @@ -63,9 +63,11 @@ class Calibrator(IMode): x1, y1, rot1 = coords - kb.press(config.get("forward_key")) + forward_key = config.get("forward_key", 'w') + kb.press(forward_key) time.sleep(walking_time) - kb.release(config.get("forward_key")) + kb.release(forward_key) + time.sleep(0.5) coords = self.engine.get_coords() diff --git a/fishy/gui/config_top.py b/fishy/gui/config_top.py index 77a782e..a71e75b 100644 --- a/fishy/gui/config_top.py +++ b/fishy/gui/config_top.py @@ -145,7 +145,7 @@ def start_semifisher_config(gui: 'GUI'): gui._notify_check['state'] = tk.NORMAL gui._notify.set(is_subbed[0]) - ttk.Label(controls_frame, text="action Key:").grid(row=1, column=0) + ttk.Label(controls_frame, text="Action Key:").grid(row=1, column=0) action_key_entry = ttk.Entry(controls_frame, justify=tk.CENTER) action_key_entry.grid(row=1, column=1) action_key_entry.insert(0, config.get("action_key", "e"))