From 1f35b772dadbb88421268d45180e6a703cc5c309 Mon Sep 17 00:00:00 2001 From: NicoHood Date: Sun, 25 Oct 2015 15:19:11 +0100 Subject: [PATCH] Added NKRO key bit count --- src/HID-APIs/NKROKeyboardAPI.hpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/HID-APIs/NKROKeyboardAPI.hpp b/src/HID-APIs/NKROKeyboardAPI.hpp index fe9e6d6..44e04b3 100644 --- a/src/HID-APIs/NKROKeyboardAPI.hpp +++ b/src/HID-APIs/NKROKeyboardAPI.hpp @@ -83,10 +83,14 @@ size_t NKROKeyboardAPI::removeAll(void) for (uint8_t i = 0; i < sizeof(_keyReport.allkeys); i++) { // Is a key in the list or did we found an empty slot? - //TODO count every bit? - if(_keyReport.allkeys[i]){ - ret++; + auto bits = _keyReport.allkeys[i]; + do { + if(bits & 0x01){ + ret++; + } + bits >>=1; } + while(bits); _keyReport.allkeys[i] = 0x00; } return ret;