kmk_firmware/docs/modules.md

35 lines
1.8 KiB
Markdown
Raw Normal View History

# 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
2022-03-03 05:22:58 +01:00
These modules are provided in all builds and can be enabled. Currently offered
modules are
2022-03-09 02:27:56 +01:00
- [Combos](combos.md): Adds chords and sequences
- [Layers](layers.md): Adds layer support (Fn key) to allow many more keys to be
2022-03-03 05:22:58 +01:00
put on your keyboard.
- [ModTap](modtap.md): Adds support for augmented modifier keys to act as one key
when tapped, and modifier when held.
2022-03-03 05:22:58 +01:00
- [Mouse keys](mouse_keys.md): Adds mouse keycodes.
2022-02-13 23:30:31 +01:00
- [OneShot](oneshot.md): Adds support for oneshot/sticky keys.
- [Power](power.md): Power saving features. This is mostly useful when on battery power.
- [Split](split_keyboards.md): Keyboards split in two. Seems ergonomic!
2022-08-17 18:35:43 +02:00
- [SerialACE](serialace.md): Arbitrary Code Execution over the data serial.
- [TapDance](tapdance.md): Different key actions depending on how often it is pressed.
2022-05-16 04:26:15 +02:00
- [Dynamic Sequences](dynamic_sequences.md): Records a sequence of keypresses and plays it back.
2022-02-24 06:56:33 +01:00
2022-03-03 05:22:58 +01:00
### Require Libraries
These modules can be used without specific hardware, but require additional libraries such as the `Adafruit CircuitPython Bundle`.
- [MIDI](midi.md): Adds sending MIDI data in the form of keymap entries.
2022-02-24 06:56:33 +01:00
### Peripherals
2022-03-03 05:22:58 +01:00
These modules are for specific hardware and may require additional libraries to function.
- [ADNS9800](adns9800.md): Controlling ADNS9800 optical sensor.
- [Encoder](encoder.md): Handling rotary encoders.
- [Pimoroni trackball](pimoroni_trackball.md): Handling a small I2C trackball made by Pimoroni.
- [AS5013 aka EasyPoint](easypoint.md): Handling a small I2C magnetic position sensor made by AMS.