aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/feature_audio.md31
1 files changed, 27 insertions, 4 deletions
diff --git a/docs/feature_audio.md b/docs/feature_audio.md
index 38861e8c1..e1dd4c5a8 100644
--- a/docs/feature_audio.md
+++ b/docs/feature_audio.md
@@ -100,6 +100,16 @@ In music mode, the following keycodes work differently, and don't pass through:
100* `KC_UP` - speed-up playback 100* `KC_UP` - speed-up playback
101* `KC_DOWN` - slow-down playback 101* `KC_DOWN` - slow-down playback
102 102
103The pitch standard (`PITCH_STANDARD_A`) is 440.0f by default - to change this, add something like this to your `config.h`:
104
105 #define PITCH_STANDARD_A 432.0f
106
107You can completely disable Music Mode as well. This is useful, if you're pressed for space on your controller. To disable it, add this to your `config.h`:
108
109 #define NO_MUSIC_MODE
110
111### Music Mask
112
103By default, `MUSIC_MASK` is set to `keycode < 0xFF` which means keycodes less than `0xFF` are turned into notes, and don't output anything. You can change this by defining this in your `config.h` like this: 113By default, `MUSIC_MASK` is set to `keycode < 0xFF` which means keycodes less than `0xFF` are turned into notes, and don't output anything. You can change this by defining this in your `config.h` like this:
104 114
105 #define MUSIC_MASK keycode != KC_NO 115 #define MUSIC_MASK keycode != KC_NO
@@ -120,13 +130,26 @@ For a more advanced way to control which keycodes should still be processed, you
120 130
121Things that return false are not part of the mask, and are always processed. 131Things that return false are not part of the mask, and are always processed.
122 132
123The pitch standard (`PITCH_STANDARD_A`) is 440.0f by default - to change this, add something like this to your `config.h`: 133### Music Map
124 134
125 #define PITCH_STANDARD_A 432.0f 135By default, the Music Mode uses the columns and row to determine the scale for the keys. For a board that uses a rectangular matrix that matches the keyboard layout, this is just fine. However, for boards that use a more complicated matrix (such as the Planck Rev6, or many split keyboards) this would result in a very skewed experience.
126 136
127You can completely disable Music Mode as well. This is useful, if you're pressed for space on your controller. To disable it, add this to your `config.h`: 137However, the Music Map option allows you to remap the scaling for the music mode, so it fits the layout, and is more natural.
128 138
129 #define NO_MUSIC_MODE 139To enable this feature, add `#define MUSIC_MAP` to your `config.h` file, and then you will want to add a `uint8_t music_map` to your keyboard's `c` file, or your `keymap.c`.
140
141```c
142const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = LAYOUT_ortho_4x12(
143 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
144 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
145 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
146 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
147);
148```
149
150You will want to use whichever `LAYOUT` macro that your keyboard uses here. This maps it to the correct key location. Start in the bottom left of the keyboard layout, and move to the right, and then upwards. Fill in all the entries until you have a complete matrix.
151
152You can look at the [Planck Keyboard](https://github.com/qmk/qmk_firmware/blob/e9ace1487887c1f8b4a7e8e6d87c322988bec9ce/keyboards/planck/planck.c#L24-L29) as an example of how to implement this.
130 153
131## Audio Click 154## Audio Click
132 155