a62d39a252
* extract tapdance logic into a module * clean out old tapdance code * canonicalize key variable names * split _process_tap_dance into td_pressed and td_released * implement consistent argument order * update documentation * implement Module.process_key for key interception and modification * fix tapdance realesing instead of pressing * fix: default parameters in key handler * cleanup holdtap * add error handling to modules process_key * fix: key released too late Tapped keys didn't release on a "key released" event, but waited for a timeout. Resulted in, for example, modifiers applying to keys after the modifier was released. * fix lint/formatting * fix tap_time reference in modtap + minimal documentation * fix lint
816 B
816 B
Modules
Modules, unlike extensions, change how your keyboard works. These are meant to have the ability to alter the core code in any way. Unlike extensions, these are not in a sandbox, and can make massive changes to normal operation.
Core Modules
These modules are proveded in all builds and can be enabled. Currently offered modules are
- Layers: Adds layer support (Fn key) to allow many more keys to be put on your keyboard
- ModTap: Adds support for augmented modifier keys to act as one key when tapped, and modifier when held.
- Power: Power saving features. This is mostly useful when on battery power.
- Split: Keyboards split in two. Seems ergonomic!
- TapDance: Different key actions depending on how often it is pressed.