“The Badger 2040 keypad is an inexpensive programmable USB macro keypad with keymap display. The firmware is based on CircuitPython and can be easily extended by yourself. If you just want to customize key bindings, you don’t even need to know how to program, as there is a configuration file for this that you can easily edit in a text editor.
Since the firmware is an extension of my PicoSplit firmware, it offers the possibility to assign multiple functions to keys. You can store key assignments for several programs and each program can also have several key assignments. You can easily switch between programs and their key assignments.
You can output keystrokes depending on how long you press a key. This allows you to get by with only a few keys. For example, to go back and forth in the list of key layouts you only need one key. A short press jumps to the next layout. A longer press jumps to the previous layout.”