From b6e75af485eb03bff32657033fdf743f26cf1e81 Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Sun, 18 Oct 2020 14:39:02 -0400 Subject: [PATCH] keyboard: add retrieving of keyboard UID and vial protocol version --- src/main/python/keyboard.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/python/keyboard.py b/src/main/python/keyboard.py index aaf948d..ffbdbdc 100644 --- a/src/main/python/keyboard.py +++ b/src/main/python/keyboard.py @@ -14,6 +14,7 @@ CMD_VIA_SET_KEYCODE = 0x05 CMD_VIA_GET_LAYER_COUNT = 0x11 CMD_VIA_VIAL_PREFIX = 0xFE +CMD_VIAL_GET_KEYBOARD_ID = 0x00 CMD_VIAL_GET_SIZE = 0x01 CMD_VIAL_GET_DEFINITION = 0x02 @@ -31,6 +32,8 @@ class Keyboard: self.rows = self.cols = self.layers = 0 self.keys = [] + self.vial_protocol = self.keyboard_id = -1 + def reload(self, sideload_json=None): """ Load information about the keyboard: number of layers, physical key layout """ @@ -52,6 +55,10 @@ class Keyboard: if sideload_json is not None: payload = sideload_json else: + # get keyboard identification + data = self.usb_send(self.dev, struct.pack("BB", CMD_VIA_VIAL_PREFIX, CMD_VIAL_GET_KEYBOARD_ID)) + self.vial_protocol, self.keyboard_id = struct.unpack("