From 151b7a4ae50357c2dcb7f6e5c96bfef556de150e Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sat, 29 Jul 2017 15:49:23 -0400 Subject: [PATCH] updates all keymaps, restricts to two options --- docs/custom_quantum_functions.md | 14 ++-- docs/quantum_keycodes.md | 4 +- docs/understanding_qmk.md | 6 +- keyboards/atreus/keymaps/xyverz/keymap.c | 16 ++-- keyboards/atreus62/keymaps/atreus52/keymap.c | 4 +- keyboards/atreus62/keymaps/mneme/keymap.c | 4 +- keyboards/atreus62/keymaps/xyverz/keymap.c | 16 ++-- keyboards/clueboard/keymaps/smt/keymap.c | 10 +-- keyboards/cluecard/cluecard.c | 4 +- keyboards/cluecard/keymaps/default/keymap.c | 4 +- .../cluecard/keymaps/rgb_effects/keymap.c | 4 +- .../ibm_terminal/keymaps/priyadi/keymap.c | 18 ++-- keyboards/dk60/keymaps/default/keymap.c | 6 +- keyboards/eco/keymaps/that_canadian/keymap.c | 10 +-- .../ergodox/ez/keymaps/blakedietz/keymap.c | 10 +-- keyboards/ergodox/ez/keymaps/steno/keymap.c | 4 +- keyboards/ergodox/keymaps/333fred/keymap.c | 8 +- keyboards/ergodox/keymaps/algernon/keymap.c | 6 +- keyboards/ergodox/keymaps/belak/keymap.c | 14 ++-- keyboards/ergodox/keymaps/bryan/keymap.c | 10 +-- keyboards/ergodox/keymaps/default/keymap.c | 10 +-- .../keymaps/erez_experimental/keymap.c | 6 +- keyboards/ergodox/keymaps/italian/keymap.c | 10 +-- .../ergodox/keymaps/reset_eeprom/keymap.c | 10 +-- .../keymaps/robot_test_layout/keymap.c | 20 ++--- keyboards/ergodox/keymaps/swedish/keymap.c | 10 +-- keyboards/frosty_flake/frosty_flake.c | 8 +- keyboards/gherkin/keymaps/default/keymap.c | 4 +- keyboards/hadron/hadron.c | 4 +- keyboards/hadron/keymaps/default/keymap.c | 16 ++-- keyboards/hadron/keymaps/side_numpad/keymap.c | 16 ++-- .../MS_sculpt_mobile/keymaps/default/keymap.c | 4 +- .../keymaps/milestogo/keymap.c | 10 +-- .../atreus50/keymaps/default/keymap.c | 16 ++-- .../frenchdev/keymaps/default/keymap.c | 4 +- .../gamenum/keymaps/default/keymap.c | 4 +- keyboards/handwired/kbod/kbod.c | 4 +- .../ortho5x13/keymaps/default/keymap.c | 16 ++-- .../pilcrow/keymaps/default/keymap.c | 4 +- keyboards/handwired/pilcrow/pilcrow.c | 4 +- .../promethium/keymaps/priyadi/keymap.c | 36 ++++---- .../traveller/keymaps/default/keymap.c | 4 +- keyboards/handwired/traveller/traveller.c | 4 +- keyboards/hhkb/keymaps/cinaeco/keymap.c | 6 +- keyboards/hhkb/keymaps/smt/keymap.c | 10 +-- .../infinity60/keymaps/jpetermans/keymap.c | 4 +- keyboards/jd45/keymaps/blakedietz/keymap.c | 10 +-- keyboards/jd45/keymaps/jeebak/keymap.c | 20 ++--- keyboards/kbd75/keymaps/default/keymap.c | 4 +- keyboards/kinesis/alvicstep/alvicstep.c | 4 +- keyboards/kinesis/keymaps/default/keymap.c | 4 +- keyboards/kinesis/keymaps/dvorak/keymap.c | 4 +- keyboards/kinesis/keymaps/milestogo/keymap.c | 4 +- keyboards/kinesis/stapelberg/stapelberg.c | 4 +- keyboards/kitten_paw/keymaps/default/keymap.c | 4 +- keyboards/kitten_paw/keymaps/ickerwx/keymap.c | 4 +- keyboards/kitten_paw/kitten_paw.c | 4 +- keyboards/kmac/keymaps/default/keymap.c | 4 +- keyboards/kmac/keymaps/winkeyless/keymap.c | 4 +- keyboards/kmac/kmac.c | 4 +- .../lets_split/keymaps/OLED_sample/keymap.c | 18 ++-- keyboards/lets_split/keymaps/default/keymap.c | 16 ++-- .../lets_split/keymaps/ergodoxish/keymap.c | 16 ++-- keyboards/lets_split/keymaps/hexwire/keymap.c | 16 ++-- keyboards/lets_split/keymaps/khord/keymap.c | 16 ++-- keyboards/lets_split/keymaps/smt/keymap.c | 16 ++-- keyboards/lets_split/keymaps/xyverz/keymap.c | 14 ++-- keyboards/minidox/keymaps/default/keymap.c | 12 +-- .../minidox/keymaps/that_canadian/keymap.c | 12 +-- keyboards/mitosis/keymaps/default/keymap.c | 8 +- keyboards/miuni32/keymaps/adam-lee/keymap.c | 4 +- keyboards/miuni32/keymaps/default/keymap.c | 4 +- keyboards/miuni32/keymaps/ht_156/keymap.c | 4 +- keyboards/miuni32/miuni32.c | 4 +- keyboards/nyquist/keymaps/default/keymap.c | 16 ++-- keyboards/nyquist/keymaps/hexwire/keymap.c | 16 ++-- keyboards/orthodox/keymaps/default/keymap.c | 16 ++-- .../pegasushoof/keymaps/blowrak/keymap.c | 6 +- keyboards/phantom/keymaps/default/keymap.c | 4 +- keyboards/phantom/keymaps/rgbmod/keymap.c | 4 +- keyboards/phantom/phantom.c | 4 +- keyboards/planck/keymaps/brandon/keymap.c | 18 ++-- keyboards/planck/keymaps/callum/keymap.c | 10 +-- keyboards/planck/keymaps/chance/keymap.c | 24 +++--- keyboards/planck/keymaps/circuit/keymap.c | 12 +-- keyboards/planck/keymaps/dbroqua/keymap.c | 12 +-- keyboards/planck/keymaps/default/keymap.c | 20 ++--- keyboards/planck/keymaps/dshields/keymap.c | 6 +- .../planck/keymaps/experimental/keymap.c | 36 ++++---- .../keymaps/handwired_binaryplease/keymap.c | 20 ++--- keyboards/planck/keymaps/impossible/keymap.c | 10 +-- keyboards/planck/keymaps/jeebak/keymap.c | 20 ++--- keyboards/planck/keymaps/jeremy-dev/keymap.c | 26 +++--- keyboards/planck/keymaps/jhenahan/keymap.c | 20 ++--- keyboards/planck/keymaps/khord/keymap.c | 20 ++--- keyboards/planck/keymaps/lae3/keymap.c | 14 ++-- keyboards/planck/keymaps/originerd/keymap.c | 10 +-- keyboards/planck/keymaps/premek/keymap.c | 20 ++--- keyboards/planck/keymaps/sgoodwin/keymap.c | 14 ++-- keyboards/planck/keymaps/smt/keymap.c | 16 ++-- keyboards/planck/keymaps/steno/keymap.c | 20 ++--- .../planck/keymaps/thermal_printer/keymap.c | 20 ++--- keyboards/planck/keymaps/vifon/keymap.c | 10 +-- keyboards/planck/keymaps/xyverz/keymap.c | 16 ++-- .../keymaps/zach/zach_common_functions.c | 34 ++++---- keyboards/preonic/keymaps/0xdec/keymap.c | 6 +- keyboards/preonic/keymaps/default/keymap.c | 16 ++-- keyboards/preonic/keymaps/jacwib/keymap.c | 16 ++-- keyboards/preonic/keymaps/kinesis/keymap.c | 2 +- keyboards/preonic/keymaps/nikchi/keymap.c | 12 +-- keyboards/preonic/keymaps/smt/keymap.c | 16 ++-- keyboards/preonic/keymaps/xyverz/keymap.c | 16 ++-- .../keymaps/zach/zach_common_functions.c | 34 ++++---- keyboards/roadkit/roadkit.c | 4 +- keyboards/s60_x/default/default.c | 4 +- keyboards/s60_x/keymaps/ansi_qwertz/keymap.c | 6 +- keyboards/s60_x/keymaps/bluebear/keymap.c | 4 +- keyboards/s60_x/keymaps/dbroqua/keymap.c | 4 +- keyboards/s60_x/keymaps/jpec/keymap.c | 4 +- keyboards/satan/keymaps/smt/keymap.c | 10 +-- keyboards/subatomic/keymaps/default/keymap.c | 16 ++-- keyboards/tada68/keymaps/maartenwut/keymap.c | 10 +-- keyboards/tiger_lily/tiger_lily.c | 8 +- keyboards/tv44/keymaps/jeebak/keymap.c | 20 ++--- keyboards/tv44/keymaps/smt/keymap.c | 16 ++-- keyboards/tv44/keymaps/xyverz/keymap.c | 14 ++-- keyboards/tv44/tv44.c | 4 +- keyboards/vision_division/vision_division.c | 4 +- quantum/dynamic_macro.h | 20 ++--- quantum/process_keycode/process_audio.c | 14 ++-- quantum/process_keycode/process_audio.h | 4 +- quantum/process_keycode/process_chording.c | 8 +- quantum/process_keycode/process_chording.h | 2 +- quantum/process_keycode/process_combo.c | 4 +- quantum/process_keycode/process_combo.h | 2 +- quantum/process_keycode/process_leader.c | 8 +- quantum/process_keycode/process_leader.h | 2 +- quantum/process_keycode/process_midi.c | 48 +++++------ quantum/process_keycode/process_midi.h | 2 +- quantum/process_keycode/process_music.c | 24 +++--- quantum/process_keycode/process_music.h | 2 +- quantum/process_keycode/process_printer.c | 44 +++++----- quantum/process_keycode/process_printer.h | 2 +- quantum/process_keycode/process_printer_bb.c | 44 +++++----- quantum/process_keycode/process_steno.c | 12 +-- quantum/process_keycode/process_steno.h | 2 +- quantum/process_keycode/process_tap_dance.c | 8 +- quantum/process_keycode/process_tap_dance.h | 3 +- quantum/process_keycode/process_ucis.c | 18 ++-- quantum/process_keycode/process_ucis.h | 2 +- quantum/process_keycode/process_unicode.c | 4 +- quantum/process_keycode/process_unicode.h | 2 +- quantum/process_keycode/process_unicodemap.c | 4 +- quantum/process_keycode/process_unicodemap.h | 2 +- quantum/quantum.c | 82 +++++++++++-------- quantum/quantum.h | 41 ++++++---- quantum/template/keymaps/default/keymap.c | 4 +- quantum/template/template.c | 4 +- tmk_core/common/action.c | 5 +- 159 files changed, 916 insertions(+), 901 deletions(-) diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md index 10a71843..544ab240 100644 --- a/docs/custom_quantum_functions.md +++ b/docs/custom_quantum_functions.md @@ -36,16 +36,16 @@ enum my_keycodes { ## Programming The Behavior Of Any Keycode -When you want to override the behavior of an existing key, or define the behavior for a new key, you should use the `process_record_kb()` and `process_record_user()` functions. These are called by QMK during key processing before the actual key event is handled. If these functions return `true` QMK will process the keycodes as usual. That can be handy for extending the functionality of a key rather than replacing it. If these functions return `false` QMK will skip the normal key handling, and it will be up you to send any key up or down events that are required. +When you want to override the behavior of an existing key, or define the behavior for a new key, you should use the `process_keyboard()` and `process_user()` functions. These are called by QMK during key processing before the actual key event is handled. If these functions return `true` QMK will process the keycodes as usual. That can be handy for extending the functionality of a key rather than replacing it. If these functions return `false` QMK will skip the normal key handling, and it will be up you to send any key up or down events that are required. These function are called every time a key is pressed or released. -### Example `process_record_user()` implementation +### Example `process_user()` implementation This example does two things. It defines the behavior for a custom keycode called `FOO`, and it supplements our Enter key by playing a tone whenever it is pressed. ``` -bool process_record_user(uint16_t keycode, keyrecord_t *record) { +level_t process_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case FOO: if (record->event.pressed) { @@ -53,21 +53,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } else { // Do something else when release } - return false; // Skip all further processing of this key + return STOP_FEATURE; // Skip all further processing of this key case KC_ENTER: // Play a tone when enter is pressed if (record->event.pressed) { PLAY_NOTE_ARRAY(tone_qwerty); } - return true; // Let QMK send the enter press/release events + return CONTINUE_PROCESSING; // Let QMK send the enter press/release events } } ``` ### `process_record_*` Function documentation -* Keyboard/Revision: `bool process_record_kb(uint16_t keycode, keyrecord_t *record)` -* Keymap: `bool process_record_user(uint16_t keycode, keyrecord_t *record)` +* Keyboard/Revision: `level_t process_kb(uint16_t keycode, keyrecord_t *record)` +* Keymap: `level_t process_user(uint16_t keycode, keyrecord_t *record)` The `keycode` argument is whatever is defined in your keymap, eg `MO(1)`, `KC_L`, etc. You should use a `switch...case` block to handle these events. diff --git a/docs/quantum_keycodes.md b/docs/quantum_keycodes.md index 36dbda7a..2a8802b7 100644 --- a/docs/quantum_keycodes.md +++ b/docs/quantum_keycodes.md @@ -337,10 +337,10 @@ enum my_keycodes { }; ``` -You can then use `process_record_user()` to do something with your keycode: +You can then use `process_user()` to do something with your keycode: ``` -bool process_record_user(uint16_t keycode, keyrecord_t *record) { +level_t process_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case FOO: // Do something here diff --git a/docs/understanding_qmk.md b/docs/understanding_qmk.md index 28927f0e..5d212546 100644 --- a/docs/understanding_qmk.md +++ b/docs/understanding_qmk.md @@ -135,8 +135,8 @@ The `process_record()` function itself is deceptively simple, but hidden within * [`void process_record(keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/action.c#L128) * [`bool process_record_quantum(keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/quantum.c#L140) * [Map this record to a keycode](https://github.com/qmk/qmk_firmware/blob/master/quantum/quantum.c#L143) - * [`bool process_record_kb(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/keyboards/cluecard/cluecard.c#L20) - * [`bool process_record_user(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/keyboards/cluecard/keymaps/default/keymap.c#L58) + * [`level_t process_kb(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/keyboards/cluecard/cluecard.c#L20) + * [`level_t process_user(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/keyboards/cluecard/keymaps/default/keymap.c#L58) * [`bool process_midi(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_midi.c#L102) * [`bool process_audio(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_audio.c#L10) * [`bool process_music(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_music.c#L69) @@ -150,7 +150,7 @@ The `process_record()` function itself is deceptively simple, but hidden within * [`bool process_unicode_map(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_unicodemap.c#L47) * [Identify and process quantum specific keycodes](https://github.com/qmk/qmk_firmware/blob/master/quantum/quantum.c#L211) -At any step during this chain of events a function (such as `process_record_kb()`) can `return false` to halt all further processing. +At any step during this chain of events a function (such as `process_kb()`) can `return false` to halt all further processing.