From 854547330704fb1b1f07d547d49728da8b92b2a3 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 31 May 2022 15:38:08 +1000 Subject: Removes terminal from QMK. (#17258) --- users/bcat/rules.mk | 1 - 1 file changed, 1 deletion(-) (limited to 'users') diff --git a/users/bcat/rules.mk b/users/bcat/rules.mk index 1ad2ee0aa8..090f7474eb 100644 --- a/users/bcat/rules.mk +++ b/users/bcat/rules.mk @@ -47,7 +47,6 @@ endif COMMAND_ENABLE = no CONSOLE_ENABLE = no MOUSEKEY_ENABLE = no -TERMINAL_ENABLE = no # Disable unwanted hardware options on all keyboards. (Some keyboards turn # these features on by default even though they aren't actually required.) -- cgit 1.4.1 From 1706da9054f8c4aa77493062a8937a7b64970a9e Mon Sep 17 00:00:00 2001 From: Jouke Witteveen Date: Mon, 13 Jun 2022 22:12:55 +0200 Subject: tap-dance: Restructure code and document in more detail (#16394) --- builddefs/build_test.mk | 2 +- docs/feature_tap_dance.md | 143 +++++---- docs/ja/feature_tap_dance.md | 1 - .../basekeys/slice/rev1/keymaps/2moons/keymap.c | 4 +- .../slice/rev1_rgb/keymaps/2moons_rgb/keymap.c | 4 +- .../bpiphany/frosty_flake/keymaps/nikchi/config.h | 1 + .../bpiphany/frosty_flake/keymaps/nikchi/keymap.c | 32 ++- .../keymaps/nikchi/variableTapDance.md | 5 +- keyboards/duck/lightsaver/keymaps/rasmus/keymap.c | 4 +- .../ergodox_ez/keymaps/hacker_dvorak/config.h | 1 + .../hacker_dvorak/tap_dance/tap_dance_actions.c | 38 ++- .../gboards/gergoplex/keymaps/georgepetri/config.h | 2 + .../gboards/gergoplex/keymaps/georgepetri/keymap.c | 11 +- keyboards/handwired/ortho5x14/keymaps/2u/keymap.c | 6 +- .../handwired/ortho5x14/keymaps/split1/keymap.c | 6 +- keyboards/jones/v03/keymaps/default_jp/config.h | 1 + keyboards/jones/v03/keymaps/default_jp/keymap.c | 15 +- .../jones/v03_1/keymaps/default_ansi/config.h | 1 + .../jones/v03_1/keymaps/default_ansi/keymap.c | 15 +- keyboards/jones/v03_1/keymaps/default_jp/config.h | 1 + keyboards/jones/v03_1/keymaps/default_jp/keymap.c | 15 +- keyboards/keyhive/navi10/keymaps/default/keymap.c | 2 +- keyboards/keyhive/navi10/keymaps/devdev/keymap.c | 2 +- .../keyhive/navi10/keymaps/emdarcher/keymap.c | 2 +- .../kprepublic/jj50/keymaps/archetype/config.h | 1 + .../kprepublic/jj50/keymaps/archetype/keymap.c | 11 +- keyboards/planck/keymaps/ariccb/config.h | 1 + keyboards/planck/keymaps/ariccb/keymap.c | 13 +- keyboards/planck/keymaps/rootiest/config.h | 1 + keyboards/planck/keymaps/rootiest/keymap.c | 23 +- .../7skb/keymaps/salicylic/keymap.c | 4 +- .../7splus/keymaps/salicylic/keymap.c | 4 +- .../jisplit89/keymaps/salicylic/keymap.c | 4 +- .../naked60/keymaps/salicylic/keymap.c | 4 +- .../naked60/keymaps/salicylic_with_nafuda/keymap.c | 4 +- .../keymaps/salicylic_with_setta21/keymap.c | 4 +- .../naked64/keymaps/salicylic/keymap.c | 4 +- .../keymaps/salicylic_with_setta21/keymap.c | 4 +- .../thevankeyboards/minivan/keymaps/belak/keymap.c | 21 +- quantum/process_keycode/process_tap_dance.c | 137 ++++----- quantum/process_keycode/process_tap_dance.h | 33 +-- tests/tapdance/config.h | 19 ++ tests/tapdance/examples.c | 199 +++++++++++++ tests/tapdance/examples.h | 33 +++ tests/tapdance/test.mk | 22 ++ tests/tapdance/test_examples.cpp | 319 +++++++++++++++++++++ users/edvorakjp/edvorakjp_tap_dance.c | 13 +- users/gourdo1/gourdo1.c | 2 +- users/mnil/config.h | 1 + users/mnil/mnil.c | 4 +- users/ninjonas/config.h | 3 +- users/ninjonas/tap_dances.c | 16 +- 52 files changed, 972 insertions(+), 246 deletions(-) create mode 100644 tests/tapdance/config.h create mode 100644 tests/tapdance/examples.c create mode 100644 tests/tapdance/examples.h create mode 100644 tests/tapdance/test.mk create mode 100644 tests/tapdance/test_examples.cpp (limited to 'users') diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk index 5ad33b19c5..834184f221 100644 --- a/builddefs/build_test.mk +++ b/builddefs/build_test.mk @@ -42,7 +42,7 @@ VPATH += \ all: elf -VPATH += $(COMMON_VPATH) +VPATH += $(TEST_PATH) $(COMMON_VPATH) PLATFORM:=TEST PLATFORM_KEY:=test BOOTLOADER_TYPE:=none diff --git a/docs/feature_tap_dance.md b/docs/feature_tap_dance.md index c055a9989a..05134ec229 100644 --- a/docs/feature_tap_dance.md +++ b/docs/feature_tap_dance.md @@ -14,55 +14,48 @@ Optionally, you might want to set a custom `TAPPING_TERM` time by adding somethi ```c #define TAPPING_TERM 175 +#define TAPPING_TERM_PER_KEY ``` -The `TAPPING_TERM` time is the maximum time allowed between taps of your Tap Dance key, and is measured in milliseconds. For example, if you used the above `#define` statement and set up a Tap Dance key that sends `Space` on single-tap and `Enter` on double-tap, then this key will send `ENT` only if you tap this key twice in less than 175ms. If you tap the key, wait more than 175ms, and tap the key again you'll end up sending `SPC SPC` instead. +The `TAPPING_TERM` time is the maximum time allowed between taps of your Tap Dance key, and is measured in milliseconds. For example, if you used the above `#define` statement and set up a Tap Dance key that sends `Space` on single-tap and `Enter` on double-tap, then this key will send `ENT` only if you tap this key twice in less than 175ms. If you tap the key, wait more than 175ms, and tap the key again you'll end up sending `SPC SPC` instead. The `TAPPING_TERM_PER_KEY` definition is only needed if you control the tapping term through a [custom `get_tapping_term` function](tap_hold.md#tapping_term), which may be needed because `TAPPING_TERM` affects not just tap-dance keys. -Next, you will want to define some tap-dance keys, which is easiest to do with the `TD()` macro, that takes a number which will later be used as an index into the `tap_dance_actions` array. +Next, you will want to define some tap-dance keys, which is easiest to do with the `TD()` macro. That macro takes a number which will later be used as an index into the `tap_dance_actions` array and turns it into a tap-dance keycode. After this, you'll want to use the `tap_dance_actions` array to specify what actions shall be taken when a tap-dance key is in action. Currently, there are five possible options: * `ACTION_TAP_DANCE_DOUBLE(kc1, kc2)`: Sends the `kc1` keycode when tapped once, `kc2` otherwise. When the key is held, the appropriate keycode is registered: `kc1` when pressed and held, `kc2` when tapped once, then pressed and held. * `ACTION_TAP_DANCE_LAYER_MOVE(kc, layer)`: Sends the `kc` keycode when tapped once, or moves to `layer`. (this functions like the `TO` layer keycode). - * This is the same as `ACTION_TAP_DANCE_DUAL_ROLE`, but renamed to something that is clearer about its functionality. Both names will work. * `ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer)`: Sends the `kc` keycode when tapped once, or toggles the state of `layer`. (this functions like the `TG` layer keycode). * `ACTION_TAP_DANCE_FN(fn)`: Calls the specified function - defined in the user keymap - with the final tap count of the tap dance action. * `ACTION_TAP_DANCE_FN_ADVANCED(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn)`: Calls the first specified function - defined in the user keymap - on every tap, the second function when the dance action finishes (like the previous option), and the last function when the tap dance action resets. -* ~~`ACTION_TAP_DANCE_FN_ADVANCED_TIME(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn, tap_specific_tapping_term)`~~: This functions identically to the `ACTION_TAP_DANCE_FN_ADVANCED` function, but uses a custom tapping term for it, instead of the predefined `TAPPING_TERM`. - * This is deprecated in favor of the Per Key Tapping Term functionality, as outlined [here](tap_hold.md#tapping-term). You'd want to check for the specific `TD()` macro that you want to use (such as `TD(TD_ESC_CAPS)`) instead of using this specific Tap Dance function. The first option is enough for a lot of cases, that just want dual roles. For example, `ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)` will result in `Space` being sent on single-tap, `Enter` otherwise. !> Keep in mind that only [basic keycodes](keycodes_basic.md) are supported here. Custom keycodes are not supported. -Similar to the first option, the second option is good for simple layer-switching cases. +Similar to the first option, the second and third option are good for simple layer-switching cases. -For more complicated cases, use the third or fourth options (examples of each are listed below). - -Finally, the fifth option is particularly useful if your non-Tap-Dance keys start behaving weirdly after adding the code for your Tap Dance keys. The likely problem is that you changed the `TAPPING_TERM` time to make your Tap Dance keys easier for you to use, and that this has changed the way your other keys handle interrupts. +For more complicated cases, like blink the LEDs, fiddle with the backlighting, and so on, use the fourth or fifth option. Examples of each are listed below. ## Implementation Details :id=implementation Well, that's the bulk of it! You should now be able to work through the examples below, and to develop your own Tap Dance functionality. But if you want a deeper understanding of what's going on behind the scenes, then read on for the explanation of how it all works! -The main entry point is `process_tap_dance()`, called from `process_record_quantum()`, which is run for every keypress, and our handler gets to run early. This function checks whether the key pressed is a tap-dance key. If it is not, and a tap-dance was in action, we handle that first, and enqueue the newly pressed key. If it is a tap-dance key, then we check if it is the same as the already active one (if there's one active, that is). If it is not, we fire off the old one first, then register the new one. If it was the same, we increment the counter and reset the timer. - -This means that you have `TAPPING_TERM` time to tap the key again; you do not have to input all the taps within a single `TAPPING_TERM` timeframe. This allows for longer tap counts, with minimal impact on responsiveness. +Let's go over the three functions mentioned in `ACTION_TAP_DANCE_FN_ADVANCED` in a little more detail. They all receive the same too arguments: a pointer to a structure that holds all dance related state information, and a pointer to a use case specific state variable. The three functions differ in when they are called. The first, `on_each_tap_fn()`, is called every time the tap dance key is *pressed*. Before it is called, the counter is incremented and the timer is reset. The second function, `on_dance_finished_fn()`, is called when the tap dance is interrupted or ends because `TAPPING_TERM` milliseconds have passed since the last tap. When the `finished` field of the dance state structure is set to `true`, the `on_dance_finished_fn()` is skipped. After `on_dance_finished_fn()` was called or would have been called, but no sooner than when the tap dance key is *released*, `on_dance_reset_fn()` is called. It is possible to end a tap dance immediately, skipping `on_dance_finished_fn()`, but not `on_dance_reset_fn`, by calling `reset_tap_dance(state)`. -Our next stop is `tap_dance_task()`. This handles the timeout of tap-dance keys. +To accomplish this logic, the tap dance mechanics use three entry points. The main entry point is `process_tap_dance()`, called from `process_record_quantum()` *after* `process_record_kb()` and `process_record_user()`. This function is responsible for calling `on_each_tap_fn()` and `on_dance_reset_fn()`. In order to handle interruptions of a tap dance, another entry point, `preprocess_tap_dance()` is run right at the beginning of `process_record_quantum()`. This function checks whether the key pressed is a tap-dance key. If it is not, and a tap-dance was in action, we handle that first, and enqueue the newly pressed key. If it is a tap-dance key, then we check if it is the same as the already active one (if there's one active, that is). If it is not, we fire off the old one first, then register the new one. Finally, `tap_dance_task()` periodically checks whether `TAPPING_TERM` has passed since the last key press and finishes a tap dance if that is the case. -For the sake of flexibility, tap-dance actions can be either a pair of keycodes, or a user function. The latter allows one to handle higher tap counts, or do extra things, like blink the LEDs, fiddle with the backlighting, and so on. This is accomplished by using an union, and some clever macros. +This means that you have `TAPPING_TERM` time to tap the key again; you do not have to input all the taps within a single `TAPPING_TERM` timeframe. This allows for longer tap counts, with minimal impact on responsiveness. ## Examples :id=examples -### Simple Example :id=simple-example +### Simple Example: Send `ESC` on Single Tap, `CAPS_LOCK` on Double Tap :id=simple-example Here's a simple example for a single definition: 1. In your `rules.mk`, add `TAP_DANCE_ENABLE = yes` -2. In your `config.h` (which you can copy from `qmk_firmware/keyboards/planck/config.h` to your keymap directory), add `#define TAPPING_TERM 200` -3. In your `keymap.c` file, define the variables and definitions, then add to your keymap: +2. In your `keymap.c` file, define the variables and definitions, then add to your keymap: ```c // Tap Dance declarations @@ -92,40 +85,15 @@ All the enums used in the examples are declared like this: ```c // Enums defined for all examples: enum { - CT_SE, - CT_CLN, + TD_ESC_CAPS, CT_EGG, CT_FLSH, - X_TAP_DANCE -}; -``` - -#### Example 1: Send `:` on Single Tap, `;` on Double Tap :id=example-1 - -```c -void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code16(KC_COLN); - } else { - register_code(KC_SCLN); - } -} - -void dance_cln_reset(qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - unregister_code16(KC_COLN); - } else { - unregister_code(KC_SCLN); - } -} - -// All tap dance functions would go here. Only showing this one. -qk_tap_dance_action_t tap_dance_actions[] = { - [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, dance_cln_reset), + CT_CLN, + X_CTL, }; ``` -#### Example 2: Send "Safety Dance!" After 100 Taps :id=example-2 +#### Example 1: Send "Safety Dance!" After 100 Taps :id=example-1 ```c void dance_egg(qk_tap_dance_state_t *state, void *user_data) { @@ -140,7 +108,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { }; ``` -#### Example 3: Turn LED Lights On Then Off, One at a Time :id=example-3 +#### Example 2: Turn LED Lights On Then Off, One at a Time :id=example-2 ```c // On each tap, light up one LED, from right to left @@ -181,15 +149,74 @@ void dance_flsh_reset(qk_tap_dance_state_t *state, void *user_data) { ergodox_right_led_3_off(); } -// All tap dances now put together. Example 3 is "CT_FLASH" +// All tap dances now put together. Example 2 is "CT_FLSH" qk_tap_dance_action_t tap_dance_actions[] = { - [CT_SE] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT), - [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_cln_finished, dance_cln_reset), + [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), [CT_EGG] = ACTION_TAP_DANCE_FN(dance_egg), [CT_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED(dance_flsh_each, dance_flsh_finished, dance_flsh_reset) }; ``` +#### Example 3: Send `:` on Tap, `;` on Hold :id=example-3 + +With a little effort, powerful tap-hold configurations can be implemented as tap dances. To emit taps as early as possible, we need to act on releases of the tap dance key. There is no callback for this in the tap dance framework, so we use `process_record_user()`. + +```c +typedef struct { + uint16_t tap; + uint16_t hold; + uint16_t held; +} tap_dance_tap_hold_t; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + qk_tap_dance_action_t *action; + + switch (keycode) { + case TD(CT_CLN): // list all tap dance keycodes with tap-hold configurations + action = &tap_dance_actions[TD_INDEX(keycode)]; + if (!record->event.pressed && action->state.count && !action->state.finished) { + tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; + tap_code16(tap_hold->tap); + } + } + return true; +} + +void tap_dance_tap_hold_finished(qk_tap_dance_state_t *state, void *user_data) { + tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data; + + if (state->pressed) { + if (state->count == 1 +#ifndef PERMISSIVE_HOLD + && !state->interrupted +#endif + ) { + register_code16(tap_hold->hold); + tap_hold->held = tap_hold->hold; + } else { + register_code16(tap_hold->tap); + tap_hold->held = tap_hold->tap; + } + } +} + +void tap_dance_tap_hold_reset(qk_tap_dance_state_t *state, void *user_data) { + tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data; + + if (tap_hold->held) { + unregister_code16(tap_hold->held); + tap_hold->held = 0; + } +} + +#define ACTION_TAP_DANCE_TAP_HOLD(tap, hold) \ + { .fn = {NULL, tap_dance_tap_hold_finished, tap_dance_tap_hold_reset}, .user_data = (void *)&((tap_dance_tap_hold_t){tap, hold, 0}), } + +qk_tap_dance_action_t tap_dance_actions[] = { + [CT_CLN] = ACTION_TAP_DANCE_TAP_HOLD(KC_COLN, KC_SCLN), +}; +``` + #### Example 4: 'Quad Function Tap-Dance' :id=example-4 By [DanielGGordon](https://github.com/danielggordon) @@ -329,7 +356,7 @@ And then simply use `TD(X_CTL)` anywhere in your keymap. If you want to implement this in your userspace, then you may want to check out how [DanielGGordon](https://github.com/qmk/qmk_firmware/tree/master/users/gordon) has implemented this in their userspace. -> In this configuration "hold" takes place **after** tap dance timeout (see `ACTION_TAP_DANCE_FN_ADVANCED_TIME`). To achieve instant hold, remove `state->interrupted` checks in conditions. As a result you may use comfortable longer tapping periods to have more time for taps and not to wait too long for holds (try starting with doubled `TAPPING_TERM`). +> In this configuration "hold" takes place **after** tap dance timeout. To achieve instant hold, remove `state->interrupted` checks in conditions. As a result you may use comfortable longer tapping periods to have more time for taps and not to wait too long for holds (try starting with doubled `TAPPING_TERM`). #### Example 5: Using tap dance for advanced mod-tap and layer-tap keys :id=example-5 @@ -511,8 +538,18 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data) { // Associate our tap dance key with its functionality qk_tap_dance_action_t tap_dance_actions[] = { - [QUOT_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275) + [QUOT_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset) }; + +// Set a long-ish tapping term for tap-dance keys +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: + return 275; + default: + return TAPPING_TERM; + } +} ``` The above code is similar to that used in previous examples. The one point to note is that we need to be able to check which layers are active at any time so we can toggle them if needed. To do this we use the `layer_state_is(layer)` function which returns `true` if the given `layer` is active. @@ -521,6 +558,6 @@ The use of `cur_dance()` and `ql_tap_state` mirrors the above examples. The `case: TD_SINGLE_TAP` in `ql_finished` is similar to the above examples. The `TD_SINGLE_HOLD` case works in conjunction with `ql_reset()` to switch to `_MY_LAYER` while the tap dance key is held, and to switch away from `_MY_LAYER` when the key is released. This mirrors the use of `MO(_MY_LAYER)`. The `TD_DOUBLE_TAP` case works by checking whether `_MY_LAYER` is the active layer, and toggling it on or off accordingly. This mirrors the use of `TG(_MY_LAYER)`. -`tap_dance_actions[]` works similar to the above examples. Note that I used `ACTION_TAP_DANCE_FN_ADVANCED_TIME()` instead of `ACTION_TAP_DANCE_FN_ADVANCED()`. This is because I like my `TAPPING_TERM` to be short (\~175ms) for my non-tap-dance keys but find that this is too quick for me to reliably complete tap dance actions - thus the increased time of 275ms here. +`tap_dance_actions[]` works similar to the above examples. Note that, additionally, I set a longer tapping term for the tap dance keys. This is because I like my `TAPPING_TERM` to be short (\~175ms) for my non-tap-dance keys but find that this is too quick for me to reliably complete tap dance actions - thus the increased time of 275ms here. In order for the per-key tapping terms to take effect, `TAPPING_TERM_PER_KEY` must be defined in your `config.h`. Finally, to get this tap dance key working, be sure to include `TD(QUOT_LAYR)` in your `keymaps[]`. diff --git a/docs/ja/feature_tap_dance.md b/docs/ja/feature_tap_dance.md index a6d108f1e9..762816f21b 100644 --- a/docs/ja/feature_tap_dance.md +++ b/docs/ja/feature_tap_dance.md @@ -28,7 +28,6 @@ * `ACTION_TAP_DANCE_DOUBLE(kc1, kc2)`: 1回タップすると `kc1` キーコードを送信し、2回タップすると `kc2` キーコードを送信します。キーを押し続けているときは、適切なキーコードが登録されます: キーを押し続けた場合は `kc1`、一度タップしてから続けてもう一度キーを押してそのまま押し続けたときは、 `kc2` が登録されます。 * `ACTION_TAP_DANCE_LAYER_MOVE(kc, layer)`: 1回タップすると `kc` キーコードが送信され、2回タップすると `layer` レイヤーに移動します(これは `TO` レイヤーキーコードのように機能します)。 - * この機能は `ACTION_TAP_DANCE_DUAL_ROLE` と同じですが、機能が明確になるように関数名を変更しました。どちらの関数名でも実行できます。 * `ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer)`: 1回タップすると `kc` キーコードが送信され、2回タップすると `layer` の状態をトグルします(これは `TG` レイヤーキーコードのように機能します)。 * `ACTION_TAP_DANCE_FN(fn)`: ユーザーキーマップに定義した指定の関数が呼び出されます。タップダンス実行の回数分タップすると、最後の時点で呼び出されます。 * `ACTION_TAP_DANCE_FN_ADVANCED(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn)`: タップする度にユーザーキーマップに定義した最初の関数が呼び出されます。タップダンスの実行が終わった時点で2番目の関数が呼び出され、タップダンスの実行をリセットするときに最後の関数が呼び出されます。 diff --git a/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c index 26ca151089..1292f2d2ed 100644 --- a/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c +++ b/keyboards/basekeys/slice/rev1/keymaps/2moons/keymap.c @@ -46,8 +46,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), - [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK), + [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c index 05de0e42d0..7e82c7b7d2 100644 --- a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c +++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c @@ -39,8 +39,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), - [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK), + [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/config.h b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/config.h index 4bc6d2c3c0..e45034f9a8 100644 --- a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/config.h +++ b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/config.h @@ -2,6 +2,7 @@ // place overrides here #define TAPPING_TERM 200 +#define TAPPING_TERM_PER_KEY #define LEADER_TIMEOUT 800 #define DISABLE_SPACE_CADET_ROLLOVER diff --git a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/keymap.c b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/keymap.c index dd2098d945..6db177c183 100644 --- a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/keymap.c +++ b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/keymap.c @@ -52,17 +52,33 @@ qk_tap_dance_action_t tap_dance_actions[] = { // Tap once for CTRL, twice for Caps Lock [TD_CTCPS] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, KC_CAPS), [COPA] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_C), LCTL(KC_V)), - [EMOJIS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleEmojis, NULL, NULL, 800), - [ANIMAL] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleAnimals, NULL, NULL, 800), - //[SYMBOLS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleSymbols, NULL, NULL, 800), - [FOODS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleFoods, NULL, NULL, 800), - [ETC] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleEtc, NULL, NULL, 800), - //[VEHICLES] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleVehicles, NULL, NULL, 800), - //[SUPPLEMENT] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleSupplement, NULL, NULL, 800), - [ALLS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleAll, NULL, NULL, 800) + [EMOJIS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleEmojis, NULL, NULL), + [ANIMAL] = ACTION_TAP_DANCE_FN_ADVANCED(cycleAnimals, NULL, NULL), + //[SYMBOLS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleSymbols, NULL, NULL), + [FOODS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleFoods, NULL, NULL), + [ETC] = ACTION_TAP_DANCE_FN_ADVANCED(cycleEtc, NULL, NULL), + //[VEHICLES] = ACTION_TAP_DANCE_FN_ADVANCED(cycleVehicles, NULL, NULL), + //[SUPPLEMENT] = ACTION_TAP_DANCE_FN_ADVANCED(cycleSupplement, NULL, NULL), + [ALLS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleAll, NULL, NULL) // Other declarations would go here, separated by commas, if you have them }; +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(EMOJIS): + case TD(ANIMAL): + //case TD(SYMBOLS): + case TD(FOODS): + case TD(ETC): + //case TD(VEHICLES): + //case TD(SUPPLEMENT): + case TD(ALLS): + return 800; + default: + return TAPPING_TERM; + } +} + // macros const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { switch(id) { diff --git a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/variableTapDance.md b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/variableTapDance.md index b2e5041393..c3fce50f2a 100644 --- a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/variableTapDance.md +++ b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/variableTapDance.md @@ -3,7 +3,4 @@ Tap Dance is constrained normally by `TAPPING_TERM` defined in your keyboard's c -- `ACTION_TAP_DANCE_FN_ADVANCED_TIME(user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset, tap_specific_tapping_term)` : This works the same as `ACTION_TAP_DANCE_FN_ADVANCED` just with the extra `tap_specific_tapping_term` arguement at the end. This way you can set a specific tap dance to have a longer or shorter tap in between your taps, giving you more, or less, time in between each tap. - - -`tap_specific_tapping_term` should be the same type and range of values that one would put into the `TAPPING_TERM` definition in the config.h file. +- Implementing `uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record)`, you can set a specific tap dance to have a longer or shorter tap in between your taps, giving you more, or less, time in between each tap. The return value should be the same type and range of values that one would put into the `TAPPING_TERM` definition in the config.h file. diff --git a/keyboards/duck/lightsaver/keymaps/rasmus/keymap.c b/keyboards/duck/lightsaver/keymaps/rasmus/keymap.c index 70dc17bb13..65f128a26b 100644 --- a/keyboards/duck/lightsaver/keymaps/rasmus/keymap.c +++ b/keyboards/duck/lightsaver/keymaps/rasmus/keymap.c @@ -34,8 +34,8 @@ enum { //Tap Dance Definitions qk_tap_dance_action_t tap_dance_actions[] = { - [TD_F1_GAME] = ACTION_TAP_DANCE_DUAL_ROLE(KC_F1, GAME), - [TD_CAPS_FN] = ACTION_TAP_DANCE_DUAL_ROLE(KC_CAPS, 5) + [TD_F1_GAME] = ACTION_TAP_DANCE_LAYER_MOVE(KC_F1, GAME), + [TD_CAPS_FN] = ACTION_TAP_DANCE_LAYER_MOVE(KC_CAPS, 5) }; enum macro_id { diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h index da20820787..c35963d842 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h @@ -7,6 +7,7 @@ #undef TAPPING_TERM #define TAPPING_TERM 175 +#define TAPPING_TERM_PER_KEY #undef DEBOUNCE #define DEBOUNCE 15 diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c index 59e3e2b0dc..1d5e1cee00 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/tap_dance/tap_dance_actions.c @@ -13,14 +13,32 @@ qk_tap_dance_action_t tap_dance_actions[] = { [RPRN_RBRC] = ACTION_TAP_DANCE_DOUBLE(KC_RPRN, KC_RBRC), [LCBR_LABK] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_LABK), [RCBR_RABK] = ACTION_TAP_DANCE_DOUBLE(KC_RCBR, KC_RABK), - [SCLN_COLN] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, scln_coln_finished, scln_coln_reset, DANCING_TERM), - [QUOT_DQUO] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, quot_dquot_finished, quot_dquot_reset, DANCING_TERM), - [DOT_COMM] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, dot_comm_finished, dot_comm_reset, DANCING_TERM), - [NONE_LEAD] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, none_lead_finished, none_lead_reset, DANCING_TERM), - [U_ARR_GUI] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, u_arrows_gui_finished, u_arrows_gui_reset, DANCING_TERM), - [H_MOU_GUI] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, h_mouse_gui_finished, h_mouse_gui_reset, DANCING_TERM), - [J_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, j_media_meh_finished, j_media_meh_reset, DANCING_TERM), - [W_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, w_media_meh_finished, w_media_meh_reset, DANCING_TERM), - [K_NUM_HYP] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, k_numpad_hyper_finished, k_numpad_hyper_reset, DANCING_TERM), - [M_CHO_HYP] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, m_chords_hyper_finished, m_chords_hyper_reset, DANCING_TERM), + [SCLN_COLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, scln_coln_finished, scln_coln_reset), + [QUOT_DQUO] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, quot_dquot_finished, quot_dquot_reset), + [DOT_COMM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dot_comm_finished, dot_comm_reset), + [NONE_LEAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, none_lead_finished, none_lead_reset), + [U_ARR_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, u_arrows_gui_finished, u_arrows_gui_reset), + [H_MOU_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, h_mouse_gui_finished, h_mouse_gui_reset), + [J_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, j_media_meh_finished, j_media_meh_reset), + [W_MED_MEH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, w_media_meh_finished, w_media_meh_reset), + [K_NUM_HYP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, k_numpad_hyper_finished, k_numpad_hyper_reset), + [M_CHO_HYP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, m_chords_hyper_finished, m_chords_hyper_reset), }; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(SCLN_COLN): + case TD(QUOT_DQUO): + case TD(DOT_COMM): + case TD(NONE_LEAD): + case TD(U_ARR_GUI): + case TD(H_MOU_GUI): + case TD(J_MED_MEH): + case TD(W_MED_MEH): + case TD(K_NUM_HYP): + case TD(M_CHO_HYP): + return DANCING_TERM; + default: + return TAPPING_TERM; + } +} diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h b/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h index f66c334b85..e2c27583fa 100644 --- a/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h +++ b/keyboards/gboards/gergoplex/keymaps/georgepetri/config.h @@ -27,3 +27,5 @@ along with this program. If not, see . #define COMBO_ALLOW_ACTION_KEYS #define COMBO_VARIABLE_LEN + +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c b/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c index e3b8944814..8b832cbac8 100644 --- a/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c +++ b/keyboards/gboards/gergoplex/keymaps/georgepetri/keymap.c @@ -199,5 +199,14 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data) { } qk_tap_dance_action_t tap_dance_actions[] = { - [GAME] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275) + [GAME] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset) }; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: + return 275; + default: + return TAPPING_TERM; + } +} diff --git a/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c b/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c index 70a96fac9d..d785825332 100644 --- a/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c +++ b/keyboards/handwired/ortho5x14/keymaps/2u/keymap.c @@ -343,9 +343,9 @@ qk_tap_dance_action_t tap_dance_actions[] = { [TD_PGUP_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, KC_HOME), [TD_PGDN_END] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, KC_END), - [TD_Q_LrALT] = ACTION_TAP_DANCE_DUAL_ROLE(KC_Q, _ALT), - [TD_R_LrKey] = ACTION_TAP_DANCE_DUAL_ROLE(KC_R, _RAISE), - [TD_T_LrMS] = ACTION_TAP_DANCE_DUAL_ROLE(KC_T, _MOUSE), + [TD_Q_LrALT] = ACTION_TAP_DANCE_LAYER_MOVE(KC_Q, _ALT), + [TD_R_LrKey] = ACTION_TAP_DANCE_LAYER_MOVE(KC_R, _RAISE), + [TD_T_LrMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_T, _MOUSE), [TD_SHIFT_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,lshift_finished, lshift_reset), [TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPACE, KC_ENT), diff --git a/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c b/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c index b152503aaf..3734510f8c 100644 --- a/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c +++ b/keyboards/handwired/ortho5x14/keymaps/split1/keymap.c @@ -279,9 +279,9 @@ qk_tap_dance_action_t tap_dance_actions[] = { [TD_PGUP_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, KC_HOME), [TD_PGDN_END] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, KC_END), - [TD_Q_LrALT] = ACTION_TAP_DANCE_DUAL_ROLE(KC_Q, _ALT), - [TD_R_LrKey] = ACTION_TAP_DANCE_DUAL_ROLE(KC_R, _RAISE), - [TD_T_LrMS] = ACTION_TAP_DANCE_DUAL_ROLE(KC_T, _MOUSE), + [TD_Q_LrALT] = ACTION_TAP_DANCE_LAYER_MOVE(KC_Q, _ALT), + [TD_R_LrKey] = ACTION_TAP_DANCE_LAYER_MOVE(KC_R, _RAISE), + [TD_T_LrMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_T, _MOUSE), [TD_SHIFT_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,lshift_finished, lshift_reset), [TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPACE, KC_ENT), diff --git a/keyboards/jones/v03/keymaps/default_jp/config.h b/keyboards/jones/v03/keymaps/default_jp/config.h index aa06121c1c..7545003ac7 100644 --- a/keyboards/jones/v03/keymaps/default_jp/config.h +++ b/keyboards/jones/v03/keymaps/default_jp/config.h @@ -21,3 +21,4 @@ // time for long press #define TAPPING_TERM 200 +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/jones/v03/keymaps/default_jp/keymap.c b/keyboards/jones/v03/keymaps/default_jp/keymap.c index 3f5b10208c..bdcb9e88b1 100644 --- a/keyboards/jones/v03/keymaps/default_jp/keymap.c +++ b/keyboards/jones/v03/keymaps/default_jp/keymap.c @@ -51,9 +51,18 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data); // Tap Dance definitions qk_tap_dance_action_t tap_dance_actions[] = { [TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), - [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275), + [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset), }; +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_ESC_NUM): + return 275; + default: + return TAPPING_TERM; + } +} + // Defines the keycodes used by our macros in process_record_user enum custom_keycodes { MAC = SAFE_RANGE, @@ -303,7 +312,7 @@ static tap ql_tap_state = { // Functions that control what our tap dance key does void ql_finished(qk_tap_dance_state_t *state, void *user_data) { ql_tap_state.state = cur_dance(state); - switch(state->keycode) { + switch(TAP_DANCE_KEYCODE(state)) { case TD(TD_ESC_NUM): // ESC key action switch (ql_tap_state.state) { case SINGLE_TAP: @@ -332,7 +341,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) { } void ql_reset(qk_tap_dance_state_t *state, void *user_data) { - switch(state->keycode) { + switch(TAP_DANCE_KEYCODE(state)) { case TD(TD_ESC_NUM): // If the key was held down and now is released then switch off the layer if (ql_tap_state.state == TAP_HOLD) { diff --git a/keyboards/jones/v03_1/keymaps/default_ansi/config.h b/keyboards/jones/v03_1/keymaps/default_ansi/config.h index 0b51190bbe..ee7b09a90c 100644 --- a/keyboards/jones/v03_1/keymaps/default_ansi/config.h +++ b/keyboards/jones/v03_1/keymaps/default_ansi/config.h @@ -21,6 +21,7 @@ // time for long press #define TAPPING_TERM 200 +#define TAPPING_TERM_PER_KEY // music map for music-mode #define MUSIC_MAP diff --git a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c index 5b1486bb86..e86204a3e3 100644 --- a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c +++ b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c @@ -50,9 +50,18 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data); // Tap Dance definitions qk_tap_dance_action_t tap_dance_actions[] = { [TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), - [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275), + [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset), }; +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_ESC_NUM): + return 275; + default: + return TAPPING_TERM; + } +} + // Defines the keycodes used by our macros in process_record_user enum custom_keycodes { MAC = SAFE_RANGE, @@ -322,7 +331,7 @@ static tap ql_tap_state = { // Functions that control what our tap dance key does void ql_finished(qk_tap_dance_state_t *state, void *user_data) { ql_tap_state.state = cur_dance(state); - switch(state->keycode) { + switch(TAP_DANCE_KEYCODE(state)) { case TD(TD_ESC_NUM): // ESC key action switch (ql_tap_state.state) { case SINGLE_TAP: @@ -351,7 +360,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) { } void ql_reset(qk_tap_dance_state_t *state, void *user_data) { - switch(state->keycode) { + switch(TAP_DANCE_KEYCODE(state)) { case TD(TD_ESC_NUM): // If the key was held down and now is released then switch off the layer if (ql_tap_state.state == TAP_HOLD) { diff --git a/keyboards/jones/v03_1/keymaps/default_jp/config.h b/keyboards/jones/v03_1/keymaps/default_jp/config.h index 0b51190bbe..ee7b09a90c 100644 --- a/keyboards/jones/v03_1/keymaps/default_jp/config.h +++ b/keyboards/jones/v03_1/keymaps/default_jp/config.h @@ -21,6 +21,7 @@ // time for long press #define TAPPING_TERM 200 +#define TAPPING_TERM_PER_KEY // music map for music-mode #define MUSIC_MAP diff --git a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c index 436586a721..9a2663f6d7 100644 --- a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c +++ b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c @@ -51,9 +51,18 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data); // Tap Dance definitions qk_tap_dance_action_t tap_dance_actions[] = { [TD_LSFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), - [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275), + [TD_ESC_NUM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset), }; +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_ESC_NUM): + return 275; + default: + return TAPPING_TERM; + } +} + // Defines the keycodes used by our macros in process_record_user enum custom_keycodes { MAC = SAFE_RANGE, @@ -324,7 +333,7 @@ static tap ql_tap_state = { // Functions that control what our tap dance key does void ql_finished(qk_tap_dance_state_t *state, void *user_data) { ql_tap_state.state = cur_dance(state); - switch(state->keycode) { + switch(TAP_DANCE_KEYCODE(state)) { case TD(TD_ESC_NUM): // ESC key action switch (ql_tap_state.state) { case SINGLE_TAP: @@ -353,7 +362,7 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) { } void ql_reset(qk_tap_dance_state_t *state, void *user_data) { - switch(state->keycode) { + switch(TAP_DANCE_KEYCODE(state)) { case TD(TD_ESC_NUM): // If the key was held down and now is released then switch off the layer if (ql_tap_state.state == TAP_HOLD) { diff --git a/keyboards/keyhive/navi10/keymaps/default/keymap.c b/keyboards/keyhive/navi10/keymaps/default/keymap.c index d1b3127760..c4295b1553 100644 --- a/keyboards/keyhive/navi10/keymaps/default/keymap.c +++ b/keyboards/keyhive/navi10/keymaps/default/keymap.c @@ -127,5 +127,5 @@ void tk_reset(qk_tap_dance_state_t *state, void *user_data){ //associate the tap dance key with its functionality qk_tap_dance_action_t tap_dance_actions[] = { - [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, 275) + [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tk_finished, tk_reset) }; diff --git a/keyboards/keyhive/navi10/keymaps/devdev/keymap.c b/keyboards/keyhive/navi10/keymaps/devdev/keymap.c index b0d43ebc69..0fc20cbbd4 100644 --- a/keyboards/keyhive/navi10/keymaps/devdev/keymap.c +++ b/keyboards/keyhive/navi10/keymaps/devdev/keymap.c @@ -259,5 +259,5 @@ void tk_reset(qk_tap_dance_state_t *state, void *user_data){ //associate the tap dance key with its functionality qk_tap_dance_action_t tap_dance_actions[] = { - [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, TAPPING_TERM) + [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tk_finished, tk_reset) }; diff --git a/keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c b/keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c index 40efed48d5..37850e28f3 100644 --- a/keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c +++ b/keyboards/keyhive/navi10/keymaps/emdarcher/keymap.c @@ -178,5 +178,5 @@ void tk_reset(qk_tap_dance_state_t *state, void *user_data){ //associate the tap dance key with its functionality qk_tap_dance_action_t tap_dance_actions[] = { - [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, 275) + [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tk_finished, tk_reset) }; diff --git a/keyboards/kprepublic/jj50/keymaps/archetype/config.h b/keyboards/kprepublic/jj50/keymaps/archetype/config.h index a12e070b4f..9604ac719c 100644 --- a/keyboards/kprepublic/jj50/keymaps/archetype/config.h +++ b/keyboards/kprepublic/jj50/keymaps/archetype/config.h @@ -6,4 +6,5 @@ #define AUTO_SHIFT_TIMEOUT 150 #define NO_AUTO_SHIFT_ALPHA #define TAPPING_TERM 150 +#define TAPPING_TERM_PER_KEY //#define BOOTMAGIC_KEY_SALT KC_LCTL diff --git a/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c b/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c index 82c615f135..ff59ef43e5 100644 --- a/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c +++ b/keyboards/kprepublic/jj50/keymaps/archetype/keymap.c @@ -167,9 +167,18 @@ qk_tap_dance_action_t tap_dance_actions[] = { // Single tap = ) | Double tap = ] | Triple tap = } | Single hold = KC_LALT [TD_LALT_RBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, right_brackets, right_brackets_reset), // Layer Switcher ESC - [TD_ESC_LAYER] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, layer_switcher, layer_switcher_reset, 100), + [TD_ESC_LAYER] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, layer_switcher, layer_switcher_reset), }; +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_ESC_LAYER): + return 100; + default: + return TAPPING_TERM; + } +} + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/planck/keymaps/ariccb/config.h b/keyboards/planck/keymaps/ariccb/config.h index 322aa9277f..464a8cd5db 100644 --- a/keyboards/planck/keymaps/ariccb/config.h +++ b/keyboards/planck/keymaps/ariccb/config.h @@ -40,6 +40,7 @@ //#define MIDI_ADVANCED #define TAPPING_TERM 150 +#define TAPPING_TERM_PER_KEY #define IGNORE_MOD_TAP_INTERRUPT // #define IGNORE_MOD_TAP_INTERRUPT // #define HOLD_ON_OTHER_KEY_PRESS diff --git a/keyboards/planck/keymaps/ariccb/keymap.c b/keyboards/planck/keymaps/ariccb/keymap.c index c0b4e490fa..33d0a26273 100644 --- a/keyboards/planck/keymaps/ariccb/keymap.c +++ b/keyboards/planck/keymaps/ariccb/keymap.c @@ -379,9 +379,18 @@ void usl_reset(qk_tap_dance_state_t *state, void *user_data) { // Associate our tap dance key with its functionality qk_tap_dance_action_t tap_dance_actions[] = { - [UNDS_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, usl_finished, usl_reset, 175) + [UNDS_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, usl_finished, usl_reset) }; +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(UNDS_LOWER): + return 175; + default: + return TAPPING_TERM; + } +} + bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!process_select_word(keycode, record, SELWORD)) { return false; } if (!process_caps_word(keycode, record)) { return false; } @@ -661,4 +670,4 @@ void process_combo_event(uint16_t combo_index, bool pressed) { } break; } -} \ No newline at end of file +} diff --git a/keyboards/planck/keymaps/rootiest/config.h b/keyboards/planck/keymaps/rootiest/config.h index fc1fc81761..5bb5a73a29 100644 --- a/keyboards/planck/keymaps/rootiest/config.h +++ b/keyboards/planck/keymaps/rootiest/config.h @@ -87,6 +87,7 @@ /* * TAP-DANCE options */ +#define TAPPING_TERM_PER_KEY // Control Tap-Dance time individually by key #define TAPPING_TERM 250 // Default time allowed before resetting a Tap-Dance combo #define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped once again. */ #define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */ diff --git a/keyboards/planck/keymaps/rootiest/keymap.c b/keyboards/planck/keymaps/rootiest/keymap.c index 634bf2829e..857d7a9e21 100644 --- a/keyboards/planck/keymaps/rootiest/keymap.c +++ b/keyboards/planck/keymaps/rootiest/keymap.c @@ -1656,13 +1656,26 @@ void sml_reset(qk_tap_dance_state_t* state, void* user_data) { sml_state.state = // Tap Dance definitions qk_tap_dance_action_t tap_dance_actions[] = { // Tap once for °, twice for ℉, thrice for ℃ - [TD_DEG_DEGF] = ACTION_TAP_DANCE_FN(send_degree_symbol), // - [TD_LSHFT_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, scap_finished, scap_reset, 200), // - [TD_LCTL_STICKY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, slctl_finished, slctl_reset, 200), // - [TD_LALT_STICKY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, slalt_finished, slalt_reset, 200), // - [TD_SMILEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, sml_finished, sml_reset, 500), + [TD_DEG_DEGF] = ACTION_TAP_DANCE_FN(send_degree_symbol), // + [TD_LSHFT_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, scap_finished, scap_reset), // + [TD_LCTL_STICKY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, slctl_finished, slctl_reset), // + [TD_LALT_STICKY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, slalt_finished, slalt_reset), // + [TD_SMILEY] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, sml_finished, sml_reset), }; +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_LSHFT_CAPS): + case TD(TD_LCTL_STICKY): + case TD(TD_LALT_STICKY): + return 200; + case TD(TD_SMILEY): + return 500; + default: + return TAPPING_TERM; + } +} + // Dip-Switch controls void dip_switch_update_user(uint8_t index, bool active) { switch (index) { diff --git a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c index 4e1f2acd05..7221f8c612 100644 --- a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/keymap.c @@ -32,8 +32,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), - [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK), + [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c index 06d7972a2e..bea5978c50 100644 --- a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/keymap.c @@ -39,8 +39,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESMS] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _MOUSE), - [TD_ESAR] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _MOUSE), + [TD_ESAR] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c index 4e8addf6b7..eba01d4d65 100644 --- a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/keymap.c @@ -39,8 +39,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESMS] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _MOUSE), - [TD_ESAR] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESMS] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _MOUSE), + [TD_ESAR] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c index 8a2dbf051f..b70e68da54 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/keymap.c @@ -23,8 +23,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), - [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK), + [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c index 4201d79a2e..c43803be35 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/keymap.c @@ -34,8 +34,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), - [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK), + [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c index 23786da915..6dd2ef8863 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/keymap.c @@ -32,8 +32,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), - [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK), + [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c index db46075c8f..ae7843341a 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c +++ b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/keymap.c @@ -33,8 +33,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), - [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK), + [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c index c91716cdd4..6e2dd0886f 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c +++ b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/keymap.c @@ -38,8 +38,8 @@ enum tapdances{ }; qk_tap_dance_action_t tap_dance_actions[] = { - [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), - [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), + [TD_ESFL] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _FLOCK), + [TD_ESQW] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _QWERTY), }; #define LOWER MO(_LOWER) diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c index 437b1881a4..0ed709747a 100644 --- a/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c +++ b/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c @@ -22,6 +22,9 @@ #define TD_LCTL TD(BE_TD_CTL) #define TD_LALT TD(BE_TD_ALT) +#define ACTION_TAP_DANCE_MOD_TAP(mod) \ + { .fn = {mod_tap_fn, NULL, mod_reset_fn}, .user_data = (void *)&((uint8_t){mod}), } + enum belak_td { BE_TD_GUI = 0, BE_TD_CTL, @@ -32,15 +35,9 @@ void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data); void mod_reset_fn(qk_tap_dance_state_t *state, void *user_data); qk_tap_dance_action_t tap_dance_actions[] = { - [BE_TD_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(mod_tap_fn, NULL, mod_reset_fn), - [BE_TD_CTL] = ACTION_TAP_DANCE_FN_ADVANCED(mod_tap_fn, NULL, mod_reset_fn), - [BE_TD_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(mod_tap_fn, NULL, mod_reset_fn), -}; - -uint16_t tap_dance_keys[] = { - [BE_TD_GUI] = KC_LGUI, - [BE_TD_CTL] = KC_LCTL, - [BE_TD_ALT] = KC_LALT, + [BE_TD_GUI] = ACTION_TAP_DANCE_MOD_TAP(KC_LGUI), + [BE_TD_CTL] = ACTION_TAP_DANCE_MOD_TAP(KC_LCTL), + [BE_TD_ALT] = ACTION_TAP_DANCE_MOD_TAP(KC_LALT), }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -74,7 +71,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data) { switch (state->count) { case 1: - register_mods(MOD_BIT(tap_dance_keys[state->keycode - QK_TAP_DANCE])); + uint8_t *mod = (uint8_t *)user_data; + register_mods(MOD_BIT(*mod)); send_keyboard_report(); break; case 2: @@ -90,8 +88,9 @@ void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data) { } void mod_reset_fn(qk_tap_dance_state_t *state, void *user_data) { + uint8_t *mod = (uint8_t *)user_data; layer_off(_L1); layer_off(_L2); - unregister_mods(MOD_BIT(tap_dance_keys[state->keycode - QK_TAP_DANCE])); + unregister_mods(MOD_BIT(*mod)); send_keyboard_report(); } diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index db8df5f870..3270a1b000 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -15,12 +15,8 @@ */ #include "quantum.h" -#ifndef NO_ACTION_ONESHOT -uint8_t get_oneshot_mods(void); -#endif - -static uint16_t last_td; -static int16_t highest_td = -1; +static uint16_t active_td; +static uint16_t last_tap_time; void qk_tap_dance_pair_on_each_tap(qk_tap_dance_state_t *state, void *user_data) { qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data; @@ -34,18 +30,14 @@ void qk_tap_dance_pair_on_each_tap(qk_tap_dance_state_t *state, void *user_data) void qk_tap_dance_pair_finished(qk_tap_dance_state_t *state, void *user_data) { qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data; - if (state->count == 1) { - register_code16(pair->kc1); - } else if (state->count == 2) { - register_code16(pair->kc2); - } + register_code16(pair->kc1); } void qk_tap_dance_pair_reset(qk_tap_dance_state_t *state, void *user_data) { qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data; - wait_ms(TAP_CODE_DELAY); if (state->count == 1) { + wait_ms(TAP_CODE_DELAY); unregister_code16(pair->kc1); } else if (state->count == 2) { unregister_code16(pair->kc2); @@ -87,23 +79,40 @@ static inline void _process_tap_dance_action_fn(qk_tap_dance_state_t *state, voi } static inline void process_tap_dance_action_on_each_tap(qk_tap_dance_action_t *action) { + action->state.count++; + action->state.weak_mods = get_mods(); + action->state.weak_mods |= get_weak_mods(); +#ifndef NO_ACTION_ONESHOT + action->state.oneshot_mods = get_oneshot_mods(); +#endif _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_each_tap); } -static inline void process_tap_dance_action_on_dance_finished(qk_tap_dance_action_t *action) { - if (action->state.finished) return; - action->state.finished = true; - add_mods(action->state.oneshot_mods); - add_weak_mods(action->state.weak_mods); - send_keyboard_report(); - _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_dance_finished); -} - static inline void process_tap_dance_action_on_reset(qk_tap_dance_action_t *action) { _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_reset); - del_mods(action->state.oneshot_mods); del_weak_mods(action->state.weak_mods); +#ifndef NO_ACTION_ONESHOT + del_mods(action->state.oneshot_mods); +#endif send_keyboard_report(); + action->state = (const qk_tap_dance_state_t){0}; +} + +static inline void process_tap_dance_action_on_dance_finished(qk_tap_dance_action_t *action) { + if (!action->state.finished) { + action->state.finished = true; + add_weak_mods(action->state.weak_mods); +#ifndef NO_ACTION_ONESHOT + add_mods(action->state.oneshot_mods); +#endif + send_keyboard_report(); + _process_tap_dance_action_fn(&action->state, action->user_data, action->fn.on_dance_finished); + } + active_td = 0; + if (!action->state.pressed) { + // There will not be a key release event, so reset now. + process_tap_dance_action_on_reset(action); + } } void preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) { @@ -111,51 +120,33 @@ void preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) { if (!record->event.pressed) return; - if (highest_td == -1) return; - - for (int i = 0; i <= highest_td; i++) { - action = &tap_dance_actions[i]; - if (action->state.count) { - if (keycode == action->state.keycode && keycode == last_td) continue; - action->state.interrupted = true; - action->state.interrupting_keycode = keycode; - process_tap_dance_action_on_dance_finished(action); - reset_tap_dance(&action->state); - - // Tap dance actions can leave some weak mods active (e.g., if the tap dance is mapped to a keycode with - // modifiers), but these weak mods should not affect the keypress which interrupted the tap dance. - clear_weak_mods(); - } - } + if (!active_td || keycode == active_td) return; + + action = &tap_dance_actions[TD_INDEX(active_td)]; + action->state.interrupted = true; + action->state.interrupting_keycode = keycode; + process_tap_dance_action_on_dance_finished(action); + + // Tap dance actions can leave some weak mods active (e.g., if the tap dance is mapped to a keycode with + // modifiers), but these weak mods should not affect the keypress which interrupted the tap dance. + clear_weak_mods(); } bool process_tap_dance(uint16_t keycode, keyrecord_t *record) { - uint16_t idx = keycode - QK_TAP_DANCE; qk_tap_dance_action_t *action; switch (keycode) { case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: - if ((int16_t)idx > highest_td) highest_td = idx; - action = &tap_dance_actions[idx]; + action = &tap_dance_actions[TD_INDEX(keycode)]; action->state.pressed = record->event.pressed; if (record->event.pressed) { - action->state.keycode = keycode; - action->state.count++; - action->state.timer = timer_read(); -#ifndef NO_ACTION_ONESHOT - action->state.oneshot_mods = get_oneshot_mods(); -#else - action->state.oneshot_mods = 0; -#endif - action->state.weak_mods = get_mods(); - action->state.weak_mods |= get_weak_mods(); + last_tap_time = timer_read(); process_tap_dance_action_on_each_tap(action); - - last_td = keycode; + active_td = action->state.finished ? 0 : keycode; } else { - if (action->state.count && action->state.finished) { - reset_tap_dance(&action->state); + if (action->state.finished) { + process_tap_dance_action_on_reset(action); } } @@ -166,35 +157,17 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) { } void tap_dance_task() { - if (highest_td == -1) return; - uint16_t tap_user_defined; - - for (uint8_t i = 0; i <= highest_td; i++) { - qk_tap_dance_action_t *action = &tap_dance_actions[i]; - if (action->custom_tapping_term > 0) { - tap_user_defined = action->custom_tapping_term; - } else { - tap_user_defined = GET_TAPPING_TERM(action->state.keycode, &(keyrecord_t){}); - } - if (action->state.count && timer_elapsed(action->state.timer) > tap_user_defined) { - process_tap_dance_action_on_dance_finished(action); - reset_tap_dance(&action->state); - } - } -} - -void reset_tap_dance(qk_tap_dance_state_t *state) { qk_tap_dance_action_t *action; - if (state->pressed) return; + if (!active_td || timer_elapsed(last_tap_time) <= GET_TAPPING_TERM(active_td, &(keyrecord_t){})) return; - action = &tap_dance_actions[state->keycode - QK_TAP_DANCE]; - - process_tap_dance_action_on_reset(action); + action = &tap_dance_actions[TD_INDEX(active_td)]; + if (!action->state.interrupted) { + process_tap_dance_action_on_dance_finished(action); + } +} - state->count = 0; - state->interrupted = false; - state->finished = false; - state->interrupting_keycode = 0; - last_td = 0; +void reset_tap_dance(qk_tap_dance_state_t *state) { + active_td = 0; + process_tap_dance_action_on_reset((qk_tap_dance_action_t *)state); } diff --git a/quantum/process_keycode/process_tap_dance.h b/quantum/process_keycode/process_tap_dance.h index d9ffb1e73d..d97900d96b 100644 --- a/quantum/process_keycode/process_tap_dance.h +++ b/quantum/process_keycode/process_tap_dance.h @@ -22,30 +22,27 @@ # include typedef struct { + uint16_t interrupting_keycode; uint8_t count; - uint8_t oneshot_mods; uint8_t weak_mods; - uint16_t keycode; - uint16_t interrupting_keycode; - uint16_t timer; - bool interrupted; - bool pressed; - bool finished; +# ifndef NO_ACTION_ONESHOT + uint8_t oneshot_mods; +# endif + bool pressed : 1; + bool finished : 1; + bool interrupted : 1; } qk_tap_dance_state_t; -# define TD(n) (QK_TAP_DANCE | ((n)&0xFF)) - typedef void (*qk_tap_dance_user_fn_t)(qk_tap_dance_state_t *state, void *user_data); typedef struct { + qk_tap_dance_state_t state; struct { qk_tap_dance_user_fn_t on_each_tap; qk_tap_dance_user_fn_t on_dance_finished; qk_tap_dance_user_fn_t on_reset; } fn; - qk_tap_dance_state_t state; - uint16_t custom_tapping_term; - void * user_data; + void *user_data; } qk_tap_dance_action_t; typedef struct { @@ -62,31 +59,31 @@ typedef struct { # define ACTION_TAP_DANCE_DOUBLE(kc1, kc2) \ { .fn = {qk_tap_dance_pair_on_each_tap, qk_tap_dance_pair_finished, qk_tap_dance_pair_reset}, .user_data = (void *)&((qk_tap_dance_pair_t){kc1, kc2}), } -# define ACTION_TAP_DANCE_DUAL_ROLE(kc, layer) \ +# define ACTION_TAP_DANCE_LAYER_MOVE(kc, layer) \ { .fn = {qk_tap_dance_dual_role_on_each_tap, qk_tap_dance_dual_role_finished, qk_tap_dance_dual_role_reset}, .user_data = (void *)&((qk_tap_dance_dual_role_t){kc, layer, layer_move}), } # define ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer) \ { .fn = {NULL, qk_tap_dance_dual_role_finished, qk_tap_dance_dual_role_reset}, .user_data = (void *)&((qk_tap_dance_dual_role_t){kc, layer, layer_invert}), } -# define ACTION_TAP_DANCE_LAYER_MOVE(kc, layer) ACTION_TAP_DANCE_DUAL_ROLE(kc, layer) - # define ACTION_TAP_DANCE_FN(user_fn) \ { .fn = {NULL, user_fn, NULL}, .user_data = NULL, } # define ACTION_TAP_DANCE_FN_ADVANCED(user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset) \ { .fn = {user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset}, .user_data = NULL, } -# define ACTION_TAP_DANCE_FN_ADVANCED_TIME(user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset, tap_specific_tapping_term) \ - { .fn = {user_fn_on_each_tap, user_fn_on_dance_finished, user_fn_on_dance_reset}, .user_data = NULL, .custom_tapping_term = tap_specific_tapping_term, } +# define TD(n) (QK_TAP_DANCE | TD_INDEX(n)) +# define TD_INDEX(code) ((code)&0xFF) +# define TAP_DANCE_KEYCODE(state) TD(((qk_tap_dance_action_t *)state) - tap_dance_actions) extern qk_tap_dance_action_t tap_dance_actions[]; +void reset_tap_dance(qk_tap_dance_state_t *state); + /* To be used internally */ void preprocess_tap_dance(uint16_t keycode, keyrecord_t *record); bool process_tap_dance(uint16_t keycode, keyrecord_t *record); void tap_dance_task(void); -void reset_tap_dance(qk_tap_dance_state_t *state); void qk_tap_dance_pair_on_each_tap(qk_tap_dance_state_t *state, void *user_data); void qk_tap_dance_pair_finished(qk_tap_dance_state_t *state, void *user_data); diff --git a/tests/tapdance/config.h b/tests/tapdance/config.h new file mode 100644 index 0000000000..6aada3efd3 --- /dev/null +++ b/tests/tapdance/config.h @@ -0,0 +1,19 @@ +/* Copyright 2022 Jouke Witteveen + * + * 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 with this program. If not, see . + */ + +#pragma once + +#include "test_common.h" diff --git a/tests/tapdance/examples.c b/tests/tapdance/examples.c new file mode 100644 index 0000000000..4a5be41b08 --- /dev/null +++ b/tests/tapdance/examples.c @@ -0,0 +1,199 @@ +/* Copyright 2022 Jouke Witteveen + * + * 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 with this program. If not, see . + */ + +#include "quantum.h" +#include "examples.h" + +// Example code from the tap dance documentation, adapted for testing + +// clang-format off + +// Example 1 + +void dance_egg(qk_tap_dance_state_t *state, void *user_data) { + if (state->count >= 100) { + // SEND_STRING("Safety dance!"); + tap_code(KC_C); + reset_tap_dance(state); + } +} + + +// Example 2 + +void dance_flsh_each(qk_tap_dance_state_t *state, void *user_data) { + switch (state->count) { + case 1: + register_code(KC_3); + break; + case 2: + register_code(KC_2); + break; + case 3: + register_code(KC_1); + break; + case 4: + unregister_code(KC_3); + // wait_ms(50); + unregister_code(KC_2); + // wait_ms(50); + unregister_code(KC_1); + } +} + +void dance_flsh_finished(qk_tap_dance_state_t *state, void *user_data) { + if (state->count >= 4) { + // reset_keyboard(); + tap_code(KC_R); + } +} + +void dance_flsh_reset(qk_tap_dance_state_t *state, void *user_data) { + unregister_code(KC_1); + // wait_ms(50); + unregister_code(KC_2); + // wait_ms(50); + unregister_code(KC_3); +} + + +// Example 3 + +typedef struct { + uint16_t tap; + uint16_t hold; + uint16_t held; +} tap_dance_tap_hold_t; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + qk_tap_dance_action_t *action; + + switch (keycode) { + case TD(CT_CLN): + action = &tap_dance_actions[TD_INDEX(keycode)]; + if (!record->event.pressed && action->state.count && !action->state.finished) { + tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)action->user_data; + tap_code16(tap_hold->tap); + } + } + return true; +} + +void tap_dance_tap_hold_finished(qk_tap_dance_state_t *state, void *user_data) { + tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data; + + if (state->pressed) { + if (state->count == 1 +#ifndef PERMISSIVE_HOLD + && !state->interrupted +#endif + ) { + register_code16(tap_hold->hold); + tap_hold->held = tap_hold->hold; + } else { + register_code16(tap_hold->tap); + tap_hold->held = tap_hold->tap; + } + } +} + +void tap_dance_tap_hold_reset(qk_tap_dance_state_t *state, void *user_data) { + tap_dance_tap_hold_t *tap_hold = (tap_dance_tap_hold_t *)user_data; + + if (tap_hold->held) { + unregister_code16(tap_hold->held); + tap_hold->held = 0; + } +} + +#define ACTION_TAP_DANCE_TAP_HOLD(tap, hold) \ + { .fn = {NULL, tap_dance_tap_hold_finished, tap_dance_tap_hold_reset}, .user_data = (void *)&((tap_dance_tap_hold_t){tap, hold, 0}), } + + +// Example 4 + +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP, + TD_DOUBLE_HOLD, + TD_DOUBLE_SINGLE_TAP, + TD_TRIPLE_TAP, + TD_TRIPLE_HOLD +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +td_state_t cur_dance(qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) return TD_SINGLE_TAP; + else return TD_SINGLE_HOLD; + } else if (state->count == 2) { + if (state->interrupted) return TD_DOUBLE_SINGLE_TAP; + else if (state->pressed) return TD_DOUBLE_HOLD; + else return TD_DOUBLE_TAP; + } + + if (state->count == 3) { + if (state->interrupted || !state->pressed) return TD_TRIPLE_TAP; + else return TD_TRIPLE_HOLD; + } else return TD_UNKNOWN; +} + +static td_tap_t xtap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +void x_finished(qk_tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: register_code(KC_X); break; + case TD_SINGLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_TAP: register_code(KC_ESC); break; + case TD_DOUBLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_SINGLE_TAP: tap_code(KC_X); register_code(KC_X); + default: break; // Not present in documentation + } +} + +void x_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_X); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break; + case TD_DOUBLE_TAP: unregister_code(KC_ESC); break; + case TD_DOUBLE_HOLD: unregister_code(KC_LALT); + case TD_DOUBLE_SINGLE_TAP: unregister_code(KC_X); + default: break; // Not present in documentation + } + xtap_state.state = TD_NONE; +} + + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), + [CT_EGG] = ACTION_TAP_DANCE_FN(dance_egg), + [CT_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED(dance_flsh_each, dance_flsh_finished, dance_flsh_reset), + [CT_CLN] = ACTION_TAP_DANCE_TAP_HOLD(KC_COLN, KC_SCLN), + [X_CTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, x_finished, x_reset) +}; + +// clang-format on diff --git a/tests/tapdance/examples.h b/tests/tapdance/examples.h new file mode 100644 index 0000000000..2622af6b2f --- /dev/null +++ b/tests/tapdance/examples.h @@ -0,0 +1,33 @@ +/* Copyright 2022 Jouke Witteveen + * + * 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 with this program. If not, see . + */ + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +enum { + TD_ESC_CAPS, + CT_EGG, + CT_FLSH, + CT_CLN, + X_CTL, +}; + +#ifdef __cplusplus +} +#endif diff --git a/tests/tapdance/test.mk b/tests/tapdance/test.mk new file mode 100644 index 0000000000..041d9b4dc9 --- /dev/null +++ b/tests/tapdance/test.mk @@ -0,0 +1,22 @@ +# Copyright 2022 Jouke Witteveen +# +# 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 with this program. If not, see . + +# -------------------------------------------------------------------------------- +# Keep this file, even if it is empty, as a marker that this folder contains tests +# -------------------------------------------------------------------------------- + +TAP_DANCE_ENABLE = yes + +SRC += examples.c diff --git a/tests/tapdance/test_examples.cpp b/tests/tapdance/test_examples.cpp new file mode 100644 index 0000000000..e67e6cb907 --- /dev/null +++ b/tests/tapdance/test_examples.cpp @@ -0,0 +1,319 @@ +/* Copyright 2022 Jouke Witteveen + * + * 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 with this program. If not, see . + */ + +#include "keyboard_report_util.hpp" +#include "keycode.h" +#include "test_common.hpp" +#include "action_tapping.h" +#include "test_keymap_key.hpp" +#include "examples.h" + +using testing::_; +using testing::InSequence; + +class TapDance : public TestFixture {}; + +TEST_F(TapDance, DoubleTap) { + TestDriver driver; + InSequence s; + auto key_esc_caps = KeymapKey{0, 1, 0, TD(TD_ESC_CAPS)}; + + set_keymap({key_esc_caps}); + + /* The tap dance key does nothing on the first press */ + key_esc_caps.press(); + run_one_scan_loop(); + key_esc_caps.release(); + EXPECT_NO_REPORT(driver); + + /* We get the key press and the release on timeout */ + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_ESC)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Double tap gets us the second key */ + tap_key(key_esc_caps); + EXPECT_NO_REPORT(driver); + key_esc_caps.press(); + EXPECT_REPORT(driver, (KC_CAPS)); + run_one_scan_loop(); + key_esc_caps.release(); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); +} + +TEST_F(TapDance, DoubleTapWithMod) { + TestDriver driver; + InSequence s; + auto key_esc_caps = KeymapKey{0, 1, 0, TD(TD_ESC_CAPS)}; + auto key_shift = KeymapKey{0, 2, 0, KC_LSFT}; + + set_keymap({key_esc_caps, key_shift}); + + /* The tap dance key does nothing on the first press */ + key_shift.press(); + EXPECT_REPORT(driver, (KC_LSFT)); + run_one_scan_loop(); + key_esc_caps.press(); + run_one_scan_loop(); + + key_esc_caps.release(); + key_shift.release(); + EXPECT_EMPTY_REPORT(driver); + + /* We get the key press and the release */ + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_LSFT)); + EXPECT_REPORT(driver, (KC_LSFT, KC_ESC)); + EXPECT_REPORT(driver, (KC_LSFT)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Double tap gets us the second key */ + key_shift.press(); + EXPECT_REPORT(driver, (KC_LSFT)); + run_one_scan_loop(); + tap_key(key_esc_caps); + EXPECT_NO_REPORT(driver); + key_shift.release(); + key_esc_caps.press(); + EXPECT_REPORT(driver, (KC_LSFT, KC_CAPS)); + run_one_scan_loop(); + key_esc_caps.release(); + EXPECT_REPORT(driver, (KC_LSFT)); + run_one_scan_loop(); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); +} + +TEST_F(TapDance, DoubleTapInterrupted) { + TestDriver driver; + InSequence s; + auto key_esc_caps = KeymapKey{0, 1, 0, TD(TD_ESC_CAPS)}; + auto regular_key = KeymapKey(0, 2, 0, KC_A); + + set_keymap({key_esc_caps, regular_key}); + + /* Interrupted double tap */ + tap_key(key_esc_caps); + regular_key.press(); + /* Immediate tap of the first key */ + EXPECT_REPORT(driver, (KC_ESC)); + EXPECT_EMPTY_REPORT(driver); + /* Followed by the interrupting key */ + EXPECT_REPORT(driver, (KC_A)); + run_one_scan_loop(); + regular_key.release(); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Second tap after being interrupted acts as a single tap */ + key_esc_caps.press(); + run_one_scan_loop(); + key_esc_caps.release(); + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_ESC)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); +} + +TEST_F(TapDance, DanceFn) { + TestDriver driver; + InSequence s; + auto key_egg = KeymapKey(0, 1, 0, TD(CT_EGG)); + + set_keymap({key_egg}); + + /* 99 taps do nothing */ + for (int i = 0; i < 99; i++) { + run_one_scan_loop(); + key_egg.press(); + run_one_scan_loop(); + key_egg.release(); + } + idle_for(TAPPING_TERM); + EXPECT_NO_REPORT(driver); + run_one_scan_loop(); + + /* 100 taps trigger the action */ + for (int i = 0; i < 100; i++) { + run_one_scan_loop(); + key_egg.press(); + run_one_scan_loop(); + key_egg.release(); + } + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_C)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* 250 taps act the same as 100 taps */ + /* Taps are counted in an uint8_t, so the count overflows after 255 taps */ + for (int i = 0; i < 250; i++) { + run_one_scan_loop(); + key_egg.press(); + run_one_scan_loop(); + key_egg.release(); + } + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_C)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); +} + +TEST_F(TapDance, DanceFnAdvanced) { + TestDriver driver; + InSequence s; + auto key_flsh = KeymapKey(0, 1, 0, TD(CT_FLSH)); + + set_keymap({key_flsh}); + + /* Three taps don't trigger a reset */ + EXPECT_REPORT(driver, (KC_3)); + EXPECT_REPORT(driver, (KC_3, KC_2)); + EXPECT_REPORT(driver, (KC_3, KC_2, KC_1)); + for (int i = 0; i < 3; i++) { + run_one_scan_loop(); + key_flsh.press(); + run_one_scan_loop(); + key_flsh.release(); + } + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_3, KC_2)); + EXPECT_REPORT(driver, (KC_3)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Four taps trigger a reset */ + EXPECT_REPORT(driver, (KC_3)); + EXPECT_REPORT(driver, (KC_3, KC_2)); + EXPECT_REPORT(driver, (KC_3, KC_2, KC_1)); + EXPECT_REPORT(driver, (KC_2, KC_1)); + EXPECT_REPORT(driver, (KC_1)); + EXPECT_EMPTY_REPORT(driver); + for (int i = 0; i < 4; i++) { + run_one_scan_loop(); + key_flsh.press(); + run_one_scan_loop(); + key_flsh.release(); + } + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_R)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); +} + +TEST_F(TapDance, TapHold) { + TestDriver driver; + InSequence s; + auto key_cln = KeymapKey{0, 1, 0, TD(CT_CLN)}; + + set_keymap({key_cln}); + + /* Short taps fire on release */ + key_cln.press(); + run_one_scan_loop(); + key_cln.release(); + EXPECT_REPORT(driver, (KC_LSFT)); + EXPECT_REPORT(driver, (KC_LSFT, KC_SCLN)); + EXPECT_REPORT(driver, (KC_LSFT)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Holds immediate following a tap apply to the tap key */ + key_cln.press(); + EXPECT_REPORT(driver, (KC_LSFT)); + EXPECT_REPORT(driver, (KC_LSFT, KC_SCLN)); + idle_for(TAPPING_TERM * 2); + key_cln.release(); + EXPECT_REPORT(driver, (KC_LSFT)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Holds trigger the hold key */ + key_cln.press(); + idle_for(TAPPING_TERM); + run_one_scan_loop(); + EXPECT_REPORT(driver, (KC_SCLN)); + run_one_scan_loop(); + key_cln.release(); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); +} + +TEST_F(TapDance, QuadFunction) { + TestDriver driver; + InSequence s; + auto key_quad = KeymapKey{0, 1, 0, TD(X_CTL)}; + auto regular_key = KeymapKey(0, 2, 0, KC_A); + + set_keymap({key_quad, regular_key}); + + /* Single tap */ + key_quad.press(); + run_one_scan_loop(); + key_quad.release(); + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_X)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Single hold */ + key_quad.press(); + run_one_scan_loop(); + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_LCTL)); + run_one_scan_loop(); + key_quad.release(); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Double tap */ + tap_key(key_quad); + key_quad.press(); + run_one_scan_loop(); + key_quad.release(); + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_ESC)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Double tap and hold */ + tap_key(key_quad); + key_quad.press(); + run_one_scan_loop(); + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (KC_LALT)); + run_one_scan_loop(); + key_quad.release(); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + /* Double single tap */ + tap_key(key_quad); + tap_key(key_quad); + regular_key.press(); + EXPECT_REPORT(driver, (KC_X)); + EXPECT_EMPTY_REPORT(driver); + EXPECT_REPORT(driver, (KC_X)); + EXPECT_EMPTY_REPORT(driver); + EXPECT_REPORT(driver, (KC_A)); + run_one_scan_loop(); + regular_key.release(); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); +} diff --git a/users/edvorakjp/edvorakjp_tap_dance.c b/users/edvorakjp/edvorakjp_tap_dance.c index cee10de693..69fcbac1ca 100644 --- a/users/edvorakjp/edvorakjp_tap_dance.c +++ b/users/edvorakjp/edvorakjp_tap_dance.c @@ -64,6 +64,15 @@ void td_raise_reset(qk_tap_dance_state_t *state, void *user_data) { } qk_tap_dance_action_t tap_dance_actions[] = { - [TD_EDVORAKJP_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_lower_finished, td_lower_reset, 150), - [TD_EDVORAKJP_RAISE] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_raise_finished, td_raise_reset, 150), + [TD_EDVORAKJP_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lower_finished, td_lower_reset), + [TD_EDVORAKJP_RAISE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_raise_finished, td_raise_reset), }; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: + return 150; + default: + return TAPPING_TERM; + } +} diff --git a/users/gourdo1/gourdo1.c b/users/gourdo1/gourdo1.c index b964729be9..4e741ccc91 100644 --- a/users/gourdo1/gourdo1.c +++ b/users/gourdo1/gourdo1.c @@ -45,7 +45,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { [TD_LSFT_CAPSLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), [TD_LSFT_CAPS_WIN] = ACTION_TAP_DANCE_FN_ADVANCED(dance_LSFT_each_tap, NULL, dance_LSFT_reset), // Tap once for Escape, twice to reset to base layer - [TD_ESC_BASELYR] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _BASE), + [TD_ESC_BASELYR] = ACTION_TAP_DANCE_LAYER_MOVE(KC_ESC, _BASE), }; #endif // TD_LSFT_CAPSLOCK_ENABLE diff --git a/users/mnil/config.h b/users/mnil/config.h index 3547785ff7..b471b9a818 100644 --- a/users/mnil/config.h +++ b/users/mnil/config.h @@ -19,3 +19,4 @@ #define MK_3_SPEED #define MK_MOMENTARY_ACCEL #define PERMISSIVE_HOLD +#define TAPPING_TERM 250 diff --git a/users/mnil/mnil.c b/users/mnil/mnil.c index d5bd0ef0bb..00da6086ef 100644 --- a/users/mnil/mnil.c +++ b/users/mnil/mnil.c @@ -140,7 +140,7 @@ void aa_reset(qk_tap_dance_state_t *state, void *user_data) { // clang-format off qk_tap_dance_action_t tap_dance_actions[] = { - [AAE] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ae_finished, ae_reset, 250), - [OAA] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, aa_finished, aa_reset, 250) + [AAE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ae_finished, ae_reset), + [OAA] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, aa_finished, aa_reset) }; // clang-format on diff --git a/users/ninjonas/config.h b/users/ninjonas/config.h index 025dbb541a..565e40e841 100644 --- a/users/ninjonas/config.h +++ b/users/ninjonas/config.h @@ -2,6 +2,7 @@ #undef TAPPING_TERM #define TAPPING_TERM 200 #endif +#define TAPPING_TERM_PER_KEY // Mouse Settings: Smoothing out mouse movement on keypress #ifndef MOUSEKEY_INTERVAL @@ -18,4 +19,4 @@ #undef COMBO_TERM #define COMBO_COUNT 5 #define COMBO_TERM 60 -#endif \ No newline at end of file +#endif diff --git a/users/ninjonas/tap_dances.c b/users/ninjonas/tap_dances.c index 63e4d3ba47..3e4cec9133 100644 --- a/users/ninjonas/tap_dances.c +++ b/users/ninjonas/tap_dances.c @@ -107,6 +107,16 @@ qk_tap_dance_action_t tap_dance_actions[] = { [TD_GUI_GUISPC] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, LGUI(KC_SPC)), // Advanced Tap Dances - [TD_COPY_PASTE_APP] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, copy_paste_app_finished, copy_paste_app_reset, 300), - [TD_Y_NUMPAD] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, y_numpad_finished, y_numpad_reset, 300), -}; \ No newline at end of file + [TD_COPY_PASTE_APP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, copy_paste_app_finished, copy_paste_app_reset), + [TD_Y_NUMPAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, y_numpad_finished, y_numpad_reset), +}; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_COPY_PASTE_APP): + case TD(TD_Y_NUMPAD): + return 300; + default: + return TAPPING_TERM; + } +} -- cgit 1.4.1 From 0da6562c4df570729889690e21061229c5648b73 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 18 Jun 2022 14:37:51 -0700 Subject: Make default layer size 16-bit (#15286) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- docs/zh-cn/custom_quantum_functions.md | 7 +- .../sweet16/keymaps/ridingintraffic/keymap.c | 2 +- .../gherkin/keymaps/itsaferbie/keymap.c | 2 +- .../half_n_half/keymaps/Boy_314/keymap.c | 4 +- keyboards/bandominedoni/keymaps/led/keymap.c | 2 +- keyboards/bandominedoni/keymaps/via/keymap.c | 2 +- keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c | 4 +- .../bpiphany/kitten_paw/keymaps/ickerwx/keymap.c | 4 +- .../bpiphany/pegasushoof/keymaps/blowrak/keymap.c | 2 +- keyboards/cannonkeys/ortho75/ortho75.c | 73 +-- .../cannonkeys/satisfaction75/satisfaction75.c | 2 +- .../ckeys/washington/keymaps/default/keymap.c | 4 +- keyboards/clueboard/66/keymaps/magicmonty/keymap.c | 2 +- keyboards/crkbd/keymaps/dsanchezseco/keymap.c | 2 +- keyboards/crkbd/keymaps/edvorakjp/keymap.c | 4 +- keyboards/crkbd/keymaps/edvorakjp/oled.c | 2 +- keyboards/crkbd/keymaps/jarred/keymap.c | 2 +- keyboards/dichotomy/keymaps/default/keymap.c | 4 +- .../plaid/keymaps/thehalfdeafchef/keymap.c | 2 +- keyboards/dz60/keymaps/iso_split-spacebar/keymap.c | 28 +- keyboards/dz60/keymaps/marianas/customLogic.c | 2 +- keyboards/dz60/keymaps/xtonhasvim/keymap.c | 4 +- .../dztech/dz60rgb/keymaps/matthewrobo/keymap.c | 2 +- keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c | 4 +- keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c | 4 +- .../dztech/dz65rgb/keymaps/catrielmuller/keymap.c | 4 +- keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c | 156 +++--- .../dztech/dz65rgb/keymaps/matthewrobo/keymap.c | 2 +- .../ergodox_ez/keymaps/bepo_tm_style/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/blakedietz/keymap.c | 3 +- .../ergodox_ez/keymaps/bpruitt-goddard/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/default_osx/keymap.c | 2 +- .../ergodox_ez/keymaps/dvorak_42_key/keymap.c | 2 +- .../hacker_dvorak/user/layer_set_state_user.c | 2 +- .../ergodox_ez/keymaps/heartrobotninja/keymap.c | 4 +- keyboards/ergodox_ez/keymaps/kou/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/lukaus/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/matrixman/keymap.c | 2 +- .../ergodox_ez/keymaps/nathanvercaemert/keymap.c | 3 +- keyboards/ergodox_ez/keymaps/nfriend/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/profet_80/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/pvinis/keymap.c | 6 +- keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c | 3 +- keyboards/ergodox_ez/keymaps/rishka/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/skug/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/smurmann/keymap.c | 8 +- keyboards/ergodox_ez/keymaps/steno/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/testing/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/vim/keymap.c | 2 +- keyboards/ergodox_ez/util/compile_keymap.py | 110 ++-- keyboards/ergoslab/keymaps/default/keymap.c | 2 +- keyboards/exclusive/e65/keymaps/masterzen/keymap.c | 2 +- .../exclusive/e7v1/keymaps/masterzen/keymap.c | 2 +- keyboards/gboards/gergo/keymaps/colemak/keymap.c | 5 +- keyboards/gh60/revc/keymaps/dbroqua/keymap.c | 4 +- keyboards/gh60/revc/keymaps/default/keymap.c | 2 +- keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c | 2 +- keyboards/gh60/satan/keymaps/addcninblue/keymap.c | 2 +- .../chimera_ergo/keymaps/default/keymap.c | 2 +- .../glenpickle/chimera_ls/keymaps/default/keymap.c | 2 +- .../chimera_ortho/keymaps/default/keymap.c | 2 +- keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c | 2 +- .../handwired/frenchdev/keymaps/default/keymap.c | 2 +- keyboards/handwired/kbod/keymaps/default/keymap.c | 2 +- keyboards/handwired/prime_exl/keymaps/via/keymap.c | 2 +- .../handwired/promethium/keymaps/default/keymap.c | 6 +- .../handwired/promethium/keymaps/priyadi/keymap.c | 8 +- .../handwired/traveller/keymaps/default/keymap.c | 2 +- .../handwired/tritium_numpad/keymaps/blu/keymap.c | 2 +- keyboards/helix/pico/keymaps/mtei/keymap.c | 2 +- .../helix/rev2/keymaps/default/oled_display.c | 2 +- keyboards/helix/rev2/keymaps/edvorakjp/keymap.c | 4 +- keyboards/helix/rev2/keymaps/edvorakjp/oled.c | 2 +- keyboards/helix/rev2/keymaps/five_rows/keymap.c | 4 +- .../helix/rev3_5rows/keymaps/five_rows/keymap.c | 4 +- keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c | 2 +- keyboards/hotdox/keymaps/default/keymap.c | 2 +- keyboards/hotdox/keymaps/eozaki/keymap.c | 2 +- keyboards/hotdox/keymaps/kloki/keymap.c | 2 +- .../ergodox_infinity/keymaps/default/keymap.c | 2 +- .../ergodox_infinity/keymaps/gordon/keymap.c | 2 +- .../ergodox_infinity/keymaps/halfkeyboard/keymap.c | 2 +- .../ergodox_infinity/keymaps/input_club/keymap.c | 2 +- .../ergodox_infinity/keymaps/narze/keymap.c | 2 +- .../ergodox_infinity/keymaps/nordic_ergo/keymap.c | 2 +- .../ergodox_infinity/keymaps/rask/keymap.c | 2 +- .../ergodox_infinity/keymaps/rjhilgefort/keymap.c | 2 +- .../keymaps/trulyergonomic/keymap.c | 2 +- .../infinity60/keymaps/jpetermans/keymap.c | 4 +- keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c | 2 +- .../jones/v03_1/keymaps/default_ansi/keymap.c | 2 +- keyboards/jones/v03_1/keymaps/default_jp/keymap.c | 2 +- .../kakunpc/angel64/alpha/keymaps/default/keymap.c | 2 +- .../kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c | 2 +- .../suihankey/alpha/keymaps/default/keymap.c | 2 +- .../suihankey/rev1/keymaps/default/keymap.c | 2 +- keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c | 3 +- keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c | 2 +- keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c | 30 +- .../kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c | 2 +- keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c | 2 +- .../keebio/bfo9000/keymaps/abstractkb/keymap.c | 5 +- keyboards/keebio/iris/keymaps/edvorakjp/keymap.c | 4 +- keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c | 4 +- keyboards/keebio/iris/keymaps/sq5rix/keymap.c | 3 +- .../keebio/levinson/keymaps/issmirnov/keymap.c | 2 +- keyboards/keebio/levinson/keymaps/issmirnov/rgb.c | 2 +- keyboards/keebio/levinson/keymaps/issmirnov/rgb.h | 2 +- .../keebio/levinson/keymaps/xtonhasvim/keymap.c | 2 +- keyboards/keebio/nyquist/keymaps/pitty/keymap.c | 2 +- .../keebio/quefrency/keymaps/georgepetri/keymap.c | 2 +- .../keyhive/honeycomb/keymaps/default/keymap.c | 2 +- keyboards/kinesis/keymaps/milestogo/keymap.c | 2 +- .../kprepublic/cospad/keymaps/detrus/keymap.c | 6 +- .../kprepublic/jj50/keymaps/abstractkb/keymap.c | 2 +- .../jj50/keymaps/abstractkb_gergomatch/keymap.c | 2 +- keyboards/ktec/ergodone/keymaps/eozaki/keymap.c | 2 +- keyboards/ktec/ergodone/keymaps/erovia/keymap.c | 2 +- keyboards/ktec/ergodone/keymaps/kloki/keymap.c | 2 +- keyboards/ktec/ergodone/keymaps/vega/keymap.c | 2 +- .../leeku/finger65/keymaps/madhatter/keymap.c | 2 +- keyboards/lets_split/keymaps/bbaserdem/keymap.c | 2 +- keyboards/lets_split/keymaps/cpeters1982/keymap.c | 2 +- keyboards/lets_split/keymaps/geripgeri/keymap.c | 2 +- keyboards/lets_split/keymaps/pitty/keymap.c | 2 +- keyboards/lily58/lib/layer_state_reader.c | 2 +- keyboards/m10a/keymaps/gam3cat/keymap.c | 2 +- .../lets_split_eh/keymaps/bbaserdem/keymap.c | 2 +- .../lets_split_eh/keymaps/romus/keymap.c | 4 +- .../mechmini/v2/keymaps/wsturgiss/keymap.c | 3 +- keyboards/mechllama/g35/keymaps/default/keymap.c | 2 +- keyboards/mechlovin/hannah910/hannah910.c | 6 +- keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c | 28 +- keyboards/minimacro5/keymaps/devdev/keymap.c | 2 +- keyboards/mitosis/keymaps/carvac_dv/keymap.c | 3 +- keyboards/mitosis/keymaps/datagrok/keymap.c | 4 +- keyboards/mitosis/keymaps/default/keymap.c | 5 +- keyboards/mitosis/keymaps/mjt/keymap.c | 4 +- keyboards/mitosis/keymaps/nzen/keymap.c | 4 +- keyboards/mschwingen/modelm/modelm.c | 4 +- keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c | 4 +- keyboards/pearl/keymaps/cijanzen/keymap.c | 2 +- keyboards/pearl/keymaps/jetpacktuxedo/keymap.c | 2 +- keyboards/pearl/keymaps/phil/keymap.c | 2 +- keyboards/pearl/keymaps/rask/keymap.c | 2 +- keyboards/percent/canoe/keymaps/dhertz/keymap.c | 4 +- keyboards/phoenix/phoenix.c | 2 +- keyboards/planck/keymaps/aviator/keymap.c | 8 +- keyboards/planck/keymaps/charlesrocket/keymap.c | 2 +- keyboards/planck/keymaps/grahampheath/keymap.c | 2 +- keyboards/planck/keymaps/oryx/keymap.c | 2 +- keyboards/planck/keymaps/rootiest/keymap.c | 2 +- keyboards/planck/keymaps/tom/keymap.c | 2 +- keyboards/planck/keymaps/tylerwince/keymap.c | 4 +- keyboards/preonic/keymaps/dudeofawesome/keymap.c | 2 +- keyboards/preonic/keymaps/senseored/keymap.c | 2 +- keyboards/primekb/prime_e/keymaps/via/keymap.c | 2 +- keyboards/redox_w/keymaps/italian/keymap.c | 12 +- keyboards/redscarf_i/redscarf_i.c | 2 +- keyboards/rgbkb/pan/keymaps/default/keymap.c | 2 +- keyboards/rgbkb/sol/keymaps/default/keymap.c | 4 +- keyboards/rgbkb/sol/keymaps/xyverz/keymap.c | 4 +- keyboards/rgbkb/zen/rev2/rev2.c | 2 +- .../rgbkb/zygomorph/keymaps/default_oled/keymap.c | 2 +- .../satt/comet46/keymaps/default-rgbled/keymap.c | 2 +- keyboards/satt/comet46/keymaps/default/keymap.c | 4 +- keyboards/satt/comet46/keymaps/satt/keymap.c | 4 +- keyboards/splitkb/kyria/keymaps/j-inc/keymap.c | 2 +- keyboards/splitkb/kyria/keymaps/ninjonas/oled.c | 2 +- .../splitkb/kyria/keymaps/thomasbaart/keymap.c | 4 +- keyboards/splitography/keymaps/jeandeaual/keymap.c | 2 +- keyboards/splitography/keymaps/multi/keymap.c | 2 +- keyboards/tetris/keymaps/default/keymap.c | 4 +- .../roadkit/keymaps/flipphone/keymap.c | 2 +- keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c | 3 +- keyboards/xiudi/xd60/keymaps/birkir/keymap.c | 2 +- keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c | 2 +- keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c | 2 +- keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c | 2 +- keyboards/xiudi/xd75/keymaps/kloki/keymap.c | 2 +- keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c | 2 +- layouts/community/ergodox/ab/keymap.c | 2 +- layouts/community/ergodox/absenth/keymap.c | 2 +- layouts/community/ergodox/adam/keymap.c | 2 +- layouts/community/ergodox/adnw_k_o_y/keymap.c | 2 +- layouts/community/ergodox/alexjj/keymap.c | 2 +- layouts/community/ergodox/andrew_osx/keymap.c | 2 +- layouts/community/ergodox/berfarah/keymap.c | 4 +- layouts/community/ergodox/bryan/keymap.c | 2 +- layouts/community/ergodox/choromanski/keymap.c | 42 +- layouts/community/ergodox/colemak/keymap.c | 2 +- .../ergodox/colemak_code_friendly/keymap.c | 20 +- .../community/ergodox/colemak_programmer/keymap.c | 8 +- .../community/ergodox/common_nighthawk/keymap.c | 2 +- layouts/community/ergodox/csharp_dev/keymap.c | 40 +- layouts/community/ergodox/dave/keymap.c | 2 +- layouts/community/ergodox/deadcyclo/keymap.c | 16 +- layouts/community/ergodox/dragon788/keymap.c | 2 +- layouts/community/ergodox/dvorak/keymap.c | 2 +- layouts/community/ergodox/dvorak_emacs/keymap.c | 2 +- .../ergodox/dvorak_emacs_software/keymap.c | 2 +- .../ergodox/dvorak_intl_squisher/keymap.c | 2 +- layouts/community/ergodox/dvorak_plover/keymap.c | 2 +- .../community/ergodox/dvorak_programmer/keymap.c | 68 +-- .../ergodox/dvorak_programmer_swe/keymap.c | 2 +- layouts/community/ergodox/dvorak_spanish/keymap.c | 43 +- .../community/ergodox/dvorak_svorak_a5/keymap.c | 2 +- layouts/community/ergodox/emacs_osx_dk/keymap.c | 2 +- layouts/community/ergodox/french_hacker/keymap.c | 2 +- layouts/community/ergodox/galson/keymap.c | 4 +- layouts/community/ergodox/german-kinergo/keymap.c | 2 +- layouts/community/ergodox/german-lukas/keymap.c | 2 +- .../ergodox/german-manuneo/compile_keymap.py | 110 ++-- layouts/community/ergodox/german-manuneo/keymap.c | 2 +- layouts/community/ergodox/german/keymap.c | 2 +- layouts/community/ergodox/haegin/keymap.c | 2 +- layouts/community/ergodox/ishigoya-jp/keymap.c | 78 +-- layouts/community/ergodox/issmirnov/keymap.c | 6 +- layouts/community/ergodox/italian/keymap.c | 4 +- layouts/community/ergodox/j3rn/keymap.c | 2 +- layouts/community/ergodox/jackhumbert/keymap.c | 14 +- layouts/community/ergodox/jacobono/keymap.c | 2 +- layouts/community/ergodox/jafo/keymap.c | 2 +- layouts/community/ergodox/jgarr/keymap.c | 2 +- layouts/community/ergodox/josh/keymap.c | 2 +- layouts/community/ergodox/kastyle/keymap.c | 4 +- layouts/community/ergodox/kejadlen/keymap.c | 2 +- layouts/community/ergodox/kines-ish/keymap.c | 2 +- layouts/community/ergodox/kristian/keymap.c | 2 +- layouts/community/ergodox/maz/keymap.c | 2 +- layouts/community/ergodox/mclennon_osx/keymap.c | 2 +- layouts/community/ergodox/meagerfindings/keymap.c | 2 +- layouts/community/ergodox/msc/keymap.c | 2 +- layouts/community/ergodox/naps62/keymap.c | 2 +- .../ergodox/neo2_on_qwertz_hardware/keymap.c | 4 +- layouts/community/ergodox/osx_de/keymap.c | 197 ++++---- layouts/community/ergodox/osx_de_adnw_koy/keymap.c | 153 +++--- .../community/ergodox/osx_de_experimental/keymap.c | 555 ++++++++++----------- layouts/community/ergodox/osx_fr/keymap.c | 2 +- .../community/ergodox/osx_kinesis_pnut/keymap.c | 2 +- layouts/community/ergodox/osx_neo2/keymap.c | 2 +- layouts/community/ergodox/phoenix/keymap.c | 2 +- layouts/community/ergodox/plover/keymap.c | 2 +- .../ergodox/qwerty_code_friendly/keymap.c | 2 +- layouts/community/ergodox/reset_eeprom/keymap.c | 2 +- .../romanzolotarev-norman-plover-osx-hjkl/keymap.c | 2 +- .../romanzolotarev-norman-plover-osx/keymap.c | 2 +- .../romanzolotarev-norman-qwerty-osx/keymap.c | 2 +- layouts/community/ergodox/sethbc/keymap.c | 2 +- layouts/community/ergodox/siroken3/keymap.c | 2 +- layouts/community/ergodox/sneako/keymap.c | 2 +- layouts/community/ergodox/software_neo2/keymap.c | 2 +- layouts/community/ergodox/swedish-lindhe/keymap.c | 2 +- layouts/community/ergodox/swedish/keymap.c | 2 +- layouts/community/ergodox/swissgerman/keymap.c | 2 +- layouts/community/ergodox/techtomas/keymap.c | 2 +- layouts/community/ergodox/tkuichooseyou/keymap.c | 2 +- layouts/community/ergodox/tonyabra_osx/keymap.c | 2 +- layouts/community/ergodox/townk_osx/keymap.c | 2 +- .../twentylives_dvorak_with_hebrew/keymap.c | 22 +- .../community/ergodox/win10_writers-block/keymap.c | 28 +- layouts/community/ergodox/xyverz/keymap.c | 6 +- .../community/ergodox/zweihander-macos/keymap.c | 2 +- layouts/community/ortho_4x12/peej/keymap.c | 2 +- quantum/action_layer.h | 2 +- tmk_core/protocol/arm_atsam/md_rgb_matrix.c | 2 +- users/333fred/333fred.c | 2 +- users/333fred/rgb.c | 4 +- users/bbaserdem/bbaserdem.c | 4 +- users/billypython/billypython.c | 2 +- users/billypython/billypython.h | 2 +- users/dhertz/dhertz.c | 3 +- users/doogle999/doogle999.c | 6 +- users/edvorakjp/edvorakjp.c | 2 +- users/edvorakjp/edvorakjp.h | 2 +- users/ericgebhart/ericgebhart.c | 2 +- users/ericgebhart/tap_dances.c | 4 +- users/kuchosauronad0/kuchosauronad0.c | 6 +- users/kuchosauronad0/kuchosauronad0.h | 4 +- users/kuchosauronad0/rgblight_user.c | 20 +- users/kuchosauronad0/template.c | 4 +- users/mtdjr/mtdjr.c | 2 +- users/ninjonas/oled.c | 2 +- users/pvinis/pvinis.c | 2 +- users/pvinis/pvinis.h | 2 +- users/romus/romus.c | 4 +- users/sigma/sigma.c | 4 +- users/stanrc85/layer_rgb.c | 2 +- users/talljoe/talljoe.c | 2 +- users/tominabox1/tominabox1.c | 4 +- users/turbomech/backupturbomech.c | 6 +- users/xulkal/custom_oled.c | 2 +- users/zer09/zer09.c | 2 +- 293 files changed, 1249 insertions(+), 1309 deletions(-) (limited to 'users') diff --git a/docs/zh-cn/custom_quantum_functions.md b/docs/zh-cn/custom_quantum_functions.md index 29c5089052..dba9e7e7c0 100644 --- a/docs/zh-cn/custom_quantum_functions.md +++ b/docs/zh-cn/custom_quantum_functions.md @@ -240,7 +240,7 @@ void suspend_wakeup_init_user(void) { ```c layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _RAISE: rgblight_setrgb (0x00, 0x00, 0xFF); break; @@ -267,7 +267,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { ### `layer_state_set_*` 函数文档 -* 键盘/各子版本:`uint32_t layer_state_set_kb(uint32_t state)` +* 键盘/各子版本:`layer_state_t layer_state_set_kb(layer_state_t state)` * 布局: `layer_state_t layer_state_set_user(layer_state_t state)` @@ -325,7 +325,7 @@ void keyboard_post_init_user(void) { ```c layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _RAISE: if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_magenta(); rgblight_mode_noeeprom(1); } break; @@ -474,4 +474,3 @@ cancel_deferred_exec(my_token); ```c #define MAX_DEFERRED_EXECUTORS 16 ``` - diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c index 6b7b36cbb2..eeca552657 100644 --- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c +++ b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c @@ -196,7 +196,7 @@ void matrix_scan_user(void) { } } layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _TAPLAND: rgblight_setrgb(0, 16, 0); //green break; diff --git a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c b/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c index 950b6e86b9..32c074c88f 100644 --- a/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c +++ b/keyboards/40percentclub/gherkin/keymaps/itsaferbie/keymap.c @@ -105,7 +105,7 @@ void matrix_scan_user(void) { #ifdef RGBLIGHT_ENABLE static uint8_t old_layer = 255; - uint8_t new_layer = biton32(layer_state); + uint8_t new_layer = get_highest_layer(layer_state); // Color of the Icons. if (old_layer != new_layer) { diff --git a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c index 2eef3dc48b..bd467482fe 100644 --- a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c +++ b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c @@ -128,10 +128,10 @@ void tap_dance_choose_layer_reset (qk_tap_dance_state_t *state, void *user_data) layer_off(_RAISE); break; case 3: - if (biton32(default_layer_state) == _DVORAK) { + if (get_highest_layer(default_layer_state) == _DVORAK) { set_single_persistent_default_layer(_QWERTY); } - else if (biton32(default_layer_state) == _QWERTY) { + else if (get_highest_layer(default_layer_state) == _QWERTY) { set_single_persistent_default_layer(_DVORAK); } break; diff --git a/keyboards/bandominedoni/keymaps/led/keymap.c b/keyboards/bandominedoni/keymaps/led/keymap.c index 305756b5b1..4a88d33872 100644 --- a/keyboards/bandominedoni/keymaps/led/keymap.c +++ b/keyboards/bandominedoni/keymaps/led/keymap.c @@ -180,7 +180,7 @@ void keyboard_post_init_user(void) { #ifdef RGB_MATRIX_ENABLE void rgb_matrix_indicators_user(void) { if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _CLOSE: // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy. diff --git a/keyboards/bandominedoni/keymaps/via/keymap.c b/keyboards/bandominedoni/keymaps/via/keymap.c index ad6833d692..342ed1d40c 100644 --- a/keyboards/bandominedoni/keymaps/via/keymap.c +++ b/keyboards/bandominedoni/keymaps/via/keymap.c @@ -118,7 +118,7 @@ void keyboard_post_init_user(void) { #ifdef RGB_MATRIX_ENABLE void rgb_matrix_indicators_user(void) { if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _CLOSE: // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy. diff --git a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c index bb3b6fac48..58f01bb322 100644 --- a/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c +++ b/keyboards/biacco42/ergo42/keymaps/hdbx/keymap.c @@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // RGB Underglow使用時のレイヤー毎のカラー切り替え -uint32_t layer_state_set_keymap (uint32_t state) { +layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } @@ -148,7 +148,7 @@ void matrix_init_user(void) { layer_state_t layer_state_set_user(layer_state_t state) { state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); #ifdef RGBLIGHT_ENABLE - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _RAISE: rgblight_setrgb_chartreuse(); // RAISE:シャルトリューズ break; diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c index cc4d0bca63..4553d4e0e3 100644 --- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c +++ b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c @@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_scan_user(void) { uint8_t layer; - layer = biton32(layer_state); + layer = get_highest_layer(layer_state); if (current_layer_global != layer) { current_layer_global = layer; @@ -132,7 +132,7 @@ void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint bool process_record_user(uint16_t keycode, keyrecord_t *record) { uint8_t layer; - layer = biton32(layer_state); + layer = get_highest_layer(layer_state); if (layer == PROG2) { if (keycode >= KC_A && keycode <= KC_EXSEL && \ !( // do not send LSFT + these keycodes, they are needed for emulating the US layout diff --git a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c index 7884462021..dc55cdf9fd 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c +++ b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case KM_BLOWRAK: ph_caps_led_on(); diff --git a/keyboards/cannonkeys/ortho75/ortho75.c b/keyboards/cannonkeys/ortho75/ortho75.c index 7c722d7156..58b7396a1b 100644 --- a/keyboards/cannonkeys/ortho75/ortho75.c +++ b/keyboards/cannonkeys/ortho75/ortho75.c @@ -5,47 +5,48 @@ uint8_t layer = 0; -uint32_t layer_state_set_kb(uint32_t state) { - state = layer_state_set_user(state); - layer = biton32(state); - return state; +layer_state_t layer_state_set_kb(layer_state_t state) { + state = layer_state_set_user(state); + layer = get_highest_layer(state); + return state; } bool encoder_update_kb(uint8_t index, bool clockwise) { if (!encoder_update_user(index, clockwise)) return false; - uint16_t mapped_code = 0; - if (index == 0) { - if (clockwise) { - switch(layer){ - case 0: - default: - mapped_code = KC_VOLU; - break; - case 1: - mapped_code = KC_MEDIA_NEXT_TRACK; - break; - case 2: - mapped_code = KC_PGDN; - break; + uint16_t mapped_code = 0; + if (index == 0) { + if (clockwise) { + switch (layer) { + case 0: + default: + mapped_code = KC_VOLU; + break; + case 1: + mapped_code = KC_MEDIA_NEXT_TRACK; + break; + case 2: + mapped_code = KC_PGDN; + break; + } + } else { + switch (layer) { + case 0: + default: + mapped_code = KC_VOLD; + break; + case 1: + mapped_code = KC_MEDIA_PREV_TRACK; + break; + case 2: + mapped_code = KC_PGUP; + break; + } } - } else { - switch(layer){ - case 0: - default: - mapped_code = KC_VOLD; - break; - case 1: - mapped_code = KC_MEDIA_PREV_TRACK; - break; - case 2: - mapped_code = KC_PGUP; - break; + uint16_t held_keycode_timer = timer_read(); + register_code(mapped_code); + while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY) { /* no-op */ } + unregister_code(mapped_code); } - uint16_t held_keycode_timer = timer_read(); - register_code(mapped_code); - while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY){ /* no-op */ } - unregister_code(mapped_code); - } - return true; + return true; } diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.c b/keyboards/cannonkeys/satisfaction75/satisfaction75.c index bd7eaf1885..9435377839 100644 --- a/keyboards/cannonkeys/satisfaction75/satisfaction75.c +++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.c @@ -240,7 +240,7 @@ void read_host_led_state(void) { layer_state_t layer_state_set_kb(layer_state_t state) { state = layer_state_set_user(state); - layer = biton32(state); + layer = get_highest_layer(state); oled_request_wakeup(); return state; } diff --git a/keyboards/ckeys/washington/keymaps/default/keymap.c b/keyboards/ckeys/washington/keymaps/default/keymap.c index 95e0f3ab59..9ce0181fe4 100644 --- a/keyboards/ckeys/washington/keymaps/default/keymap.c +++ b/keyboards/ckeys/washington/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; bool encoder_update_user(uint8_t index, bool clockwise) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _BASE: if (clockwise) { tap_code(KC_VOLU); @@ -62,7 +62,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { bool oled_task_user(void) { // Host Keyboard Layer Status oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _BASE: oled_write_P(PSTR("Default\n"), false); break; diff --git a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c index 56d4c47071..7b7d2bdce0 100644 --- a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c +++ b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c @@ -199,7 +199,7 @@ void matrix_scan_user(void) { if (!rgblight_config.enable || rgblight_config.mode != 1) { return; } - uint32_t layer = layer_state; + layer_state_t layer = layer_state; uint8_t val = rgblight_config.val; if (layer & (1<<_FL)) { diff --git a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c index 6ef428a11f..ab84e5c580 100644 --- a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c +++ b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c @@ -84,7 +84,7 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { const char *read_logo(void); bool oled_task_user(void){ - switch (biton32(layer_state)){ + switch (get_highest_layer(layer_state)){ case _DVORAK: oled_write_ln_P(PSTR("DVRK"), false); break; diff --git a/keyboards/crkbd/keymaps/edvorakjp/keymap.c b/keyboards/crkbd/keymaps/edvorakjp/keymap.c index 5e56da61a9..f3b801da68 100644 --- a/keyboards/crkbd/keymaps/edvorakjp/keymap.c +++ b/keyboards/crkbd/keymaps/edvorakjp/keymap.c @@ -54,9 +54,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // clang-format on #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT -uint32_t layer_state_set_keymap(uint32_t state) { +layer_state_t layer_state_set_keymap(layer_state_t state) { rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - switch (biton32(state)) { + switch (get_highest_layer(state)) { case L_EDVORAKJP_LOWER: rgblight_sethsv_noeeprom_red(); break; diff --git a/keyboards/crkbd/keymaps/edvorakjp/oled.c b/keyboards/crkbd/keymaps/edvorakjp/oled.c index e5ff029565..cd75f8e277 100644 --- a/keyboards/crkbd/keymaps/edvorakjp/oled.c +++ b/keyboards/crkbd/keymaps/edvorakjp/oled.c @@ -9,7 +9,7 @@ void render_layer_state(void) { char layer_name[17]; oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case L_EDVORAKJP_BASE: oled_write_ln_P(PSTR("Default"), false); break; diff --git a/keyboards/crkbd/keymaps/jarred/keymap.c b/keyboards/crkbd/keymaps/jarred/keymap.c index b938636c2a..3784eff2b8 100644 --- a/keyboards/crkbd/keymaps/jarred/keymap.c +++ b/keyboards/crkbd/keymaps/jarred/keymap.c @@ -84,7 +84,7 @@ const char *read_keylogs(void); char matrix_line_str[24]; const char *read_layer_state(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); strcpy(matrix_line_str, "Layer: "); diff --git a/keyboards/dichotomy/keymaps/default/keymap.c b/keyboards/dichotomy/keymaps/default/keymap.c index b8c7ef4274..80fc4d89bc 100755 --- a/keyboards/dichotomy/keymaps/default/keymap.c +++ b/keyboards/dichotomy/keymaps/default/keymap.c @@ -109,7 +109,7 @@ report_mouse_t currentReport = {}; bool process_record_user(uint16_t keycode, keyrecord_t *record) { //uint8_t layer; - //layer = biton32(layer_state); // get the current layer //Or don't, I didn't use it. + //layer = get_highest_layer(layer_state); // get the current layer //Or don't, I didn't use it. bool returnVal = true; //this is to determine if more key processing is needed. //custom layer handling for tri_layer, @@ -437,7 +437,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { }; void matrix_scan_user(void) { - //uint8_t layer = biton32(layer_state); + //uint8_t layer = get_highest_layer(layer_state); for (uint8_t i = 0; i= CUSTOM_LONGPRESS) && (!special_key_states[i]) && special_key_pressed[i]){ switch (i + SAFE_RANGE){ diff --git a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c index 6dcabb160e..e617d0dd5f 100644 --- a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c @@ -129,7 +129,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_laye // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _LOWER: diff --git a/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c b/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c index a9e811f9a4..d3956ce3f0 100644 --- a/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c +++ b/keyboards/dz60/keymaps/iso_split-spacebar/keymap.c @@ -4,12 +4,12 @@ // thanks to atlacat, hailbreno, itsaferbie and weeheavy... // and special thanks to AGausmann and drashna for the layer-activated RGB underglow -// https://www.reddit.com/r/olkb/comments/6t1vdu/update_layeractivated_rgb_underglow/ +// https://www.reddit.com/r/olkb/comments/6t1vdu/update_layeractivated_rgb_underglow/ // https://github.com/AGausmann/qmk_firmware/blob/agausmann-v3.x/keyboards/nyquist/keymaps/agausmann/keymap.c #include QMK_KEYBOARD_H -/* +/* * Each layer gets a name for readability. * The underscores don't mean anything - you can * have a layer called STUFF or any other name. @@ -23,8 +23,8 @@ #define NL 2 // Numpad Layer #define RL 3 // RGB Layer -/* -* Let's give an easier name to the RGB modes +/* +* Let's give an easier name to the RGB modes * and assign the ones we want to the different layer * these will then be used by the function below * @@ -49,10 +49,10 @@ // #define RGB_RL_MODE rgblight_mode_noeeprom(22) //rgb mode for RL layer #define RGB_RL_LIGHT rgblight_sethsv_noeeprom_red() //rgb light for RL layer - + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - + /* Keymap BL: Base Layer (Default Layer) * * ,-----------------------------------------------------------. @@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_STA, RGB_BRE, RGB_RAI, RGB_SWI, _______, _______, RGB_SNA, RGB_KNI, RGB_GRA, RGB_XMS, _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(FL), _______, _______, _______, TO(BL), _______), - + }; @@ -175,25 +175,25 @@ void matrix_scan_user(void) { #ifdef RGBLIGHT_ENABLE static uint8_t old_layer = 1; - uint8_t new_layer = biton32(layer_state); + uint8_t new_layer = get_highest_layer(layer_state); if (old_layer != new_layer) { switch (new_layer) { case BL: RGB_BL_MODE; - RGB_BL_LIGHT; + RGB_BL_LIGHT; break; case FL: RGB_FL_MODE; - RGB_FL_LIGHT; + RGB_FL_LIGHT; break; case NL: - RGB_NL_MODE; - RGB_NL_LIGHT; + RGB_NL_MODE; + RGB_NL_LIGHT; break; case RL: - RGB_RL_MODE; - RGB_RL_LIGHT; + RGB_RL_MODE; + RGB_RL_LIGHT; break; } diff --git a/keyboards/dz60/keymaps/marianas/customLogic.c b/keyboards/dz60/keymaps/marianas/customLogic.c index f22bd882e9..03ba92fe92 100644 --- a/keyboards/dz60/keymaps/marianas/customLogic.c +++ b/keyboards/dz60/keymaps/marianas/customLogic.c @@ -11,7 +11,7 @@ static int16_t fnTimer = 0; layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) + switch (get_highest_layer(state)) { case QWERTY: rgblight_mode(9); diff --git a/keyboards/dz60/keymaps/xtonhasvim/keymap.c b/keyboards/dz60/keymaps/xtonhasvim/keymap.c index 9a482686d8..49bc20b576 100644 --- a/keyboards/dz60/keymaps/xtonhasvim/keymap.c +++ b/keyboards/dz60/keymaps/xtonhasvim/keymap.c @@ -73,7 +73,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { static uint32_t last_state = 0; if(last_state != state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _CMD: user_led_on(); break; @@ -85,5 +85,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { } return state; } - - diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c index a12358c8d9..287496e17f 100644 --- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c @@ -96,7 +96,7 @@ void rgb_matrix_indicators_user(void) uint8_t this_led = host_keyboard_leds(); if (!g_suspend_state && rgb_matrix_config.enable) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _NAV: if (this_led & (1 << USB_LED_NUM_LOCK)) { rgb_matrix_set_color(13, 0xFF, 0x00, 0x00); diff --git a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c index a7c6360568..6af35cf779 100644 --- a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c @@ -62,7 +62,7 @@ void rgb_matrix_indicators_user(void) uint8_t this_led = host_keyboard_leds(); if (!g_suspend_state && rgb_matrix_config.enable) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _LAYER1: rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; @@ -78,7 +78,7 @@ void rgb_matrix_indicators_user(void) rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _LAYER3: if (this_led & (1 << USB_LED_NUM_LOCK)) { rgb_matrix_set_color(13, 0xFF, 0x00, 0x00); diff --git a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c b/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c index c13fcc1d35..daef7b271d 100644 --- a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c @@ -37,7 +37,7 @@ void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { void rgb_matrix_indicators_user(void) { if (!g_suspend_state) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _QWERTY: rgb_matrix_layer_helper(0x00, 0x0F, 0xFF); break; @@ -46,7 +46,7 @@ void rgb_matrix_indicators_user(void) } } - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _FNM: rgb_matrix_set_color(0, 0x00, 0xFF, 0x00); rgb_matrix_set_color(1, 0x00, 0x00, 0x00); diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c index 8bd6069107..817c0fd2ff 100644 --- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c @@ -238,5 +238,5 @@ void rgb_matrix_indicators_user(void) { } // Show Selected Layer - rgb_matrix_set_color(layers_leds_map[biton32(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]); -} \ No newline at end of file + rgb_matrix_set_color(layers_leds_map[get_highest_layer(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]); +} diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c index c313f467e3..2ebbddcef7 100644 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c @@ -1,20 +1,20 @@ #include QMK_KEYBOARD_H /**************** SOME GLOBALS *********************/ - + bool onMac = false; bool isLeader = false; bool isBlinking = false; bool isRecording = false; bool isPlaying = false; -const float led_dim_ratio = 0.50; -static uint16_t blink_cycle_timer, - blink_fade_in_timer, - blink_fade_out_timer, +const float led_dim_ratio = 0.50; +static uint16_t blink_cycle_timer, + blink_fade_in_timer, + blink_fade_out_timer, macro_one_play_timer, macro_two_play_timer, macro_play_blink_timer = 2000; -static uint8_t fade_in_step_counter, +static uint8_t fade_in_step_counter, fade_out_step_counter, blink_hsv_value; @@ -26,13 +26,13 @@ Function to set color with hsv arguments - "val_ratio" is used to adjust brightness ratio */ void rgb_matrix_set_color_hsv(uint8_t led, uint16_t hue, uint16_t sat, uint16_t val, float val_ratio) { - const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h; + const uint8_t h = hue <= 255 ? hue : rgb_matrix_config.hsv.h; const uint8_t s = sat <= 255 ? sat : rgb_matrix_config.hsv.s; const uint8_t v = val <= 255 ? val * val_ratio : rgb_matrix_config.hsv.v * val_ratio; HSV hsv_in = {h, s, v}; RGB rgb_out = hsv_to_rgb(hsv_in); rgb_matrix_set_color(led, rgb_out.r, rgb_out.g, rgb_out.b); -} +} void reset_blink_cycle(void) { blink_cycle_timer = timer_read(); @@ -110,31 +110,31 @@ const layers_leds_map[] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MAIN] = LAYOUT_65_ansi( - KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_LEAD, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_LEAD, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_MAC] = LAYOUT_65_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LALT, KC_LGUI, KC_TRNS, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [_FN] = LAYOUT_65_ansi( - DYN_REC_STOP, 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_NO, KC_NO, - KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2, - KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1, - KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO, + DYN_REC_STOP, 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_NO, KC_NO, + KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2, + KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1, + KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD ), -}; +}; //**************** MATRIX SCANS *********************// -void rgb_matrix_indicators_user(void) { +void rgb_matrix_indicators_user(void) { #ifdef RGB_MATRIX_ENABLE @@ -144,7 +144,7 @@ void rgb_matrix_indicators_user(void) { /* CapsLock LED indicator */ if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { rgb_matrix_set_color_hsv(30, 999, 0, led_constant_val, 0.75); // WHITE - } + } /* Current layer LED indicator */ rgb_matrix_set_color_hsv(layers_leds_map[get_highest_layer(layer_state)], 999, 0, led_constant_val, led_dim_ratio); // WHITE @@ -155,7 +155,7 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color_hsv(30, 999, 999, 999, 1); // CONFIG } else { rgb_matrix_set_color_hsv(14, 999, 999, 999, led_dim_ratio); // CONFIG - } + } /* Blinking LED indicator when recording Dynamic Macro */ if (isRecording && isBlinking) { @@ -174,7 +174,7 @@ void rgb_matrix_indicators_user(void) { } } - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _FN: /* Dynamic Macro LED indicator */ if (isRecording) { @@ -188,12 +188,12 @@ void rgb_matrix_indicators_user(void) { /* Layer LED indicators */ rgb_matrix_set_color_hsv(45, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAIN */ rgb_matrix_set_color_hsv(46, 999, 0, led_constant_val, led_dim_ratio); /* WHITE Layer _MAC */ - break; + break; } #endif /* RGB_MATRIX */ } - + bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool pressed = record->event.pressed; if (pressed) { @@ -202,12 +202,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { onMac = true; break; case TO(_MAIN): - onMac = false; + onMac = false; break; } } return true; -} +} //**************** LEADER *********************// @@ -244,7 +244,7 @@ const uint8_t french_accent_index[3] = { [_ACUTE] = 2 }; -/* +/* This represent unicode decimal values Each index will be mapped to numpad keycode to out put the correct sequence All codes in this array should be of size 3 @@ -272,8 +272,8 @@ const uint8_t french_decimal_unicodes[5][3][2] = { /*[Letter][Accent][Case]*/ } },{ { - 140, // î - 206 // Î + 140, // î + 206 // Î } },{ { @@ -306,7 +306,7 @@ This is designed and work on an English language keyboard setting on both Window => accept french_letter and french_accent enum's as argument */ void send_french_accent(uint8_t letter, uint8_t accent) { - + bool isCaps; uint8_t decimal_unicode_in; uint8_t decimal_unicode_size = 3; @@ -330,7 +330,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) { }; /* - Function to tap the correct keycodes in sequence for the + Function to tap the correct keycodes in sequence for the "Windows Alt Code" requested, aka Decimal Unicodes */ void tap_win_alt_code(void) { @@ -341,7 +341,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) { tap_code(numpad_key_map[decimal_unicode_out[i]]); } } - + isCaps = IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? true : false; if (onMac) { @@ -372,7 +372,7 @@ void send_french_accent(uint8_t letter, uint8_t accent) { /*Couple functions used to output the same macro on two different sequences*/ -/* (|) */ +/* (|) */ void ldrkey_send_paranthesis_wrap_ini(void) { SEND_STRING("()" SS_TAP(X_LEFT)); } @@ -382,7 +382,7 @@ void ldrkey_send_paranthesis_wrap_word(void) { onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) "(" SS_LALT(SS_TAP(X_RIGHT)) ")") : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) "(" SS_LCTL(SS_TAP(X_RIGHT)) ")"); } -/* (selection) */ +/* (selection) */ void ldrkey_send_paranthesis_wrap_selection(void) { onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LGUI(SS_TAP(X_V)) SS_TAP(X_RIGHT)) : SEND_STRING(SS_LCTL(SS_TAP(X_X)) "()" SS_TAP(X_LEFT) SS_LCTL(SS_TAP(X_V)) SS_TAP(X_RIGHT)); } @@ -419,9 +419,9 @@ void ldrkey_send_curlybrace_wrap_selection(void) { LEADER_EXTERNS(); -void matrix_scan_user(void) +void matrix_scan_user(void) { - LEADER_DICTIONARY() + LEADER_DICTIONARY() { leading = false; leader_end(); @@ -476,49 +476,49 @@ void matrix_scan_user(void) tap_code(KC_CAPS); } /* ± => LdrKey > = > - */ - SEQ_TWO_KEYS(KC_EQL, KC_MINS) { - onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT)); + SEQ_TWO_KEYS(KC_EQL, KC_MINS) { + onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_EQL)))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P1) SS_UP(X_LALT)); } /* ≤ => LdrKey > - > = */ - SEQ_TWO_KEYS(KC_MINS, KC_EQL) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT)); + SEQ_TWO_KEYS(KC_MINS, KC_EQL) { + onMac ? SEND_STRING(SS_LALT(SS_TAP(X_COMM))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P3) SS_UP(X_LALT)); } /* ≥ => LdrKey > = > = */ - SEQ_TWO_KEYS(KC_EQL, KC_EQL) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT)); + SEQ_TWO_KEYS(KC_EQL, KC_EQL) { + onMac ? SEND_STRING(SS_LALT(SS_TAP(X_DOT))) : SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P2) SS_TAP(X_P4) SS_TAP(X_P2) SS_UP(X_LALT)); } /* <= => LdrKey > , > , */ - SEQ_TWO_KEYS(KC_COMM, KC_COMM) { - SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT)); + SEQ_TWO_KEYS(KC_COMM, KC_COMM) { + SEND_STRING(SS_LSFT(SS_TAP(X_COMM)) SS_TAP(X_SPC) SS_TAP(X_EQL) SS_TAP(X_LEFT) SS_TAP(X_BSPC) SS_TAP(X_RIGHT)); } /* => => LdrKey > . > . */ - SEQ_TWO_KEYS(KC_DOT, KC_DOT) { - SEND_STRING("=>"); + SEQ_TWO_KEYS(KC_DOT, KC_DOT) { + SEND_STRING("=>"); } /* ", " => LdrKey > " " */ - SEQ_ONE_KEY(KC_SPC) { - SEND_STRING(", "); + SEQ_ONE_KEY(KC_SPC) { + SEND_STRING(", "); } /* ". " => LdrKey > " " > " " */ - SEQ_TWO_KEYS(KC_SPC, KC_SPC) { - SEND_STRING(". "); + SEQ_TWO_KEYS(KC_SPC, KC_SPC) { + SEND_STRING(". "); } /* Backward delete current word (on cursor) */ - SEQ_TWO_KEYS(KC_BSPC, KC_BSPC) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); + SEQ_TWO_KEYS(KC_BSPC, KC_BSPC) { + onMac ? SEND_STRING(SS_LALT(SS_TAP(X_RIGHT)) SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_TAP(X_RIGHT)) SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); } /* Previous word delete */ - SEQ_ONE_KEY(KC_BSPC) { - onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); + SEQ_ONE_KEY(KC_BSPC) { + onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)) : SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_LEFT))) SS_TAP(X_BSPC)); } /* Forward delete current word (on cursor) */ - SEQ_TWO_KEYS(KC_DEL, KC_DEL) { + SEQ_TWO_KEYS(KC_DEL, KC_DEL) { - onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); + onMac ? SEND_STRING(SS_LALT(SS_TAP(X_LEFT)) SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)) : SEND_STRING(SS_LCTL(SS_TAP(X_LEFT)) SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); } /* Next word delete */ - SEQ_ONE_KEY(KC_DEL) { - onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); + SEQ_ONE_KEY(KC_DEL) { + onMac ? SEND_STRING(SS_LALT(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)): SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_RIGHT))) SS_TAP(X_DEL)); } /* ` => LdrKey > Escape */ SEQ_ONE_KEY(KC_GESC) { @@ -548,7 +548,7 @@ void matrix_scan_user(void) SEQ_ONE_KEY(KC_Q) { onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_Q))) : SEND_STRING(SS_LALT(SS_TAP(X_F4))); } - /* " => LdrKey > ' */ + /* " => LdrKey > ' */ SEQ_ONE_KEY(KC_QUOT) { SEND_STRING("\""); } @@ -657,48 +657,48 @@ void matrix_scan_user(void) ldrkey_send_curlybrace_wrap_selection(); } /* Select everything on this line before cursor => LdrKey > Left */ - SEQ_ONE_KEY(KC_LEFT) { + SEQ_ONE_KEY(KC_LEFT) { onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_LEFT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_HOME))); } /* Select everything on this line after cursor => LdrKey > Right */ - SEQ_ONE_KEY(KC_RIGHT) { + SEQ_ONE_KEY(KC_RIGHT) { onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_END))); } /* Select everything on this line before cursor and bring on previous line => LdrKey > Left > Left */ - SEQ_TWO_KEYS(KC_LEFT, KC_LEFT) { - onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END))); + SEQ_TWO_KEYS(KC_LEFT, KC_LEFT) { + onMac ? SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_LGUI(SS_TAP(X_RIGHT)))) : SEND_STRING(SS_LSFT(SS_TAP(X_UP) SS_TAP(X_END))); } /* Select everything on this line => LdrKey > Right > Left */ - SEQ_TWO_KEYS(KC_RIGHT, KC_LEFT) { - onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME))); + SEQ_TWO_KEYS(KC_RIGHT, KC_LEFT) { + onMac ? SEND_STRING(SS_LGUI(SS_TAP(X_RIGHT) SS_LSFT(SS_LGUI(SS_TAP(X_LEFT))))) : SEND_STRING(SS_TAP(X_END) SS_LSFT(SS_TAP(X_HOME))); } /* Select 1x Page Up on the page before the cursor => LdrKey > Up */ - SEQ_ONE_KEY(KC_UP) { + SEQ_ONE_KEY(KC_UP) { SEND_STRING(SS_LSFT(SS_TAP(X_PGUP))); } /* Select 1x Page Down on the page after the cursor => LdrKey > Down */ - SEQ_ONE_KEY(KC_DOWN) { - SEND_STRING(SS_LSFT(SS_TAP(X_PGDN))); + SEQ_ONE_KEY(KC_DOWN) { + SEND_STRING(SS_LSFT(SS_TAP(X_PGDN))); } /* Select everything on the page before the cursor => LdrKey > Up > Up */ - SEQ_TWO_KEYS(KC_UP, KC_UP) { + SEQ_TWO_KEYS(KC_UP, KC_UP) { onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_UP)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_HOME)))); } /* Select everything on the page after the cursor => LdrKey > Down > Down */ - SEQ_TWO_KEYS(KC_DOWN, KC_DOWN) { + SEQ_TWO_KEYS(KC_DOWN, KC_DOWN) { onMac ? SEND_STRING(SS_LSFT(SS_LGUI(SS_TAP(X_DOWN)))) : SEND_STRING(SS_LSFT(SS_LCTL(SS_TAP(X_END)))); } /* HELPER => spit out the url of the layout description page on github */ - SEQ_FIVE_KEYS(KC_GESC, KC_GESC, KC_GESC, KC_GESC, KC_GESC) { + SEQ_FIVE_KEYS(KC_GESC, KC_GESC, KC_GESC, KC_GESC, KC_GESC) { SEND_STRING("https://github.com/qmk/qmk_firmware/tree/master/keyboards/dztech/dz65rgb/keymaps/drootz"); } /* google.ca => LdrKey > G > G */ - SEQ_TWO_KEYS(KC_G, KC_G) { - SEND_STRING("https://google.ca" SS_TAP(X_ENT)); + SEQ_TWO_KEYS(KC_G, KC_G) { + SEND_STRING("https://google.ca" SS_TAP(X_ENT)); } /* @gmail => LdrKey > M > L > T */ - SEQ_THREE_KEYS(KC_M, KC_L, KC_T) { - SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com"); + SEQ_THREE_KEYS(KC_M, KC_L, KC_T) { + SEND_STRING("mailto." SS_TAP(X_D) SS_TAP(X_A) SS_TAP(X_N) SS_TAP(X_I) SS_TAP(X_E) SS_TAP(X_L) SS_TAP(X_R) SS_TAP(X_A) SS_TAP(X_C) SS_TAP(X_I) SS_TAP(X_N) SS_TAP(X_E) "@gmail.com"); } /* Show Desktop => LdrKey > D */ SEQ_ONE_KEY(KC_D) { diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c index 00915a9b4f..0c7bfbbb48 100644 --- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c @@ -91,7 +91,7 @@ void rgb_matrix_indicators_user(void) uint8_t this_led = host_keyboard_leds(); if (!g_suspend_state && rgb_matrix_config.enable) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _NAV: if (IS_LED_ON(this_led, USB_LED_NUM_LOCK)) { rgb_matrix_set_color(17, 0xFF, 0x00, 0x00); diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c index a5b107baae..91798ab188 100755 --- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c +++ b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c @@ -190,7 +190,7 @@ static bool is_macro1_recording = false; // The current set of active layers (as a bitmask). // There is a global 'layer_state' variable but it is set after the call // to layer_state_set_user(). -static uint32_t current_layer_state = 0; +static layer_state_t current_layer_state = 0; layer_state_t layer_state_set_user(layer_state_t state); // Method called at the end of the tap dance on the TAP_MACRO key. That key is diff --git a/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c b/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c index 5c08d30727..67c50eb129 100644 --- a/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c +++ b/keyboards/ergodox_ez/keymaps/blakedietz/keymap.c @@ -200,7 +200,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); @@ -262,4 +262,3 @@ void matrix_scan_user(void) { // } // return true; //} - diff --git a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c index 229ece0d74..eff7f111b4 100644 --- a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c +++ b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c @@ -98,7 +98,7 @@ static bool is_macro1_recording = false; // The current set of active layers (as a bitmask). // There is a global 'layer_state' variable but it is set after the call // to layer_state_set_user(). -static uint32_t current_layer_state = 0; +static layer_state_t current_layer_state = 0; layer_state_t layer_state_set_user(layer_state_t state); // Method called at the end of the tap dance on the TAP_MACRO key. That key is diff --git a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c index 73b1077b83..3ab66078fe 100644 --- a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c +++ b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c @@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c index fab2977356..ff9ae77bdd 100644 --- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c +++ b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c @@ -725,7 +725,7 @@ void led_set_user(uint8_t usb_led) { void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_2_off(); diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c index fd022681b0..ed407def79 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c @@ -1,6 +1,6 @@ layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = biton32(state); + uint8_t layer = get_highest_layer(state); switch (layer) { case DVORAK: diff --git a/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c b/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c index b6edc17532..91884c8e76 100644 --- a/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c +++ b/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c @@ -370,7 +370,7 @@ LEADER_EXTERNS(); void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if (keyboard_report->mods & MOD_BIT(KC_LSFT) || ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && @@ -677,4 +677,4 @@ void matrix_init_user(void) wait_ms(1000); rgblight_effect_knight(50); -} \ No newline at end of file +} diff --git a/keyboards/ergodox_ez/keymaps/kou/keymap.c b/keyboards/ergodox_ez/keymaps/kou/keymap.c index c8d0a6b5dd..01427c2d2d 100644 --- a/keyboards/ergodox_ez/keymaps/kou/keymap.c +++ b/keyboards/ergodox_ez/keymaps/kou/keymap.c @@ -284,7 +284,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c index 5d797beb18..542e123db3 100644 --- a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c +++ b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c @@ -813,7 +813,7 @@ case RU_7: layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = biton32(state); + uint8_t layer = get_highest_layer(state); // ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/matrixman/keymap.c b/keyboards/ergodox_ez/keymaps/matrixman/keymap.c index 10b6567cdb..bb6ba5ae34 100644 --- a/keyboards/ergodox_ez/keymaps/matrixman/keymap.c +++ b/keyboards/ergodox_ez/keymaps/matrixman/keymap.c @@ -165,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c index e31391a674..a3c2176951 100644 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c +++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c @@ -218,7 +218,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = biton32(state); + uint8_t layer = get_highest_layer(state); ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); @@ -431,4 +431,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - diff --git a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c index 1d12093bab..ba578dd1c5 100644 --- a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c +++ b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c @@ -1057,7 +1057,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = biton32(state); + uint8_t layer = get_highest_layer(state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/profet_80/keymap.c b/keyboards/ergodox_ez/keymaps/profet_80/keymap.c index 85455fa9d9..6f602e828e 100644 --- a/keyboards/ergodox_ez/keymaps/profet_80/keymap.c +++ b/keyboards/ergodox_ez/keymaps/profet_80/keymap.c @@ -157,7 +157,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c b/keyboards/ergodox_ez/keymaps/pvinis/keymap.c index 024cefd270..c69621ab98 100644 --- a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c +++ b/keyboards/ergodox_ez/keymaps/pvinis/keymap.c @@ -245,11 +245,11 @@ void keyboard_post_init_user_keymap(void) { } // light up leds based on the layer -uint32_t layer_state_set_user_keymap(uint32_t state) { +layer_state_t layer_state_set_user_keymap(layer_state_t state) { ergodox_right_led_1_off(); ergodox_right_led_2_off(); ergodox_right_led_3_off(); - switch (biton32(state)) { + switch (get_highest_layer(state)) { case LR_SYSCTL: ergodox_right_led_3_on(); // blue break; @@ -306,7 +306,7 @@ uint32_t layer_state_set_user_keymap(uint32_t state) { // SYSCTL on first tap, MOUSE ON second tap // void layers_dance_finished(qk_tap_dance_state_t *state, void *user_data) { -// uint8_t layer = biton32(layer_state); +// uint8_t layer = get_highest_layer(layer_state); // switch(state->count) { // case 1: diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c index 3e607edb39..595f3b4ee1 100644 --- a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c +++ b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c @@ -228,7 +228,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { ergodox_right_led_1_off(); ergodox_right_led_2_off(); ergodox_right_led_3_off(); - switch (biton32(state)) { + switch (get_highest_layer(state)) { case SYMB: ergodox_right_led_1_on(); if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_red(); rgblight_mode_noeeprom(1); } @@ -268,4 +268,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { } return state; } - diff --git a/keyboards/ergodox_ez/keymaps/rishka/keymap.c b/keyboards/ergodox_ez/keymaps/rishka/keymap.c index 102803e512..0d6ac9fe95 100644 --- a/keyboards/ergodox_ez/keymaps/rishka/keymap.c +++ b/keyboards/ergodox_ez/keymaps/rishka/keymap.c @@ -138,7 +138,7 @@ void keyboard_post_init_user(void) { }; // Runs whenever there is a layer state change. -uint32_t layer_state_set_user(layer_state_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); diff --git a/keyboards/ergodox_ez/keymaps/skug/keymap.c b/keyboards/ergodox_ez/keymaps/skug/keymap.c index 1446ea7466..04aa6a99fd 100644 --- a/keyboards/ergodox_ez/keymaps/skug/keymap.c +++ b/keyboards/ergodox_ez/keymaps/skug/keymap.c @@ -228,7 +228,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/smurmann/keymap.c b/keyboards/ergodox_ez/keymaps/smurmann/keymap.c index 42ac13775f..c8ddc23a8b 100644 --- a/keyboards/ergodox_ez/keymaps/smurmann/keymap.c +++ b/keyboards/ergodox_ez/keymaps/smurmann/keymap.c @@ -139,7 +139,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if(layer == 1) { @@ -157,7 +157,7 @@ void matrix_scan_user(void) { } if(keyboard_report->mods & MOD_BIT(KC_LSFT)) - { + { ergodox_right_led_1_set (LED_BRIGHTNESS_HI); ergodox_right_led_1_on (); } else { @@ -182,7 +182,7 @@ void matrix_scan_user(void) { } if(keyboard_report->mods & MOD_BIT(KC_LCTRL)) - { + { ergodox_right_led_3_set (LED_BRIGHTNESS_HI); ergodox_right_led_3_on (); } else { @@ -195,7 +195,7 @@ void matrix_scan_user(void) { }; void led_set_user(uint8_t usb_led){ - if (usb_led & (1 << USB_LED_CAPS_LOCK)) + if (usb_led & (1 << USB_LED_CAPS_LOCK)) { capsOn = true; }else { diff --git a/keyboards/ergodox_ez/keymaps/steno/keymap.c b/keyboards/ergodox_ez/keymaps/steno/keymap.c index 080d3f6cef..96218bbe99 100644 --- a/keyboards/ergodox_ez/keymaps/steno/keymap.c +++ b/keyboards/ergodox_ez/keymaps/steno/keymap.c @@ -228,7 +228,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/testing/keymap.c b/keyboards/ergodox_ez/keymaps/testing/keymap.c index 5c1fc4af28..3aee63ddf1 100644 --- a/keyboards/ergodox_ez/keymaps/testing/keymap.c +++ b/keyboards/ergodox_ez/keymaps/testing/keymap.c @@ -62,7 +62,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/vim/keymap.c b/keyboards/ergodox_ez/keymaps/vim/keymap.c index 948f2b4794..c1c037ef23 100644 --- a/keyboards/ergodox_ez/keymaps/vim/keymap.c +++ b/keyboards/ergodox_ez/keymaps/vim/keymap.c @@ -330,7 +330,7 @@ void matrix_init_user(void) { }; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/util/compile_keymap.py b/keyboards/ergodox_ez/util/compile_keymap.py index b447ecaf5c..310512c920 100755 --- a/keyboards/ergodox_ez/util/compile_keymap.py +++ b/keyboards/ergodox_ez/util/compile_keymap.py @@ -27,29 +27,34 @@ PY2 = sys.version_info.major == 2 if PY2: chr = unichr - KEYBOARD_LAYOUTS = { # These map positions in the parsed layout to # positions in the KEYMAP MATRIX 'ergodox_ez': [ - [ 0, 1, 2, 3, 4, 5, 6], [38, 39, 40, 41, 42, 43, 44], - [ 7, 8, 9, 10, 11, 12, 13], [45, 46, 47, 48, 49, 50, 51], - [14, 15, 16, 17, 18, 19 ], [ 52, 53, 54, 55, 56, 57], - [20, 21, 22, 23, 24, 25, 26], [58, 59, 60, 61, 62, 63, 64], - [27, 28, 29, 30, 31 ], [ 65, 66, 67, 68, 69], - [ 32, 33], [70, 71 ], - [ 34], [72 ], - [ 35, 36, 37], [73, 74, 75 ], + [0, 1, 2, 3, 4, 5, 6], + [38, 39, 40, 41, 42, 43, 44], + [7, 8, 9, 10, 11, 12, 13], + [45, 46, 47, 48, 49, 50, 51], + [14, 15, 16, 17, 18, 19], + [52, 53, 54, 55, 56, 57], + [20, 21, 22, 23, 24, 25, 26], + [58, 59, 60, 61, 62, 63, 64], + [27, 28, 29, 30, 31], + [65, 66, 67, 68, 69], + [32, 33], + [70, 71], + [34], + [72], + [35, 36, 37], + [73, 74, 75], ] } -ROW_INDENTS = { - 'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0] -} +ROW_INDENTS = {'ergodox_ez': [0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 5, 0, 6, 0, 4, 0]} BLANK_LAYOUTS = [ -# Compact Layout -""" + # Compact Layout + """ .------------------------------------.------------------------------------. | | | | | | | | | | | | | | | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! @@ -70,8 +75,8 @@ BLANK_LAYOUTS = [ '-----------------' '-----------------' """, -# Wide Layout -""" + # Wide Layout + """ .---------------------------------------------. .---------------------------------------------. | | | | | | | | ! | | | | | | | !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------! @@ -93,26 +98,22 @@ BLANK_LAYOUTS = [ """, ] - DEFAULT_CONFIG = { - "keymaps_includes": [ - "keymap_common.h", - ], + "keymaps_includes": ["keymap_common.h",], 'filler': "-+.'!:x", 'separator': "|", 'default_key_prefix': ["KC_"], } - SECTIONS = [ 'layout_config', 'layers', ] - # Markdown Parsing -ONELINE_COMMENT_RE = re.compile(r""" +ONELINE_COMMENT_RE = re.compile( + r""" ^ # comment must be at the start of the line \s* # arbitrary whitespace // # start of the comment @@ -121,22 +122,26 @@ ONELINE_COMMENT_RE = re.compile(r""" """, re.MULTILINE | re.VERBOSE ) -INLINE_COMMENT_RE = re.compile(r""" +INLINE_COMMENT_RE = re.compile( + r""" ([\,\"\[\]\{\}\d]) # anythig that might end a expression \s+ # comment must be preceded by whitespace // # start of the comment \s # and succeded by whitespace (?:[^\"\]\}\{\[]*) # the comment (except things which might be json) $ # until the end of line -""", re.MULTILINE | re.VERBOSE) +""", re.MULTILINE | re.VERBOSE +) -TRAILING_COMMA_RE = re.compile(r""" +TRAILING_COMMA_RE = re.compile( + r""" , # the comma (?:\s*) # arbitrary whitespace $ # only works if the trailing comma is followed by newline (\s*) # arbitrary whitespace ([\]\}]) # end of an array or object -""", re.MULTILINE | re.VERBOSE) +""", re.MULTILINE | re.VERBOSE +) def loads(raw_data): @@ -178,9 +183,7 @@ def parse_config(path): def end_section(): if section['start_line'] >= 0: if section['name'] == 'layout_config': - config.update(loads("\n".join( - section['code_lines'] - ))) + config.update(loads("\n".join(section['code_lines']))) elif section['sub_name'].startswith('layer'): layer_name = section['sub_name'] config['layer_lines'][layer_name] = section['code_lines'] @@ -215,6 +218,7 @@ def parse_config(path): assert 'layout' in config return config + # header file parsing IF0_RE = re.compile(r""" @@ -224,7 +228,6 @@ IF0_RE = re.compile(r""" #endif """, re.MULTILINE | re.DOTALL | re.VERBOSE) - COMMENT_RE = re.compile(r""" /\* .*? @@ -244,6 +247,7 @@ def regex_partial(re_str_fmt, flags): def partial(*args, **kwargs): re_str = re_str_fmt.format(*args, **kwargs) return re.compile(re_str, flags) + return partial @@ -256,7 +260,6 @@ KEYDEF_REP = regex_partial(r""" ) # capture group end """, re.MULTILINE | re.DOTALL | re.VERBOSE) - ENUM_RE = re.compile(r""" ( enum @@ -268,7 +271,6 @@ ENUM_RE = re.compile(r""" ) # capture group end """, re.MULTILINE | re.DOTALL | re.VERBOSE) - ENUM_KEY_REP = regex_partial(r""" ( {} # the prefixes @@ -309,14 +311,13 @@ def parse_valid_keys(config, out_path): include_path = os.path.join(dirpath, include) if os.path.exists(include_path): header_data = read_header_file(include_path) - valid_keycodes.update( - parse_keydefs(config, header_data) - ) + valid_keycodes.update(parse_keydefs(config, header_data)) return valid_keycodes # Keymap Parsing + def iter_raw_codes(layer_lines, filler, separator): filler_re = re.compile("[" + filler + " ]") for line in layer_lines: @@ -346,28 +347,21 @@ LAYER_CHANGE_RE = re.compile(r""" (DF|TG|MO)\(\d+\) """, re.VERBOSE) - MACRO_RE = re.compile(r""" M\(\w+\) """, re.VERBOSE) - UNICODE_RE = re.compile(r""" U[0-9A-F]{4} """, re.VERBOSE) - NON_CODE = re.compile(r""" ^[^A-Z0-9_]$ """, re.VERBOSE) def parse_uni_code(raw_code): - macro_id = "UC_" + ( - unicodedata.name(raw_code) - .replace(" ", "_") - .replace("-", "_") - ) + macro_id = "UC_" + (unicodedata.name(raw_code).replace(" ", "_").replace("-", "_")) code = "M({})".format(macro_id) uc_hex = "{:04X}".format(ord(raw_code)) return code, macro_id, uc_hex @@ -407,19 +401,13 @@ def parse_code(raw_code, key_prefixes, valid_keycodes): def parse_keymap(config, key_indexes, layer_lines, valid_keycodes): keymap = {} - raw_codes = list(iter_raw_codes( - layer_lines, config['filler'], config['separator'] - )) + raw_codes = list(iter_raw_codes(layer_lines, config['filler'], config['separator'])) indexed_codes = iter_indexed_codes(raw_codes, key_indexes) key_prefixes = config['key_prefixes'] for raw_code, key_index, row_index in indexed_codes: - code, macro_id, uc_hex = parse_code( - raw_code, key_prefixes, valid_keycodes - ) + code, macro_id, uc_hex = parse_code(raw_code, key_prefixes, valid_keycodes) # TODO: line numbers for invalid codes - err_msg = "Could not parse key '{}' on row {}".format( - raw_code, row_index - ) + err_msg = "Could not parse key '{}' on row {}".format(raw_code, row_index) assert code is not None, err_msg # print(repr(raw_code), repr(code), macro_id, uc_hex) if macro_id: @@ -432,17 +420,14 @@ def parse_keymap(config, key_indexes, layer_lines, valid_keycodes): def parse_keymaps(config, valid_keycodes): keymaps = collections.OrderedDict() - key_indexes = config.get( - 'key_indexes', KEYBOARD_LAYOUTS[config['layout']] - ) + key_indexes = config.get('key_indexes', KEYBOARD_LAYOUTS[config['layout']]) # TODO: maybe validate key_indexes for layer_name, layer_lines, in config['layer_lines'].items(): - keymaps[layer_name] = parse_keymap( - config, key_indexes, layer_lines, valid_keycodes - ) + keymaps[layer_name] = parse_keymap(config, key_indexes, layer_lines, valid_keycodes) return keymaps + # keymap.c output USERCODE = """ @@ -453,7 +438,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); @@ -572,7 +557,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{ }}; """ - UNICODE_MACRO_TEMPLATE = """ case {macro_id}: unicode_action_function(0x{hi:02x}, 0x{lo:02x}); @@ -584,9 +568,7 @@ def unicode_macro_cases(config): for macro_id, uc_hex in config['unicode_macros'].items(): hi = int(uc_hex, 16) >> 8 lo = int(uc_hex, 16) & 0xFF - yield UNICODE_MACRO_TEMPLATE.format( - macro_id=macro_id, hi=hi, lo=lo - ) + yield UNICODE_MACRO_TEMPLATE.format(macro_id=macro_id, hi=hi, lo=lo) def iter_keymap_lines(keymap, row_indents=None): diff --git a/keyboards/ergoslab/keymaps/default/keymap.c b/keyboards/ergoslab/keymaps/default/keymap.c index 59415618a8..093d586eba 100644 --- a/keyboards/ergoslab/keymaps/default/keymap.c +++ b/keyboards/ergoslab/keymaps/default/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef RGBLIGHT_ENABLE layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = biton32(state); + uint8_t layer = get_highest_layer(state); switch (layer) { case BASE: rgblight_sethsv(HSV_ERGOSLAB_ORANGE); diff --git a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c index 156832de4e..898a294f7e 100644 --- a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c +++ b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c @@ -102,7 +102,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { edit = false; } - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _ADJUST: temp_config.mode = rgblight_get_mode(); rgblight_mode_noeeprom(1); diff --git a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c index 6987e84021..2793cffe93 100644 --- a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c +++ b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c @@ -121,7 +121,7 @@ layer_state_t layer_state_set_user(layer_state_t state) edit = false; } - switch (biton32(state)) + switch (get_highest_layer(state)) { case _ADJUST: mode = rgblight_get_mode(); diff --git a/keyboards/gboards/gergo/keymaps/colemak/keymap.c b/keyboards/gboards/gergo/keymaps/colemak/keymap.c index b2e79114f2..35b1e0b653 100644 --- a/keyboards/gboards/gergo/keymaps/colemak/keymap.c +++ b/keyboards/gboards/gergo/keymaps/colemak/keymap.c @@ -146,8 +146,8 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - //uint8_t layer = biton32(layer_state); - biton32(layer_state); + //uint8_t layer = get_highest_layer(layer_state); + get_highest_layer(layer_state); }; @@ -171,4 +171,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; }; - diff --git a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c index 964f40f1c0..ffb87ef009 100644 --- a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c +++ b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_scan_user(void) { - uint32_t layer = layer_state; + layer_state_t layer = layer_state; if (layer & (1<<1)) { gh60_fn_led_on(); @@ -120,4 +120,4 @@ void matrix_scan_user(void) { } else { gh60_esc_led_off(); } -}; \ No newline at end of file +}; diff --git a/keyboards/gh60/revc/keymaps/default/keymap.c b/keyboards/gh60/revc/keymaps/default/keymap.c index a8fd4f3c22..4ebc71ff4b 100644 --- a/keyboards/gh60/revc/keymaps/default/keymap.c +++ b/keyboards/gh60/revc/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_scan_user(void) { //Layer LED indicators - uint32_t layer = layer_state; + layer_state_t layer = layer_state; if (layer & (1<<1)) { gh60_wasd_leds_on(); diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c index b84e7564fc..77bf54de63 100644 --- a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c +++ b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c @@ -97,7 +97,7 @@ void matrix_scan_user(void) { // Layer LED indicators // ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster - uint32_t layer = layer_state; + layer_state_t layer = layer_state; if (layer & (1<<1)) { gh60_wasd_leds_on(); } else { diff --git a/keyboards/gh60/satan/keymaps/addcninblue/keymap.c b/keyboards/gh60/satan/keymaps/addcninblue/keymap.c index 5012fee56b..2b1a417fb5 100644 --- a/keyboards/gh60/satan/keymaps/addcninblue/keymap.c +++ b/keyboards/gh60/satan/keymaps/addcninblue/keymap.c @@ -177,7 +177,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if (old_layer != layer) { switch (layer) { diff --git a/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c index 51ab0e92cd..dd7e32f7dc 100644 --- a/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c +++ b/keyboards/glenpickle/chimera_ergo/keymaps/default/keymap.c @@ -131,7 +131,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { }; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _QWERTY: diff --git a/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c index 0affeef389..1ae70e6245 100644 --- a/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c +++ b/keyboards/glenpickle/chimera_ls/keymaps/default/keymap.c @@ -158,7 +158,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _QWERTY: diff --git a/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c b/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c index 6a676493dd..bc783f540c 100644 --- a/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c +++ b/keyboards/glenpickle/chimera_ortho/keymaps/default/keymap.c @@ -151,7 +151,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _QWERTY: diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c index c4294c812e..bda83bb5da 100644 --- a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c +++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c @@ -241,7 +241,7 @@ void matrix_scan_user(void) { } layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _BL: custom_backlight_level(0); break; diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c index 2d917b412e..11463a0162 100644 --- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c +++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c @@ -209,7 +209,7 @@ void press_underscore(void) { uint8_t old_layer=_BASE; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); frenchdev_led_1_off(); frenchdev_led_2_off(); diff --git a/keyboards/handwired/kbod/keymaps/default/keymap.c b/keyboards/handwired/kbod/keymaps/default/keymap.c index 333f8a769f..0ffc3e9d97 100644 --- a/keyboards/handwired/kbod/keymaps/default/keymap.c +++ b/keyboards/handwired/kbod/keymaps/default/keymap.c @@ -89,7 +89,7 @@ void matrix_init_user(void) { } void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if (layer) { PORTC |= _BV(PC7); } else { diff --git a/keyboards/handwired/prime_exl/keymaps/via/keymap.c b/keyboards/handwired/prime_exl/keymaps/via/keymap.c index 0e6802996d..b5b616d55b 100644 --- a/keyboards/handwired/prime_exl/keymaps/via/keymap.c +++ b/keyboards/handwired/prime_exl/keymaps/via/keymap.c @@ -87,7 +87,7 @@ void led_set_user(uint8_t usb_led) { //function for layer indicator LED layer_state_t layer_state_set_user(layer_state_t state) { - if (biton32(state) == 1) { + if (get_highest_layer(state) == 1) { writePinHigh(C6); } else { writePinLow(C6); diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c index 1903b2f9ba..77f83361e6 100644 --- a/keyboards/handwired/promethium/keymaps/default/keymap.c +++ b/keyboards/handwired/promethium/keymaps/default/keymap.c @@ -529,7 +529,7 @@ void led_reset(void) { } void led_set_default_layer_indicator(void) { - uint8_t default_layer = biton32(default_layer_state); + uint8_t default_layer = get_highest_layer(default_layer_state); if (default_layer == _QWERTY) { rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY); rgbsps_set(LED_IND_ALT, COLOR_BLANK); @@ -553,7 +553,7 @@ void led_set_layer_indicator(void) { rgbsps_set(LED_IND_GREEK, COLOR_BLANK); rgbsps_set(LED_IND_EMOJI, COLOR_BLANK); - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if (oldlayer == layer) { return; } @@ -1014,7 +1014,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { lshift = keyboard_report->mods & MOD_BIT(KC_LSFT); rshift = keyboard_report->mods & MOD_BIT(KC_RSFT); - layer = biton32(layer_state); + layer = get_highest_layer(layer_state); #ifdef DOUBLESPACE_LAYER_ENABLE // double-space: send space immediately if any other key depressed before space is released diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index 94b505aa2c..faa096ce08 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -532,7 +532,7 @@ void led_reset(void) { } void led_set_default_layer_indicator(void) { - uint8_t default_layer = biton32(default_layer_state); + uint8_t default_layer = get_highest_layer(default_layer_state); if (default_layer == _QWERTY) { rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY); rgbsps_set(LED_IND_ALT, COLOR_BLANK); @@ -556,7 +556,7 @@ void led_set_layer_indicator(void) { rgbsps_set(LED_IND_GREEK, COLOR_BLANK); rgbsps_set(LED_IND_EMOJI, COLOR_BLANK); - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if (oldlayer == layer) { return; } @@ -989,7 +989,7 @@ void process_doublespace(bool pressed, bool *isactive, bool *otheractive, bool * } #endif -uint32_t layer_state_set_kb(uint32_t state) +layer_state_t layer_state_set_kb(layer_state_t state) { // turn on punc layer if both fun & num are on if ((state & ((1UL<<_NUM) | (1UL<<_FUN))) == ((1UL<<_NUM) | (1UL<<_FUN))) { @@ -1017,7 +1017,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { lshift = keyboard_report->mods & MOD_BIT(KC_LSFT); rshift = keyboard_report->mods & MOD_BIT(KC_RSFT); - layer = biton32(layer_state); + layer = get_highest_layer(layer_state); #ifdef DOUBLESPACE_LAYER_ENABLE // double-space: send space immediately if any other key depressed before space is released diff --git a/keyboards/handwired/traveller/keymaps/default/keymap.c b/keyboards/handwired/traveller/keymaps/default/keymap.c index 288acbe108..2cd57db35f 100644 --- a/keyboards/handwired/traveller/keymaps/default/keymap.c +++ b/keyboards/handwired/traveller/keymaps/default/keymap.c @@ -219,7 +219,7 @@ void LayerLEDSet(uint8_t layr) { uint8_t old_layer = _QW; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if (old_layer != layer) { LayerLEDSet(layer); diff --git a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c index b618675295..50bbf232b5 100644 --- a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c +++ b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c @@ -9,7 +9,7 @@ void keyboard_pre_init_user(void) layer_state_t layer_state_set_user(layer_state_t state) { // Switch layer LED accordingly - switch (biton32(state)) { + switch (get_highest_layer(state)) { case 0: writePinHigh(B0); break; diff --git a/keyboards/helix/pico/keymaps/mtei/keymap.c b/keyboards/helix/pico/keymaps/mtei/keymap.c index b703ca376d..f641829292 100644 --- a/keyboards/helix/pico/keymaps/mtei/keymap.c +++ b/keyboards/helix/pico/keymaps/mtei/keymap.c @@ -242,7 +242,7 @@ float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); static int current_default_layer; -uint32_t default_layer_state_set_kb(uint32_t state) { +layer_state_t default_layer_state_set_kb(layer_state_t state) { // 1<<_QWERTY - 1 == 1 - 1 == _QWERTY (=0) // 1<<_COLEMAK - 1 == 2 - 1 == _COLEMAK (=1) current_default_layer = state - 1; diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c index ad5558869f..384356bd14 100644 --- a/keyboards/helix/rev2/keymaps/default/oled_display.c +++ b/keyboards/helix/rev2/keymaps/default/oled_display.c @@ -86,7 +86,7 @@ static void render_layer_status(void) { break; default: oled_write_P(PSTR("Undef-"), false); - snprintf(buf,sizeof(buf), "%ld", layer_state); + snprintf(buf,sizeof(buf), "%u", layer_state); oled_write(buf, false); } oled_write_P(PSTR("\n"), false); diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c index 5de00cb14c..80d0392ffb 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c +++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c @@ -5,9 +5,9 @@ // keymaps definitions are moved to keymap_Xrows.c. #ifdef RGBLIGHT_ENABLE -uint32_t layer_state_set_keymap(uint32_t state) { +layer_state_t layer_state_set_keymap(layer_state_t state) { rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - switch (biton32(state)) { + switch (get_highest_layer(state)) { case L_EDVORAKJP_LOWER: rgblight_sethsv_noeeprom_red(); break; diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c index 207aebc423..14e3e5533b 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c +++ b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c @@ -19,7 +19,7 @@ void render_layer_state(void) { char layer_name[17]; oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case L_EDVORAKJP_BASE: oled_write_ln_P(PSTR("Default"), false); break; diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c index d992425de7..4d9dc16a9e 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows/keymap.c @@ -379,8 +379,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { int current_default_layer; -uint32_t default_layer_state_set_user(uint32_t state) { - current_default_layer = biton32(state); +layer_state_t default_layer_state_set_user(layer_state_t state) { + current_default_layer = get_highest_layer(state); return state; } diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c index d992425de7..4d9dc16a9e 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c @@ -379,8 +379,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { int current_default_layer; -uint32_t default_layer_state_set_user(uint32_t state) { - current_default_layer = biton32(state); +layer_state_t default_layer_state_set_user(layer_state_t state) { + current_default_layer = get_highest_layer(state); return state; } diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c index d59438f6b3..d505d5171d 100644 --- a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c +++ b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c @@ -245,7 +245,7 @@ void matrix_scan_user(void) { } layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _BL: custom_backlight_level(0); rgblight_sethsv_noeeprom(180,100,255); diff --git a/keyboards/hotdox/keymaps/default/keymap.c b/keyboards/hotdox/keymaps/default/keymap.c index fe07e6f91d..eb4692a4c2 100644 --- a/keyboards/hotdox/keymaps/default/keymap.c +++ b/keyboards/hotdox/keymaps/default/keymap.c @@ -163,7 +163,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_right_led_1_off(); ergodox_right_led_2_off(); diff --git a/keyboards/hotdox/keymaps/eozaki/keymap.c b/keyboards/hotdox/keymaps/eozaki/keymap.c index 3516f20303..d4b8f491fd 100644 --- a/keyboards/hotdox/keymaps/eozaki/keymap.c +++ b/keyboards/hotdox/keymaps/eozaki/keymap.c @@ -170,7 +170,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/hotdox/keymaps/kloki/keymap.c b/keyboards/hotdox/keymaps/kloki/keymap.c index f858effd54..2550b68978 100644 --- a/keyboards/hotdox/keymaps/kloki/keymap.c +++ b/keyboards/hotdox/keymaps/kloki/keymap.c @@ -189,7 +189,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c index cd65001803..6f9967b46e 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c @@ -167,7 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c index c321d546fb..50e3238a7d 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/gordon/keymap.c @@ -335,7 +335,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_on(); ergodox_led_all_on(); diff --git a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c index 3870dd8ffd..c8498fe9e9 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/halfkeyboard/keymap.c @@ -492,7 +492,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c index 545429fca0..e941cee154 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/input_club/keymap.c @@ -223,7 +223,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c index dd721e9a78..184eb638c9 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/narze/keymap.c @@ -659,7 +659,7 @@ void matrix_setup(void) { } void matrix_scan_user(void) { - // uint8_t layer = biton32(layer_state); + // uint8_t layer = get_highest_layer(layer_state); // ergodox_board_led_off(); // ergodox_right_led_1_off(); diff --git a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c index d08b96cc6e..70f49bb5c9 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/nordic_ergo/keymap.c @@ -221,7 +221,7 @@ void matrix_init_user(void){ // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c index e31c1c5d6b..b202823c77 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/rask/keymap.c @@ -179,7 +179,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c index 31d218ebfb..c322222baf 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/rjhilgefort/keymap.c @@ -309,7 +309,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c index 02f409ad9e..bbc24ea27f 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/trulyergonomic/keymap.c @@ -137,7 +137,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c b/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c index 3c2e0d4da8..a19be6664c 100644 --- a/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c +++ b/keyboards/input_club/infinity60/keymaps/jpetermans/keymap.c @@ -239,7 +239,7 @@ void matrix_scan_user(void) { //Turn on layer indicator or page depending on mode switch(led_mode_global) { case MODE_FLASH: //flash preset page leds then single indicator - page = biton32(layer_state) > max_pages ? 7 : biton32(layer_state); + page = get_highest_layer(layer_state) > max_pages ? 7 : get_highest_layer(layer_state); msg=(page << 8) | DISPLAY_PAGE; chMBPost(&led_mailbox, msg, TIME_IMMEDIATE); chThdSleepMilliseconds(500); @@ -254,7 +254,7 @@ void matrix_scan_user(void) { break; case MODE_PAGE: //display pre-defined led page - page = biton32(layer_state) > max_pages ? 7 : biton32(layer_state); + page = get_highest_layer(layer_state) > max_pages ? 7 : get_highest_layer(layer_state); msg=(page << 8) | DISPLAY_PAGE; chMBPost(&led_mailbox, msg, TIME_IMMEDIATE); break; diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c index 7572b9e073..453cd2360d 100644 --- a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c +++ b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c @@ -224,7 +224,7 @@ void matrix_scan_user(void) { } layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _BL: custom_backlight_level(0); rgblight_sethsv_noeeprom(180,100,255); diff --git a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c index e86204a3e3..a592418c4d 100644 --- a/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c +++ b/keyboards/jones/v03_1/keymaps/default_ansi/keymap.c @@ -253,7 +253,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } if (index == 1) { /* Second encoder, Left side */ - switch(biton32(layer_state)) { + switch(get_highest_layer(layer_state)) { case _LOWER: if (clockwise) { rgblight_decrease_hue(); diff --git a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c index 9a2663f6d7..56f51d56ce 100644 --- a/keyboards/jones/v03_1/keymaps/default_jp/keymap.c +++ b/keyboards/jones/v03_1/keymaps/default_jp/keymap.c @@ -255,7 +255,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } if (index == 1) { /* Second encoder, Left side */ - switch(biton32(layer_state)) { + switch(get_highest_layer(layer_state)) { case _LOWER: if (clockwise) { rgblight_decrease_hue(); diff --git a/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c index 0f2a8dada1..92dfa7da6e 100644 --- a/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c +++ b/keyboards/kakunpc/angel64/alpha/keymaps/default/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef OLED_ENABLE bool oled_task_user(void) { oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case BASE: oled_write_P(PSTR("Default\n"), false); break; diff --git a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c index 6c5184c1b3..601bf5f02f 100644 --- a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c +++ b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/keymap.c @@ -175,7 +175,7 @@ void matrix_scan_user(void) { #ifdef OLED_ENABLE bool oled_task_user(void) { oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case BASE: oled_write_P(PSTR("Default\n"), false); break; diff --git a/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c index b682f0f15d..d937b68813 100644 --- a/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c +++ b/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef OLED_ENABLE bool oled_task_user(void) { oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case BASE: oled_write_P(PSTR("Default\n"), false); break; diff --git a/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c index b682f0f15d..d937b68813 100644 --- a/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c +++ b/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef OLED_ENABLE bool oled_task_user(void) { oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case BASE: oled_write_P(PSTR("Default\n"), false); break; diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c index 6bbbdd87c1..ce341509a6 100644 --- a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c +++ b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c @@ -38,7 +38,7 @@ void eeconfig_init_user(void) { #define DE_UDIA_CAP UC(0x00DC) layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case NM_MODE: rgblight_setrgb (0x00, 0x66, 0x00); break; @@ -187,4 +187,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______ ), }; - diff --git a/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c b/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c index 998f1a25d2..5a6d760355 100644 --- a/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c +++ b/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case WINDOWS_LAYER: rgblight_setrgb_blue(); break; diff --git a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c index 935dd5c506..8c03ae2df2 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/tobias/keymap.c @@ -8,7 +8,7 @@ * 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. + * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . @@ -103,8 +103,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_EQL, S(KC_EQL), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_E), KC_RBRC, RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS), KC_LSFT, KC_NUBS, RALT(KC_NUBS), S(KC_NUBS), DGRMCRO, XXXXXXX, XXXXXXX, RALT(KC_M), KC_RBRC, S(KC_RBRC), RALT(KC_RBRC), _______, _______, _______, KC_RALT, _______,TO(_ADJUST), _______, _______, _______, _______, _______, _______, TO(_QWERTY) -), - +), + /* Lower * ,-----------------------------------------------------------------------------------. @@ -257,10 +257,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } else { workmode = false; - return false; - } + return false; + } } - + } return true; } @@ -293,7 +293,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b) { layer_state_t layer_state_set_user(layer_state_t state) { // if(rgblight_get_mode() == 1) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _QWERTY: if(!workmode){ rgblight_mode(9); @@ -312,7 +312,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { tap_code(KC_NLCK); } rgbflag(0xFF, 0x00, 0x00); - + break; case _ADJUST: rgblight_mode(1); @@ -350,7 +350,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { rgblight_mode(1); if(bnumlock) { tap_code(KC_NLCK); - } + } rgbflag(0xFF, 0xFF, 0xFF); break; } @@ -363,8 +363,8 @@ layer_state_t layer_state_set_user(layer_state_t state) { //Layer LED indicators uint32_t layer = layer_state; - - + + if (layer & (1<<2)) { if(!bnumlock) { numlock_changed = true; @@ -373,10 +373,10 @@ layer_state_t layer_state_set_user(layer_state_t state) { bnumlock = true; } } -} +} */ - - + + void led_set_user(uint8_t usb_led) { if (usb_led & (1 << USB_LED_NUM_LOCK)) { @@ -410,4 +410,4 @@ void led_set_user(uint8_t usb_led) { } -} \ No newline at end of file +} diff --git a/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c index bfda812738..d3c6102b16 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/xtonhasvim/keymap.c @@ -187,7 +187,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb void set_state_leds(void) { if (rgblight_get_mode() == 1) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _RAISE: rgbflag(C_BLU, C_GRN); break; diff --git a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c b/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c index a449c3ec3d..3b92657d4d 100644 --- a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c +++ b/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c @@ -64,7 +64,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { flight_mode = false; rcs_mode = false; - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _PANIC: panic_mode = true; // For use in encoder evaluation rgblight_sethsv_noeeprom(HSV_RED); diff --git a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c index 29531b9973..ad56226ac6 100644 --- a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c +++ b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c @@ -42,7 +42,7 @@ void matrix_post_init_user(void) { } layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _LIST: rgblight_sethsv_noeeprom(0,255,255); rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_SWIRL); @@ -87,6 +87,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } } - - - diff --git a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c index 0c0fc5a746..013d6c00a5 100644 --- a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c +++ b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c @@ -59,9 +59,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_init_keymap() {} #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT -uint32_t layer_state_set_keymap(uint32_t state) { +layer_state_t layer_state_set_keymap(layer_state_t state) { rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - switch (biton32(state)) { + switch (get_highest_layer(state)) { case L_EDVORAKJP_LOWER: rgblight_sethsv_noeeprom_red(); break; diff --git a/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c b/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c index e0c09638b2..bc04f9fbfd 100644 --- a/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c +++ b/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[0] = LAYOUT(KC_GE #ifdef ENCODER_ENABLE bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _LOWER: clockwise ? tap_code(KC_MS_WH_UP) : tap_code(KC_MS_WH_DOWN); break; @@ -23,7 +23,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { break; } } else if (index == 1) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _LOWER: clockwise ? tap_code(KC_UP) : tap_code(KC_DOWN); break; diff --git a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c index 19a939a55b..d3e0d680a1 100644 --- a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c +++ b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c @@ -134,7 +134,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } // tmux screen else if (index == 1) { - switch(biton32(layer_state)){ + switch(get_highest_layer(layer_state)){ case 0: if (clockwise) { send_string(SS_LCTL("B")"p"); @@ -182,4 +182,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { rgblight_set_layer_state(2, layer_state_cmp(state, 4)); return state; } - diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c b/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c index d9edfebaa0..6de2279be4 100644 --- a/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c +++ b/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c @@ -91,7 +91,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { #ifdef RGBLIGHT_ENABLE layer_state_set_rgb(state); #endif - uint8_t layer = biton32(state); + uint8_t layer = get_highest_layer(state); combo_enable(); // by default, enable combos. switch (layer) { case 0: diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c index de3a5342c0..3695731353 100644 --- a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c +++ b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.c @@ -45,7 +45,7 @@ void matrix_scan_rgb(void) { } void set_rgb_indicators(uint8_t this_mod, uint8_t this_osm) { - if (biton32(layer_state) == _QWERTY) { + if (get_highest_layer(layer_state) == _QWERTY) { if ((this_mod | this_osm) & MOD_MASK_SHIFT) { rgblight_setrgb_gold_at(SHFT_LED1); } else { diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h index 254d3cbac0..8b14d8571d 100644 --- a/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h +++ b/keyboards/keebio/levinson/keymaps/issmirnov/rgb.h @@ -6,7 +6,7 @@ void keyboard_post_init_rgb(void); // If rgb enabled, set underglow for layer -uint32_t layer_state_set_rgb(uint32_t state); +layer_state_t layer_state_set_rgb(layer_state_t state); // Enhance matrix scan code. Note: keep this light, since it runs every 100ms void matrix_scan_rgb(void); diff --git a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c index 16aa965d7d..014e6c9c23 100644 --- a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c +++ b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c @@ -182,7 +182,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b, uint8_t rr, uint8_t gg, uint8_t bb void set_state_leds(void) { if (rgblight_get_mode() == 1) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _RAISE: rgbflag(C_BLU, C_GRN); break; diff --git a/keyboards/keebio/nyquist/keymaps/pitty/keymap.c b/keyboards/keebio/nyquist/keymaps/pitty/keymap.c index 31912bb63e..2016cd1c46 100644 --- a/keyboards/keebio/nyquist/keymaps/pitty/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/pitty/keymap.c @@ -143,7 +143,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { #ifdef RGBLIGHT_ENABLE uint8_t default_layer = eeconfig_read_default_layer(); if (rgb_layer_change) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _LOWER: rgblight_set_purple; rgblight_mode(5); diff --git a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c b/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c index a367e877fe..7d6f9da30e 100644 --- a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c +++ b/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c @@ -64,7 +64,7 @@ void keyboard_post_init_user(void) { } void update_led(void) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _BASE: rgblight_sethsv_noeeprom(HSV_BLUE); break; diff --git a/keyboards/keyhive/honeycomb/keymaps/default/keymap.c b/keyboards/keyhive/honeycomb/keymaps/default/keymap.c index d0a5961873..429624822e 100755 --- a/keyboards/keyhive/honeycomb/keymaps/default/keymap.c +++ b/keyboards/keyhive/honeycomb/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { report_mouse_t currentReport = {}; bool process_record_user(uint16_t keycode, keyrecord_t *record) { - //uint8_t layer = biton32(layer_state); // get the current layer + //uint8_t layer = get_highest_layer(layer_state); // get the current layer // Basic example functions switch (keycode) { diff --git a/keyboards/kinesis/keymaps/milestogo/keymap.c b/keyboards/kinesis/keymaps/milestogo/keymap.c index 8c01bcb83d..72687195ef 100644 --- a/keyboards/kinesis/keymaps/milestogo/keymap.c +++ b/keyboards/kinesis/keymaps/milestogo/keymap.c @@ -330,7 +330,7 @@ void matrix_init_user(void) { void matrix_scan_user(void) { #ifdef ALVICSTEP_CONFIG_H - int8_t layer = biton32(layer_state); + int8_t layer = get_highest_layer(layer_state); switch (layer) { case 1: diff --git a/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c b/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c index af56305e5c..84324c6e0d 100644 --- a/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c +++ b/keyboards/kprepublic/cospad/keymaps/detrus/keymap.c @@ -271,7 +271,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Makes sure to update the good tri-layer if a layer changes layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(default_layer_state)) { + switch (get_highest_layer(default_layer_state)) { case _QWERTY_LAYER: state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER); break; @@ -289,8 +289,8 @@ layer_state_t layer_state_set_user(layer_state_t state) { } // Makes the tri-layer -uint32_t default_layer_state_set_kb(uint32_t state) { - switch (biton32(state)) { +layer_state_t default_layer_state_set_kb(layer_state_t state) { + switch (get_highest_layer(state)) { case _QWERTY_LAYER: state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER); state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER); diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c b/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c index e257649369..c096aaea10 100644 --- a/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c +++ b/keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c @@ -42,7 +42,7 @@ void keyboard_post_init_user(void) { } layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _RAISE: rgblight_sethsv_noeeprom(170,255,255); rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); diff --git a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c b/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c index baedbb4dd2..af4c3c84bb 100644 --- a/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c +++ b/keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c @@ -42,7 +42,7 @@ void keyboard_post_init_user(void) { } layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _FUNC: rgblight_sethsv_noeeprom(170,255,255); rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); diff --git a/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c b/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c index 09854ee89c..3910756f81 100644 --- a/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c +++ b/keyboards/ktec/ergodone/keymaps/eozaki/keymap.c @@ -179,7 +179,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ktec/ergodone/keymaps/erovia/keymap.c b/keyboards/ktec/ergodone/keymaps/erovia/keymap.c index 279c8a57c1..502c0dafe6 100644 --- a/keyboards/ktec/ergodone/keymaps/erovia/keymap.c +++ b/keyboards/ktec/ergodone/keymaps/erovia/keymap.c @@ -204,7 +204,7 @@ void matrix_init_user(void) { layer_state_t layer_state_set_user(layer_state_t state) { ergodox_led_all_off(); - switch (biton32(state)) { + switch (get_highest_layer(state)) { case FN: // Red led on Pro Micro for Fn layer ergodox_board_led_on(); diff --git a/keyboards/ktec/ergodone/keymaps/kloki/keymap.c b/keyboards/ktec/ergodone/keymaps/kloki/keymap.c index 87e96d20fd..1347f8f501 100644 --- a/keyboards/ktec/ergodone/keymaps/kloki/keymap.c +++ b/keyboards/ktec/ergodone/keymaps/kloki/keymap.c @@ -198,7 +198,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ktec/ergodone/keymaps/vega/keymap.c b/keyboards/ktec/ergodone/keymaps/vega/keymap.c index ee6c56bf95..21db785345 100644 --- a/keyboards/ktec/ergodone/keymaps/vega/keymap.c +++ b/keyboards/ktec/ergodone/keymaps/vega/keymap.c @@ -534,7 +534,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/leeku/finger65/keymaps/madhatter/keymap.c b/keyboards/leeku/finger65/keymaps/madhatter/keymap.c index a69fe69153..f73b0371a1 100644 --- a/keyboards/leeku/finger65/keymaps/madhatter/keymap.c +++ b/keyboards/leeku/finger65/keymaps/madhatter/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // layer_state_t layer_state_set_user(layer_state_t state) { -// switch(biton32(state)) { +// switch(get_highest_layer(state)) { // case _FNMS: // led_off(); // rgb_on(); diff --git a/keyboards/lets_split/keymaps/bbaserdem/keymap.c b/keyboards/lets_split/keymaps/bbaserdem/keymap.c index f9eab059ef..296b3ccd23 100755 --- a/keyboards/lets_split/keymaps/bbaserdem/keymap.c +++ b/keyboards/lets_split/keymaps/bbaserdem/keymap.c @@ -13,7 +13,7 @@ void matrix_init_keymap (void) { } -uint32_t layer_state_set_keymap(uint32_t state) { +layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } diff --git a/keyboards/lets_split/keymaps/cpeters1982/keymap.c b/keyboards/lets_split/keymaps/cpeters1982/keymap.c index c4c26d56bc..27cd9db8b4 100644 --- a/keyboards/lets_split/keymaps/cpeters1982/keymap.c +++ b/keyboards/lets_split/keymaps/cpeters1982/keymap.c @@ -183,7 +183,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { #ifdef RGBLIGHT_ENABLE uint8_t default_layer = eeconfig_read_default_layer(); if (rgb_layer_change) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _RAISE: rgblight_set_orange; rgblight_mode(5); diff --git a/keyboards/lets_split/keymaps/geripgeri/keymap.c b/keyboards/lets_split/keymaps/geripgeri/keymap.c index 62e3570468..eb22a1509e 100644 --- a/keyboards/lets_split/keymaps/geripgeri/keymap.c +++ b/keyboards/lets_split/keymaps/geripgeri/keymap.c @@ -255,7 +255,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); writePin(B0, !(state & (1UL << (_NUMPAD)))); - switch(biton32(state)) { + switch(get_highest_layer(state)) { case _RAISE: rgblight_setrgb_at(255, 255, 255, RGBLED_NUM / 2); rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); diff --git a/keyboards/lets_split/keymaps/pitty/keymap.c b/keyboards/lets_split/keymaps/pitty/keymap.c index d723e0c026..8bc32a1eb7 100644 --- a/keyboards/lets_split/keymaps/pitty/keymap.c +++ b/keyboards/lets_split/keymaps/pitty/keymap.c @@ -128,7 +128,7 @@ void persistent_default_layer_set(uint16_t default_layer) { void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _NAV: if (RGB_INIT) {} else { diff --git a/keyboards/lily58/lib/layer_state_reader.c b/keyboards/lily58/lib/layer_state_reader.c index 0e9dd7039b..868d8e5cb4 100644 --- a/keyboards/lily58/lib/layer_state_reader.c +++ b/keyboards/lily58/lib/layer_state_reader.c @@ -28,7 +28,7 @@ const char *read_layer_state(void) { snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust"); break; default: - snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state); + snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%u", layer_state); } return layer_state_str; diff --git a/keyboards/m10a/keymaps/gam3cat/keymap.c b/keyboards/m10a/keymaps/gam3cat/keymap.c index f962246ef3..86231f8406 100644 --- a/keyboards/m10a/keymaps/gam3cat/keymap.c +++ b/keyboards/m10a/keymaps/gam3cat/keymap.c @@ -115,7 +115,7 @@ void matrix_scan_user(void) { } layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _L0: custom_backlight_level(0); break; diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c index 92e72bbf1c..73329c3114 100755 --- a/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c +++ b/keyboards/maple_computing/lets_split_eh/keymaps/bbaserdem/keymap.c @@ -5,7 +5,7 @@ void matrix_init_keymap (void) { } -uint32_t layer_state_set_keymap(uint32_t state) { +layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c b/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c index ba5b75a5cf..398a324a0f 100644 --- a/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c +++ b/keyboards/maple_computing/lets_split_eh/keymaps/romus/keymap.c @@ -5,8 +5,8 @@ void matrix_init_keymap (void) { } -uint32_t layer_state_set_keymap(uint32_t state) { - +layer_state_t layer_state_set_keymap(layer_state_t state) { + return state; } diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c index 218936a19b..689a9ce36e 100644 --- a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c +++ b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c @@ -87,7 +87,7 @@ void matrix_scan_user(void) { //change colors and rgb modes on layer change layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case raise: rgblight_mode_noeeprom(1); rgblight_setrgb(0xc7, 0x00, 0xf4); @@ -103,4 +103,3 @@ layer_state_t layer_state_set_user(layer_state_t state) { } return state; }; - diff --git a/keyboards/mechllama/g35/keymaps/default/keymap.c b/keyboards/mechllama/g35/keymaps/default/keymap.c index 4568f54f54..09d7afe171 100644 --- a/keyboards/mechllama/g35/keymaps/default/keymap.c +++ b/keyboards/mechllama/g35/keymaps/default/keymap.c @@ -67,7 +67,7 @@ const char* get_layer_name(uint8_t layer) { } bool oled_task_user(void) { - oled_write_ln_P(get_layer_name(biton32(layer_state)), false); + oled_write_ln_P(get_layer_name(get_highest_layer(layer_state)), false); return false; } #endif diff --git a/keyboards/mechlovin/hannah910/hannah910.c b/keyboards/mechlovin/hannah910/hannah910.c index 3237636be2..70c1a7b8e3 100644 --- a/keyboards/mechlovin/hannah910/hannah910.c +++ b/keyboards/mechlovin/hannah910/hannah910.c @@ -34,20 +34,20 @@ void led_set_kb(uint8_t usb_led) { layer_state_t layer_state_set_user(layer_state_t state) { // if on layer 1, turn on D2 LED, otherwise off. - if (biton32(state) == 1) { + if (get_highest_layer(state) == 1) { writePinHigh(D2); } else { writePinLow(D2); } // if on layer 2, turn on D1 LED, otherwise off. - if (biton32(state) == 2) { + if (get_highest_layer(state) == 2) { writePinHigh(D1); } else { writePinLow(D1); } // if on layer 3, turn on D0 LED, otherwise off. - if (biton32(state) == 3) { + if (get_highest_layer(state) == 3) { writePinHigh(D0); } else { writePinLow(D0); diff --git a/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c b/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c index 437233be52..e0634d85dc 100644 --- a/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c +++ b/keyboards/mechlovin/hex4b/keymaps/nazzer/keymap.c @@ -53,9 +53,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; bool led_update_user(led_t led_state) { - + // Toggle CAPS_LOCK LED normally - + # if LED_PIN_ON_STATE == 0 // invert the whole thing to avoid having to conditionally !led_state.x later led_state.raw = ~led_state.raw; @@ -69,30 +69,30 @@ bool led_update_user(led_t led_state) { } layer_state_t layer_state_set_user(layer_state_t state) { - - uint8_t layer = biton32(state); - + + uint8_t layer = get_highest_layer(state); + #if defined(LED_NUM_LOCK_PIN) && defined(LED_SCROLL_LOCK_PIN) switch (layer) { case 0: - writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE); - writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE); + writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE); + writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE); break; case 1: - writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE); - writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE); + writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE); + writePin(LED_NUM_LOCK_PIN, !LED_PIN_ON_STATE); break; case 2: - writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE); - writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE); + writePin(LED_SCROLL_LOCK_PIN, !LED_PIN_ON_STATE); + writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE); break; case 3: - writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE); - writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE); + writePin(LED_SCROLL_LOCK_PIN, LED_PIN_ON_STATE); + writePin(LED_NUM_LOCK_PIN, LED_PIN_ON_STATE); break; } #endif - return state; + return state; } diff --git a/keyboards/minimacro5/keymaps/devdev/keymap.c b/keyboards/minimacro5/keymaps/devdev/keymap.c index d7f998fa3a..3c203fcc37 100644 --- a/keyboards/minimacro5/keymaps/devdev/keymap.c +++ b/keyboards/minimacro5/keymaps/devdev/keymap.c @@ -37,7 +37,7 @@ enum tap_dances{ bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder*/ - switch(biton32(layer_state)){ + switch(get_highest_layer(layer_state)){ case _MAIN: if (clockwise) { tap_code(KC_VOLU); diff --git a/keyboards/mitosis/keymaps/carvac_dv/keymap.c b/keyboards/mitosis/keymaps/carvac_dv/keymap.c index c67f2e387c..842556324f 100644 --- a/keyboards/mitosis/keymaps/carvac_dv/keymap.c +++ b/keyboards/mitosis/keymaps/carvac_dv/keymap.c @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _STD: @@ -121,4 +121,3 @@ void matrix_scan_user(void) { break; } }; - diff --git a/keyboards/mitosis/keymaps/datagrok/keymap.c b/keyboards/mitosis/keymaps/datagrok/keymap.c index 220c140af0..2611e1194c 100644 --- a/keyboards/mitosis/keymaps/datagrok/keymap.c +++ b/keyboards/mitosis/keymaps/datagrok/keymap.c @@ -102,7 +102,7 @@ const size_t defaultlayers_n = sizeof(defaultlayers) / sizeof(defaultlayers[0]); // New keycode KC_LAYO rotates between available default layers (for e.g., // selecting a base layout). Shift+KC_LAYO makes the current one persistent. bool process_record_layout(uint16_t keycode, keyrecord_t *record) { - uint32_t default_layer; + uint8_t default_layer; uint8_t i; #if defined(AUDIO_ENABLE) float saved_song[][2] = SONG(COIN_SOUND); @@ -121,7 +121,7 @@ bool process_record_layout(uint16_t keycode, keyrecord_t *record) { } else { // rotate default layer. // find the current default layer - default_layer = biton32(default_layer_state); + default_layer = get_highest_layer(default_layer_state); // find next valid default layer for (i = 1; i < defaultlayers_n; i++) { if (defaultlayers[(default_layer + i) % defaultlayers_n]) { diff --git a/keyboards/mitosis/keymaps/default/keymap.c b/keyboards/mitosis/keymaps/default/keymap.c index 6132ad6f78..27b2eb2525 100644 --- a/keyboards/mitosis/keymaps/default/keymap.c +++ b/keyboards/mitosis/keymaps/default/keymap.c @@ -77,7 +77,7 @@ static bool singular_key = false; bool process_record_user(uint16_t keycode, keyrecord_t *record) { uint8_t layer; - layer = biton32(layer_state); // get the current layer + layer = get_highest_layer(layer_state); // get the current layer //custom layer handling for tri_layer, switch (keycode) { @@ -174,7 +174,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { }; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _MALT: @@ -193,4 +193,3 @@ void matrix_scan_user(void) { break; } }; - diff --git a/keyboards/mitosis/keymaps/mjt/keymap.c b/keyboards/mitosis/keymaps/mjt/keymap.c index f00bf59556..0946e40b8e 100644 --- a/keyboards/mitosis/keymaps/mjt/keymap.c +++ b/keyboards/mitosis/keymaps/mjt/keymap.c @@ -181,7 +181,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; } uint8_t layer; - layer = biton32(layer_state); // get the current layer + layer = get_highest_layer(layer_state); // get the current layer //custom layer handling for tri_layer, switch (keycode) { @@ -310,7 +310,7 @@ void music_scale_user(void) #endif void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _QWERTY: diff --git a/keyboards/mitosis/keymaps/nzen/keymap.c b/keyboards/mitosis/keymaps/nzen/keymap.c index d9fd3641bc..c981441bc9 100644 --- a/keyboards/mitosis/keymaps/nzen/keymap.c +++ b/keyboards/mitosis/keymaps/nzen/keymap.c @@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _QWERTY: @@ -205,5 +205,3 @@ void matrix_scan_user(void) { void matrix_init_user(void) { set_unicode_input_mode(UC_LNX); // or UC_WINC }; - - diff --git a/keyboards/mschwingen/modelm/modelm.c b/keyboards/mschwingen/modelm/modelm.c index 7dcd4ac024..0ff58f4be3 100644 --- a/keyboards/mschwingen/modelm/modelm.c +++ b/keyboards/mschwingen/modelm/modelm.c @@ -163,8 +163,8 @@ void update_layer_leds(void) { static uint8_t old_layer = 255; static uint8_t old_default_layer = 255; - layer = biton32(layer_state); - default_layer = biton32(default_layer_state); + layer = get_highest_layer(layer_state); + default_layer = get_highest_layer(default_layer_state); if (isRecording && timer_elapsed(blink_cycle_timer) > 150) { blink_state = !blink_state; diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c index 78a17233e3..ddcd3f6642 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c @@ -95,9 +95,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { - tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 3)); + tap_code(dynamic_keymap_get_keycode(get_highest_layer(layer_state), 4, 3)); } else { - tap_code(dynamic_keymap_get_keycode(biton32(layer_state), 4, 4)); + tap_code(dynamic_keymap_get_keycode(get_highest_layer(layer_state), 4, 4)); } } return true; diff --git a/keyboards/pearl/keymaps/cijanzen/keymap.c b/keyboards/pearl/keymaps/cijanzen/keymap.c index 896e157fd6..5a3f1eb1cd 100644 --- a/keyboards/pearl/keymaps/cijanzen/keymap.c +++ b/keyboards/pearl/keymaps/cijanzen/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /** * Status LED layer indicators courtesy of jetpacktuxedo's firmware */ -uint32_t layer_state_set_kb(uint32_t state) +layer_state_t layer_state_set_kb(layer_state_t state) { if (state & (1<<1)) { // if we are on layer 1 PORTD |= (1 << PD0); // light num lock led diff --git a/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c b/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c index 759c6fdc7d..4fd35f63ce 100644 --- a/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c +++ b/keyboards/pearl/keymaps/jetpacktuxedo/keymap.c @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -uint32_t layer_state_set_kb(uint32_t state) { +layer_state_t layer_state_set_kb(layer_state_t state) { // if we are on layer 1 if (state & (1<<1)){ // light num lock led diff --git a/keyboards/pearl/keymaps/phil/keymap.c b/keyboards/pearl/keymaps/phil/keymap.c index 56326d423f..492c4cb0c5 100755 --- a/keyboards/pearl/keymaps/phil/keymap.c +++ b/keyboards/pearl/keymaps/phil/keymap.c @@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -uint32_t layer_state_set_kb(uint32_t state) { +layer_state_t layer_state_set_kb(layer_state_t state) { if (state & (1<event.pressed) { layer_on(_LOWER); - uint8_t default_layer = biton32(default_layer_state); + uint8_t default_layer = get_highest_layer(default_layer_state); if (default_layer == _QWERTY) { #ifdef BACKLIGHT_BREATHING breathing_enable(); @@ -151,7 +151,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_LOWER); - uint8_t default_layer = biton32(default_layer_state); + uint8_t default_layer = get_highest_layer(default_layer_state); if (default_layer == _QWERTY) { #ifdef BACKLIGHT_BREATHING breathing_self_disable(); @@ -164,7 +164,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case RAISE: if (record->event.pressed) { layer_on(_RAISE); - uint8_t default_layer = biton32(default_layer_state); + uint8_t default_layer = get_highest_layer(default_layer_state); if (default_layer == _QWERTY) { #ifdef BACKLIGHT_BREATHING breathing_enable(); @@ -173,7 +173,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { update_tri_layer(_LOWER, _RAISE, _ADJUST); } else { layer_off(_RAISE); - uint8_t default_layer = biton32(default_layer_state); + uint8_t default_layer = get_highest_layer(default_layer_state); if (default_layer == _QWERTY) { #ifdef BACKLIGHT_BREATHING breathing_self_disable(); diff --git a/keyboards/planck/keymaps/charlesrocket/keymap.c b/keyboards/planck/keymaps/charlesrocket/keymap.c index cec3f0186a..bfe61294af 100644 --- a/keyboards/planck/keymaps/charlesrocket/keymap.c +++ b/keyboards/planck/keymaps/charlesrocket/keymap.c @@ -101,7 +101,7 @@ void set_layer_color(int layer) { void rgb_matrix_indicators_user(void) { if (g_suspend_state || keyboard_config.disable_layer_led) { return; } - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case 0: set_layer_color(0); break; diff --git a/keyboards/planck/keymaps/grahampheath/keymap.c b/keyboards/planck/keymaps/grahampheath/keymap.c index babe67c442..eb5401eabd 100644 --- a/keyboards/planck/keymaps/grahampheath/keymap.c +++ b/keyboards/planck/keymaps/grahampheath/keymap.c @@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool has_layer_changed = true; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); static uint8_t old_layer = 0; if (old_layer != layer) { diff --git a/keyboards/planck/keymaps/oryx/keymap.c b/keyboards/planck/keymaps/oryx/keymap.c index 0368c98420..fae5a94713 100644 --- a/keyboards/planck/keymaps/oryx/keymap.c +++ b/keyboards/planck/keymaps/oryx/keymap.c @@ -94,7 +94,7 @@ void rgb_matrix_indicators_user(void) { if (keyboard_config.disable_layer_led) { return; } - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case 1: set_layer_color(0); break; diff --git a/keyboards/planck/keymaps/rootiest/keymap.c b/keyboards/planck/keymaps/rootiest/keymap.c index 857d7a9e21..c289c50e5b 100644 --- a/keyboards/planck/keymaps/rootiest/keymap.c +++ b/keyboards/planck/keymaps/rootiest/keymap.c @@ -502,7 +502,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { if (index == 0) { /* First encoder */ uint16_t held_keycode_timer = timer_read(); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case 0: // Base Layer if ((get_mods() & MOD_MASK_GUI)) { // GUI-ed if (clockwise) { diff --git a/keyboards/planck/keymaps/tom/keymap.c b/keyboards/planck/keymaps/tom/keymap.c index 66beaf33b7..d888fb7b05 100644 --- a/keyboards/planck/keymaps/tom/keymap.c +++ b/keyboards/planck/keymaps/tom/keymap.c @@ -228,7 +228,7 @@ bool music_mask_user(uint16_t keycode) { void rgb_matrix_indicators_user(void) { #ifdef RGB_MATRIX_ENABLE - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _RAISE: for (int i = 0; i < DRIVER_LED_TOTAL; i++) { if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { diff --git a/keyboards/planck/keymaps/tylerwince/keymap.c b/keyboards/planck/keymaps/tylerwince/keymap.c index 5cbc47b2fb..b4c0f9af52 100644 --- a/keyboards/planck/keymaps/tylerwince/keymap.c +++ b/keyboards/planck/keymaps/tylerwince/keymap.c @@ -168,7 +168,7 @@ void set_layer_color(int layer) { void rgb_matrix_indicators_user(void) { if (g_suspend_state || disable_layer_color) { return; } - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case 0: set_layer_color(0); break; @@ -276,7 +276,7 @@ bool music_mask_user(uint16_t keycode) { layer_state_t layer_state_set_user(layer_state_t state) { palClearPad(GPIOB, 8); palClearPad(GPIOB, 9); - uint8_t layer = biton32(state); + uint8_t layer = get_highest_layer(state); switch (layer) { case _LOWER: palSetPad(GPIOB, 9); diff --git a/keyboards/preonic/keymaps/dudeofawesome/keymap.c b/keyboards/preonic/keymaps/dudeofawesome/keymap.c index 2d2a252b23..812bf35a20 100644 --- a/keyboards/preonic/keymaps/dudeofawesome/keymap.c +++ b/keyboards/preonic/keymaps/dudeofawesome/keymap.c @@ -275,7 +275,7 @@ bool numpadActive = false; float tone_numpad_on[][2] = SONG(NUMPAD_ON_SOUND); void matrix_scan_user (void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _NUMPAD: diff --git a/keyboards/preonic/keymaps/senseored/keymap.c b/keyboards/preonic/keymaps/senseored/keymap.c index e152507835..0f896700e6 100644 --- a/keyboards/preonic/keymaps/senseored/keymap.c +++ b/keyboards/preonic/keymaps/senseored/keymap.c @@ -367,7 +367,7 @@ bool dip_switch_update_user(uint8_t index, bool active) { layer_state_t layer_state_set_user(layer_state_t state) { // if(rgblight_get_mode() == 1) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _QWERTY: if(bnumlock) { tap_code(KC_NLCK); diff --git a/keyboards/primekb/prime_e/keymaps/via/keymap.c b/keyboards/primekb/prime_e/keymaps/via/keymap.c index 195f845cc2..2d1d003d51 100644 --- a/keyboards/primekb/prime_e/keymaps/via/keymap.c +++ b/keyboards/primekb/prime_e/keymaps/via/keymap.c @@ -108,7 +108,7 @@ void led_set_user(uint8_t usb_led) { //function for layer indicator LED layer_state_t layer_state_set_user(layer_state_t state) { - if (biton32(state) == 1) { + if (get_highest_layer(state) == 1) { writePinHigh(B3); } else { writePinLow(B3); diff --git a/keyboards/redox_w/keymaps/italian/keymap.c b/keyboards/redox_w/keymaps/italian/keymap.c index e67742c6a1..b4c815e4f5 100644 --- a/keyboards/redox_w/keymaps/italian/keymap.c +++ b/keyboards/redox_w/keymaps/italian/keymap.c @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,IT_UGRV ,IT_SHSL , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - GUI_LESS,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , ALT_IACC, KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT + GUI_LESS,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , ALT_IACC, KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ), @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ _______ ,IT_PERC ,IT_CIRC ,IT_LPRN ,IT_RPRN ,IT_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX + _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ), @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX + XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ), @@ -95,14 +95,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ - XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX + XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ ) }; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _QWERTY: @@ -121,5 +121,3 @@ void matrix_scan_user(void) { break; } }; - - diff --git a/keyboards/redscarf_i/redscarf_i.c b/keyboards/redscarf_i/redscarf_i.c index a8a685b13b..039e20664d 100644 --- a/keyboards/redscarf_i/redscarf_i.c +++ b/keyboards/redscarf_i/redscarf_i.c @@ -36,7 +36,7 @@ bool led_update_kb(led_t led_state) { } layer_state_t layer_state_set_kb(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case 1: writePinHigh(F6); writePinLow(F5); diff --git a/keyboards/rgbkb/pan/keymaps/default/keymap.c b/keyboards/rgbkb/pan/keymaps/default/keymap.c index dbc127616a..dcafeec765 100644 --- a/keyboards/rgbkb/pan/keymaps/default/keymap.c +++ b/keyboards/rgbkb/pan/keymaps/default/keymap.c @@ -75,7 +75,7 @@ bool oled_task_user(void) { // Host Keyboard Layer Status oled_write_P(PSTR("RGBKB Pan\n"), false); oled_write_P(PSTR("Layer: "), false); - uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state); + uint8_t layer = get_highest_layer(layer_state|default_layer_state); switch (layer) { case _QWERTY: oled_write_P(PSTR("Default\n"), false); diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c index c82259f5ee..1ce18bc1ab 100644 --- a/keyboards/rgbkb/sol/keymaps/default/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c @@ -233,7 +233,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else #endif { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); uint16_t keycode = pgm_read_word(&encoders[layer][index][clockwise]); while (keycode == KC_TRANSPARENT && layer > 0) { @@ -325,7 +325,7 @@ static void render_status(void) { // Define layers here oled_write_P(PSTR("Layer"), false); - uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state); + uint8_t layer = get_highest_layer(layer_state|default_layer_state); switch (layer) { case _QWERTY: oled_write_P(PSTR("BASE "), false); diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c index bdcfbb1b93..bc0884c8e4 100644 --- a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c @@ -263,7 +263,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else #endif { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); uint16_t keycode = encoders[layer][index][clockwise]; while (keycode == KC_TRANSPARENT && layer > 0) { @@ -306,7 +306,7 @@ static void render_status(void) { // Define layers here oled_write_P(PSTR(" Layer-----"), false); - uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state); + uint8_t layer = layer_state ? get_highest_layer(layer_state) : get_highest_layer(default_layer_state); switch (layer) { case _DVORAK: oled_write_P(PSTR("DVRAK"), false); diff --git a/keyboards/rgbkb/zen/rev2/rev2.c b/keyboards/rgbkb/zen/rev2/rev2.c index 5461890272..70e5531673 100644 --- a/keyboards/rgbkb/zen/rev2/rev2.c +++ b/keyboards/rgbkb/zen/rev2/rev2.c @@ -37,7 +37,7 @@ void render_status(void) { // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below oled_set_cursor(0, 3); // Line 3 oled_write_P(PSTR("Layer"), false); // Line 4 - oled_write_P(layer_name_user(biton32(layer_state)), false); + oled_write_P(layer_name_user(get_highest_layer(layer_state)), false); // Host Keyboard LED Status uint8_t led_usb_state = host_keyboard_leds(); diff --git a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c index 48bd1a33f7..f4d5c82a71 100644 --- a/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c +++ b/keyboards/rgbkb/zygomorph/keymaps/default_oled/keymap.c @@ -198,7 +198,7 @@ static void render_status(void) { // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _QWERTY: oled_write_ln_P(PSTR("QWERTY"), false); break; diff --git a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c index 6c88b70bfe..1e96bd7fbc 100644 --- a/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c +++ b/keyboards/satt/comet46/keymaps/default-rgbled/keymap.c @@ -173,7 +173,7 @@ void matrix_init_user(void) { } void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); uint8_t default_layer = biton32(eeconfig_read_default_layer()); switch (layer) { case _LOWER: diff --git a/keyboards/satt/comet46/keymaps/default/keymap.c b/keyboards/satt/comet46/keymaps/default/keymap.c index cf2c911d4c..bccca0a091 100644 --- a/keyboards/satt/comet46/keymaps/default/keymap.c +++ b/keyboards/satt/comet46/keymaps/default/keymap.c @@ -176,8 +176,8 @@ void render_status(struct CharacterMatrix *matrix) { // Layer state char layer_str[22]; matrix_write(matrix, "Layer: "); - uint8_t layer = biton32(layer_state); - uint8_t default_layer = biton32(eeconfig_read_default_layer()); + uint8_t layer = get_highest_layer(layer_state); + uint8_t default_layer = get_highest_layer(eeconfig_read_default_layer()); switch (layer) { case _QWERTY: switch (default_layer) { diff --git a/keyboards/satt/comet46/keymaps/satt/keymap.c b/keyboards/satt/comet46/keymaps/satt/keymap.c index cdd094f747..54d1d791d7 100644 --- a/keyboards/satt/comet46/keymaps/satt/keymap.c +++ b/keyboards/satt/comet46/keymaps/satt/keymap.c @@ -165,7 +165,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _PSEUDO_US_LOWER: case _PSEUDO_US_RAISE: return update_tri_layer_state(state, _PSEUDO_US_RAISE, _PSEUDO_US_LOWER, _ADJUST); @@ -204,7 +204,7 @@ void render_status(struct CharacterMatrix *matrix) { // Layer state char layer_str[22]; matrix_write(matrix, "Layer: "); - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); uint8_t default_layer = biton32(eeconfig_read_default_layer()); switch (layer) { case _QWERTY: diff --git a/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c index af583a607f..f193c6e00c 100644 --- a/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c @@ -341,7 +341,7 @@ bool oled_task_user(void) { #ifdef ENCODER_ENABLE bool encoder_update_user(uint8_t index, bool clockwise) { - switch(biton32(layer_state)){ + switch(get_highest_layer(layer_state)){ case 1: if (clockwise) { tap_code16(C(KC_TAB)); diff --git a/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c index 813328aa0c..d0f2a1b6cd 100644 --- a/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c +++ b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c @@ -111,7 +111,7 @@ void oled_slash_separator(void){ void render_layout_state(void) { oled_write_P(PSTR("Layout: "), false); - switch (biton32(default_layer_state)) { + switch (get_highest_layer(default_layer_state)) { case _COLEMAK: oled_write_P(PSTR("Colemak"), false); break; diff --git a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c index 0a4f1887c3..3cd9df27fb 100644 --- a/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c @@ -311,7 +311,7 @@ bool oled_task_user(void) { #ifdef ENCODER_ENABLE bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case QWERTY: // History scrubbing. For Adobe products, hold shift while moving // backward to go forward instead. @@ -336,7 +336,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { break; } } else if (index == 1) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case QWERTY: // Scrolling with PageUp and PgDn. if (clockwise) { diff --git a/keyboards/splitography/keymaps/jeandeaual/keymap.c b/keyboards/splitography/keymaps/jeandeaual/keymap.c index 6679d835f2..87c4159443 100644 --- a/keyboards/splitography/keymaps/jeandeaual/keymap.c +++ b/keyboards/splitography/keymaps/jeandeaual/keymap.c @@ -225,7 +225,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { } return false; case KC_QUOT: - if ((base_layer != dvorak) || (biton32(layer_state) != _BLUE)) { + if ((base_layer != dvorak) || (get_highest_layer(layer_state) != _BLUE)) { break; } if (record->event.pressed) { diff --git a/keyboards/splitography/keymaps/multi/keymap.c b/keyboards/splitography/keymaps/multi/keymap.c index af1cc1a801..7d847e40b6 100644 --- a/keyboards/splitography/keymaps/multi/keymap.c +++ b/keyboards/splitography/keymaps/multi/keymap.c @@ -331,7 +331,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; case KC_QUOT: - if ((base_layer != dvorak) || (biton32(layer_state) != _BLUE)) { + if ((base_layer != dvorak) || (get_highest_layer(layer_state) != _BLUE)) { break; } if (record->event.pressed) { diff --git a/keyboards/tetris/keymaps/default/keymap.c b/keyboards/tetris/keymaps/default/keymap.c index 1b53ea80b9..9e2a96ffc3 100755 --- a/keyboards/tetris/keymaps/default/keymap.c +++ b/keyboards/tetris/keymaps/default/keymap.c @@ -37,7 +37,7 @@ void matrix_init_user(void) { } void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if (RGB_encoder_dir != 0) { if (timer_elapsed(RGB_encoder_timer) > 1400) { @@ -152,7 +152,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t * record) { bool encoder_update_user(uint8_t index, bool clockwise) { RGB_encoder_timer = timer_read(); RGB_encoder_timer2 = timer_read(); - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if (clockwise) { RGB_encoder_dir = 1; } else { diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c index b00cf80f5c..a6fa5ed722 100644 --- a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c +++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c @@ -147,7 +147,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; } uint8_t layer; - layer = biton32(layer_state); + layer = get_highest_layer(layer_state); switch (keycode) { case FPH_1 ... FPH_9: diff --git a/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c b/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c index 82a7e52808..8927a8ee0a 100644 --- a/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c +++ b/keyboards/v60_type_r/keymaps/xtonhasvim/keymap.c @@ -104,7 +104,7 @@ void rgbflag(uint8_t r, uint8_t g, uint8_t b) { } void set_state_leds(void) { - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _MOVE: rgbflag(C_BLU); break; @@ -192,4 +192,3 @@ void suspend_wakeup_init_user(void) backlight_set(backlight_config.level); rgblight_set(); } - diff --git a/keyboards/xiudi/xd60/keymaps/birkir/keymap.c b/keyboards/xiudi/xd60/keymaps/birkir/keymap.c index fe7cd60662..ab129332c9 100644 --- a/keyboards/xiudi/xd60/keymaps/birkir/keymap.c +++ b/keyboards/xiudi/xd60/keymaps/birkir/keymap.c @@ -47,7 +47,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { edit = false; } - switch (biton32(state)) { + switch (get_highest_layer(state)) { case 1: rgblight_mode(1); rgblight_setrgb(0xD3, 0x7F, 0xED); diff --git a/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c b/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c index 8e081c6731..d17fc2f35d 100644 --- a/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c +++ b/keyboards/xiudi/xd60/keymaps/kmontag42/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Loop void matrix_scan_user(void) { static uint8_t old_layer = 255; - uint8_t new_layer = biton32(layer_state); + uint8_t new_layer = get_highest_layer(layer_state); if (old_layer != new_layer) { switch (new_layer) { diff --git a/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c b/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c index 5f7337d68b..c278df1b21 100644 --- a/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c @@ -100,7 +100,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Runs whenever there is a layer state change. layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = biton32(state); + uint8_t layer = get_highest_layer(state); gp100_led_off(); gp103_led_off(); diff --git a/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c b/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c index 1b29686cff..a0295f2f45 100644 --- a/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c @@ -286,7 +286,7 @@ void matrix_init_user(void) { } layer_state_t layer_state_set_user(layer_state_t state) { - switch(biton32(state)) { + switch(get_highest_layer(state)) { case _QWERTY: rgblight_sethsv_white(); break; diff --git a/keyboards/xiudi/xd75/keymaps/kloki/keymap.c b/keyboards/xiudi/xd75/keymaps/kloki/keymap.c index a630019347..d25a16fbb6 100644 --- a/keyboards/xiudi/xd75/keymaps/kloki/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/kloki/keymap.c @@ -70,7 +70,7 @@ bool WINDOWN = false; bool SHIFTDOWN = false; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { case 0: diff --git a/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c b/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c index b7b98cd4c5..f48eb94214 100644 --- a/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c @@ -180,7 +180,7 @@ void matrix_init_user(void) { //Set a color based on the layer layer_state_t layer_state_set_user(layer_state_t state) { - switch(biton32(state)) { + switch(get_highest_layer(state)) { case _LYFK: rgblight_setrgb_user_LYFK(); break; diff --git a/layouts/community/ergodox/ab/keymap.c b/layouts/community/ergodox/ab/keymap.c index 001123e286..e85d5d528c 100644 --- a/layouts/community/ergodox/ab/keymap.c +++ b/layouts/community/ergodox/ab/keymap.c @@ -130,7 +130,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/absenth/keymap.c b/layouts/community/ergodox/absenth/keymap.c index d84b68f0ef..884167aa31 100644 --- a/layouts/community/ergodox/absenth/keymap.c +++ b/layouts/community/ergodox/absenth/keymap.c @@ -157,7 +157,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/adam/keymap.c b/layouts/community/ergodox/adam/keymap.c index 50270838aa..9dd611e03e 100644 --- a/layouts/community/ergodox/adam/keymap.c +++ b/layouts/community/ergodox/adam/keymap.c @@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { // TODO: Make this relevant to the ErgoDox EZ. diff --git a/layouts/community/ergodox/adnw_k_o_y/keymap.c b/layouts/community/ergodox/adnw_k_o_y/keymap.c index 589a9ea873..6aa309c2cc 100644 --- a/layouts/community/ergodox/adnw_k_o_y/keymap.c +++ b/layouts/community/ergodox/adnw_k_o_y/keymap.c @@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/alexjj/keymap.c b/layouts/community/ergodox/alexjj/keymap.c index 64e7c94433..c9adf7af63 100644 --- a/layouts/community/ergodox/alexjj/keymap.c +++ b/layouts/community/ergodox/alexjj/keymap.c @@ -206,7 +206,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/andrew_osx/keymap.c b/layouts/community/ergodox/andrew_osx/keymap.c index 990fea4f45..4f3f6ef0cb 100644 --- a/layouts/community/ergodox/andrew_osx/keymap.c +++ b/layouts/community/ergodox/andrew_osx/keymap.c @@ -141,7 +141,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/berfarah/keymap.c b/layouts/community/ergodox/berfarah/keymap.c index 164d026ef3..7dc09e7543 100644 --- a/layouts/community/ergodox/berfarah/keymap.c +++ b/layouts/community/ergodox/berfarah/keymap.c @@ -219,7 +219,7 @@ static inline void mod_layer_with_rgb(keyrecord_t *record, uint8_t layer) { bf_set_led(layer); } else { layer_off(layer); - uint8_t currentLayer = biton32(layer_state); + uint8_t currentLayer = get_highest_layer(layer_state); bf_set_led(currentLayer); }; }; @@ -266,7 +266,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_right_led_1_off(); ergodox_right_led_2_off(); diff --git a/layouts/community/ergodox/bryan/keymap.c b/layouts/community/ergodox/bryan/keymap.c index acae77d5fc..ab301e8922 100644 --- a/layouts/community/ergodox/bryan/keymap.c +++ b/layouts/community/ergodox/bryan/keymap.c @@ -200,7 +200,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/choromanski/keymap.c b/layouts/community/ergodox/choromanski/keymap.c index 8be3c7ea7e..933f13b25f 100644 --- a/layouts/community/ergodox/choromanski/keymap.c +++ b/layouts/community/ergodox/choromanski/keymap.c @@ -30,15 +30,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { OSL(3), TG(2), TO(5), TO(1), KC_CAPS, KC_LCTL, KC_LALT, KC_MUTE, - KC_BSPC, KC_DEL, KC_LGUI, + KC_BSPC, KC_DEL, KC_LGUI, - KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_RPRN, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, - KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_RBRC, KC_K, KC_M, KC_COMM, ALT_T(KC_DOT), CTL_T(KC_SLSH), KC_RSFT, - KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TG(4), - KC_RALT, KC_RCTL, - KC_WH_U, + KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TG(4), + KC_RALT, KC_RCTL, + KC_WH_U, KC_WH_D, KC_ENT, KC_SPC ), @@ -106,22 +106,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [2] = LAYOUT_ergodox( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS ), /* Keymap 3: Symbols @@ -147,9 +147,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [3] = LAYOUT_ergodox( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - KC_TRNS, KC_PIPE, KC_PLUS, KC_LABK, KC_RABK, KC_HASH, KC_TRNS, - KC_TRNS, KC_EXLM, KC_MINS, KC_EQL, KC_PERC, KC_AT, - KC_TRNS, KC_ASTR, KC_AMPR, KC_SLSH, KC_DLR, KC_CIRC, KC_TRNS, + KC_TRNS, KC_PIPE, KC_PLUS, KC_LABK, KC_RABK, KC_HASH, KC_TRNS, + KC_TRNS, KC_EXLM, KC_MINS, KC_EQL, KC_PERC, KC_AT, + KC_TRNS, KC_ASTR, KC_AMPR, KC_SLSH, KC_DLR, KC_CIRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -229,8 +229,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [5] = LAYOUT_ergodox( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MPLY, KC_LCTL, LALT(KC_TAB), TO(0), KC_LALT, KC_SPC, KC_MPRV, KC_MNXT, KC_VOLU, @@ -249,7 +249,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/colemak/keymap.c b/layouts/community/ergodox/colemak/keymap.c index 54b0c5834a..db2addd6d9 100644 --- a/layouts/community/ergodox/colemak/keymap.c +++ b/layouts/community/ergodox/colemak/keymap.c @@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/colemak_code_friendly/keymap.c b/layouts/community/ergodox/colemak_code_friendly/keymap.c index 936ddbc2a5..6350bd9ee2 100644 --- a/layouts/community/ergodox/colemak_code_friendly/keymap.c +++ b/layouts/community/ergodox/colemak_code_friendly/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LSFT, LCTL_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, RALT_T(KC_B), KC_LCBR, KC_LCTL, KC_LGUI, KC_LALT, KC_LBRC, KC_RBRC, - + KC_HOME, KC_END, KC_PSCR, MO(LAYER_LNUM), KC_ENT, KC_LGUI, @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_F8, KC_F7, KC_F6, KC_F5, M_IN_PRN, KC_TRNS, KC_F4, KC_F3, KC_F2, KC_F1, M_IN_BRC, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, - + KC_TRNS, KC_TRNS, DYN_REC_START1, KC_TRNS, KC_TRNS, DYN_MACRO_PLAY1, @@ -126,8 +126,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | } |------+------+------+------+------+--------| * | | F4 | F3 | F2 | F1 | [] | | | |K/RAlt| M | , |./Supe|/ RCtl| RShift | * '--------+------+------+------+------+-------------' '-------------+------+------+------+------+--------' - * | MUTE | VOLD | VOLU | | | | Left | Down | Up |Right | Del | - * '----------------------------------' '----------------------------------' + * | MUTE | VOLD | VOLU | | | | Left | Down | Up |Right | Del | + * '----------------------------------' '----------------------------------' * .-------------. .-------------. * | | | | Ins |ScrLck| * .------+------+------| |------+------+------. @@ -143,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_F8, KC_F7, KC_F6, KC_F5, M_IN_PRN, KC_TRNS, KC_F4, KC_F3, KC_F2, KC_F1, M_IN_BRC, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, - + KC_TRNS, KC_TRNS, DYN_REC_START1, KC_TRNS, KC_TRNS, DYN_MACRO_PLAY1, @@ -185,7 +185,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { S(KC_ESC), S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_D), KC_LSFT, S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), KC_LCBR, S(KC_LCTL), S(KC_LGUI), S(KC_LALT), S(KC_LBRC), S(KC_RBRC), - + S(KC_HOME), S(KC_END), S(KC_PSCR), KC_CAPS, S(KC_ENT), S(KC_LGUI), @@ -227,7 +227,7 @@ static bool process_record_dynamic_macro_wrapper(uint16_t keycode, keyrecord_t * } bool process_record_user(uint16_t keycode, keyrecord_t *record) { - + /* the purpose of the ..._wrapper is to detect START/ST0P keys to light the blue led during recording */ if (!process_record_dynamic_macro_wrapper(keycode, record)) { @@ -308,19 +308,19 @@ void matrix_init_user(void) { /* Runs constantly in the background, in a loop. */ void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); //led 1, RED, Caps-Lock ON //if (host_keyboard_leds() & (1<event.pressed) { return MACRO( T(P), T(U), T(B), T(L), T(I), T(C), T(SPACE),END); - } + } break; case MACRO_PRIVATE: if (record->event.pressed) { return MACRO( T(P), T(R), T(I), T(V), T(A), T(T), T(E), T(SPACE),END); - } + } break; case MACRO_STATIC: if (record->event.pressed) { return MACRO( T(S), T(T), T(A), T(T), T(I), T(C), T(SPACE), END); - } + } break; case MACRO_CONST: if (record->event.pressed) { return MACRO( T(C), T(O), T(N), T(S), T(T), T(SPACE), END); - } + } break; case MACRO_VOID: if (record->event.pressed) { return MACRO( T(V), T(O), T(I), T(D), T(SPACE), END); - } + } break; case MACRO_VAR: if (record->event.pressed) { return MACRO( T(V), T(A), T(R), T(SPACE), END); - } + } break; case MACRO_STRING: if (record->event.pressed) { return MACRO( T(S), T(T), T(R), T(I), T(N), T(G), T(SPACE), END); - } - break; + } + break; case MACRO_BOOL: if (record->event.pressed) { return MACRO( T(B), T(O), T(O), T(L), T(SPACE), END); - } - break; + } + break; case MACRO_INT: if (record->event.pressed) { return MACRO( T(I), T(N), T(T), T(SPACE), END); - } + } break; case MACRO_FLOAT: if (record->event.pressed) { return MACRO( T(F), T(L), T(O), T(A),T(T),T(SPACE), END); - } + } break; case MACRO_RETURN: if (record->event.pressed) { return MACRO( T(R), T(E), T(T), T(U),T(R),T(N), END); - } + } break; case MACRO_NULL: if (record->event.pressed) { return MACRO( T(N), T(U), T(L), T(L), END); - } + } case MACRO_BREAK: if (record->event.pressed) { return MACRO( T(B), T(R), T(E), T(A), T(K), T(SCOLON), END); - } + } break; case MACRO_TODO: if (record->event.pressed) { return MACRO( T(SLASH), T(SLASH), D(LSHIFT) ,T(T), T(O), T(D), T(O),U(LSHIFT), T(SPACE),END); - } + } break; case MACRO_NEW: if (record->event.pressed) { return MACRO( T(N), T(E), T(W), T(SPACE), END); - } + } break; case MACRO_PARENTHESE: if (record->event.pressed) { return MACRO( D(LSHIFT),T(9), T(0),U(LSHIFT), T(SCOLON), END); - } + } break; } return MACRO_NONE; @@ -213,7 +213,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/dave/keymap.c b/layouts/community/ergodox/dave/keymap.c index efa270c406..c54e50ba98 100644 --- a/layouts/community/ergodox/dave/keymap.c +++ b/layouts/community/ergodox/dave/keymap.c @@ -147,7 +147,7 @@ void matrix_scan_user(void) { */ static uint8_t leds[4]; uint8_t led; - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); diff --git a/layouts/community/ergodox/deadcyclo/keymap.c b/layouts/community/ergodox/deadcyclo/keymap.c index 345e25e03e..76f5279257 100644 --- a/layouts/community/ergodox/deadcyclo/keymap.c +++ b/layouts/community/ergodox/deadcyclo/keymap.c @@ -90,10 +90,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LALT, KC_RALT,KC_LEAD,LCTL(LSFT(KC_U)), LT(SYMB,KC_TILD), KC_PGUP, KC_INS, KC_PGDN, - KC_RBRC,KC_BSPC, KC_ENT + KC_RBRC,KC_BSPC, KC_ENT ), -/* Keymap 1: Symbol Layer LCTL(LSFT(KC_U)) - * +/* Keymap 1: Symbol Layer LCTL(LSFT(KC_U)) + * * ,--------------------------------------------------. ,--------------------------------------------------. * | | F1 | F2 | F3 | F4 | F5 | F6 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| @@ -192,7 +192,7 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, I3_RUN, KC_TRNS, KC_TRNS, * ,-------------. ,-------------. * | | | | ▒ | ▓ | * ,------|------|------| |------+------+------. - * | | | | | | | | + * | | | | | | | | * | | |------| |------| | | * | | | | | | | | * `--------------------' `--------------------' @@ -218,7 +218,7 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, I3_RUN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), -/* Keymap 4: Unicode 2 +/* Keymap 4: Unicode 2 * * ,--------------------------------------------------. ,--------------------------------------------------. * | | ¹ | ² | ³ | ⁴ | ⁵ | ⁶ | | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | ℃ | ™ | @@ -234,12 +234,12 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, I3_RUN, KC_TRNS, KC_TRNS, * ,-------------. ,-------------. * | | | | | | * ,------|------|------| |------+------+------. - * | | | | | | | | + * | | | | | | | | * | | |------| |------| | | * | | | | | | | | * `--------------------' `--------------------' */ -// Unicode 2 +// Unicode 2 [UNI2] = LAYOUT_ergodox( KC_TRNS, UC(0x00b9), UC(0x00b2), UC(0x00b3), UC(0x2074), UC(0x2075), UC(0x2076), KC_TRNS, UC(0x2081), UC(0x2082), UC(0x2083), UC(0x2084), UC(0x2085), UC(0x2086), @@ -346,7 +346,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/dragon788/keymap.c b/layouts/community/ergodox/dragon788/keymap.c index 956a592b6d..b32346a9df 100644 --- a/layouts/community/ergodox/dragon788/keymap.c +++ b/layouts/community/ergodox/dragon788/keymap.c @@ -183,7 +183,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/dvorak/keymap.c b/layouts/community/ergodox/dvorak/keymap.c index 68b575fd68..664d8055a4 100644 --- a/layouts/community/ergodox/dvorak/keymap.c +++ b/layouts/community/ergodox/dvorak/keymap.c @@ -138,7 +138,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/dvorak_emacs/keymap.c b/layouts/community/ergodox/dvorak_emacs/keymap.c index 6055fd770d..14c592f27f 100644 --- a/layouts/community/ergodox/dvorak_emacs/keymap.c +++ b/layouts/community/ergodox/dvorak_emacs/keymap.c @@ -120,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/dvorak_emacs_software/keymap.c b/layouts/community/ergodox/dvorak_emacs_software/keymap.c index 4f90f193c6..c2bc1ef8f2 100644 --- a/layouts/community/ergodox/dvorak_emacs_software/keymap.c +++ b/layouts/community/ergodox/dvorak_emacs_software/keymap.c @@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/dvorak_intl_squisher/keymap.c b/layouts/community/ergodox/dvorak_intl_squisher/keymap.c index 3ebbd2df09..2d3ec3806b 100644 --- a/layouts/community/ergodox/dvorak_intl_squisher/keymap.c +++ b/layouts/community/ergodox/dvorak_intl_squisher/keymap.c @@ -139,7 +139,7 @@ LAYOUT_ergodox( // layer 0 : default // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/dvorak_plover/keymap.c b/layouts/community/ergodox/dvorak_plover/keymap.c index 989aafb90a..51f7e61203 100644 --- a/layouts/community/ergodox/dvorak_plover/keymap.c +++ b/layouts/community/ergodox/dvorak_plover/keymap.c @@ -181,7 +181,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/dvorak_programmer/keymap.c b/layouts/community/ergodox/dvorak_programmer/keymap.c index 33115d21f3..a8acee119a 100644 --- a/layouts/community/ergodox/dvorak_programmer/keymap.c +++ b/layouts/community/ergodox/dvorak_programmer/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, MO(KEY_SEL), MO(BRACKETS), KC_A, KC_O, KC_E, KC_U, KC_I, MO(SHELL_NAV), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(KEY_NAV), - OSL(SHORTCUTS),OSM(MOD_LCTL), OSM(MOD_LALT),OSL(SYMBOL),MO(NUMBER), + OSL(SHORTCUTS),OSM(MOD_LCTL), OSM(MOD_LALT),OSL(SYMBOL),MO(NUMBER), // thumb cluster OSM(MOD_LSFT), RCTL(KC_S), RCTL(KC_DEL), @@ -62,10 +62,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_UP, KC_DOWN,KC_ENT, KC_SPC ), - - - + + + // shell navigation layer [SHELL_NAV] = LAYOUT_ergodox( // left hand @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS ), - + // key navigation layer [KEY_NAV] = LAYOUT_ergodox( // left hand @@ -177,7 +177,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, @@ -187,7 +187,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_PLUS, KC_AMPR, KC_ASTR, KC_GRAVE,KC_TILD, KC_TRNS, KC_MINS, KC_DLR, KC_PERC, KC_CIRC, KC_PIPE, KC_TRNS, KC_TRNS, KC_EQUAL,KC_EXLM, KC_AT, KC_HASH, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(SEMICOLON_NEWLINE), M(END_NEWLINE), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -198,7 +198,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,M(OPEN_CLOSE_CURLY), M(OPEN_CLOSE_PAREN),M(OPEN_CLOSE_BRACKET), KC_TRNS,KC_TRNS, KC_TRNS,KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, @@ -207,8 +207,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, M(OPEN_CLOSE_BRACKET),M(OPEN_CLOSE_PAREN),M(OPEN_CLOSE_CURLY),KC_TRNS,KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -219,7 +219,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, MEH(KC_F1), MEH(KC_F2), MEH(KC_F3), MEH(KC_F4), MEH(KC_F5), MEH(KC_F6), KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, MEH(KC_0),MEH(KC_1), MEH(KC_2), @@ -272,12 +272,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case MC_CUT_LINE: if (record->event.pressed) { return MACRO( T(HOME), D(LSFT), T(END), U(LSFT), D(LCTL), T(X), U(LCTL), END); - } + } break; case MC_PASTE_LINE: if (record->event.pressed) { return MACRO( T(END), T(ENTER), D(LCTL), T(V), U(LCTL), END); - } + } break; case MC_NEW_SEARCH_TAB: if (record->event.pressed) { @@ -287,17 +287,17 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case SCREEN_TAB_LEFT: if (record->event.pressed) { return MACRO( D(LCTL), T(A), U(LCTL), T(P), END); - } + } break; case SCREEN_TAB_RIGHT: if (record->event.pressed) { return MACRO( D(LCTL), T(A), U(LCTL), T(N), END); - } + } break; case SCREEN_NEW_TAB: if (record->event.pressed) { return MACRO( D(LCTL), T(A), U(LCTL), T(C), END); - } + } break; case SCREEN_COPY_MODE: if (record->event.pressed) { @@ -306,14 +306,14 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) break; case SCREEN_PASTE: if (record->event.pressed) { - return MACRO( D(LCTL), T(A), U(LCTL), T(RBRC), END); + return MACRO( D(LCTL), T(A), U(LCTL), T(RBRC), END); } - break; + break; case SWITCH_NDS: if (record->event.pressed) { return MACRO( D(LSFT), T(F11), U(LSFT), W(255), D(LALT), T(TAB), U(LALT), END); - } - break; + } + break; case OPEN_CLOSE_PAREN: if (record->event.pressed) { return MACRO( D(LSFT), T(9), T(0), U(LSFT), T(LEFT), END); @@ -323,39 +323,39 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) if (record->event.pressed) { return MACRO( T(LBRC), T(RBRC), T(LEFT), END); } - break; + break; case OPEN_CLOSE_CURLY: if (record->event.pressed) { return MACRO( D(LSFT), T(LBRC), T(RBRC), U(LSFT), T(LEFT), END); } - break; + break; case OPEN_CLOSE_SINGLE_QUOTE: if (record->event.pressed) { return MACRO( T(QUOT), T(QUOT), T(LEFT), END); } - break; + break; case OPEN_CLOSE_DOUBLE_QUOTE: if (record->event.pressed) { return MACRO( D(LSFT), T(QUOT), T(QUOT), U(LSFT), T(LEFT), END); } - break; + break; case SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND: if (record->event.pressed) { return MACRO( T(UP), T(HOME), D(LALT), T(D), U(LALT), END); } - break; + break; case SEMICOLON_NEWLINE: if (record->event.pressed) { return MACRO( T(END), T(SCLN), T(ENTER), END); - } + } break; case END_NEWLINE: if (record->event.pressed) { return MACRO( T(END), T(ENTER), END); - } - break; - - + } + break; + + } return MACRO_NONE; }; @@ -378,7 +378,7 @@ void led_set_user(uint8_t usb_led) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_2_off(); @@ -387,13 +387,13 @@ void matrix_scan_user(void) { case NUMBER: case SYMBOL: case BRACKETS: - //case SHELL_LAYER: + //case SHELL_LAYER: ergodox_right_led_2_on(); break; case KEY_NAV: case KEY_SEL: ergodox_right_led_3_on(); - break; + break; case SHORTCUTS: ergodox_right_led_2_on(); ergodox_right_led_3_on(); @@ -401,6 +401,6 @@ void matrix_scan_user(void) { default: // none break; - } + } return; }; diff --git a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c index a8a428a04b..2578547f17 100644 --- a/layouts/community/ergodox/dvorak_programmer_swe/keymap.c +++ b/layouts/community/ergodox/dvorak_programmer_swe/keymap.c @@ -306,7 +306,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/dvorak_spanish/keymap.c b/layouts/community/ergodox/dvorak_spanish/keymap.c index 98aa638a0f..805abb0b77 100644 --- a/layouts/community/ergodox/dvorak_spanish/keymap.c +++ b/layouts/community/ergodox/dvorak_spanish/keymap.c @@ -192,13 +192,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) if (record->event.pressed) { key_timer = timer_read(); register_code(KC_RSFT); - } else { + } else { unregister_code(KC_RSFT); - if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { - register_code(KC_RALT); - register_code(KC_BSLS); - unregister_code(KC_BSLS); - unregister_code(KC_RALT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_BSLS); + unregister_code(KC_BSLS); + unregister_code(KC_RALT); } } break; @@ -207,13 +207,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) if (record->event.pressed) { key_timer = timer_read(); register_code(KC_LALT); - } else { + } else { unregister_code(KC_LALT); - if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { - register_code(KC_RALT); - register_code(KC_LBRACKET); - unregister_code(KC_LBRACKET); - unregister_code(KC_RALT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_LBRACKET); + unregister_code(KC_LBRACKET); + unregister_code(KC_RALT); } } break; @@ -222,13 +222,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) if (record->event.pressed) { key_timer = timer_read(); register_code(KC_LALT); - } else { + } else { unregister_code(KC_LALT); - if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { - register_code(KC_RALT); - register_code(KC_RBRACKET); - unregister_code(KC_RBRACKET); - unregister_code(KC_RALT); + if (timer_elapsed(key_timer) < KEY_TAP_SLOW) { + register_code(KC_RALT); + register_code(KC_RBRACKET); + unregister_code(KC_RBRACKET); + unregister_code(KC_RALT); } } break; @@ -236,7 +236,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case CAPS: { if (record->event.pressed) { register_code(KC_CAPSLOCK); - } else { + } else { unregister_code(KC_CAPSLOCK); } break; @@ -253,7 +253,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); @@ -270,11 +270,10 @@ void matrix_scan_user(void) { // none break; } - + // Turn the caps lock led on if (host_keyboard_leds() & (1<= 0: if section['name'] == 'layout_config': - config.update(loads("\n".join( - section['code_lines'] - ))) + config.update(loads("\n".join(section['code_lines']))) elif section['sub_name'].startswith('layer'): layer_name = section['sub_name'] config['layer_lines'][layer_name] = section['code_lines'] @@ -215,6 +218,7 @@ def parse_config(path): assert 'layout' in config return config + # header file parsing IF0_RE = re.compile(r""" @@ -224,7 +228,6 @@ IF0_RE = re.compile(r""" #endif """, re.MULTILINE | re.DOTALL | re.VERBOSE) - COMMENT_RE = re.compile(r""" /\* .*? @@ -244,6 +247,7 @@ def regex_partial(re_str_fmt, flags): def partial(*args, **kwargs): re_str = re_str_fmt.format(*args, **kwargs) return re.compile(re_str, flags) + return partial @@ -256,7 +260,6 @@ KEYDEF_REP = regex_partial(r""" ) # capture group end """, re.MULTILINE | re.DOTALL | re.VERBOSE) - ENUM_RE = re.compile(r""" ( enum @@ -268,7 +271,6 @@ ENUM_RE = re.compile(r""" ) # capture group end """, re.MULTILINE | re.DOTALL | re.VERBOSE) - ENUM_KEY_REP = regex_partial(r""" ( {} # the prefixes @@ -309,14 +311,13 @@ def parse_valid_keys(config, out_path): include_path = os.path.join(dirpath, include) if os.path.exists(include_path): header_data = read_header_file(include_path) - valid_keycodes.update( - parse_keydefs(config, header_data) - ) + valid_keycodes.update(parse_keydefs(config, header_data)) return valid_keycodes # Keymap Parsing + def iter_raw_codes(layer_lines, filler, separator): filler_re = re.compile("[" + filler + " ]") for line in layer_lines: @@ -346,28 +347,21 @@ LAYER_CHANGE_RE = re.compile(r""" (DF|TG|MO)\(\d+\) """, re.VERBOSE) - MACRO_RE = re.compile(r""" M\(\w+\) """, re.VERBOSE) - UNICODE_RE = re.compile(r""" U[0-9A-F]{4} """, re.VERBOSE) - NON_CODE = re.compile(r""" ^[^A-Z0-9_]$ """, re.VERBOSE) def parse_uni_code(raw_code): - macro_id = "UC_" + ( - unicodedata.name(raw_code) - .replace(" ", "_") - .replace("-", "_") - ) + macro_id = "UC_" + (unicodedata.name(raw_code).replace(" ", "_").replace("-", "_")) code = "M({})".format(macro_id) uc_hex = "{:04X}".format(ord(raw_code)) return code, macro_id, uc_hex @@ -407,19 +401,13 @@ def parse_code(raw_code, key_prefixes, valid_keycodes): def parse_keymap(config, key_indexes, layer_lines, valid_keycodes): keymap = {} - raw_codes = list(iter_raw_codes( - layer_lines, config['filler'], config['separator'] - )) + raw_codes = list(iter_raw_codes(layer_lines, config['filler'], config['separator'])) indexed_codes = iter_indexed_codes(raw_codes, key_indexes) key_prefixes = config['key_prefixes'] for raw_code, key_index, row_index in indexed_codes: - code, macro_id, uc_hex = parse_code( - raw_code, key_prefixes, valid_keycodes - ) + code, macro_id, uc_hex = parse_code(raw_code, key_prefixes, valid_keycodes) # TODO: line numbers for invalid codes - err_msg = "Could not parse key '{}' on row {}".format( - raw_code, row_index - ) + err_msg = "Could not parse key '{}' on row {}".format(raw_code, row_index) assert code is not None, err_msg # print(repr(raw_code), repr(code), macro_id, uc_hex) if macro_id: @@ -432,17 +420,14 @@ def parse_keymap(config, key_indexes, layer_lines, valid_keycodes): def parse_keymaps(config, valid_keycodes): keymaps = collections.OrderedDict() - key_indexes = config.get( - 'key_indexes', KEYBOARD_LAYOUTS[config['layout']] - ) + key_indexes = config.get('key_indexes', KEYBOARD_LAYOUTS[config['layout']]) # TODO: maybe validate key_indexes for layer_name, layer_lines, in config['layer_lines'].items(): - keymaps[layer_name] = parse_keymap( - config, key_indexes, layer_lines, valid_keycodes - ) + keymaps[layer_name] = parse_keymap(config, key_indexes, layer_lines, valid_keycodes) return keymaps + # keymap.c output USERCODE = """ @@ -453,7 +438,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); @@ -572,7 +557,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {{ }}; """ - UNICODE_MACRO_TEMPLATE = """ case {macro_id}: unicode_action_function(0x{hi:02x}, 0x{lo:02x}); @@ -584,9 +568,7 @@ def unicode_macro_cases(config): for macro_id, uc_hex in config['unicode_macros'].items(): hi = int(uc_hex, 16) >> 8 lo = int(uc_hex, 16) & 0xFF - yield UNICODE_MACRO_TEMPLATE.format( - macro_id=macro_id, hi=hi, lo=lo - ) + yield UNICODE_MACRO_TEMPLATE.format(macro_id=macro_id, hi=hi, lo=lo) def iter_keymap_lines(keymap, row_indents=None): diff --git a/layouts/community/ergodox/german-manuneo/keymap.c b/layouts/community/ergodox/german-manuneo/keymap.c index 9b24df83db..b6217800c3 100644 --- a/layouts/community/ergodox/german-manuneo/keymap.c +++ b/layouts/community/ergodox/german-manuneo/keymap.c @@ -741,7 +741,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/german/keymap.c b/layouts/community/ergodox/german/keymap.c index 99dda5185c..150aaf3a73 100644 --- a/layouts/community/ergodox/german/keymap.c +++ b/layouts/community/ergodox/german/keymap.c @@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/haegin/keymap.c b/layouts/community/ergodox/haegin/keymap.c index c3c2afecb8..cf5db6333b 100644 --- a/layouts/community/ergodox/haegin/keymap.c +++ b/layouts/community/ergodox/haegin/keymap.c @@ -226,7 +226,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/ishigoya-jp/keymap.c b/layouts/community/ergodox/ishigoya-jp/keymap.c index e9d89d1bbc..8fe2b7e415 100644 --- a/layouts/community/ergodox/ishigoya-jp/keymap.c +++ b/layouts/community/ergodox/ishigoya-jp/keymap.c @@ -109,7 +109,7 @@ static uint16_t start; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * - * + * * ,----------------------------------------------------. ,--------------------------------------------------. * | En / 和 | | ^ | % | | |Selall| | Undo | | $ | @ | LT | UP | RT | * |----------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| @@ -129,9 +129,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | Num | | Esc | | | * `--------------------' `----------------------' * - * + * * tmux prefix set to C-b - * + * */ // If it accepts an argument (i.e, is a function), it doesn't need KC_. // Otherwise, it needs KC_* @@ -175,9 +175,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | shift| fn |------| |------| |kazari| * | | | Num | | | | | * `--------------------' `--------------------' - * - * - * + * + * + * */ [JP] = LAYOUT_ergodox( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -218,14 +218,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | |------| |------| | | * | | | | | | | | * `--------------------' `--------------------' - * - * - * + * + * + * */ [JPXON] = LAYOUT_ergodox( KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(JPXE), KC_NO, M(JPXKE), KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, M(JPXKA), KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, M(JPXKA), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, @@ -261,14 +261,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | |------| |------| | | * | | | | | | | | * `--------------------' `--------------------' - * - * - * + * + * + * */ [JPKAZARI] = LAYOUT_ergodox( KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(JPGO), M(JPZA), M(JPBE), M(JPGE), KC_NO, - KC_NO, M(JPDO), M(JPJI), M(JPGA), M(JPGI), M(JPZU), + KC_NO, M(JPDO), M(JPJI), M(JPGA), M(JPGI), M(JPZU), KC_NO, KC_NO, M(JPZO), M(JPBI), M(JPDI), KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, @@ -304,14 +304,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | |------| |------| | | * | | | | | | | | * `--------------------' `--------------------' - * - * - * + * + * + * */ [JPTOPROW] = LAYOUT_ergodox( KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_E, KC_MINS, M(JPRE), KC_NO, KC_NO, - KC_NO, M(JPRA), M(JPRI), M(JPNA), M(JPNO), M(JPMI), + KC_NO, M(JPRA), M(JPRI), M(JPNA), M(JPNO), M(JPMI), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, @@ -348,14 +348,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | |------| |------| | | * | | | | | | | | * `--------------------' `--------------------' - * - * - * + * + * + * */ [JPTRKZ] = LAYOUT_ergodox( KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(JPPE),KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(JPPI), KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, @@ -397,7 +397,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_NO, KC_NO, KC_NO, JP_DQUO, KC_RBRACKET, KC_BSPC, KC_SCLN, - KC_NO, KC_NO, KC_SLSH, JP_PLUS, LSFT(KC_RBRACKET), JP_RCBR, + KC_NO, KC_NO, KC_SLSH, JP_PLUS, LSFT(KC_RBRACKET), JP_RCBR, KC_NO, KC_NO, JP_ASTR, KC_MINS, LSFT(KC_8), LSFT(KC_9), JP_COLN, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_HASH, KC_NO, KC_NO, @@ -417,7 +417,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - + // MACRO only works in this function switch(id) { case 0: @@ -445,9 +445,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) } } break; - + // kana macros start here - + case JPVU: if (record->event.pressed) { return MACRO( I(1), T(V), T(U), END); @@ -641,7 +641,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case JPDI: if (record->event.pressed) { return MACRO( I(1), T(D), T(I), END); - } + } break; case JPZE: if (record->event.pressed) { @@ -838,9 +838,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) return MACRO( I(1), T(B), T(U), END); } break; - + // kana macros end here - + break; case SHIFT: if (record->event.pressed) { @@ -848,8 +848,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) if (layer_state == (1<event.pressed) { start = timer_read(); @@ -917,7 +917,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) break; */ } - return MACRO_NONE; + return MACRO_NONE; }; // Runs just one time when the keyboard initializes. @@ -927,15 +927,15 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - uint8_t deflayer = biton32(default_layer_state); + uint8_t layer = get_highest_layer(layer_state); + uint8_t deflayer = get_highest_layer(default_layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); ergodox_right_led_3_off(); - - + + switch (layer) { case 0: //none diff --git a/layouts/community/ergodox/issmirnov/keymap.c b/layouts/community/ergodox/issmirnov/keymap.c index b129148b08..2743a04e93 100644 --- a/layouts/community/ergodox/issmirnov/keymap.c +++ b/layouts/community/ergodox/issmirnov/keymap.c @@ -125,7 +125,7 @@ _______, _______, KC_LGUI // called by QMK during key processing before the actual key event is handled. Useful for macros. bool process_record_user(uint16_t keycode, keyrecord_t *record) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (keycode) { case TAP_TOG_LAYER: process_tap_tog(_SYMB,record); @@ -157,7 +157,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Runs constantly in the background, in a loop every 100ms or so. // Best used for LED status output triggered when user isn't actively typing. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); if (layer == 0) { // Set up LED indicators for stuck modifier keys. // https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/report.h#L118 @@ -202,7 +202,7 @@ void matrix_scan_user(void) { // only runs when when the layer is changed, good for updating LED's and clearing sticky state layer_state_t layer_state_set_user(layer_state_t state) { - uint8_t layer = biton32(state); + uint8_t layer = get_highest_layer(state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/italian/keymap.c b/layouts/community/ergodox/italian/keymap.c index 64dd51db67..3a81cc213b 100644 --- a/layouts/community/ergodox/italian/keymap.c +++ b/layouts/community/ergodox/italian/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TT(SYMB), KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, MT(MOD_LGUI,KC_NONUS_BSLASH),KC_PPLS, KC_PMNS,KC_PAST,MT(MOD_LCTL,KC_PSLS), KC_INS, KC_LGUI, KC_HOME, @@ -197,7 +197,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/j3rn/keymap.c b/layouts/community/ergodox/j3rn/keymap.c index 5081ddf527..8ff8db2381 100644 --- a/layouts/community/ergodox/j3rn/keymap.c +++ b/layouts/community/ergodox/j3rn/keymap.c @@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/jackhumbert/keymap.c b/layouts/community/ergodox/jackhumbert/keymap.c index 9d357881e2..b6d1b33e33 100644 --- a/layouts/community/ergodox/jackhumbert/keymap.c +++ b/layouts/community/ergodox/jackhumbert/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_P, KC_BSPC, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_SCLN, KC_QUOT, KC_NO, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_ENT, - MO(1), KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, + MO(1), KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, RGB_TOG, RGB_HUI, RGB_MOD, M(2), KC_SPC,KC_SPC @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS, KC_F12, KC_NO, KC_NO, KC_NO, RESET, KC_TRNS, - KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, + KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -51,9 +51,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MDIA] = LAYOUT_ergodox( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_F12, KC_NO, KC_NO, KC_NO, RESET, KC_TRNS, - KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, + KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -97,7 +97,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/jacobono/keymap.c b/layouts/community/ergodox/jacobono/keymap.c index e97209fc84..7c5b914872 100644 --- a/layouts/community/ergodox/jacobono/keymap.c +++ b/layouts/community/ergodox/jacobono/keymap.c @@ -227,7 +227,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/jafo/keymap.c b/layouts/community/ergodox/jafo/keymap.c index b8b8e63517..28c95d6540 100644 --- a/layouts/community/ergodox/jafo/keymap.c +++ b/layouts/community/ergodox/jafo/keymap.c @@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/jgarr/keymap.c b/layouts/community/ergodox/jgarr/keymap.c index ac4e562263..38eaa5fca0 100644 --- a/layouts/community/ergodox/jgarr/keymap.c +++ b/layouts/community/ergodox/jgarr/keymap.c @@ -138,7 +138,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/josh/keymap.c b/layouts/community/ergodox/josh/keymap.c index 07ee97ec82..3f9d8779e1 100644 --- a/layouts/community/ergodox/josh/keymap.c +++ b/layouts/community/ergodox/josh/keymap.c @@ -188,7 +188,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/kastyle/keymap.c b/layouts/community/ergodox/kastyle/keymap.c index c9789955b3..268080c7dc 100644 --- a/layouts/community/ergodox/kastyle/keymap.c +++ b/layouts/community/ergodox/kastyle/keymap.c @@ -1,5 +1,5 @@ /* Setup to approximate a Kinesis Advantage with an eye to use in a - * Mac/OSX environment + * Mac/OSX environment * This version adds a hand swap feature to flip the keyboard */ #include QMK_KEYBOARD_H #include "debug.h" @@ -143,7 +143,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/kejadlen/keymap.c b/layouts/community/ergodox/kejadlen/keymap.c index 6ce209f806..92a667dec0 100644 --- a/layouts/community/ergodox/kejadlen/keymap.c +++ b/layouts/community/ergodox/kejadlen/keymap.c @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/kines-ish/keymap.c b/layouts/community/ergodox/kines-ish/keymap.c index 2d1513667f..718bf6cee1 100644 --- a/layouts/community/ergodox/kines-ish/keymap.c +++ b/layouts/community/ergodox/kines-ish/keymap.c @@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/kristian/keymap.c b/layouts/community/ergodox/kristian/keymap.c index 3fdccb790a..3f84823b99 100644 --- a/layouts/community/ergodox/kristian/keymap.c +++ b/layouts/community/ergodox/kristian/keymap.c @@ -35,7 +35,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/maz/keymap.c b/layouts/community/ergodox/maz/keymap.c index 3244f2152d..4d313dee43 100644 --- a/layouts/community/ergodox/maz/keymap.c +++ b/layouts/community/ergodox/maz/keymap.c @@ -183,7 +183,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/mclennon_osx/keymap.c b/layouts/community/ergodox/mclennon_osx/keymap.c index 72e9d505a1..ae67d8fb40 100644 --- a/layouts/community/ergodox/mclennon_osx/keymap.c +++ b/layouts/community/ergodox/mclennon_osx/keymap.c @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/meagerfindings/keymap.c b/layouts/community/ergodox/meagerfindings/keymap.c index f4340b8e1b..c780c1a9fb 100644 --- a/layouts/community/ergodox/meagerfindings/keymap.c +++ b/layouts/community/ergodox/meagerfindings/keymap.c @@ -538,7 +538,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { }; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/msc/keymap.c b/layouts/community/ergodox/msc/keymap.c index 5d9de3239b..62d18798dd 100644 --- a/layouts/community/ergodox/msc/keymap.c +++ b/layouts/community/ergodox/msc/keymap.c @@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/naps62/keymap.c b/layouts/community/ergodox/naps62/keymap.c index 230b3376b2..fe6289097b 100644 --- a/layouts/community/ergodox/naps62/keymap.c +++ b/layouts/community/ergodox/naps62/keymap.c @@ -141,7 +141,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c b/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c index 7c91b3fbb0..7c57820c43 100644 --- a/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c +++ b/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c @@ -5,7 +5,7 @@ #define UM 0 #define L0 0 // layer_0 -#define L1 1 // layer_1 +#define L1 1 // layer_1 #define L2 2 // layer_2 #define L3 3 // layer_3 #define L4 4 // layer_4 @@ -344,7 +344,7 @@ void unicode_action_function(uint16_t hi, uint16_t lo) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/osx_de/keymap.c b/layouts/community/ergodox/osx_de/keymap.c index 5c3d7e49ea..cbbfc42280 100644 --- a/layouts/community/ergodox/osx_de/keymap.c +++ b/layouts/community/ergodox/osx_de/keymap.c @@ -31,117 +31,117 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE]=LAYOUT_ergodox( //left half - KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTL_SFT_HASH), - KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, - KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, - KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, - LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), KC_UP, KC_DOWN, - M(M_MEH_SH_ACUT), TG(MDIA), - KC_HOME, - KC_BSPC, KC_DEL, LT(SMLY,KC_END), + KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(M_CTL_SFT_HASH), + KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, + KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, + KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, + LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), KC_UP, KC_DOWN, + M(M_MEH_SH_ACUT), TG(MDIA), + KC_HOME, + KC_BSPC, KC_DEL, LT(SMLY,KC_END), //right half - M(M_CTL_SFT_HASH), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, - KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, - DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA), - KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT, - KC_LEFT, KC_RIGHT, LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS), - TG(NUMB), ALL_T(DE_ACUT), - KC_PGUP, + M(M_CTL_SFT_HASH), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, + KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, + DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA), + KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT, + KC_LEFT, KC_RIGHT, LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS), + TG(NUMB), ALL_T(DE_ACUT), + KC_PGUP, KC_PGDN, KC_ENT, KC_SPC), [SYMB]=LAYOUT_ergodox( //left half - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS, - KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT, - KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_DEL, KC_TRNS, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS, + KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT, + KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_DEL, KC_TRNS, //right half - M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_LABK, DE_RABK, DE_EXLM, - DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), DE_HASH, - KC_TRNS, DE_PIPE, DE_TILD, DE_CIRC, KC_UP, DE_MINS, LSFT(KC_4), - DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, - KC_F13, KC_F12, - KC_F14, + M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), DE_LABK, DE_RABK, DE_EXLM, + DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), DE_HASH, + KC_TRNS, DE_PIPE, DE_TILD, DE_CIRC, KC_UP, DE_MINS, LSFT(KC_4), + DE_QUOT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, + KC_F13, KC_F12, + KC_F14, KC_F15, KC_TRNS, KC_TRNS), [MDIA]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, - KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, + KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, //right half - KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, - KC_TRNS, KC_TRNS, - KC_TRNS, + KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_VOLD, KC_TRNS, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_WBAK), [SMLY]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, //right half - M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, - M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, + M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, + M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [NUMB]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, //right half - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS, - KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, - KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS, + KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, + KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [EGOS]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_F1, KC_F2, - KC_F3, - KC_SPC, KC_LCTL, KC_F4, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_F1, KC_F2, + KC_F3, + KC_SPC, KC_LCTL, KC_F4, //right half - M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, + M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; @@ -318,7 +318,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { -uint8_t layer = biton32(layer_state); +uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); @@ -328,22 +328,22 @@ switch (layer) { case SYMB: ergodox_right_led_1_on(); - - + + break; case MDIA: - + ergodox_right_led_2_on(); - + break; case SMLY: - - + + ergodox_right_led_3_on(); break; case NUMB: ergodox_right_led_1_on(); - + ergodox_right_led_3_on(); break; case EGOS: @@ -357,4 +357,3 @@ break; } }; - diff --git a/layouts/community/ergodox/osx_de_adnw_koy/keymap.c b/layouts/community/ergodox/osx_de_adnw_koy/keymap.c index b8ffc2e51f..cd09d066a6 100644 --- a/layouts/community/ergodox/osx_de_adnw_koy/keymap.c +++ b/layouts/community/ergodox/osx_de_adnw_koy/keymap.c @@ -27,105 +27,105 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE]=LAYOUT_ergodox( //left half - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL, - KC_TAB, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_LGUI, - TG(QWERTZ), KC_H, KC_A, KC_E, KC_I, KC_U, - KC_LSFT, CTL_T(KC_X), KC_Q, DE_ADIA, DE_UDIA, DE_ODIA, KC_LALT, - LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT, - TG(MDIA), MEH_T(LSFT(DE_ACUT)), - KC_HOME, - KC_BSPC, KC_DEL, KC_END, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCTL, + KC_TAB, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_LGUI, + TG(QWERTZ), KC_H, KC_A, KC_E, KC_I, KC_U, + KC_LSFT, CTL_T(KC_X), KC_Q, DE_ADIA, DE_UDIA, DE_ODIA, KC_LALT, + LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT, + TG(MDIA), MEH_T(LSFT(DE_ACUT)), + KC_HOME, + KC_BSPC, KC_DEL, KC_END, //right half - KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, DE_MINS, - KC_RGUI, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y, - KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F), - KC_RALT, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_RSFT, - KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS), - ALL_T(DE_ACUT), TG(NUMB), - KC_PGUP, + KC_RCTL, KC_6, KC_7, KC_8, KC_9, KC_0, DE_MINS, + KC_RGUI, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y, + KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F), + KC_RALT, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_RSFT, + KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS), + ALL_T(DE_ACUT), TG(NUMB), + KC_PGUP, KC_PGDN, KC_ENT, KC_SPC), [SYMB]=LAYOUT_ergodox( //left half - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS, KC_GRV, LSFT(KC_GRV), DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS, - KC_TRNS, DE_HASH, DE_DLR, LALT(LSFT(KC_7)), DE_SLSH, KC_DOT, - KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, LALT(KC_7), LALT(KC_N), KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_DEL, KC_TRNS, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS, KC_GRV, LSFT(KC_GRV), DE_EXLM, DE_QUES, KC_TRNS, KC_TRNS, + KC_TRNS, DE_HASH, DE_DLR, LALT(LSFT(KC_7)), DE_SLSH, KC_DOT, + KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, LALT(KC_7), LALT(KC_N), KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_DEL, KC_TRNS, //right half - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, - DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, - KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQUO, DE_QUOT, DE_QUES, - KC_TRNS, KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12, + DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS, + KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQUO, DE_QUOT, DE_QUES, + KC_TRNS, KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [MDIA]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_WH_L, KC_WH_U, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, //right half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MUTE, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, - KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_RIGHT, - KC_TRNS, KC_TRNS, - KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MUTE, KC_MPRV, KC_MNXT, KC_UP, KC_TRNS, + KC_VOLU, KC_VOLD, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_WBAK), [QWERTZ]=LAYOUT_ergodox( //left half - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V), - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI, - KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, - LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT, - KC_TRNS, MEH_T(LSFT(DE_ACUT)), - KC_HOME, - KC_BSPC, KC_DEL, KC_END, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LGUI(KC_V), + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI, + KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LALT, + LT(SYMB,KC_GRV), DE_LABK, LALT(KC_LSFT), KC_LEFT, KC_RGHT, + KC_TRNS, MEH_T(LSFT(DE_ACUT)), + KC_HOME, + KC_BSPC, KC_DEL, KC_END, //right half - LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UDIA, - KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(MDIA,DE_ADIA), - KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS), - ALL_T(DE_ACUT), KC_TRNS, - KC_PGUP, + LGUI(KC_C), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_RGUI, KC_Y, KC_U, KC_I, KC_O, KC_P, DE_UDIA, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(MDIA,DE_ADIA), + KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_UP, KC_DOWN, LGUI(KC_LSFT), KC_RBRC, LT(SYMB,KC_BSLS), + ALL_T(DE_ACUT), KC_TRNS, + KC_PGUP, KC_PGDN, KC_ENT, KC_SPC), [NUMB]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, //right half - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS, - KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, - KC_0, KC_DOT, KC_0, KC_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS, + KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS, + KC_0, KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; // Runs constantly in the background, in a loop. void matrix_scan_user(void) { -uint8_t layer = biton32(layer_state); +uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); @@ -139,4 +139,3 @@ break; } }; - diff --git a/layouts/community/ergodox/osx_de_experimental/keymap.c b/layouts/community/ergodox/osx_de_experimental/keymap.c index 8228b5e371..faf238726f 100644 --- a/layouts/community/ergodox/osx_de_experimental/keymap.c +++ b/layouts/community/ergodox/osx_de_experimental/keymap.c @@ -66,315 +66,315 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /** * Layer: BASE -* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ -* | ESC | 1 | 2 | 3 | 4 | 5 | Hold or toggle | | Hold or toggle | 6 | 7 | 8 | 9 | 0 | ß | -* | | | | | | | Layer NUMB | | Layer MDIA | | | | | | | -* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ -* | TAB | Q | W | E | R | T | Cmd | | Cmd | Z | U | I | O | P | Ü | -* | | | | | | | | | | | | | | | | -* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/\-------------------\ \-------------------\/-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ -* | Alt | A | S | D | F | G | | H | J | K | L | Ö | Ä | -* | | | | | | | | | | | | | ALT | -* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ -* | Shift | Y | X | C | V | B | Alt | | Alt | N | M | , | . | - | Shift | -* | | Ctrl | | | | | | | | | | | | Ctrl | | -* \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ -* -* -* /-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------/ -* | < | LongPress / Type | LongPress / Type | Shift+Ctrl | Type | | # | ACUT | CMD+Shift | ALT+Shift | + | -* | SYMB | DE_CIRC_CTRLCMD | DE_PLUS_CTRAlt | | Toggle SMLY | | Meh | Hyper | | | SYMB | -* \-------------------\\-------------------\\-------------------\\-------------------\/-------------------//-------------------/ /-------------------//-------------------/ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ -* | HOME | END | | LEFT | RIGHT | -* | | | | | | -* \-------------------\/-------------------/ /-------------------/\-------------------\ -* | PGUP | | UP | -* | | | | -* /-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------/ -* | BSPC | DEL | PGDN | | DOWN | ENT | SPC | -* | | | | | | | | -* \-------------------\\-------------------\\-------------------\ \-------------------\\-------------------\\-------------------\ -* -* +* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ +* | ESC | 1 | 2 | 3 | 4 | 5 | Hold or toggle | | Hold or toggle | 6 | 7 | 8 | 9 | 0 | ß | +* | | | | | | | Layer NUMB | | Layer MDIA | | | | | | | +* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ +* | TAB | Q | W | E | R | T | Cmd | | Cmd | Z | U | I | O | P | Ü | +* | | | | | | | | | | | | | | | | +* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/\-------------------\ \-------------------\/-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ +* | Alt | A | S | D | F | G | | H | J | K | L | Ö | Ä | +* | | | | | | | | | | | | | ALT | +* /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------//-------------------//-------------------/ +* | Shift | Y | X | C | V | B | Alt | | Alt | N | M | , | . | - | Shift | +* | | Ctrl | | | | | | | | | | | | Ctrl | | +* \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ +* +* +* /-------------------//-------------------//-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------//-------------------//-------------------/ +* | < | LongPress / Type | LongPress / Type | Shift+Ctrl | Type | | # | ACUT | CMD+Shift | ALT+Shift | + | +* | SYMB | DE_CIRC_CTRLCMD | DE_PLUS_CTRAlt | | Toggle SMLY | | Meh | Hyper | | | SYMB | +* \-------------------\\-------------------\\-------------------\\-------------------\/-------------------//-------------------/ /-------------------//-------------------/ \-------------------\\-------------------\\-------------------\\-------------------\\-------------------\ +* | HOME | END | | LEFT | RIGHT | +* | | | | | | +* \-------------------\/-------------------/ /-------------------/\-------------------\ +* | PGUP | | UP | +* | | | | +* /-------------------//-------------------//-------------------/ /-------------------//-------------------//-------------------/ +* | BSPC | DEL | PGDN | | DOWN | ENT | SPC | +* | | | | | | | | +* \-------------------\\-------------------\\-------------------\ \-------------------\\-------------------\\-------------------\ +* +* **/ [BASE]=LAYOUT_ergodox( //left half - KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(TGH_NUM), - KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, - KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, - KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, - LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), LSFT(KC_LCTRL), M(SMLY_TOG_QUOT), - KC_HOME, KC_END, - KC_PGUP, - KC_BSPC, KC_DEL, KC_PGDN, + KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, M(TGH_NUM), + KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI, + KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G, + KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT, + LT(SYMB,DE_LABK), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), LSFT(KC_LCTRL), M(SMLY_TOG_QUOT), + KC_HOME, KC_END, + KC_PGUP, + KC_BSPC, KC_DEL, KC_PGDN, //right half - M(TOG_HLD_MDIA), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, - KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, - DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA), - KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT, - MEH_T(DE_HASH), ALL_T(DE_ACUT), LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS), - KC_LEFT, KC_RIGHT, - KC_UP, + M(TOG_HLD_MDIA), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS, + KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UDIA, + DE_H, DE_J, DE_K, DE_L, DE_ODIA, ALT_T(DE_ADIA), + KC_RALT, DE_N, DE_M, DE_COMM, DE_DOT, CTL_T(DE_MINS), KC_RSFT, + MEH_T(DE_HASH), ALL_T(DE_ACUT), LGUI(KC_LSFT), LALT(KC_LSFT), LT(SYMB,DE_PLUS), + KC_LEFT, KC_RIGHT, + KC_UP, KC_DOWN, KC_ENT, KC_SPC), /** * Layer: SYMB -* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ -* | APPLICATION| F1 | F2 | F3 | F4 | F5 | F5 | | F6 | F6 | F7 | F8 | F9 | F10 | F11 | -* | | | | | | | | | | | | | | | | -* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ -* | | < | > | ! | ? | | | | | \ | [ | ] | < | > | ! | -* | | | | | | | | | | | | | | | | -* /-----------//-----------//-----------//-----------//-----------//-----------/\-----------\ \-----------\/-----------//-----------//-----------//-----------//-----------//-----------/ -* | | # | $ | \ | / | . | | / | ( | ) | { | } | # | -* | | | | | | | | | | | | | | -* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ -* | | | < | % | | | ~ | | | | | | ~ | | | | | -* | | | | | | | | | | | | | | | | -* \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\ \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\ -* -* -* /-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------/ -* | | | | | | | ' | DQOT | | Toggle 5 | | -* | | | | | | | | | | | | -* \-----------\\-----------\\-----------\\-----------\/-----------//-----------/ /-----------//-----------/ \-----------\\-----------\\-----------\\-----------\\-----------\ -* | | | | F13 | F12 | -* | | | | | | -* \-----------\/-----------/ /-----------/\-----------\ -* | | | F14 | -* | | | | -* /-----------//-----------//-----------/ /-----------//-----------//-----------/ -* | | DEL | | | F15 | | | -* | | | | | | | | -* \-----------\\-----------\\-----------\ \-----------\\-----------\\-----------\ -* -* +* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ +* | APPLICATION| F1 | F2 | F3 | F4 | F5 | F5 | | F6 | F6 | F7 | F8 | F9 | F10 | F11 | +* | | | | | | | | | | | | | | | | +* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ +* | | < | > | ! | ? | | | | | \ | [ | ] | < | > | ! | +* | | | | | | | | | | | | | | | | +* /-----------//-----------//-----------//-----------//-----------//-----------/\-----------\ \-----------\/-----------//-----------//-----------//-----------//-----------//-----------/ +* | | # | $ | \ | / | . | | / | ( | ) | { | } | # | +* | | | | | | | | | | | | | | +* /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------//-----------//-----------/ +* | | | < | % | | | ~ | | | | | | ~ | | | | | +* | | | | | | | | | | | | | | | | +* \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\ \-----------\\-----------\\-----------\\-----------\\-----------\\-----------\\-----------\ +* +* +* /-----------//-----------//-----------//-----------//-----------/ /-----------//-----------//-----------//-----------//-----------/ +* | | | | | | | ' | DQOT | | Toggle 5 | | +* | | | | | | | | | | | | +* \-----------\\-----------\\-----------\\-----------\/-----------//-----------/ /-----------//-----------/ \-----------\\-----------\\-----------\\-----------\\-----------\ +* | | | | F13 | F12 | +* | | | | | | +* \-----------\/-----------/ /-----------/\-----------\ +* | | | F14 | +* | | | | +* /-----------//-----------//-----------/ /-----------//-----------//-----------/ +* | | DEL | | | F15 | | | +* | | | | | | | | +* \-----------\\-----------\\-----------\ \-----------\\-----------\\-----------\ +* +* **/ [SYMB]=LAYOUT_ergodox( //left half - KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, - KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QST, KC_TRNS, KC_TRNS, - KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT, - KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_DEL, KC_TRNS, + KC_APPLICATION, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F5, + KC_TRNS, DE_LABK, DE_RABK, DE_EXLM, DE_QST, KC_TRNS, KC_TRNS, + KC_TRNS, DE_HASH, DE_DLR, DE_BSLS, DE_SLSH, KC_DOT, + KC_TRNS, KC_TRNS, DE_LABK, DE_PERC, DE_PIPE, DE_TILD, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_DEL, KC_TRNS, //right half - KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, DE_BSLS, DE_LBRC, DE_RBRC, DE_LABK, DE_RABK, DE_EXLM, - DE_SLSH, DE_LPRN, DE_RPRN, DE_LCBR, DE_RCBR, DE_HASH, - KC_TRNS, DE_PIPE, DE_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - DE_QUOT, DE_DQUO, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, - KC_F13, KC_F12, - KC_F14, + KC_F6, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, DE_BSLS, DE_LBRC, DE_RBRC, DE_LABK, DE_RABK, DE_EXLM, + DE_SLSH, DE_LPRN, DE_RPRN, DE_LCBR, DE_RCBR, DE_HASH, + KC_TRNS, DE_PIPE, DE_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + DE_QUOT, DE_DQUO, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, + KC_F13, KC_F12, + KC_F14, KC_F15, KC_TRNS, KC_TRNS), /** * Layer: MDIA -* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/ -* | | | | | | | | | | | | | | | | -* | | | | | | | | | | | | | | | | -* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/ -* | | | BTN1 | U | BTN2 | U | | | | | | | | | | -* | | | | | | | | | | | | | | | | -* /-----//-----//-----//-----//-----//-----/\-----\ \-----\/-----//-----//-----//-----//-----//-----/ -* | | | L | D | R | D | | | | | | | | -* | | | | | | | | | | | | | | -* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/ -* | | | L | D | R | BTN3 | | | | | | | | UP | | -* | | | | | | | | | | | | | | | | -* \-----\\-----\\-----\\-----\\-----\\-----\\-----\ \-----\\-----\\-----\\-----\\-----\\-----\\-----\ -* -* -* /-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----/ -* | | | | | | | | | LEFT | DOWN | RIGHT| -* | | | | | | | | | | | | -* \-----\\-----\\-----\\-----\/-----//-----/ /-----//-----/ \-----\\-----\\-----\\-----\\-----\ -* | | | | MPRV | MNXT | -* | | | | | | -* \-----\/-----/ /-----/\-----\ -* | | | VOLU | -* | | | | -* /-----//-----//-----/ /-----//-----//-----/ -* | | | | | VOLD | MUTE | MPLY | -* | | | | | | | | -* \-----\\-----\\-----\ \-----\\-----\\-----\ -* -* +* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/ +* | | | BTN1 | U | BTN2 | U | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* /-----//-----//-----//-----//-----//-----/\-----\ \-----\/-----//-----//-----//-----//-----//-----/ +* | | | L | D | R | D | | | | | | | | +* | | | | | | | | | | | | | | +* /-----//-----//-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----//-----//-----/ +* | | | L | D | R | BTN3 | | | | | | | | UP | | +* | | | | | | | | | | | | | | | | +* \-----\\-----\\-----\\-----\\-----\\-----\\-----\ \-----\\-----\\-----\\-----\\-----\\-----\\-----\ +* +* +* /-----//-----//-----//-----//-----/ /-----//-----//-----//-----//-----/ +* | | | | | | | | | LEFT | DOWN | RIGHT| +* | | | | | | | | | | | | +* \-----\\-----\\-----\\-----\/-----//-----/ /-----//-----/ \-----\\-----\\-----\\-----\\-----\ +* | | | | MPRV | MNXT | +* | | | | | | +* \-----\/-----/ /-----/\-----\ +* | | | VOLU | +* | | | | +* /-----//-----//-----/ /-----//-----//-----/ +* | | | | | VOLD | MUTE | MPLY | +* | | | | | | | | +* \-----\\-----\\-----\ \-----\\-----\\-----\ +* +* **/ [MDIA]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, - KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, + KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, //right half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, - KC_MPRV, KC_MNXT, - KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, + KC_MPRV, KC_MNXT, + KC_VOLU, KC_VOLD, KC_MUTE, KC_MPLY), /** * Layer: SMLY -* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ -* | | | | | | | | | Typing | Typing | Typing | | | | | -* | | | | | | | | | SM_SMILE| SM_SMIRK| SM_LAUGH| | | | | -* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ -* | | | | | | | | | | Typing | Typing | Typing | | | | -* | | | | | | | | | | SM_FROWN| SM_SAD | SM_CRY | | | | -* /--------//--------//--------//--------//--------//--------/\--------\ \--------\/--------//--------//--------//--------//--------//--------/ -* | | | | | | | | Typing | Typing | | | | | -* | | | | | | | | SM_HEART| SM_KISS | | | | | -* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ -* | | | | | | | | | | | | | | | | -* | | | | | | | | | | | | | | | | -* \--------\\--------\\--------\\--------\\--------\\--------\\--------\ \--------\\--------\\--------\\--------\\--------\\--------\\--------\ -* -* -* /--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------/ -* | | | | | | | | | | | | -* | | | | | | | | | | | | -* \--------\\--------\\--------\\--------\/--------//--------/ /--------//--------/ \--------\\--------\\--------\\--------\\--------\ -* | | | | | | -* | | | | | | -* \--------\/--------/ /--------/\--------\ -* | | | | -* | | | | -* /--------//--------//--------/ /--------//--------//--------/ -* | | | | | | | | -* | | | | | | | | -* \--------\\--------\\--------\ \--------\\--------\\--------\ -* -* +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | Typing | Typing | Typing | | | | | +* | | | | | | | | | SM_SMILE| SM_SMIRK| SM_LAUGH| | | | | +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | Typing | Typing | Typing | | | | +* | | | | | | | | | | SM_FROWN| SM_SAD | SM_CRY | | | | +* /--------//--------//--------//--------//--------//--------/\--------\ \--------\/--------//--------//--------//--------//--------//--------/ +* | | | | | | | | Typing | Typing | | | | | +* | | | | | | | | SM_HEART| SM_KISS | | | | | +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* \--------\\--------\\--------\\--------\\--------\\--------\\--------\ \--------\\--------\\--------\\--------\\--------\\--------\\--------\ +* +* +* /--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | +* | | | | | | | | | | | | +* \--------\\--------\\--------\\--------\/--------//--------/ /--------//--------/ \--------\\--------\\--------\\--------\\--------\ +* | | | | | | +* | | | | | | +* \--------\/--------/ /--------/\--------\ +* | | | | +* | | | | +* /--------//--------//--------/ /--------//--------//--------/ +* | | | | | | | | +* | | | | | | | | +* \--------\\--------\\--------\ \--------\\--------\\--------\ +* +* **/ [SMLY]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, //right half - M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, - M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, + M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS, + M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), /** * Layer: NUMB -* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/ -* | | | | | | | | | | F6 | F7 | F8 | F9 | F10 | F11 | -* | | | | | | | | | | | | | | | | -* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/ -* | | | | UP | | | | | | / | 7 | 8 | 9 | * | F12 | -* | | | | | | | | | | | | | | | | -* /----//----//----//----//----//----/\----\ \----\/----//----//----//----//----//----/ -* | | | LEFT| DOWN| RGHT| | | / | 4 | 5 | 6 | + | - | -* | | | | | | | | | | | | | | -* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/ -* | | | | | | | | | | % | 1 | 2 | 3 | | | -* | | | | | | | | | | | | | | | | -* \----\\----\\----\\----\\----\\----\\----\ \----\\----\\----\\----\\----\\----\\----\ -* -* -* /----//----//----//----//----/ /----//----//----//----//----/ -* | | | | | | | 0 | . | , | = | | -* | | | | | | | | | | | | -* \----\\----\\----\\----\/----//----/ /----//----/ \----\\----\\----\\----\\----\ -* | | | | | | -* | | | | | | -* \----\/----/ /----/\----\ -* | | | | -* | | | | -* /----//----//----/ /----//----//----/ -* | | | | | | | | -* | | | | | | | | -* \----\\----\\----\ \----\\----\\----\ -* -* +* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/ +* | | | | | | | | | | F6 | F7 | F8 | F9 | F10 | F11 | +* | | | | | | | | | | | | | | | | +* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/ +* | | | | UP | | | | | | / | 7 | 8 | 9 | * | F12 | +* | | | | | | | | | | | | | | | | +* /----//----//----//----//----//----/\----\ \----\/----//----//----//----//----//----/ +* | | | LEFT| DOWN| RGHT| | | / | 4 | 5 | 6 | + | - | +* | | | | | | | | | | | | | | +* /----//----//----//----//----//----//----/ /----//----//----//----//----//----//----/ +* | | | | | | | | | | % | 1 | 2 | 3 | | | +* | | | | | | | | | | | | | | | | +* \----\\----\\----\\----\\----\\----\\----\ \----\\----\\----\\----\\----\\----\\----\ +* +* +* /----//----//----//----//----/ /----//----//----//----//----/ +* | | | | | | | 0 | . | , | = | | +* | | | | | | | | | | | | +* \----\\----\\----\\----\/----//----/ /----//----/ \----\\----\\----\\----\\----\ +* | | | | | | +* | | | | | | +* \----\/----/ /----/\----\ +* | | | | +* | | | | +* /----//----//----/ /----//----//----/ +* | | | | | | | | +* | | | | | | | | +* \----\\----\\----\ \----\\----\\----\ +* +* **/ [NUMB]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, //right half - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, DE_SLSH, KC_7, KC_8, KC_9, DE_ASTR, KC_F12, - DE_SLSH, KC_4, KC_5, KC_6, DE_PLUS, DE_MINS, - KC_TRNS, DE_PERC, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, - KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, DE_SLSH, KC_7, KC_8, KC_9, DE_ASTR, KC_F12, + DE_SLSH, KC_4, KC_5, KC_6, DE_PLUS, DE_MINS, + KC_TRNS, DE_PERC, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, + KC_0, KC_DOT, KC_COMM, DE_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), /** * Layer: EGOS -* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ -* | | | | | | | | | | | | | | | | -* | | | | | | | | | | | | | | | | -* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ -* | | | | | | | | | | | | | | | | -* | | | | | | | | | | | | | | | | -* /--------//--------//--------//--------//--------//--------/\--------\ \--------\/--------//--------//--------//--------//--------//--------/ -* | Shift | | | | | | | | | | | | | -* | | | | | | | | | | | | | | -* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ -* | | | | | | | | | | | | | | | | -* | | | | | | | | | | | | | | | | -* \--------\\--------\\--------\\--------\\--------\\--------\\--------\ \--------\\--------\\--------\\--------\\--------\\--------\\--------\ -* -* -* /--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------/ -* | Ctrl | | | | | | | | | Toggle 5| | -* | | | | | | | | | | | | -* \--------\\--------\\--------\\--------\/--------//--------/ /--------//--------/ \--------\\--------\\--------\\--------\\--------\ -* | F1 | F2 | | | | -* | | | | | | -* \--------\/--------/ /--------/\--------\ -* | F3 | | | -* | | | | -* /--------//--------//--------/ /--------//--------//--------/ -* | SPC | Ctrl | F4 | | | | | -* | | | | | | | | -* \--------\\--------\\--------\ \--------\\--------\\--------\ -* -* +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* /--------//--------//--------//--------//--------//--------/\--------\ \--------\/--------//--------//--------//--------//--------//--------/ +* | Shift | | | | | | | | | | | | | +* | | | | | | | | | | | | | | +* /--------//--------//--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------//--------//--------/ +* | | | | | | | | | | | | | | | | +* | | | | | | | | | | | | | | | | +* \--------\\--------\\--------\\--------\\--------\\--------\\--------\ \--------\\--------\\--------\\--------\\--------\\--------\\--------\ +* +* +* /--------//--------//--------//--------//--------/ /--------//--------//--------//--------//--------/ +* | Ctrl | | | | | | | | | Toggle 5| | +* | | | | | | | | | | | | +* \--------\\--------\\--------\\--------\/--------//--------/ /--------//--------/ \--------\\--------\\--------\\--------\\--------\ +* | F1 | F2 | | | | +* | | | | | | +* \--------\/--------/ /--------/\--------\ +* | F3 | | | +* | | | | +* /--------//--------//--------/ /--------//--------//--------/ +* | SPC | Ctrl | F4 | | | | | +* | | | | | | | | +* \--------\\--------\\--------\ \--------\\--------\\--------\ +* +* **/ [EGOS]=LAYOUT_ergodox( //left half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_F1, KC_F2, - KC_F3, - KC_SPC, KC_LCTL, KC_F4, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_F1, KC_F2, + KC_F3, + KC_SPC, KC_LCTL, KC_F4, //right half - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, M(M_TOGGLE_5), KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; @@ -556,7 +556,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { -uint8_t layer = biton32(layer_state); +uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); @@ -566,17 +566,17 @@ switch (layer) { case SYMB: ergodox_right_led_1_on(); - - + + break; case MDIA: - + ergodox_right_led_2_on(); - + break; case NUMB: - - + + ergodox_right_led_3_on(); break; case EGOS: @@ -590,4 +590,3 @@ break; } }; - diff --git a/layouts/community/ergodox/osx_fr/keymap.c b/layouts/community/ergodox/osx_fr/keymap.c index 886e54208a..22451c1a30 100644 --- a/layouts/community/ergodox/osx_fr/keymap.c +++ b/layouts/community/ergodox/osx_fr/keymap.c @@ -141,7 +141,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/osx_kinesis_pnut/keymap.c b/layouts/community/ergodox/osx_kinesis_pnut/keymap.c index ad6ea27364..fb50a3407e 100644 --- a/layouts/community/ergodox/osx_kinesis_pnut/keymap.c +++ b/layouts/community/ergodox/osx_kinesis_pnut/keymap.c @@ -145,7 +145,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/osx_neo2/keymap.c b/layouts/community/ergodox/osx_neo2/keymap.c index 3dbfceabc4..125cc43a8f 100644 --- a/layouts/community/ergodox/osx_neo2/keymap.c +++ b/layouts/community/ergodox/osx_neo2/keymap.c @@ -704,7 +704,7 @@ void matrix_init_user(void){ // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/phoenix/keymap.c b/layouts/community/ergodox/phoenix/keymap.c index a66462e3a8..4371e5f2e7 100644 --- a/layouts/community/ergodox/phoenix/keymap.c +++ b/layouts/community/ergodox/phoenix/keymap.c @@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/plover/keymap.c b/layouts/community/ergodox/plover/keymap.c index ffb869309a..7b34dde2ed 100644 --- a/layouts/community/ergodox/plover/keymap.c +++ b/layouts/community/ergodox/plover/keymap.c @@ -182,7 +182,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/qwerty_code_friendly/keymap.c b/layouts/community/ergodox/qwerty_code_friendly/keymap.c index 6e285d5613..ed06446907 100644 --- a/layouts/community/ergodox/qwerty_code_friendly/keymap.c +++ b/layouts/community/ergodox/qwerty_code_friendly/keymap.c @@ -662,7 +662,7 @@ void matrix_init_user(void) { /* Runs constantly in the background, in a loop. */ void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/reset_eeprom/keymap.c b/layouts/community/ergodox/reset_eeprom/keymap.c index 83c252a9a1..726447cbd0 100644 --- a/layouts/community/ergodox/reset_eeprom/keymap.c +++ b/layouts/community/ergodox/reset_eeprom/keymap.c @@ -96,7 +96,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/romanzolotarev-norman-plover-osx-hjkl/keymap.c b/layouts/community/ergodox/romanzolotarev-norman-plover-osx-hjkl/keymap.c index 819944121e..6eb319ca63 100644 --- a/layouts/community/ergodox/romanzolotarev-norman-plover-osx-hjkl/keymap.c +++ b/layouts/community/ergodox/romanzolotarev-norman-plover-osx-hjkl/keymap.c @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); diff --git a/layouts/community/ergodox/romanzolotarev-norman-plover-osx/keymap.c b/layouts/community/ergodox/romanzolotarev-norman-plover-osx/keymap.c index a0964fac77..adf420daa0 100644 --- a/layouts/community/ergodox/romanzolotarev-norman-plover-osx/keymap.c +++ b/layouts/community/ergodox/romanzolotarev-norman-plover-osx/keymap.c @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); diff --git a/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c b/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c index 6aca3a6d5f..cf3941ee1d 100644 --- a/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c +++ b/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); diff --git a/layouts/community/ergodox/sethbc/keymap.c b/layouts/community/ergodox/sethbc/keymap.c index 26d3106ec4..f3a1f64309 100644 --- a/layouts/community/ergodox/sethbc/keymap.c +++ b/layouts/community/ergodox/sethbc/keymap.c @@ -77,7 +77,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/siroken3/keymap.c b/layouts/community/ergodox/siroken3/keymap.c index fed8b4a0c8..dd5125d20e 100644 --- a/layouts/community/ergodox/siroken3/keymap.c +++ b/layouts/community/ergodox/siroken3/keymap.c @@ -141,7 +141,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/sneako/keymap.c b/layouts/community/ergodox/sneako/keymap.c index 9d3cdd5a11..dffe797ab0 100644 --- a/layouts/community/ergodox/sneako/keymap.c +++ b/layouts/community/ergodox/sneako/keymap.c @@ -141,7 +141,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/software_neo2/keymap.c b/layouts/community/ergodox/software_neo2/keymap.c index 5f600a5ab5..c191a034f2 100644 --- a/layouts/community/ergodox/software_neo2/keymap.c +++ b/layouts/community/ergodox/software_neo2/keymap.c @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/swedish-lindhe/keymap.c b/layouts/community/ergodox/swedish-lindhe/keymap.c index 368e216cdc..b0abff9ec6 100644 --- a/layouts/community/ergodox/swedish-lindhe/keymap.c +++ b/layouts/community/ergodox/swedish-lindhe/keymap.c @@ -162,7 +162,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/swedish/keymap.c b/layouts/community/ergodox/swedish/keymap.c index 90218aa886..5e2d47de57 100644 --- a/layouts/community/ergodox/swedish/keymap.c +++ b/layouts/community/ergodox/swedish/keymap.c @@ -203,7 +203,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/swissgerman/keymap.c b/layouts/community/ergodox/swissgerman/keymap.c index 8ba9582934..8766d16ae0 100644 --- a/layouts/community/ergodox/swissgerman/keymap.c +++ b/layouts/community/ergodox/swissgerman/keymap.c @@ -222,7 +222,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); switch (layer) { // TODO: Make this relevant to the ErgoDox EZ. diff --git a/layouts/community/ergodox/techtomas/keymap.c b/layouts/community/ergodox/techtomas/keymap.c index 742eca03a4..bdbb50be42 100644 --- a/layouts/community/ergodox/techtomas/keymap.c +++ b/layouts/community/ergodox/techtomas/keymap.c @@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/tkuichooseyou/keymap.c b/layouts/community/ergodox/tkuichooseyou/keymap.c index ea6c8f259f..08f1cfc9ab 100644 --- a/layouts/community/ergodox/tkuichooseyou/keymap.c +++ b/layouts/community/ergodox/tkuichooseyou/keymap.c @@ -138,7 +138,7 @@ LAYOUT_ergodox( // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/tonyabra_osx/keymap.c b/layouts/community/ergodox/tonyabra_osx/keymap.c index 741a6396e8..9b8048dda3 100644 --- a/layouts/community/ergodox/tonyabra_osx/keymap.c +++ b/layouts/community/ergodox/tonyabra_osx/keymap.c @@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/townk_osx/keymap.c b/layouts/community/ergodox/townk_osx/keymap.c index 6799ad7460..c79d74d6eb 100644 --- a/layouts/community/ergodox/townk_osx/keymap.c +++ b/layouts/community/ergodox/townk_osx/keymap.c @@ -229,7 +229,7 @@ uint8_t current_layer = BASE; // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_led_all_off(); ergodox_led_all_set(LED_BRIGHTNESS_LO); diff --git a/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c b/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c index 4b5181a70d..12548ae0ea 100644 --- a/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c +++ b/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_DELETE, KC_TRNS, KC_LGUI, KC_BSPACE,CTL_T(KC_NO),KC_LALT, - + KC_TILD, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL, KC_TRNS, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLASH, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_U, KC_E, KC_O, KC_P, KC_TRNS, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_TRNS, @@ -110,9 +110,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' */ [2] = LAYOUT_ergodox( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -120,12 +120,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, - KC_F11, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_F11, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_BTN1, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), @@ -154,19 +154,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Left Hand KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, // Right Hand - KC_TRNS, KC_TRNS, KC_LOCKING_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LOCKING_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_TRNS, - KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_TRNS, + KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_ENTER, KC_TRNS, KC_KP_0, KC_KP_0, KC_KP_DOT, KC_ENTER, KC_TRNS, - KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), @@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/win10_writers-block/keymap.c b/layouts/community/ergodox/win10_writers-block/keymap.c index 05adaed759..443e403b18 100644 --- a/layouts/community/ergodox/win10_writers-block/keymap.c +++ b/layouts/community/ergodox/win10_writers-block/keymap.c @@ -4,8 +4,8 @@ #include "version.h" #include "wait.h" -#define BASE 0 // default layer - helpful for writing in Office-style word processors. -#define SYMB 1 // symbol layer - NumPad, etc. - same as Ergodox EZ default but no EEPROM or Version key +#define BASE 0 // default layer - helpful for writing in Office-style word processors. +#define SYMB 1 // symbol layer - NumPad, etc. - same as Ergodox EZ default but no EEPROM or Version key #define RIMW 2 // rimworld layer - made for the game RimWorld, by Tynan Sylvester | feel free to remap for your favorite game! #define MDIA 3 // media layer - mouse and music - close to Ergodox EZ default media layer @@ -27,19 +27,19 @@ enum { }; void cake_count (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 2) { + if (state->count == 2) { layer_on (SYMB); //define double tap here layer_off (MDIA); - } - else { + } + else { layer_off (SYMB); //define single tap or hold here layer_off (MDIA); } - if (state->count == 3) { + if (state->count == 3) { layer_on (RIMW); //define triple tap here layer_off (MDIA); - } - else { + } + else { layer_off (RIMW); //define single tap or hold here layer_off (MDIA); reset_tap_dance (state); @@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,--------------------------------------------------. ,--------------------------------------------------. * | ` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 7 | 8 | 9 | 0 | - | = | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | F12/L1 | Q | W | E | R | T | {/[ | |TD(L0 | Y | U | I | O | P | \ | + * | F12/L1 | Q | W | E | R | T | {/[ | |TD(L0 | Y | U | I | O | P | \ | * |--------+------+------+------+------+------| | |L1 L2)|------+------+------+------+------+--------| * |Caps/Win| A | S | D | F | G |------| |------| H | J | K | L | ; | ' | * |--------+------+------+------+------+------| }/] | TD(ctrl|------+------+------+------+------+--------| @@ -163,8 +163,8 @@ LT(SYMB, KC_F12), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -), - +), + /* Keymap 2: RimWorld Layer * * ,--------------------------------------------------. ,--------------------------------------------------. @@ -186,7 +186,7 @@ LT(SYMB, KC_F12), KC_Q, KC_W, KC_E, KC_R, KC_T, * | | | Q | | | | | * `--------------------' `--------------------' */ -// RIMWORLD +// RIMWORLD [RIMW] = LAYOUT_ergodox( // left hand KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, @@ -300,7 +300,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); @@ -315,7 +315,7 @@ void matrix_scan_user(void) { break; case 3: ergodox_right_led_3_on(); - break; + break; default: // none break; diff --git a/layouts/community/ergodox/xyverz/keymap.c b/layouts/community/ergodox/xyverz/keymap.c index c77920bb13..f348736c6e 100644 --- a/layouts/community/ergodox/xyverz/keymap.c +++ b/layouts/community/ergodox/xyverz/keymap.c @@ -1,6 +1,6 @@ /* * About this keymap: - * + * * The Dvorak layout shown here stems from my early Kinesis years, using the Contour PS/2 with a Dvorak * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner * keys. When I originally set up this keymap, I'd decided to continue using this layout with my ErgoDox. @@ -14,7 +14,7 @@ * layouts. * * What's New: - * + * * I've overhauled this Dvorak layout a bit to more match what I've got on my other Ortho boards. For * some keys, I'm moving away from my old Kinesis keymap and adding the brackets and braces to the * inner column vertical keys. I figure this will help me have better ease of use. In this update, I @@ -246,7 +246,7 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ergodox/zweihander-macos/keymap.c b/layouts/community/ergodox/zweihander-macos/keymap.c index b2ddeb0d6b..0aecc24e67 100644 --- a/layouts/community/ergodox/zweihander-macos/keymap.c +++ b/layouts/community/ergodox/zweihander-macos/keymap.c @@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); + uint8_t layer = get_highest_layer(layer_state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/layouts/community/ortho_4x12/peej/keymap.c b/layouts/community/ortho_4x12/peej/keymap.c index d78f03da41..1e2874ac99 100644 --- a/layouts/community/ortho_4x12/peej/keymap.c +++ b/layouts/community/ortho_4x12/peej/keymap.c @@ -56,7 +56,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { writePinLow(LED_RED); writePinLow(LED_GREEN); - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _FUNCTION: writePinHigh(LED_RED); break; diff --git a/quantum/action_layer.h b/quantum/action_layer.h index b87d096eed..bd1085a70f 100644 --- a/quantum/action_layer.h +++ b/quantum/action_layer.h @@ -41,7 +41,7 @@ along with this program. If not, see . #endif #if !defined(LAYER_STATE_8BIT) && !defined(LAYER_STATE_16BIT) && !defined(LAYER_STATE_32BIT) -# define LAYER_STATE_32BIT +# define LAYER_STATE_16BIT #endif #if defined(LAYER_STATE_8BIT) diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c index 3ed83a44a6..52fe86d297 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c @@ -450,7 +450,7 @@ static void md_rgb_matrix_config_override(int i) { float bo = 0; float po; - uint8_t highest_active_layer = biton32(layer_state); + uint8_t highest_active_layer = get_highest_layer(layer_state); if (led_animation_circular) { // TODO: should use min/max values from LED configuration instead of diff --git a/users/333fred/333fred.c b/users/333fred/333fred.c index 99f4e01685..ea7b904403 100644 --- a/users/333fred/333fred.c +++ b/users/333fred/333fred.c @@ -115,7 +115,7 @@ void tap_dance_process_keycode(uint16_t keycode) { } __attribute__ ((weak)) -void layer_state_set_rgb(uint32_t state) {} +void layer_state_set_rgb(layer_state_t state) {} layer_state_t layer_state_set_user(layer_state_t state) { layer_state_set_rgb(state); diff --git a/users/333fred/rgb.c b/users/333fred/rgb.c index d287143302..ae21702030 100644 --- a/users/333fred/rgb.c +++ b/users/333fred/rgb.c @@ -23,8 +23,8 @@ #include "quantum.h" #include "333fred.h" -void layer_state_set_rgb(uint32_t state) { - switch (biton32(state)) { +void layer_state_set_rgb(layer_state_t state) { + switch (get_highest_layer(state)) { case BASE: // purple rgblight_sethsv_noeeprom(210, 255, 20); diff --git a/users/bbaserdem/bbaserdem.c b/users/bbaserdem/bbaserdem.c index cdacda12ee..e0cf3d81d1 100644 --- a/users/bbaserdem/bbaserdem.c +++ b/users/bbaserdem/bbaserdem.c @@ -59,7 +59,7 @@ __attribute__ ((weak)) void matrix_scan_keymap(void) { } __attribute__ ((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } -__attribute__ ((weak)) uint32_t layer_state_set_keymap (uint32_t state) { +__attribute__ ((weak)) layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } __attribute__ ((weak)) void led_set_keymap(uint8_t usb_led) { } @@ -627,7 +627,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { state = layer_state_set_keymap (state); #ifdef RGBLIGHT_ENABLE // Change RGB lighting depending on the last layer activated - rgblight_change( biton32(state) ); + rgblight_change( get_highest_layer(state) ); #endif return state; } diff --git a/users/billypython/billypython.c b/users/billypython/billypython.c index 180b478d7a..f165d2e260 100644 --- a/users/billypython/billypython.c +++ b/users/billypython/billypython.c @@ -23,7 +23,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } __attribute__((weak)) -uint32_t layer_state_set_keymap(uint32_t state) { +layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } diff --git a/users/billypython/billypython.h b/users/billypython/billypython.h index 4a444e9787..cdf5121f2f 100644 --- a/users/billypython/billypython.h +++ b/users/billypython/billypython.h @@ -31,4 +31,4 @@ enum layers_user { }; bool process_record_keymap(uint16_t keycode, keyrecord_t *record); -uint32_t layer_state_set_keymap(uint32_t state); +layer_state_t layer_state_set_keymap(layer_state_t state); diff --git a/users/dhertz/dhertz.c b/users/dhertz/dhertz.c index 163b1cb644..1a2b6e38f1 100644 --- a/users/dhertz/dhertz.c +++ b/users/dhertz/dhertz.c @@ -18,7 +18,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } __attribute__ ((weak)) -uint32_t layer_state_set_keymap (uint32_t state) { +layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } __attribute__ ((weak)) @@ -107,4 +107,3 @@ layer_state_t layer_state_set_user (layer_state_t state) { void led_set_user(uint8_t usb_led) { led_set_keymap(usb_led); } - diff --git a/users/doogle999/doogle999.c b/users/doogle999/doogle999.c index 320de7cff8..c9ee125741 100644 --- a/users/doogle999/doogle999.c +++ b/users/doogle999/doogle999.c @@ -382,7 +382,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) static char text[CALC_BUFFER_SIZE + 1]; // Used to store input and then output when ready to print static char backspaceText[CALC_BUFFER_SIZE + 1]; // Pretty dumb waste of memory because only backspace characters, used with send_string to backspace and remove input - if((biton32(layer_state) == CALC_LAYER && CALC_FORCE_NUM_LOCK_INSIDE_CALC) || (biton32(layer_state) != CALC_LAYER && CALC_FORCE_NUM_LOCK_OUTSIDE_CALC)) + if((get_highest_layer(layer_state) == CALC_LAYER && CALC_FORCE_NUM_LOCK_INSIDE_CALC) || (get_highest_layer(layer_state) != CALC_LAYER && CALC_FORCE_NUM_LOCK_OUTSIDE_CALC)) { bool numpadKeyPressed = record->event.pressed && !(get_mods() & MODS_SHIFT_MASK) && @@ -397,7 +397,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) } } - if(biton32(layer_state) != CALC_LAYER) { return true; } + if(get_highest_layer(layer_state) != CALC_LAYER) { return true; } int action = process_input(keycode, get_mods(), record->event); switch(action) @@ -457,4 +457,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) send_string(characterToSend); } return false; -} \ No newline at end of file +} diff --git a/users/edvorakjp/edvorakjp.c b/users/edvorakjp/edvorakjp.c index c44d8bb440..c95b03d981 100644 --- a/users/edvorakjp/edvorakjp.c +++ b/users/edvorakjp/edvorakjp.c @@ -12,7 +12,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return layer_state_set_keymap(state); } -__attribute__((weak)) uint32_t layer_state_set_keymap(uint32_t state) { return state; } +__attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool process_record_user_result = process_record_keymap(keycode, record) && process_record_edvorakjp_swap_scln(keycode, record) && process_record_edvorakjp_config(keycode, record) && process_record_layer(keycode, record) && process_record_ime(keycode, record); diff --git a/users/edvorakjp/edvorakjp.h b/users/edvorakjp/edvorakjp.h index 93cd9851b7..a878f71ca8 100644 --- a/users/edvorakjp/edvorakjp.h +++ b/users/edvorakjp/edvorakjp.h @@ -68,7 +68,7 @@ enum tap_dance_code { void matrix_init_user(void); void matrix_init_keymap(void); layer_state_t layer_state_set_user(layer_state_t state); -uint32_t layer_state_set_keymap(uint32_t state); +layer_state_t layer_state_set_keymap(layer_state_t state); bool process_record_user(uint16_t keycode, keyrecord_t *record); bool process_record_keymap(uint16_t keycode, keyrecord_t *record); diff --git a/users/ericgebhart/ericgebhart.c b/users/ericgebhart/ericgebhart.c index 2a34110ae2..a071fb8c2e 100755 --- a/users/ericgebhart/ericgebhart.c +++ b/users/ericgebhart/ericgebhart.c @@ -40,7 +40,7 @@ __attribute__ ((weak)) void matrix_scan_keymap(void) {} __attribute__ ((weak)) -uint32_t layer_state_set_keymap (uint32_t state) { +layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } diff --git a/users/ericgebhart/tap_dances.c b/users/ericgebhart/tap_dances.c index 9f344986aa..8f9503a261 100755 --- a/users/ericgebhart/tap_dances.c +++ b/users/ericgebhart/tap_dances.c @@ -47,7 +47,7 @@ void tap_dance_mouse_btns (qk_tap_dance_state_t *state, void *user_data) { // counting on all the qwerty layers to be less than dvorak_on_bepo int on_qwerty(){ - uint8_t deflayer = (biton32(default_layer_state)); + uint8_t deflayer = (get_highest_layer(default_layer_state)); return (deflayer < _DVORAK_BP); } @@ -58,7 +58,7 @@ static void switch_default_layer(uint8_t layer) { // so the keyboard remembers which layer it's in after power disconnect. /* - uint32_t default_layer_state_set_kb(uint32_t state) { + layer_state_t default_layer_state_set_kb(layer_state_t state) { eeconfig_update_default_layer(state); return state; } diff --git a/users/kuchosauronad0/kuchosauronad0.c b/users/kuchosauronad0/kuchosauronad0.c index a8f17b08ee..820d84daad 100644 --- a/users/kuchosauronad0/kuchosauronad0.c +++ b/users/kuchosauronad0/kuchosauronad0.c @@ -117,7 +117,7 @@ void matrix_scan_user(void){ } __attribute__ ((weak)) -uint32_t layer_state_set_keymap (uint32_t state) { +layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } @@ -133,12 +133,12 @@ layer_state_t layer_state_set_user(layer_state_t state) { __attribute__ ((weak)) -uint32_t default_layer_state_set_keymap (uint32_t state) { +layer_state_t default_layer_state_set_keymap (layer_state_t state) { return state; } // Runs state check and changes underglow color and animation -uint32_t default_layer_state_set_user(uint32_t state) { +layer_state_t default_layer_state_set_user(layer_state_t state) { state = default_layer_state_set_keymap(state); #if 0 #ifdef RGBLIGHT_ENABLE diff --git a/users/kuchosauronad0/kuchosauronad0.h b/users/kuchosauronad0/kuchosauronad0.h index da996457c6..5cbd517d67 100644 --- a/users/kuchosauronad0/kuchosauronad0.h +++ b/users/kuchosauronad0/kuchosauronad0.h @@ -65,8 +65,8 @@ void shutdown_keymap(void); void suspend_power_down_keymap(void); void suspend_wakeup_init_keymap(void); void matrix_scan_keymap(void); -uint32_t layer_state_set_keymap (uint32_t state); -uint32_t default_layer_state_set_keymap (uint32_t state); +layer_state_t layer_state_set_keymap (layer_state_t state); +layer_state_t default_layer_state_set_keymap (layer_state_t state); void led_set_keymap(uint8_t usb_led); void eeconfig_init_keymap(void); diff --git a/users/kuchosauronad0/rgblight_user.c b/users/kuchosauronad0/rgblight_user.c index 63e412c557..feea0c412f 100644 --- a/users/kuchosauronad0/rgblight_user.c +++ b/users/kuchosauronad0/rgblight_user.c @@ -84,7 +84,7 @@ void matrix_scan_rgb(void) { layer_state_t layer_state_set_rgb(layer_state_t state) { # ifdef RGBLIGHT_ENABLE if (userspace_config.rgb_layer_change) { - switch (biton32(state)) { // _RAISE, _LOWER and _ADJUST use a custom color and the breathing effect + switch (get_highest_layer(state)) { // _RAISE, _LOWER and _ADJUST use a custom color and the breathing effect case _RAISE: rgblight_sethsv_noeeprom_green(); rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); @@ -98,7 +98,7 @@ layer_state_t layer_state_set_rgb(layer_state_t state) { rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 2); break; default: // Use a solid color for normal layers - switch (biton32(default_layer_state)) { + switch (get_highest_layer(default_layer_state)) { case _QWERTY: rgblight_sethsv_noeeprom_magenta(); break; @@ -118,7 +118,7 @@ layer_state_t layer_state_set_rgb(layer_state_t state) { rgblight_sethsv_noeeprom_white(); break; } - biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it + get_highest_layer(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it break; } } @@ -135,7 +135,7 @@ void matrix_scan_indicator(void) { #endif // !INDICATOR_LIGHTS void rgblight_fade_helper(bool direction){ - // true: increase val = fade in + // true: increase val = fade in // false: decrease val = fade out for (uint8_t index = 0; index < RGBLIGHT_VAL_STEP ; index++) { direction ? rgblight_increase_val() : rgblight_decrease_val(); @@ -147,10 +147,10 @@ void fadeflash_leds(uint8_t hue, uint8_t sat, uint8_t val){ // fade out, set new hue and saturation, fade in, fade out, set old color, fade in // this is used in leader.c // TODO: come up with a better name maybe - rgblight_fade_helper(false); - rgblight_sethsv_noeeprom(hue, sat, 0); - rgblight_fade_helper(true); - rgblight_fade_helper(false); - rgblight_sethsv_noeeprom(base_hue, base_sat, 0); - rgblight_fade_helper(true); + rgblight_fade_helper(false); + rgblight_sethsv_noeeprom(hue, sat, 0); + rgblight_fade_helper(true); + rgblight_fade_helper(false); + rgblight_sethsv_noeeprom(base_hue, base_sat, 0); + rgblight_fade_helper(true); } diff --git a/users/kuchosauronad0/template.c b/users/kuchosauronad0/template.c index 475e45d391..76cc572be3 100644 --- a/users/kuchosauronad0/template.c +++ b/users/kuchosauronad0/template.c @@ -63,11 +63,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { __attribute__ ((weak)) -uint32_t layer_state_set_keymap (uint32_t state) { +layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } -uint32_t layer_state_set_user (uint32_t state) { +layer_state_t layer_state_set_user (layer_state_t state) { return layer_state_set_keymap (state); } diff --git a/users/mtdjr/mtdjr.c b/users/mtdjr/mtdjr.c index 9c6c26bc86..cd67bf3b5f 100644 --- a/users/mtdjr/mtdjr.c +++ b/users/mtdjr/mtdjr.c @@ -137,7 +137,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { }; layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _RAISE: #ifdef RGBLIGHT_ENABLE rgblight_sethsv_noeeprom (240, 255, 255); diff --git a/users/ninjonas/oled.c b/users/ninjonas/oled.c index 55eaf88ccb..463c6dfebb 100644 --- a/users/ninjonas/oled.c +++ b/users/ninjonas/oled.c @@ -23,7 +23,7 @@ bool process_record_oled(uint16_t keycode, keyrecord_t *record) { void render_layout_state(void) { oled_write_P(PSTR("Layout: "), false); - switch (biton32(default_layer_state)) { + switch (get_highest_layer(default_layer_state)) { case _COLEMAK: oled_write_P(PSTR("Colemak"), false); break; diff --git a/users/pvinis/pvinis.c b/users/pvinis/pvinis.c index 71f9210aec..96b01bb461 100644 --- a/users/pvinis/pvinis.c +++ b/users/pvinis/pvinis.c @@ -95,4 +95,4 @@ void keyboard_post_init_user(void) { // Default functions. __attribute__((weak)) void keyboard_post_init_user_keymap(void) {} -__attribute__((weak)) uint32_t layer_state_set_user_keymap(uint32_t state) { return state; } +__attribute__((weak)) layer_state_t layer_state_set_user_keymap(layer_state_t state) { return state; } diff --git a/users/pvinis/pvinis.h b/users/pvinis/pvinis.h index c50033a440..5a11a6cb6f 100644 --- a/users/pvinis/pvinis.h +++ b/users/pvinis/pvinis.h @@ -169,4 +169,4 @@ enum { // Extra stuff that might be needed. void keyboard_post_init_user_keymap(void); -uint32_t layer_state_set_user_keymap(uint32_t state); +layer_state_t layer_state_set_user_keymap(layer_state_t state); diff --git a/users/romus/romus.c b/users/romus/romus.c index f707bb8843..a41a6df578 100644 --- a/users/romus/romus.c +++ b/users/romus/romus.c @@ -59,7 +59,7 @@ __attribute__ ((weak)) void matrix_scan_keymap(void) { } __attribute__ ((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } -__attribute__ ((weak)) uint32_t layer_state_set_keymap (uint32_t state) { +__attribute__ ((weak)) layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } __attribute__ ((weak)) void led_set_keymap(uint8_t usb_led) { } @@ -551,7 +551,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { state = layer_state_set_keymap (state); #ifdef RGBLIGHT_ENABLE // Change RGB lighting depending on the last layer activated - rgblight_change( biton32(state) ); + rgblight_change( get_highest_layer(state) ); #endif return state; } diff --git a/users/sigma/sigma.c b/users/sigma/sigma.c index 527925a63f..8470060a53 100644 --- a/users/sigma/sigma.c +++ b/users/sigma/sigma.c @@ -49,12 +49,12 @@ bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { __attribute__ ((weak)) -uint32_t layer_state_set_keymap (uint32_t state) { +layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } __attribute__ ((weak)) -uint32_t default_layer_state_set_keymap (uint32_t state) { +layer_state_t default_layer_state_set_keymap (layer_state_t state) { return state; } diff --git a/users/stanrc85/layer_rgb.c b/users/stanrc85/layer_rgb.c index 6d57198f3b..ad30c2ee65 100644 --- a/users/stanrc85/layer_rgb.c +++ b/users/stanrc85/layer_rgb.c @@ -5,7 +5,7 @@ void matrix_init_user(void) { }; layer_state_t layer_state_set_user(layer_state_t state) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case 0: rgblight_setrgb (0xFF, 0x00, 0x00); break; diff --git a/users/talljoe/talljoe.c b/users/talljoe/talljoe.c index 517f712ec8..6655170d4a 100644 --- a/users/talljoe/talljoe.c +++ b/users/talljoe/talljoe.c @@ -138,7 +138,7 @@ void matrix_init_user(void) { } } -uint32_t default_layer_state_set_kb(uint32_t state) { +layer_state_t default_layer_state_set_kb(layer_state_t state) { // persist changes to default layers eeconfig_update_default_layer(state); return state; diff --git a/users/tominabox1/tominabox1.c b/users/tominabox1/tominabox1.c index 7322ead0dc..b4ec224d07 100644 --- a/users/tominabox1/tominabox1.c +++ b/users/tominabox1/tominabox1.c @@ -128,7 +128,7 @@ layer_state_t layer_state_set_keymap (layer_state_t state) { layer_state_t layer_state_set_user(layer_state_t state) { state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _LOWER: break; case _RAISE: @@ -231,7 +231,7 @@ void render_status_main(void) { // Host Keyboard Layer Status oled_write_P(PSTR("Layer: "), false); - switch (biton32(layer_state)) { + switch (get_highest_layer(layer_state)) { case _BASE: oled_write_P(PSTR("Colemak\n"), false); break; diff --git a/users/turbomech/backupturbomech.c b/users/turbomech/backupturbomech.c index aaea05df96..3671d27ab4 100644 --- a/users/turbomech/backupturbomech.c +++ b/users/turbomech/backupturbomech.c @@ -31,7 +31,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } __attribute__ ((weak)) -uint32_t layer_state_set_keymap (uint32_t state) { +layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } __attribute__ ((weak)) @@ -300,7 +300,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { #ifdef RGBLIGHT_ENABLE uint8_t default_layer = eeconfig_read_default_layer(); if (rgb_layer_change) { - switch (biton32(state)) { + switch (get_highest_layer(state)) { case _FUNCTION: rgblight_set_blue; rgblight_mode(1); @@ -377,7 +377,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } __attribute__ ((weak)) -uint32_t layer_state_set_keymap (uint32_t state) { +layer_state_t layer_state_set_keymap (layer_state_t state) { return state; } __attribute__ ((weak)) diff --git a/users/xulkal/custom_oled.c b/users/xulkal/custom_oled.c index 7fe8040927..fd03033ad6 100644 --- a/users/xulkal/custom_oled.c +++ b/users/xulkal/custom_oled.c @@ -37,7 +37,7 @@ static void render_icon(void) static void render_layer(void) { - uint8_t layer = layer_state ? biton(layer_state) : biton32(default_layer_state); + uint8_t layer = layer_state ? get_highest_layer(layer_state) : get_highest_layer(default_layer_state); #ifdef OLED_90ROTATION oled_write_P(PSTR("Layer"), false); #else diff --git a/users/zer09/zer09.c b/users/zer09/zer09.c index a6768f0a1a..78433b4c20 100644 --- a/users/zer09/zer09.c +++ b/users/zer09/zer09.c @@ -43,7 +43,7 @@ void matrix_init_user(void) { void matrix_scan_user(void) { static uint8_t is_leds_changes = 1; - c_lyr = biton32(layer_state); + c_lyr = get_highest_layer(layer_state); is_leds_changes = is_leds_changes << set_layer_led(c_lyr); is_leds_changes = is_leds_changes << shifted_layer(); -- cgit 1.4.1 From 3b9e186019f74d5046fbdd399b5cfa0baf513a75 Mon Sep 17 00:00:00 2001 From: precondition <57645186+precondition@users.noreply.github.com> Date: Fri, 24 Jun 2022 12:40:09 +0200 Subject: Do not enable PERMISSIVE_HOLD when TAPPING_TERM exceeds 500ms (#15674) --- docs/config_options.md | 2 +- docs/ja/config_options.md | 2 +- keyboards/1k/keymaps/tap_dance/config.h | 1 + .../1upkeyboards/sweet16/keymaps/ridingintraffic/config.h | 3 ++- keyboards/flehrad/bigswitch/keymaps/333fred/config.h | 1 + keyboards/handwired/ergocheap/config.h | 1 + keyboards/handwired/onekey/config.h | 1 + keyboards/handwired/uthol/rev3/config.h | 1 + keyboards/helix/pico/keymaps/mtei/config.h | 2 -- keyboards/helix/rev2/keymaps/five_rows/config.h | 2 -- keyboards/helix/rev3_5rows/keymaps/five_rows/config.h | 2 -- keyboards/idobao/id67/keymaps/thewerther/config.h | 1 + keyboards/thevankeyboards/minivan/keymaps/belak/config.h | 1 + keyboards/thevankeyboards/minivan/keymaps/halvves/config.h | 1 + .../woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h | 1 + keyboards/xiudi/xd002/keymaps/tap_dance/config.h | 1 + keyboards/zfrontier/big_switch/config.h | 1 + layouts/community/66_ansi/xyverz/config.h | 1 + layouts/community/ergodox/adam/config.h | 2 +- quantum/action_tapping.c | 12 +++++------- users/hvp/config.h | 3 ++- 21 files changed, 24 insertions(+), 18 deletions(-) (limited to 'users') diff --git a/docs/config_options.md b/docs/config_options.md index 9aa360576a..c35227a407 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -141,7 +141,7 @@ If you define these options you will enable the associated feature, which may in ## Behaviors That Can Be Configured * `#define TAPPING_TERM 200` - * how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too + * how long before a key press becomes a hold * `#define TAPPING_TERM_PER_KEY` * enables handling for per key `TAPPING_TERM` settings * `#define RETRO_TAPPING` diff --git a/docs/ja/config_options.md b/docs/ja/config_options.md index fb43d015f2..42dd9d502a 100644 --- a/docs/ja/config_options.md +++ b/docs/ja/config_options.md @@ -144,7 +144,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。 ## 設定可能な挙動 :id=behaviors-that-can-be-configured * `#define TAPPING_TERM 200` - * タップがホールドになるまでの時間。500以上に設定された場合、タップ期間中にタップされたキーもホールドになります。(訳注: PERMISSIVE_HOLDも参照) + * タップがホールドになるまでの時間。 * `#define TAPPING_TERM_PER_KEY` * キーごとの `TAPPING_TERM` 設定の処理を有効にします * `#define RETRO_TAPPING` diff --git a/keyboards/1k/keymaps/tap_dance/config.h b/keyboards/1k/keymaps/tap_dance/config.h index 5df7869537..bd0163e447 100644 --- a/keyboards/1k/keymaps/tap_dance/config.h +++ b/keyboards/1k/keymaps/tap_dance/config.h @@ -4,3 +4,4 @@ #pragma once #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h index c835440076..161b46c814 100644 --- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h +++ b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/config.h @@ -3,6 +3,7 @@ /* tap dance stuff*/ #undef TAPPING_TERM #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD #define TAPPING_TOGGLE 2 @@ -12,4 +13,4 @@ #define EXAMPLESTRING4 "tapdance_4" #undef RGBLED_NUM -#define RGBLED_NUM 16 \ No newline at end of file +#define RGBLED_NUM 16 diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h index 3273cc8db4..6e9219115c 100644 --- a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h +++ b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h @@ -24,3 +24,4 @@ // Long tapping term on the big switch, because it takes so long to press #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD diff --git a/keyboards/handwired/ergocheap/config.h b/keyboards/handwired/ergocheap/config.h index 26905e8cb3..00b9616e3e 100644 --- a/keyboards/handwired/ergocheap/config.h +++ b/keyboards/handwired/ergocheap/config.h @@ -47,6 +47,7 @@ along with this program. If not, see . /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD /* * Feature disable options diff --git a/keyboards/handwired/onekey/config.h b/keyboards/handwired/onekey/config.h index f491d4d393..88c15806ce 100644 --- a/keyboards/handwired/onekey/config.h +++ b/keyboards/handwired/onekey/config.h @@ -42,6 +42,7 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD /* * Feature disable options diff --git a/keyboards/handwired/uthol/rev3/config.h b/keyboards/handwired/uthol/rev3/config.h index 90880998b7..84ca3f0cc6 100644 --- a/keyboards/handwired/uthol/rev3/config.h +++ b/keyboards/handwired/uthol/rev3/config.h @@ -57,6 +57,7 @@ #define LOCKING_RESYNC_ENABLE #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD // RGB Stuff #define RGB_DI_PIN B0 diff --git a/keyboards/helix/pico/keymaps/mtei/config.h b/keyboards/helix/pico/keymaps/mtei/config.h index 1a4dc2c842..a633105ff9 100644 --- a/keyboards/helix/pico/keymaps/mtei/config.h +++ b/keyboards/helix/pico/keymaps/mtei/config.h @@ -13,8 +13,6 @@ #undef TAPPING_TERM #define TAPPING_TERM 300 #define PERMISSIVE_HOLD -/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD. - see tmk_core/common/action_tapping.c */ // If you need more program area, try select and reduce rgblight modes to use. diff --git a/keyboards/helix/rev2/keymaps/five_rows/config.h b/keyboards/helix/rev2/keymaps/five_rows/config.h index 4aae9b5cac..43f14aaf2c 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/config.h +++ b/keyboards/helix/rev2/keymaps/five_rows/config.h @@ -6,8 +6,6 @@ #undef TAPPING_TERM #define TAPPING_TERM 300 #define PERMISSIVE_HOLD -/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD. - see tmk_core/common/action_tapping.c */ #undef OLED_UPDATE_INTERVAL #ifdef DEBUG_MATRIX_SCAN_RATE diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h index ab679d14b9..a6fd32c613 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h @@ -6,8 +6,6 @@ #undef TAPPING_TERM #define TAPPING_TERM 300 #define PERMISSIVE_HOLD -/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD. - see tmk_core/common/action_tapping.c */ #undef OLED_UPDATE_INTERVAL #ifdef DEBUG_MATRIX_SCAN_RATE diff --git a/keyboards/idobao/id67/keymaps/thewerther/config.h b/keyboards/idobao/id67/keymaps/thewerther/config.h index a63a92b171..85498d91b8 100644 --- a/keyboards/idobao/id67/keymaps/thewerther/config.h +++ b/keyboards/idobao/id67/keymaps/thewerther/config.h @@ -18,6 +18,7 @@ #define DRIVER_LED_UNDERGLOW 10 #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD #if defined(RGB_MATRIX_ENABLE) #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/config.h b/keyboards/thevankeyboards/minivan/keymaps/belak/config.h index 47d96a29d8..488ffa5418 100644 --- a/keyboards/thevankeyboards/minivan/keymaps/belak/config.h +++ b/keyboards/thevankeyboards/minivan/keymaps/belak/config.h @@ -4,5 +4,6 @@ #include "../../config.h" #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD #endif diff --git a/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h b/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h index 6be8d217bd..c6404f8ce5 100644 --- a/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h +++ b/keyboards/thevankeyboards/minivan/keymaps/halvves/config.h @@ -1,6 +1,7 @@ #pragma once #define TAPPING_TERM 505 +#define PERMISSIVE_HOLD #define RETRO_TAPPING // smooth mousekeys (copied from the ergo ez config) diff --git a/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h b/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h index 30b86224c6..131c755d4a 100644 --- a/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h +++ b/keyboards/woodkeys/bigseries/1key/keymaps/dudeofawesome/config.h @@ -19,5 +19,6 @@ along with this program. If not, see . #define CONFIG_USER_H #define TAPPING_TERM 1000 +#define PERMISSIVE_HOLD #endif diff --git a/keyboards/xiudi/xd002/keymaps/tap_dance/config.h b/keyboards/xiudi/xd002/keymaps/tap_dance/config.h index b86e862d30..1fd93f875f 100644 --- a/keyboards/xiudi/xd002/keymaps/tap_dance/config.h +++ b/keyboards/xiudi/xd002/keymaps/tap_dance/config.h @@ -1,3 +1,4 @@ #pragma once #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD diff --git a/keyboards/zfrontier/big_switch/config.h b/keyboards/zfrontier/big_switch/config.h index ddec2b2796..99bd790cae 100644 --- a/keyboards/zfrontier/big_switch/config.h +++ b/keyboards/zfrontier/big_switch/config.h @@ -51,3 +51,4 @@ along with this program. If not, see . /* long tapping config */ #define TAPPING_TERM 500 +#define PERMISSIVE_HOLD diff --git a/layouts/community/66_ansi/xyverz/config.h b/layouts/community/66_ansi/xyverz/config.h index 06e5830af8..37a57dbffd 100644 --- a/layouts/community/66_ansi/xyverz/config.h +++ b/layouts/community/66_ansi/xyverz/config.h @@ -1,5 +1,6 @@ #pragma once #define TAPPING_TERM 600 // ms +#define PERMISSIVE_HOLD #undef RGBLIGHT_HUE_STEP #define RGBLIGHT_HUE_STEP 8 diff --git a/layouts/community/ergodox/adam/config.h b/layouts/community/ergodox/adam/config.h index 62e82d8b2b..1555ae11fd 100644 --- a/layouts/community/ergodox/adam/config.h +++ b/layouts/community/ergodox/adam/config.h @@ -1,5 +1,5 @@ #pragma once #undef TAPPING_TERM -#define TAPPING_TERM 300 //At 500 some bad logic takes hold +#define TAPPING_TERM 300 #define IGNORE_MOD_TAP_INTERRUPT diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c index 3c8b5678b7..df3317ac05 100644 --- a/quantum/action_tapping.c +++ b/quantum/action_tapping.c @@ -125,7 +125,7 @@ void action_tapping_process(keyrecord_t record) { /* return true when key event is processed or consumed. */ bool process_tapping(keyrecord_t *keyp) { keyevent_t event = keyp->event; -# if (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) || defined(TAPPING_TERM_PER_KEY) || defined(PERMISSIVE_HOLD_PER_KEY) || defined(TAPPING_FORCE_HOLD_PER_KEY) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY) +# if (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) || defined(PERMISSIVE_HOLD_PER_KEY) || defined(TAPPING_FORCE_HOLD_PER_KEY) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY) uint16_t tapping_keycode = get_record_keycode(&tapping_key, false); # endif @@ -164,17 +164,15 @@ bool process_tapping(keyrecord_t *keyp) { * useful for long TAPPING_TERM but may prevent fast typing. */ // clang-format off -# if defined(TAPPING_TERM_PER_KEY) || (TAPPING_TERM >= 500) || defined(PERMISSIVE_HOLD) || defined(PERMISSIVE_HOLD_PER_KEY) || (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) +# if defined(PERMISSIVE_HOLD) || defined(PERMISSIVE_HOLD_PER_KEY) || (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) else if ( ( - ( - GET_TAPPING_TERM(tapping_keycode, &tapping_key) >= 500 + IS_RELEASED(event) && waiting_buffer_typed(event) # ifdef PERMISSIVE_HOLD_PER_KEY - || get_permissive_hold(tapping_keycode, &tapping_key) + && get_permissive_hold(tapping_keycode, &tapping_key) # elif defined(PERMISSIVE_HOLD) - || true + && true # endif - ) && IS_RELEASED(event) && waiting_buffer_typed(event) ) // Causes nested taps to not wait past TAPPING_TERM/RETRO_SHIFT // unnecessarily and fixes them for Layer Taps. diff --git a/users/hvp/config.h b/users/hvp/config.h index 68dd8b4828..b7d0443bbc 100644 --- a/users/hvp/config.h +++ b/users/hvp/config.h @@ -15,4 +15,5 @@ */ #pragma once -#define LONG_TAPPING_TERM 1000 \ No newline at end of file +#define LONG_TAPPING_TERM 1000 +#define PERMISSIVE_HOLD -- cgit 1.4.1 From 0e5d67145a649480fd49a72712997feb6303a471 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 5 Jul 2022 08:58:35 +1000 Subject: Allow for `keymaps` array to be implemented in a file other than `$(KEYMAP_C)` (#17559) --- builddefs/build_keyboard.mk | 6 ++++++ quantum/keymap_introspection.c | 5 +++++ users/manna-harbour_miryoku/post_rules.mk | 2 -- users/manna-harbour_miryoku/rules.mk | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) (limited to 'users') diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index b5616a438f..fe95dcaf15 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -400,6 +400,12 @@ endif OPT_DEFS += -DKEYMAP_C=\"$(KEYMAP_C)\" +# If a keymap or userspace places their keymap array in another file instead, allow for it to be included +# !!NOTE!! -- For this to work, the source file cannot be part of $(SRC), so users should not add it via `SRC += ` +ifneq ($(strip $(INTROSPECTION_KEYMAP_C)),) +OPT_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\" +endif + # project specific files SRC += \ $(KEYBOARD_SRC) \ diff --git a/quantum/keymap_introspection.c b/quantum/keymap_introspection.c index 9628b41eef..7a96f802ef 100644 --- a/quantum/keymap_introspection.c +++ b/quantum/keymap_introspection.c @@ -4,6 +4,11 @@ // Pull the actual keymap code so that we can inspect stuff from it #include KEYMAP_C +// Allow for keymap or userspace rules.mk to specify an alternate location for the keymap array +#ifdef INTROSPECTION_KEYMAP_C +# include INTROSPECTION_KEYMAP_C +#endif // INTROSPECTION_KEYMAP_C + #include "keymap_introspection.h" #define NUM_KEYMAP_LAYERS ((uint8_t)(sizeof(keymaps) / ((MATRIX_ROWS) * (MATRIX_COLS) * sizeof(uint16_t)))) diff --git a/users/manna-harbour_miryoku/post_rules.mk b/users/manna-harbour_miryoku/post_rules.mk index c5b4b7d28e..8fece85e66 100644 --- a/users/manna-harbour_miryoku/post_rules.mk +++ b/users/manna-harbour_miryoku/post_rules.mk @@ -1,8 +1,6 @@ # Copyright 2019 Manna Harbour # https://github.com/manna-harbour/miryoku -SRC += manna-harbour_miryoku.c # keymaps - # alternative layouts: # alphas diff --git a/users/manna-harbour_miryoku/rules.mk b/users/manna-harbour_miryoku/rules.mk index 879c7fc43e..ea226c4a3d 100644 --- a/users/manna-harbour_miryoku/rules.mk +++ b/users/manna-harbour_miryoku/rules.mk @@ -5,7 +5,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control AUTO_SHIFT_ENABLE = yes # Auto Shift -SRC += manna-harbour_miryoku.c # keymaps +INTROSPECTION_KEYMAP_C = manna-harbour_miryoku.c # keymaps include users/manna-harbour_miryoku/custom_rules.mk -- cgit 1.4.1 From c3f1ba7dd1673e28c852303c58eec876d38b6fed Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 19 Jul 2022 02:28:23 +0100 Subject: Remove full bootmagic config (#17702) --- keyboards/handwired/promethium/keymaps/priyadi/config.h | 6 ------ keyboards/keebio/nyquist/keymaps/danielhklein/config.h | 4 +--- keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h | 4 ---- keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h | 4 ---- keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h | 4 ---- keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h | 4 ---- keyboards/kprepublic/jj50/keymaps/archetype/config.h | 1 - keyboards/planck/keymaps/priyadi/config.h | 6 ------ users/talljoe/config.h | 4 ---- users/tominabox1/config.h | 2 -- 10 files changed, 1 insertion(+), 38 deletions(-) (limited to 'users') diff --git a/keyboards/handwired/promethium/keymaps/priyadi/config.h b/keyboards/handwired/promethium/keymaps/priyadi/config.h index 0630fd43e3..1e5e8906ed 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/config.h +++ b/keyboards/handwired/promethium/keymaps/priyadi/config.h @@ -2,12 +2,6 @@ #define PRIYADI_PROMETHIUM -/* bootmagic salt key */ -#define BOOTMAGIC_KEY_SALT KC_ESC - -/* skip bootmagic and eeconfig */ -#define BOOTMAGIC_KEY_SKIP KC_SPACE - #define RGBSPS_ENABLE #define RGBSPS_DEMO_ENABLE diff --git a/keyboards/keebio/nyquist/keymaps/danielhklein/config.h b/keyboards/keebio/nyquist/keymaps/danielhklein/config.h index 09abbccb72..398b285b89 100644 --- a/keyboards/keebio/nyquist/keymaps/danielhklein/config.h +++ b/keyboards/keebio/nyquist/keymaps/danielhklein/config.h @@ -14,13 +14,11 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ - +#pragma once #define TAPPING_TERM 150 #define USE_SERIAL #define EE_HANDS -#define BOOTMAGIC_KEY_SALT KC_ENT - #ifdef SUBPROJECT_rev1 #include "../../rev1/config.h" diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h index b38e4b8fc6..ba18295ead 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h @@ -60,10 +60,6 @@ #define RGBLIGHT_LIMIT_VAL 10 -//bootmagic -#define BOOTMAGIC_KEY_SALT KC_V -#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q - #ifdef RGB_MATRIX_ENABLE # undef ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h index 2b0d0961c4..a88ae7f2e8 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/config.h @@ -25,10 +25,6 @@ //#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGBLIGHT_LIMIT_VAL 10 -//bootmagic -#define BOOTMAGIC_KEY_SALT KC_V -#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q - #ifdef RGB_MATRIX_ENABLE #define TAPPING_TERM 200 diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h index d39f6b95c8..cdfa67acb0 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/config.h @@ -25,10 +25,6 @@ //#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGBLIGHT_LIMIT_VAL 10 -//bootmagic -#define BOOTMAGIC_KEY_SALT KC_V -#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q - #ifdef RGB_MATRIX_ENABLE #define TAPPING_TERM 200 diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h index a4634c581e..dbadc3da99 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/config.h @@ -25,10 +25,6 @@ //#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGBLIGHT_LIMIT_VAL 10 -//bootmagic -#define BOOTMAGIC_KEY_SALT KC_V -#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q - #ifdef RGB_MATRIX_ENABLE #define TAPPING_TERM 200 diff --git a/keyboards/kprepublic/jj50/keymaps/archetype/config.h b/keyboards/kprepublic/jj50/keymaps/archetype/config.h index 9604ac719c..17ce95a363 100644 --- a/keyboards/kprepublic/jj50/keymaps/archetype/config.h +++ b/keyboards/kprepublic/jj50/keymaps/archetype/config.h @@ -7,4 +7,3 @@ #define NO_AUTO_SHIFT_ALPHA #define TAPPING_TERM 150 #define TAPPING_TERM_PER_KEY -//#define BOOTMAGIC_KEY_SALT KC_LCTL diff --git a/keyboards/planck/keymaps/priyadi/config.h b/keyboards/planck/keymaps/priyadi/config.h index c85e8656e6..d72b6d3908 100644 --- a/keyboards/planck/keymaps/priyadi/config.h +++ b/keyboards/planck/keymaps/priyadi/config.h @@ -5,12 +5,6 @@ #define PRIYADI_PLANCK -/* bootmagic salt key */ -#define BOOTMAGIC_KEY_SALT KC_ESC - -/* skip bootmagic and eeconfig */ -#define BOOTMAGIC_KEY_SKIP KC_SPACE - #define UNICODE_TYPE_DELAY 0 #define LAYOUT_DVORAK diff --git a/users/talljoe/config.h b/users/talljoe/config.h index 8a5fd50cb7..dcdbbd89f4 100644 --- a/users/talljoe/config.h +++ b/users/talljoe/config.h @@ -19,9 +19,5 @@ #define RESET_LAYER 15 -#define BOOTMAGIC_KEY_SALT KC_ESC -#define BOOTMAGIC_KEY_SKIP KC_I -#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_E - #define COMBO_COUNT 2 #define COMBO_TERM 250 diff --git a/users/tominabox1/config.h b/users/tominabox1/config.h index 4a2433eb0b..f853e18605 100644 --- a/users/tominabox1/config.h +++ b/users/tominabox1/config.h @@ -3,8 +3,6 @@ // Tapping term settings #define TAPPING_TERM_PER_KEY #define TAP_HOLD_CAPS_DELAY 350 -#define BOOTMAGIC_KEY_SALT KC_BSPACE -#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_Q // OLED settings #define OLED_FONT_H "users/tominabox1/doug.c" -- cgit 1.4.1 From f02e3553808bb086b39946b63d5d4057060e02e7 Mon Sep 17 00:00:00 2001 From: Joshua Diamond Date: Sat, 30 Jul 2022 18:21:54 -0400 Subject: More glyph transformations for spidey3 userspace (#17854) * add bold and blackboard bold glyph transformations * trim firmware size; cformat * fix typo in macro * trim firmware size a bit more --- layouts/community/75_ansi/spidey3/config.h | 1 + layouts/community/75_ansi/spidey3/keymap.c | 2 +- users/spidey3/init.c | 1 - users/spidey3/layer_rgb.c | 139 +++++++++++++++-------------- users/spidey3/spidey3.c | 88 +++++++++++------- users/spidey3/spidey3.h | 2 + 6 files changed, 131 insertions(+), 102 deletions(-) (limited to 'users') diff --git a/layouts/community/75_ansi/spidey3/config.h b/layouts/community/75_ansi/spidey3/config.h index 89bd9422ae..3fb06b2363 100644 --- a/layouts/community/75_ansi/spidey3/config.h +++ b/layouts/community/75_ansi/spidey3/config.h @@ -2,6 +2,7 @@ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION +#define NO_ACTION_ONESHOT #undef LOCKING_SUPPORT_ENABLE #define LAYER_STATE_8BIT diff --git a/layouts/community/75_ansi/spidey3/keymap.c b/layouts/community/75_ansi/spidey3/keymap.c index d7ffd61a49..05f3aac4bc 100644 --- a/layouts/community/75_ansi/spidey3/keymap.c +++ b/layouts/community/75_ansi/spidey3/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // FN [_FN] = LAYOUT_75_ansi( - RESET, SPI_NORMAL, SPI_WIDE, SPI_SCRIPT, SPI_BLOCKS, SPI_CIRCLE, SPI_SQUARE, SPI_PARENS, SPI_FRAKTR, XXXXXXX, XXXXXXX, XXXXXXX, SPI_GFLOCK, KC_SLEP, CH_SUSP, KC_PWR, + RESET, SPI_NORMAL, SPI_WIDE, SPI_SCRIPT, SPI_BLOCKS, SPI_CIRCLE, SPI_SQUARE, SPI_PARENS, SPI_FRAKTR, SPI_BOLD, SPI_MATH, XXXXXXX, SPI_GFLOCK, KC_SLEP, CH_SUSP, KC_PWR, EEP_RST, X(SAD), X(MEH), X(HAPPY), X(ANGRY), X(THUMBDN), X(THUMBUP), X(SPIDER), X_BUL, X(LOL), X(SURPRISE),X_DASH, XXXXXXX, KC_PAUS, KC_SLCK, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, VLK_TOG, XXXXXXX, XXXXXXX, KC_BRIU, XXXXXXX, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_T, SPI_LNX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRID, diff --git a/users/spidey3/init.c b/users/spidey3/init.c index 8db41a5f4c..0c2bd678e0 100644 --- a/users/spidey3/init.c +++ b/users/spidey3/init.c @@ -7,7 +7,6 @@ void keyboard_post_init_user(void) { } void eeconfig_init_user(void) { - print("eeconfig_init_user\n"); set_single_persistent_default_layer(_BASE); #ifdef UNICODEMAP_ENABLE eeconfig_init_user_unicode(); diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c index 37e59579cf..7381f64bb2 100644 --- a/users/spidey3/layer_rgb.c +++ b/users/spidey3/layer_rgb.c @@ -101,7 +101,6 @@ const rgblight_segment_t *const PROGMEM _rgb_layers[] = { const uint8_t PROGMEM _n_rgb_layers = sizeof(_rgb_layers) / sizeof(_rgb_layers[0]) - 1; void clear_rgb_layers() { - dprint("clear_rgb_layers()\n"); for (uint8_t i = 0; i < _n_rgb_layers; i++) { rgblight_set_layer_state(i, false); } @@ -110,7 +109,6 @@ void clear_rgb_layers() { void do_rgb_layers(layer_state_t state, uint8_t start, uint8_t end) { for (uint8_t i = start; i < end; i++) { bool is_on = layer_state_cmp(state, i); - dprintf("layer[%u]=rl[%u]=%u\n", i, LAYER_OFFSET + i, is_on); rgblight_set_layer_state(LAYER_OFFSET + i, is_on); } } @@ -119,7 +117,6 @@ void do_rgb_unicode(void) { uint8_t uc_mode = get_unicode_input_mode(); for (uint8_t i = 0; i < UC__COUNT; i++) { bool is_on = i == uc_mode; - dprintf("unicode[%u]=rl[%u]=%u\n", i, UNICODE_OFFSET + i, is_on); rgblight_set_layer_state(UNICODE_OFFSET + i, is_on); } } @@ -138,7 +135,7 @@ int8_t change_sat = 0; int8_t change_val = 0; // timer to control color change speed -uint16_t change_timer = 0; +uint16_t change_timer = 0; const uint16_t change_tick = 15; extern rgblight_config_t rgblight_config; @@ -146,14 +143,15 @@ extern rgblight_status_t rgblight_status; #if defined(RGBLIGHT_STARTUP_ANIMATION) -#define STARTUP_ANIMATION_SATURATION 200 -#define STARTUP_ANIMATION_VALUE 255 -#define STARTUP_ANIMATION_FADE_STEP 5 -#define STARTUP_ANIMATION_CYCLE_STEP 2 -#define STARTUP_ANIMATION_RAMP_TO_STEPS 70 -#define STARTUP_ANIMATION_STEP_TIME 10 -#define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME +# define STARTUP_ANIMATION_SATURATION 200 +# define STARTUP_ANIMATION_VALUE 255 +# define STARTUP_ANIMATION_FADE_STEP 5 +# define STARTUP_ANIMATION_CYCLE_STEP 2 +# define STARTUP_ANIMATION_RAMP_TO_STEPS 70 +# define STARTUP_ANIMATION_STEP_TIME 10 +# define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME +// clang-format off typedef enum { DISABLED, WAITING, @@ -167,18 +165,18 @@ typedef enum { CLEAN_UP, DONE } startup_animation_state_t; +// clang-format on -static rgblight_config_t old_config; -static uint8_t old_base_mode; +static rgblight_config_t old_config; +static uint8_t old_base_mode; static startup_animation_state_t startup_animation_state = DISABLED; -static uint16_t rgblight_startup_loop_timer; +static uint16_t rgblight_startup_loop_timer; void startup_animation_init(void) { old_config.raw = rgblight_config.raw; old_base_mode = rgblight_status.base_mode; - if (!old_config.enable) - rgblight_enable_noeeprom(); + if (!old_config.enable) rgblight_enable_noeeprom(); } #endif @@ -202,9 +200,9 @@ void matrix_scan_user_rgb(void) { switch (startup_animation_state) { case WAITING: -#ifdef STARTUP_ANIMATION_DEBUG +# ifdef STARTUP_ANIMATION_DEBUG dprintf("sua WAITING counter=%u\n", counter); -#endif +# endif if (counter < STARTUP_ANIMATION_INITIAL_DELAY / STARTUP_ANIMATION_STEP_TIME) { counter++; } else { @@ -213,83 +211,87 @@ void matrix_scan_user_rgb(void) { break; case RESTART: +# ifdef STARTUP_ANIMATION_DEBUG dprintln("sua RESTART"); +# endif startup_animation_init(); case START: +# ifdef STARTUP_ANIMATION_DEBUG dprintln("sua START"); +# endif startup_animation_state = FADE_OLD; - counter = old_config.val; + counter = old_config.val; // No break! Just roll into FADE_OLD in the same iteration... case FADE_OLD: -#ifdef STARTUP_ANIMATION_DEBUG +# ifdef STARTUP_ANIMATION_DEBUG dprintf("sua FADE_OLD counter=%u\n", counter); -#endif +# endif if (counter >= STARTUP_ANIMATION_FADE_STEP) { rgblight_sethsv_noeeprom(old_config.hue, old_config.sat, counter); counter -= STARTUP_ANIMATION_FADE_STEP; } else { - counter = 0; + counter = 0; startup_animation_state = FADE_IN; rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); } break; case FADE_IN: -#ifdef STARTUP_ANIMATION_DEBUG +# ifdef STARTUP_ANIMATION_DEBUG dprintf("sua FADE_IN counter=%u\n", counter); -#endif +# endif if (counter < STARTUP_ANIMATION_VALUE) { rgblight_sethsv_noeeprom(old_config.hue, STARTUP_ANIMATION_SATURATION, counter); counter += STARTUP_ANIMATION_FADE_STEP; } else { - counter = 255; + counter = 255; startup_animation_state = CYCLE; } break; case CYCLE: -#ifdef STARTUP_ANIMATION_DEBUG +# ifdef STARTUP_ANIMATION_DEBUG dprintf("sua CYCLE counter=%u\n", counter); -#endif +# endif if (counter >= STARTUP_ANIMATION_CYCLE_STEP) { rgblight_sethsv_noeeprom((counter + old_config.hue) % 255, STARTUP_ANIMATION_SATURATION, STARTUP_ANIMATION_VALUE); counter -= STARTUP_ANIMATION_CYCLE_STEP; } else { if ( -#ifdef RGBLIGHT_EFFECT_BREATHING +# ifdef RGBLIGHT_EFFECT_BREATHING (old_base_mode == RGBLIGHT_MODE_BREATHING) || -#endif -#ifdef RGBLIGHT_EFFECT_SNAKE +# endif +# ifdef RGBLIGHT_EFFECT_SNAKE (old_base_mode == RGBLIGHT_MODE_SNAKE) || -#endif -#ifdef RGBLIGHT_EFFECT_KNIGHT +# endif +# ifdef RGBLIGHT_EFFECT_KNIGHT (old_base_mode == RGBLIGHT_MODE_KNIGHT) || -#endif -#ifdef RGBLIGHT_EFFECT_TWINKLE +# endif +# ifdef RGBLIGHT_EFFECT_TWINKLE (old_base_mode == RGBLIGHT_MODE_TWINKLE) || -#endif +# endif !old_config.enable) { - counter = STARTUP_ANIMATION_VALUE; + counter = STARTUP_ANIMATION_VALUE; startup_animation_state = RAMP_DOWN; } else if ( -#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT +# ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT (old_base_mode == RGBLIGHT_MODE_STATIC_GRADIENT) || -#endif -#ifdef RGBLIGHT_EFFECT_RAINBOW_MOOD +# endif +# ifdef RGBLIGHT_EFFECT_RAINBOW_MOOD (old_base_mode == RGBLIGHT_MODE_RAINBOW_MOOD) || -#endif -#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL +# endif +# ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL (old_base_mode == RGBLIGHT_MODE_RAINBOW_SWIRL) || -#endif -#ifdef RGBLIGHT_EFFECT_RAINBOW_CHRISTMAS +# endif +# ifdef RGBLIGHT_EFFECT_RAINBOW_CHRISTMAS (old_base_mode == RGBLIGHT_MODE_CHRISTMAS) || -#endif -#ifdef RGBLIGHT_EFFECT_RAINBOW_RGB_TEST_ +# endif +# ifdef RGBLIGHT_EFFECT_RAINBOW_RGB_TEST (old_base_mode == RGBLIGHT_MODE_RGB_TEST) || -#endif +# endif (old_base_mode == RGBLIGHT_MODE_STATIC_LIGHT)) { - counter = 0; + counter = 0; startup_animation_state = RAMP_TO; } else { startup_animation_state = CLEAN_UP; @@ -298,9 +300,9 @@ void matrix_scan_user_rgb(void) { break; case RAMP_DOWN: -#ifdef STARTUP_ANIMATION_DEBUG +# ifdef STARTUP_ANIMATION_DEBUG dprintf("sua RAMP_DOWN counter=%u\n", counter); -#endif +# endif if (counter >= STARTUP_ANIMATION_FADE_STEP) { rgblight_sethsv_noeeprom(old_config.hue, STARTUP_ANIMATION_SATURATION, counter); counter -= STARTUP_ANIMATION_FADE_STEP; @@ -309,28 +311,30 @@ void matrix_scan_user_rgb(void) { } break; - case RAMP_TO: - { -#ifdef STARTUP_ANIMATION_DEBUG - dprintf("sua RAMP_TO s=%u, v=%u, counter=%u\n", old_config.sat, old_config.val, counter); -#endif - uint8_t steps = STARTUP_ANIMATION_RAMP_TO_STEPS; - if (counter < steps) { - uint8_t s = STARTUP_ANIMATION_SATURATION + counter * (((float)old_config.sat - STARTUP_ANIMATION_SATURATION) / (float)steps); - uint8_t v = STARTUP_ANIMATION_VALUE + counter * (((float)old_config.val - STARTUP_ANIMATION_VALUE) / (float)steps); - rgblight_sethsv_noeeprom(old_config.hue, s, v); - counter++; - } else { - startup_animation_state = CLEAN_UP; - } + case RAMP_TO: { +# ifdef STARTUP_ANIMATION_DEBUG + dprintf("sua RAMP_TO s=%u, v=%u, counter=%u\n", old_config.sat, old_config.val, counter); +# endif + uint8_t steps = STARTUP_ANIMATION_RAMP_TO_STEPS; + if (counter < steps) { + uint8_t s = STARTUP_ANIMATION_SATURATION + counter * (((float)old_config.sat - STARTUP_ANIMATION_SATURATION) / (float)steps); + uint8_t v = STARTUP_ANIMATION_VALUE + counter * (((float)old_config.val - STARTUP_ANIMATION_VALUE) / (float)steps); + rgblight_sethsv_noeeprom(old_config.hue, s, v); + counter++; + } else { + startup_animation_state = CLEAN_UP; } - break; + } break; case CLEAN_UP: +# ifdef STARTUP_ANIMATION_DEBUG dprintln("sua CLEAN_UP"); +# endif rgblight_reload_from_eeprom(); startup_animation_state = DONE; +# ifdef STARTUP_ANIMATION_DEBUG dprintln("sua DONE"); +# endif break; default: @@ -344,8 +348,8 @@ void matrix_scan_user_rgb(void) { if (timer_elapsed(change_timer) > change_tick) { HSV hsv = rgblight_get_hsv(); hsv.h += change_hue; - hsv.s = change_sat > 0 ? qadd8(hsv.s, (uint8_t) change_sat) : qsub8(hsv.s, (uint8_t) -change_sat); - hsv.v = change_val > 0 ? qadd8(hsv.v, (uint8_t) change_val) : qsub8(hsv.v, (uint8_t) -change_val); + hsv.s = change_sat > 0 ? qadd8(hsv.s, (uint8_t)change_sat) : qsub8(hsv.s, (uint8_t)-change_sat); + hsv.v = change_val > 0 ? qadd8(hsv.v, (uint8_t)change_val) : qsub8(hsv.v, (uint8_t)-change_val); rgblight_sethsv_noeeprom(hsv.h, hsv.s, hsv.v); change_timer = timer_read(); } @@ -372,8 +376,6 @@ layer_state_t layer_state_set_user_rgb(layer_state_t state) { } bool led_update_user_rgb(led_t led_state) { - dprintf("num=%u, cap=%u, scl=%u, cmp=%u, kan=%u\n", led_state.num_lock, led_state.caps_lock, led_state.scroll_lock, led_state.compose, led_state.kana); - rgblight_set_layer_state(LOCK_OFFSET + USB_LED_NUM_LOCK, led_state.num_lock); rgblight_set_layer_state(LOCK_OFFSET + USB_LED_CAPS_LOCK, led_state.caps_lock); rgblight_set_layer_state(LOCK_OFFSET + USB_LED_SCROLL_LOCK, led_state.scroll_lock); @@ -385,7 +387,6 @@ void rgb_layer_ack_yn(bool yn) { rgb_layer_ack(yn ? ACK_YES : ACK_NO); } void rgb_layer_ack(layer_ack_t n) { uint8_t layer = ACK_OFFSET + n; - dprintf("rgb_layer_ack(%u) ==> %u\n", n, layer); rgblight_blink_layer(layer, RGB_LAYER_ACK_DURATION); } diff --git a/users/spidey3/spidey3.c b/users/spidey3/spidey3.c index df73c903d0..651c750465 100644 --- a/users/spidey3/spidey3.c +++ b/users/spidey3/spidey3.c @@ -18,7 +18,7 @@ static uint32_t matrix_timer = 0; # endif void report_version(void) { - uprintln(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE); + uprintln(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION " - " QMK_BUILDDATE); reported_version = true; } #endif @@ -51,8 +51,41 @@ void matrix_scan_user(void) { #endif } -bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uint32_t baseAlphaLower, uint32_t baseAlphaUpper, uint32_t zeroGlyph, uint32_t baseNumberOne, uint32_t spaceGlyph, uint8_t temp_mod, uint8_t temp_osm) { +static uint32_t math_glyph_exceptions(const uint16_t keycode, const bool shifted) { + if (shifted) { + switch (keycode) { + // clang-format off + case KC_C: return 0x2102; + case KC_H: return 0x210D; + case KC_N: return 0x2115; + case KC_P: return 0x2119; + case KC_Q: return 0x211A; + case KC_R: return 0x211D; + case KC_Z: return 0x2124; + // clang-format on + } + } + return 0; +} + +bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uint32_t baseAlphaLower, uint32_t baseAlphaUpper, uint32_t zeroGlyph, uint32_t baseNumberOne, uint32_t spaceGlyph, uint32_t (*exceptions)(const uint16_t keycode, const bool shifted), uint8_t temp_mod, uint8_t temp_osm) { + void _register(uint32_t codepoint) { + unicode_input_start(); + register_hex32(codepoint); + unicode_input_finish(); + } + if ((((temp_mod | temp_osm) & (MOD_MASK_CTRL | MOD_MASK_ALT | MOD_MASK_GUI))) == 0) { + bool shifted = ((temp_mod | temp_osm) & MOD_MASK_SHIFT); + if (exceptions) { + uint32_t res = exceptions(keycode, shifted); + if (res) { + if (record->event.pressed) { + _register(res); + } + return false; + } + } switch (keycode) { case KC_A ... KC_Z: if (record->event.pressed) { @@ -61,39 +94,30 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin clear_oneshot_mods(); #endif - unicode_input_start(); - uint32_t base = ((temp_mod | temp_osm) & MOD_MASK_SHIFT) ? baseAlphaUpper : baseAlphaLower; - register_hex32(base + (keycode - KC_A)); - unicode_input_finish(); - + uint32_t base = shifted ? baseAlphaUpper : baseAlphaLower; + _register(base + (keycode - KC_A)); set_mods(temp_mod); } return false; case KC_0: - if ((temp_mod | temp_osm) & MOD_MASK_SHIFT) { // skip shifted numbers, so that we can still use symbols etc. + if (shifted) { // skip shifted numbers, so that we can still use symbols etc. return true; } if (record->event.pressed) { - unicode_input_start(); - register_hex32(zeroGlyph); - unicode_input_finish(); + _register(zeroGlyph); } return false; case KC_1 ... KC_9: - if ((temp_mod | temp_osm) & MOD_MASK_SHIFT) { // skip shifted numbers, so that we can still use symbols etc. + if (shifted) { // skip shifted numbers, so that we can still use symbols etc. return true; } if (record->event.pressed) { - unicode_input_start(); - register_hex32(baseNumberOne + (keycode - KC_1)); - unicode_input_finish(); + _register(baseNumberOne + (keycode - KC_1)); } return false; case KC_SPACE: if (record->event.pressed) { - unicode_input_start(); - register_hex32(spaceGlyph); // em space - unicode_input_finish(); + _register(spaceGlyph); // em space } return false; } @@ -163,7 +187,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { debug_keyboard = 0; debug_matrix = 0; } - uprintf("DEBUG: enable=%u, keyboard=%u, matrix=%u\n", debug_enable, debug_keyboard, debug_matrix); + uprintf("DEBUG: enable=%u, kb=%u, matrix=%u\n", debug_enable, debug_keyboard, debug_matrix); eeconfig_update_debug(debug_config.raw); return false; #endif @@ -181,14 +205,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #endif // clang-format on - case SPI_NORMAL ... SPI_FRAKTR: + case SPI_NORMAL ... SPI_MATH: spi_replace_mode = (spi_replace_mode == keycode) ? SPI_NORMAL : keycode; - dprintf("spi_replace_mode = %u\n", spi_replace_mode); break; case SPI_GFLOCK: spi_gflock = !spi_gflock; - dprintf("spi_gflock = %u\n", spi_gflock); break; case SPI_KP_00: @@ -279,19 +301,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case KC_SPACE: switch (spi_replace_mode) { case SPI_WIDE: - return process_record_glyph_replacement(keycode, record, 0xFF41, 0xFF21, 0xFF10, 0xFF11, 0x2003, mods, osm); + return process_record_glyph_replacement(keycode, record, 0xFF41, 0xFF21, 0xFF10, 0xFF11, 0x2003, NULL, mods, osm); case SPI_SCRIPT: - return process_record_glyph_replacement(keycode, record, 0x1D4EA, 0x1D4D0, 0x1D7CE, 0x1D7CF, 0x2002, mods, osm); + return process_record_glyph_replacement(keycode, record, 0x1D4EA, 0x1D4D0, 0x1D7CE, 0x1D7CF, 0x2002, NULL, mods, osm); case SPI_BLOCKS: - return process_record_glyph_replacement(keycode, record, 0x1F170, 0x1F170, '0', '1', 0x2002, mods, osm); + return process_record_glyph_replacement(keycode, record, 0x1F170, 0x1F170, '0', '1', 0x2002, NULL, mods, osm); case SPI_CIRCLE: - return process_record_glyph_replacement(keycode, record, 0x1F150, 0x1F150, '0', '1', 0x2002, mods, osm); + return process_record_glyph_replacement(keycode, record, 0x1F150, 0x1F150, '0', '1', 0x2002, NULL, mods, osm); case SPI_SQUARE: - return process_record_glyph_replacement(keycode, record, 0x1F130, 0x1F130, '0', '1', 0x2002, mods, osm); + return process_record_glyph_replacement(keycode, record, 0x1F130, 0x1F130, '0', '1', 0x2002, NULL, mods, osm); case SPI_PARENS: - return process_record_glyph_replacement(keycode, record, 0x1F110, 0x1F110, '0', '1', 0x2002, mods, osm); + return process_record_glyph_replacement(keycode, record, 0x1F110, 0x1F110, '0', '1', 0x2002, NULL, mods, osm); case SPI_FRAKTR: - return process_record_glyph_replacement(keycode, record, 0x1D586, 0x1D56C, '0', '1', 0x2002, mods, osm); + return process_record_glyph_replacement(keycode, record, 0x1D586, 0x1D56C, '0', '1', 0x2002, NULL, mods, osm); + case SPI_BOLD: + return process_record_glyph_replacement(keycode, record, 0x1D41A, 0x1D400, '0', '1', 0x2002, NULL, mods, osm); + case SPI_MATH: + return process_record_glyph_replacement(keycode, record, 0x1D552, 0x1D538, '0', '1', 0x2002, &math_glyph_exceptions, mods, osm); } break; @@ -304,9 +330,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { if ((mods | osm) & MOD_MASK_SHIFT) { del_mods(MOD_MASK_SHIFT); -#ifndef NO_ACTION_ONESHOT +# ifndef NO_ACTION_ONESHOT clear_oneshot_mods(); -#endif +# endif register_code(KC_DEL); delkey_registered = true; set_mods(mods); diff --git a/users/spidey3/spidey3.h b/users/spidey3/spidey3.h index d018e5defb..6fd26e224e 100644 --- a/users/spidey3/spidey3.h +++ b/users/spidey3/spidey3.h @@ -29,6 +29,8 @@ enum custom_keycodes { SPI_SQUARE, SPI_PARENS, SPI_FRAKTR, + SPI_BOLD, + SPI_MATH, SPI_GFLOCK, SPI_KP_00, }; -- cgit 1.4.1 From baf34989f1847185a055e9d41783052eccb09d9c Mon Sep 17 00:00:00 2001 From: Joshua Diamond Date: Sat, 30 Jul 2022 18:31:31 -0400 Subject: Default rgblight (#17855) * better rgb bindings; improve default * trim firmware size --- layouts/community/75_ansi/spidey3/keymap.c | 6 ++-- users/spidey3/config.h | 46 ++++++++++++++++++++---------- users/spidey3/init.c | 4 --- users/spidey3/layer_rgb.c | 18 ++++-------- users/spidey3/spidey3.h | 18 ++++++------ 5 files changed, 49 insertions(+), 43 deletions(-) (limited to 'users') diff --git a/layouts/community/75_ansi/spidey3/keymap.c b/layouts/community/75_ansi/spidey3/keymap.c index 05f3aac4bc..d500f11031 100644 --- a/layouts/community/75_ansi/spidey3/keymap.c +++ b/layouts/community/75_ansi/spidey3/keymap.c @@ -25,9 +25,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_75_ansi( RESET, SPI_NORMAL, SPI_WIDE, SPI_SCRIPT, SPI_BLOCKS, SPI_CIRCLE, SPI_SQUARE, SPI_PARENS, SPI_FRAKTR, SPI_BOLD, SPI_MATH, XXXXXXX, SPI_GFLOCK, KC_SLEP, CH_SUSP, KC_PWR, EEP_RST, X(SAD), X(MEH), X(HAPPY), X(ANGRY), X(THUMBDN), X(THUMBUP), X(SPIDER), X_BUL, X(LOL), X(SURPRISE),X_DASH, XXXXXXX, KC_PAUS, KC_SLCK, - XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, VLK_TOG, XXXXXXX, XXXXXXX, KC_BRIU, - XXXXXXX, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_T, SPI_LNX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRID, - _______, SPI_GLO, XXXXXXX, SPI_WIN, UC_MOD, NK_TOGG, TG(_NUMPAD),SPI_OSX, X(LARR), X(RARR), DEBUG, _______, KC_VOLU, KC_MUTE, + XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, SPI_GLO, VLK_TOG, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRIU, + XXXXXXX, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_TW, SPI_LNX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRID, + _______, XXXXXXX, XXXXXXX, SPI_WIN, UC_MOD, NK_TOGG, TG(_NUMPAD),SPI_OSX, X(LARR), X(RARR), DEBUG, _______, KC_VOLU, KC_MUTE, _______, _______, _______, KC_MPLY, CH_ASST, _______, CH_CPNL, KC_MPRV, KC_VOLD, KC_MNXT ) }; diff --git a/users/spidey3/config.h b/users/spidey3/config.h index f5f5e07f0f..884cc11a5c 100644 --- a/users/spidey3/config.h +++ b/users/spidey3/config.h @@ -2,21 +2,37 @@ #define LED_DISABLE_WHEN_USB_SUSPENDED #define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGBLIGHT_LAYERS -#define RGBLIGHT_MAX_LAYERS 17 -#define RGBLIGHT_LAYER_BLINK -#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF -#define RGBLIGHT_STARTUP_ANIMATION - -#undef RGBLIGHT_ANIMATIONS -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE + +#ifdef RGBLIGHT_ENABLE + +# define RGBLIGHT_LAYERS +# define RGBLIGHT_MAX_LAYERS 17 +# define RGBLIGHT_LAYER_BLINK +# define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF +# define RGBLIGHT_STARTUP_ANIMATION + +# undef RGBLIGHT_ANIMATIONS +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_TWINKLE + +# define RGBLIGHT_DEFAULT_HUE 213 +# define RGBLIGHT_DEFAULT_SAT UINT8_MAX +# define RGBLIGHT_DEFAULT_VAL RGBLIGHT_LIMIT_VAL / 2 + +# if defined(RGBLIGHT_EFFECT_TWINKLE) +# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_TWINKLE +# elif defined(RGBLIGHT_EFFECT_RAINBOW_MOOD) +# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD +# else +# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT +# endif + +#endif #define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC diff --git a/users/spidey3/init.c b/users/spidey3/init.c index 0c2bd678e0..014dfdc3c4 100644 --- a/users/spidey3/init.c +++ b/users/spidey3/init.c @@ -11,10 +11,6 @@ void eeconfig_init_user(void) { #ifdef UNICODEMAP_ENABLE eeconfig_init_user_unicode(); #endif - -#ifdef RGBLIGHT_ENABLE - eeconfig_init_user_rgb(); -#endif } #ifdef RGBLIGHT_ENABLE diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c index 7381f64bb2..77558016d0 100644 --- a/users/spidey3/layer_rgb.c +++ b/users/spidey3/layer_rgb.c @@ -13,21 +13,15 @@ bool rgb_saved = 0; extern bool spi_gflock; extern uint16_t spi_replace_mode; -void spidey_glow(void) { +static void set_rgb_default(void) { rgblight_enable(); - rgblight_sethsv(213, 255, 128); - if ((RGBLIGHT_MODE_TWINKLE <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_TWINKLE_end)) { - rgblight_step(); - } else { - rgblight_mode(RGBLIGHT_MODE_TWINKLE); - } + rgblight_sethsv(RGBLIGHT_DEFAULT_HUE, RGBLIGHT_DEFAULT_SAT, RGBLIGHT_DEFAULT_VAL); + rgblight_mode(RGBLIGHT_DEFAULT_MODE); #ifdef VELOCIKEY_ENABLE if (velocikey_enabled()) velocikey_toggle(); #endif } -void eeconfig_init_user_rgb(void) { spidey_glow(); } - // clang-format off // Convenience macros @@ -396,11 +390,9 @@ extern rgblight_config_t rgblight_config; bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch (keycode) { - case SPI_GLO: - spidey_glow(); - return false; - // clang-format off + case SPI_GLO: set_rgb_default(); return false; + case RGB_HUI: change_timer = timer_read(); change_hue = 1; return false; case RGB_HUD: change_timer = timer_read(); change_hue = -1; return false; case RGB_SAI: change_timer = timer_read(); change_sat = 1; return false; diff --git a/users/spidey3/spidey3.h b/users/spidey3/spidey3.h index 6fd26e224e..6d73c669bc 100644 --- a/users/spidey3/spidey3.h +++ b/users/spidey3/spidey3.h @@ -13,13 +13,12 @@ enum userspace_layers { }; enum custom_keycodes { - SPI_GLO = SAFE_RANGE, - SPI_LNX, // Mode: Linux - SPI_OSX, // Mode: Mac - SPI_WIN, // Mode: Windows - CH_CPNL, // AL Control Panel - CH_ASST, // AL Context-aware Desktop Assistant - CH_SUSP, // Suspend + SPI_LNX = SAFE_RANGE, // Mode: Linux + SPI_OSX, // Mode: Mac + SPI_WIN, // Mode: Windows + CH_CPNL, // AL Control Panel + CH_ASST, // AL Context-aware Desktop Assistant + CH_SUSP, // Suspend SPI_NORMAL, SPI_WIDE, @@ -33,6 +32,10 @@ enum custom_keycodes { SPI_MATH, SPI_GFLOCK, SPI_KP_00, + +#ifdef RGBLIGHT_ENABLE + SPI_GLO, +#endif }; #ifdef RGBLIGHT_ENABLE @@ -52,7 +55,6 @@ typedef enum layer_ack { # define RGB_LAYER_ACK_DURATION 500 -void eeconfig_init_user_rgb(void); void matrix_init_user_rgb(void); void matrix_scan_user_rgb(void); void keyboard_post_init_user_rgb(void); -- cgit 1.4.1 From f7aaed1b57d264a983d4890ce6ada930ce2f6368 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 31 Jul 2022 20:36:30 +0100 Subject: Migrate crkbd keymaps to oled driver (#17863) --- keyboards/crkbd/keymaps/davidrambo/config.h | 2 - keyboards/crkbd/keymaps/davidrambo/keymap.c | 3 - keyboards/crkbd/keymaps/devdev/keymap.c | 25 +--- keyboards/crkbd/keymaps/gotham/config.h | 3 - keyboards/crkbd/keymaps/gotham/oled.c | 2 - keyboards/crkbd/keymaps/hvp/config.h | 4 - keyboards/crkbd/keymaps/hvp/keymap.c | 45 ++---- keyboards/crkbd/keymaps/hvp/rules.mk | 9 +- keyboards/crkbd/keymaps/jarred/config.h | 3 - keyboards/crkbd/keymaps/jarred/keymap.c | 47 +----- keyboards/crkbd/keymaps/jarred/rules.mk | 8 +- keyboards/crkbd/keymaps/kidbrazil/config.h | 3 - keyboards/crkbd/keymaps/kidbrazil/keymap.c | 4 +- keyboards/crkbd/keymaps/kidbrazil/rules.mk | 3 - keyboards/crkbd/keymaps/madhatter/config.h | 3 - keyboards/crkbd/keymaps/madhatter/keymap.c | 50 ++----- keyboards/crkbd/keymaps/madhatter/rules.mk | 8 +- keyboards/crkbd/keymaps/ninjonas/keymap.c | 2 - keyboards/crkbd/keymaps/oled_sample/config.h | 4 - keyboards/crkbd/keymaps/rpbaptist/config.h | 2 - keyboards/crkbd/keymaps/rs/config.h | 2 - keyboards/crkbd/keymaps/rs/oled.c | 33 +---- keyboards/crkbd/keymaps/rs/rules.mk | 1 - keyboards/crkbd/keymaps/soundmonster/config.h | 4 - keyboards/crkbd/keymaps/thumb_ctrl/config.h | 2 - keyboards/crkbd/keymaps/thumb_ctrl/keymap.c | 50 ++----- keyboards/crkbd/keymaps/thumb_ctrl/rules.mk | 8 +- keyboards/crkbd/keymaps/thunderbird2086/config.h | 2 - keyboards/crkbd/keymaps/vayashiko/keymap.c | 4 +- keyboards/crkbd/keymaps/vayashiko/rules.mk | 3 +- .../crkbd/keymaps/vlukash_trackpad_left/config.h | 3 - .../crkbd/keymaps/vlukash_trackpad_left/keymap.c | 45 ++---- .../crkbd/keymaps/vlukash_trackpad_left/rules.mk | 8 +- keyboards/crkbd/keymaps/vxid/config.h | 3 - keyboards/crkbd/keymaps/vxid/rules.mk | 8 +- keyboards/crkbd/lib/i2c.c | 162 --------------------- keyboards/crkbd/lib/i2c.h | 46 ------ keyboards/crkbd/lib/layer_state_reader.c | 4 + keyboards/crkbd/rules.mk | 1 + users/ninjonas/oled.c | 2 +- 40 files changed, 97 insertions(+), 524 deletions(-) delete mode 100644 keyboards/crkbd/lib/i2c.c delete mode 100644 keyboards/crkbd/lib/i2c.h (limited to 'users') diff --git a/keyboards/crkbd/keymaps/davidrambo/config.h b/keyboards/crkbd/keymaps/davidrambo/config.h index bf96f265f4..df5e0611e1 100644 --- a/keyboards/crkbd/keymaps/davidrambo/config.h +++ b/keyboards/crkbd/keymaps/davidrambo/config.h @@ -30,8 +30,6 @@ along with this program. If not, see . #define RGBLIGHT_SPLIT -//#define SSD1306OLED - #define TAPPING_TERM 200 #define PERMISSIVE_HOLD diff --git a/keyboards/crkbd/keymaps/davidrambo/keymap.c b/keyboards/crkbd/keymaps/davidrambo/keymap.c index 6e97795220..98ab35bf75 100644 --- a/keyboards/crkbd/keymaps/davidrambo/keymap.c +++ b/keyboards/crkbd/keymaps/davidrambo/keymap.c @@ -16,9 +16,6 @@ #include QMK_KEYBOARD_H -//extern uint8_t is_master; - - enum custom_layers { _COLEMAK, _SYMBOL, diff --git a/keyboards/crkbd/keymaps/devdev/keymap.c b/keyboards/crkbd/keymaps/devdev/keymap.c index a506295749..c00bee6da6 100644 --- a/keyboards/crkbd/keymaps/devdev/keymap.c +++ b/keyboards/crkbd/keymaps/devdev/keymap.c @@ -263,9 +263,6 @@ bool led_update_user(led_t led_state) { } */ - - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (!is_keyboard_master()) { @@ -319,27 +316,15 @@ void oled_render_layer_state(void) { oled_write_ln_P(PSTR("Layer: Layer Switch"),false); break; default: +#if defined (LAYER_STATE_32BIT) snprintf(string, sizeof(string), "%ld",layer_state); +#else + snprintf(string, sizeof(string), "%d",layer_state); +#endif oled_write_P(PSTR("Layer: Undef-"),false); oled_write_ln(string, false); } - } - -/* -void matrix_render_user(struct CharacterMatrix *matrix) { - if (has_usb()) { - // If you want to change the display of OLED, you need to change here - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); - //matrix_write_ln(matrix, read_keylogs()); - //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); - //matrix_write_ln(matrix, read_host_led_state()); - //matrix_write_ln(matrix, read_timelog()); - } else { - matrix_write(matrix, read_logo()); - } } -*/ char keylog_str[24] = {}; const char code_to_name[60] = { @@ -393,7 +378,7 @@ void oled_render_logo(void) { } bool oled_task_user(void) { - if (is_master) { + if (is_keyboard_master()) { oled_render_layer_state(); oled_render_keylog(); } else { diff --git a/keyboards/crkbd/keymaps/gotham/config.h b/keyboards/crkbd/keymaps/gotham/config.h index 45fe8c37a8..2a35f60dad 100644 --- a/keyboards/crkbd/keymaps/gotham/config.h +++ b/keyboards/crkbd/keymaps/gotham/config.h @@ -3,9 +3,6 @@ #define EE_HANDS #define SPLIT_USB_DETECT -#undef USE_I2C -#undef SSD1306OLED - #define USE_SERIAL_PD2 #define IGNORE_MOD_TAP_INTERRUPT diff --git a/keyboards/crkbd/keymaps/gotham/oled.c b/keyboards/crkbd/keymaps/gotham/oled.c index 6bf1233659..c4ac5e736c 100644 --- a/keyboards/crkbd/keymaps/gotham/oled.c +++ b/keyboards/crkbd/keymaps/gotham/oled.c @@ -1,7 +1,5 @@ #pragma once -extern uint8_t is_master; - #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) # include "rgb.c" #endif diff --git a/keyboards/crkbd/keymaps/hvp/config.h b/keyboards/crkbd/keymaps/hvp/config.h index f32ec8cfbe..106e7535e3 100644 --- a/keyboards/crkbd/keymaps/hvp/config.h +++ b/keyboards/crkbd/keymaps/hvp/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED -#define USE_SSD_I2C - - #define USE_SERIAL_PD2 //#define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/hvp/keymap.c b/keyboards/crkbd/keymaps/hvp/keymap.c index 9e72504653..c3d25cd99c 100644 --- a/keyboards/crkbd/keymaps/hvp/keymap.c +++ b/keyboards/crkbd/keymaps/hvp/keymap.c @@ -91,14 +91,9 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_config.mode; #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(); // turns on the display - #endif } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED +#ifdef OLED_ENABLE // When add source files to SRC in rules.mk, you can use functions. const char *read_layer_state(void); @@ -112,42 +107,26 @@ const char *read_keylogs(void); // void set_timelog(void); // const char *read_timelog(void); -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { +bool oled_task_user(void) { if (is_keyboard_master()) { // If you want to change the display of OLED, you need to change here - matrix_write(matrix, read_layer_state()); - matrix_write(matrix, read_keylog()); - //matrix_write_ln(matrix, read_keylogs()); - //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); - //matrix_write_ln(matrix, read_host_led_state()); - //matrix_write_ln(matrix, read_timelog()); + oled_write(read_layer_state(), false); + oled_write(read_keylog(), false); + //oled_write_ln(read_keylogs(), false); + //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false); + //oled_write_ln(read_host_led_state()), false; + //oled_write_ln(read_timelog(), false); } else { - matrix_write(matrix, read_logo()); - } -} - -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; + oled_write(read_logo(), false); } + return false; } -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED +#endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { -#ifdef SSD1306OLED +#ifdef OLED_ENABLE set_keylog(keycode, record); #endif // set_timelog(); diff --git a/keyboards/crkbd/keymaps/hvp/rules.mk b/keyboards/crkbd/keymaps/hvp/rules.mk index 640a07b305..c7ed029e3d 100644 --- a/keyboards/crkbd/keymaps/hvp/rules.mk +++ b/keyboards/crkbd/keymaps/hvp/rules.mk @@ -1,10 +1,5 @@ - -VPATH += keyboards/crkbd/lib -LIB_SRC += ssd1306.c i2c.c - # If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ - ./lib/rgb_state_reader.c \ +SRC += ./lib/rgb_state_reader.c \ ./lib/layer_state_reader.c \ ./lib/logo_reader.c \ ./lib/keylogger.c \ @@ -14,4 +9,6 @@ SRC += ./lib/glcdfont.c \ TAP_DANCE_ENABLE = yes EXTRAKEY_ENABLE = yes # Audio control and System control +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # LOCAL_GLCDFONT = yes diff --git a/keyboards/crkbd/keymaps/jarred/config.h b/keyboards/crkbd/keymaps/jarred/config.h index 012356241d..e5c2029a52 100644 --- a/keyboards/crkbd/keymaps/jarred/config.h +++ b/keyboards/crkbd/keymaps/jarred/config.h @@ -28,9 +28,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED -#define USE_SSD_I2C - #define USE_SERIAL_PD2 //#define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/jarred/keymap.c b/keyboards/crkbd/keymaps/jarred/keymap.c index 3784eff2b8..b0e181b37f 100644 --- a/keyboards/crkbd/keymaps/jarred/keymap.c +++ b/keyboards/crkbd/keymaps/jarred/keymap.c @@ -5,10 +5,6 @@ #include "lufa.h" #include "split_util.h" #endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings @@ -65,15 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void matrix_init_user(void) { - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(); // turns on the display - #endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED +#ifdef OLED_ENABLE // When add source files to SRC in rules.mk, you can use functions. const char *read_logo(void); @@ -142,37 +130,18 @@ const char *read_usb_state(void) { return matrix_line_str; } -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { +bool oled_task_user(void) { if (is_keyboard_master()) { - matrix_write(matrix, read_layer_state()); - matrix_write(matrix, "\n"); - matrix_write(matrix, read_usb_state()); - matrix_write(matrix, "\n"); - matrix_write(matrix, read_keylogs()); - matrix_write(matrix, "\n"); + oled_write_ln(read_layer_state(), false); + oled_write_ln(read_usb_state(), false); + oled_write_ln(read_keylogs(), false); } else { - matrix_write(matrix, read_logo()); + oled_write(read_logo(), false); } + return false; } -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED +#endif bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { diff --git a/keyboards/crkbd/keymaps/jarred/rules.mk b/keyboards/crkbd/keymaps/jarred/rules.mk index c5a73d5bd6..f18100d7ff 100644 --- a/keyboards/crkbd/keymaps/jarred/rules.mk +++ b/keyboards/crkbd/keymaps/jarred/rules.mk @@ -16,19 +16,17 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ - ./lib/rgb_state_reader.c \ +SRC += ./lib/rgb_state_reader.c \ ./lib/logo_reader.c \ ./lib/keylogger.c \ #./lib/layer_state_reader.c \ # ./lib/mode_icon_reader.c \ # ./lib/host_led_state_reader.c \ # ./lib/timelogger.c \ - -VPATH += keyboards/crkbd/lib -LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/kidbrazil/config.h b/keyboards/crkbd/keymaps/kidbrazil/config.h index e44ae520f4..2801436709 100644 --- a/keyboards/crkbd/keymaps/kidbrazil/config.h +++ b/keyboards/crkbd/keymaps/kidbrazil/config.h @@ -29,9 +29,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED -#define USE_SSD_I2C - #define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/kidbrazil/keymap.c b/keyboards/crkbd/keymaps/kidbrazil/keymap.c index 219db22433..6a1e2e0cde 100644 --- a/keyboards/crkbd/keymaps/kidbrazil/keymap.c +++ b/keyboards/crkbd/keymaps/kidbrazil/keymap.c @@ -182,13 +182,13 @@ bool oled_task_user(void) { master_oled_cleared = true; } render_logo(); - return; + return false; } // Drashna style timeout for LED and OLED Roughly 8mins else if (timer_elapsed32(oled_timer) > 480000) { oled_off(); rgb_matrix_disable_noeeprom(); - return; + return false; } else { oled_on(); diff --git a/keyboards/crkbd/keymaps/kidbrazil/rules.mk b/keyboards/crkbd/keymaps/kidbrazil/rules.mk index 5566a6130b..d2c2f649e0 100644 --- a/keyboards/crkbd/keymaps/kidbrazil/rules.mk +++ b/keyboards/crkbd/keymaps/kidbrazil/rules.mk @@ -11,6 +11,3 @@ OLED_DRIVER = SSD1306 # If you want to change the display of OLED, you need to change here SRC += logo_reader.c \ layer.c - -VPATH += keyboards/crkbd/lib -LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/madhatter/config.h b/keyboards/crkbd/keymaps/madhatter/config.h index bcf4e05005..6cbe5befb8 100644 --- a/keyboards/crkbd/keymaps/madhatter/config.h +++ b/keyboards/crkbd/keymaps/madhatter/config.h @@ -28,9 +28,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED -#define USE_SSD_I2C - #define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/madhatter/keymap.c b/keyboards/crkbd/keymaps/madhatter/keymap.c index c228a7b573..f833428a02 100644 --- a/keyboards/crkbd/keymaps/madhatter/keymap.c +++ b/keyboards/crkbd/keymaps/madhatter/keymap.c @@ -17,10 +17,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H -#ifdef SSD1306OLED -# include "ssd1306.h" -# include -#endif +#include enum corny_layers { _QWERTY, @@ -108,14 +105,9 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_get_mode(); #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(); // turns on the display - #endif } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED +#ifdef OLED_ENABLE // When add source files to SRC in rules.mk, you can use functions. const char *read_layer_state(void); @@ -129,42 +121,26 @@ const char *read_keylogs(void); // void set_timelog(void); // const char *read_timelog(void); -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { +bool oled_task_user(void) { if (is_keyboard_master()) { // If you want to change the display of OLED, you need to change here - matrix_write(matrix, read_layer_state()); - matrix_write(matrix, read_keylog()); - //matrix_write_ln(matrix, read_keylogs()); - //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); - //matrix_write_ln(matrix, read_host_led_state()); - //matrix_write_ln(matrix, read_timelog()); + oled_write(read_layer_state(), false); + oled_write(read_keylog(), false); + //oled_write_ln(read_keylogs(), false); + //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false); + //oled_write_ln(read_host_led_state(), false); + //oled_write_ln(read_timelog(), false); } else { - matrix_write(matrix, read_logo()); + oled_write(read_logo(), false); } + return false; } -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED +#endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { -#ifdef SSD1306OLED +#ifdef OLED_ENABLE set_keylog(keycode, record); #endif // set_timelog(); diff --git a/keyboards/crkbd/keymaps/madhatter/rules.mk b/keyboards/crkbd/keymaps/madhatter/rules.mk index 489b16ef1c..89a2791bcd 100644 --- a/keyboards/crkbd/keymaps/madhatter/rules.mk +++ b/keyboards/crkbd/keymaps/madhatter/rules.mk @@ -1,13 +1,11 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ - ./lib/rgb_state_reader.c \ +SRC += ./lib/rgb_state_reader.c \ ./lib/layer_state_reader.c \ ./lib/logo_reader.c \ ./lib/keylogger.c \ # ./lib/mode_icon_reader.c \ # ./lib/host_led_state_reader.c \ # ./lib/timelogger.c \ - -VPATH += keyboards/crkbd/lib -LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/ninjonas/keymap.c b/keyboards/crkbd/keymaps/ninjonas/keymap.c index bea80d2fd6..e29fda6deb 100644 --- a/keyboards/crkbd/keymaps/ninjonas/keymap.c +++ b/keyboards/crkbd/keymaps/ninjonas/keymap.c @@ -1,8 +1,6 @@ #include QMK_KEYBOARD_H #include "ninjonas.h" -uint8_t is_master; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT_wrapper( //,----------------------------------------------------. ,----------------------------------------------------. diff --git a/keyboards/crkbd/keymaps/oled_sample/config.h b/keyboards/crkbd/keymaps/oled_sample/config.h index 41568c5916..450653e46c 100644 --- a/keyboards/crkbd/keymaps/oled_sample/config.h +++ b/keyboards/crkbd/keymaps/oled_sample/config.h @@ -21,10 +21,6 @@ along with this program. If not, see . #pragma once //#define USE_MATRIX_I2C -#ifdef KEYBOARD_crkbd_rev1_common -# undef USE_I2C -# define USE_SERIAL -#endif /* Select hand configuration */ diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h index 3300684d63..994aef314e 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/config.h +++ b/keyboards/crkbd/keymaps/rpbaptist/config.h @@ -26,11 +26,9 @@ along with this program. If not, see . #define EE_HANDS #ifdef OLED_ENABLE -# undef SSD1306OLED # define OLED_TIMEOUT 600000 #endif -#undef USE_I2C #define USE_SERIAL_PD2 // #define FORCE_NKRO diff --git a/keyboards/crkbd/keymaps/rs/config.h b/keyboards/crkbd/keymaps/rs/config.h index a2d5092dee..60f33e7585 100644 --- a/keyboards/crkbd/keymaps/rs/config.h +++ b/keyboards/crkbd/keymaps/rs/config.h @@ -28,8 +28,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -// #define SSD1306OLED - #define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/rs/oled.c b/keyboards/crkbd/keymaps/rs/oled.c index bd8ae7d299..a4c71daac2 100644 --- a/keyboards/crkbd/keymaps/rs/oled.c +++ b/keyboards/crkbd/keymaps/rs/oled.c @@ -1,13 +1,10 @@ -#ifdef SSD1306OLED +#ifdef OLED_ENABLE #include QMK_KEYBOARD_H -#include "ssd1306.h" #ifdef PROTOCOL_LUFA #include "lufa.h" #include "split_util.h" #endif -extern uint8_t is_master; - // When add source files to SRC in rules.mk, you can use functions. const char *read_logo(void); const char *read_keylog(void); @@ -47,7 +44,6 @@ void update_keymap_status(void) { #endif void matrix_init_user(void) { - iota_gfx_init(!has_usb()); // turns on the display update_keymap_status(); } @@ -74,31 +70,18 @@ layer_state_t layer_state_set_user(layer_state_t state) { } static inline void render_keymap_status(struct CharacterMatrix *matrix) { - matrix_write(matrix, layer_status_buf); + oled_write(layer_status_buf); } -void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { +bool oled_task_user(void) { + if (is_keyboard_master()) { render_keymap_status(matrix); - matrix_write_ln(matrix, read_keylog()); - matrix_write_ln(matrix, read_keylogs()); + oled_write_ln(read_keylog(), false); + oled_write_ln(read_keylogs(), false); } else { - matrix_write(matrix, read_logo()); - } -} - -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; + oled_write(read_logo(), false); } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); + return false; } #endif diff --git a/keyboards/crkbd/keymaps/rs/rules.mk b/keyboards/crkbd/keymaps/rs/rules.mk index c754ebdcbc..5a76c38f38 100644 --- a/keyboards/crkbd/keymaps/rs/rules.mk +++ b/keyboards/crkbd/keymaps/rs/rules.mk @@ -25,7 +25,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # If you want to change the display of OLED, you need to change here SRC += oled.c \ - ./lib/glcdfont.c \ ./lib/rgb_state_reader.c \ ./lib/layer_state_reader.c \ ./lib/logo_reader.c \ diff --git a/keyboards/crkbd/keymaps/soundmonster/config.h b/keyboards/crkbd/keymaps/soundmonster/config.h index 3a31f8613f..2d2b394369 100644 --- a/keyboards/crkbd/keymaps/soundmonster/config.h +++ b/keyboards/crkbd/keymaps/soundmonster/config.h @@ -28,10 +28,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -// #define SSD1306OLED -#undef USE_I2C -#undef SSD1306OLED - #define USE_SERIAL_PD2 // #define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/config.h b/keyboards/crkbd/keymaps/thumb_ctrl/config.h index 4aee2aed14..10b89aede5 100755 --- a/keyboards/crkbd/keymaps/thumb_ctrl/config.h +++ b/keyboards/crkbd/keymaps/thumb_ctrl/config.h @@ -28,8 +28,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -// #define SSD1306OLED - #define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c b/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c index cbd7a46890..a4b4f67fb4 100755 --- a/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c +++ b/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c @@ -4,9 +4,6 @@ #include "lufa.h" #include "split_util.h" #endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif extern keymap_config_t keymap_config; @@ -129,14 +126,9 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_config.mode; #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED +#ifdef OLED_ENABLE // When add source files to SRC in rules.mk, you can use functions. const char *read_layer_state(void); @@ -150,42 +142,26 @@ const char *read_keylogs(void); // void set_timelog(void); // const char *read_timelog(void); -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { +bool oled_task_user(void) { + if (is_keyboard_master()) { // If you want to change the display of OLED, you need to change here - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); - matrix_write_ln(matrix, read_keylogs()); - //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); - //matrix_write_ln(matrix, read_host_led_state()); - //matrix_write_ln(matrix, read_timelog()); + oled_write_ln(read_layer_state(), false); + oled_write_ln(read_keylog(), false); + oled_write_ln(read_keylogs(), false); + //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false); + //oled_write_ln(read_host_led_state(), false); + //oled_write_ln(read_timelog(), false); } else { - matrix_write(matrix, read_logo()); + oled_write(read_logo(), false); } + return false; } -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED +#endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { -#ifdef SSD1306OLED +#ifdef OLED_ENABLE set_keylog(keycode, record); #endif // set_timelog(); diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk b/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk index e1d691834d..193aa14dac 100755 --- a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk +++ b/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk @@ -16,19 +16,17 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ - ./lib/rgb_state_reader.c \ +SRC += ./lib/rgb_state_reader.c \ ./lib/layer_state_reader.c \ ./lib/logo_reader.c \ ./lib/keylogger.c \ # ./lib/mode_icon_reader.c \ # ./lib/host_led_state_reader.c \ # ./lib/timelogger.c \ - -VPATH += keyboards/crkbd/lib -LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/thunderbird2086/config.h b/keyboards/crkbd/keymaps/thunderbird2086/config.h index 735caadaee..36afd9b469 100644 --- a/keyboards/crkbd/keymaps/thunderbird2086/config.h +++ b/keyboards/crkbd/keymaps/thunderbird2086/config.h @@ -7,8 +7,6 @@ #define SPLIT_USB_DETECT // #define RGB_LAYER_ENABLE -#undef USE_I2C -#undef SSD1306OLED #define IGNORE_MOD_TAP_INTERRUPT #define PERMISSIVE_HOLD diff --git a/keyboards/crkbd/keymaps/vayashiko/keymap.c b/keyboards/crkbd/keymaps/vayashiko/keymap.c index f3cf5cb2f6..77229a3603 100644 --- a/keyboards/crkbd/keymaps/vayashiko/keymap.c +++ b/keyboards/crkbd/keymaps/vayashiko/keymap.c @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_master) { + if (!is_keyboard_master()) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } return rotation; @@ -165,7 +165,7 @@ void oled_render_logo(void) { } bool oled_task_user(void) { - if (is_master) { + if (is_keyboard_master()) { oled_render_layer_state(); oled_render_keylog(); } else { diff --git a/keyboards/crkbd/keymaps/vayashiko/rules.mk b/keyboards/crkbd/keymaps/vayashiko/rules.mk index b8ba838422..c29927421d 100644 --- a/keyboards/crkbd/keymaps/vayashiko/rules.mk +++ b/keyboards/crkbd/keymaps/vayashiko/rules.mk @@ -21,8 +21,7 @@ SWAP_HANDS_ENABLE = no # Enable one-hand typing SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ - ./lib/rgb_state_reader.c \ +SRC += ./lib/rgb_state_reader.c \ ./lib/layer_state_reader.c \ ./lib/logo_reader.c \ ./lib/keylogger.c \ diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h index d1c3855402..94494bafd8 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h @@ -5,9 +5,6 @@ #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED -#define USE_SSD_I2C - #define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c b/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c index 7940e28025..eb30873f5b 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c @@ -4,9 +4,6 @@ #include "lufa.h" #include "split_util.h" #endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings @@ -122,14 +119,9 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_config.mode; #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(); // turns on the display - #endif } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED +#ifdef OLED_ENABLE // When add source files to SRC in rules.mk, you can use functions. const char *read_layer_state(void); @@ -138,42 +130,23 @@ void set_keylog(uint16_t keycode, keyrecord_t *record); const char *read_keylog(void); const char *read_keylogs(void); -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { +bool oled_task_user(void) { if (is_keyboard_master()) { // If you want to change the display of OLED, you need to change here - matrix_write(matrix, read_layer_state()); - matrix_write(matrix, "\n"); - matrix_write(matrix, read_keylog()); - matrix_write(matrix, "\n"); - matrix_write(matrix, read_keylogs()); - matrix_write(matrix, "\n"); + oled_write_ln(read_layer_state(), false); + oled_write_ln(read_keylog(), false); + oled_write_ln(read_keylogs(), false); } else { - matrix_write(matrix, read_logo()); + oled_write(read_logo(), false); } + return false; } -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED +#endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { -#ifdef SSD1306OLED +#ifdef OLED_ENABLE set_keylog(keycode, record); #endif } diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk b/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk index 44ff63ada1..ed4d34a70b 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk @@ -1,14 +1,12 @@ # Build Options RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 BOOTLOADER = atmel-dfu # If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ - ./lib/rgb_state_reader.c \ +SRC += ./lib/rgb_state_reader.c \ ./lib/layer_state_reader.c \ ./lib/logo_reader.c \ ./lib/keylogger.c \ - -VPATH += keyboards/crkbd/lib -LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/vxid/config.h b/keyboards/crkbd/keymaps/vxid/config.h index d9c0cbccf4..7a4596f3b2 100644 --- a/keyboards/crkbd/keymaps/vxid/config.h +++ b/keyboards/crkbd/keymaps/vxid/config.h @@ -28,9 +28,6 @@ along with this program. If not, see . #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED -#define USE_SSD_I2C - #define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD diff --git a/keyboards/crkbd/keymaps/vxid/rules.mk b/keyboards/crkbd/keymaps/vxid/rules.mk index cb104fb344..432e219476 100644 --- a/keyboards/crkbd/keymaps/vxid/rules.mk +++ b/keyboards/crkbd/keymaps/vxid/rules.mk @@ -16,19 +16,17 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ - ./lib/rgb_state_reader.c \ +SRC += ./lib/rgb_state_reader.c \ ./lib/layer_state_reader.c \ ./lib/logo_reader.c \ ./lib/keylogger.c \ # ./lib/mode_icon_reader.c \ # ./lib/host_led_state_reader.c \ # ./lib/timelogger.c \ - -VPATH += keyboards/crkbd/lib -LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/lib/i2c.c b/keyboards/crkbd/lib/i2c.c deleted file mode 100644 index 7b82e838c2..0000000000 --- a/keyboards/crkbd/lib/i2c.c +++ /dev/null @@ -1,162 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "i2c.h" - -#if defined(USE_SSD_I2C) - -// Limits the amount of we wait for any one i2c transaction. -// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is -// 9 bits, a single transaction will take around 90μs to complete. -// -// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit -// poll loop takes at least 8 clock cycles to execute -#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8 - -#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE) - -volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -static volatile uint8_t slave_buffer_pos; -static volatile bool slave_has_register_set = false; - -// Wait for an i2c operation to finish -inline static -void i2c_delay(void) { - uint16_t lim = 0; - while(!(TWCR & (1<10. - // Check datasheets for more info. - TWBR = ((F_CPU/SCL_CLOCK)-16)/2; -} - -// Start a transaction with the given i2c slave address. The direction of the -// transfer is set with I2C_READ and I2C_WRITE. -// returns: 0 => success -// 1 => error -uint8_t i2c_master_start(uint8_t address) { - TWCR = (1< slave ACK -// 1 => slave NACK -uint8_t i2c_master_write(uint8_t data) { - TWDR = data; - TWCR = (1<= SLAVE_BUFFER_SIZE ) { - ack = 0; - slave_buffer_pos = 0; - } - slave_has_register_set = true; - } else { - i2c_slave_buffer[slave_buffer_pos] = TWDR; - BUFFER_POS_INC(); - } - break; - - case TW_ST_SLA_ACK: - case TW_ST_DATA_ACK: - // master has addressed this device as a slave transmitter and is - // requesting data. - TWDR = i2c_slave_buffer[slave_buffer_pos]; - BUFFER_POS_INC(); - break; - - case TW_BUS_ERROR: // something went wrong, reset twi state - TWCR = 0; - default: - break; - } - // Reset everything, so we are ready for the next TWI interrupt - TWCR |= (1< - -#ifndef F_CPU -#define F_CPU 16000000UL -#endif - -#define I2C_READ 1 -#define I2C_WRITE 0 - -#define I2C_ACK 1 -#define I2C_NACK 0 - -#define SLAVE_BUFFER_SIZE 0x10 - -// i2c SCL clock frequency 400kHz -#define SCL_CLOCK 400000L - -extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE]; - -void i2c_master_init(void); -uint8_t i2c_master_start(uint8_t address); -void i2c_master_stop(void); -uint8_t i2c_master_write(uint8_t data); -uint8_t i2c_master_read(int); -void i2c_reset_state(void); -void i2c_slave_init(uint8_t address); - - -static inline unsigned char i2c_start_read(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_READ); -} - -static inline unsigned char i2c_start_write(unsigned char addr) { - return i2c_master_start((addr << 1) | I2C_WRITE); -} - -// from SSD1306 scrips -extern unsigned char i2c_rep_start(unsigned char addr); -extern void i2c_start_wait(unsigned char addr); -extern unsigned char i2c_readAck(void); -extern unsigned char i2c_readNak(void); -extern unsigned char i2c_read(unsigned char ack); - -#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); diff --git a/keyboards/crkbd/lib/layer_state_reader.c b/keyboards/crkbd/lib/layer_state_reader.c index 63d80b136c..601fd71958 100644 --- a/keyboards/crkbd/lib/layer_state_reader.c +++ b/keyboards/crkbd/lib/layer_state_reader.c @@ -29,7 +29,11 @@ const char *read_layer_state(void) { snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust"); break; default: +#if defined (LAYER_STATE_32BIT) snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state); +#else + snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%d", layer_state); +#endif } return layer_state_str; diff --git a/keyboards/crkbd/rules.mk b/keyboards/crkbd/rules.mk index 4f373d53da..2e91f24848 100644 --- a/keyboards/crkbd/rules.mk +++ b/keyboards/crkbd/rules.mk @@ -18,6 +18,7 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 +LTO_ENABLE = yes # if firmware size over limit, try this option # LTO_ENABLE = yes diff --git a/users/ninjonas/oled.c b/users/ninjonas/oled.c index 463c6dfebb..73cd50fb8c 100644 --- a/users/ninjonas/oled.c +++ b/users/ninjonas/oled.c @@ -93,7 +93,7 @@ static void render_logo(void) { bool oled_task_user(void) { if (timer_elapsed32(oled_timer) > 15000) { oled_off(); - return; + return false; } #ifndef SPLIT_KEYBOARD else { oled_on(); } -- cgit 1.4.1 From f27b617f36d55ac5469247016a1b79304f892366 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Sat, 6 Aug 2022 12:51:13 +0200 Subject: [Core] Process all changed keys in one scan loop, deprecate `QMK_KEYS_PER_SCAN` (#15292) --- data/mappings/info_config.json | 2 +- docs/config_options.md | 9 -- docs/ja/config_options.md | 2 - .../gherkin/keymaps/stevexyz/config.h | 2 - keyboards/ai03/jp60/keymaps/default/config.h | 20 --- keyboards/ai03/jp60/keymaps/via/config.h | 20 --- keyboards/bioi/morgan65/config.h | 2 - keyboards/doio/kb16/config.h | 3 - .../dztech/dz60rgb/keymaps/kgreulich/config.h | 2 - .../dztech/dz60rgb/keymaps/matthewrobo/config.h | 2 - keyboards/dztech/dz60rgb/keymaps/xunz/config.h | 2 - .../dztech/dz65rgb/keymaps/matthewrobo/config.h | 2 - keyboards/dztech/dz65rgb/keymaps/yuannan/config.h | 2 - .../ergodox_ez/keymaps/dvorak_42_key/keymap.c | 2 - .../ergodox_ez/keymaps/hacker_dvorak/config.h | 1 - keyboards/ergodox_ez/keymaps/rgb_layer/config.h | 6 +- keyboards/ergodox_ez/keymaps/rmw/config.h | 1 - keyboards/eternal_keypad/keymaps/kyek/config.h | 2 - keyboards/gmmk/gmmk2/p96/config.h | 4 - keyboards/gmmk/pro/config.h | 3 - keyboards/gopolar/gg86/config.h | 3 - keyboards/handwired/marauder/config.h | 2 +- keyboards/handwired/xealous/config.h | 1 - .../horrortroll/chinese_pcb/black_e65/config.h | 3 - .../horrortroll/chinese_pcb/devil68_pro/config.h | 3 - keyboards/horrortroll/handwired_k552/config.h | 3 - keyboards/horrortroll/lemon40/config.h | 3 - keyboards/horrortroll/paws60/config.h | 3 - keyboards/ianklug/grooveboard/config.h | 2 - keyboards/jadookb/jkb2/keymaps/via/config.h | 19 --- keyboards/jadookb/jkb65/keymaps/via/config.h | 19 --- .../kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h | 2 - .../kbd67/mkiirgb/keymaps/pascalpfeil/config.h | 3 - keyboards/keystonecaps/gameroyadvance/config.h | 4 - .../kprepublic/bm40hsrgb/keymaps/34keys/config.h | 5 +- .../bm40hsrgb/keymaps/gabustoledo/config.h | 3 - .../bm68hsrgb/rev1/keymaps/peepeetee/config.h | 1 - .../bm80hsrgb/keymaps/peepeetee/config.h | 1 - .../kprepublic/jj40/keymaps/stevexyz/config.h | 2 - keyboards/lets_split/keymaps/piemod/config.h | 3 - .../lfkpad/keymaps/pascalpfeil/config.h | 3 - .../minidox/keymaps/norman/config.h | 1 - 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/ml/gas75/config.h | 3 - keyboards/mmkzoo65/config.h | 1 - keyboards/mss_studio/m63_rgb/config.h | 3 - keyboards/mss_studio/m64_rgb/config.h | 3 - .../mwstudio/mw65_rgb/keymaps/horrortroll/config.h | 4 - .../mwstudio/mw65_rgb/keymaps/thearesia/config.h | 4 - keyboards/pierce/keymaps/durken1/config.h | 4 - .../rgbkb/zen/rev1/keymaps/cwebster2/config.h | 2 - keyboards/sanctified/dystopia/config.h | 2 - keyboards/signum/3_0/keymaps/sgurenkov/config.h | 3 - keyboards/skme/zeno/config.h | 3 - keyboards/sofle/keymaps/killmaster/config.h | 1 - keyboards/splitkb/kyria/keymaps/cwebster2/config.h | 2 - keyboards/synthlabs/solo/config.h | 2 - keyboards/xelus/dharma/keymaps/default/config.h | 18 --- keyboards/xelus/dharma/keymaps/via/config.h | 18 --- keyboards/xelus/kangaroo/keymaps/default/config.h | 18 --- keyboards/xelus/kangaroo/keymaps/via/config.h | 18 --- keyboards/xelus/la_plus/keymaps/default/config.h | 19 --- keyboards/xelus/la_plus/keymaps/via/config.h | 2 - .../xelus/pachi/mini_32u4/keymaps/default/config.h | 18 --- .../xelus/pachi/mini_32u4/keymaps/via/config.h | 2 - .../xelus/pachi/rev1/keymaps/default/config.h | 18 --- keyboards/xelus/pachi/rev1/keymaps/via/config.h | 2 - keyboards/xelus/pachi/rgb/keymaps/default/config.h | 18 --- keyboards/xelus/pachi/rgb/keymaps/via/config.h | 2 - keyboards/xelus/rs60/keymaps/default/config.h | 18 --- keyboards/xelus/rs60/keymaps/via/config.h | 18 --- .../xelus/valor/rev2/keymaps/default/config.h | 18 --- keyboards/xelus/valor/rev2/keymaps/via/config.h | 2 - .../xelus/valor_frl_tkl/keymaps/default/config.h | 18 --- keyboards/xelus/valor_frl_tkl/keymaps/via/config.h | 18 --- keyboards/xelus/xs60/keymaps/default/config.h | 18 --- keyboards/xelus/xs60/keymaps/via/config.h | 2 - keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h | 1 - .../65_ansi_blocker/brandonschlack/config.h | 2 - .../brandonschlack-split/config.h | 2 - quantum/keyboard.c | 138 +++++++++++---------- quantum/keyboard.h | 8 +- tests/basic/test_keypress.cpp | 22 ---- tests/tap_dance/test_examples.cpp | 3 +- users/curry/config.h | 4 - users/drashna/post_config.h | 4 - users/ishtob/config.h | 1 - users/issmirnov/config.h | 3 - users/kuchosauronad0/config.h | 4 - users/miles2go/config.h | 4 - users/yet-another-developer/config.h | 4 - users/zer09/config.h | 4 - 96 files changed, 86 insertions(+), 603 deletions(-) delete mode 100644 keyboards/ai03/jp60/keymaps/default/config.h delete mode 100644 keyboards/ai03/jp60/keymaps/via/config.h delete mode 100644 keyboards/jadookb/jkb2/keymaps/via/config.h delete mode 100644 keyboards/jadookb/jkb65/keymaps/via/config.h delete mode 100644 keyboards/xelus/dharma/keymaps/default/config.h delete mode 100644 keyboards/xelus/dharma/keymaps/via/config.h delete mode 100644 keyboards/xelus/kangaroo/keymaps/default/config.h delete mode 100644 keyboards/xelus/kangaroo/keymaps/via/config.h delete mode 100644 keyboards/xelus/la_plus/keymaps/default/config.h delete mode 100644 keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h delete mode 100644 keyboards/xelus/pachi/rev1/keymaps/default/config.h delete mode 100644 keyboards/xelus/pachi/rgb/keymaps/default/config.h delete mode 100644 keyboards/xelus/rs60/keymaps/default/config.h delete mode 100644 keyboards/xelus/rs60/keymaps/via/config.h delete mode 100644 keyboards/xelus/valor/rev2/keymaps/default/config.h delete mode 100644 keyboards/xelus/valor_frl_tkl/keymaps/default/config.h delete mode 100644 keyboards/xelus/valor_frl_tkl/keymaps/via/config.h delete mode 100644 keyboards/xelus/xs60/keymaps/default/config.h (limited to 'users') diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index 3891ef6437..d03f50c51e 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -82,7 +82,6 @@ "VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"}, "QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"}, "QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"}, - "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int"}, "QMK_LED": {"info_key": "qmk_lufa_bootloader.led"}, "QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"}, "SECURE_UNLOCK_SEQUENCE": {"info_key": "secure.unlock_sequence", "value_type": "array.array.int", "to_json": false}, @@ -114,4 +113,5 @@ "DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true}, "PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true}, "RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool", "deprecated": true}, + "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true}, } diff --git a/docs/config_options.md b/docs/config_options.md index f50748b950..c0a150e405 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -182,15 +182,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 QMK_KEYS_PER_SCAN 4` - * Allows sending more than one key per scan. By default, only one key event gets - sent via `process_record()` per scan. This has little impact on most typing, but - if you're doing a lot of chords, or your scan rate is slow to begin with, you can - have some delay in processing key events. Each press and release is a separate - event. For a keyboard with 1ms or so scan times, even a very fast typist isn't - going to produce the 500 keystrokes a second needed to actually get more than a - few ms of delay from this. But if you're doing chording on something with 3-4ms - scan times? You probably want this. * `#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` diff --git a/docs/ja/config_options.md b/docs/ja/config_options.md index 5236230a10..c95753bd5d 100644 --- a/docs/ja/config_options.md +++ b/docs/ja/config_options.md @@ -181,8 +181,6 @@ QMK での全ての利用可能な設定にはデフォルトがあります。 * ワンショットがタイムアウトするまでの時間 * `#define ONESHOT_TAP_TOGGLE 2` * ワンショットトグルが引き起こされるまでのタップ数 -* `#define QMK_KEYS_PER_SCAN 4` - * 走査ごとに1つ以上のキーを送信できるようにします。デフォルトでは、走査ごとに `process_record()` 経由で1つのキーイベントのみが送信されます。これはほとんどのタイピングにほとんど影響しませんが、多くのコードを入力しているか、走査レートが最初から遅い場合、キーイベントの処理に多少の遅延が生じる可能性があります。それぞれのプレスとリリースは別のイベントです。スキャン時間が 1ms 程度のキーボードの場合、とても高速なタイピストでさえ、実際にキーボードから数 ms 以上の遅延を発生させるのに必要な 500 キーストロークを1秒間に生成することはないでしょう。しかし、3~4ms の走査時間でコードを入力している場合はどうでしょうか?おそらくこれが必要です。 * `#define COMBO_COUNT 2` * [コンボ](ja/feature_combo.md)機能で使っているコンボの数にこれを設定します。 * `#define COMBO_TERM 200` diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h index c708babf16..d837be8ba1 100644 --- a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h +++ b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h @@ -39,8 +39,6 @@ // how long before oneshot times out #define ONESHOT_TAP_TOGGLE 2 // how many taps before oneshot toggle is triggered - #define QMK_KEYS_PER_SCAN 4 - // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. #define COMBO_COUNT 2 // Set this to the number of combos that you're using in the Combo feature. #define COMBO_TERM 200 diff --git a/keyboards/ai03/jp60/keymaps/default/config.h b/keyboards/ai03/jp60/keymaps/default/config.h deleted file mode 100644 index 9e0623524a..0000000000 --- a/keyboards/ai03/jp60/keymaps/default/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 ai03 - * - * 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 with this program. If not, see . - */ - -#pragma once - -/* Increase scan quantity for improved performance */ -#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/ai03/jp60/keymaps/via/config.h b/keyboards/ai03/jp60/keymaps/via/config.h deleted file mode 100644 index 9e0623524a..0000000000 --- a/keyboards/ai03/jp60/keymaps/via/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright 2021 ai03 - * - * 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 with this program. If not, see . - */ - -#pragma once - -/* Increase scan quantity for improved performance */ -#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/bioi/morgan65/config.h b/keyboards/bioi/morgan65/config.h index e4ad58c3a7..2ce3c7a56b 100644 --- a/keyboards/bioi/morgan65/config.h +++ b/keyboards/bioi/morgan65/config.h @@ -37,8 +37,6 @@ along with this program. If not, see . #define MATRIX_ROW_PINS { E6, C6, F4, B2, D4 } #define MATRIX_COL_PINS { F5, F6, F7, C7, B0, B7, B5, D5, B4, D7, D6, D1, D0, B3 } -//#define QMK_KEYS_PER_SCAN 4 - /* Backlight Setup */ #define BACKLIGHT_PIN B6 #define BACKLIGHT_LEVELS 12 diff --git a/keyboards/doio/kb16/config.h b/keyboards/doio/kb16/config.h index 043a492006..911ba9d3d5 100644 --- a/keyboards/doio/kb16/config.h +++ b/keyboards/doio/kb16/config.h @@ -39,9 +39,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Larger keys per scan */ -#define QMK_KEYS_PER_SCAN 12 - /* Use the custom font */ #define OLED_FONT_H "lib/glcdfont.c" diff --git a/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h b/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h index fc836b5ebb..e3250acef1 100644 --- a/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h +++ b/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h @@ -7,8 +7,6 @@ #define TAP_HOLD_CAPS_DELAY 0 #define USB_POLLING_INTERVAL_MS 1 -#define QMK_KEYS_PER_SCAN 4 - // some speed shit #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h index c2b14f5284..ca64eeb69b 100644 --- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h +++ b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h @@ -51,8 +51,6 @@ // #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#define QMK_KEYS_PER_SCAN 4 - // #define RGB_MATRIX_KEYRELEASES // some speed shit diff --git a/keyboards/dztech/dz60rgb/keymaps/xunz/config.h b/keyboards/dztech/dz60rgb/keymaps/xunz/config.h index cfeba003bd..2fdb3e5f4c 100644 --- a/keyboards/dztech/dz60rgb/keymaps/xunz/config.h +++ b/keyboards/dztech/dz60rgb/keymaps/xunz/config.h @@ -46,8 +46,6 @@ // #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#define QMK_KEYS_PER_SCAN 4 - // #define RGB_MATRIX_KEYRELEASES #define NO_ACTION_ONESHOT diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h index 586e5765aa..25842ac186 100644 --- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h +++ b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h @@ -47,8 +47,6 @@ // #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#define QMK_KEYS_PER_SCAN 4 - // #define RGB_MATRIX_KEYRELEASES // some speed shit diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h b/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h index 0a005cbca3..ef5023f8c6 100644 --- a/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h +++ b/keyboards/dztech/dz65rgb/keymaps/yuannan/config.h @@ -30,8 +30,6 @@ #define RGB_MATRIX_VAL_STEP 8 #define RGB_MATRIX_SPD_STEP 8 -//#define QMK_KEYS_PER_SCAN 12nn - #define MOUSEKEY_DELAY 0 #define MOUSEKEY_INTERVAL 1 #define MOUSEKEY_MOVE_DELTA 1 diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c index ff9ae77bdd..93b82df8cf 100644 --- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c +++ b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c @@ -20,8 +20,6 @@ // debounce settings // remove these after getting a new keyboard // #define DEBOUNCE 50 -// #define QMK_KEYS_PER_SCAN 4 - enum custom_keycodes { PLACEHOLDER = SAFE_RANGE, // can always be here diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h index c35963d842..acd3a44e16 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h @@ -25,7 +25,6 @@ #define LEADER_TIMEOUT 1000 #define PERMISSIVE_HOLD -#define QMK_KEYS_PER_SCAN 4 #define DANCING_TERM 175 #define ONESHOT_TAP_TOGGLE 5 diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/config.h b/keyboards/ergodox_ez/keymaps/rgb_layer/config.h index 1913a2d369..84c5adfc9e 100644 --- a/keyboards/ergodox_ez/keymaps/rgb_layer/config.h +++ b/keyboards/ergodox_ez/keymaps/rgb_layer/config.h @@ -2,13 +2,9 @@ #define KEYMAP_CONFIG_H - #define RGBLIGHT_SLEEP +#define RGBLIGHT_SLEEP -#ifndef QMK_KEYS_PER_SCAN -#define QMK_KEYS_PER_SCAN 4 -#endif // !QMK_KEYS_PER_SCAN - #define IGNORE_MOD_TAP_INTERRUPT #undef PERMISSIVE_HOLD diff --git a/keyboards/ergodox_ez/keymaps/rmw/config.h b/keyboards/ergodox_ez/keymaps/rmw/config.h index 1ecf8b8b79..1b7528a4a7 100644 --- a/keyboards/ergodox_ez/keymaps/rmw/config.h +++ b/keyboards/ergodox_ez/keymaps/rmw/config.h @@ -22,7 +22,6 @@ along with this program. If not, see . #define USB_MAX_POWER_CONSUMPTION 500 -#define QMK_KEYS_PER_SCAN 4 /* Set 0 if debouncing isn't needed */ #undef DEBOUNCE #define DEBOUNCE 5 diff --git a/keyboards/eternal_keypad/keymaps/kyek/config.h b/keyboards/eternal_keypad/keymaps/kyek/config.h index 226b16e546..36ab46334c 100644 --- a/keyboards/eternal_keypad/keymaps/kyek/config.h +++ b/keyboards/eternal_keypad/keymaps/kyek/config.h @@ -17,5 +17,3 @@ #define ONESHOT_TIMEOUT 2000 #define FORCE_NKRO -#define USB_POLLING_INTERVAL_MS 1 -#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/gmmk/gmmk2/p96/config.h b/keyboards/gmmk/gmmk2/p96/config.h index 1b3a92dd53..fec383c240 100644 --- a/keyboards/gmmk/gmmk2/p96/config.h +++ b/keyboards/gmmk/gmmk2/p96/config.h @@ -119,10 +119,6 @@ #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH - -/* Send up to 4 key press events per scan */ -#define QMK_KEYS_PER_SCAN 4 - /* Set debounce time to 5ms */ #define DEBOUNCE 5 diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h index aba69c8872..aea22c5434 100644 --- a/keyboards/gmmk/pro/config.h +++ b/keyboards/gmmk/pro/config.h @@ -113,9 +113,6 @@ #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -/* Send up to 4 key press events per scan */ -#define QMK_KEYS_PER_SCAN 4 - /* Set debounce time to 5ms */ #define DEBOUNCE 5 diff --git a/keyboards/gopolar/gg86/config.h b/keyboards/gopolar/gg86/config.h index 7566bd2c3f..7964834623 100644 --- a/keyboards/gopolar/gg86/config.h +++ b/keyboards/gopolar/gg86/config.h @@ -35,9 +35,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change larger keys per scan for elite gaming */ -#define QMK_KEYS_PER_SCAN 12 - /* Use the custom font */ #define OLED_FONT_H "lib/glcdfont.c" diff --git a/keyboards/handwired/marauder/config.h b/keyboards/handwired/marauder/config.h index fdc269fb7f..a3165c480d 100644 --- a/keyboards/handwired/marauder/config.h +++ b/keyboards/handwired/marauder/config.h @@ -36,7 +36,7 @@ #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, B0 } #define DIODE_DIRECTION COL2ROW #define LAYER_STATE_8BIT -#define QMK_KEYS_PER_SCAN 12 // moar gaming code + #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN #define RGBLED_NUM 7 diff --git a/keyboards/handwired/xealous/config.h b/keyboards/handwired/xealous/config.h index 5c1469b1f0..2502b4d196 100644 --- a/keyboards/handwired/xealous/config.h +++ b/keyboards/handwired/xealous/config.h @@ -29,7 +29,6 @@ along with this program. If not, see . //#define DEBUG_MATRIX_SCAN_RATE //Use this to determine scan-rate. #define FORCE_NKRO -#define QMK_KEYS_PER_SCAN 4 //if we press four keys simultaneously, lets process them simultaneously... #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/config.h b/keyboards/horrortroll/chinese_pcb/black_e65/config.h index f544206b81..bcd38d62c7 100644 --- a/keyboards/horrortroll/chinese_pcb/black_e65/config.h +++ b/keyboards/horrortroll/chinese_pcb/black_e65/config.h @@ -38,9 +38,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change larger keys per scan for elite gaming */ -#define QMK_KEYS_PER_SCAN 12 - /* LED Indicator */ #define LED_CAPS_LOCK_PIN C7 diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h index 82465cf99c..8a227f3c49 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h @@ -38,9 +38,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change larger keys per scan for elite gaming */ -#define QMK_KEYS_PER_SCAN 12 - #ifdef RGB_MATRIX_ENABLE #define DRIVER_LED_TOTAL 86 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 diff --git a/keyboards/horrortroll/handwired_k552/config.h b/keyboards/horrortroll/handwired_k552/config.h index 09e89b13c4..d3c385f64e 100644 --- a/keyboards/horrortroll/handwired_k552/config.h +++ b/keyboards/horrortroll/handwired_k552/config.h @@ -39,9 +39,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change larger keys per scan for elite gaming */ -#define QMK_KEYS_PER_SCAN 12 - /* EEPROM size */ #define EEPROM_PAGE_SIZE #define FEE_PAGE_SIZE 0x800 diff --git a/keyboards/horrortroll/lemon40/config.h b/keyboards/horrortroll/lemon40/config.h index 600ef01657..c3e1972ae3 100644 --- a/keyboards/horrortroll/lemon40/config.h +++ b/keyboards/horrortroll/lemon40/config.h @@ -38,9 +38,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Larger keys per scan */ -#define QMK_KEYS_PER_SCAN 12 - /* RGB light config */ #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/horrortroll/paws60/config.h b/keyboards/horrortroll/paws60/config.h index 7bd3ac8be3..055a6ae319 100644 --- a/keyboards/horrortroll/paws60/config.h +++ b/keyboards/horrortroll/paws60/config.h @@ -37,6 +37,3 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO - -/* Larger keys per scan */ -#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/ianklug/grooveboard/config.h b/keyboards/ianklug/grooveboard/config.h index 007a86529c..2d255a2c18 100644 --- a/keyboards/ianklug/grooveboard/config.h +++ b/keyboards/ianklug/grooveboard/config.h @@ -142,5 +142,3 @@ along with this program. If not, see . /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/jadookb/jkb2/keymaps/via/config.h b/keyboards/jadookb/jkb2/keymaps/via/config.h deleted file mode 100644 index 31022ca535..0000000000 --- a/keyboards/jadookb/jkb2/keymaps/via/config.h +++ /dev/null @@ -1,19 +0,0 @@ - - /* Copyright 2021 Wizard-GG - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/jadookb/jkb65/keymaps/via/config.h b/keyboards/jadookb/jkb65/keymaps/via/config.h deleted file mode 100644 index 9d4eaf74ee..0000000000 --- a/keyboards/jadookb/jkb65/keymaps/via/config.h +++ /dev/null @@ -1,19 +0,0 @@ - /* Copyright 2021 Wizard-GG - * - * 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 with this program. If not, see . - */ - -#pragma once - -#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h index 25f645f734..bb3409256c 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h @@ -16,8 +16,6 @@ #pragma once /* place overrides here */ -#undef QMK_KEYS_PER_SCAN -#define QMK_KEYS_PER_SCAN 4 #undef DEBOUNCE #define DEBOUNCE 8 #undef TAPPING_TOGGLE diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h index 2cd513223a..cda14c4bc0 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h @@ -19,9 +19,6 @@ /* 1000Hz USB polling */ #define USB_POLLING_INTERVAL_MS 1 -/* Send up to 4 key press events per scan */ -#define QMK_KEYS_PER_SCAN 4 - /* Force NKRO on boot up */ #define FORCE_NKRO diff --git a/keyboards/keystonecaps/gameroyadvance/config.h b/keyboards/keystonecaps/gameroyadvance/config.h index b8d5a69122..06b40b5e66 100644 --- a/keyboards/keystonecaps/gameroyadvance/config.h +++ b/keyboards/keystonecaps/gameroyadvance/config.h @@ -55,10 +55,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - - -#define QMK_KEYS_PER_SCAN 12 - #define RGB_DI_PIN C7 #ifdef RGB_DI_PIN #define RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h index 63176adb50..2534ffd554 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h @@ -14,9 +14,6 @@ // Enable rapid switch from tap to hold, disables double tap hold auto-repeat. #define TAPPING_FORCE_HOLD -// Recommended for heavy chording. -#define QMK_KEYS_PER_SCAN 4 - // Mouse key speed and acceleration. #undef MOUSEKEY_DELAY #define MOUSEKEY_DELAY 0 @@ -56,4 +53,4 @@ # undef ENABLE_RGB_MATRIX_DIGITAL_RAIN # undef RGB_MATRIX_STARTUP_MODE // # define RGBLIGHT_HUE_STEP 20 -#endif \ No newline at end of file +#endif diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h index ba18295ead..e71078415a 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h @@ -30,9 +30,6 @@ #define AUTO_SHIFT_TIMEOUT TAPPING_TERM #define AUTO_SHIFT_NO_SETUP -// Recommended for heavy chording. -#define QMK_KEYS_PER_SCAN 4 - // Mouse key speed and acceleration. #undef MOUSEKEY_DELAY #define MOUSEKEY_DELAY 0 diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h index 0748f83cdc..3ddb813486 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h @@ -35,7 +35,6 @@ // #define MOUSEKEY_MAX_SPEED 10 // #define MOUSEKEY_WHEEL_DELAY 0 #define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. -// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. // #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases) // #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap // #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h index b322afae9b..97cae26cbd 100644 --- a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h +++ b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h @@ -22,7 +22,6 @@ // #define TERMINAL_HELP #define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. -// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. // #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases) // #define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too // #define TAPPING_TERM_PER_KEY // Enables handling for per key TAPPING_TERM settings diff --git a/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h b/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h index 84c02dddd6..a4d3d37561 100644 --- a/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h +++ b/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h @@ -34,8 +34,6 @@ // how long before oneshot times out #define ONESHOT_TAP_TOGGLE 2 // how many taps before oneshot toggle is triggered - #define QMK_KEYS_PER_SCAN 4 - // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. #define COMBO_COUNT 2 // Set this to the number of combos that you're using in the Combo feature. #define COMBO_TERM 200 diff --git a/keyboards/lets_split/keymaps/piemod/config.h b/keyboards/lets_split/keymaps/piemod/config.h index 1b3fd7544e..c3975da3ca 100644 --- a/keyboards/lets_split/keymaps/piemod/config.h +++ b/keyboards/lets_split/keymaps/piemod/config.h @@ -42,7 +42,4 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_SNAKE_LENGTH 1 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 1 -// Typing Options -#define QMK_KEYS_PER_SCAN 4 - #endif diff --git a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h index a9f61f849c..0f9ddaef31 100644 --- a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h +++ b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h @@ -19,9 +19,6 @@ /* 1000Hz USB polling */ #define USB_POLLING_INTERVAL_MS 1 -/* Send up to 4 key press events per scan */ -#define QMK_KEYS_PER_SCAN 4 - /* Force NKRO on boot up */ #define FORCE_NKRO diff --git a/keyboards/maple_computing/minidox/keymaps/norman/config.h b/keyboards/maple_computing/minidox/keymaps/norman/config.h index 0d3542a03e..ecdf080c2c 100644 --- a/keyboards/maple_computing/minidox/keymaps/norman/config.h +++ b/keyboards/maple_computing/minidox/keymaps/norman/config.h @@ -1,5 +1,4 @@ #pragma once #define PERMISSIVE_HOLD -#define QMK_KEYS_PER_SCAN 4 #define TAPPING_TERM 160 diff --git a/keyboards/massdrop/alt/keymaps/b_/config.h b/keyboards/massdrop/alt/keymaps/b_/config.h index ca4424bd3f..b7112c9ea7 100644 --- a/keyboards/massdrop/alt/keymaps/b_/config.h +++ b/keyboards/massdrop/alt/keymaps/b_/config.h @@ -23,7 +23,6 @@ // #define MOUSEKEY_MAX_SPEED 10 // #define MOUSEKEY_WHEEL_DELAY 0 //#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. -// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. // #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases) // #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap // #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state diff --git a/keyboards/massdrop/alt/keymaps/pregame/config.h b/keyboards/massdrop/alt/keymaps/pregame/config.h index 19fc4fed34..936951e34a 100644 --- a/keyboards/massdrop/alt/keymaps/pregame/config.h +++ b/keyboards/massdrop/alt/keymaps/pregame/config.h @@ -36,7 +36,6 @@ // #define MOUSEKEY_MAX_SPEED 10 // #define MOUSEKEY_WHEEL_DELAY 0 #define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. -// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. // #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases) // #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap // #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config.h b/keyboards/massdrop/ctrl/keymaps/endgame/config.h index 4850d7eed2..d0bbfd2103 100644 --- a/keyboards/massdrop/ctrl/keymaps/endgame/config.h +++ b/keyboards/massdrop/ctrl/keymaps/endgame/config.h @@ -20,7 +20,6 @@ #define MOUSEKEY_MAX_SPEED 10 #define MOUSEKEY_WHEEL_DELAY 0 #define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. -// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. // #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases) // #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap // #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h index 81e7764a9e..692faa35a2 100644 --- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h +++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h @@ -37,7 +37,6 @@ along with this program. If not, see . // #define MOUSEKEY_MAX_SPEED 10 // #define MOUSEKEY_WHEEL_DELAY 0 #define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. -// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. // #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases) // #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap // #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h index 37987340ce..f1cbd5f3b0 100644 --- a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h @@ -36,7 +36,6 @@ #define MOUSEKEY_MAX_SPEED 10 #define MOUSEKEY_WHEEL_DELAY 0 #define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots. -// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. // #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases) // #define LOCKING_SUPPORT_ENABLE // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap // #define LOCKING_RESYNC_ENABLE // Tries to keep switch state consistent with keyboard LED state diff --git a/keyboards/ml/gas75/config.h b/keyboards/ml/gas75/config.h index 4f35c4c265..82d8c134a0 100644 --- a/keyboards/ml/gas75/config.h +++ b/keyboards/ml/gas75/config.h @@ -38,9 +38,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Larger keys per scan */ -#define QMK_KEYS_PER_SCAN 12 - /* Encoder pins */ #define ENCODERS_PAD_A { F0 } #define ENCODERS_PAD_B { F1 } diff --git a/keyboards/mmkzoo65/config.h b/keyboards/mmkzoo65/config.h index b562a40859..b874fdef8a 100644 --- a/keyboards/mmkzoo65/config.h +++ b/keyboards/mmkzoo65/config.h @@ -38,4 +38,3 @@ /* 将USB 轮询速率更改为 1000hz 并为精英游戏每次扫描使用更大的密钥*/ #define USB_POLLING_INTERVAL_MS 2 -#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/mss_studio/m63_rgb/config.h b/keyboards/mss_studio/m63_rgb/config.h index e2aae8469f..a7220ab1c6 100644 --- a/keyboards/mss_studio/m63_rgb/config.h +++ b/keyboards/mss_studio/m63_rgb/config.h @@ -36,9 +36,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change larger keys per scan for elite gaming */ -#define QMK_KEYS_PER_SCAN 12 - #ifdef RGB_MATRIX_ENABLE #define DRIVER_LED_TOTAL 75 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 diff --git a/keyboards/mss_studio/m64_rgb/config.h b/keyboards/mss_studio/m64_rgb/config.h index d8ac27024b..c9a1e3f3db 100644 --- a/keyboards/mss_studio/m64_rgb/config.h +++ b/keyboards/mss_studio/m64_rgb/config.h @@ -36,9 +36,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change larger keys per scan for elite gaming */ -#define QMK_KEYS_PER_SCAN 12 - #ifdef RGB_MATRIX_ENABLE #define DRIVER_LED_TOTAL 76 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/config.h b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/config.h index 13cffea4da..0d2051ffd5 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/config.h +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/config.h @@ -21,10 +21,6 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO -/* Change USB Polling Rate to 1000hz and a larger keys per scan for elite gaming */ -#define USB_POLLING_INTERVAL_MS 1 -#define QMK_KEYS_PER_SCAN 12 - #ifdef RGB_MATRIX_ENABLE /* RGB Matrix config */ #undef ENABLE_RGB_MATRIX_BAND_SAT diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/config.h b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/config.h index ba574e1e3c..fef62c6374 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/config.h +++ b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/config.h @@ -20,7 +20,3 @@ /* Forcing to use NKRO instead 6KRO */ #define FORCE_NKRO - -/* Change USB Polling Rate to 1000hz and a larger keys per scan for elite gaming */ -#define USB_POLLING_INTERVAL_MS 1 -#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/pierce/keymaps/durken1/config.h b/keyboards/pierce/keymaps/durken1/config.h index 7d19a0b83b..bc0bb1c4b8 100644 --- a/keyboards/pierce/keymaps/durken1/config.h +++ b/keyboards/pierce/keymaps/durken1/config.h @@ -27,9 +27,6 @@ #define PERMISSIVE_HOLD -// Recommended for heavy chording. -#define QMK_KEYS_PER_SCAN 4 - // Combo settings #define COMBO_COUNT 3 #define COMBO_TERM 35 @@ -74,4 +71,3 @@ #ifdef AUTO_BUTTONS #define AUTO_BUTTONS_TIMEOUT 750 #endif - diff --git a/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h b/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h index 211e3517ec..cdffe6fd50 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h +++ b/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h @@ -29,6 +29,4 @@ along with this program. If not, see . #define COMBO_COUNT 2 #endif -#define QMK_KEYS_PER_SCAN 4 - #define EE_HANDS diff --git a/keyboards/sanctified/dystopia/config.h b/keyboards/sanctified/dystopia/config.h index a818d3e84f..cf9d91d551 100644 --- a/keyboards/sanctified/dystopia/config.h +++ b/keyboards/sanctified/dystopia/config.h @@ -27,5 +27,3 @@ #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, D4, D6, D7, B4 } #define DIODE_DIRECTION COL2ROW - -#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/signum/3_0/keymaps/sgurenkov/config.h b/keyboards/signum/3_0/keymaps/sgurenkov/config.h index 5f8d0d02b8..7d164aa3a9 100644 --- a/keyboards/signum/3_0/keymaps/sgurenkov/config.h +++ b/keyboards/signum/3_0/keymaps/sgurenkov/config.h @@ -29,9 +29,6 @@ // Auto Shift and Retro Shift (Auto Shift for Tap Hold). #define AUTO_SHIFT_TIMEOUT TAPPING_TERM -// Recommended for heavy chording. -#define QMK_KEYS_PER_SCAN 4 - // Mouse key speed and acceleration. #undef MOUSEKEY_DELAY #define MOUSEKEY_DELAY 0 diff --git a/keyboards/skme/zeno/config.h b/keyboards/skme/zeno/config.h index a6404a8ff4..53aa1cd621 100644 --- a/keyboards/skme/zeno/config.h +++ b/keyboards/skme/zeno/config.h @@ -34,6 +34,3 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/*Enable 1khz polling by default*/ -#define USB_POLLING_INTERVAL_MS 1 -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h index 2e6abe84e3..9d1de12d5a 100644 --- a/keyboards/sofle/keymaps/killmaster/config.h +++ b/keyboards/sofle/keymaps/killmaster/config.h @@ -61,4 +61,3 @@ for more options. #define MEDIA_KEY_DELAY 2 #define USB_POLLING_INTERVAL_MS 1 -#define QMK_KEYS_PER_SCAN 12 diff --git a/keyboards/splitkb/kyria/keymaps/cwebster2/config.h b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h index 9a58f7751a..59994e01fa 100644 --- a/keyboards/splitkb/kyria/keymaps/cwebster2/config.h +++ b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h @@ -47,8 +47,6 @@ #define COMBO_COUNT 5 #endif -#define QMK_KEYS_PER_SCAN 4 - #define EE_HANDS //#define DEBUG_MATRIX_SCAN_RATE diff --git a/keyboards/synthlabs/solo/config.h b/keyboards/synthlabs/solo/config.h index affb70befc..112d12d1ee 100644 --- a/keyboards/synthlabs/solo/config.h +++ b/keyboards/synthlabs/solo/config.h @@ -16,8 +16,6 @@ #define MATRIX_ROWS 3 #define MATRIX_COLS 7 -#define QMK_KEYS_PER_SCAN 17 - /* * Force NKRO * diff --git a/keyboards/xelus/dharma/keymaps/default/config.h b/keyboards/xelus/dharma/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/dharma/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/dharma/keymaps/via/config.h b/keyboards/xelus/dharma/keymaps/via/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/dharma/keymaps/via/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/kangaroo/keymaps/default/config.h b/keyboards/xelus/kangaroo/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/kangaroo/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/kangaroo/keymaps/via/config.h b/keyboards/xelus/kangaroo/keymaps/via/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/kangaroo/keymaps/via/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/la_plus/keymaps/default/config.h b/keyboards/xelus/la_plus/keymaps/default/config.h deleted file mode 100644 index e559a15426..0000000000 --- a/keyboards/xelus/la_plus/keymaps/default/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ - -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/la_plus/keymaps/via/config.h b/keyboards/xelus/la_plus/keymaps/via/config.h index 58c086282c..43760bd281 100644 --- a/keyboards/xelus/la_plus/keymaps/via/config.h +++ b/keyboards/xelus/la_plus/keymaps/via/config.h @@ -18,5 +18,3 @@ // Enable RGB Matrix #define VIA_QMK_RGBLIGHT_ENABLE - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h b/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h b/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h index fc3a2bd0b2..47bbf2bf81 100644 --- a/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h +++ b/keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h @@ -18,5 +18,3 @@ // 3 layers or else it will not fit in EEPROM #define DYNAMIC_KEYMAP_LAYER_COUNT 3 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rev1/keymaps/default/config.h b/keyboards/xelus/pachi/rev1/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/pachi/rev1/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rev1/keymaps/via/config.h b/keyboards/xelus/pachi/rev1/keymaps/via/config.h index fc3a2bd0b2..47bbf2bf81 100644 --- a/keyboards/xelus/pachi/rev1/keymaps/via/config.h +++ b/keyboards/xelus/pachi/rev1/keymaps/via/config.h @@ -18,5 +18,3 @@ // 3 layers or else it will not fit in EEPROM #define DYNAMIC_KEYMAP_LAYER_COUNT 3 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rgb/keymaps/default/config.h b/keyboards/xelus/pachi/rgb/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/pachi/rgb/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/config.h b/keyboards/xelus/pachi/rgb/keymaps/via/config.h index 1213e7a8f2..0e34ad2c1a 100644 --- a/keyboards/xelus/pachi/rgb/keymaps/via/config.h +++ b/keyboards/xelus/pachi/rgb/keymaps/via/config.h @@ -21,5 +21,3 @@ // Enable RGB Matrix #define VIA_QMK_RGBLIGHT_ENABLE - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/rs60/keymaps/default/config.h b/keyboards/xelus/rs60/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/rs60/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/rs60/keymaps/via/config.h b/keyboards/xelus/rs60/keymaps/via/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/rs60/keymaps/via/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor/rev2/keymaps/default/config.h b/keyboards/xelus/valor/rev2/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/valor/rev2/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor/rev2/keymaps/via/config.h b/keyboards/xelus/valor/rev2/keymaps/via/config.h index 490964f272..e7fb31cb23 100644 --- a/keyboards/xelus/valor/rev2/keymaps/via/config.h +++ b/keyboards/xelus/valor/rev2/keymaps/via/config.h @@ -20,5 +20,3 @@ // More layers #define DYNAMIC_KEYMAP_LAYER_COUNT 8 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h b/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h deleted file mode 100644 index 7b8de5510e..0000000000 --- a/keyboards/xelus/valor_frl_tkl/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2020 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h b/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h deleted file mode 100644 index 7b8de5510e..0000000000 --- a/keyboards/xelus/valor_frl_tkl/keymaps/via/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2020 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/xs60/keymaps/default/config.h b/keyboards/xelus/xs60/keymaps/default/config.h deleted file mode 100644 index 5d972dd48c..0000000000 --- a/keyboards/xelus/xs60/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2021 Harrison Chan (Xelus) - * - * 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 with this program. If not, see . - */ -#pragma once - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xelus/xs60/keymaps/via/config.h b/keyboards/xelus/xs60/keymaps/via/config.h index b608adcfc4..8c0ed0c6e3 100644 --- a/keyboards/xelus/xs60/keymaps/via/config.h +++ b/keyboards/xelus/xs60/keymaps/via/config.h @@ -17,5 +17,3 @@ // More layers #define DYNAMIC_KEYMAP_LAYER_COUNT 8 - -#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h b/keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h index 596aaff665..210c4441c3 100644 --- a/keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h +++ b/keyboards/xiudi/xd75/keymaps/tdl-jturner/config.h @@ -24,7 +24,6 @@ //#define TAPPING_TERM 200 #define TAPPING_TOGGLE 2 //#define PERMISSIVE_HOLD -//#define QMK_KEYS_PER_SCAN 4 #define FORCE_NKRO #define MOUSEKEY_INTERVAL 16 diff --git a/layouts/community/65_ansi_blocker/brandonschlack/config.h b/layouts/community/65_ansi_blocker/brandonschlack/config.h index ea8ca61901..d7687315ed 100644 --- a/layouts/community/65_ansi_blocker/brandonschlack/config.h +++ b/layouts/community/65_ansi_blocker/brandonschlack/config.h @@ -54,8 +54,6 @@ # undef ENABLE_RGB_MATRIX_SOLID_SPLASH # undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# define QMK_KEYS_PER_SCAN 4 - # define USB_LED_CAPS_LOCK_SCANCODE 30 #endif diff --git a/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/config.h b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/config.h index fe3dcd41c2..38b827ba32 100644 --- a/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/config.h +++ b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/config.h @@ -54,8 +54,6 @@ # undef ENABLE_RGB_MATRIX_SOLID_SPLASH # undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -# define QMK_KEYS_PER_SCAN 4 - # define USB_LED_CAPS_LOCK_SCANCODE 30 #endif diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 2364e3167b..1c62a43d9d 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -212,6 +212,12 @@ static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata) { return false; } +#else + +static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata) { + return false; +} + #endif /** \brief matrix_setup @@ -426,64 +432,74 @@ void switch_events(uint8_t row, uint8_t col, bool pressed) { #endif } -/** \brief Perform scan of keyboard matrix +/** + * @brief Generates a tick event at a maximum rate of 1KHz that drives the + * internal QMK state machine. + */ +static inline void generate_tick_event(void) { + static uint16_t last_tick = 0; + const uint16_t now = timer_read(); + if (TIMER_DIFF_16(now, last_tick) != 0) { + action_exec(TICK_EVENT); + last_tick = now; + } +} + +/** + * @brief This task scans the keyboards matrix and processes any key presses + * that occur. * - * Any detected changes in state are sent out as part of the processing + * @return true Matrix did change + * @return false Matrix didn't change */ -bool matrix_scan_task(void) { - static matrix_row_t matrix_prev[MATRIX_ROWS]; - matrix_row_t matrix_row = 0; - matrix_row_t matrix_change = 0; -#ifdef QMK_KEYS_PER_SCAN - uint8_t keys_processed = 0; -#endif +static bool matrix_task(void) { + static matrix_row_t matrix_previous[MATRIX_ROWS]; - uint8_t matrix_changed = matrix_scan(); - if (matrix_changed) last_matrix_activity_trigger(); + matrix_scan(); - for (uint8_t r = 0; r < MATRIX_ROWS; r++) { - matrix_row = matrix_get_row(r); - matrix_change = matrix_row ^ matrix_prev[r]; - if (matrix_change) { -#ifdef MATRIX_HAS_GHOST - if (has_ghost_in_row(r, matrix_row)) { - continue; - } -#endif - if (debug_matrix) matrix_print(); - matrix_row_t col_mask = 1; - for (uint8_t c = 0; c < MATRIX_COLS; c++, col_mask <<= 1) { - if (matrix_change & col_mask) { - if (should_process_keypress()) { - action_exec((keyevent_t){ - .key = (keypos_t){.row = r, .col = c}, .pressed = (matrix_row & col_mask), .time = (timer_read() | 1) /* time should not be 0 */ - }); - } - // record a processed key - matrix_prev[r] ^= col_mask; - - switch_events(r, c, (matrix_row & col_mask)); - -#ifdef QMK_KEYS_PER_SCAN - // only jump out if we have processed "enough" keys. - if (++keys_processed >= QMK_KEYS_PER_SCAN) -#endif - // process a key per task call - goto MATRIX_LOOP_END; + bool matrix_changed = false; + for (uint8_t row = 0; row < MATRIX_ROWS && !matrix_changed; row++) { + matrix_changed |= matrix_previous[row] ^ matrix_get_row(row); + } + + matrix_scan_perf_task(); + + // Short-circuit the complete matrix processing if it is not necessary + if (!matrix_changed) { + generate_tick_event(); + return matrix_changed; + } + + if (debug_config.matrix) { + matrix_print(); + } + + const bool process_keypress = should_process_keypress(); + + for (uint8_t row = 0; row < MATRIX_ROWS; row++) { + const matrix_row_t current_row = matrix_get_row(row); + const matrix_row_t row_changes = current_row ^ matrix_previous[row]; + + if (!row_changes || has_ghost_in_row(row, current_row)) { + continue; + } + + matrix_row_t col_mask = 1; + for (uint8_t col = 0; col < MATRIX_COLS; col++, col_mask <<= 1) { + if (row_changes & col_mask) { + const bool key_pressed = current_row & col_mask; + + if (process_keypress) { + action_exec(MAKE_KEYEVENT(row, col, key_pressed)); } + + switch_events(row, col, key_pressed); } } - } - // call with pseudo tick event when no real key event. -#ifdef QMK_KEYS_PER_SCAN - // we can get here with some keys processed now. - if (!keys_processed) -#endif - action_exec(TICK_EVENT); -MATRIX_LOOP_END: + matrix_previous[row] = current_row; + } - matrix_scan_perf_task(); return matrix_changed; } @@ -562,20 +578,12 @@ void quantum_task(void) { #endif } -/** \brief Keyboard task: Do keyboard routine jobs - * - * Do routine keyboard jobs: - * - * * scan matrix - * * handle mouse movements - * * handle midi commands - * * light LEDs - * - * This is repeatedly called as fast as possible. - */ +/** \brief Main task that is repeatedly called as fast as possible. */ void keyboard_task(void) { - bool matrix_changed = matrix_scan_task(); - (void)matrix_changed; + const bool matrix_changed = matrix_task(); + if (matrix_changed) { + last_matrix_activity_trigger(); + } quantum_task(); @@ -597,8 +605,10 @@ void keyboard_task(void) { #endif #ifdef ENCODER_ENABLE - bool encoders_changed = encoder_read(); - if (encoders_changed) last_encoder_activity_trigger(); + const bool encoders_changed = encoder_read(); + if (encoders_changed) { + last_encoder_activity_trigger(); + } #endif #ifdef OLED_ENABLE diff --git a/quantum/keyboard.h b/quantum/keyboard.h index fe0736a515..86ce65aac1 100644 --- a/quantum/keyboard.h +++ b/quantum/keyboard.h @@ -71,9 +71,15 @@ static inline bool IS_RELEASED(keyevent_t event) { /* Common keyevent object factory */ #define MAKE_KEYPOS(row_num, col_num) ((keypos_t){.row = (row_num), .col = (col_num)}) + +/** + * @brief Constructs a key event for a pressed or released key. + */ #define MAKE_KEYEVENT(row_num, col_num, press) ((keyevent_t){.key = MAKE_KEYPOS((row_num), (col_num)), .pressed = (press), .time = (timer_read() | 1)}) -/* Tick event */ +/** + * @brief Constructs a internal tick event that is used to drive the internal QMK state machine. + */ #define TICK_EVENT MAKE_KEYEVENT(KEYLOC_TICK, KEYLOC_TICK, false) #ifdef ENCODER_MAP_ENABLE diff --git a/tests/basic/test_keypress.cpp b/tests/basic/test_keypress.cpp index bb68ced557..6d5b502a00 100644 --- a/tests/basic/test_keypress.cpp +++ b/tests/basic/test_keypress.cpp @@ -64,11 +64,7 @@ TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) { key_b.press(); key_c.press(); - // Note that QMK only processes one key at a time - // See issue #1476 for more information EXPECT_REPORT(driver, (key_b.report_code)); - keyboard_task(); - EXPECT_REPORT(driver, (key_b.report_code, key_c.report_code)); keyboard_task(); @@ -76,8 +72,6 @@ TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) { key_c.release(); // Note that the first key released is the first one in the matrix order EXPECT_REPORT(driver, (key_c.report_code)); - keyboard_task(); - EXPECT_EMPTY_REPORT(driver); keyboard_task(); } @@ -92,10 +86,7 @@ TEST_F(KeyPress, LeftShiftIsReportedCorrectly) { key_lsft.press(); key_a.press(); - // Unfortunately modifiers are also processed in the wrong order - // See issue #1476 for more information EXPECT_REPORT(driver, (key_a.report_code)); - keyboard_task(); EXPECT_REPORT(driver, (key_a.report_code, key_lsft.report_code)); keyboard_task(); @@ -118,11 +109,7 @@ TEST_F(KeyPress, PressLeftShiftAndControl) { key_lsft.press(); key_lctrl.press(); - // Unfortunately modifiers are also processed in the wrong order - // See issue #1476 for more information EXPECT_REPORT(driver, (key_lsft.report_code)); - keyboard_task(); - EXPECT_REPORT(driver, (key_lsft.report_code, key_lctrl.report_code)); keyboard_task(); @@ -130,8 +117,6 @@ TEST_F(KeyPress, PressLeftShiftAndControl) { key_lctrl.release(); EXPECT_REPORT(driver, (key_lctrl.report_code)); - keyboard_task(); - EXPECT_EMPTY_REPORT(driver); keyboard_task(); } @@ -145,20 +130,13 @@ TEST_F(KeyPress, LeftAndRightShiftCanBePressedAtTheSameTime) { key_lsft.press(); key_rsft.press(); - // Unfortunately modifiers are also processed in the wrong order - // See issue #1476 for more information EXPECT_REPORT(driver, (key_lsft.report_code)); - keyboard_task(); - EXPECT_REPORT(driver, (key_lsft.report_code, key_rsft.report_code)); keyboard_task(); key_lsft.release(); key_rsft.release(); - EXPECT_REPORT(driver, (key_rsft.report_code)); - keyboard_task(); - EXPECT_EMPTY_REPORT(driver); keyboard_task(); } diff --git a/tests/tap_dance/test_examples.cpp b/tests/tap_dance/test_examples.cpp index e67e6cb907..6dabc45513 100644 --- a/tests/tap_dance/test_examples.cpp +++ b/tests/tap_dance/test_examples.cpp @@ -92,10 +92,9 @@ TEST_F(TapDance, DoubleTapWithMod) { key_shift.release(); key_esc_caps.press(); EXPECT_REPORT(driver, (KC_LSFT, KC_CAPS)); + EXPECT_REPORT(driver, (KC_CAPS)); run_one_scan_loop(); key_esc_caps.release(); - EXPECT_REPORT(driver, (KC_LSFT)); - run_one_scan_loop(); EXPECT_EMPTY_REPORT(driver); run_one_scan_loop(); } diff --git a/users/curry/config.h b/users/curry/config.h index 3301ebe533..0c96293bd5 100644 --- a/users/curry/config.h +++ b/users/curry/config.h @@ -65,10 +65,6 @@ # define ONESHOT_TIMEOUT 3000 #endif // !ONESHOT_TIMEOUT -#if !defined(QMK_KEYS_PER_SCAN) -# define QMK_KEYS_PER_SCAN 4 -#endif // !QMK_KEYS_PER_SCAN - #define IGNORE_MOD_TAP_INTERRUPT #undef PERMISSIVE_HOLD diff --git a/users/drashna/post_config.h b/users/drashna/post_config.h index 2d5e6438d6..85c028076e 100644 --- a/users/drashna/post_config.h +++ b/users/drashna/post_config.h @@ -37,10 +37,6 @@ # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_REST_MODE #endif -#ifndef QMK_KEYS_PER_SCAN -# define QMK_KEYS_PER_SCAN 8 -#endif - #ifdef MOUSEKEY_ENABLE // mouse movement config # ifdef MK_3_SPEED diff --git a/users/ishtob/config.h b/users/ishtob/config.h index 6c07d2f2fd..695077528c 100755 --- a/users/ishtob/config.h +++ b/users/ishtob/config.h @@ -16,7 +16,6 @@ //#define LEADER_TIMEOUT 300 //#define BACKLIGHT_BREATHING //#define PERMISSIVE_HOLD -// #define QMK_KEYS_PER_SCAN 4 //audio clicky //#define AUDIO_CLICKY diff --git a/users/issmirnov/config.h b/users/issmirnov/config.h index 664ebfe8a3..5fe78f7a53 100644 --- a/users/issmirnov/config.h +++ b/users/issmirnov/config.h @@ -1,8 +1,5 @@ #pragma once -// Allows sending more than one key per scan. Useful for chords. -#define QMK_KEYS_PER_SCAN 4 - // how long before a tap becomes a hold #undef TAPPING_TERM #define TAPPING_TERM 100 diff --git a/users/kuchosauronad0/config.h b/users/kuchosauronad0/config.h index 58542dc184..8502031f02 100644 --- a/users/kuchosauronad0/config.h +++ b/users/kuchosauronad0/config.h @@ -41,10 +41,6 @@ # define ONESHOT_TIMEOUT 3000 #endif// !ONESHOT_TIMEOUT -#ifndef QMK_KEYS_PER_SCAN -# define QMK_KEYS_PER_SCAN 4 -#endif // !QMK_KEYS_PER_SCAN - #if defined(LEADER_ENABLE) # define LEADER_PER_KEY_TIMING # define LEADER_TIMEOUT 250 diff --git a/users/miles2go/config.h b/users/miles2go/config.h index a704df4b55..2a1d6504d6 100644 --- a/users/miles2go/config.h +++ b/users/miles2go/config.h @@ -6,10 +6,6 @@ #define RGBLIGHT_EFFECT_BREATHING #endif // RGBLIGHT_ENABLE -#ifndef QMK_KEYS_PER_SCAN -#define QMK_KEYS_PER_SCAN 4 -#endif // !QMK_KEYS_PER_SCAN - #undef FORCE_NKRO #ifndef TAPPING_TOGGLE diff --git a/users/yet-another-developer/config.h b/users/yet-another-developer/config.h index d46d487fe3..6d1bf83f0b 100644 --- a/users/yet-another-developer/config.h +++ b/users/yet-another-developer/config.h @@ -11,10 +11,6 @@ #define ONESHOT_TIMEOUT 2000 #endif // !ONESHOT_TIMEOUT -#ifndef QMK_KEYS_PER_SCAN - #define QMK_KEYS_PER_SCAN 4 -#endif // !QMK_KEYS_PER_SCAN - #if defined(LEADER_ENABLE) #define LEADER_PER_KEY_TIMING #define LEADER_TIMEOUT 250 diff --git a/users/zer09/config.h b/users/zer09/config.h index c5ab32f8d4..0324aaa7d3 100644 --- a/users/zer09/config.h +++ b/users/zer09/config.h @@ -1,10 +1,6 @@ #ifndef USERSPACE_CONFIG_H #define USERSPACE_CONFIG_H -#ifndef QMK_KEYS_PER_SCAN -#define QMK_KEYS_PER_SCAN 4 -#endif // !QMK_KEYS_PER_SCAN - // this makes it possible to do rolling combos (zx) with keys that // convert to other keys on hold (z becomes ctrl when you hold it, // and when this option isn't enabled, z rapidly followed by x -- cgit 1.4.1 From 5408334083ef52beb3cc7ec01642515c70298f6c Mon Sep 17 00:00:00 2001 From: Joshua Diamond Date: Sat, 6 Aug 2022 16:29:06 -0400 Subject: Update ginkgo65hot to allow use of community layouts (#17911) --- keyboards/mokey/ginkgo65hot/ginkgo65hot.h | 4 +- keyboards/mokey/ginkgo65hot/info.json | 141 +++++++++++---------- keyboards/mokey/ginkgo65hot/rules.mk | 2 + layouts/community/65_ansi_blocker/spidey3/config.h | 12 ++ layouts/community/65_ansi_blocker/spidey3/keymap.c | 41 ++++++ .../community/65_ansi_blocker/spidey3/readme.md | 14 ++ layouts/community/65_ansi_blocker/spidey3/rules.mk | 10 ++ users/spidey3/config.h | 9 ++ users/spidey3/init.c | 3 + users/spidey3/layer_rgb.c | 3 + users/spidey3/spidey3.c | 3 + users/spidey3/spidey3.h | 7 +- users/spidey3/unicode.c | 3 + users/spidey3/unicode.h | 3 + 14 files changed, 181 insertions(+), 74 deletions(-) create mode 100644 layouts/community/65_ansi_blocker/spidey3/config.h create mode 100644 layouts/community/65_ansi_blocker/spidey3/keymap.c create mode 100644 layouts/community/65_ansi_blocker/spidey3/readme.md create mode 100644 layouts/community/65_ansi_blocker/spidey3/rules.mk (limited to 'users') diff --git a/keyboards/mokey/ginkgo65hot/ginkgo65hot.h b/keyboards/mokey/ginkgo65hot/ginkgo65hot.h index 1a599291b8..e4a42d9ad9 100644 --- a/keyboards/mokey/ginkgo65hot/ginkgo65hot.h +++ b/keyboards/mokey/ginkgo65hot/ginkgo65hot.h @@ -19,7 +19,7 @@ #define XXX KC_NO -/*LAYOUT +/*LAYOUT_65_ansi_blocker * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ * │k00│k01│k02│k03│k04│k05│k06│k07│k08│k09│k0A│k0B│k0C│ k0D │k0E│ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ @@ -32,7 +32,7 @@ * │k40 │k41 │k42 │ k44 │k49 │k4A │ │k4C│k4D│k4E│ * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ -#define LAYOUT( \ +#define LAYOUT_65_ansi_blocker( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2E, \ diff --git a/keyboards/mokey/ginkgo65hot/info.json b/keyboards/mokey/ginkgo65hot/info.json index dbe99e1909..929e31e31b 100644 --- a/keyboards/mokey/ginkgo65hot/info.json +++ b/keyboards/mokey/ginkgo65hot/info.json @@ -8,81 +8,84 @@ "pid": "0x3366", "device_version": "0.0.1" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, "layouts": { - "LAYOUT": { + "LAYOUT_65_ansi_blocker": { "layout": [ - {"label":"k00", "x":0, "y":0}, - {"label":"k01", "x":1, "y":0}, - {"label":"k02", "x":2, "y":0}, - {"label":"k03", "x":3, "y":0}, - {"label":"k04", "x":4, "y":0}, - {"label":"k05", "x":5, "y":0}, - {"label":"k06", "x":6, "y":0}, - {"label":"k07", "x":7, "y":0}, - {"label":"k08", "x":8, "y":0}, - {"label":"k09", "x":9, "y":0}, - {"label":"k0a", "x":10, "y":0}, - {"label":"k0b", "x":11, "y":0}, - {"label":"k0c", "x":12, "y":0}, - {"label":"k0d", "x":13, "y":0, "w":2}, - {"label":"k0e", "x":15, "y":0}, + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"0", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Insert", "x":15, "y":0}, - {"label":"k10", "x":0, "y":1, "w":1.5}, - {"label":"k11", "x":1.5, "y":1}, - {"label":"k12", "x":2.5, "y":1}, - {"label":"k13", "x":3.5, "y":1}, - {"label":"k14", "x":4.5, "y":1}, - {"label":"k15", "x":5.5, "y":1}, - {"label":"k16", "x":6.5, "y":1}, - {"label":"k17", "x":7.5, "y":1}, - {"label":"k18", "x":8.5, "y":1}, - {"label":"k19", "x":9.5, "y":1}, - {"label":"k1a", "x":10.5, "y":1}, - {"label":"k1b", "x":11.5, "y":1}, - {"label":"k1c", "x":12.5, "y":1}, - {"label":"k1d", "x":13.5, "y":1, "w":1.5}, - {"label":"k1e", "x":15, "y":1}, + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"\\", "x":13.5, "y":1, "w":1.5}, + {"label":"Delete", "x":15, "y":1}, - {"label":"k20", "x":0, "y":2, "w":1.75}, - {"label":"k21", "x":1.75, "y":2}, - {"label":"k22", "x":2.75, "y":2}, - {"label":"k23", "x":3.75, "y":2}, - {"label":"k24", "x":4.75, "y":2}, - {"label":"k25", "x":5.75, "y":2}, - {"label":"k26", "x":6.75, "y":2}, - {"label":"k27", "x":7.75, "y":2}, - {"label":"k28", "x":8.75, "y":2}, - {"label":"k29", "x":9.75, "y":2}, - {"label":"k2a", "x":10.75, "y":2}, - {"label":"k2b", "x":11.75, "y":2}, - {"label":"k2d", "x":12.75, "y":2, "w":2.25}, - {"label":"k2e", "x":15, "y":2}, + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"Return", "x":12.75, "y":2, "w":2.25}, + {"label":"Page Up", "x":15, "y":2}, - {"label":"k30", "x":0, "y":3, "w":2.25}, - {"label":"k32", "x":2.25, "y":3}, - {"label":"k33", "x":3.25, "y":3}, - {"label":"k34", "x":4.25, "y":3}, - {"label":"k35", "x":5.25, "y":3}, - {"label":"k36", "x":6.25, "y":3}, - {"label":"k37", "x":7.25, "y":3}, - {"label":"k38", "x":8.25, "y":3}, - {"label":"k39", "x":9.25, "y":3}, - {"label":"k3a", "x":10.25, "y":3}, - {"label":"k3b", "x":11.25, "y":3}, - {"label":"k3c", "x":12.25, "y":3, "w":1.75}, - {"label":"k3d", "x":14, "y":3}, - {"label":"k3e", "x":15, "y":3}, + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"Page Down", "x":15, "y":3}, - {"label":"k40", "x":0, "y":4, "w":1.25}, - {"label":"k41", "x":1.25, "y":4, "w":1.25}, - {"label":"k42", "x":2.5, "y":4, "w":1.25}, - {"label":"k44", "x":3.75, "y":4, "w":6.25}, - {"label":"k49", "x":10, "y":4, "w":1.25}, - {"label":"k4a", "x":11.25, "y":4, "w":1.25}, - {"label":"k4c", "x":13, "y":4}, - {"label":"k4d", "x":14, "y":4}, - {"label":"k4e", "x":15, "y":4} + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Fn", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} ] } } -} \ No newline at end of file +} diff --git a/keyboards/mokey/ginkgo65hot/rules.mk b/keyboards/mokey/ginkgo65hot/rules.mk index 02fbe72525..d04e1a74fa 100644 --- a/keyboards/mokey/ginkgo65hot/rules.mk +++ b/keyboards/mokey/ginkgo65hot/rules.mk @@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi_blocker diff --git a/layouts/community/65_ansi_blocker/spidey3/config.h b/layouts/community/65_ansi_blocker/spidey3/config.h new file mode 100644 index 0000000000..9439de45c9 --- /dev/null +++ b/layouts/community/65_ansi_blocker/spidey3/config.h @@ -0,0 +1,12 @@ +// Copyright 2022 Joshua Diamond josh@windowoffire.com (@spidey3) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define NO_ACTION_ONESHOT +#undef LOCKING_SUPPORT_ENABLE + +#define LAYER_STATE_8BIT +#define MAX_LAYER 4 + +#define SHIFT_BACKSPACE_DELETE diff --git a/layouts/community/65_ansi_blocker/spidey3/keymap.c b/layouts/community/65_ansi_blocker/spidey3/keymap.c new file mode 100644 index 0000000000..687737c7cb --- /dev/null +++ b/layouts/community/65_ansi_blocker/spidey3/keymap.c @@ -0,0 +1,41 @@ +// Copyright 2022 Joshua Diamond josh@windowoffire.com (@spidey3) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "spidey3.h" + +#define FN_MENU LT(_FN,KC_APP) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // Base + [_BASE] = LAYOUT_65_ansi_blocker( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, FN_MENU, KC_LEFT, KC_DOWN, KC_RGHT + ), + // Numpad + [_NUMPAD] = LAYOUT_65_ansi_blocker( + XXXXXXX, XXXXXXX, XXXXXXX, KC_NUMLOCK, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, KC_PMNS, KC_PEQL, _______, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_PCMM, _______, _______, _______, _______, + KC_NUMLOCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PPLS, KC_PAST, KC_PENT, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_0, SPI_KP_00, KC_PDOT, KC_PSLS, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + // FN + [_FN] = LAYOUT_65_ansi_blocker( + KC_GRV, 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_INS, KC_SLCK, + XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, SPI_GLO, VLK_TOG, CH_SUSP, KC_SLEP, KC_PWR, KC_BRIU, + MO(_GLYPH), RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_TW, SPI_LNX, XXXXXXX, XXXXXXX, CH_CPNL, KC_BRID, + _______, XXXXXXX, XXXXXXX, SPI_WIN, UC_MOD, NK_TOGG, TG(_NUMPAD),SPI_OSX, XXXXXXX, XXXXXXX, DEBUG, _______, KC_VOLU, KC_MUTE, + _______, _______, _______, KC_MPLY, CH_ASST, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + // Glyph Transformation + [_GLYPH] = LAYOUT_65_ansi_blocker( + RESET, X(SAD), X(MEH), X(HAPPY), X(ANGRY), X(THUMBDN), X(THUMBUP), X(SPIDER), X_BUL, X(LOL), X(SURPRISE),X_DASH, SPI_GFLOCK, XXXXXXX, XXXXXXX, + EEP_RST, SPI_NORMAL, SPI_WIDE, SPI_SCRIPT, SPI_BLOCKS, SPI_CIRCLE, SPI_SQUARE, SPI_PARENS, SPI_FRAKTR, SPI_BOLD, SPI_MATH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(LARR), X(RARR), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; diff --git a/layouts/community/65_ansi_blocker/spidey3/readme.md b/layouts/community/65_ansi_blocker/spidey3/readme.md new file mode 100644 index 0000000000..a51106f84d --- /dev/null +++ b/layouts/community/65_ansi_blocker/spidey3/readme.md @@ -0,0 +1,14 @@ +Copyright 2022 Joshua Diamond josh@windowoffire.com @spidey3 + +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 with this program. If not, see . diff --git a/layouts/community/65_ansi_blocker/spidey3/rules.mk b/layouts/community/65_ansi_blocker/spidey3/rules.mk new file mode 100644 index 0000000000..2d16a86ac6 --- /dev/null +++ b/layouts/community/65_ansi_blocker/spidey3/rules.mk @@ -0,0 +1,10 @@ +# Build Options +# comment out to disable the options. +# +MOUSEKEY_ENABLE = no # Mouse keys +UNICODEMAP_ENABLE = yes +VELOCIKEY_ENABLE = yes +GRAVE_ESC_ENABLE = yes + +# The following disabled to save space +SPACE_CADET_ENABLE = no diff --git a/users/spidey3/config.h b/users/spidey3/config.h index 884cc11a5c..49409ed85d 100644 --- a/users/spidey3/config.h +++ b/users/spidey3/config.h @@ -1,3 +1,6 @@ +// Copyright 2022 Joshua Diamond josh@windowoffire.com (@spidey3) +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #define LED_DISABLE_WHEN_USB_SUSPENDED @@ -40,3 +43,9 @@ #undef MANUFACTURER #define MANUFACTURER Window of Fire + +// Some keyboards enable BACKLIGHT_CAPS_LOCK without checking if backlight is enabled. +// Undef as appropriate to avoid compiler warnings in that case. +#ifndef BACKLIGHT_ENABLE +#undef BACKLIGHT_CAPS_LOCK +#endif diff --git a/users/spidey3/init.c b/users/spidey3/init.c index 014dfdc3c4..bd6ea5cac9 100644 --- a/users/spidey3/init.c +++ b/users/spidey3/init.c @@ -1,3 +1,6 @@ +// Copyright 2022 Joshua Diamond josh@windowoffire.com (@spidey3) +// SPDX-License-Identifier: GPL-2.0-or-later + #include "spidey3.h" void keyboard_post_init_user(void) { diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c index 77558016d0..671205362f 100644 --- a/users/spidey3/layer_rgb.c +++ b/users/spidey3/layer_rgb.c @@ -1,3 +1,6 @@ +// Copyright 2022 Joshua Diamond josh@windowoffire.com (@spidey3) +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H #include "spidey3.h" diff --git a/users/spidey3/spidey3.c b/users/spidey3/spidey3.c index 651c750465..e993f4828e 100644 --- a/users/spidey3/spidey3.c +++ b/users/spidey3/spidey3.c @@ -1,3 +1,6 @@ +// Copyright 2022 Joshua Diamond josh@windowoffire.com (@spidey3) +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H #include "spidey3.h" diff --git a/users/spidey3/spidey3.h b/users/spidey3/spidey3.h index 6d73c669bc..e96ab7a145 100644 --- a/users/spidey3/spidey3.h +++ b/users/spidey3/spidey3.h @@ -1,3 +1,6 @@ +// Copyright 2022 Joshua Diamond josh@windowoffire.com (@spidey3) +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #include QMK_KEYBOARD_H @@ -10,6 +13,7 @@ enum userspace_layers { _BASE = 0, _NUMPAD, _FN, + _GLYPH, }; enum custom_keycodes { @@ -32,10 +36,7 @@ enum custom_keycodes { SPI_MATH, SPI_GFLOCK, SPI_KP_00, - -#ifdef RGBLIGHT_ENABLE SPI_GLO, -#endif }; #ifdef RGBLIGHT_ENABLE diff --git a/users/spidey3/unicode.c b/users/spidey3/unicode.c index 39a990674c..5292b0809b 100644 --- a/users/spidey3/unicode.c +++ b/users/spidey3/unicode.c @@ -1,3 +1,6 @@ +// Copyright 2022 Joshua Diamond josh@windowoffire.com (@spidey3) +// SPDX-License-Identifier: GPL-2.0-or-later + #include "unicode.h" diff --git a/users/spidey3/unicode.h b/users/spidey3/unicode.h index 6182669fb0..ee8e00056c 100644 --- a/users/spidey3/unicode.h +++ b/users/spidey3/unicode.h @@ -1,3 +1,6 @@ +// Copyright 2022 Joshua Diamond josh@windowoffire.com (@spidey3) +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #include QMK_KEYBOARD_H -- cgit 1.4.1