cajhin / capsicain

Powerful low-level keyboard remapping tool for Windows
355 stars 18 forks source link

LED remains on after closing with capsicainOnOfKey #31

Closed bitoj closed 3 years ago

bitoj commented 3 years ago

When the ini specifies

GLOBAL capsicainOnOffKey SCRLOCK

the LED correctly indicates the Capsicain active state when the program is running. But after closing the program with ESC+X the LED always remains on. The LED then only indicates the Windows ScrLk key state when the state happened to be on at the time of closing the program, i.e., when it was on before starting the program, or switched on using another key while Capsicain was running. In most real life cases this is not true.

An improvement would be a synchronization step before terminating the program, i.e. inspecting the Windows toggle state, and then restoring the LED to correspond to that state.

cajhin commented 3 years ago

Agreed, I didn't think of the exit case because I never exit (outside of development / debugging). On exit, LEDs stay wherever they are, until one of the three LED keys is pressed. Windows always sets all three LEDs when any of the three keys is pressed. I'll have a look at your code when I have the time.

cajhin commented 3 years ago

should be fixed with your pull request. Please check if this works with two keyboards (I only have on fullsize with LEDs)

bitoj commented 3 years ago

Confirmed in V90 with two keyboards for SCRLOCK and CAPS.

NUMLOCK remains on. That is correct, because the state was changed as described in #32.