From 5faa23d54ca1e3ab83097f2a07922f48800616e6 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 15 May 2023 22:27:37 +1000 Subject: Keymap introspection for combos. (#19670) --- builddefs/build_test.mk | 4 ++ data/mappings/info_config.hjson | 4 +- docs/config_options.md | 2 - docs/feature_combo.md | 33 ++--------- docs/ja/config_options.md | 2 - docs/ja/feature_combo.md | 6 +- keyboards/0xcb/splaytoraid/keymaps/pi/config.h | 1 - keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c | 6 +- keyboards/3w6/keymaps/helltm/combos.h | 4 +- .../gherkin/keymaps/stevexyz/config.h | 2 - .../nori/keymaps/wings_36key/config.h | 2 - .../nori/keymaps/wings_36key/keymap.c | 4 +- .../ashpil/modelm_usbc/keymaps/ashpil/config.h | 1 - .../ashpil/modelm_usbc/keymaps/ashpil/keymap.c | 4 +- keyboards/b_sides/rev41lp/keymaps/namnlos/config.h | 2 - keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c | 2 +- keyboards/bluebell/swoop/keymaps/kyek/config.h | 1 - keyboards/bluebell/swoop/keymaps/kyek/keymap.c | 34 ++++++------ keyboards/centromere/keymaps/mini_bom/config.h | 1 - keyboards/centromere/keymaps/mini_bom/keymap.c | 14 ++--- keyboards/chord/zero/keymaps/default/keymap.c | 2 - .../converter/usb_usb/keymaps/chriskopher/combo.c | 2 +- .../converter/usb_usb/keymaps/chriskopher/config.h | 1 - keyboards/converter/usb_usb/keymaps/narze/config.h | 1 - keyboards/crkbd/keymaps/antosha417/keymap.c | 8 +-- keyboards/crkbd/keymaps/cameronjlarsen/keymap.c | 7 +-- keyboards/crkbd/keymaps/markstos/config.h | 5 +- keyboards/crkbd/keymaps/markstos/keymap.c | 4 +- keyboards/crkbd/keymaps/nimishgautam/config.h | 3 +- keyboards/crkbd/keymaps/nimishgautam/keymap.c | 64 +++++++++++----------- keyboards/crkbd/keymaps/pdl/config.h | 1 - .../drhigsby/dubba175/keymaps/default/config.h | 1 - .../drhigsby/dubba175/keymaps/default/keymap.c | 8 +-- keyboards/drhigsby/ogurec/keymaps/default/config.h | 1 - keyboards/drhigsby/ogurec/keymaps/default/keymap.c | 6 +- keyboards/drhigsby/packrat/keymaps/3uc/config.h | 1 - keyboards/drhigsby/packrat/keymaps/3uc/keymap.c | 7 +-- .../drhigsby/packrat/keymaps/default/config.h | 1 - .../drhigsby/packrat/keymaps/default/keymap.c | 5 +- .../ergodox_ez/keymaps/hacker_dvorak/config.h | 2 - keyboards/eu_isolation/keymaps/bigspace/config.h | 27 +++++---- keyboards/eu_isolation/keymaps/bigspace/keymap.c | 26 ++++----- keyboards/eu_isolation/keymaps/default/config.h | 21 ++++--- keyboards/eu_isolation/keymaps/default/keymap.c | 22 ++++---- keyboards/eu_isolation/keymaps/mit/config.h | 21 ++++--- keyboards/eu_isolation/keymaps/mit/keymap.c | 22 ++++---- keyboards/foostan/cornelius/keymaps/pdl/config.h | 1 - keyboards/free_willy/keymaps/colemak/config.h | 1 - keyboards/free_willy/keymaps/colemak/keymap.c | 2 +- keyboards/free_willy/keymaps/default/config.h | 1 - keyboards/free_willy/keymaps/default/keymap.c | 2 +- keyboards/gboards/g/keymap_combo.h | 3 - .../gmmk/pro/rev1/ansi/keymaps/mike1808/config.h | 1 - .../gmmk/pro/rev1/ansi/keymaps/mike1808/keymap.c | 2 +- keyboards/handwired/aek64/keymaps/4sstylz/config.h | 3 - keyboards/handwired/aek64/keymaps/4sstylz/keymap.c | 4 +- keyboards/ibnuda/alicia_cook/keymaps/rick/config.h | 1 - keyboards/ibnuda/alicia_cook/keymaps/rick/keymap.c | 2 +- keyboards/ibnuda/squiggle/keymaps/default/config.h | 1 - keyboards/ibnuda/squiggle/keymaps/default/keymap.c | 2 +- .../ibnuda/squiggle/keymaps/default38/config.h | 1 - .../ibnuda/squiggle/keymaps/default38/keymap.c | 2 +- .../ibnuda/squiggle/keymaps/defaultfull/config.h | 1 - .../ibnuda/squiggle/keymaps/defaultfull/keymap.c | 2 +- .../squiggle/keymaps/defaultminidox/config.h | 1 - .../squiggle/keymaps/defaultminidox/keymap.c | 2 +- .../squiggle/keymaps/rick-complicated/config.h | 1 - .../squiggle/keymaps/rick-complicated/keymap.c | 2 +- keyboards/ibnuda/squiggle/keymaps/rick/config.h | 1 - keyboards/ibnuda/squiggle/keymaps/rick/keymap.c | 2 +- keyboards/idobao/id80/v2/ansi/keymaps/msf/config.h | 1 - keyboards/idobao/id80/v2/ansi/keymaps/msf/keymap.c | 4 +- .../ergodox_infinity/keymaps/narze/config.h | 1 - keyboards/k34/keymaps/default/config.h | 24 ++++---- keyboards/k34/keymaps/default/keymap.c | 2 +- keyboards/keebformom/keymaps/default/config.h | 19 ------- keyboards/keebformom/keymaps/default/keymap.c | 8 +-- .../keycapsss/plaid_pad/keymaps/oled/config.h | 2 - .../keycapsss/plaid_pad/keymaps/oled/keymap.c | 2 +- .../kprepublic/bm40hsrgb/keymaps/34keys/config.h | 1 - .../kprepublic/bm40hsrgb/keymaps/34keys/keymap.c | 16 +++--- .../bm68hsrgb/rev1/keymaps/peepeetee/config.h | 1 - .../bm80hsrgb/keymaps/peepeetee/config.h | 3 +- .../kprepublic/jj40/keymaps/stevexyz/config.h | 2 - keyboards/lets_split/keymaps/shaymdev/config.h | 2 - keyboards/lets_split/keymaps/shaymdev/keymap.c | 38 ++++++------- keyboards/lily58/keymaps/muuko/config.h | 4 -- keyboards/lily58/keymaps/muuko/keymap.c | 2 +- keyboards/lily58/keymaps/narze/config.h | 1 - .../makenova/omega/omega4/keymaps/default/config.h | 1 - .../makenova/omega/omega4/keymaps/default/keymap.c | 4 +- .../omega/omega4/keymaps/default_10u_bar/config.h | 1 - .../omega/omega4/keymaps/default_10u_bar/keymap.c | 4 +- .../omega/omega4/keymaps/default_6u_bar/config.h | 1 - .../omega/omega4/keymaps/default_6u_bar/keymap.c | 4 +- .../minidox/keymaps/rsthd_combos/config.h | 2 - .../minidox/keymaps/rsthd_combos/keymap.c | 2 +- keyboards/massdrop/alt/keymaps/b_/config.h | 1 - keyboards/massdrop/alt/keymaps/pregame/config.h | 1 - keyboards/massdrop/ctrl/keymaps/endgame/config.h | 1 - .../massdrop/ctrl/keymaps/matthewrobo/config.h | 1 - keyboards/massdrop/ctrl/keymaps/xanimos/config.h | 1 - keyboards/maxr1998/pulse4k/config.h | 1 - .../maxr1998/pulse4k/keymaps/default/keymap.c | 2 +- .../maxr1998/pulse4k/keymaps/maxr1998/keymap.c | 2 +- keyboards/nimrod/keymaps/default/config.h | 1 - keyboards/nimrod/keymaps/default/keymap.c | 2 +- .../nimrod/keymaps/default_center_space/config.h | 1 - .../nimrod/keymaps/default_center_space/keymap.c | 2 +- .../nimrod/keymaps/default_left_space/config.h | 1 - .../nimrod/keymaps/default_left_space/keymap.c | 2 +- .../nimrod/keymaps/default_right_space/config.h | 1 - .../nimrod/keymaps/default_right_space/keymap.c | 2 +- .../nimrod/keymaps/default_split_space/config.h | 1 - .../nimrod/keymaps/default_split_space/keymap.c | 2 +- keyboards/orthodox/keymaps/shaymdev/config.h | 2 - keyboards/orthodox/keymaps/shaymdev/keymap.c | 38 ++++++------- keyboards/pierce/keymaps/durken1/config.h | 1 - keyboards/pierce/keymaps/durken1/keymap.c | 22 ++++---- keyboards/planck/keymaps/antosha417/keymap.c | 7 +-- keyboards/planck/keymaps/ariccb/keymap.c | 4 +- keyboards/planck/keymaps/dvz/config.h | 2 - keyboards/planck/keymaps/dvz/keymap.c | 2 +- keyboards/planck/keymaps/narze/config.h | 1 - keyboards/planck/keymaps/rootiest/config.h | 1 - keyboards/planck/keymaps/rootiest/keymap.c | 2 +- keyboards/preonic/keymaps/brauner/keymap.c | 5 +- .../program_yoink/ortho/keymaps/default/config.h | 3 +- .../program_yoink/ortho/keymaps/default/keymap.c | 2 +- .../ortho/keymaps/ortho_split/config.h | 3 +- .../ortho/keymaps/ortho_split/keymap.c | 2 +- .../staggered/keymaps/default/config.h | 3 +- .../staggered/keymaps/default/keymap.c | 2 +- .../staggered/keymaps/split_bar/config.h | 3 +- .../staggered/keymaps/split_bar/keymap.c | 2 +- .../projectcain/relic/keymaps/default/config.h | 1 - .../projectcain/relic/keymaps/default/keymap.c | 16 +++--- .../projectcain/vault35/keymaps/default/config.h | 1 - .../projectcain/vault35/keymaps/default/keymap.c | 48 ++++++++-------- .../projectcain/vault45/keymaps/default/config.h | 31 +++++------ .../projectcain/vault45/keymaps/default/keymap.c | 26 ++++----- keyboards/q4z/keymaps/default/config.h | 1 - keyboards/q4z/keymaps/default/keymap.c | 2 +- keyboards/q4z/keymaps/rjboone/config.h | 2 - keyboards/q4z/keymaps/rjboone/keymap.c | 2 +- keyboards/qpockets/eggman/keymaps/default/config.h | 3 +- keyboards/qpockets/eggman/keymaps/default/keymap.c | 2 +- .../space_space/rev1/keymaps/big_space/config.h | 3 +- .../space_space/rev1/keymaps/big_space/keymap.c | 2 +- .../space_space/rev1/keymaps/default/config.h | 3 +- .../space_space/rev1/keymaps/default/keymap.c | 2 +- .../space_space/rev2/keymaps/big_space/config.h | 3 +- .../space_space/rev2/keymaps/big_space/keymap.c | 8 +-- .../space_space/rev2/keymaps/default/config.h | 3 +- .../space_space/rev2/keymaps/default/keymap.c | 8 +-- .../space_space/rev2/keymaps/qpockets/config.h | 3 +- .../space_space/rev2/keymaps/qpockets/keymap.c | 10 ++-- keyboards/qpockets/wanten/keymaps/2u_bars/config.h | 3 +- keyboards/qpockets/wanten/keymaps/2u_bars/keymap.c | 11 ++-- keyboards/qpockets/wanten/keymaps/625_bar/config.h | 3 +- keyboards/qpockets/wanten/keymaps/625_bar/keymap.c | 11 ++-- keyboards/qpockets/wanten/keymaps/default/config.h | 3 +- keyboards/qpockets/wanten/keymaps/default/keymap.c | 11 ++-- .../rgbkb/zen/rev1/keymaps/cwebster2/config.h | 7 --- .../sweep/keymaps/flinguenheld/features/combo.c | 5 -- .../splitkb/kyria/keymaps/cameronjlarsen/keymap.c | 5 +- keyboards/splitkb/kyria/keymaps/cwebster2/config.h | 4 -- keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c | 2 +- keyboards/synapse/keymaps/7u_space/config.h | 3 +- keyboards/synapse/keymaps/7u_space/keymap.c | 4 +- keyboards/synapse/keymaps/default/config.h | 3 +- keyboards/synapse/keymaps/default/keymap.c | 4 +- .../tominabox1/adalyn/keymaps/default/config.h | 1 - .../tominabox1/adalyn/keymaps/default/keymap.c | 2 +- .../tominabox1/le_chiffre/keymaps/default/config.h | 1 - .../tominabox1/le_chiffre/keymaps/default/keymap.c | 2 +- keyboards/tominabox1/qaz/keymaps/default/config.h | 1 - keyboards/tominabox1/qaz/keymaps/default/keymap.c | 2 +- .../qaz/keymaps/default_big_space/config.h | 1 - .../qaz/keymaps/default_big_space/keymap.c | 2 +- .../underscore33/rev1/keymaps/default/config.h | 1 - .../underscore33/rev1/keymaps/default/keymap.c | 2 +- .../rev1/keymaps/default_big_space/config.h | 1 - .../rev1/keymaps/default_big_space/keymap.c | 2 +- .../underscore33/rev2/keymaps/default/config.h | 1 - .../underscore33/rev2/keymaps/default/keymap.c | 2 +- .../rev2/keymaps/default_big_space/config.h | 1 - .../rev2/keymaps/default_big_space/keymap.c | 2 +- keyboards/xiudi/xd75/keymaps/4sstylz/config.h | 1 - keyboards/xiudi/xd75/keymaps/4sstylz/keymap.c | 2 +- keyboards/ymdk/melody96/keymaps/dvz/config.h | 1 - keyboards/ymdk/melody96/keymaps/dvz/keymap.c | 2 +- quantum/keymap_introspection.c | 21 +++++++ quantum/keymap_introspection.h | 21 +++++++ quantum/process_keycode/process_combo.c | 23 +++----- quantum/process_keycode/process_combo.h | 2 +- tests/caps_word/caps_word_combo/test.mk | 1 + .../caps_word_combo/test_caps_word_combo.cpp | 23 -------- tests/caps_word/caps_word_combo/test_combos.c | 20 +++++++ tests/combo/test.mk | 2 + tests/combo/test_combo.cpp | 15 ----- tests/combo/test_combos.c | 17 ++++++ tests/test_common/keycode_util.hpp | 1 + users/art/funcs/string_funcs.c | 48 ++++++++-------- users/danielo515/combo.c | 2 +- users/danielo515/config.h | 1 - users/ericgebhart/extensions/keymap_combo.h | 3 - users/ibnuda/combo.h | 4 +- users/ibnuda/config.h | 3 +- users/issmirnov/config.h | 1 - users/issmirnov/issmirnov.c | 4 +- users/kuchosauronad0/combo.h | 5 +- users/kuchosauronad0/config.h | 1 - users/manna-harbour_miryoku/config.h | 1 - .../manna-harbour_miryoku/manna-harbour_miryoku.c | 2 +- users/muppetjones/config.h | 2 - users/muppetjones/features/combos.c | 3 +- users/narze/superduper.c | 2 +- users/ninjonas/combos.c | 4 +- users/ninjonas/config.h | 2 - users/pdl/pdl.c | 2 +- users/talljoe/config.h | 1 - users/uqs/uqs.c | 2 - users/yet-another-developer/combo.h | 5 +- users/yet-another-developer/config.h | 1 - users/zigotica/combos.c | 5 +- 226 files changed, 533 insertions(+), 729 deletions(-) delete mode 100644 keyboards/handwired/aek64/keymaps/4sstylz/config.h delete mode 100644 keyboards/keebformom/keymaps/default/config.h create mode 100644 tests/caps_word/caps_word_combo/test_combos.c create mode 100644 tests/combo/test_combos.c diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk index 4230598373..9eead77bea 100644 --- a/builddefs/build_test.mk +++ b/builddefs/build_test.mk @@ -75,6 +75,10 @@ $(TEST)_SRC += \ tests/test_common/main.cpp \ $(QUANTUM_PATH)/logging/print.c +ifneq ($(strip $(INTROSPECTION_KEYMAP_C)),) +$(TEST)_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\" +endif + $(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC) $(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC) $(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS) diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index 4a825b7fe5..e53d90da39 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -43,7 +43,6 @@ "DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"}, // Combos - "COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"}, "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"}, // Dynamic Keymap @@ -182,9 +181,10 @@ "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool", "deprecated": true}, "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool", "deprecated": true}, "UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true}, + "COMBO_COUNT": {"info_key": "_invalid.combo.count", "invalid": true}, // USB params, need to mark as failure when specified in config.h, rather than deprecated - "DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version", "deprecated": true, "replace_with": "`usb.device_version` in info.json"} + "DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version", "deprecated": true, "replace_with": "`usb.device_version` in info.json"}, "MANUFACTURER": {"info_key": "manufacturer", "value_type": "str", "deprecated": true, "replace_with": "`manufacturer` in info.json"}, "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str", "deprecated": true, "replace_with": "`keyboard_name` in info.json"}, "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"}, diff --git a/docs/config_options.md b/docs/config_options.md index 5ea71d993e..4698260118 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -186,8 +186,6 @@ If you define these options you will enable the associated feature, which may in * how long before oneshot times out * `#define ONESHOT_TAP_TOGGLE 2` * how many taps before oneshot toggle is triggered -* `#define COMBO_COUNT 2` - * Set this to the number of combos that you're using in the [Combo](feature_combo.md) feature. Or leave it undefined and programmatically set the count. * `#define COMBO_TERM 200` * how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined. * `#define COMBO_MUST_HOLD_MODS` diff --git a/docs/feature_combo.md b/docs/feature_combo.md index 075fe252ae..fd241061fb 100644 --- a/docs/feature_combo.md +++ b/docs/feature_combo.md @@ -4,15 +4,12 @@ The Combo feature is a chording type solution for adding custom actions. It lets To enable this feature, you need to add `COMBO_ENABLE = yes` to your `rules.mk`. -Additionally, in your `config.h`, you'll need to specify the number of combos that you'll be using, by adding `#define COMBO_COUNT 1` (replacing 1 with the number that you're using). It is also possible to not define this and instead set the variable `COMBO_LEN` yourself. There's a trick where we don't need to think about this variable at all. More on this later. - - Then, in your `keymap.c` file, you'll need to define a sequence of keys, terminated with `COMBO_END`, and a structure to list the combination of keys, and its resulting action. ```c const uint16_t PROGMEM test_combo1[] = {KC_A, KC_B, COMBO_END}; const uint16_t PROGMEM test_combo2[] = {KC_C, KC_D, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { COMBO(test_combo1, KC_ESC), COMBO(test_combo2, LCTL(KC_Z)), // keycodes with modifiers are possible too! }; @@ -33,7 +30,7 @@ It is possible to overlap combos. Before, with the example below both combos wou ```c const uint16_t PROGMEM test_combo1[] = {LSFT_T(KC_A), LT(1, KC_B), COMBO_END}; const uint16_t PROGMEM test_combo2[] = {LSFT_T(KC_A), LT(1, KC_B), KC_C, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { COMBO(test_combo1, KC_ESC) COMBO(test_combo2, KC_TAB) }; @@ -41,17 +38,15 @@ combo_t key_combos[COMBO_COUNT] = { ## Examples -A long list of combos can be defined in an `enum` list that ends with `COMBO_LENGTH` and you can leave `COMBO_COUNT` undefined: +A long list of combos can be defined in an `enum` list: ```c enum combos { AB_ESC, JK_TAB, QW_SFT, - SD_LAYER, - COMBO_LENGTH + SD_LAYER }; -uint16_t COMBO_LEN = COMBO_LENGTH; // remove the COMBO_COUNT define and use this instead! const uint16_t PROGMEM ab_combo[] = {KC_A, KC_B, COMBO_END}; const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; @@ -72,9 +67,7 @@ For a more complicated implementation, you can use the `process_combo_event` fun enum combo_events { EM_EMAIL, BSPC_LSFT_CLEAR, - COMBO_LENGTH }; -uint16_t COMBO_LEN = COMBO_LENGTH; // remove the COMBO_COUNT define and use this instead! const uint16_t PROGMEM email_combo[] = {KC_E, KC_M, COMBO_END}; const uint16_t PROGMEM clear_line_combo[] = {KC_BSPC, KC_LSFT, COMBO_END}; @@ -259,18 +252,6 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode } ``` -### Variable Length Combos -If you leave `COMBO_COUNT` undefined in `config.h`, it allows you to programmatically declare the size of the Combo data structure and avoid updating `COMBO_COUNT`. Instead a variable called `COMBO_LEN` has to be set. It can be set with something similar to the following in `keymap.c`: `uint16_t COMBO_LEN = ARRAY_SIZE(key_combos);` or by adding `COMBO_LENGTH` as the *last* entry in the combo enum and then `uint16_t COMBO_LEN = COMBO_LENGTH;` as such: -```c -enum myCombos { - ..., - COMBO_LENGTH -}; -uint16_t COMBO_LEN = COMBO_LENGTH; -``` -Regardless of the method used to declare `COMBO_LEN`, this also requires to convert the `combo_t key_combos[COMBO_COUNT] = {...};` line to `combo_t key_combos[] = {...};`. - - ### Combo timer Normally, the timer is started on the first key press and then reset on every subsequent key press within the `COMBO_TERM`. @@ -300,10 +281,8 @@ Here's an example where a combo resolves to two modifiers, and on key releases t ```c enum combos { - AB_MODS, - COMBO_LENGTH + AB_MODS }; -uint16_t COMBO_LEN = COMBO_LENGTH; const uint16_t PROGMEM ab_combo[] = {KC_A, KC_B, COMBO_END}; @@ -415,6 +394,4 @@ SUBS(TH_THE, "the", KC_T, KC_H) // SUBS uses SEND_STRING to output the give ... ``` -Now, you can update only one place to add or alter combos. You don't even need to remember to update the `COMBO_COUNT` or the `COMBO_LEN` variables at all. Everything is taken care of. Magic! - For small to huge ready made dictionaries of combos, you can check out http://combos.gboards.ca/. diff --git a/docs/ja/config_options.md b/docs/ja/config_options.md index 4f9f1f2770..5e98da5eee 100644 --- a/docs/ja/config_options.md +++ b/docs/ja/config_options.md @@ -176,8 +176,6 @@ QMK での全ての利用可能な設定にはデフォルトがあります。 * ワンショットがタイムアウトするまでの時間 * `#define ONESHOT_TAP_TOGGLE 2` * ワンショットトグルが引き起こされるまでのタップ数 -* `#define COMBO_COUNT 2` - * [コンボ](ja/feature_combo.md)機能で使っているコンボの数にこれを設定します。 * `#define COMBO_TERM 200` * コンボキーが検出されるまでの時間。定義されていない場合は、デフォルトは `TAPPING_TERM` です。 * `#define TAP_CODE_DELAY 100` diff --git a/docs/ja/feature_combo.md b/docs/ja/feature_combo.md index bd46e88b7f..0c0591e5f7 100644 --- a/docs/ja/feature_combo.md +++ b/docs/ja/feature_combo.md @@ -18,7 +18,7 @@ ```c const uint16_t PROGMEM test_combo[] = {KC_A, KC_B, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = {COMBO(test_combo, KC_ESC)}; +combo_t key_combos[] = {COMBO(test_combo, KC_ESC)}; ``` これは、A と B のキーを押した場合に、"Escape" を送信します。 @@ -38,7 +38,7 @@ enum combos { const uint16_t PROGMEM ab_combo[] = {KC_A, KC_B, COMBO_END}; const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [AB_ESC] = COMBO(ab_combo, KC_ESC), [JK_TAB] = COMBO(jk_combo, KC_TAB) }; @@ -55,7 +55,7 @@ enum combo_events { const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END}; const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [ZC_COPY] = COMBO_ACTION(copy_combo), [XV_PASTE] = COMBO_ACTION(paste_combo), }; diff --git a/keyboards/0xcb/splaytoraid/keymaps/pi/config.h b/keyboards/0xcb/splaytoraid/keymaps/pi/config.h index 52e39aef65..1786ae776d 100644 --- a/keyboards/0xcb/splaytoraid/keymaps/pi/config.h +++ b/keyboards/0xcb/splaytoraid/keymaps/pi/config.h @@ -10,7 +10,6 @@ #ifdef COMBO_ENABLE - #define COMBO_COUNT 9 #define COMBO_TERM 20 #define COMBO_ONLY_FROM_LAYER 0 #endif diff --git a/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c index 29953eedef..07036b7245 100644 --- a/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c +++ b/keyboards/0xcb/splaytoraid/keymaps/pi/keymap.c @@ -73,7 +73,7 @@ const uint16_t PROGMEM ent_combo[] = {HM_K, HM_L, COMBO_END}; const uint16_t PROGMEM tab_combo[] = {HM_F, HM_D, COMBO_END}; const uint16_t PROGMEM esc_combo[] = {HM_D, HM_S, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { COMBO(ae_combo, RALT(KC_Q)), COMBO(ss_combo, RALT(KC_S)), COMBO(ue_combo, RALT(KC_Y)), @@ -298,7 +298,3 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_NUMBERS] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_FUNCTION] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } }; - - - - diff --git a/keyboards/3w6/keymaps/helltm/combos.h b/keyboards/3w6/keymaps/helltm/combos.h index 85f44cd0d4..99173ecb22 100644 --- a/keyboards/3w6/keymaps/helltm/combos.h +++ b/keyboards/3w6/keymaps/helltm/combos.h @@ -19,16 +19,14 @@ #define CB(name, action, ...) C_##name, enum user_combos { #include "combos.def" - COMBO_LENGTH }; #undef CB -uint16_t COMBO_LEN = COMBO_LENGTH; #define CB(name, action, ...) const uint16_t PROGMEM name##_combo[] = {__VA_ARGS__, COMBO_END}; #include "combos.def" #undef CB -combo_t key_combos[COMBO_LENGTH] = { +combo_t key_combos[] = { #define CB(name, action, ...) COMBO(name##_combo, action), #include "combos.def" #undef CB diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h index 589a67f03d..c97c9c2f4b 100644 --- a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h +++ b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h @@ -37,8 +37,6 @@ // how long before oneshot times out #define ONESHOT_TAP_TOGGLE 2 // how many taps before oneshot toggle is triggered - #define COMBO_COUNT 2 - // Set this to the number of combos that you're using in the Combo feature. #define COMBO_TERM 200 // how long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined. #define TAP_CODE_DELAY 100 diff --git a/keyboards/40percentclub/nori/keymaps/wings_36key/config.h b/keyboards/40percentclub/nori/keymaps/wings_36key/config.h index f076ded9ba..0ac12473e0 100644 --- a/keyboards/40percentclub/nori/keymaps/wings_36key/config.h +++ b/keyboards/40percentclub/nori/keymaps/wings_36key/config.h @@ -19,7 +19,5 @@ #define RETRO_TAPPING_PER_KEY #define TAPPING_TERM_PER_KEY -#define COMBO_COUNT 2 // number of combos used #define COMBO_TERM 40 // time out for combos in ms #define TAPPING_TERM 200 // time out for tap-hold in ms - diff --git a/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c b/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c index 40d59ecf76..fc6b19ff3c 100644 --- a/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c +++ b/keyboards/40percentclub/nori/keymaps/wings_36key/keymap.c @@ -99,14 +99,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { COMBO(df_tab, KC_TAB), COMBO(jk_alt, KC_LALT), }; layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} +} uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { switch (keycode) { diff --git a/keyboards/ashpil/modelm_usbc/keymaps/ashpil/config.h b/keyboards/ashpil/modelm_usbc/keymaps/ashpil/config.h index d5cef677e8..59cec33010 100644 --- a/keyboards/ashpil/modelm_usbc/keymaps/ashpil/config.h +++ b/keyboards/ashpil/modelm_usbc/keymaps/ashpil/config.h @@ -20,5 +20,4 @@ /* Add combos */ -#define COMBO_COUNT 1 #define COMBO_TERM 200 diff --git a/keyboards/ashpil/modelm_usbc/keymaps/ashpil/keymap.c b/keyboards/ashpil/modelm_usbc/keymaps/ashpil/keymap.c index 3556aac483..e8df1f0c81 100644 --- a/keyboards/ashpil/modelm_usbc/keymaps/ashpil/keymap.c +++ b/keyboards/ashpil/modelm_usbc/keymaps/ashpil/keymap.c @@ -32,7 +32,7 @@ enum combo_events { const uint16_t PROGMEM reset_combo[] = {KC_LCTL, KC_PAUS, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [CTRL_PAUS_RESET] = COMBO_ACTION(reset_combo), }; @@ -44,4 +44,4 @@ void process_combo_event(uint16_t combo_index, bool pressed) { } break; } -} \ No newline at end of file +} diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h index 19b366f4a8..10f5ddf146 100644 --- a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h +++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h @@ -21,8 +21,6 @@ #define BACKLIGHT_LIMIT_VAL 255 #define BACKLIGHT_DEFAULT_LEVEL 3 -#define COMBO_COUNT 3 - #define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX #define QUICK_TAP_TERM 0 diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c index 0642cdc333..c90f7e25a1 100644 --- a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c +++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END}; const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END}; const uint16_t PROGMEM cut_combo[] = {KC_Z, KC_X, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [ZC_COPY] = COMBO_ACTION(copy_combo), [XV_PASTE] = COMBO_ACTION(paste_combo), [ZX_CUT] = COMBO_ACTION(cut_combo), diff --git a/keyboards/bluebell/swoop/keymaps/kyek/config.h b/keyboards/bluebell/swoop/keymaps/kyek/config.h index e48703e02d..6b06855a5a 100644 --- a/keyboards/bluebell/swoop/keymaps/kyek/config.h +++ b/keyboards/bluebell/swoop/keymaps/kyek/config.h @@ -15,4 +15,3 @@ */ #pragma once #define ONESHOT_TIMEOUT 1000 -#define COMBO_COUNT 2 diff --git a/keyboards/bluebell/swoop/keymaps/kyek/keymap.c b/keyboards/bluebell/swoop/keymaps/kyek/keymap.c index 10fde34180..1901c24f27 100644 --- a/keyboards/bluebell/swoop/keymaps/kyek/keymap.c +++ b/keyboards/bluebell/swoop/keymaps/kyek/keymap.c @@ -33,7 +33,7 @@ enum combos { }; const uint16_t PROGMEM accent_combo[] = {KC_SPC, MO(_SYM1), COMBO_END}; const uint16_t PROGMEM settings_combo[] = {MO(_EXT), SFT_T(KC_SPC), COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [ACC] = COMBO(accent_combo, MO(_ACC)), [SET] = COMBO(settings_combo, MO(_SET)), }; @@ -78,37 +78,37 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_EXT] = LAYOUT_split_3x5_3( KC_ESC, _______, _______, _______, _______, KC_PAGE_UP, KC_HOME, KC_UP, KC_END, KC_CAPS, OS_ALT, OS_GUI, OS_SFT, OS_CTL, OS_RALT, KC_PAGE_DOWN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DELETE, - UNDO, CUT, COPY, KC_TAB, PASTE, DEL_WORD, KC_BSPC, _______, _______, _______, + UNDO, CUT, COPY, KC_TAB, PASTE, DEL_WORD, KC_BSPC, _______, _______, _______, _______, _______, _______, KC_ENT, FNC, _______ ), [_FNC] = LAYOUT_split_3x5_3( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, - OS_ALT, OS_GUI, OS_SFT, OS_CTL, OS_RALT, KC_F11, KC_F12, KC_PSCR, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + OS_ALT, OS_GUI, OS_SFT, OS_CTL, OS_RALT, KC_F11, KC_F12, KC_PSCR, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_SYM2] = LAYOUT_split_3x5_3( - IT_CIRC, IT_UNDS, IT_PND, IT_EURO, IT_HASH, _______, _______, _______, _______, _______, - BACKTICK, TILDE, IT_BSLS, IT_PIPE, IT_AMPR, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + IT_CIRC, IT_UNDS, IT_PND, IT_EURO, IT_HASH, _______, _______, _______, _______, _______, + BACKTICK, TILDE, IT_BSLS, IT_PIPE, IT_AMPR, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_ACC] = LAYOUT_split_3x5_3( - _______, _______, _______, CEGR, _______, _______, _______, _______, _______, _______, - IT_AGRV, IT_IGRV, IT_OGRV, IT_EGRV, IT_EACU, _______, _______, _______, _______, _______, - _______, _______, _______, IT_UGRV, _______, _______, _______, _______, _______, _______, + _______, _______, _______, CEGR, _______, _______, _______, _______, _______, _______, + IT_AGRV, IT_IGRV, IT_OGRV, IT_EGRV, IT_EACU, _______, _______, _______, _______, _______, + _______, _______, _______, IT_UGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_SET] = LAYOUT_split_3x5_3( - _______, _______, _______, RGB_RMOD, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, - _______, _______, _______, RGB_M_B, RGB_M_P, RGB_HUI, RGB_HUD, _______, _______, _______, - QK_BOOT, _______, _______, RGB_M_R, RGB_TOG, RGB_SAI, RGB_SAD, _______, _______, QK_BOOT, + _______, _______, _______, RGB_RMOD, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, _______, + _______, _______, _______, RGB_M_B, RGB_M_P, RGB_HUI, RGB_HUD, _______, _______, _______, + QK_BOOT, _______, _______, RGB_M_R, RGB_TOG, RGB_SAI, RGB_SAD, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______ ), // [_TEMP] = LAYOUT_split_3x5_3( -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______ // ), }; diff --git a/keyboards/centromere/keymaps/mini_bom/config.h b/keyboards/centromere/keymaps/mini_bom/config.h index 7c40fba2a3..7a79437fab 100644 --- a/keyboards/centromere/keymaps/mini_bom/config.h +++ b/keyboards/centromere/keymaps/mini_bom/config.h @@ -17,7 +17,6 @@ #pragma once #ifdef COMBO_ENABLE -# define COMBO_COUNT 10 # define COMBO_TERM 50 #endif diff --git a/keyboards/centromere/keymaps/mini_bom/keymap.c b/keyboards/centromere/keymaps/mini_bom/keymap.c index 82e68aafa5..1dd8f60c5a 100644 --- a/keyboards/centromere/keymaps/mini_bom/keymap.c +++ b/keyboards/centromere/keymaps/mini_bom/keymap.c @@ -20,7 +20,7 @@ // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. +// entirely and just use numbers. enum centromere_layers @@ -57,7 +57,7 @@ enum centromere_layers * | | | | | | | | * '-------------------------' '-----------------' */ - + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer @@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_TILD, KC_TRNS, KC_TRNS, KC_BSLS, KC_NO, KC_NO, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_BTN2, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_QUOT, KC_NO, KC_NO, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_BTN1, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_MINS, KC_NO, - CM_TOGG, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, KC_DEL + CM_TOGG, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, KC_DEL ), /* Keymap 2: Pad/Function layer @@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NUMB] = LAYOUT( KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU, KC_NO, - KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_VOLD, KC_NO, + KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_VOLD, KC_NO, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT ), @@ -137,8 +137,8 @@ const uint16_t PROGMEM combo_less[] = {KC_H, KC_J, COMBO_END}; const uint16_t PROGMEM combo_more[] = {KC_K, KC_L, COMBO_END}; const uint16_t PROGMEM combo_quot[] = {KC_N, KC_M, COMBO_END}; const uint16_t PROGMEM combo_dash[] = {KC_X, KC_C, COMBO_END}; - -combo_t key_combos[COMBO_COUNT] = { + +combo_t key_combos[] = { [COMBO_BSPC] = COMBO(combo_bspc,KC_BSPC), [COMBO_TAB] = COMBO(combo_tab,KC_TAB), [COMBO_ESC] = COMBO(combo_esc,KC_ESC), @@ -148,6 +148,6 @@ combo_t key_combos[COMBO_COUNT] = { [COMBO_LESS] = COMBO(combo_less,KC_LT), [COMBO_MORE] = COMBO(combo_more,KC_GT), [COMBO_QUOT] = COMBO(combo_quot, KC_QUOT), - [COMBO_DASH] = COMBO(combo_dash, KC_MINS), + [COMBO_DASH] = COMBO(combo_dash, KC_MINS), }; #endif diff --git a/keyboards/chord/zero/keymaps/default/keymap.c b/keyboards/chord/zero/keymaps/default/keymap.c index 0469288fd4..a1edbe0cff 100644 --- a/keyboards/chord/zero/keymaps/default/keymap.c +++ b/keyboards/chord/zero/keymaps/default/keymap.c @@ -21,5 +21,3 @@ const uint16_t PROGMEM bootloader_combo[] = { combo_t key_combos[] = { COMBO(bootloader_combo, QK_BOOTLOADER), }; - -uint16_t COMBO_LEN = sizeof(key_combos) / sizeof(key_combos[0]); diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/combo.c b/keyboards/converter/usb_usb/keymaps/chriskopher/combo.c index 68a3eda04c..3b89488648 100644 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/combo.c +++ b/keyboards/converter/usb_usb/keymaps/chriskopher/combo.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM sd_combo[] = {KC_S, KC_D, COMBO_END}; // Combo: S + D fo const uint16_t PROGMEM kl_combo[] = {KC_K, KC_L, COMBO_END}; // Combo: K + L for Meh modifier // Register the combo action -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [SD_LAYER_COMBO] = COMBO_ACTION(sd_combo), [KL_MEH_COMBO] = COMBO_ACTION(kl_combo), }; diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/config.h b/keyboards/converter/usb_usb/keymaps/chriskopher/config.h index 04066edc02..8f26d25799 100644 --- a/keyboards/converter/usb_usb/keymaps/chriskopher/config.h +++ b/keyboards/converter/usb_usb/keymaps/chriskopher/config.h @@ -20,5 +20,4 @@ #define HOLD_ON_OTHER_KEY_PRESS_PER_KEY // Allows configuration of hold on other key press per key in keymap.c -#define COMBO_COUNT 2 // Number of defined combos #define COMBO_TERM 20 // Delay for combo keys to be chained together diff --git a/keyboards/converter/usb_usb/keymaps/narze/config.h b/keyboards/converter/usb_usb/keymaps/narze/config.h index fddd9cd376..a7fccc4187 100644 --- a/keyboards/converter/usb_usb/keymaps/narze/config.h +++ b/keyboards/converter/usb_usb/keymaps/narze/config.h @@ -24,7 +24,6 @@ #define TAPPING_TERM 100 #define COMBO_TERM 20 -#define COMBO_COUNT 1 #define PERMISSIVE_HOLD diff --git a/keyboards/crkbd/keymaps/antosha417/keymap.c b/keyboards/crkbd/keymaps/antosha417/keymap.c index bdee148485..47771b531e 100644 --- a/keyboards/crkbd/keymaps/antosha417/keymap.c +++ b/keyboards/crkbd/keymaps/antosha417/keymap.c @@ -165,11 +165,8 @@ enum combo_events { DELQ_COMBO, SAVEQ_COMBO, BSPCQ_COMBO, - BSPCWQ_COMBO, - - COMBO_LENGTH + BSPCWQ_COMBO }; -uint16_t COMBO_LEN = COMBO_LENGTH; const uint16_t PROGMEM ru_combo[] = {KC_R, U_CTRL, COMBO_END}; const uint16_t PROGMEM en_combo[] = {U_CTRL, S_ALT, COMBO_END}; @@ -216,7 +213,7 @@ combo_t key_combos[] = { [SAVEQ_COMBO] = COMBO(saveq_combo, VIM_SAVE), [BSPCWQ_COMBO] = COMBO(bspcwq_combo, DELETE_WORD), }; - + #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { @@ -398,4 +395,3 @@ void matrix_scan_user(void) { #include "mod_tap_keys.h" #undef MOD_TAP_KEY } - diff --git a/keyboards/crkbd/keymaps/cameronjlarsen/keymap.c b/keyboards/crkbd/keymaps/cameronjlarsen/keymap.c index e7bccb5c73..54ad19dc0b 100644 --- a/keyboards/crkbd/keymaps/cameronjlarsen/keymap.c +++ b/keyboards/crkbd/keymaps/cameronjlarsen/keymap.c @@ -30,7 +30,7 @@ enum layers { // One shot mods enum keycodes { - OS_SHFT = QK_USER, + OS_SHFT = QK_USER, OS_CTRL, OS_ALT, OS_GUI, @@ -159,11 +159,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; enum combo_events { - CAPS_COMBO, - // Other combos... - COMBO_LENGTH + CAPS_COMBO }; -uint16_t COMBO_LEN = COMBO_LENGTH; const uint16_t PROGMEM caps_combo[] = {KC_F, KC_J, COMBO_END}; diff --git a/keyboards/crkbd/keymaps/markstos/config.h b/keyboards/crkbd/keymaps/markstos/config.h index 5644812e5e..24101724de 100644 --- a/keyboards/crkbd/keymaps/markstos/config.h +++ b/keyboards/crkbd/keymaps/markstos/config.h @@ -43,11 +43,9 @@ This is the C configuration file for the keymap #define QMK_SPEAKER C6 // When enabled, typing a mod-tap plus second within term will register as the mod-combo -// Ref: https://beta.docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold +// Ref: https://beta.docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold #define PERMISSIVE_HOLD -#define COMBO_COUNT 2 - // Set the COMBO_TERM so low that I won't type the keys one after each other during normal typing. // They would have be held together intentionally to trigger this. #define COMBO_TERM 40 @@ -56,4 +54,3 @@ This is the C configuration file for the keymap // I want a relatively low timeout, so if I accidentally type "Shift", I can pause just briefly and move on. #define ONESHOT_TAP_TOGGLE 3 /* Tapping this number of times holds the key until tapped once again. */ #define ONESHOT_TIMEOUT 2000 /* Time (in ms) before the one shot key is released */ - diff --git a/keyboards/crkbd/keymaps/markstos/keymap.c b/keyboards/crkbd/keymaps/markstos/keymap.c index ca5be183b1..1f95ee52b2 100644 --- a/keyboards/crkbd/keymaps/markstos/keymap.c +++ b/keyboards/crkbd/keymaps/markstos/keymap.c @@ -18,7 +18,7 @@ enum combos { const uint16_t PROGMEM df_combo[] = {KC_D, KC_F, COMBO_END}; const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { // Add commonly used dash to home row [DF_DASH] = COMBO(df_combo, KC_MINS), // For Vim, put Escape on the home row @@ -43,7 +43,7 @@ enum custom_layers { #define GUI_ENT GUI_T(KC_ENT) #define LOW_TAB LT(_LOWER, KC_TAB) #define RSE_BSP LT(_RAISE, KC_BSPC) -#define OSM_SFT OSM(MOD_LSFT) +#define OSM_SFT OSM(MOD_LSFT) // For _RAISE layer diff --git a/keyboards/crkbd/keymaps/nimishgautam/config.h b/keyboards/crkbd/keymaps/nimishgautam/config.h index d169988be7..b4c5bc9e0a 100644 --- a/keyboards/crkbd/keymaps/nimishgautam/config.h +++ b/keyboards/crkbd/keymaps/nimishgautam/config.h @@ -15,7 +15,6 @@ // combo -#define COMBO_COUNT 7 #define EXTRA_SHORT_COMBOS //Tapping values @@ -68,7 +67,7 @@ // NOTE: the below effects are super cool but they go absolutely nuts if you manually set hsv colors (eg with layers) //#define ENABLE_RGB_MATRIX_TYPING_HEATMAP - //#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + //#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH //#define ENABLE_RGB_MATRIX_SOLID_REACTIVE #endif diff --git a/keyboards/crkbd/keymaps/nimishgautam/keymap.c b/keyboards/crkbd/keymaps/nimishgautam/keymap.c index 0c0a3e3544..389a5bfdb1 100644 --- a/keyboards/crkbd/keymaps/nimishgautam/keymap.c +++ b/keyboards/crkbd/keymaps/nimishgautam/keymap.c @@ -20,7 +20,7 @@ enum custom_key_codes { MOVE_END_LINE_TERMINAL, // move to the end of the line in the terminal /* macros */ PASTE_VIM, // paste in vim from system register - ACIRCLE, // å + ACIRCLE, // å ADOT, // ä ODOT, // ö COMPOSE_MACRO, // compose key for mac or linux @@ -44,7 +44,7 @@ enum { #define SHOW_WINDOWS LCTL(KC_UP) //'Expose' on Mac, overview on linux. Just all the windows #define WINDOW_LEFT LCTL(LGUI(LSFT(KC_LEFT))) //custom shortcut for this feature -- make window take up 50% left screen (using gui and ctl to make it os agnostic) #define WINDOW_RIGHT LCTL(LGUI(LSFT(KC_RIGHT))) //custom shortcut for this feature -- make window take up 50% right screen (using gui and ctl to make it os agnostic)/fully custom shortcut, using ctl and gui keys so will need them both irrespective of os -#define SHOW_APP_WINDOWS LCTL(KC_DOWN) +#define SHOW_APP_WINDOWS LCTL(KC_DOWN) #define LOCK_SCREEN LCTL(LGUI(KC_Q)) //manually set this on linux to match osx default #define EURO LALT(LSFT(KC_2)) #define EMOJI_KBD LCTL(LGUI(KC_SPACE)) //manually set this on linux to match osx default, with 'emote' on linux and a custom shortcut (probably better to use compose feature) @@ -86,7 +86,7 @@ const uint16_t PROGMEM adot_combo[] = {KC_BSPC, KC_SPACE, MT(MOD_RALT,KC_L), COM // combo - press combo+ ; to get ö const uint16_t PROGMEM odot_combo[] = {KC_BSPC, KC_SPACE, MT(MOD_LCTL,KC_SCLN),COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { COMBO(compose_combo, COMPOSE_MACRO), COMBO(search_combo, FINDER), COMBO(calculator_combo, CALCULATOR), @@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NUMS] = LAYOUT_split_3x6_3( //numbers //,-----------------------------------------------------. ,-----------------------------------------------------. - SCREENSHOT, KC_EXCLAIM,KC_AT, KC_HASH, KC_DOLLAR,KC_PERCENT, KC_CIRCUMFLEX, KC_7, KC_8, KC_9, KC_TRANSPARENT, KC_PIPE, + SCREENSHOT, KC_EXCLAIM,KC_AT, KC_HASH, KC_DOLLAR,KC_PERCENT, KC_CIRCUMFLEX, KC_7, KC_8, KC_9, KC_TRANSPARENT, KC_PIPE, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| TO(_BASE), KC_LCTL, KC_LALT, KC_RSFT, KC_LGUI,KC_PLUS, KC_EQL, KC_4, KC_5, KC_6, KC_BSLS, KC_TRANSPARENT, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NUM_MASK] = LAYOUT_split_3x6_3( //NUM MASK, so I can still have backspace/enter/tab etc but with the nums, arrows and formatters too //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TRANSPARENT, KC_TRANSPARENT,KC_TRANSPARENT, KC_UP, KC_TRANSPARENT,KC_TRANSPARENT, KC_TRANSPARENT, KC_7, KC_8, KC_9, KC_TRANSPARENT, KC_TRANSPARENT, + KC_TRANSPARENT, KC_TRANSPARENT,KC_TRANSPARENT, KC_UP, KC_TRANSPARENT,KC_TRANSPARENT, KC_TRANSPARENT, KC_7, KC_8, KC_9, KC_TRANSPARENT, KC_TRANSPARENT, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| TO(_BASE), KC_TRANSPARENT, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRANSPARENT, KC_TRANSPARENT, KC_4, KC_5, KC_6, KC_TRANSPARENT, KC_TRANSPARENT, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN_KEYS] = LAYOUT_split_3x6_3( //fn keys, terminal text navigation keys //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TRANSPARENT, KC_LCBR,KC_LBRC, KC_RBRC, KC_RCBR, MOVE_BEGIN_LINE_TERMINAL, MOVE_END_LINE_TERMINAL, KC_F7, KC_F8, KC_F9, KC_F11, KC_TRANSPARENT, + KC_TRANSPARENT, KC_LCBR,KC_LBRC, KC_RBRC, KC_RCBR, MOVE_BEGIN_LINE_TERMINAL, MOVE_END_LINE_TERMINAL, KC_F7, KC_F8, KC_F9, KC_F11, KC_TRANSPARENT, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| TO(_BASE), KC_LCTL, KC_LALT, KC_RSFT, KC_LGUI, KC_TRANSPARENT, KC_TRANSPARENT, KC_F4, KC_F5, KC_F6, KC_F12, KC_TRANSPARENT, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -173,7 +173,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT , KC_HASH , KC_TRANSPARENT, KC_F10 //`--------------------------' `--------------------------' ) - + }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -183,19 +183,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // as of this writing, you can't do a layer tap (LT) // and also send a shifted code, like left parens - // If you call such a function, it'll do the layer shift but + // If you call such a function, it'll do the layer shift but // it'll ignore the key code on tap... this is the workaround - + case LT(_NUMS,KC_LPRN): // Shift to _NUMS layer on hold, but send left paren on press if (record->tap.count && record->event.pressed) { - tap_code16(KC_LPRN); - return false; + tap_code16(KC_LPRN); + return false; } break; case LT(_NUMS,KC_RPRN): // Shift to _NUMS on hold, send right parens on press if (record->tap.count && record->event.pressed) { - tap_code16(KC_RPRN); - return false; + tap_code16(KC_RPRN); + return false; } break; @@ -203,20 +203,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->tap.count && record->event.pressed) { tap_code16(SHOW_WINDOWS); // Intercept tap function } else if (record->event.pressed) { - tap_code16(WINDOW_LEFT); // Intercept hold function + tap_code16(WINDOW_LEFT); // Intercept hold function } return false; break; - + case LT(0, NUMERIC_WIN_RIGHT): if (record->tap.count && record->event.pressed) { layer_on(_NUM_MASK);// Intercept tap function } else if (record->event.pressed) { - tap_code16(WINDOW_RIGHT); // Intercept hold function + tap_code16(WINDOW_RIGHT); // Intercept hold function } return false; break; - + case PASTE_VIM: if (record->event.pressed){ SEND_STRING(SS_TAP(X_ESCAPE)"\"+pi"); @@ -225,7 +225,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; //only read the keymap config if it's one of the below cases (instead of every time) - case DEL_WORD: + case DEL_WORD: case SELECT_LEFT_WD: case SELECT_RIGHT_WD: case SELECT_LEFT_LINE: @@ -235,7 +235,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case MOVE_LEFT_LINE: case MOVE_RIGHT_LINE: case PASTE_NOSTYLE: - case MOVE_BEGIN_LINE_TERMINAL: + case MOVE_BEGIN_LINE_TERMINAL: case MOVE_END_LINE_TERMINAL: case ACIRCLE: case ADOT: @@ -313,28 +313,28 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if(keymap_config.swap_lctl_lgui){ //Linux tap_code16(LCTL(RSFT(KC_V))); } else { //osx - tap_code16(LGUI(LALT(LSFT(KC_V)))); + tap_code16(LGUI(LALT(LSFT(KC_V)))); } break; case MOVE_BEGIN_LINE_TERMINAL: if(keymap_config.swap_lctl_lgui){ //Linux tap_code16(KC_HOME); } else { //osx - tap_code16(LSFT(KC_HOME)); + tap_code16(LSFT(KC_HOME)); } break; case MOVE_END_LINE_TERMINAL: if(keymap_config.swap_lctl_lgui){ //Linux tap_code16(KC_END); } else { //osx - tap_code16(LSFT(KC_END)); + tap_code16(LSFT(KC_END)); } break; case ACIRCLE: // å if(keymap_config.swap_lctl_lgui){ //Linux SEND_STRING(SS_TAP(X_COMPOSE_KEY)"aa"); } else { //osx - tap_code16(LALT(KC_A)); + tap_code16(LALT(KC_A)); } break; case ADOT: // ä @@ -351,14 +351,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING(SS_LALT("u")"o"); } break; - case COMPOSE_MACRO: + case COMPOSE_MACRO: if(keymap_config.swap_lctl_lgui){ //Linux tap_code16(COMPOSE_KEY); } else { //osx tap_code16(COMPOSE_MAC); } break; - case SCREENSHOT: + case SCREENSHOT: if(keymap_config.swap_lctl_lgui){ //Linux tap_code16(KC_PSCR); } else { //osx @@ -381,7 +381,7 @@ void dance_left_finished (tap_dance_state_t *state, void *user_data) { if(keymap_config.swap_lctl_lgui){ //Linux tap_code16(KC_HOME); } else { //osx - tap_code16(LGUI(KC_LEFT)); + tap_code16(LGUI(KC_LEFT)); } } else { //2 taps, make a circumflex tap_code16(KC_CIRC); @@ -394,7 +394,7 @@ void dance_right_finished (tap_dance_state_t *state, void *user_data) { if(keymap_config.swap_lctl_lgui){ //Linux tap_code16(KC_END); } else { //osx - tap_code16(LGUI(KC_RIGHT)); + tap_code16(LGUI(KC_RIGHT)); } } else { //2 taps, dollar tap_code16(KC_DOLLAR); @@ -429,7 +429,7 @@ void set_lighting_user(void) { led_t led_state = host_keyboard_led_state(); if(led_state.caps_lock){ rgblight_sethsv_noeeprom(HSV_RED); - } + } //rgblight_sethsv(HSV_OFF); break; case _NUMS: @@ -482,7 +482,7 @@ void oled_render_general_state(void){ else { oled_write_ln_P(PSTR("OSX"), false); } - + //oled_write_ln(get_u8_str(get_current_wpm(), '0'), false); /* led_t led_state = host_keyboard_led_state(); @@ -492,7 +492,7 @@ void oled_render_general_state(void){ //Layer color has to be handled by master - // led state doesn't have to be handled by master, but + // led state doesn't have to be handled by master, but // the keyboard will freeze if you type too fast // and have this handled on the slave side @@ -541,7 +541,7 @@ void oled_render_layer_mod_state(void) { break; case _FN_KEYS: oled_write_ln_P(PSTR("Fn"), false); - break; + break; default: break; } @@ -575,7 +575,7 @@ void oled_render_layer_mod_state(void) { bool oled_task_user(void) { if (is_keyboard_master()) { oled_render_general_state(); - } + } else { oled_render_layer_mod_state(); } diff --git a/keyboards/crkbd/keymaps/pdl/config.h b/keyboards/crkbd/keymaps/pdl/config.h index b25d48de02..f2a5a522ea 100644 --- a/keyboards/crkbd/keymaps/pdl/config.h +++ b/keyboards/crkbd/keymaps/pdl/config.h @@ -26,5 +26,4 @@ along with this program. If not, see . #define TAPPING_TERM 200 #define COMBO_PDL -#define COMBO_COUNT 28 #define COMBO_TERM 100 diff --git a/keyboards/drhigsby/dubba175/keymaps/default/config.h b/keyboards/drhigsby/dubba175/keymaps/default/config.h index 7a4761b1ae..8f9a59ed69 100644 --- a/keyboards/drhigsby/dubba175/keymaps/default/config.h +++ b/keyboards/drhigsby/dubba175/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define COMBO_COUNT 8 #define COMBO_TERM 40 diff --git a/keyboards/drhigsby/dubba175/keymaps/default/keymap.c b/keyboards/drhigsby/dubba175/keymaps/default/keymap.c index 37bae5b435..9a701bc9fe 100644 --- a/keyboards/drhigsby/dubba175/keymaps/default/keymap.c +++ b/keyboards/drhigsby/dubba175/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM lprn_combo[] = {KC_X, KC_C, COMBO_END}; const uint16_t PROGMEM rprn_combo[] = {KC_COMM, KC_DOT, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [combo_ESC] = COMBO(esc_combo, KC_ESC), [combo_BACK] = COMBO(bspc_combo, KC_BSPC), [combo_TAB] = COMBO(tab_combo, KC_TAB), @@ -71,12 +71,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, KC_PIPE, KC_BSLS, KC_DQUO, KC_QUOT, xxx, xxx, xxx, xxx, KC_PGUP, KC_PGDN ), - + [_FN] = LAYOUT( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, KC_F11, KC_F12, - xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, - xxx, xxx, xxx, xxx, xxx, xxx + xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, + xxx, xxx, xxx, xxx, xxx, xxx ) }; diff --git a/keyboards/drhigsby/ogurec/keymaps/default/config.h b/keyboards/drhigsby/ogurec/keymaps/default/config.h index 9ff2d89acc..5d9acf020f 100644 --- a/keyboards/drhigsby/ogurec/keymaps/default/config.h +++ b/keyboards/drhigsby/ogurec/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define COMBO_COUNT 7 #define COMBO_TERM 40 diff --git a/keyboards/drhigsby/ogurec/keymaps/default/keymap.c b/keyboards/drhigsby/ogurec/keymaps/default/keymap.c index 691f5c95a1..42a6f94781 100644 --- a/keyboards/drhigsby/ogurec/keymaps/default/keymap.c +++ b/keyboards/drhigsby/ogurec/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM lprn_combo[] = {KC_X, KC_C, COMBO_END}; const uint16_t PROGMEM rprn_combo[] = {KC_COMM, KC_DOT, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [combo_ESC] = COMBO(esc_combo, KC_ESC), [combo_BACK] = COMBO(bspc_combo, KC_BSPC), [combo_TAB] = COMBO(tab_combo, KC_TAB), @@ -68,9 +68,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT_ortho_3x12( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, - KC_VOLD, KC_VOLU, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_MRWD, KC_MFFD, xxx, xxx, xxx + KC_VOLD, KC_VOLU, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_MRWD, KC_MFFD, xxx, xxx, xxx ) }; diff --git a/keyboards/drhigsby/packrat/keymaps/3uc/config.h b/keyboards/drhigsby/packrat/keymaps/3uc/config.h index 9ff2d89acc..5d9acf020f 100644 --- a/keyboards/drhigsby/packrat/keymaps/3uc/config.h +++ b/keyboards/drhigsby/packrat/keymaps/3uc/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define COMBO_COUNT 7 #define COMBO_TERM 40 diff --git a/keyboards/drhigsby/packrat/keymaps/3uc/keymap.c b/keyboards/drhigsby/packrat/keymaps/3uc/keymap.c index f037a47acb..110d76f2cd 100644 --- a/keyboards/drhigsby/packrat/keymaps/3uc/keymap.c +++ b/keyboards/drhigsby/packrat/keymaps/3uc/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM lprn_combo[] = {KC_X, KC_C, COMBO_END}; const uint16_t PROGMEM rprn_combo[] = {KC_COMM, KC_DOT, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [combo_ESC] = COMBO(esc_combo, KC_ESC), [combo_BACK] = COMBO(bspc_combo, KC_BSPC), [combo_TAB] = COMBO(tab_combo, KC_TAB), @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { xxx, xxx, xxx, xxx, xxx, BASE, xxx, KC_P7, KC_P8, KC_P9, KC_PPLS, xxx, xxx, xxx, xxx, xxx, xxx, xxx, KC_P4, KC_P5, KC_P6, KC_PCMM, xxx, xxx, xxx, xxx, xxx, xxx, xxx, KC_P1, KC_P2, KC_P3, KC_PEQL, - xxx, xxx, xxx, xxx, KC_P0, KC_PDOT, KC_PENT + xxx, xxx, xxx, xxx, KC_P0, KC_PDOT, KC_PENT ), @@ -85,8 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, xxx, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, KC_F11, KC_F12, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, - xxx, xxx, xxx, xxx, xxx, xxx, xxx + xxx, xxx, xxx, xxx, xxx, xxx, xxx ) }; - diff --git a/keyboards/drhigsby/packrat/keymaps/default/config.h b/keyboards/drhigsby/packrat/keymaps/default/config.h index 9ff2d89acc..5d9acf020f 100644 --- a/keyboards/drhigsby/packrat/keymaps/default/config.h +++ b/keyboards/drhigsby/packrat/keymaps/default/config.h @@ -15,5 +15,4 @@ */ #pragma once -#define COMBO_COUNT 7 #define COMBO_TERM 40 diff --git a/keyboards/drhigsby/packrat/keymaps/default/keymap.c b/keyboards/drhigsby/packrat/keymaps/default/keymap.c index 74df6a73e6..fbc814b2b4 100644 --- a/keyboards/drhigsby/packrat/keymaps/default/keymap.c +++ b/keyboards/drhigsby/packrat/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM lprn_combo[] = {KC_X, KC_C, COMBO_END}; const uint16_t PROGMEM rprn_combo[] = {KC_COMM, KC_DOT, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { +combo_t key_combos[] = { [combo_ESC] = COMBO(esc_combo, KC_ESC), [combo_BACK] = COMBO(bspc_combo, KC_BSPC), [combo_TAB] = COMBO(tab_combo, KC_TAB), @@ -74,8 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, xxx, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, KC_F11, KC_F12, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, xxx, - xxx, xxx, xxx, xxx, xxx, xxx + xxx, xxx, xxx, xxx, xxx, xxx ) }; - diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h index e90d7184ee..05d30392ff 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h @@ -30,10 +30,8 @@ #undef ONESHOT_TIMEOUT #define ONESHOT_TIMEOUT 5000 -#define COMBO_COUNT 4 #define COMBO_TERM 200 - #undef RGBLIGHT_HUE_STEP #define RGBLIGHT_HUE_STEP 24 diff --git a/keyboards/eu_isolation/keymaps/bigspace/config.h b/keyboards/eu_isolation/keymaps/bigspace/config.h index 96783a4c87..ad4389af3e 100644 --- a/keyboards/eu_isolation/keymaps/bigspace/config.h +++ b/keyboards/eu_isolation/keymaps/bigspace/config.h @@ -1,19 +1,18 @@ /* Copyright 2020 Austin "TuckTuckFloof" Ashmore -* -* This program is free software: you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation, either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* You should have received a copy of the GNU General Public License -* along