summaryrefslogtreecommitdiff
path: root/kvmd/plugins/hid
diff options
context:
space:
mode:
authorDevaev Maxim <[email protected]>2020-06-06 13:19:30 +0300
committerDevaev Maxim <[email protected]>2020-06-06 13:19:30 +0300
commit04c3763e69a1e7d1705d56de0cd6b3e5e13f519d (patch)
tree09be3a85e221d07837bd1a474c8538b424251f66 /kvmd/plugins/hid
parent1d7d4100a57b5d654c1434c91e97187fe25698ef (diff)
send_key_events()
Diffstat (limited to 'kvmd/plugins/hid')
-rw-r--r--kvmd/plugins/hid/__init__.py4
-rw-r--r--kvmd/plugins/hid/otg/__init__.py6
-rw-r--r--kvmd/plugins/hid/otg/keyboard.py15
-rw-r--r--kvmd/plugins/hid/serial.py7
4 files changed, 21 insertions, 11 deletions
diff --git a/kvmd/plugins/hid/__init__.py b/kvmd/plugins/hid/__init__.py
index 5227d673..8f4cb02c 100644
--- a/kvmd/plugins/hid/__init__.py
+++ b/kvmd/plugins/hid/__init__.py
@@ -20,7 +20,9 @@
# ========================================================================== #
+from typing import Tuple
from typing import Dict
+from typing import Iterable
from typing import AsyncGenerator
from typing import Type
@@ -48,7 +50,7 @@ class BaseHid(BasePlugin):
# =====
- def send_key_event(self, key: str, state: bool) -> None:
+ def send_key_events(self, keys: Iterable[Tuple[str, bool]]) -> None:
raise NotImplementedError
def send_mouse_button_event(self, button: str, state: bool) -> None:
diff --git a/kvmd/plugins/hid/otg/__init__.py b/kvmd/plugins/hid/otg/__init__.py
index 3dc49c72..95566d34 100644
--- a/kvmd/plugins/hid/otg/__init__.py
+++ b/kvmd/plugins/hid/otg/__init__.py
@@ -20,7 +20,9 @@
# ========================================================================== #
+from typing import Tuple
from typing import Dict
+from typing import Iterable
from typing import AsyncGenerator
from typing import Any
@@ -113,8 +115,8 @@ class Plugin(BaseHid):
# =====
- def send_key_event(self, key: str, state: bool) -> None:
- self.__keyboard_proc.send_key_event(key, state)
+ def send_key_events(self, keys: Iterable[Tuple[str, bool]]) -> None:
+ self.__keyboard_proc.send_key_events(keys)
def send_mouse_button_event(self, button: str, state: bool) -> None:
self.__mouse_proc.send_button_event(button, state)
diff --git a/kvmd/plugins/hid/otg/keyboard.py b/kvmd/plugins/hid/otg/keyboard.py
index 63c15889..e0243798 100644
--- a/kvmd/plugins/hid/otg/keyboard.py
+++ b/kvmd/plugins/hid/otg/keyboard.py
@@ -22,8 +22,10 @@
import dataclasses
+from typing import Tuple
from typing import List
from typing import Set
+from typing import Iterable
from typing import Optional
from typing import Any
@@ -89,12 +91,13 @@ class KeyboardProcess(BaseDeviceProcess):
self._clear_queue()
self._queue_event(_ResetEvent())
- def send_key_event(self, key: str, state: bool) -> None:
- otg_key = KEYMAP[key].otg
- if otg_key.is_modifier:
- self._queue_event(_ModifierEvent(otg_key, state))
- else:
- self._queue_event(_KeyEvent(otg_key, state))
+ def send_key_events(self, keys: Iterable[Tuple[str, bool]]) -> None:
+ for (key, state) in keys:
+ otg_key = KEYMAP[key].otg
+ if otg_key.is_modifier:
+ self._queue_event(_ModifierEvent(otg_key, state))
+ else:
+ self._queue_event(_KeyEvent(otg_key, state))
# =====
diff --git a/kvmd/plugins/hid/serial.py b/kvmd/plugins/hid/serial.py
index c9705543..e9b65479 100644
--- a/kvmd/plugins/hid/serial.py
+++ b/kvmd/plugins/hid/serial.py
@@ -30,8 +30,10 @@ import struct
import errno
import time
+from typing import Tuple
from typing import List
from typing import Dict
+from typing import Iterable
from typing import AsyncGenerator
import serial
@@ -273,8 +275,9 @@ class Plugin(BaseHid, multiprocessing.Process): # pylint: disable=too-many-inst
# =====
- def send_key_event(self, key: str, state: bool) -> None:
- self.__queue_event(_KeyEvent(key, state))
+ def send_key_events(self, keys: Iterable[Tuple[str, bool]]) -> None:
+ for (key, state) in keys:
+ self.__queue_event(_KeyEvent(key, state))
def send_mouse_button_event(self, button: str, state: bool) -> None:
self.__queue_event(_MouseButtonEvent(button, state))