Merge pull request #3 from MartyGentillon/master

NumPad now restores the former num lock state on deactivation.
pull/365/head
Gergely Nagy 7 years ago committed by GitHub
commit 78710d0247
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,10 +6,12 @@
byte NumPad_::row = 255, NumPad_::col = 255;
uint8_t NumPad_::numPadLayer;
bool NumPad_::cleanupDone = true;
bool NumPad_::originalNumLockState = false;
cRGB numpad_color = CRGB(255, 0, 0);
void NumPad_::begin(void) {
Kaleidoscope.useLoopHook(loopHook);
originalNumLockState = !!(kaleidoscope::hid::getKeyboardLEDs() & LED_NUM_LOCK);
}
static void syncNumlock(bool state) {
@ -24,11 +26,18 @@ void NumPad_::loopHook(bool postClear) {
return;
if (!Layer.isOn(numPadLayer)) {
bool numState = !!(kaleidoscope::hid::getKeyboardLEDs() & LED_NUM_LOCK);
if (!cleanupDone) {
LEDControl.set_mode(LEDControl.get_mode_index());
syncNumlock(false);
cleanupDone = true;
if (numState && !originalNumLockState) {
kaleidoscope::hid::pressKey(Key_KeypadNumLock);
numState = false;
}
}
originalNumLockState = numState;
return;
}

@ -17,6 +17,7 @@ class NumPad_ : public KaleidoscopePlugin {
static byte row, col;
static bool cleanupDone;
static bool originalNumLockState;
};
extern NumPad_ NumPad;

Loading…
Cancel
Save