aboutsummaryrefslogtreecommitdiff
path: root/docs/modding_your_keyboard.md
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-07-21 13:18:36 -0400
committerJack Humbert <jack.humb@gmail.com>2017-07-23 14:59:29 -0400
commitf407f3e8deea433ae4bca61f17d8ed8ed208bb27 (patch)
tree6c93433f1190bec654d786465723c1b9b4e5c0da /docs/modding_your_keyboard.md
parent92ccc9a7b8ac856966147be48e24ce652c160386 (diff)
downloadqmk_firmware-f407f3e8deea433ae4bca61f17d8ed8ed208bb27.tar.gz
qmk_firmware-f407f3e8deea433ae4bca61f17d8ed8ed208bb27.zip
remove unneccesary headers
Diffstat (limited to 'docs/modding_your_keyboard.md')
-rw-r--r--docs/modding_your_keyboard.md22
1 files changed, 15 insertions, 7 deletions
diff --git a/docs/modding_your_keyboard.md b/docs/modding_your_keyboard.md
index 30ff4f91a..29b0b3b0f 100644
--- a/docs/modding_your_keyboard.md
+++ b/docs/modding_your_keyboard.md
@@ -1,12 +1,23 @@
1 1
2## Audio output from a speaker 2## Audio output from a speaker
3 3
4Your keyboard can make sounds! If you've got a Planck, Preonic, or basically any keyboard that allows access to the C6 or B5 port (`#define C6_AUDIO` and `#define B5_AUDIO`), you can hook up a simple speaker and make it beep. You can use those beeps to indicate layer transitions, modifiers, special keys, or just to play some funky 8bit tunes. 4Your keyboard can make sounds! If you've got a Planck, Preonic, or basically any keyboard that allows access to the C6 or B5 port (`#define C6_AUDIO` and/or `#define B5_AUDIO`), you can hook up a simple speaker and make it beep. You can use those beeps to indicate layer transitions, modifiers, special keys, or just to play some funky 8bit tunes.
5 5
6The audio code lives in [quantum/audio/audio.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/audio/audio.h) and in the other files in the audio directory. It's enabled by default on the Planck [stock keymap](https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/default/keymap.c). Here are the important bits: 6If you add this to your `rules.mk`:
7 7
8``` 8```
9#include "audio.h" 9AUDIO_ENABLE = yes
10```
11
12there's a couple different sounds that will automatically be enabled without any other configuration:
13
14
15If you want to implement something custom, you can
16
17```
18#ifdef AUDIO_ENABLE
19 #include "audio.h"
20#endif
10``` 21```
11 22
12Then, lower down the file: 23Then, lower down the file:
@@ -41,14 +52,11 @@ Wherein we bind predefined songs (from [quantum/audio/song_list.h](https://githu
41So now you have something called `tone_plover` for example. How do you make it play the Plover tune, then? If you look further down the keymap, you'll see this: 52So now you have something called `tone_plover` for example. How do you make it play the Plover tune, then? If you look further down the keymap, you'll see this:
42 53
43``` 54```
44PLAY_NOTE_ARRAY(tone_plover, false, LEGATO); // song name, repeat, rest style 55PLAY_SONG(tone_plover); // song name
45PLAY_SONG(tone_plover); // song name (repeat is false, rest is STACCATO)
46``` 56```
47 57
48This is inside one of the macros. So when that macro executes, your keyboard plays that particular chime. 58This is inside one of the macros. So when that macro executes, your keyboard plays that particular chime.
49 59
50"Rest style" in the method signature above (the last parameter) specifies if there's a rest (a moment of silence) between the notes.
51
52## Music mode 60## Music mode
53 61
54The music mode maps your columns to a chromatic scale, and your rows to octaves. This works best with ortholinear keyboards, but can be made to work with others. All keycodes less than `0xFF` get blocked, so you won't type while playing notes - if you have special keys/mods, those will still work. A work-around for this is to jump to a different layer with KC_NOs before (or after) enabling music mode. 62The music mode maps your columns to a chromatic scale, and your rows to octaves. This works best with ortholinear keyboards, but can be made to work with others. All keycodes less than `0xFF` get blocked, so you won't type while playing notes - if you have special keys/mods, those will still work. A work-around for this is to jump to a different layer with KC_NOs before (or after) enabling music mode.