pikvm/pikvm#858, pikvm/pikvm#1249: Added slow typing mode for /api/hid/print

This commit is contained in:
Maxim Devaev
2024-12-11 21:09:49 +02:00
parent adbd4f242b
commit e014cbcedf
7 changed files with 42 additions and 14 deletions

View File

@@ -123,7 +123,8 @@ class HidApi:
if limit > 0:
text = text[:limit]
symmap = self.__ensure_symmap(req.query.get("keymap", self.__default_keymap_name))
self.__hid.send_key_events(text_to_web_keys(text, symmap), no_ignore_keys=True)
slow = valid_bool(req.query.get("slow", False))
await self.__hid.send_key_events(text_to_web_keys(text, symmap), no_ignore_keys=True, slow=slow)
return make_json_response()
def __ensure_symmap(self, keymap_name: str) -> dict[int, dict[int, str]]:
@@ -250,7 +251,7 @@ class HidApi:
state = valid_bool(req.query["state"])
self.__hid.send_key_event(key, state)
else:
self.__hid.send_key_events([(key, True), (key, False)])
await self.__hid.send_key_events([(key, True), (key, False)], slow=True)
return make_json_response()
@exposed_http("POST", "/hid/events/send_mouse_button")

View File

@@ -123,7 +123,7 @@ class Snapshoter: # pylint: disable=too-many-instance-attributes
if self.__wakeup_key:
logger.info("Waking up using key %r ...", self.__wakeup_key)
self.__hid.send_key_events(
await self.__hid.send_key_events(
keys=[(self.__wakeup_key, True), (self.__wakeup_key, False)],
no_ignore_keys=True,
)