aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/mappings/keyboard_aliases.hjson5
-rw-r--r--docs/feature_advanced_keycodes.md60
-rw-r--r--docs/keycodes.md70
-rw-r--r--docs/mod_tap.md6
-rw-r--r--drivers/sensors/adns5050.h2
-rw-r--r--drivers/sensors/adns9800.h2
-rw-r--r--drivers/sensors/analog_joystick.h2
-rw-r--r--drivers/sensors/azoteq_iqs5xx.h2
-rw-r--r--drivers/sensors/cirque_pinnacle.h2
-rw-r--r--drivers/sensors/paw3204.h2
-rw-r--r--drivers/sensors/pimoroni_trackball.h2
-rw-r--r--drivers/sensors/pmw3320.h2
-rw-r--r--drivers/sensors/pmw33xx_common.h2
-rw-r--r--keyboards/bajjak/bajjak.c4
-rw-r--r--keyboards/bajjak/bajjak.h6
-rw-r--r--keyboards/bastardkb/tbkmini/keymaps/default/keymap.json2
-rw-r--r--keyboards/bastardkb/tbkmini/readme.md2
-rw-r--r--keyboards/ep/comsn/tf_longeboye/keymaps/default/keymap.c2
-rw-r--r--keyboards/ergodox_ez/glow/keymaps/default/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/default/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/default_osx/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/testing/keymap.c2
-rw-r--r--keyboards/ergodox_ez/util/keymap_beautifier/README.md4
-rw-r--r--keyboards/h0oni/deskpad/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/dactyl_manuform_pi_pico/keymaps/default/keymap.c10
-rw-r--r--keyboards/handwired/space_oddity/keymaps/default/keymap.c2
-rw-r--r--keyboards/hardwareabstraction/handwire/handwire.c2
-rw-r--r--keyboards/hotdox/keymaps/default/keymap.c2
-rw-r--r--keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c2
-rw-r--r--keyboards/k34/keymaps/default/keymap.c4
-rw-r--r--keyboards/keebformom/keymaps/default/keymap.c2
-rw-r--r--keyboards/keyhive/opus/keymaps/default/keymap.c2
-rw-r--r--keyboards/ktec/ergodone/keymaps/default/keymap.c2
-rw-r--r--keyboards/littlealby/mute/keymaps/default/keymap.c2
-rw-r--r--keyboards/littlealby/mute/keymaps/ms_teams/keymap.c2
-rw-r--r--keyboards/moon/config.h22
-rw-r--r--keyboards/moon/keyboard.json10
-rw-r--r--keyboards/moon/keymaps/default/keymap.c2
-rw-r--r--keyboards/moon/keymaps/default_tkl_ansi/keymap.c2
-rw-r--r--keyboards/moon/keymaps/default_tkl_ansi_wkl/keymap.c2
-rw-r--r--keyboards/moon/keymaps/default_tkl_iso/keymap.c2
-rw-r--r--keyboards/moon/keymaps/default_tkl_iso_wkl/keymap.c2
-rw-r--r--keyboards/moon/matrix.c107
-rw-r--r--keyboards/moon/rules.mk2
-rwxr-xr-xkeyboards/novelkeys/nk65/config.h87
-rw-r--r--keyboards/novelkeys/nk65/halconf.h32
-rwxr-xr-xkeyboards/novelkeys/nk65/info.json124
-rwxr-xr-xkeyboards/novelkeys/nk65/keymaps/default/keymap.c57
-rwxr-xr-xkeyboards/novelkeys/nk65/keymaps/default/readme.md6
-rw-r--r--keyboards/novelkeys/nk65/mcuconf.h43
-rwxr-xr-xkeyboards/novelkeys/nk65/nk65.c257
-rwxr-xr-xkeyboards/novelkeys/nk65/nk65.h20
-rwxr-xr-xkeyboards/novelkeys/nk65/readme.md40
-rwxr-xr-xkeyboards/novelkeys/nk65/rules.mk13
-rw-r--r--keyboards/novelkeys/nk65/v1/keyboard.json (renamed from keyboards/novelkeys/nk65/base/keyboard.json)0
-rwxr-xr-xkeyboards/novelkeys/nk65/v1_4/readme.md38
-rw-r--r--keyboards/palette1202/keymaps/default/keymap.c6
-rw-r--r--keyboards/sekigon/grs_70ec/matrix.c2
-rw-r--r--keyboards/system76/launch_1/launch_1.c2
-rw-r--r--keyboards/system76/launch_1/rgb_matrix_kb.inc2
-rw-r--r--keyboards/system76/system76_ec.c2
-rw-r--r--keyboards/work_louder/rgb_functions.c1
-rw-r--r--quantum/audio/audio.c5
-rw-r--r--quantum/quantum_keycodes.h13
-rw-r--r--quantum/quantum_keycodes_legacy.h11
66 files changed, 436 insertions, 699 deletions
diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson
index d50ad16498..f00be05254 100644
--- a/data/mappings/keyboard_aliases.hjson
+++ b/data/mappings/keyboard_aliases.hjson
@@ -2273,7 +2273,10 @@
"target": "mechwild/sugarglider/wide_oled/f401"
},
"novelkeys/nk65": {
- "target": "novelkeys/nk65/base"
+ "target": "novelkeys/nk65/v1"
+ },
+ "novelkeys/nk65/base": {
+ "target": "novelkeys/nk65/v1"
},
"sirius/uni660/rev2": {
"target": "sirius/uni660/rev2/ansi"
diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md
index b21accd367..a6f8bc8372 100644
--- a/docs/feature_advanced_keycodes.md
+++ b/docs/feature_advanced_keycodes.md
@@ -2,36 +2,36 @@
These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent.
-|Key |Aliases |Description |
-|----------|----------------------------------|-------------------------------------------------------------------------------|
-|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
-|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
-|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
-|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` |
-|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` |
-|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` |
-|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` |
-|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
-|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` |
-|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` |
-|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` |
-|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` |
-|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` |
-|`RCTL(kc)`| |Hold Right Control and press `kc` |
-|`RSFT(kc)`| |Hold Right Shift and press `kc` |
-|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
-|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` |
-|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` |
-|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
-|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` |
-|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt and press `kc` |
-|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` |
-|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` |
-|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` |
-|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` |
-|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` |
-|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` |
-|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`<sup>1</sup>|
+|Key |Aliases |Description |
+|----------|-------------------------------|-------------------------------------------------------------------------------|
+|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
+|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
+|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
+|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
+|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` |
+|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` |
+|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` |
+|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
+|`LSG(kc)` | |Hold Left Shift and Left GUI and press `kc` |
+|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` |
+|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` |
+|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` |
+|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` |
+|`RCTL(kc)`| |Hold Right Control and press `kc` |
+|`RSFT(kc)`| |Hold Right Shift and press `kc` |
+|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
+|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` |
+|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` |
+|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
+|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` |
+|`RSA(kc)` | |Hold Right Shift and Right Alt and press `kc` |
+|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` |
+|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` |
+|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` |
+|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` |
+|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` |
+|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` |
+|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`<sup>1</sup>|
<sup>1. More information on the Hyper key can be found on [this blog post by Brett Terpstra](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/).</sup>
diff --git a/docs/keycodes.md b/docs/keycodes.md
index 33014a54a5..e569e87431 100644
--- a/docs/keycodes.md
+++ b/docs/keycodes.md
@@ -657,38 +657,38 @@ See also: [Mouse Keys](features/mouse_keys)
See also: [Modifier Keys](feature_advanced_keycodes#modifier-keys)
-|Key |Aliases |Description |
-|----------|----------------------------------|-------------------------------------------------------------------|
-|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
-|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
-|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
-|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` |
-|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` |
-|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` |
-|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` |
-|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
-|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` |
-|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` |
-|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` |
-|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` |
-|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` |
-|`RCTL(kc)`| |Hold Right Control and press `kc` |
-|`RSFT(kc)`| |Hold Right Shift and press `kc` |
-|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
-|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` |
-|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
-|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` |
-|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` |
-|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt and press `kc` |
-|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` |
-|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` |
-|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` |
-|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` |
-|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` |
-|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` |
-|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`|
-|`KC_MEH` | |Left Control, Left Shift and Left Alt |
-|`KC_HYPR` | |Left Control, Left Shift, Left Alt and Left GUI |
+|Key |Aliases |Description |
+|----------|-------------------------------|-------------------------------------------------------------------|
+|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
+|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
+|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
+|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
+|`LCS(kc)` | |Hold Left Control and Left Shift and press `kc` |
+|`LCA(kc)` | |Hold Left Control and Left Alt and press `kc` |
+|`LCG(kc)` | |Hold Left Control and Left GUI and press `kc` |
+|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
+|`LSG(kc)` | |Hold Left Shift and Left GUI and press `kc` |
+|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` |
+|`LCSG(kc)`| |Hold Left Control, Left Shift and Left GUI and press `kc` |
+|`LCAG(kc)`| |Hold Left Control, Left Alt and Left GUI and press `kc` |
+|`LSAG(kc)`| |Hold Left Shift, Left Alt and Left GUI and press `kc` |
+|`RCTL(kc)`| |Hold Right Control and press `kc` |
+|`RSFT(kc)`| |Hold Right Shift and press `kc` |
+|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
+|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` |
+|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
+|`RCA(kc)` | |Hold Right Control and Right Alt and press `kc` |
+|`RCG(kc)` | |Hold Right Control and Right GUI and press `kc` |
+|`RSA(kc)` | |Hold Right Shift and Right Alt and press `kc` |
+|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` |
+|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` |
+|`RCSG(kc)`| |Hold Right Control, Right Shift and Right GUI and press `kc` |
+|`RCAG(kc)`| |Hold Right Control, Right Alt and Right GUI and press `kc` |
+|`RSAG(kc)`| |Hold Right Shift, Right Alt and Right GUI and press `kc` |
+|`MEH(kc)` | |Hold Left Control, Left Shift and Left Alt and press `kc` |
+|`HYPR(kc)`| |Hold Left Control, Left Shift, Left Alt and Left GUI and press `kc`|
+|`KC_MEH` | |Left Control, Left Shift and Left Alt |
+|`KC_HYPR` | |Left Control, Left Shift, Left Alt and Left GUI |
## Mod-Tap Keys {#mod-tap-keys}
@@ -705,7 +705,7 @@ See also: [Mod-Tap](mod_tap)
|`LCA_T(kc)` | |Left Control and Left Alt when held, `kc` when tapped |
|`LCG_T(kc)` | |Left Control and Left GUI when held, `kc` when tapped |
|`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped |
-|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and Left GUI when held, `kc` when tapped |
+|`LSG_T(kc)` | |Left Shift and Left GUI when held, `kc` when tapped |
|`LAG_T(kc)` | |Left Alt and Left GUI when held, `kc` when tapped |
|`LCSG_T(kc)` | |Left Control, Left Shift and Left GUI when held, `kc` when tapped |
|`LCAG_T(kc)` | |Left Control, Left Alt and Left GUI when held, `kc` when tapped |
@@ -717,14 +717,14 @@ See also: [Mod-Tap](mod_tap)
|`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped |
|`RCA_T(kc)` | |Right Control and Right Alt when held, `kc` when tapped |
|`RCG_T(kc)` | |Right Control and Right GUI when held, `kc` when tapped |
-|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt when held, `kc` when tapped |
+|`RSA_T(kc)` | |Right Shift and Right Alt when held, `kc` when tapped |
|`RSG_T(kc)` | |Right Shift and Right GUI when held, `kc` when tapped |
|`RAG_T(kc)` | |Right Alt and Right GUI when held, `kc` when tapped |
|`RCSG_T(kc)` | |Right Control, Right Shift and Right GUI when held, `kc` when tapped |
|`RCAG_T(kc)` | |Right Control, Right Alt and Right GUI when held, `kc` when tapped |
|`RSAG_T(kc)` | |Right Shift, Right Alt and Right GUI when held, `kc` when tapped |
|`MEH_T(kc)` | |Left Control, Left Shift and Left Alt when held, `kc` when tapped |
-|`HYPR_T(kc)` |`ALL_T(kc)` |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped|
+|`HYPR_T(kc)` | |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped|
## Tapping Term Keys {#tapping-term-keys}
diff --git a/docs/mod_tap.md b/docs/mod_tap.md
index ebf79adb7f..67922c0915 100644
--- a/docs/mod_tap.md
+++ b/docs/mod_tap.md
@@ -37,7 +37,7 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations
|`LCA_T(kc)` | |Left Control and Left Alt when held, `kc` when tapped |
|`LCG_T(kc)` | |Left Control and Left GUI when held, `kc` when tapped |
|`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped |
-|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and Left GUI when held, `kc` when tapped |
+|`LSG_T(kc)` | |Left Shift and Left GUI when held, `kc` when tapped |
|`LAG_T(kc)` | |Left Alt and Left GUI when held, `kc` when tapped |
|`LCSG_T(kc)`| |Left Control, Left Shift and Left GUI when held, `kc` when tapped |
|`LCAG_T(kc)`| |Left Control, Left Alt and Left GUI when held, `kc` when tapped |
@@ -49,14 +49,14 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations
|`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped |
|`RCA_T(kc)` | |Right Control and Right Alt when held, `kc` when tapped |
|`RCG_T(kc)` | |Right Control and Right GUI when held, `kc` when tapped |
-|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt when held, `kc` when tapped |
+|`RSA_T(kc)` | |Right Shift and Right Alt when held, `kc` when tapped |
|`RSG_T(kc)` | |Right Shift and Right GUI when held, `kc` when tapped |
|`RAG_T(kc)` | |Right Alt and Right GUI when held, `kc` when tapped |
|`RCSG_T(kc)`| |Right Control, Right Shift and Right GUI when held, `kc` when tapped |
|`RCAG_T(kc)`| |Right Control, Right Alt and Right GUI when held, `kc` when tapped |
|`RSAG_T(kc)`| |Right Shift, Right Alt and Right GUI when held, `kc` when tapped |
|`MEH_T(kc)` | |Left Control, Left Shift and Left Alt when held, `kc` when tapped |
-|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped<sup>1</sup>|
+|`HYPR_T(kc)`| |Left Control, Left Shift, Left Alt and Left GUI when held, `kc` when tapped<sup>1</sup>|
<sup>1. More information on the Hyper key can be found on [this blog post by Brett Terpstra](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/).</sup>
diff --git a/drivers/sensors/adns5050.h b/drivers/sensors/adns5050.h
index 004c54f560..648b49e387 100644
--- a/drivers/sensors/adns5050.h
+++ b/drivers/sensors/adns5050.h
@@ -70,7 +70,7 @@ typedef struct {
int8_t dy;
} report_adns5050_t;
-const pointing_device_driver_t adns5050_pointing_device_driver;
+extern const pointing_device_driver_t adns5050_pointing_device_driver;
// A bunch of functions to implement the ADNS5050-specific serial protocol.
// Note that the "serial.h" driver is insufficient, because it does not
diff --git a/drivers/sensors/adns9800.h b/drivers/sensors/adns9800.h
index 797aaf3cd0..ea854e8675 100644
--- a/drivers/sensors/adns9800.h
+++ b/drivers/sensors/adns9800.h
@@ -61,7 +61,7 @@ typedef struct {
int16_t y;
} report_adns9800_t;
-const pointing_device_driver_t adns9800_pointing_device_driver;
+extern const pointing_device_driver_t adns9800_pointing_device_driver;
bool adns9800_init(void);
config_adns9800_t adns9800_get_config(void);
diff --git a/drivers/sensors/analog_joystick.h b/drivers/sensors/analog_joystick.h
index 4838f502f1..f8cc315533 100644
--- a/drivers/sensors/analog_joystick.h
+++ b/drivers/sensors/analog_joystick.h
@@ -43,7 +43,7 @@
# define ANALOG_JOYSTICK_SPEED_MAX 2
#endif
-const pointing_device_driver_t analog_joystick_pointing_device_driver;
+extern const pointing_device_driver_t analog_joystick_pointing_device_driver;
typedef struct {
int8_t x;
diff --git a/drivers/sensors/azoteq_iqs5xx.h b/drivers/sensors/azoteq_iqs5xx.h
index 1a70ac6149..a5866b3d85 100644
--- a/drivers/sensors/azoteq_iqs5xx.h
+++ b/drivers/sensors/azoteq_iqs5xx.h
@@ -178,7 +178,7 @@ typedef struct {
# define POINTING_DEVICE_TASK_THROTTLE_MS AZOTEQ_IQS5XX_REPORT_RATE + 1
#endif
-const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver;
+extern const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver;
bool azoteq_iqs5xx_init(void);
i2c_status_t azoteq_iqs5xx_wake(void);
diff --git a/drivers/sensors/cirque_pinnacle.h b/drivers/sensors/cirque_pinnacle.h
index 3541d62463..f71ee8da1f 100644
--- a/drivers/sensors/cirque_pinnacle.h
+++ b/drivers/sensors/cirque_pinnacle.h
@@ -112,7 +112,7 @@ typedef struct {
#define cirque_pinnacle_i2c_pointing_device_driver cirque_pinnacle_pointing_device_driver
#define cirque_pinnacle_spi_pointing_device_driver cirque_pinnacle_pointing_device_driver
-const pointing_device_driver_t cirque_pinnacle_pointing_device_driver;
+extern const pointing_device_driver_t cirque_pinnacle_pointing_device_driver;
bool cirque_pinnacle_init(void);
void cirque_pinnacle_calibrate(void);
diff --git a/drivers/sensors/paw3204.h b/drivers/sensors/paw3204.h
index 11759d64c3..0bf5713548 100644
--- a/drivers/sensors/paw3204.h
+++ b/drivers/sensors/paw3204.h
@@ -41,7 +41,7 @@ typedef struct {
bool isMotion;
} report_paw3204_t;
-const pointing_device_driver_t paw3204_pointing_device_driver;
+extern const pointing_device_driver_t paw3204_pointing_device_driver;
/**
* @brief Initializes the sensor so it is in a working state and ready to
diff --git a/drivers/sensors/pimoroni_trackball.h b/drivers/sensors/pimoroni_trackball.h
index 4b8a2548ae..74ae6d7228 100644
--- a/drivers/sensors/pimoroni_trackball.h
+++ b/drivers/sensors/pimoroni_trackball.h
@@ -50,7 +50,7 @@ typedef struct {
uint8_t click;
} pimoroni_data_t;
-const pointing_device_driver_t pimoroni_trackball_pointing_device_driver;
+extern const pointing_device_driver_t pimoroni_trackball_pointing_device_driver;
bool pimoroni_trackball_device_init(void);
void pimoroni_trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white);
diff --git a/drivers/sensors/pmw3320.h b/drivers/sensors/pmw3320.h
index 42fd72a52c..c80eb8e145 100644
--- a/drivers/sensors/pmw3320.h
+++ b/drivers/sensors/pmw3320.h
@@ -55,7 +55,7 @@ typedef struct {
int8_t dy;
} report_pmw3320_t;
-const pointing_device_driver_t pmw3320_pointing_device_driver;
+extern const pointing_device_driver_t pmw3320_pointing_device_driver;
// A bunch of functions to implement the PMW3320-specific serial protocol.
// Mostly taken from ADNS5050 driver.
diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h
index 8fb10b1b2f..ff890f49a9 100644
--- a/drivers/sensors/pmw33xx_common.h
+++ b/drivers/sensors/pmw33xx_common.h
@@ -106,7 +106,7 @@ STATIC_ASSERT(sizeof((pmw33xx_report_t){0}.motion) == 1, "pmw33xx_report_t.motio
#define pmw3360_pointing_device_driver pmw33xx_pointing_device_driver;
#define pmw3389_pointing_device_driver pmw33xx_pointing_device_driver;
-const pointing_device_driver_t pmw33xx_pointing_device_driver;
+extern const pointing_device_driver_t pmw33xx_pointing_device_driver;
/**
* @brief Initializes the given sensor so it is in a working state and ready to
diff --git a/keyboards/bajjak/bajjak.c b/keyboards/bajjak/bajjak.c
index aadeb0415a..17d9165232 100644
--- a/keyboards/bajjak/bajjak.c
+++ b/keyboards/bajjak/bajjak.c
@@ -21,6 +21,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "bajjak.h"
+bool bajjak_left_led_1 = 0;
+bool bajjak_left_led_2 = 0;
+bool bajjak_left_led_3 = 0;
+
extern inline void bajjak_board_led_on(void);
extern inline void bajjak_right_led_1_on(void);
extern inline void bajjak_right_led_2_on(void);
diff --git a/keyboards/bajjak/bajjak.h b/keyboards/bajjak/bajjak.h
index cd4ae50053..f3acb54f59 100644
--- a/keyboards/bajjak/bajjak.h
+++ b/keyboards/bajjak/bajjak.h
@@ -66,9 +66,9 @@ inline void bajjak_right_led_3_off(void) { gpio_set_pin_input(B7); gpio_write_
inline void bajjak_right_led_off(uint8_t led) { gpio_set_pin_input(led+4); gpio_write_pin_low(led+4); }
#ifdef LEFT_LEDS
-bool bajjak_left_led_1;
-bool bajjak_left_led_2;
-bool bajjak_left_led_3;
+extern bool bajjak_left_led_1;
+extern bool bajjak_left_led_2;
+extern bool bajjak_left_led_3;
inline void bajjak_left_led_1_on(void) { bajjak_left_led_1 = 1; }
inline void bajjak_left_led_2_on(void) { bajjak_left_led_2 = 1; }
diff --git a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.json b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.json
index 58a02b797c..72ca022da9 100644
--- a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.json
+++ b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.json
@@ -1,5 +1,5 @@
{
- "keyboard": "bastardkb/tbkmini",
+ "keyboard": "bastardkb/tbkmini/promicro",
"keymap": "default",
"layout": "LAYOUT_split_3x6_3",
"layers": [
diff --git a/keyboards/bastardkb/tbkmini/readme.md b/keyboards/bastardkb/tbkmini/readme.md
index cc3e547ff4..87f6cdcf2f 100644
--- a/keyboards/bastardkb/tbkmini/readme.md
+++ b/keyboards/bastardkb/tbkmini/readme.md
@@ -14,7 +14,7 @@ Flashing example for this keyboard:
make bastardkb/tbkmini/blackpill:default:flash
make bastardkb/tbkmini/promicro:default:flash
-Note if using the `promicro` version: If you are using an Elite-C compatible development board, see [here](../readme.md#handedness-in-on-elite-c-holder) for setting handedness by pin.
+Note if using the `promicro` version: If you are using an Elite-C compatible development board, see [here](../readme.md#handedness-pin-on-elite-c-holder) for setting handedness by pin.
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ep/comsn/tf_longeboye/keymaps/default/keymap.c b/keyboards/ep/comsn/tf_longeboye/keymaps/default/keymap.c
index 1fdcc9d4db..ef0570a6b3 100644
--- a/keyboards/ep/comsn/tf_longeboye/keymaps/default/keymap.c
+++ b/keyboards/ep/comsn/tf_longeboye/keymaps/default/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, SGUI(KC_S), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, LSG(KC_S), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS
),
diff --git a/keyboards/ergodox_ez/glow/keymaps/default/keymap.c b/keyboards/ergodox_ez/glow/keymaps/default/keymap.c
index 13b2cee50a..b3f394bee8 100644
--- a/keyboards/ergodox_ez/glow/keymaps/default/keymap.c
+++ b/keyboards/ergodox_ez/glow/keymaps/default/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT),
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB),
ALT_T(KC_APP), KC_LGUI, KC_LALT, CTL_T(KC_ESC),
KC_HOME, KC_PGUP,
diff --git a/keyboards/ergodox_ez/keymaps/default/keymap.c b/keyboards/ergodox_ez/keymaps/default/keymap.c
index 555e203370..5197f140f0 100644
--- a/keyboards/ergodox_ez/keymaps/default/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/default/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT),
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO), MEH_T(KC_NO), KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB),
ALT_T(KC_APP), KC_LGUI, KC_LALT, CTL_T(KC_ESC),
KC_HOME, KC_PGUP,
diff --git a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c
index 3ab66078fe..97c8bea54c 100644
--- a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO),
LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
ALT_T(KC_APP), KC_LGUI,
KC_HOME,
diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
index 47c2612e35..47be8ebb40 100644
--- a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO),
LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
ALT_T(KC_APP), KC_LGUI,
KC_HOME,
diff --git a/keyboards/ergodox_ez/keymaps/testing/keymap.c b/keyboards/ergodox_ez/keymaps/testing/keymap.c
index 300c2457c4..70a4af45a4 100644
--- a/keyboards/ergodox_ez/keymaps/testing/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/testing/keymap.c
@@ -20,7 +20,7 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,ALL_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER),
+ [0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,HYPR_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER),
[1] = LAYOUT_ergodox(KC_TRANSPARENT,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_W),KC_LBRC,KC_RBRC,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_PGUP),LCTL(KC_PGDN),UG_NEXT,KC_TRANSPARENT,KC_TRANSPARENT,UG_VALD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_F12,KC_AMPR,KC_UNDS,KC_MINUS,KC_SCLN,KC_PLUS,KC_TRANSPARENT,KC_TRANSPARENT,KC_PIPE,KC_AT,KC_EQUAL,KC_PERC,KC_BSLS,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,UG_TOGG,RGB_SLD,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,UG_HUEU),
diff --git a/keyboards/ergodox_ez/util/keymap_beautifier/README.md b/keyboards/ergodox_ez/util/keymap_beautifier/README.md
index e7c7096f77..849e61fc9b 100644
--- a/keyboards/ergodox_ez/util/keymap_beautifier/README.md
+++ b/keyboards/ergodox_ez/util/keymap_beautifier/README.md
@@ -7,7 +7,7 @@ This Python 3 script, by [Tsan-Kuang Lee](https://github.com/tsankuanglee) takes
For example, the original `keymap.c` looks like
```
-[0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,ALL_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER),
+[0] = LAYOUT_ergodox(KC_EQUAL,KC_1,KC_2,KC_3,KC_4,KC_5,LCTL(KC_MINUS),KC_DELETE,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_LBRC,KC_BSPC,KC_A,KC_S,KC_D,KC_F,KC_G,SC_LSPO,CTL_T(KC_Z),KC_X,KC_C,KC_V,KC_B,HYPR_T(KC_NO),LT(1,KC_GRAVE),KC_QUOTE,LALT(KC_LSFT),KC_LEFT,KC_RIGHT,ALT_T(KC_APPLICATION),KC_LGUI,KC_HOME,KC_SPACE,KC_UNDS,KC_END,LCTL(KC_EQUAL),KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINUS,KC_RBRC,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS,KC_H,ALT_T(KC_J),KC_K,KC_L,LT(2,KC_SCLN),GUI_T(KC_QUOTE),MEH_T(KC_NO),KC_N,KC_M,KC_COMMA,KC_DOT,CTL_T(KC_SLASH),SC_RSPC,KC_UP,KC_DOWN,KC_LBRC,KC_RBRC,TT(1),KC_LALT,CTL_T(KC_ESCAPE),KC_PGUP,KC_PGDN,LT(1,KC_TAB),KC_ENTER),
```
The beautifier parses it and outputs:
@@ -19,7 +19,7 @@ The beautifier parses it and outputs:
KC_EQUAL , KC_1 , KC_2 , KC_3 , KC_4 , KC_5, LCTL(KC_MINUS),
KC_DELETE , KC_Q , KC_W , KC_E , KC_R , KC_T, KC_LBRC ,
KC_BSPC , KC_A , KC_S , KC_D , KC_F , KC_G,
-SC_LSPO , CTL_T(KC_Z), KC_X , KC_C , KC_V , KC_B, ALL_T(KC_NO) ,
+SC_LSPO , CTL_T(KC_Z), KC_X , KC_C , KC_V , KC_B, HYPR_T(KC_NO) ,
LT(1,KC_GRAVE), KC_QUOTE , LALT(KC_LSFT) , KC_LEFT, KC_RIGHT,
// left thumb
diff --git a/keyboards/h0oni/deskpad/keymaps/default/keymap.c b/keyboards/h0oni/deskpad/keymaps/default/keymap.c
index eea54cf6b1..4ab51b657e 100644
--- a/keyboards/h0oni/deskpad/keymaps/default/keymap.c
+++ b/keyboards/h0oni/deskpad/keymaps/default/keymap.c
@@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[2] = LAYOUT(
- A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH)
+ A(KC_F4), LSG(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH)
),
[3] = LAYOUT(
diff --git a/keyboards/handwired/dactyl_manuform_pi_pico/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform_pi_pico/keymaps/default/keymap.c
index cd78aef7a9..fed363a22d 100644
--- a/keyboards/handwired/dactyl_manuform_pi_pico/keymaps/default/keymap.c
+++ b/keyboards/handwired/dactyl_manuform_pi_pico/keymaps/default/keymap.c
@@ -54,11 +54,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_WINMGR] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_F1, LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), KC_F4, KC_F7, SGUI(KC_7), SGUI(KC_8), SGUI(KC_9), KC_F10, KC_TRNS,
- TO(_QWERTY), KC_F2, LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), KC_F5, KC_F8, SGUI(KC_4), SGUI(KC_5), SGUI(KC_6), KC_F11, KC_TRNS,
- KC_TRNS, KC_F3, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), KC_F6, KC_F9, SGUI(KC_1), SGUI(KC_2), SGUI(KC_3), KC_F12, KC_TRNS,
- KC_TRNS, LGUI(KC_0), SGUI(KC_0), KC_TRNS,
- LGUI(KC_0), KC_TRNS, KC_TRNS, SGUI(KC_0),
+ KC_TRNS, KC_F1, LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), KC_F4, KC_F7, LSG(KC_7), LSG(KC_8), LSG(KC_9), KC_F10, KC_TRNS,
+ TO(_QWERTY), KC_F2, LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), KC_F5, KC_F8, LSG(KC_4), LSG(KC_5), LSG(KC_6), KC_F11, KC_TRNS,
+ KC_TRNS, KC_F3, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), KC_F6, KC_F9, LSG(KC_1), LSG(KC_2), LSG(KC_3), KC_F12, KC_TRNS,
+ KC_TRNS, LGUI(KC_0), LSG(KC_0), KC_TRNS,
+ LGUI(KC_0), KC_TRNS, KC_TRNS, LSG(KC_0),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
LCTL(LGUI(KC_Q)), KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/handwired/space_oddity/keymaps/default/keymap.c b/keyboards/handwired/space_oddity/keymaps/default/keymap.c
index c278953f46..4222307889 100644
--- a/keyboards/handwired/space_oddity/keymaps/default/keymap.c
+++ b/keyboards/handwired/space_oddity/keymaps/default/keymap.c
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
TD(SFT_CAPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT),
- MO(2), MO(1), KC_LGUI, KC_RALT, KC_LCTL, KC_SPC, ALT_T(KC_LEFT), ALL_T(KC_RGHT), LT(1, KC_UP), LT(2, KC_DOWN)
+ MO(2), MO(1), KC_LGUI, KC_RALT, KC_LCTL, KC_SPC, ALT_T(KC_LEFT), HYPR_T(KC_RGHT), LT(1, KC_UP), LT(2, KC_DOWN)
),
/* Function layer.
diff --git a/keyboards/hardwareabstraction/handwire/handwire.c b/keyboards/hardwareabstraction/handwire/handwire.c
index b31c0a7091..758cfd8885 100644
--- a/keyboards/hardwareabstraction/handwire/handwire.c
+++ b/keyboards/hardwareabstraction/handwire/handwire.c
@@ -132,7 +132,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
// Variables for display layer and haptic status on OLED
static uint8_t layer = 0;
-haptic_config_t haptic_config;
+extern haptic_config_t haptic_config;
// Variables for frames, timer, and sleep
uint32_t anim_timer = 0;
diff --git a/keyboards/hotdox/keymaps/default/keymap.c b/keyboards/hotdox/keymaps/default/keymap.c
index 45e81b7fcf..436997ead7 100644
--- a/keyboards/hotdox/keymaps/default/keymap.c
+++ b/keyboards/hotdox/keymaps/default/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO),
LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
ALT_T(KC_APP), KC_LGUI,
KC_HOME,
diff --git a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c
index 8b3d110c88..2f337f9e89 100644
--- a/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c
+++ b/keyboards/input_club/ergodox_infinity/keymaps/default/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO),
LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
ALT_T(KC_APP), KC_LGUI,
KC_HOME,
diff --git a/keyboards/k34/keymaps/default/keymap.c b/keyboards/k34/keymaps/default/keymap.c
index 4d09b121dd..cfadf90c6b 100644
--- a/keyboards/k34/keymaps/default/keymap.c
+++ b/keyboards/k34/keymaps/default/keymap.c
@@ -25,8 +25,8 @@ enum layer_names {
#define S_SLSH SFT_T(KC_SLSH)
// combos for application shortcuts
-#define SG_LBRC SGUI(KC_LBRC)
-#define SG_RBRC SGUI(KC_RBRC)
+#define SG_LBRC LSG(KC_LBRC)
+#define SG_RBRC LSG(KC_RBRC)
#define G_LBRC G(KC_LBRC)
#define G_RBRC G(KC_RBRC)
#define A_SLSH A(KC_SLSH)
diff --git a/keyboards/keebformom/keymaps/default/keymap.c b/keyboards/keebformom/keymaps/default/keymap.c
index f1c4b29429..727e429d74 100644
--- a/keyboards/keebformom/keymaps/default/keymap.c
+++ b/keyboards/keebformom/keymaps/default/keymap.c
@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `---------------------------------------------------------------------'
*/
[_THIRD] = LAYOUT_ortho_4x10(
- KC_INS, KC_HOME, KC_PGUP, KC_NO, SGUI(KC_S), LCTL(KC_A), KC_NO, KC_NO, KC_UP, KC_NO,
+ KC_INS, KC_HOME, KC_PGUP, KC_NO, LSG(KC_S), LCTL(KC_A), KC_NO, KC_NO, KC_UP, KC_NO,
KC_DEL, KC_END, KC_PGDN, KC_NO, LCTL(KC_S), LCTL(KC_C), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT,
KC_NO, KC_NO, KC_NO, KC_NO, LWIN(KC_E), LCTL(KC_V), KC_NO, KC_NO, KC_NO, KC_NO,
TO(0), _______, _______, _______, _______, _______, _______, KC_VOLD, _______, KC_VOLU
diff --git a/keyboards/keyhive/opus/keymaps/default/keymap.c b/keyboards/keyhive/opus/keymaps/default/keymap.c
index aaa1a899a2..868b611a81 100644
--- a/keyboards/keyhive/opus/keymaps/default/keymap.c
+++ b/keyboards/keyhive/opus/keymaps/default/keymap.c
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_NO, KC_NO, KC_SPC, KC_BSPC
),
[_NAV] = LAYOUT(
- KC_NO, KC_NO, LALT(KC_RGHT), SGUI(KC_LBRC), SGUI(KC_RBRC), KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, LALT(KC_RGHT), LSG(KC_LBRC), LSG(KC_RBRC), KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_NO, KC_NO, KC_NO,
KC_NO, KC_LCTL, KC_LALT, KC_LSFT, KC_LGUI, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LALT(KC_LEFT), KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_SPC, KC_BSPC
diff --git a/keyboards/ktec/ergodone/keymaps/default/keymap.c b/keyboards/ktec/ergodone/keymaps/default/keymap.c
index 41d5da8dee..87fc621996 100644
--- a/keyboards/ktec/ergodone/keymaps/default/keymap.c
+++ b/keyboards/ktec/ergodone/keymaps/default/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO),
+ KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, HYPR_T(KC_NO),
LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
ALT_T(KC_APP), KC_LGUI,
KC_HOME,
diff --git a/keyboards/littlealby/mute/keymaps/default/keymap.c b/keyboards/littlealby/mute/keymaps/default/keymap.c
index c6cf9836e3..729a6179a2 100644
--- a/keyboards/littlealby/mute/keymaps/default/keymap.c
+++ b/keyboards/littlealby/mute/keymaps/default/keymap.c
@@ -18,6 +18,6 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- SGUI(KC_A)
+ LSG(KC_A)
)
};
diff --git a/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c b/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c
index bb2cf1147c..223ccacaf0 100644
--- a/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c
+++ b/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c
@@ -18,6 +18,6 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- SGUI(KC_M)
+ LSG(KC_M)
)
};
diff --git a/keyboards/moon/config.h b/keyboards/moon/config.h
index ca4c770a3b..1e95dc2b8f 100644
--- a/keyboards/moon/config.h
+++ b/keyboards/moon/config.h
@@ -1,23 +1,7 @@
-/*
-Copyright 2019 Mathias Andersson <[email protected]>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
+// Copyright 2019 Mathias Andersson <[email protected]>
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-
-/* key matrix size */
+// key matrix size
#define MATRIX_ROWS 8
#define MATRIX_COLS 11
diff --git a/keyboards/moon/keyboard.json b/keyboards/moon/keyboard.json
index 76d2c08f7e..ea3d34b650 100644
--- a/keyboards/moon/keyboard.json
+++ b/keyboards/moon/keyboard.json
@@ -9,13 +9,11 @@
"device_version": "0.0.1"
},
"features": {
- "bootmagic": false,
- "mousekey": true,
+ "backlight": true,
+ "bootmagic": true,
"extrakey": true,
- "console": true,
- "command": true,
- "nkro": true,
- "backlight": true
+ "mousekey": true,
+ "nkro": true
},
"qmk": {
"locking": {
diff --git a/keyboards/moon/keymaps/default/keymap.c b/keyboards/moon/keymaps/default/keymap.c
index fd1956a4dc..73dc65dc9a 100644
--- a/keyboards/moon/keymaps/default/keymap.c
+++ b/keyboards/moon/keymaps/default/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2019 Mathias Andersson <[email protected]>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
// clang-format off
diff --git a/keyboards/moon/keymaps/default_tkl_ansi/keymap.c b/keyboards/moon/keymaps/default_tkl_ansi/keymap.c
index b0244eccee..ee22951fcd 100644
--- a/keyboards/moon/keymaps/default_tkl_ansi/keymap.c
+++ b/keyboards/moon/keymaps/default_tkl_ansi/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2019 Mathias Andersson <[email protected]>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
// clang-format off
diff --git a/keyboards/moon/keymaps/default_tkl_ansi_wkl/keymap.c b/keyboards/moon/keymaps/default_tkl_ansi_wkl/keymap.c
index 7fd641a93f..1b41519cc9 100644
--- a/keyboards/moon/keymaps/default_tkl_ansi_wkl/keymap.c
+++ b/keyboards/moon/keymaps/default_tkl_ansi_wkl/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2019 Mathias Andersson <[email protected]>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
// clang-format off
diff --git a/keyboards/moon/keymaps/default_tkl_iso/keymap.c b/keyboards/moon/keymaps/default_tkl_iso/keymap.c
index b4d9a9b60c..316ed8d5ba 100644
--- a/keyboards/moon/keymaps/default_tkl_iso/keymap.c
+++ b/keyboards/moon/keymaps/default_tkl_iso/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2019 Mathias Andersson <[email protected]>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
// clang-format off
diff --git a/keyboards/moon/keymaps/default_tkl_iso_wkl/keymap.c b/keyboards/moon/keymaps/default_tkl_iso_wkl/keymap.c
index 1224d9f02e..6637515e3e 100644
--- a/keyboards/moon/keymaps/default_tkl_iso_wkl/keymap.c
+++ b/keyboards/moon/keymaps/default_tkl_iso_wkl/keymap.c
@@ -1,3 +1,5 @@
+// Copyright 2019 Mathias Andersson <[email protected]>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
// clang-format off
diff --git a/keyboards/moon/matrix.c b/keyboards/moon/matrix.c
index 1cb9590e9f..0f72cf3740 100644
--- a/keyboards/moon/matrix.c
+++ b/keyboards/moon/matrix.c
@@ -1,26 +1,8 @@
-/*
-Copyright 2012-2019 Jun Wako, Jack Humbert, Yiancar, Mathias Andersson <[email protected]>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-#include "wait.h"
-#include "print.h"
-#include "debug.h"
-#include "util.h"
+// Copyright 2019 Mathias Andersson <[email protected]>
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "matrix.h"
-#include "debounce.h"
#include "pca9555.h"
+#include "wait.h"
/*
* IC1 (PCA9555) IC2 (PCA9555)
@@ -70,56 +52,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PORT1_COLS_MASK 0b00111111
#define COLS_MASK 0b0000011111111111
-#if (MATRIX_COLS <= 8)
-# define print_matrix_header() print("\nr/c 01234567\n")
-# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
-# define ROW_SHIFTER ((uint8_t)1)
-#elif (MATRIX_COLS <= 16)
-# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
-# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
-# define ROW_SHIFTER ((uint16_t)1)
-#elif (MATRIX_COLS <= 32)
-# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
-# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
-# define ROW_SHIFTER ((uint32_t)1)
-#endif
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
-static matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-
-__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); }
-
-__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); }
-
-__attribute__((weak)) void matrix_init_user(void) {}
-
-__attribute__((weak)) void matrix_scan_user(void) {}
-
-inline uint8_t matrix_rows(void) { return MATRIX_ROWS; }
-
-inline uint8_t matrix_cols(void) { return MATRIX_COLS; }
-
-inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); }
-
-inline matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; }
-
-void matrix_print(void) {
- print_matrix_header();
-
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- print_hex8(row);
- print(": ");
- print_matrix_row(row);
- print("\n");
- }
-}
-
-static void init_i2c(void) {
- pca9555_init(IC1);
- pca9555_init(IC2);
-}
-
static void init_pins(void) {
// init cols - IC2 port0 & IC2 port1 input
pca9555_set_config(IC2, PCA9555_PORT0, ALL_INPUT);
@@ -158,45 +90,28 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
// Clear data in matrix row
current_matrix[current_row] = 0;
- // Select row and wait for row selecton to stabilize
+ // Select row and wait for row selection to stabilize
select_row(current_row);
wait_us(30);
- current_matrix[current_row] |= read_cols();
+ current_matrix[current_row] = read_cols();
// No need to unselect as `select_row` sets all the pins.
return (last_row_value != current_matrix[current_row]);
}
-void matrix_init(void) {
- // initialize i2c
- init_i2c();
+void matrix_init_custom(void) {
+ pca9555_init(IC1);
+ pca9555_init(IC2);
- // initialize key pins
init_pins();
-
- // initialize matrix state: all keys off
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- raw_matrix[i] = 0;
- matrix[i] = 0;
- }
-
- debounce_init(MATRIX_ROWS);
-
- matrix_init_kb();
}
-uint8_t matrix_scan(void) {
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
bool changed = false;
-
for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
- changed |= read_cols_on_row(raw_matrix, current_row);
+ changed |= read_cols_on_row(current_matrix, current_row);
}
-
- debounce(raw_matrix, matrix, MATRIX_ROWS, changed);
-
- matrix_scan_kb();
-
- return (uint8_t)changed;
+ return changed;
}
diff --git a/keyboards/moon/rules.mk b/keyboards/moon/rules.mk
index aee52dfee1..e11c65db02 100644
--- a/keyboards/moon/rules.mk
+++ b/keyboards/moon/rules.mk
@@ -1,5 +1,5 @@
# custom matrix setup
-CUSTOM_MATRIX = yes
+CUSTOM_MATRIX = lite
VPATH += drivers/gpio
SRC += pca9555.c matrix.c
diff --git a/keyboards/novelkeys/nk65/config.h b/keyboards/novelkeys/nk65/config.h
index 97350e34b4..75c5c8638c 100755
--- a/keyboards/novelkeys/nk65/config.h
+++ b/keyboards/novelkeys/nk65/config.h
@@ -1,89 +1,6 @@
-/*
-Copyright 2019 Yiancar
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
+// Copyright 2019 Yiancar
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-/* Backlight options */
-
-#define RGB_BACKLIGHT_ENABLED 1
-
-#define RGB_BACKLIGHT_NK65
-
-// they aren't really used if RGB_BACKLIGHT_HS60 defined
-#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
-#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
-#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
-#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
-#define RGB_BACKLIGHT_USE_ISO_ENTER 0
-#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
-
-// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
-#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
-
-// disable backlight after timeout in minutes, 0 = no timeout
-#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0
-
-// the default brightness
-#define RGB_BACKLIGHT_BRIGHTNESS 255
-
-// the default effect (RGB test)
-#define RGB_BACKLIGHT_EFFECT 6
-
-// the default effect speed (0-3)
-#define RGB_BACKLIGHT_EFFECT_SPEED 0
-
-// the default color1 and color2
-#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
-#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
-
#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_SDA
-#define IS31FL3733_LED_COUNT 128
-
-// These define which keys in the matrix are alphas/mods
-// Used for backlight effects so colors are different for
-// alphas vs. mods
-// Each value is for a row, bit 0 is column 0
-// Alpha=0 Mod=1
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0110000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0100000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0110000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0111000000000001
-#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0111111000000111
-
-#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
-
-// Backlight config starts after VIA's EEPROM usage,
-// dynamic keymaps start after this.
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 32
-
-/* Custom EEPROM start addressing. This is to support
- * both 128kb and 256kb versions of F303.
- * Register 0x1FFFF7CC holds the size of the flash memory.
- */
-#ifndef FLASHSIZE_BASE
-# define FLASHSIZE_BASE ((uint32_t)0x1FFFF7CCU) /*!< FLASH Size register base address */
-#endif
-#define FEE_MCU_FLASH_SIZE_IGNORE_CHECK
-#define FEE_MCU_FLASH_SIZE \
-({ \
- uint16_t (*flash_size) = (uint16_t*)FLASHSIZE_BASE; \
- *flash_size; \
-})
diff --git a/keyboards/novelkeys/nk65/halconf.h b/keyboards/novelkeys/nk65/halconf.h
index e6d7e3c2ed..481d19c467 100644
--- a/keyboards/novelkeys/nk65/halconf.h
+++ b/keyboards/novelkeys/nk65/halconf.h
@@ -1,33 +1,7 @@
-/* Copyright 2020 QMK
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-/*
- * This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/nk65/halconf.h -r platforms/chibios/QMK_PROTON_C/configs/halconf.h`
- */
-
+// Copyright 2019 Yiancar
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#define HAL_USE_PWM FALSE
-
-#define HAL_USE_SPI FALSE
-
-#define PAL_USE_CALLBACKS FALSE
-
-#define PAL_USE_WAIT FALSE
+#define HAL_USE_I2C TRUE
#include_next <halconf.h>
-
diff --git a/keyboards/novelkeys/nk65/info.json b/keyboards/novelkeys/nk65/info.json
index ae02d3ac05..63c8af9faf 100755
--- a/keyboards/novelkeys/nk65/info.json
+++ b/keyboards/novelkeys/nk65/info.json
@@ -11,11 +11,133 @@
"bootmagic": true,
"extrakey": true,
"mousekey": true,
+ "rgb_matrix": true,
"nkro": true
},
"processor": "STM32F303",
"bootloader": "stm32-dfu",
- "board": "QMK_PROTON_C",
+ "rgb_matrix": {
+ "driver": "is31fl3733",
+ "sleep": true,
+ "animations": {
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "layout": [
+ { "flags": 4, "matrix": [0, 0], "x": 8, "y": 7 },
+ { "flags": 4, "matrix": [0, 1], "x": 22, "y": 7 },
+ { "flags": 4, "matrix": [0, 2], "x": 35, "y": 7 },
+ { "flags": 4, "matrix": [0, 3], "x": 49, "y": 7 },
+ { "flags": 4, "matrix": [0, 4], "x": 63, "y": 7 },
+ { "flags": 4, "matrix": [0, 5], "x": 77, "y": 7 },
+ { "flags": 4, "matrix": [0, 6], "x": 91, "y": 7 },
+ { "flags": 4, "matrix": [0, 7], "x": 105, "y": 7 },
+ { "flags": 4, "matrix": [0, 8], "x": 118, "y": 7 },
+ { "flags": 4, "matrix": [0, 9], "x": 132, "y": 7 },
+ { "flags": 4, "matrix": [0, 10], "x": 146, "y": 7 },
+ { "flags": 4, "matrix": [0, 11], "x": 160, "y": 7 },
+ { "flags": 4, "matrix": [0, 12], "x": 174, "y": 7 },
+ { "flags": 4, "matrix": [0, 13], "x": 195, "y": 7 },
+ { "flags": 4, "matrix": [0, 14], "x": 215, "y": 7 },
+ { "flags": 4, "matrix": [1, 0], "x": 11, "y": 19 },
+ { "flags": 4, "matrix": [1, 1], "x": 28, "y": 19 },
+ { "flags": 4, "matrix": [1, 2], "x": 42, "y": 19 },
+ { "flags": 4, "matrix": [1, 3], "x": 56, "y": 19 },
+ { "flags": 4, "matrix": [1, 4], "x": 70, "y": 19 },
+ { "flags": 4, "matrix": [1, 5], "x": 84, "y": 19 },
+ { "flags": 4, "matrix": [1, 6], "x": 98, "y": 19 },
+ { "flags": 4, "matrix": [1, 7], "x": 112, "y": 19 },
+ { "flags": 4, "matrix": [1, 8], "x": 125, "y": 19 },
+ { "flags": 4, "matrix": [1, 9], "x": 139, "y": 19 },
+ { "flags": 4, "matrix": [1, 10], "x": 153, "y": 19 },
+ { "flags": 4, "matrix": [1, 11], "x": 167, "y": 19 },
+ { "flags": 4, "matrix": [1, 12], "x": 181, "y": 19 },
+ { "flags": 4, "matrix": [2, 12], "x": 198, "y": 19 },
+ { "flags": 4, "matrix": [1, 14], "x": 215, "y": 19 },
+ { "flags": 4, "matrix": [2, 0], "x": 13, "y": 32 },
+ { "flags": 4, "matrix": [2, 1], "x": 32, "y": 32 },
+ { "flags": 4, "matrix": [2, 2], "x": 46, "y": 32 },
+ { "flags": 4, "matrix": [2, 3], "x": 60, "y": 32 },
+ { "flags": 4, "matrix": [2, 4], "x": 73, "y": 32 },
+ { "flags": 4, "matrix": [2, 5], "x": 87, "y": 32 },
+ { "flags": 4, "matrix": [2, 6], "x": 101, "y": 32 },
+ { "flags": 4, "matrix": [2, 7], "x": 115, "y": 32 },
+ { "flags": 4, "matrix": [2, 8], "x": 129, "y": 32 },
+ { "flags": 4, "matrix": [2, 9], "x": 143, "y": 32 },
+ { "flags": 4, "matrix": [2, 10], "x": 156, "y": 32 },
+ { "flags": 4, "matrix": [2, 11], "x": 170, "y": 32 },
+ { "flags": 4, "matrix": [2, 13], "x": 193, "y": 32 },
+ { "flags": 4, "matrix": [2, 14], "x": 215, "y": 32 },
+ { "flags": 4, "matrix": [3, 0], "x": 16, "y": 44 },
+ { "flags": 4, "matrix": [3, 2], "x": 39, "y": 44 },
+ { "flags": 4, "matrix": [3, 3], "x": 53, "y": 44 },
+ { "flags": 4, "matrix": [3, 4], "x": 67, "y": 44 },
+ { "flags": 4, "matrix": [3, 5], "x": 80, "y": 44 },
+ { "flags": 4, "matrix": [3, 6], "x": 94, "y": 44 },
+ { "flags": 4, "matrix": [3, 7], "x": 108, "y": 44 },
+ { "flags": 4, "matrix": [3, 8], "x": 122, "y": 44 },
+ { "flags": 4, "matrix": [3, 9], "x": 136, "y": 44 },
+ { "flags": 4, "matrix": [3, 10], "x": 150, "y": 44 },
+ { "flags": 4, "matrix": [3, 11], "x": 163, "y": 44 },
+ { "flags": 4, "matrix": [3, 12], "x": 182, "y": 44 },
+ { "flags": 4, "matrix": [3, 13], "x": 201, "y": 44 },
+ { "flags": 4, "matrix": [3, 14], "x": 215, "y": 44 },
+ { "flags": 4, "matrix": [4, 0], "x": 9, "y": 56 },
+ { "flags": 4, "matrix": [4, 1], "x": 27, "y": 56 },
+ { "flags": 4, "matrix": [4, 2], "x": 44, "y": 56 },
+ { "flags": 4, "matrix": [4, 6], "x": 96, "y": 56 },
+ { "flags": 4, "matrix": [4, 9], "x": 146, "y": 56 },
+ { "flags": 4, "matrix": [4, 10], "x": 160, "y": 56 },
+ { "flags": 4, "matrix": [4, 11], "x": 174, "y": 56 },
+ { "flags": 4, "matrix": [4, 12], "x": 188, "y": 56 },
+ { "flags": 4, "matrix": [4, 13], "x": 201, "y": 56 },
+ { "flags": 4, "matrix": [4, 14], "x": 215, "y": 56 },
+ { "flags": 1, "x": 224, "y": 0 },
+ { "flags": 1, "x": 224, "y": 5 },
+ { "flags": 1, "x": 224, "y": 10 }
+ ]
+ },
"community_layouts": ["65_ansi"],
"layouts": {
"LAYOUT_65_ansi": {
diff --git a/keyboards/novelkeys/nk65/keymaps/default/keymap.c b/keyboards/novelkeys/nk65/keymaps/default/keymap.c
index 3a043cbfe7..95a1d7f367 100755
--- a/keyboards/novelkeys/nk65/keymaps/default/keymap.c
+++ b/keyboards/novelkeys/nk65/keymaps/default/keymap.c
@@ -1,46 +1,21 @@
-/* Copyright 2019 Yiancar
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
+// Copyright 2019 Yiancar
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_65_ansi( /* Base */
- QK_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+ [0] = LAYOUT_65_ansi( /* Base */
+ QK_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, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
-[1] = LAYOUT_65_ansi( /* FN */
- 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_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_65_ansi( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_65_ansi( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [1] = LAYOUT_65_ansi( /* FN */
+ 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_DEL, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
+ _______, RM_TOGG, _______, _______, RM_SATD, RM_SATU, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RM_PREV, RM_NEXT, RM_HUED, RM_HUEU, _______, _______, RM_VALD, RM_VALU, RM_SPDD, RM_SPDU, _______, _______, _______,
+ KC_VOLU, KC_VOLD, KC_MUTE, _______, _______, _______, _______, _______, _______, _______
+ )
};
diff --git a/keyboards/novelkeys/nk65/keymaps/default/readme.md b/keyboards/novelkeys/nk65/keymaps/default/readme.md
deleted file mode 100755
index 27bcd0501d..0000000000
--- a/keyboards/novelkeys/nk65/keymaps/default/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-The default keymap for NK65. VIA support disabled.
-=========================================================
-
-![Layout image](https://i.imgur.com/DL0CjJO.png)
-
-Default layer is normal ANSI 65% \ No newline at end of file
diff --git a/keyboards/novelkeys/nk65/mcuconf.h b/keyboards/novelkeys/nk65/mcuconf.h
index f37f37c179..9024dd88ab 100644
--- a/keyboards/novelkeys/nk65/mcuconf.h
+++ b/keyboards/novelkeys/nk65/mcuconf.h
@@ -1,43 +1,8 @@
-/* Copyright 2020 QMK
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-/*
- * This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/nk65/mcuconf.h -r platforms/chibios/QMK_PROTON_C/configs/mcuconf.h`
- */
-
+// Copyright 2019 Yiancar
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include_next <mcuconf.h>
-#undef STM32_GPT_USE_TIM4
-#define STM32_GPT_USE_TIM4 TRUE
-
-#undef STM32_GPT_USE_TIM15
-#define STM32_GPT_USE_TIM15 FALSE
-
-#undef STM32_PWM_USE_TIM3
-#define STM32_PWM_USE_TIM3 FALSE
-
-#undef STM32_PWM_USE_TIM4
-#define STM32_PWM_USE_TIM4 FALSE
-
-#undef STM32_SERIAL_USE_USART2
-#define STM32_SERIAL_USE_USART2 FALSE
-
-#undef STM32_SPI_USE_SPI2
-#define STM32_SPI_USE_SPI2 FALSE
-
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/novelkeys/nk65/nk65.c b/keyboards/novelkeys/nk65/nk65.c
index dd0a94a8e6..16750481cb 100755
--- a/keyboards/novelkeys/nk65/nk65.c
+++ b/keyboards/novelkeys/nk65/nk65.c
@@ -1,26 +1,8 @@
-/* Copyright 2019 Yiancar
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-#ifndef RGB_BACKLIGHT_NK65
-#error RGB_BACKLIGHT_NK65 not defined, recheck config.h
-#endif
-
-#include "nk65.h"
-#include "drivers/led/issi/is31fl3733.h"
+// Copyright 2019 Yiancar
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "quantum.h"
-#if defined(RGB_MATRIX_ENABLE) || defined(RGB_BACKLIGHT_NK65)
+#if defined(RGB_MATRIX_ENABLE)
const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
@@ -28,135 +10,79 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
* | | G location
* | | | B location
* | | | | */
- {0, SW2_CS1, SW1_CS1, SW3_CS1}, //LA1
- {0, SW5_CS1, SW4_CS1, SW6_CS1}, //LA2
- {0, SW8_CS1, SW7_CS1, SW9_CS1}, //LA3
- {0, SW11_CS1, SW10_CS1, SW12_CS1}, //LA4
- {0, SW2_CS2, SW1_CS2, SW3_CS2}, //LA5
- {0, SW5_CS2, SW4_CS2, SW6_CS2}, //LA6
- {0, SW8_CS2, SW7_CS2, SW9_CS2}, //LA7
- {0, SW11_CS2, SW10_CS2, SW12_CS2}, //LA8
- {0, SW2_CS3, SW1_CS3, SW3_CS3}, //LA9
- {0, SW5_CS3, SW4_CS3, SW6_CS3}, //LA10
- {0, SW8_CS3, SW7_CS3, SW9_CS3}, //LA11
- {0, SW11_CS3, SW10_CS3, SW12_CS3}, //LA12
- {0, SW2_CS4, SW1_CS4, SW3_CS4}, //LA13
- {0, SW5_CS4, SW4_CS4, SW6_CS4}, //LA14
- {0, SW8_CS4, SW7_CS4, SW9_CS4}, //LA15
- {0, SW11_CS4, SW10_CS4, SW12_CS4}, //LA16
- {0, SW2_CS5, SW1_CS5, SW3_CS5}, //LA17
- {0, SW5_CS5, SW4_CS5, SW6_CS5}, //LA18
- {0, SW8_CS5, SW7_CS5, SW9_CS5}, //LA19
- {0, SW11_CS5, SW10_CS5, SW12_CS5}, //LA20
- {0, SW2_CS6, SW1_CS6, SW3_CS6}, //LA21
- {0, SW5_CS6, SW4_CS6, SW6_CS6}, //LA22
- {0, SW8_CS6, SW7_CS6, SW9_CS6}, //LA23
- {0, SW11_CS6, SW10_CS6, SW12_CS6}, //LA24
- {0, SW2_CS7, SW1_CS7, SW3_CS7}, //LA25
- {0, SW5_CS7, SW4_CS7, SW6_CS7}, //LA26
- {0, SW8_CS7, SW7_CS7, SW9_CS7}, //LA27
- {0, SW11_CS7, SW10_CS7, SW12_CS7}, //LA28
- {0, SW2_CS8, SW1_CS8, SW3_CS8}, //LA29
- {0, SW5_CS8, SW4_CS8, SW6_CS8}, //LA30
- {0, SW8_CS8, SW7_CS8, SW9_CS8}, //LA31
- {0, SW11_CS8, SW10_CS8, SW12_CS8}, //LA32
- {0, SW2_CS9, SW1_CS9, SW3_CS9}, //LA33
- {0, SW5_CS9, SW4_CS9, SW6_CS9}, //LA34
- {0, SW8_CS9, SW7_CS9, SW9_CS9}, //LA35
- {0, SW11_CS9, SW10_CS9, SW12_CS9}, //LA36
- {0, SW2_CS10, SW1_CS10, SW3_CS10}, //LA37
- {0, SW5_CS10, SW4_CS10, SW6_CS10}, //LA38
- {0, SW8_CS10, SW7_CS10, SW9_CS10}, //LA39
- {0, SW11_CS10, SW10_CS10, SW12_CS10}, //LA40
- {0, SW2_CS11, SW1_CS11, SW3_CS11}, //LA41
- {0, SW5_CS11, SW4_CS11, SW6_CS11}, //LA42
- {0, SW8_CS11, SW7_CS11, SW9_CS11}, //LA43
- {0, SW11_CS11, SW10_CS11, SW12_CS11}, //LA44
- {0, SW2_CS12, SW1_CS12, SW3_CS12}, //LA45
- {0, SW5_CS12, SW4_CS12, SW6_CS12}, //LA46
- {0, SW8_CS12, SW7_CS12, SW9_CS12}, //LA47
- {0, SW11_CS12, SW10_CS12, SW12_CS12}, //LA48
- {0, SW2_CS13, SW1_CS13, SW3_CS13}, //LA49
- {0, SW5_CS13, SW4_CS13, SW6_CS13}, //LA50
- {0, SW8_CS13, SW7_CS13, SW9_CS13}, //LA51
- {0, SW11_CS13, SW10_CS13, SW12_CS13}, //LA52
- {0, SW2_CS14, SW1_CS14, SW3_CS14}, //LA53
- {0, SW5_CS14, SW4_CS14, SW6_CS14}, //LA54
- {0, SW8_CS14, SW7_CS14, SW9_CS14}, //LA55
- {0, SW11_CS14, SW10_CS14, SW12_CS14}, //LA56
- {0, SW2_CS15, SW1_CS15, SW3_CS15}, //LA57
- {0, SW5_CS15, SW4_CS15, SW6_CS15}, //LA58
- {0, SW8_CS15, SW7_CS15, SW9_CS15}, //LA59
- {0, SW11_CS15, SW10_CS15, SW12_CS15}, //LA60
- {0, SW2_CS16, SW1_CS16, SW3_CS16}, //LA61
- {0, SW5_CS16, SW4_CS16, SW6_CS16}, //LA62
- {0, SW8_CS16, SW7_CS16, SW9_CS16}, //LA63
- {0, SW11_CS16, SW10_CS16, SW12_CS16}, //LA64
+ {0, SW2_CS1, SW1_CS1, SW3_CS1}, //LA1 - esc
+ {0, SW2_CS2, SW1_CS2, SW3_CS2}, //LA5 - 1
+ {0, SW2_CS3, SW1_CS3, SW3_CS3}, //LA9 - 2
+ {0, SW2_CS4, SW1_CS4, SW3_CS4}, //LA13 - 3
+ {0, SW2_CS5, SW1_CS5, SW3_CS5}, //LA17 - 4
+ {0, SW2_CS6, SW1_CS6, SW3_CS6}, //LA21 - 5
+ {0, SW2_CS7, SW1_CS7, SW3_CS7}, //LA25 - 6
+ {0, SW2_CS8, SW1_CS8, SW3_CS8}, //LA29 - 7
+ {0, SW2_CS9, SW1_CS9, SW3_CS9}, //LA33 - 8
+ {0, SW2_CS10, SW1_CS10, SW3_CS10}, //LA37 - 9
+ {0, SW2_CS11, SW1_CS11, SW3_CS11}, //LA41 - 0
+ {0, SW2_CS12, SW1_CS12, SW3_CS12}, //LA45 - -
+ {0, SW2_CS13, SW1_CS13, SW3_CS13}, //LA49 - =
+ {0, SW2_CS14, SW1_CS14, SW3_CS14}, //LA53 - bspace
+ {1, SW2_CS1, SW1_CS1, SW3_CS1}, //LB1 - home
+ {0, SW5_CS1, SW4_CS1, SW6_CS1}, //LA2 - tab
+ {0, SW5_CS2, SW4_CS2, SW6_CS2}, //LA6 - q
+ {0, SW5_CS3, SW4_CS3, SW6_CS3}, //LA10 - w
+ {0, SW5_CS4, SW4_CS4, SW6_CS4}, //LA14 - e
+ {0, SW5_CS5, SW4_CS5, SW6_CS5}, //LA18 - r
+ {0, SW5_CS6, SW4_CS6, SW6_CS6}, //LA22 - t
+ {0, SW5_CS7, SW4_CS7, SW6_CS7}, //LA26 - y
+ {0, SW5_CS8, SW4_CS8, SW6_CS8}, //LA30 - u
+ {0, SW5_CS9, SW4_CS9, SW6_CS9}, //LA34 - i
+ {0, SW5_CS10, SW4_CS10, SW6_CS10}, //LA38 - o
+ {0, SW5_CS11, SW4_CS11, SW6_CS11}, //LA42 - p
+ {0, SW5_CS12, SW4_CS12, SW6_CS12}, //LA46 - [
+ {0, SW5_CS13, SW4_CS13, SW6_CS13}, //LA50 - ]
+ {0, SW5_CS14, SW4_CS14, SW6_CS14}, //LA54 - |
+ {1, SW5_CS1, SW4_CS1, SW6_CS1}, //LB2 - pgup
+ {0, SW8_CS1, SW7_CS1, SW9_CS1}, //LA3 - caps
+ {0, SW8_CS2, SW7_CS2, SW9_CS2}, //LA7 - a
+ {0, SW8_CS3, SW7_CS3, SW9_CS3}, //LA11 - s
+ {0, SW8_CS4, SW7_CS4, SW9_CS4}, //LA15 - d
+ {0, SW8_CS5, SW7_CS5, SW9_CS5}, //LA19 - f
+ {0, SW8_CS6, SW7_CS6, SW9_CS6}, //LA23 - g
+ {0, SW8_CS7, SW7_CS7, SW9_CS7}, //LA27 - h
+ {0, SW8_CS8, SW7_CS8, SW9_CS8}, //LA31 - j
+ {0, SW8_CS9, SW7_CS9, SW9_CS9}, //LA35 - k
+ {0, SW8_CS10, SW7_CS10, SW9_CS10}, //LA39 - l
+ {0, SW8_CS11, SW7_CS11, SW9_CS11}, //LA43 - ;
+ {0, SW8_CS12, SW7_CS12, SW9_CS12}, //LA47 - '
+ {0, SW8_CS14, SW7_CS14, SW9_CS14}, //LA55 - ent
+ {1, SW2_CS2, SW1_CS2, SW3_CS2}, //LB5 - pgdn
+ {0, SW11_CS1, SW10_CS1, SW12_CS1}, //LA4 - lshft
+ {0, SW11_CS2, SW10_CS2, SW12_CS2}, //LA8 - z
+ {0, SW11_CS3, SW10_CS3, SW12_CS3}, //LA12 - x
+ {0, SW11_CS4, SW10_CS4, SW12_CS4}, //LA16 - c
+ {0, SW11_CS5, SW10_CS5, SW12_CS5}, //LA20 - v
+ {0, SW11_CS6, SW10_CS6, SW12_CS6}, //LA24 - b
+ {0, SW11_CS7, SW10_CS7, SW12_CS7}, //LA28 - n
+ {0, SW11_CS8, SW10_CS8, SW12_CS8}, //LA32 - m
+ {0, SW11_CS9, SW10_CS9, SW12_CS9}, //LA36 - <
+ {0, SW11_CS10, SW10_CS10, SW12_CS10}, //LA40 - >
+ {0, SW11_CS11, SW10_CS11, SW12_CS11}, //LA44 - ?
+ {0, SW8_CS13, SW7_CS13, SW9_CS13}, //LA51 - rshift
+ {0, SW11_CS13, SW10_CS13, SW12_CS13}, //LA52 - up
+ {1, SW8_CS1, SW7_CS1, SW9_CS1}, //LB3 - end
+ {0, SW2_CS15, SW1_CS15, SW3_CS15}, //LA57 - lctrl
+ {0, SW5_CS15, SW4_CS15, SW6_CS15}, //LA58 - lgui
+ {0, SW8_CS15, SW7_CS15, SW9_CS15}, //LA59 - lalt
+ {0, SW11_CS15, SW10_CS15, SW12_CS15}, //LA60 space
+ {0, SW11_CS12, SW10_CS12, SW12_CS12}, //LA48 - ralt
+ {0, SW5_CS16, SW4_CS16, SW6_CS16}, //LA62 - fn
+ {0, SW8_CS16, SW7_CS16, SW9_CS16}, //LA63 - rctrl
+ {0, SW11_CS16, SW10_CS16, SW12_CS16}, //LA64 - left
+ {0, SW11_CS14, SW10_CS14, SW12_CS14}, //LA56 - down
+ {1, SW11_CS1, SW10_CS1, SW12_CS1}, //LB4 - right
- {1, SW2_CS1, SW1_CS1, SW3_CS1}, //LB1
- {1, SW5_CS1, SW4_CS1, SW6_CS1}, //LB2
- {1, SW8_CS1, SW7_CS1, SW9_CS1}, //LB3
- {1, SW11_CS1, SW10_CS1, SW12_CS1}, //LB4
- {1, SW2_CS2, SW1_CS2, SW3_CS2}, //LB5
- {1, SW5_CS2, SW4_CS2, SW6_CS2}, //LB6
- {1, SW8_CS2, SW7_CS2, SW9_CS2}, //LB7
- {1, SW11_CS2, SW10_CS2, SW12_CS2}, //LB8
- {1, SW2_CS3, SW1_CS3, SW3_CS3}, //LB9
- {1, SW5_CS3, SW4_CS3, SW6_CS3}, //LB10
- {1, SW8_CS3, SW7_CS3, SW9_CS3}, //LB11
- {1, SW11_CS3, SW10_CS3, SW12_CS3}, //LB12
- {1, SW2_CS4, SW1_CS4, SW3_CS4}, //LB13
- {1, SW5_CS4, SW4_CS4, SW6_CS4}, //LB14
- {1, SW8_CS4, SW7_CS4, SW9_CS4}, //LB15
- {1, SW11_CS4, SW10_CS4, SW12_CS4}, //LB16
- {1, SW2_CS5, SW1_CS5, SW3_CS5}, //LB17
- {1, SW5_CS5, SW4_CS5, SW6_CS5}, //LB18
- {1, SW8_CS5, SW7_CS5, SW9_CS5}, //LB19
- {1, SW11_CS5, SW10_CS5, SW12_CS5}, //LB20
- {1, SW2_CS6, SW1_CS6, SW3_CS6}, //LB21
- {1, SW5_CS6, SW4_CS6, SW6_CS6}, //LB22
- {1, SW8_CS6, SW7_CS6, SW9_CS6}, //LB23
- {1, SW11_CS6, SW10_CS6, SW12_CS6}, //LB24
- {1, SW2_CS7, SW1_CS7, SW3_CS7}, //LB25
- {1, SW5_CS7, SW4_CS7, SW6_CS7}, //LB26
- {1, SW8_CS7, SW7_CS7, SW9_CS7}, //LB27
- {1, SW11_CS7, SW10_CS7, SW12_CS7}, //LB28
- {1, SW2_CS8, SW1_CS8, SW3_CS8}, //LB29
- {1, SW5_CS8, SW4_CS8, SW6_CS8}, //LB30
- {1, SW8_CS8, SW7_CS8, SW9_CS8}, //LB31
- {1, SW11_CS8, SW10_CS8, SW12_CS8}, //LB32
- {1, SW2_CS9, SW1_CS9, SW3_CS9}, //LB33
- {1, SW5_CS9, SW4_CS9, SW6_CS9}, //LB34
- {1, SW8_CS9, SW7_CS9, SW9_CS9}, //LB35
- {1, SW11_CS9, SW10_CS9, SW12_CS9}, //LB36
- {1, SW2_CS10, SW1_CS10, SW3_CS10}, //LB37
- {1, SW5_CS10, SW4_CS10, SW6_CS10}, //LB38
- {1, SW8_CS10, SW7_CS10, SW9_CS10}, //LB39
- {1, SW11_CS10, SW10_CS10, SW12_CS10}, //LB40
- {1, SW2_CS11, SW1_CS11, SW3_CS11}, //LB41
- {1, SW5_CS11, SW4_CS11, SW6_CS11}, //LB42
- {1, SW8_CS11, SW7_CS11, SW9_CS11}, //LB43
- {1, SW11_CS11, SW10_CS11, SW12_CS11}, //LB44
- {1, SW2_CS12, SW1_CS12, SW3_CS12}, //LB45
- {1, SW5_CS12, SW4_CS12, SW6_CS12}, //LB46
- {1, SW8_CS12, SW7_CS12, SW9_CS12}, //LB47
- {1, SW11_CS12, SW10_CS12, SW12_CS12}, //LB48
- {1, SW2_CS13, SW1_CS13, SW3_CS13}, //LB49
- {1, SW5_CS13, SW4_CS13, SW6_CS13}, //LB50
- {1, SW8_CS13, SW7_CS13, SW9_CS13}, //LB51
- {1, SW11_CS13, SW10_CS13, SW12_CS13}, //LB52
- {1, SW2_CS14, SW1_CS14, SW3_CS14}, //LB53
- {1, SW5_CS14, SW4_CS14, SW6_CS14}, //LB54
- {1, SW8_CS14, SW7_CS14, SW9_CS14}, //LB55
- {1, SW11_CS14, SW10_CS14, SW12_CS14}, //LB56
- {1, SW2_CS15, SW1_CS15, SW3_CS15}, //LB57
- {1, SW5_CS15, SW4_CS15, SW6_CS15}, //LB58
- {1, SW8_CS15, SW7_CS15, SW9_CS15}, //LB59
- {1, SW11_CS15, SW10_CS15, SW12_CS15}, //LB60
- {1, SW2_CS16, SW1_CS16, SW3_CS16}, //LB61
- {1, SW5_CS16, SW4_CS16, SW6_CS16}, //LB62
- {1, SW8_CS16, SW7_CS16, SW9_CS16}, //LB63
- {1, SW11_CS16, SW10_CS16, SW12_CS16}, //LB64
+ // Mapped with "dead" locations so each indicator is logically separate
+ {1, SW2_CS3, SW7_CS2, SW3_CS3}, //LB7 - top indi
+ {1, SW5_CS2, SW10_CS2, SW6_CS2}, //LB6 - mid indi
+ {1, SW11_CS2, SW4_CS2, SW12_CS2}, //LB6 - bot indi
};
#endif
@@ -165,26 +91,29 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
* Middle LED is blue and red. LED driver 2 RGB 6 Red and Blue channel
* Bottom LED is red only LED driver 2 RGB 6 Green channel.
*/
-void led_update_ports(led_t led_state) {
- if (led_state.caps_lock) {
- is31fl3733_set_color( 7+64-1, 0, 255, 0 );
+bool rgb_matrix_indicators_kb(void) {
+ if (!rgb_matrix_indicators_user()) {
+ return false;
+ }
+
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(68, RGB_WHITE); //0, 0xFF, 0);
} else {
- is31fl3733_set_color( 7+64-1, 0, 0, 0 );
+ rgb_matrix_set_color(68, RGB_OFF);
}
-}
-__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
- uint8_t R = 0;
- uint8_t G = 0;
- uint8_t B = 0;
+ layer_state_t state = layer_state|default_layer_state;
if (state & (1UL << 1)) {
- R = 255;
- B = 255;
+ rgb_matrix_set_color(69, RGB_WHITE); // 0xFF, 0, 0xFF);
+ } else {
+ rgb_matrix_set_color(69, RGB_OFF);
}
+
if (state & (1UL << 2)) {
- G = 255;
+ rgb_matrix_set_color(70, RGB_WHITE); //0, 0xFF, 0);
+ } else {
+ rgb_matrix_set_color(70, RGB_OFF);
}
- is31fl3733_set_color( 6+64-1, R, G, B );
- return state;
+ return true;
}
diff --git a/keyboards/novelkeys/nk65/nk65.h b/keyboards/novelkeys/nk65/nk65.h
deleted file mode 100755
index c75541be93..0000000000
--- a/keyboards/novelkeys/nk65/nk65.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2019 Yiancar
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#include "quantum.h"
-#include "../wilba_tech/wt_rgb_backlight_keycodes.h"
-#include "via.h"
diff --git a/keyboards/novelkeys/nk65/readme.md b/keyboards/novelkeys/nk65/readme.md
index 38f66500b9..5e30f54b31 100755
--- a/keyboards/novelkeys/nk65/readme.md
+++ b/keyboards/novelkeys/nk65/readme.md
@@ -1,39 +1,29 @@
-NK65
-=========
+# NK65
![NK65](https://i.imgur.com/EXNbVpL.jpg)
-This is a standard fixed layout 65% PCB. It supports VIA and full per-key RGB.
-
-Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-Hardware Supported: A 65% keyboard with STM32F303CC
-Hardware Availability: https://novelkeys.xyz/
+> NOTE: For PCBs with revision v1.4 or later please use nk65/v1_4 in the make command.
-Due to the RGB implementation, the NK65 is currently not compatible with community layouts.
+This is a standard fixed layout 65% PCB. It supports VIA and full per-key RGB.
-NOTE: For PCBs with revision v1.4 or later please use nk65/v1_4 in the make command.
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A 65% keyboard with STM32F303CC
+* Hardware Availability: https://novelkeys.xyz/
-## Instructions
+Make example for this keyboard (after setting up your build environment):
-### Build
+ make novelkeys/nk65/v1:default
-Make example for this keyboard (after setting up your build environment):
+Flashing example for this keyboard:
- make novelkeys/nk65:via
+ make novelkeys/nk65/v1:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-### Reset
-
-- Unplug
-- Hold Escape
-- Plug In
-- Unplug
-- Release Escape
+## Bootloader
-### Flash
+Enter the bootloader in 3 ways:
-- Unplug
-- Hold Escape
-- Plug In
-- Flash using QMK Toolbox or dfu-util (`make nk65:<keymap>:dfu-util`)
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/novelkeys/nk65/rules.mk b/keyboards/novelkeys/nk65/rules.mk
deleted file mode 100755
index 3b7a32713c..0000000000
--- a/keyboards/novelkeys/nk65/rules.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# Do not put the microcontroller into power saving mode
-# when we get USB suspend event. We want it to keep updating
-# backlight effects.
-NO_SUSPEND_POWER_DOWN = yes
-
-CIE1931_CURVE = yes
-I2C_DRIVER_REQUIRED = yes
-
-# project specific files
-SRC = keyboards/wilba_tech/wt_main.c \
- keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/led/issi/is31fl3733.c \
- quantum/color.c
diff --git a/keyboards/novelkeys/nk65/base/keyboard.json b/keyboards/novelkeys/nk65/v1/keyboard.json
index fc547dc134..fc547dc134 100644
--- a/keyboards/novelkeys/nk65/base/keyboard.json
+++ b/keyboards/novelkeys/nk65/v1/keyboard.json
diff --git a/keyboards/novelkeys/nk65/v1_4/readme.md b/keyboards/novelkeys/nk65/v1_4/readme.md
index 399919a8be..11f581ff31 100755
--- a/keyboards/novelkeys/nk65/v1_4/readme.md
+++ b/keyboards/novelkeys/nk65/v1_4/readme.md
@@ -1,39 +1,29 @@
-NK65 V1.4
-=========
+# NK65 V1.4
![NK65](https://i.imgur.com/EXNbVpL.jpg)
-NOTE: Please use this directory only if you have revision 1.4 PCB or later.
+> NOTE: Please use this directory only if you have revision 1.4 PCB or later.
This is a standard fixed layout 65% PCB. It supports VIA and full per-key RGB.
-Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-Hardware Supported: A 65% keyboard with STM32F303CC
-Hardware Availability: https://novelkeys.xyz/
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A 65% keyboard with STM32F303CC
+* Hardware Availability: https://novelkeys.xyz/
-Due to the RGB implementation, the NK65 is currently not compatible with community layouts.
-
-## Instructions
+Make example for this keyboard (after setting up your build environment):
-### Build
+ make novelkeys/nk65/v1_4:default
-Make example for this keyboard (after setting up your build environment):
+Flashing example for this keyboard:
- make nk65/v1_4:via
+ make novelkeys/nk65/v1_4:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-### Reset
-
-- Unplug
-- Hold Escape
-- Plug In
-- Unplug
-- Release Escape
+## Bootloader
-### Flash
+Enter the bootloader in 3 ways:
-- Unplug
-- Hold Escape
-- Plug In
-- Flash using QMK Toolbox or dfu-util (`make nk65/v1_4:<keymap>:dfu-util`)
+* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/palette1202/keymaps/default/keymap.c b/keyboards/palette1202/keymaps/default/keymap.c
index 0f49e46661..905b800cd6 100644
--- a/keyboards/palette1202/keymaps/default/keymap.c
+++ b/keyboards/palette1202/keymaps/default/keymap.c
@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_CS_2] = LAYOUT(
MO(SETTING), KC_ESC, KC_G, KC_R, LGUI(KC_GRV),
_______, LGUI(KC_D), KC_K, KC_F, LGUI(KC_S),
- KC_LALT, KC_I, SGUI(KC_Z), KC_H
+ KC_LALT, KC_I, LSG(KC_Z), KC_H
),
// Photoshop
[MAC_PS_1] = LAYOUT(
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_PS_2] = LAYOUT(
MO(SETTING), KC_ESC, KC_G, KC_R, KC_ESC,
_______, LGUI(KC_D), KC_V, LGUI(KC_T), LGUI(KC_S),
- KC_LALT, KC_I, SGUI(KC_Z), KC_H
+ KC_LALT, KC_I, LSG(KC_Z), KC_H
),
// Windows
@@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[IOS_CS_2] = LAYOUT(
MO(SETTING), KC_ESC, KC_G, KC_R, LGUI(KC_EQL),
_______, LGUI(KC_D), KC_K, KC_F, LGUI(KC_S),
- KC_LALT, KC_I, SGUI(KC_Z), KC_H
+ KC_LALT, KC_I, LSG(KC_Z), KC_H
),
[SETTING] = LAYOUT(
_______, IOS_CS, Win_CS, Mac_CS, KC_NO,
diff --git a/keyboards/sekigon/grs_70ec/matrix.c b/keyboards/sekigon/grs_70ec/matrix.c
index 926ed6f813..718423e57b 100644
--- a/keyboards/sekigon/grs_70ec/matrix.c
+++ b/keyboards/sekigon/grs_70ec/matrix.c
@@ -40,7 +40,7 @@ extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
// row offsets for each hand
-uint8_t thisHand, thatHand;
+static uint8_t thisHand, thatHand;
// user-defined overridable functions
__attribute__((weak)) void matrix_slave_scan_user(void) {}
diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c
index c01fb7b01d..2cff70076e 100644
--- a/keyboards/system76/launch_1/launch_1.c
+++ b/keyboards/system76/launch_1/launch_1.c
@@ -124,7 +124,7 @@ void system76_ec_rgb_layer(layer_state_t layer_state);
void system76_ec_unlock(void);
bool system76_ec_is_unlocked(void);
-rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT];
+extern rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT];
void matrix_init_kb(void) {
usb_mux_init();
diff --git a/keyboards/system76/launch_1/rgb_matrix_kb.inc b/keyboards/system76/launch_1/rgb_matrix_kb.inc
index abde7aae19..6ac7970ccd 100644
--- a/keyboards/system76/launch_1/rgb_matrix_kb.inc
+++ b/keyboards/system76/launch_1/rgb_matrix_kb.inc
@@ -69,7 +69,7 @@ static bool active_keys(effect_params_t* params) {
return led_max < RGB_MATRIX_LED_COUNT;
}
-rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0};
+extern rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT];
static uint8_t normalize_component(uint8_t component) {
uint16_t x = (uint16_t)component;
diff --git a/keyboards/system76/system76_ec.c b/keyboards/system76/system76_ec.c
index cce60a5dea..db0401a7d4 100644
--- a/keyboards/system76/system76_ec.c
+++ b/keyboards/system76/system76_ec.c
@@ -135,7 +135,7 @@ static enum rgb_matrix_effects mode_map[] = {
_Static_assert(sizeof(mode_map) == MODE_LAST, "mode_map_length");
-rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT];
+rgb_t raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0};
// clang-format off
rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT] = {
diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c
index b0d89d8511..1ea9afc42a 100644
--- a/keyboards/work_louder/rgb_functions.c
+++ b/keyboards/work_louder/rgb_functions.c
@@ -25,6 +25,7 @@
#define ws2812_set_color ws2812_rgb_set_color
#define ws2812_set_color_all ws2812_rgb_set_color_all
#define ws2812_flush ws2812_rgb_flush
+#define ws2812_leds ws2812_rgb_leds
#include "ws2812_bitbang.c"
diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c
index 4e223f0c9a..247b737331 100644
--- a/quantum/audio/audio.c
+++ b/quantum/audio/audio.c
@@ -371,8 +371,9 @@ void audio_play_melody(float (*np)[][2], uint16_t n_count, bool n_repeat) {
melody_current_note_duration = audio_duration_to_ms((*notes_pointer)[current_note][1]);
}
-float click[2][2];
-void audio_play_click(uint16_t delay, float pitch, uint16_t duration) {
+void audio_play_click(uint16_t delay, float pitch, uint16_t duration) {
+ static float click[2][2];
+
uint16_t duration_tone = audio_ms_to_duration(duration);
uint16_t duration_delay = audio_ms_to_duration(delay);
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index 515386756d..a1ae7ed0be 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -66,10 +66,6 @@
#define LCAG(kc) (QK_LCTL | QK_LALT | QK_LGUI | (kc))
#define LSAG(kc) (QK_LSFT | QK_LALT | QK_LGUI | (kc))
-#define SGUI(kc) LSG(kc)
-#define SCMD(kc) LSG(kc)
-#define SWIN(kc) LSG(kc)
-
#define RCTL(kc) (QK_RCTL | (kc))
#define RSFT(kc) (QK_RSFT | (kc))
#define RALT(kc) (QK_RALT | (kc))
@@ -90,8 +86,6 @@
#define RCAG(kc) (QK_RCTL | QK_RALT | QK_RGUI | (kc))
#define RSAG(kc) (QK_RSFT | QK_RALT | QK_RGUI | (kc))
-#define SAGR(kc) RSA(kc)
-
#define HYPR(kc) (QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI | (kc))
#define MEH(kc) (QK_LCTL | QK_LSFT | QK_LALT | (kc))
@@ -206,10 +200,6 @@
#define LCAG_T(kc) MT(MOD_LCTL | MOD_LALT | MOD_LGUI, kc)
#define LSAG_T(kc) MT(MOD_LSFT | MOD_LALT | MOD_LGUI, kc)
-#define SGUI_T(kc) LSG_T(kc)
-#define SCMD_T(kc) LSG_T(kc)
-#define SWIN_T(kc) LSG_T(kc)
-
#define RCTL_T(kc) MT(MOD_RCTL, kc)
#define RSFT_T(kc) MT(MOD_RSFT, kc)
#define RALT_T(kc) MT(MOD_RALT, kc)
@@ -230,11 +220,8 @@
#define RCAG_T(kc) MT(MOD_RCTL | MOD_RALT | MOD_RGUI, kc)
#define RSAG_T(kc) MT(MOD_RSFT | MOD_RALT | MOD_RGUI, kc)
-#define SAGR_T(kc) RSA_T(kc)
-
#define MEH_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT, kc)
#define HYPR_T(kc) MT(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI, kc)
-#define ALL_T(kc) HYPR_T(kc)
// Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap
#define KC_HYPR HYPR(KC_NO)
diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h
index 55b0fc3596..58dc2fe6f6 100644
--- a/quantum/quantum_keycodes_legacy.h
+++ b/quantum/quantum_keycodes_legacy.h
@@ -59,3 +59,14 @@
#define QK_OUTPUT_AUTO OU_AUTO
#define C_S_T(kc) LCS_T(kc)
+#define ALL_T(kc) HYPR_T(kc)
+
+#define SGUI(kc) LSG(kc)
+#define SCMD(kc) LSG(kc)
+#define SWIN(kc) LSG(kc)
+#define SGUI_T(kc) LSG_T(kc)
+#define SCMD_T(kc) LSG_T(kc)
+#define SWIN_T(kc) LSG_T(kc)
+
+#define SAGR(kc) RSA(kc)
+#define SAGR_T(kc) RSA_T(kc)