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)