From fc1fa8159e726fbdd59f364ed62255cfcf11cf94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Krac=C3=ADk?= Date: Sun, 24 May 2020 13:09:38 +0200 Subject: [PATCH] Hid: support mod keys --- hidinput.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/hidinput.py b/hidinput.py index b8f5c6f..463ba68 100644 --- a/hidinput.py +++ b/hidinput.py @@ -32,9 +32,18 @@ def hid_write(data): hiddev.flush() -def send_key(hidkey, shift, alt, ctlr, superkey): - # TODO handle mod keys - hid_write(NULL*2+chr(hidkey)+NULL*5) +def send_key(hidkey, shift, alt, ctlr, meta): + modkey = ord(NULL) + if shift: + modkey += hidkeycodes['KEY_MOD_LSHIFT'] + if alt: + modkey += hidkeycodes['KEY_MOD_LALT'] + if ctlr: + modkey += hidkeycodes['KEY_MOD_LCTRL'] + if meta: + modkey += hidkeycodes['KEY_MOD_LMETA'] + + hid_write(chr(modkey)+NULL+chr(hidkey)+NULL*5) hid_write(NULL*8)