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
17 lines
816 B
Markdown
17 lines
816 B
Markdown
# 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](layers.md): Adds layer support (Fn key) to allow many more keys to be
|
|
put on your keyboard
|
|
- [ModTap](modtap.md): Adds support for augmented modifier keys to act as one key
|
|
when tapped, and modifier when held.
|
|
- [Power](power.md): Power saving features. This is mostly useful when on battery power.
|
|
- [Split](split_keyboards.md): Keyboards split in two. Seems ergonomic!
|
|
- [TapDance](tapdance.md): Different key actions depending on how often it is pressed.
|