From 9caad1d818865e85be58405e7246470d6d997c35 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 27 Apr 2020 13:45:18 -0700 Subject: [PATCH 1/2] Boot Keyboard keys were never being released. Fixes #825 --- src/kaleidoscope/driver/hid/base/Keyboard.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/kaleidoscope/driver/hid/base/Keyboard.h b/src/kaleidoscope/driver/hid/base/Keyboard.h index 8b2557ab..a1551893 100644 --- a/src/kaleidoscope/driver/hid/base/Keyboard.h +++ b/src/kaleidoscope/driver/hid/base/Keyboard.h @@ -193,8 +193,12 @@ class Keyboard { } void releaseAllKeys() __attribute__((noinline)) { resetModifierTracking(); - nkro_keyboard_.releaseAll(); - consumer_control_.releaseAll(); + if (boot_keyboard_.getProtocol() == HID_BOOT_PROTOCOL) { + boot_keyboard_.releaseAll(); + } else { + nkro_keyboard_.releaseAll(); + consumer_control_.releaseAll(); + } } void pressConsumerControl(Key mapped_key) { consumer_control_.press(CONSUMER(mapped_key)); From 37a3d44f99b623213c3865553319f8175a48b07b Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Mon, 27 Apr 2020 13:45:18 -0700 Subject: [PATCH 2/2] Boot Keyboard keys were never being released. Fixes #825 Signed-off-by: Jesse Vincent --- src/kaleidoscope/driver/hid/base/Keyboard.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/kaleidoscope/driver/hid/base/Keyboard.h b/src/kaleidoscope/driver/hid/base/Keyboard.h index 8b2557ab..a1551893 100644 --- a/src/kaleidoscope/driver/hid/base/Keyboard.h +++ b/src/kaleidoscope/driver/hid/base/Keyboard.h @@ -193,8 +193,12 @@ class Keyboard { } void releaseAllKeys() __attribute__((noinline)) { resetModifierTracking(); - nkro_keyboard_.releaseAll(); - consumer_control_.releaseAll(); + if (boot_keyboard_.getProtocol() == HID_BOOT_PROTOCOL) { + boot_keyboard_.releaseAll(); + } else { + nkro_keyboard_.releaseAll(); + consumer_control_.releaseAll(); + } } void pressConsumerControl(Key mapped_key) { consumer_control_.press(CONSUMER(mapped_key));