add key down key up
This commit is contained in:
@@ -12,6 +12,15 @@ class AbstractKeyboardController(ABC):
|
||||
@abstractmethod
|
||||
def key(self, key: str):
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def key_down(self, key: str):
|
||||
raise NotImplementedError
|
||||
|
||||
@abstractmethod
|
||||
def key_up(self, key: str):
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
class XDoToolKeyboardController(AbstractKeyboardController, XDoToolController):
|
||||
def __init__(self, ssh_connection: Connection):
|
||||
@@ -23,6 +32,12 @@ class XDoToolKeyboardController(AbstractKeyboardController, XDoToolController):
|
||||
def key(self, key: str):
|
||||
self._execute_xdotool_command(f"key {key}")
|
||||
|
||||
def key_down(self, key: str):
|
||||
self._execute_xdotool_command(f"keydown {key}")
|
||||
|
||||
def key_up(self, key: str):
|
||||
self._execute_xdotool_command(f"keyup {key}")
|
||||
|
||||
class PythonKeyboardController(AbstractKeyboardController, PythonController):
|
||||
def __init__(self, http_server: str):
|
||||
super().__init__(http_server=http_server)
|
||||
@@ -32,4 +47,10 @@ class PythonKeyboardController(AbstractKeyboardController, PythonController):
|
||||
self._execute_python_command(self.command.format(command=f"keyboard.write('{text}')"))
|
||||
|
||||
def key(self, key: str):
|
||||
self._execute_python_command(self.command.format(command=f"keyboard.press_and_release('{key}')"))
|
||||
self._execute_python_command(self.command.format(command=f"keyboard.press_and_release('{key}')"))
|
||||
|
||||
def key_down(self, key: str):
|
||||
self._execute_python_command(self.command.format(command=f"keyboard.press('{key}')"))
|
||||
|
||||
def key_up(self, key: str):
|
||||
self._execute_python_command(self.command.format(command=f"keyboard.release('{key}')"))
|
||||
|
||||
Reference in New Issue
Block a user