From 4719170f2395f04dff22c05606610cf62a204a4f Mon Sep 17 00:00:00 2001 From: bbx10node Date: Thu, 18 Feb 2016 11:10:45 -1000 Subject: [PATCH] USB keyboard right shift key was ignored KeyboardReportParser::OemToAscii() returned lower case characters even when the right side shift key was pressed. The left side shift key works fine. --- src/hidboot.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hidboot.cpp b/src/hidboot.cpp index fb85bd7..2ed83cc 100644 --- a/src/hidboot.cpp +++ b/src/hidboot.cpp @@ -150,8 +150,8 @@ uint8_t KeyboardReportParser::OemToAscii(uint8_t mod, uint8_t key) if (key > 0x03 && key < 0x1e) { // Upper case letters - if ( (kbdLockingKeys.kbdLeds.bmCapsLock == 0 && (mod & 2)) || - (kbdLockingKeys.kbdLeds.bmCapsLock == 1 && (mod & 2) == 0) ) + if ( (kbdLockingKeys.kbdLeds.bmCapsLock == 0 && shift) || + (kbdLockingKeys.kbdLeds.bmCapsLock == 1 && shift == 0) ) return (key - 4 + 'A'); // Lower case letters