Start of internal keycodes

This commit is contained in:
Kyle Brown
2018-09-21 12:57:29 -07:00
committed by Josh Klar
parent f84c58a03e
commit d0f35100b3
5 changed files with 43 additions and 14 deletions

View File

@@ -3,6 +3,7 @@ import string
from pyb import USB_HID, delay
import kmk.common.internal_keycodes as internal_keycodes
from kmk.common.event_defs import KEY_DOWN_EVENT, KEY_UP_EVENT
from kmk.common.keycodes import Keycodes, char_lookup
@@ -49,19 +50,26 @@ class HIDHelper:
def _subscription(self, state, action):
if action['type'] == KEY_DOWN_EVENT:
if action['keycode'].is_modifier:
self.add_modifier(action['keycode'])
self.send()
# If keycode is 1000 or over, these are internal keys
if action['keycode'].code < 1000:
if action['keycode'].is_modifier:
self.add_modifier(action['keycode'])
self.send()
else:
self.add_key(action['keycode'])
self.send()
else:
self.add_key(action['keycode'])
self.send()
self.logger.warning('Should be processing')
internal_keycodes.process(self, state, action['keycode'])
elif action['type'] == KEY_UP_EVENT:
if action['keycode'].is_modifier:
self.remove_modifier(action['keycode'])
self.send()
else:
self.remove_key(action['keycode'])
self.send()
# If keycode is 1000 or over, these are internal keys
if action['keycode'].code < 1000:
if action['keycode'].is_modifier:
self.remove_modifier(action['keycode'])
self.send()
else:
self.remove_key(action['keycode'])
self.send()
def send(self):
self.logger.debug('Sending HID report: {}'.format(self._evt))