From f19780d4ad85ee26172ae28bdea6ce88fd6db9fa Mon Sep 17 00:00:00 2001 From: tmk Date: Mon, 24 Jun 2019 16:11:36 +0900 Subject: [PATCH] adb_usb: Fix for Macally ADB keyboard - The odd keyboard sends key0 and key1 inversely for no reason. https://deskthority.net/workshop-f7/macally-mk96-t20116.html --- converter/adb_usb/matrix.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/converter/adb_usb/matrix.c b/converter/adb_usb/matrix.c index d49adfb2..67ed3d79 100644 --- a/converter/adb_usb/matrix.c +++ b/converter/adb_usb/matrix.c @@ -451,12 +451,14 @@ uint8_t matrix_scan(void) register_key(0x7F); } else if (codes == 0xFFFF) { // power key release register_key(0xFF); - } else if (key0 == 0xFF) { // error - xprintf("adb_host_kbd_recv: ERROR(%d)\n", codes); - // something wrong or plug-in - matrix_init(); - return key1; } else { + // Macally keyboard sends keys inversely against ADB protocol + // https://deskthority.net/workshop-f7/macally-mk96-t20116.html + if (key0 == 0xFF) { + key0 = key1; + key1 = 0xFF; + } + /* Swap codes for ISO keyboard * https://github.com/tmk/tmk_keyboard/issues/35 * -- 2.46.2