From da13f5ee817a3fafa4ee3aff5df081cc795bcb15 Mon Sep 17 00:00:00 2001 From: Arta <63291774+Arta48@users.noreply.github.com> Date: Tue, 7 Feb 2023 15:46:24 +0300 Subject: [PATCH 1/3] Update keyboard_mouse.py --- community/keyboard_mouse.py | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/community/keyboard_mouse.py b/community/keyboard_mouse.py index 419019d..be11c19 100644 --- a/community/keyboard_mouse.py +++ b/community/keyboard_mouse.py @@ -3,6 +3,9 @@ import controller import math +W_pressed = False +LCTRL_pressed = False + class Keyboard_Mouse(controller.Controller): def __init__(self, game): super().__init__(game) @@ -38,17 +41,25 @@ def on_mouse_drag(self, x, y, delta_x, delta_y, buttons, modifiers): self.on_mouse_motion(x, y, delta_x, delta_y) def on_key_press(self, key, modifiers): + global W_pressed, LCTRL_pressed + if not self.game.mouse_captured: return if key == pyglet.window.key.D: self.start_move(self.MoveMode.RIGHT) elif key == pyglet.window.key.A: self.start_move(self.MoveMode.LEFT) - elif key == pyglet.window.key.W: self.start_move(self.MoveMode.FORWARD) + elif key == pyglet.window.key.W: + W_pressed = True + self.start_move(self.MoveMode.FORWARD) + if LCTRL_pressed: + self.start_modifier(self.ModifierMode.SPRINT) elif key == pyglet.window.key.S: self.start_move(self.MoveMode.BACKWARD) elif key == pyglet.window.key.SPACE : self.start_move(self.MoveMode.UP) elif key == pyglet.window.key.LSHIFT: self.start_move(self.MoveMode.DOWN) - elif key == pyglet.window.key.LCTRL : self.start_modifier(self.ModifierMode.SPRINT) + elif key == pyglet.window.key.LCTRL: + LCTRL_pressed = True + self.start_modifier(self.ModifierMode.SPRINT) elif key == pyglet.window.key.E: self.misc(self.MiscMode.SPAWN) elif key == pyglet.window.key.F: self.misc(self.MiscMode.FLY) @@ -62,14 +73,22 @@ def on_key_press(self, key, modifiers): elif key == pyglet.window.key.F10: self.misc(self.MiscMode.TOGGLE_AO) def on_key_release(self, key, modifiers): + global W_pressed, LCTRL_pressed + if not self.game.mouse_captured: return if key == pyglet.window.key.D: self.end_move(self.MoveMode.RIGHT) elif key == pyglet.window.key.A: self.end_move(self.MoveMode.LEFT) - elif key == pyglet.window.key.W: self.end_move(self.MoveMode.FORWARD) + elif key == pyglet.window.key.W: + W_pressed = False + self.end_move(self.MoveMode.FORWARD) + self.end_modifier(self.ModifierMode.SPRINT) elif key == pyglet.window.key.S: self.end_move(self.MoveMode.BACKWARD) elif key == pyglet.window.key.SPACE : self.end_move(self.MoveMode.UP) elif key == pyglet.window.key.LSHIFT: self.end_move(self.MoveMode.DOWN) - elif key == pyglet.window.key.LCTRL : self.end_modifier(self.ModifierMode.SPRINT) + elif key == pyglet.window.key.LCTRL: + LCTRL_pressed = False + if not W_pressed: + self.end_modifier(self.ModifierMode.SPRINT) From 1f713e3b6ec10c4553b7a978e5002ede56d34c27 Mon Sep 17 00:00:00 2001 From: Arta <63291774+Arta48@users.noreply.github.com> Date: Tue, 7 Feb 2023 16:16:25 +0300 Subject: [PATCH 2/3] Update keyboard_mouse.py --- community/keyboard_mouse.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/community/keyboard_mouse.py b/community/keyboard_mouse.py index be11c19..bb77e22 100644 --- a/community/keyboard_mouse.py +++ b/community/keyboard_mouse.py @@ -59,7 +59,8 @@ def on_key_press(self, key, modifiers): elif key == pyglet.window.key.LCTRL: LCTRL_pressed = True - self.start_modifier(self.ModifierMode.SPRINT) + if W_pressed: + self.start_modifier(self.ModifierMode.SPRINT) elif key == pyglet.window.key.E: self.misc(self.MiscMode.SPAWN) elif key == pyglet.window.key.F: self.misc(self.MiscMode.FLY) From 4a92e283b7878cec6993b08be8c54046161714af Mon Sep 17 00:00:00 2001 From: Arta <63291774+Arta48@users.noreply.github.com> Date: Tue, 7 Feb 2023 17:24:37 +0300 Subject: [PATCH 3/3] Update keyboard_mouse.py --- community/keyboard_mouse.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/community/keyboard_mouse.py b/community/keyboard_mouse.py index bb77e22..832d777 100644 --- a/community/keyboard_mouse.py +++ b/community/keyboard_mouse.py @@ -3,8 +3,7 @@ import controller import math -W_pressed = False -LCTRL_pressed = False +W_pressed = LCTRL_pressed = False class Keyboard_Mouse(controller.Controller): def __init__(self, game):