osiweb / unified_retro_keyboard

Project to provide keyboard replacements for various classic computers, as well as classic ASCII keyboard
94 stars 12 forks source link

DIP switch options are not properly set on keymap initialization #21

Open dfnr2 opened 3 years ago

dfnr2 commented 3 years ago

Specifically, if a DIP switch is in the OFF position, the function associated with the OFF position is not called when initializing a keymap.

For example, if a switch is mapped to disable autorepeat when OFF and enable autorepeat when ON, then autorepeat is not automatically disabled during keymap init if the switch is OFF. The switch must be turned ON then OFF again to disable autorepeat.

The solution is to run through the matrix, calling the "deactivate" function for each matrix position, setting the key state matrix to "off"

dfnr2 commented 2 years ago

Another cleaner option is to eliminate DIP switches entirely using key combinations. This will require at least EEPROM storage (Issue #32), and would also benefit from the ability to enter parameters (Issue #33). Party addressed in Issue #31.