MIDI module and docs
This commit is contained in:
18
docs/midi.md
Normal file
18
docs/midi.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# MIDI
|
||||
The MIDI module adds keymap entries for sending MIDI data streams. It will require adding the `adafruit_midi` library from the [Adafruit CircuitPython Bundle](https://circuitpython.org/libraries) to your device's folder.
|
||||
Add it to your keyboard's modules list with:
|
||||
|
||||
```python
|
||||
from kmk.modules.midi import MidiKeys
|
||||
keyboard.modules.append(MidiKeys())
|
||||
```
|
||||
## Keycodes
|
||||
|
||||
|Key |Description |
|
||||
|-----------------|------------------------------------------------------------------------|
|
||||
|`KC.MIDI_CC()` |Sends a ControlChange message; accepts two integer arguments of `0`-`15`(controller number) then `0`-`127`(control value) |
|
||||
|`KC.MIDI_NOTE()` |Sends a Note message with both 'On' and 'Off' segments; accepts two integer arguments of `0`-`127`(note number) and `0`-`127`(velocity) |
|
||||
|`KC.MIDI_PB()` |Sends a Pitch Wheel message; accepts a single integer argument of `0`-`16383`, centered on `8192` |
|
||||
|`KC.MIDI_PC()` |Sends a Program Change message; accepts a single integer argument of `0`-`127`(program number) |
|
||||
|`KC.MIDI_START()` |Sends a Start message; accepts no arguments |
|
||||
|`KC.MIDI_STOP()` |Sends a Stop message; accepts no arguments |
|
@@ -4,20 +4,27 @@ the ability to alter the core code in any way. Unlike extensions, these are not
|
||||
sandbox, and can make massive changes to normal operation.
|
||||
|
||||
## Core Modules
|
||||
These modules are proveded in all builds and can be enabled. Currently offered
|
||||
These modules are provided 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
|
||||
put on your keyboard.
|
||||
- [ModTap](modtap.md): Adds support for augmented modifier keys to act as one key
|
||||
when tapped, and modifier when held.
|
||||
- [Mouse keys](mouse_keys.md): Adds mouse keycodes
|
||||
- [Mouse keys](mouse_keys.md): Adds mouse keycodes.
|
||||
- [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!
|
||||
- [TapDance](tapdance.md): Different key actions depending on how often it is pressed.
|
||||
|
||||
### 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.
|
||||
|
||||
|
||||
### Peripherals
|
||||
- [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
|
||||
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.
|
||||
|
Reference in New Issue
Block a user