diff options
112 files changed, 900 insertions, 3232 deletions
diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index fb4f782844..f00be05254 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -269,38 +269,11 @@ "handwired/jscotto/scottostarter": { "target": "handwired/scottokeebs/scottostarter" }, - "helix/rev2/back/oled": { - "target": "helix/rev2/back" - }, - "helix/rev2/oled": { - "target": "helix/rev2" - }, - "helix/rev2/oled/back": { - "target": "helix/rev2/back" - }, - "helix/rev2/oled/under": { - "target": "helix/rev2/under" - }, - "helix/rev2/sc/back": { - "target": "helix/rev2/sc" - }, - "helix/rev2/sc/oled": { - "target": "helix/rev2/sc" - }, - "helix/rev2/sc/oledback": { - "target": "helix/rev2/sc" - }, - "helix/rev2/sc/oledunder": { - "target": "helix/rev2/sc" - }, - "helix/rev2/sc/under": { - "target": "helix/rev2/sc" - }, - "helix/rev2/under": { - "target": "helix/rev2/sc" + "helix": { + "target": "helix/beta" }, - "helix/rev2/under/oled": { - "target": "helix/rev2/under" + "helix/rev2": { + "target": "helix/beta" }, "honeycomb": { "target": "keyhive/honeycomb" @@ -2290,12 +2263,6 @@ "handwired/dygma/raise": { "target": "handwired/dygma/raise/ansi" }, - "helix": { - "target": "helix/rev2/base" - }, - "helix/rev2": { - "target": "helix/rev2/base" - }, "ibm/model_m/mschwingen": { "target": "ibm/model_m/mschwingen/led_wired" }, @@ -2306,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 5d983e347e..e569e87431 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -404,7 +404,6 @@ See also: [Layer Switching](feature_layers#switching-and-toggling-layers) |`DF(layer)` |Set the base (default) layer until the keyboard loses power | |`PDF(layer)` |Set the base (default) layer in EEPROM | |`MO(layer)` |Momentarily turn on `layer` when pressed (requires `KC_TRNS` on destination layer)| -|`OSL(layer)` |Momentarily activates `layer` until a key is pressed. See [One Shot Keys](one_shot_keys) for details. | |`LM(layer, mod)`|Momentarily turn on `layer` (like MO) with `mod` active as well. Where `mod` is a mods_bit. Mods can be viewed [here](mod_tap). Example Implementation: `LM(LAYER_1, MOD_LALT)`| |`LT(layer, kc)` |Turn on `layer` when held, `kc` when tapped | |`TG(layer)` |Toggle `layer` on or off | @@ -658,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} @@ -706,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 | @@ -718,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} @@ -817,13 +816,41 @@ See also: [US ANSI Shifted Symbols](keycodes_us_ansi_shifted) See also: [One Shot Keys](one_shot_keys) -|Key |Aliases |Description | -|--------------------|---------|----------------------------------| -|`OSM(mod)` | |Hold `mod` for one keypress | -|`OSL(layer)` | |Switch to `layer` for one keypress| -|`QK_ONE_SHOT_TOGGLE`|`OS_TOGG`|Toggles One Shot keys status | -|`QK_ONE_SHOT_ON` |`OS_ON` |Turns One Shot keys on | -|`QK_ONE_SHOT_OFF` |`OS_OFF` |Turns One Shot keys off | +|Key |Aliases |Description | +|--------------------|---------|---------------------------------------------------------------------| +|`QK_ONE_SHOT_TOGGLE`|`OS_TOGG`|Toggles One Shot keys status | +|`QK_ONE_SHOT_ON` |`OS_ON` |Turns One Shot keys on | +|`QK_ONE_SHOT_OFF` |`OS_OFF` |Turns One Shot keys off | +|`OSL(layer)` | |Switch to `layer` for one keypress | +|`OSM(mod)` | |Hold `mod` for one keypress | +|`OS_LCTL` | |Hold Left Control for one keypress | +|`OS_LSFT` | |Hold Left Shift for one keypress | +|`OS_LALT` | |Hold Left Alt for one keypress | +|`OS_LGUI` | |Hold Left GUI for one keypress | +|`OS_LCS` | |Hold Left Control and Left Shift for one keypress | +|`OS_LCA` | |Hold Left Control and left Alt for one keypress | +|`OS_LCG` | |Hold Left Control and Left GUI for one keypress | +|`OS_LSA` | |Hold Left Shift and Left Alt for one keypress | +|`OS_LSG` | |Hold Left Shift and Left GUI for one keypress | +|`OS_LAG` | |Hold Left Alt and Left GUI for one keypress | +|`OS_LCSG` | |Hold Left Control, Left Shift and Left GUI for one keypress | +|`OS_LCAG` | |Hold Left Control, Left Alt and Left GUI for one keypress | +|`OS_LSAG` | |Hold Left Shift, Left Alt and Left GUI for one keypress | +|`OS_RCTL` | |Hold Right Control for one keypress | +|`OS_RSFT` | |Hold Right Shift for one keypress | +|`OS_RALT` | |Hold Right Alt for one keypress | +|`OS_RGUI` | |Hold Right GUI for one keypress | +|`OS_RCS` | |Hold Right Control and Right Shift for one keypress | +|`OS_RCA` | |Hold Right Control and Right Alt for one keypress | +|`OS_RCG` | |Hold Right Control and Right GUI for one keypress | +|`OS_RSA` | |Hold Right Shift and Right Alt for one keypress | +|`OS_RSG` | |Hold Right Shift and Right GUI for one keypress | +|`OS_RAG` | |Hold Right Alt and Right GUI for one keypress | +|`OS_RCSG` | |Hold Right Control, Right Shift and Right GUI for one keypress | +|`OS_RCAG` | |Hold Right Control, Right Alt and Right GUI for one keypress | +|`OS_RSAG` | |Hold Right Shift, Right Alt and Right GUI for one keypress | +|`OS_MEH` | |Hold Left Control, Left Shift and Left Alt for one keypress | +|`OS_HYPR` | |Hold Left Control, Left Shift, Left Alt and Left GUI for one keypress| ## Programmable Button Support {#programmable-button} 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/docs/one_shot_keys.md b/docs/one_shot_keys.md index 140c8de475..c4d8e3a4bc 100644 --- a/docs/one_shot_keys.md +++ b/docs/one_shot_keys.md @@ -15,11 +15,49 @@ You can control the behavior of one shot keys by defining these in `config.h`: #define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */ ``` -* `OSM(mod)` - Momentarily hold down *mod*. You must use the `MOD_*` keycodes as shown in [Mod Tap](mod_tap), not the `KC_*` codes. -* `OSL(layer)` - momentary switch to *layer*. -* `OS_ON` - Turns on One Shot keys. -* `OS_OFF` - Turns off One Shot keys. OSM act as regular mod keys, OSL act like `MO`. -* `OS_TOGG` - Toggles the one shot key status. +## Keycodes {#keycodes} + +|Key |Aliases |Description | +|--------------------|---------|---------------------------------------------------------------------| +|`QK_ONE_SHOT_TOGGLE`|`OS_TOGG`|Toggles One Shot keys status | +|`QK_ONE_SHOT_ON` |`OS_ON` |Turns One Shot keys on | +|`QK_ONE_SHOT_OFF` |`OS_OFF` |Turns One Shot keys off | +|`OSL(layer)` | |Switch to `layer` for one keypress | +|`OSM(mod)` | |Hold `mod` for one keypress | +|`OS_LCTL` | |Hold Left Control for one keypress | +|`OS_LSFT` | |Hold Left Shift for one keypress | +|`OS_LALT` | |Hold Left Alt for one keypress | +|`OS_LGUI` | |Hold Left GUI for one keypress | +|`OS_LCS` | |Hold Left Control and Left Shift for one keypress | +|`OS_LCA` | |Hold Left Control and left Alt for one keypress | +|`OS_LCG` | |Hold Left Control and Left GUI for one keypress | +|`OS_LSA` | |Hold Left Shift and Left Alt for one keypress | +|`OS_LSG` | |Hold Left Shift and Left GUI for one keypress | +|`OS_LAG` | |Hold Left Alt and Left GUI for one keypress | +|`OS_LCSG` | |Hold Left Control, Left Shift and Left GUI for one keypress | +|`OS_LCAG` | |Hold Left Control, Left Alt and Left GUI for one keypress | +|`OS_LSAG` | |Hold Left Shift, Left Alt and Left GUI for one keypress | +|`OS_RCTL` | |Hold Right Control for one keypress | +|`OS_RSFT` | |Hold Right Shift for one keypress | +|`OS_RALT` | |Hold Right Alt for one keypress | +|`OS_RGUI` | |Hold Right GUI for one keypress | +|`OS_RCS` | |Hold Right Control and Right Shift for one keypress | +|`OS_RCA` | |Hold Right Control and Right Alt for one keypress | +|`OS_RCG` | |Hold Right Control and Right GUI for one keypress | +|`OS_RSA` | |Hold Right Shift and Right Alt for one keypress | +|`OS_RSG` | |Hold Right Shift and Right GUI for one keypress | +|`OS_RAG` | |Hold Right Alt and Right GUI for one keypress | +|`OS_RCSG` | |Hold Right Control, Right Shift and Right GUI for one keypress | +|`OS_RCAG` | |Hold Right Control, Right Alt and Right GUI for one keypress | +|`OS_RSAG` | |Hold Right Shift, Right Alt and Right GUI for one keypress | +|`OS_MEH` | |Hold Left Control, Left Shift and Left Alt for one keypress | +|`OS_HYPR` | |Hold Left Control, Left Shift, Left Alt and Left GUI for one keypress| + +When One Shot keys are turned off, `OSM()` and `OSL()` will behave like normal modifier keys and `MO()`, respectively. + +::: info +The `mod` parameter to the `OSM()` keycode must use the `MOD_*` prefix, rather than `KC_*`, eg. `OSM(MOD_LCTL | MOD_LSFT)`. +::: Sometimes, you want to activate a one-shot key as part of a macro or tap dance routine. 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/helix/beta/beta.c b/keyboards/helix/beta/beta.c new file mode 100644 index 0000000000..8020772b96 --- /dev/null +++ b/keyboards/helix/beta/beta.c @@ -0,0 +1,77 @@ +// Copyright 2020 Yushakobo +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +#ifdef OLED_ENABLE +void render_status(void) { + static const char os_logo[][2][3] PROGMEM = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}}; + if (!keymap_config.swap_lalt_lgui) { + oled_write_P(os_logo[0][0], false); + oled_write_P(PSTR("\n"), false); + oled_write_P(os_logo[0][1], false); + } else { + oled_write_P(os_logo[1][0], false); + oled_write_P(PSTR("\n"), false); + oled_write_P(os_logo[1][1], false); + } + + oled_write_P(PSTR(" Layer: "), false); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR("Default"), false); + break; + case 1: + oled_write_ln_P(PSTR("Lower"), false); + break; + case 2: + oled_write_ln_P(PSTR("Raise"), false); + break; + case 3: + oled_write_ln_P(PSTR("Adjust"), false); + break; + default: + oled_write_ln_P(PSTR("Undefined"), false); + } + oled_write_P(PSTR("\n"), false); + + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); +} + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + // clang-format off + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + // clang-format on + }; + oled_write_P(qmk_logo, false); +} + +static void render_rgblight_status(void) { + oled_write_P(PSTR(" LED"), false); + oled_write(get_u8_str(rgblight_get_mode(), ' '), false); + oled_write_char(':', false); + oled_write(get_u8_str(rgblight_get_hue() / RGBLIGHT_HUE_STEP, ' '), false); + oled_write_char(',', false); + oled_write(get_u8_str(rgblight_get_sat() / RGBLIGHT_SAT_STEP, ' '), false); + oled_write_char(',', false); + oled_write(get_u8_str(rgblight_get_val() / RGBLIGHT_VAL_STEP, ' '), false); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + render_status(); + } else { + render_logo(); + render_rgblight_status(); + } + return false; +} +#endif diff --git a/keyboards/helix/beta/config.h b/keyboards/helix/beta/config.h new file mode 100644 index 0000000000..dac611de9a --- /dev/null +++ b/keyboards/helix/beta/config.h @@ -0,0 +1,5 @@ +// Copyright 2025 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define OLED_FONT_H "keyboards/helix/common/glcdfont.c" diff --git a/keyboards/helix/rev2/info.json b/keyboards/helix/beta/keyboard.json index a8bdb23e41..240a0a8869 100644 --- a/keyboards/helix/rev2/info.json +++ b/keyboards/helix/beta/keyboard.json @@ -1,52 +1,105 @@ { - "keyboard_name": "Helix Beta", "manufacturer": "Yushakobo", - "url": "https://github.com/MakotoKurauchi/helix", + "keyboard_name": "Helix Beta", "maintainer": "MakotoKurauchi", - "usb": { - "vid": "0x3265", - "pid": "0x0000", - "device_version": "0.0.1" + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "oled": true, + "rgblight": true }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], "rows": ["D4", "C6", "D7", "E6", "B4"] }, - "diode_direction": "COL2ROW", - "split": { - "enabled": true, - "serial": { - "pin": "D2" - }, - "transport": { - "sync": { - "indicators": true, - "layer_state": true - } - } - }, - "tapping": { - "term": 100 - }, "rgblight": { - "hue_steps": 10, "animations": { "breathing": true, + "christmas": true, + "knight": true, "rainbow_mood": true, "rainbow_swirl": true, "snake": true, - "knight": true, - "christmas": true, "static_gradient": true + }, + "led_count": 64, + "max_brightness": 45, + "split_count": [32, 32] + }, + "split": { + "enabled": true, + "serial": { + "pin": "D2" } }, + "url": "https://shop.yushakobo.jp/products/oss_pcb?variant=39452554231969", + "usb": { + "device_version": "0.0.1", + "pid": "0x0000", + "vid": "0x3265" + }, "ws2812": { "pin": "D3" }, - "processor": "atmega32u4", - "bootloader": "caterina", "layouts": { - "LAYOUT": { + "LAYOUT_4row": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [4, 5], "x": 9, "y": 0}, + {"matrix": [4, 4], "x": 10, "y": 0}, + {"matrix": [4, 3], "x": 11, "y": 0}, + {"matrix": [4, 2], "x": 12, "y": 0}, + {"matrix": [4, 1], "x": 13, "y": 0}, + {"matrix": [4, 0], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [5, 5], "x": 9, "y": 1}, + {"matrix": [5, 4], "x": 10, "y": 1}, + {"matrix": [5, 3], "x": 11, "y": 1}, + {"matrix": [5, 2], "x": 12, "y": 1}, + {"matrix": [5, 1], "x": 13, "y": 1}, + {"matrix": [5, 0], "x": 14, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [6, 5], "x": 9, "y": 2}, + {"matrix": [6, 4], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 11, "y": 2}, + {"matrix": [6, 2], "x": 12, "y": 2}, + {"matrix": [6, 1], "x": 13, "y": 2}, + {"matrix": [6, 0], "x": 14, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 5], "x": 5, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [7, 6], "x": 8, "y": 3}, + {"matrix": [7, 5], "x": 9, "y": 3}, + {"matrix": [7, 4], "x": 10, "y": 3}, + {"matrix": [7, 3], "x": 11, "y": 3}, + {"matrix": [7, 2], "x": 12, "y": 3}, + {"matrix": [7, 1], "x": 13, "y": 3}, + {"matrix": [7, 0], "x": 14, "y": 3} + ] + }, + "LAYOUT_5row": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -54,42 +107,36 @@ {"matrix": [0, 3], "x": 3, "y": 0}, {"matrix": [0, 4], "x": 4, "y": 0}, {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [5, 5], "x": 9, "y": 0}, {"matrix": [5, 4], "x": 10, "y": 0}, {"matrix": [5, 3], "x": 11, "y": 0}, {"matrix": [5, 2], "x": 12, "y": 0}, {"matrix": [5, 1], "x": 13, "y": 0}, {"matrix": [5, 0], "x": 14, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, {"matrix": [1, 3], "x": 3, "y": 1}, {"matrix": [1, 4], "x": 4, "y": 1}, {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [6, 5], "x": 9, "y": 1}, {"matrix": [6, 4], "x": 10, "y": 1}, {"matrix": [6, 3], "x": 11, "y": 1}, {"matrix": [6, 2], "x": 12, "y": 1}, {"matrix": [6, 1], "x": 13, "y": 1}, {"matrix": [6, 0], "x": 14, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, {"matrix": [2, 3], "x": 3, "y": 2}, {"matrix": [2, 4], "x": 4, "y": 2}, {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [7, 5], "x": 9, "y": 2}, {"matrix": [7, 4], "x": 10, "y": 2}, {"matrix": [7, 3], "x": 11, "y": 2}, {"matrix": [7, 2], "x": 12, "y": 2}, {"matrix": [7, 1], "x": 13, "y": 2}, {"matrix": [7, 0], "x": 14, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, {"matrix": [3, 1], "x": 1, "y": 3}, {"matrix": [3, 2], "x": 2, "y": 3}, @@ -97,7 +144,6 @@ {"matrix": [3, 4], "x": 4, "y": 3}, {"matrix": [3, 5], "x": 5, "y": 3}, {"matrix": [3, 6], "x": 6, "y": 3}, - {"matrix": [8, 6], "x": 8, "y": 3}, {"matrix": [8, 5], "x": 9, "y": 3}, {"matrix": [8, 4], "x": 10, "y": 3}, @@ -105,7 +151,6 @@ {"matrix": [8, 2], "x": 12, "y": 3}, {"matrix": [8, 1], "x": 13, "y": 3}, {"matrix": [8, 0], "x": 14, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4}, {"matrix": [4, 1], "x": 1, "y": 4}, {"matrix": [4, 2], "x": 2, "y": 4}, @@ -113,7 +158,6 @@ {"matrix": [4, 4], "x": 4, "y": 4}, {"matrix": [4, 5], "x": 5, "y": 4}, {"matrix": [4, 6], "x": 6, "y": 4}, - {"matrix": [9, 6], "x": 8, "y": 4}, {"matrix": [9, 5], "x": 9, "y": 4}, {"matrix": [9, 4], "x": 10, "y": 4}, diff --git a/keyboards/helix/beta/keymaps/default/keymap.json b/keyboards/helix/beta/keymaps/default/keymap.json new file mode 100644 index 0000000000..1719abca5b --- /dev/null +++ b/keyboards/helix/beta/keymaps/default/keymap.json @@ -0,0 +1,28 @@ +{ + "keyboard": "helix/beta", + "keymap": "default", + "layout": "LAYOUT_5row", + "layers": [ + [ + "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_DEL", + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_LBRC", "KC_RBRC", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ENT" , + "MO(3)", "KC_ESC", "KC_LALT", "KC_LGUI", "LALT(KC_GRV)", "MO(1)", "KC_SPC", "KC_SPC", "MO(2)", "LALT(KC_GRV)", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RGHT" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_DEL", + "_______", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", + "KC_CAPS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "_______", "_______", "KC_F12", "_______", "_______", "KC_PGDN", "KC_PGUP", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MPLY" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", + "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "EE_CLR", "_______", "_______", "_______", "_______", "_______", "AG_NORM", "AG_SWAP", "_______", "_______", "UG_TOGG", "UG_HUEU", "UG_SATU", "UG_VALU", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "UG_NEXT", "UG_HUED", "UG_SATD", "UG_VALD" + ] + ] +} diff --git a/keyboards/helix/rev2/back/keyboard.json b/keyboards/helix/rev2/back/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/back/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/back/rules.mk b/keyboards/helix/rev2/back/rules.mk deleted file mode 100644 index 066fffb74a..0000000000 --- a/keyboards/helix/rev2/back/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_BACK_ENABLE = yes diff --git a/keyboards/helix/rev2/base/keyboard.json b/keyboards/helix/rev2/base/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/base/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h deleted file mode 100644 index 67af503882..0000000000 --- a/keyboards/helix/rev2/config.h +++ /dev/null @@ -1,78 +0,0 @@ -/* -Copyright 2012 Jun Wako <[email protected]> -Copyright 2015 Jack Humbert -Copyright 2018 MakotoKurauchi - -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 - -#define QUICK_TAP_TERM 0 - -#define OLED_UPDATE_INTERVAL 50 - -// Helix keyboard RGB LED support -// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes -#ifdef RGBLED_BACK - #define RGBLIGHT_LED_COUNT 32 -#else - #define RGBLIGHT_LED_COUNT 6 -#endif - -#ifndef IOS_DEVICE_ENABLE - #if RGBLIGHT_LED_COUNT <= 6 - #define RGBLIGHT_LIMIT_VAL 255 - #else - #define RGBLIGHT_LIMIT_VAL 120 - #endif - #define RGBLIGHT_VAL_STEP 17 -#else - #if RGBLIGHT_LED_COUNT <= 6 - #define RGBLIGHT_LIMIT_VAL 90 - #else - #define RGBLIGHT_LIMIT_VAL 35 - #endif - #define RGBLIGHT_VAL_STEP 4 -#endif - -#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) -// USB_MAX_POWER_CONSUMPTION value for Helix keyboard -// 120 RGBoff, OLEDoff -// 120 OLED -// 330 RGB 6 -// 300 RGB 32 -// 310 OLED & RGB 32 - #define USB_MAX_POWER_CONSUMPTION 400 -#else - // fix iPhone and iPad power adapter issue - // iOS device need lessthan 100 - #define USB_MAX_POWER_CONSUMPTION 100 -#endif - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/helix/rev2/keymaps/default/config.h b/keyboards/helix/rev2/keymaps/default/config.h deleted file mode 100644 index b8c1041cdc..0000000000 --- a/keyboards/helix/rev2/keymaps/default/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako <[email protected]> -Copyright 2015 Jack Humbert - -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 - -// place overrides here - -// If you need more program area, try select and reduce rgblight modes to use. - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c deleted file mode 100644 index a48a855e02..0000000000 --- a/keyboards/helix/rev2/keymaps/default/keymap.c +++ /dev/null @@ -1,341 +0,0 @@ -/* Copyright 2020 yushakobo - * - * 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 QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _QWERTY = 0, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - LOWER, - RAISE, - ADJUST, - BACKLIT, - EISU, - KANA, - RGBRST -}; - -enum macro_keycodes { - KC_SAMPLEMACRO, -}; - -//Macros -#define M_SAMPLE M(KC_SAMPLEMACRO) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | [ | ] | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Colemak - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | [ | ] | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_COLEMAK] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Dvorak - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | O | E | U | I | | D | H | T | N | S | / | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | [ | ] | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_DVORAK] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, - KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LBRC, KC_RBRC, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_LPRN, KC_RPRN, KC_F12, _______, _______, KC_HOME, KC_END, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Raise - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------. ,-----------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Reset|RGBRST| | | | | | | | | | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | |RGB ON| HUE+ | SAT+ | VAL+ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | MODE | HUE- | SAT- | VAL- | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD - ) -}; - -#ifdef AUDIO_ENABLE - -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -float tone_plover[][2] = SONG(PLOVER_SOUND); -float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); -#endif - -// define variables for reactive RGB -bool TOG_STATUS = false; -int RGB_current_mode; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGB_current_mode); - #endif - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); - #endif - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_colemak); - #endif - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_dvorak); - #endif - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGBLIGHT_MODE_SNAKE + 1); - #endif - } - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change - #endif - TOG_STATUS = false; - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGBLIGHT_MODE_SNAKE); - #endif - } - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change - #endif - layer_off(_RAISE); - TOG_STATUS = false; - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case QK_UNDERGLOW_MODE_NEXT: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - return false; - break; - case EISU: - if (record->event.pressed) { - if (is_mac_mode()) { - register_code(KC_LNG2); - } else { - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - if (is_mac_mode()) { - register_code(KC_LNG1); - } else { - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - break; - } - return true; -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_get_mode(); - #endif -} diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c deleted file mode 100644 index 4eb815ce48..0000000000 --- a/keyboards/helix/rev2/keymaps/default/oled_display.c +++ /dev/null @@ -1,138 +0,0 @@ -/* Copyright 2020 yushakobo - * - * 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 <stdio.h> -#include <string.h> -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _QWERTY = 0, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -//assign the right code to your layers for OLED display -#define L_BASE 0 -#define L_LOWER (1<<_LOWER) -#define L_RAISE (1<<_RAISE) -#define L_ADJUST (1<<_ADJUST) -#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) - -//OLED update loop -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_0; - } else { - return OLED_ROTATION_180; - } -} - -static void render_rgbled_status(bool full) { -# ifdef RGBLIGHT_ENABLE - char buf[30]; - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { - if (full) { - snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", - rgblight_get_mode(), - rgblight_get_hue()/RGBLIGHT_HUE_STEP, - rgblight_get_sat()/RGBLIGHT_SAT_STEP, - rgblight_get_val()/RGBLIGHT_VAL_STEP); - } else { - snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode()); - } - oled_write(buf, false); - } -# endif -} - -static void render_layer_status(void) { - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - char buf[10]; - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_P(PSTR("Default"), false); - break; - case L_RAISE: - oled_write_P(PSTR("Raise"), false); - break; - case L_LOWER: - oled_write_P(PSTR("Lower"), false); - break; - case L_ADJUST: - case L_ADJUST_TRI: - oled_write_P(PSTR("Adjust"), false); - break; - default: - oled_write_P(PSTR("Undef-"), false); - snprintf(buf,sizeof(buf), "%u", layer_state); - oled_write(buf, false); - } - oled_write_P(PSTR("\n"), false); -} - -void render_status(void) { - // Render to mode icon - static const char os_logo[][2][3] PROGMEM = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if (is_mac_mode()) { - oled_write_P(os_logo[0][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[0][1], false); - } else { - oled_write_P(os_logo[1][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[1][1], false); - } - - oled_write_P(PSTR(" "), false); - render_layer_status(); - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false); - oled_advance_page(true); - render_rgbled_status(true); - oled_write_P(PSTR("\n"), false); -} - -bool oled_task_user(void) { - -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - - if (is_keyboard_master()) { - render_status(); - } else { - render_helix_logo(); - render_rgbled_status(false); - render_layer_status(); - } - return false; -} -#endif // end of OLED_ENABLE diff --git a/keyboards/helix/rev2/keymaps/default/readme.md b/keyboards/helix/rev2/keymaps/default/readme.md deleted file mode 100644 index f1917a100a..0000000000 --- a/keyboards/helix/rev2/keymaps/default/readme.md +++ /dev/null @@ -1,154 +0,0 @@ -# The Default Helix Layout -## Layout - -### Qwerty - -``` - ,-----------------------------------------. ,-----------------------------------------. - | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Shift| Z | X | C | V | B | [ | ] | N | M | , | . | / |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - `-------------------------------------------------------------------------------------------------' -``` - -### Colemak -``` - ,-----------------------------------------. ,-----------------------------------------. - | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Shift| Z | X | C | V | B | [ | ] | K | M | , | . | / |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - `-------------------------------------------------------------------------------------------------' -``` - -### Dvorak -``` - ,-----------------------------------------. ,-----------------------------------------. - | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Ctrl | A | O | E | U | I | | D | H | T | N | S | / | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Shift| ; | Q | J | K | X | [ | ] | B | M | W | V | Z |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - `-------------------------------------------------------------------------------------------------' -``` - -## Layers - -|Priority|number|name|description| -| ---- | ---- | --- | --- | -|high|16|Adjust|Functions| -||4|Raise|Numeric charactors| -||3|Lower|Other charactors| -||2|Dvorak|Dvorak leyout| -||1|Colemak|Colemak leyout| -|low|0|Qwerty|QWERTY leyout(base)| - -### Lower -``` - ,-----------------------------------------. ,-----------------------------------------. - | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | Next | Vol- | Vol+ | Play | - `-------------------------------------------------------------------------------------------------' -``` - -### Raise -``` - ,-----------------------------------------. ,-----------------------------------------. - | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | Next | Vol- | Vol+ | Play | - `-------------------------------------------------------------------------------------------------' -``` - -### Adjust (Lower + Raise) -``` - ,-----------------------------------------. ,-----------------------------------------. - | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | Reset|RGBRST| | | | | | | | | | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | |RGB ON| HUE+ | SAT+ | VAL+ | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | MODE | HUE- | SAT- | VAL- | - `-------------------------------------------------------------------------------------------------' -``` - -## Customize - -see `qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk` - -``` -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 -# OLED_ENABLE = yes # OLED_ENABLE -# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" -# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) -# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -# LED_ANIMATIONS = yes # LED animations -# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -``` -## Compile - -go to qmk top directory. -``` -$ cd qmk_firmware -``` - -build -``` -$ make helix:default # with oled -$ make helix/rev2/back:default # with oled and backlight -$ make HELIX=no-ani helix/rev2/back:default # with oled and backlight without animation -$ make helix/rev2/under:default # with oled and underglow -$ make HELIX=no-oled helix:default # without oled -``` - -build (experimental use of split_common with backlight and oled) -``` -$ make helix/rev2/sc:default -``` - -flash to keyboard -``` -$ make helix:default:flash # with oled -$ make helix/rev2/back:default:flash # with oled and backlight -$ make HELIX=no-ani helix/rev2/back:default:flash # with oled and backlight without animation -$ make helix/rev2/under:default:flash # with oled and underglow -$ make HELIX=no-oled helix:default:flash # without oled -``` - -## Link -* more detail wrote in Japanese [helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md) -* [Helix top](https://github.com/MakotoKurauchi/helix) - diff --git a/keyboards/helix/rev2/keymaps/default/readme_jp.md b/keyboards/helix/rev2/keymaps/default/readme_jp.md deleted file mode 100644 index 6ecac8f25d..0000000000 --- a/keyboards/helix/rev2/keymaps/default/readme_jp.md +++ /dev/null @@ -1,127 +0,0 @@ -# The Default Helix Layout -## 配列 - -### Qwerty配列 - -``` - ,-----------------------------------------. ,-----------------------------------------. - | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Shift| Z | X | C | V | B | [ | ] | N | M | , | . | / |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - `-------------------------------------------------------------------------------------------------' -``` - -他の配列(Colemak,Dvorak)は、[readme.md](readme.md) を参照 - -## カスタマイズ - -Helix キーボードを4行版として製作したり、オプションの OLED をつけたり、 -RGB バックライトまたは、RGB Underglow をつけた場合は、 -`qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk` の以下の部分を編集して機能を有効化してください。 - -``` -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 -# OLED_ENABLE = yes # OLED_ENABLE -# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" -# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) -# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -# LED_ANIMATIONS = yes # LED animations -# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -``` - -## RGB バックライトを有効にする - -rules.mk の下記の部分を編集して no を yes に変更してください。 - -``` -LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) -``` - -## RGB Underglow を有効にする - -rules.mk の下記の部分を編集して no を yes に変更してください。 -``` -LED_UNDERGLOW_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.) -``` - -## OLEDを無効にする - -OLED はデフォルトで有効になっています。 -無効にしたいときは rules.mk の下記の部分を編集して yes を no に変更してください。 -``` -OLED_ENABLE = no # OLED_ENABLE -``` - -## iPad/iPhoneサポートを有効にする。 - -rules.mk の下記の部分を編集して no を yes に変更してください。 -RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone にも接続できるようになります。 - -``` -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) -``` - -## コンパイルの仕方 - -コンパイルは、qmk_firmware のトップディレクトリで行います。 - -``` -$ cd qmk_firmware -``` -qmk_firmwareでは各キーボードのコンパイルは、`<キーボード名>:<キーマップ名>`という指定で行います。 - -``` -$ make helix:default -``` - -キーボードへの書き込みまで同時に行うには下記のように`:flash`を付けます。 - -``` -$ make helix:default:flash -``` - -コンパイル結果と中間生成物を消去したい場合は以下のようにします。 - -``` -$ make helix:default:clean -``` - -上記の、rules.mk によるカスタマイズ項目の一部は下記のようにコマンド上で直接指定することも可能です。 - -OLED を無効にしてコンパイルしてキーボードへの書き込む。 -``` -$ make HELIX=no-oled helix/rev2:default:flash -``` - -RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make helix/rev2/back:default:flash -``` - -RGB Underglow を有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make helix/rev2/under:default:flash -``` - -OLED を無効にして、RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make HELIX=no-oled helix/rev2/back:default:flash -``` - -OLED を無効にして、RGB Underglowを有効にしてコンパイルしてキーボードへ書き込む。 -``` -$ make HELIX=no-oled helix/rev2/under:default:flash -``` - -## リンク - -* さらに詳細は、[こちら helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)をご覧ください。 -* [Helix top](https://github.com/MakotoKurauchi/helix) diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk deleted file mode 100644 index 83029d1e0b..0000000000 --- a/keyboards/helix/rev2/keymaps/default/rules.mk +++ /dev/null @@ -1,23 +0,0 @@ -LTO_ENABLE = yes # if firmware size over limit, try this option - -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 -# OLED_ENABLE = no # OLED_ENABLE -# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" -# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) -# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -# LED_ANIMATIONS = yes # LED animations -# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - -# OLED_ENABLE が yes のとき -# OLED_SELECT が core ならば QMK 標準の oled_dirver.c を使用します。 -# OLED_SELECT が core 以外ならば従来どおり helix/local_drivers/ssd1306.c を使用します。 -# If OLED_ENABLE is 'yes' -# If OLED_SELECT is 'core', use QMK standard oled_dirver.c. -# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c. -OLED_SELECT = core - -ifeq ($(strip $(OLED_ENABLE)), yes) - SRC += oled_display.c -endif diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/config.h b/keyboards/helix/rev2/keymaps/five_rows_jis/config.h deleted file mode 100644 index 97494c937f..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/config.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako <[email protected]> -Copyright 2015 Jack Humbert - -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 CONFIG_USER_H -#define CONFIG_USER_H - -// place overrides here - -#ifdef MOUSEKEY_ENABLE - #undef MOUSEKEY_INTERVAL - #define MOUSEKEY_INTERVAL 0 - - #undef MOUSEKEY_TIME_TO_MAX - #define MOUSEKEY_TIME_TO_MAX 150 - - #undef MOUSEKEY_MAX_SPEED - #define MOUSEKEY_MAX_SPEED 3 - - #undef MOUSEKEY_MOVE_DELTA - #define MOUSEKEY_MOVE_DELTA 5 - - #undef MOUSEKEY_DELAY - #define MOUSEKEY_DELAY 0 -#endif - -// If you need more program area, try select and reduce rgblight modes to use. - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif - -#endif /* CONFIG_USER_H */ diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c deleted file mode 100644 index 70430894ef..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c +++ /dev/null @@ -1,410 +0,0 @@ -#include QMK_KEYBOARD_H -#include "keymap_japanese.h" -#include <stdio.h> -#include <string.h> - -// * If you want to recognize that you pressed the Adjust key with the Lower / Raise key you can enable this comment out. However, the binary size may be over. * -// #define ADJUST_MACRO_ENABLE - -// * If you want to use the Kana key you can enable this comment out. However, the binary size may be over. * -// #define KANA_ENABLE - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _BASE = 0, - _BAS_E, - _LOWER, - _LOW_E, - _RAISE, - _RAI_E, - _ADJUST, -}; - -enum custom_keycodes { - RGBRST = SAFE_RANGE, - #ifdef KANA_ENABLE - EISU, - KANA, - #endif -}; - -// Layer Mode aliases -#define DL_BAS DF(_BASE) -#define DL_BASE DF(_BAS_E) -#define ML_LOW MO(_LOWER) -#define ML_LOWE MO(_LOW_E) -#define ML_RAI MO(_RAISE) -#define ML_RAIE MO(_RAI_E) -#define ML_ADJ MO(_ADJUST) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty JIS Normal - * ,-----------------------------------------. ,-----------------------------------------. - * | Esc | 1! | 2" | 3# | 4$ | 5% | | 6& | 7' | 8( | 9) | 0 | -= | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | KANJI| Q | W | E | R | T | | Y | U | I | O | P | @` | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | A | S | D | F | G | | H | J | K | L | ;+ | :* | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | B | N | M | ,< | .> | Up |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | GUI | Alt |Adjust|Lower |Space |Bksp |Space |Space |Raise | APP | Left | Down |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_BASE] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - JP_ZKHK, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, - KC_LCTL, KC_LALT, KC_LGUI, ML_ADJ, ML_LOW, KC_SPC, KC_BSPC, KC_SPC, KC_SPC, ML_RAI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Qwerty JIS Exchange L and R - * ,-----------------------------------------. ,-----------------------------------------. - * | 6& | 7' | 8( | 9) | 0 | -= | | Esc | 1! | 2" | 3# | 4$ | 5% | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Y | U | I | O | P | @` | | Tab | Q | W | E | R | T | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | H | J | K | L | ;+ | :* | | | A | S | D | F | G | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | N | M | ,< | .> | /? | Up |Enter |KANJI | Shift| Z | X | C | V | B | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Space |Raise | }] | APP | Left | Down |Right |Adjust| Ctrl | GUI | Alt | [{ |Lower | Bksp | - * `-------------------------------------------------------------------------------------------------' - */ - [_BAS_E] = LAYOUT( - KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, - KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, - KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, JP_ZKHK, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, - KC_SPC, ML_RAIE, JP_RBRC, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, ML_ADJ, KC_LCTL, KC_LALT, KC_LGUI, JP_LBRC, ML_LOWE, KC_BSPC - ), - - /* Lower JIS Normal - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | | | | | | | | -= | ^~ | \| | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | | @` | [{ | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | | | | ;+ | :* | ]} | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | ,< | .> | /? | \_ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | Del | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT( - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, JP_CIRC, JP_YEN, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_AT, JP_LBRC, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, JP_COLN, JP_RBRC, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, - _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_DEL, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* Lower JIS Exchange L and R - * ,-----------------------------------------. ,-----------------------------------------. - * | | | | -= | ^~ | \| | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | @` | [{ | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | ;+ | :* | ]} | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | ,< | .> | /? | \_ |PageUp| | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | Home |PageDn| End | | | | | | | Del | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOW_E] = LAYOUT( - _______, XXXXXXX, XXXXXXX, KC_MINS, JP_CIRC, JP_YEN, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, JP_AT, JP_LBRC, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, KC_SCLN, JP_COLN, JP_RBRC, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_PGUP, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, XXXXXXX, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, XXXXXXX, _______, KC_DEL - ), - - /* Raise JIS Normal - * ,-----------------------------------------. ,-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | |MsWhL |MsWhU | Home |PageUp| F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | |MsWhR |MsWhD | End |PageDn| | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | |MsBtn1|MsBtn2| MsUp | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | |MsLeft|MsDown|MsRght| - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT( - _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_HOME, KC_PGUP, KC_F12, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, KC_END, KC_PGDN, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_MS_U, XXXXXXX, - _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R - ), - - /* Raise JIS Exchange L and R - * ,-----------------------------------------. ,-----------------------------------------. - * | F6 | F7 | F8 | F9 | F10 | F11 | | | F1 | F2 | F3 | F4 | F5 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | |MsWhL |MsWhU | F12 | | | | | | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | |MsWhR |MsWhD | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | |MsBtn1|MsBtn2| MsUp | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | |MsLeft|MsDown|MsRght| | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAI_E] = LAYOUT( - KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, - XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_U, KC_F12, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_R, KC_WH_D, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_MS_U, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, XXXXXXX, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX - ), - - /* Adjust (Lower + Raise) Common map for Normal and Exchange - * ,-----------------------------------------. ,-----------------------------------------. - * | | Reset|RGBRST| | | | | | Reset|RGBRST| | | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | |ModNrm|ModExc| Mac | Win | | | |ModNrm|ModExc| Mac | Win | | - * |------+------+------+------+------+------| |------+------+------+------+------|------+ - * | |RGB ON| HUE+ | SAT+ | VAL+ | | | |RGB ON| HUE+ | SAT+ | VAL+ | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------|------+ - * | | MODE | HUE- | SAT- | VAL- | | | | | MODE | HUE- | SAT- | VAL- | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - XXXXXXX, QK_BOOT, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, DL_BAS, DL_BASE, AG_NORM, AG_SWAP, XXXXXXX, - XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, - XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -#if defined(OLED_ENABLE) -char keylog[24] = {}; -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', ' ', '-', ' ', '@', ' ', ' ', - ' ', ';', ':', ' ', ',', '.', '/', ' ', ' ', ' '}; - -static inline void set_keylog(uint16_t keycode, keyrecord_t *record) -{ - char name = ' '; - led_t led_state = host_keyboard_led_state(); - - if (keycode < 60) - { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog, sizeof(keylog), "\n%dx%d %2x %c %c %c %c", - record->event.key.row, - record->event.key.col, - keycode, - name, - led_state.num_lock ? 'N' : ' ', - led_state.caps_lock ? 'C' : ' ', - led_state.scroll_lock ? 'S' : ' ' - ); -} -#endif - -#ifdef RGBLIGHT_ENABLE -#define RGBLIGHT(mode) rgblight_mode(mode) -#else -#define RGBLIGHT(mode) -#endif - -// define variables for reactive RGB -int RGB_current_mode; -#ifdef ADJUST_MACRO_ENABLE -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - RGBLIGHT(RGB_current_mode); - layer_on(layer3); - } else { - layer_off(layer3); - } -} -#define ADJUST_MACRO(layer1, layer2, layer3) update_tri_layer_RGB(layer1, layer2, layer3) -#else -#define ADJUST_MACRO(layer1, layer2, layer3) -#endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - #if defined(OLED_ENABLE) - if (record->event.pressed) { - set_keylog(keycode, record); - } - #endif - - switch (keycode) { - #ifdef RGBLIGHT_ENABLE - //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case QK_UNDERGLOW_MODE_NEXT: - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_get_mode(); - } - break; - #endif - #ifdef KANA_ENABLE - case EISU: - if (record->event.pressed) { - if (keymap_config.swap_lalt_lgui==false) { - register_code(KC_LNG2); - } else { - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - break; - case KANA: - if (record->event.pressed) { - if(keymap_config.swap_lalt_lgui==false){ - register_code(KC_LNG1); - }else{ - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG1); - } - break; - #endif - #ifdef RGBLIGHT_ENABLE - case RGBRST: - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_get_mode(); - } - break; - #endif - default: - return true; - } - - return false; -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_get_mode(); - #endif -} - -//OLED update loop -#ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_0; - } else { - return OLED_ROTATION_180; - } -} - -//assign the right code to your layers for OLED display -#define L_BASE _BASE -#define L_LOWER (1<<_LOWER) -#define L_RAISE (1<<_RAISE) -#define L_ADJUST (1<<_ADJUST) -#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) -#define L_LOW_E (1<<_LOW_E) -#define L_RAI_E (1<<_RAI_E) -#define L_ADJUST_TRIE (L_ADJUST|L_RAI_E|L_LOW_E) - -const char helix_logo[]={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - -static inline void render_logo(void) { - oled_write(helix_logo, false); -} - -const char mac_win_logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - -static inline void render_status(void) { - char buf[20]; - // Render to mode icon - if(keymap_config.swap_lalt_lgui==false){ - oled_write(mac_win_logo[0][0], false); - oled_write_P(PSTR("\n"), false); - oled_write(mac_win_logo[0][1], false); - } else { - oled_write(mac_win_logo[1][0], false); - oled_write_P(PSTR("\n"), false); - oled_write(mac_win_logo[1][1], false); - } - - #ifdef RGBLIGHT_ENABLE - snprintf(buf, sizeof(buf), " LED mode:%d", (short)RGB_current_mode); - oled_write(buf, false); - #endif - - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - oled_write_P(PSTR("\nLayer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_P(default_layer_state == (1UL<<_BAS_E) ? PSTR("BaseEx") : PSTR("Base"), false); - break; - case L_RAISE: - oled_write_P(PSTR("Raise"), false); - break; - case L_RAI_E: - oled_write_P(PSTR("RaiseEx"), false); - break; - case L_LOWER: - oled_write_P(PSTR("Lower"), false); - break; - case L_LOW_E: - oled_write_P(PSTR("LowerEx"), false); - break; - case L_ADJUST: - case L_ADJUST_TRI: - case L_ADJUST_TRIE: - oled_write_P(PSTR("Adjust"), false); - break; - default: - snprintf(buf, sizeof(buf), "%d", (short)layer_state); - oled_write(buf, false); - } - - oled_write(keylog, false); -} - -bool oled_task_user(void) { - -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - - if (is_keyboard_master()) { - render_status(); - } else { - render_logo(); - } - - return false; -} - -#endif // end of OLED_ENABLE diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/readme.md b/keyboards/helix/rev2/keymaps/five_rows_jis/readme.md deleted file mode 100644 index ca408e3913..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/readme.md +++ /dev/null @@ -1,150 +0,0 @@ -# Helix 5 rows JIS layout - -This keymap was created with the concept that users using Japanese JIS keyboard layout can operate without difficulty. It has the following features. - -* We are considering to be able to input long Japanese notes without moving the layer -* We are arranging the relation of symbols that can not fit in the Lower layer keeping the positional relationship -* The four-way key is in a convex arrangement -* Ctrl, Shift, Tab, Kanji, Esc, GUI (Win), App keys are arranged keeping positional relationship -* Lower / Raise keymap is considering easy placement so that it can be used without memorizing - -This keymap also includes a "NORMAL" keymap that uses Helix's split keyboard as usual, and an "EXCHANGE" key that exchanges left and right sides of Helix's split keyboard for key position optimization I am trying to switch maps. These have the following additional features. - -## NORMAL Keymap - -* It is possible to press the N key with the left index finger and the B key with the right index finger - -## EXCHANGE Keymap - -* By using the 2 key under Pro micro effectively add `` `[{` `` `` `]]` ``, `` `/?` `` Keys to NORMAL's base keymap And make inputs other than the `` `\ _` `` key possible with the base map -* To avoid mistakes in pressing the Kanji key and the Enter key, we are moving to the 2 key. - -## 配列 - -### NORMAL Keymap - - Adjust + ModExc key switches to the NORMAL keymap. - -Base Layer - -``` - ,-----------------------------------------. ,-----------------------------------------. - | Esc | 1! | 2" | 3# | 4$ | 5% | | 6& | 7' | 8( | 9) | 0 | -= | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | KANJI| Q | W | E | R | T | | Y | U | I | O | P | @` | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | A | S | D | F | G | | H | J | K | L | ;+ | :* | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Shift| Z | X | C | V | B | N | B | N | M | ,< | .> | Up |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Ctrl | GUI | Alt |Adjust|Lower |Space |Bksp |Space |Space |Raise | APP | Left | Down |Right | - `-------------------------------------------------------------------------------------------------' -``` - -Lower Layer - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | | | | | | | | | | -= | ^~ | \| | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | @` | [{ | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | ;+ | :* | ]} | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | ,< | .> | /? | \_ | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | Del | | | | | | | | - `-------------------------------------------------------------------------------------------------' -``` - -Raise Layer - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | F12 | | | | Home |PageUp| - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | End |PageDn| - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | |MsBtn1|MsBtn2| | | | | | | | | | MsUp | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | |MsLeft|MsDown|MsRght| - `-------------------------------------------------------------------------------------------------' -``` - -### EXCHANGE Keymap - -Adjust + ModExc key switches to the EXCHANGE keymap. - -Base Layer - -``` - ,-----------------------------------------.,-----------------------------------------. - | Esc | 1! | 2" | 3# | 4$ | 5% || 6& | 7' | 8( | 9) | 0 | -= | - |------+------+------+------+------+------||------+------+------+------+------+------| - | Tab | Q | W | E | R | T || Y | U | I | O | P | @` | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | A | S | D | F | G || H | J | K | L | ;+ | :* | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - |KANJI | Shift| Z | X | C | V | B || N | M | ,< | .> | /? | Up |Enter | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - |Adjust| Ctrl | GUI | Alt | [{ |Lower | Bksp ||Space |Raise | }] | APP | Left | Down |Right | - `------------------------------------------------'`------------------------------------------------' -``` - -Lower Layer - -``` - ,-----------------------------------------.,-----------------------------------------. - | | | | | | || | | | -= | ^~ | \| | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | | @` | [{ | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | ;+ | :* | ]} | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - | | | | | | | || | ,< | .> | /? | \_ |PageUp| | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - | | | | | | | Del || | | | | Home |PageDn| End | - `------------------------------------------------'`------------------------------------------------' -``` - -Raise Layer - -``` - ,-----------------------------------------.,-----------------------------------------. - | | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F11 | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || F12 | | | | | | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | | | | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - | | |MsBtn1|MsBtn2| | | || | | | | | MsUp | | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - | | | | | | | || | | | |MsLeft|MsDown|MsRght| - `------------------------------------------------'`------------------------------------------------' -``` - -### NORMAL/EXCHANGE common Layer - -Adjust Layer - - NORMAL / EXCHANGE This layer is used in common. The same items are arranged in the same row on both sides so that they can be used in common. - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | Reset|RGBRST|Aud on|Audoff| | | | Reset|RGBRST|Aud on|Audoff| | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | |ModNrm|ModExc| Mac | Win | | | |ModNrm|ModExc| Mac | Win | | - |------+------+------+------+------+------| |------+------+------+------+------|------+ - | |RGB ON| HUE+ | SAT+ | VAL+ | | | |RGB ON| HUE+ | SAT+ | VAL+ | | - |------+------+------+------+------+------+------+------+------+------+------+------+------|------+ - | | MODE | HUE- | SAT- | VAL- | | | | | MODE | HUE- | SAT- | VAL- | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | | | | | - `-------------------------------------------------------------------------------------------------' -``` - -## How to compile these program - - See the readme of the Default keymap. diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/readme_jp.md b/keyboards/helix/rev2/keymaps/five_rows_jis/readme_jp.md deleted file mode 100644 index 442984f6ff..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/readme_jp.md +++ /dev/null @@ -1,173 +0,0 @@ -# Helix 5 rows JIS layout - -## コンセプト - -このキーマップは日本語JISキーボード配列を利用しているユーザーが無理なく操作出来るというコンセプトで作成しました。以下の特徴があります。 - -* 日本語の長音記号をレイヤーを移動せずに入力可能なように考慮しています -* 入りきらない記号関連をLowerレイヤーに位置関係を維持して配置しています -* 十字キーを凸配置にしています -* Ctrl,Shift,Tab,漢字,Esc,GUI(Win),Appの各キーは位置関係を維持して配置しています -* Lower/Raiseキーマップは暗記しないでも使えるようにわかりやすい配置を考慮しています - - またこのキーマップにはHelixの分割されたキーボードを通常通りに使用する「NORMAL」キーマップと、キー位置の最適化のためにHelixの分割されたキーボードの左右を交換して使う「EXCHANGE」キーマップをバイナリの書き換えなしに切り替えられるようにしています。これらにはさらに以下の特徴があります。 - -### NORMALキーマップ - -* Nキーを左人差し指で、Bキーを右人差し指で押下することが可能 - -### EXCHANGEキーマップ - -* Pro micro下の2キーを有効に使うことにより、NORMALのベースキーマップに```[{```,```}]```,```/?```の各キーを追加し、```\_```キー以外の入力をベースマップで可能にしています -* 漢字キー,Enterキーの押し間違いを避けるためPro micro下の2キーに移動しています - -## カスタマイズ - -Normal/Exchangeにそれぞれ、Base,Lower,Raiseの各レイヤーを備え、2マップ3レイヤー、共通1レイヤー(Adjust)の全7種のレイヤーを備えています。 -ファームの書き換えなしにキーマップを別のものに切り替えられるので、片方は通常のキーマップ、もう片方は画像や動画編集用のキーマップや別の変態配置のキーマップにすれば、状況に応じて簡単に切り替えられます。 - -## 配列 - -### NORMAL - - Adjust + ModNrmキーでNORMALキーマップに切り替わります。 - -#### Baseレイヤー - -``` - ,-----------------------------------------. ,-----------------------------------------. - | Esc | 1! | 2" | 3# | 4$ | 5% | | 6& | 7' | 8( | 9) | 0 | -= | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | KANJI| Q | W | E | R | T | | Y | U | I | O | P | @` | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | Tab | A | S | D | F | G | | H | J | K | L | ;+ | :* | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Shift| Z | X | C | V | B | N | B | N | M | ,< | .> | Up |Enter | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | Ctrl | GUI | Alt |Adjust|Lower |Space |Bksp |Space |Space |Raise | APP | Left | Down |Right | - `-------------------------------------------------------------------------------------------------' -``` - -#### Lowerレイヤー - - 記号キーと、BackSpace位置にDeleteキーを配置しています。 - 例えば```|```キーを入力する場合、Lower + Shift + \キーで入力することが出来ます。 - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | | | | | | | | | | -= | ^~ | \| | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | @` | [{ | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | ;+ | :* | ]} | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | ,< | .> | /? | \_ | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | Del | | | | | | | | - `-------------------------------------------------------------------------------------------------' -``` - -#### Raiseレイヤー - - rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。 - また、F1-F12キーをHHKBライクに使えるように横並びにしました。 - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | F12 | | | | Home |PageUp| - |------+------+------+------+------+------| |------+------+------+------+------+------| - | | | | | | | | | | | | End |PageDn| - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | |MsBtn1|MsBtn2| | | | | | | | | | MsUp | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | |MsLeft|MsDown|MsRght| - `-------------------------------------------------------------------------------------------------' -``` - -### EXCHANGEキーマップ - - Adjust + ModExcキーでEXCHANGEキーマップに切り替わります。 - HelixのUSBやフォンケーブルの接続は変更せず、分割された左右のキーボードを入れ替えて使います。 - -#### Baseレイヤー - - ちょっと無理やりですが```[{```,```}]```キーを突っ込んでいます。 - -``` - ,-----------------------------------------.,-----------------------------------------. - | Esc | 1! | 2" | 3# | 4$ | 5% || 6& | 7' | 8( | 9) | 0 | -= | - |------+------+------+------+------+------||------+------+------+------+------+------| - | Tab | Q | W | E | R | T || Y | U | I | O | P | @` | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | A | S | D | F | G || H | J | K | L | ;+ | :* | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - |KANJI | Shift| Z | X | C | V | B || N | M | ,< | .> | /? | Up |Enter | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - |Adjust| Ctrl | GUI | Alt | [{ |Lower | Bksp ||Space |Raise | }] | APP | Left | Down |Right | - `------------------------------------------------'`------------------------------------------------' -``` - -#### Lowerレイヤー - - 記号キーと、BackSpace位置にDeleteキーを配置しています。 - PageDown/Up, Home/EndをCtrl+十字キーの延長線上で使用できるように配置しています。 - -``` - ,-----------------------------------------.,-----------------------------------------. - | | | | | | || | | | -= | ^~ | \| | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | | @` | [{ | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | ;+ | :* | ]} | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - | | | | | | | || | ,< | .> | /? | \_ |PageUp| | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - | | | | | | | Del || | | | | Home |PageDn| End | - `------------------------------------------------'`------------------------------------------------' -``` - -#### Raiseレイヤー - - rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。 - また、F1-F12キーをHHKBライクに使えるように横並びにしました。 - マウスキーは十字キーの延長線上で使用できるように配置しています。 - -``` - ,-----------------------------------------.,-----------------------------------------. - | | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F11 | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || F12 | | | | | | - |------+------+------+------+------+------||------+------+------+------+------+------| - | | | | | | || | | | | | | - ,------+------+------+------+------+------+------||------+------+------+------+------+------+------. - | | |MsBtn1|MsBtn2| | | || | | | | | MsUp | | - |------+------+------+------+------+------+------||------+------+------+------+------+------+------| - | | | | | | | || | | | |MsLeft|MsDown|MsRght| - `------------------------------------------------'`------------------------------------------------' -``` - -### NORMAL/EXCHANGE共通レイヤー - -Adjustレイヤー - - NORMAL/EXCHANGE共通で利用するレイヤーです。共通で使えるように両側同じ並びで同じものを配置しています。 - -``` - ,-----------------------------------------. ,-----------------------------------------. - | | Reset|RGBRST|Aud on|Audoff| | | | Reset|RGBRST|Aud on|Audoff| | - |------+------+------+------+------+------| |------+------+------+------+------+------| - | |ModNrm|ModExc| Mac | Win | | | |ModNrm|ModExc| Mac | Win | | - |------+------+------+------+------+------| |------+------+------+------+------|------+ - | |RGB ON| HUE+ | SAT+ | VAL+ | | | |RGB ON| HUE+ | SAT+ | VAL+ | | - |------+------+------+------+------+------+------+------+------+------+------+------+------|------+ - | | MODE | HUE- | SAT- | VAL- | | | | | MODE | HUE- | SAT- | VAL- | | - |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - | | | | | | | | | | | | | | | - `-------------------------------------------------------------------------------------------------' -``` - -## コンパイルの仕方 - - Defaultキーマップのreadmeを参照してください。 diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk b/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk deleted file mode 100644 index b4f8e27de4..0000000000 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -LTO_ENABLE = no # if firmware size over limit, try this option - -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 -# OLED_ENABLE = no # OLED_ENABLE -# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" -# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) -# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -# LED_ANIMATIONS = yes # LED animations -# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - -# OLED_ENABLE が yes のとき -# OLED_SELECT が core ならば QMK 標準の oled_dirver.c を使用します。 -# OLED_SELECT が core 以外ならば従来どおり helix/local_drivers/ssd1306.c を使用します。 -# If OLED_ENABLE is 'yes' -# If OLED_SELECT is 'core', use QMK standard oled_dirver.c. -# If OLED_SELECT is other than 'core', use helix/local_drivers/ssd1306.c. -OLED_SELECT = core diff --git a/keyboards/helix/rev2/keymaps/led_test/README.md b/keyboards/helix/rev2/keymaps/led_test/README.md deleted file mode 100644 index 2fe6706452..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# LED test Keymap - -## Layout - -The layout is the same as default. - -## Feature - -* OLED is enabled. -* LED backlight is enabled and always lit. -* The lighting color of LED changes periodically. Red, Green and Blue. - -The user can check whether the LED is lit or not. - -## Compile - -``` -$ cd qmk_firmware -$ make helix:led_test -``` - -## Flash QMK Firmware - -Execute the 'make' command and press the reset switch on the keyboard. -``` -$ make helix:led_test:flash -``` diff --git a/keyboards/helix/rev2/keymaps/led_test/config.h b/keyboards/helix/rev2/keymaps/led_test/config.h deleted file mode 100644 index e2bdf2f329..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/config.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako <[email protected]> -Copyright 2015 Jack Humbert - -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 CONFIG_USER_H -#define CONFIG_USER_H - -// place overrides here - -// If you need more program area, try select and reduce rgblight modes to use. - -// Selection of RGBLIGHT MODE to use. -#if defined(LED_ANIMATIONS) - //#define RGBLIGHT_EFFECT_BREATHING - //#define RGBLIGHT_EFFECT_RAINBOW_MOOD - //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - //#define RGBLIGHT_EFFECT_KNIGHT - //#define RGBLIGHT_EFFECT_CHRISTMAS - //#define RGBLIGHT_EFFECT_STATIC_GRADIENT - #define RGBLIGHT_EFFECT_RGB_TEST // led_test keymap need only this. - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif - -#endif /* CONFIG_USER_H */ diff --git a/keyboards/helix/rev2/keymaps/led_test/keymap.c b/keyboards/helix/rev2/keymaps/led_test/keymap.c deleted file mode 100644 index a48a855e02..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/keymap.c +++ /dev/null @@ -1,341 +0,0 @@ -/* Copyright 2020 yushakobo - * - * 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 QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _QWERTY = 0, - _COLEMAK, - _DVORAK, - _LOWER, - _RAISE, - _ADJUST -}; - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - COLEMAK, - DVORAK, - LOWER, - RAISE, - ADJUST, - BACKLIT, - EISU, - KANA, - RGBRST -}; - -enum macro_keycodes { - KC_SAMPLEMACRO, -}; - -//Macros -#define M_SAMPLE M(KC_SAMPLEMACRO) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Qwerty - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | [ | ] | N | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_QWERTY] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Colemak - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | [ | ] | K | M | , | . | / |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_COLEMAK] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Dvorak - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | O | E | U | I | | D | H | T | N | S | / | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Shift| ; | Q | J | K | X | [ | ] | B | M | W | V | Z |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * |Adjust| Esc | Alt | GUI | EISU |Lower |Space |Space |Raise | KANA | Left | Down | Up |Right | - * `-------------------------------------------------------------------------------------------------' - */ - [_DVORAK] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, - KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LBRC, KC_RBRC, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT , - ADJUST, KC_ESC, KC_LALT, KC_LGUI, EISU, LOWER, KC_SPC, KC_SPC, RAISE, KANA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT - ), - - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | F7 | F8 | F9 | F10 | F11 | ( | ) | F12 | | | Home | End | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ - [_LOWER] = LAYOUT( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_LPRN, KC_RPRN, KC_F12, _______, _______, KC_HOME, KC_END, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Raise - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | CAPS | F7 | F8 | F9 | F10 | F11 | | | F12 | | |PageDn|PageUp| | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | Next | Vol- | Vol+ | Play | - * `-------------------------------------------------------------------------------------------------' - */ - [_RAISE] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, - KC_CAPS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - ), - - /* Adjust (Lower + Raise) - * ,-----------------------------------------. ,-----------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | Reset|RGBRST| | | | | | | | | | Del | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | |RGB ON| HUE+ | SAT+ | VAL+ | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | MODE | HUE- | SAT- | VAL- | - * `-------------------------------------------------------------------------------------------------' - */ - [_ADJUST] = LAYOUT( - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - _______, QK_BOOT, RGBRST, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, - _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD - ) -}; - -#ifdef AUDIO_ENABLE - -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_dvorak[][2] = SONG(DVORAK_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -float tone_plover[][2] = SONG(PLOVER_SOUND); -float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); -#endif - -// define variables for reactive RGB -bool TOG_STATUS = false; -int RGB_current_mode; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGB_current_mode); - #endif - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); - #endif - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_colemak); - #endif - set_single_persistent_default_layer(_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_dvorak); - #endif - set_single_persistent_default_layer(_DVORAK); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGBLIGHT_MODE_SNAKE + 1); - #endif - } - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change - #endif - TOG_STATUS = false; - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - //not sure how to have keyboard check mode and set it to a variable, so my work around - //uses another variable that would be set to true after the first time a reactive key is pressed. - if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false - } else { - TOG_STATUS = !TOG_STATUS; - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGBLIGHT_MODE_SNAKE); - #endif - } - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - #ifdef RGBLIGHT_ENABLE - //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change - #endif - layer_off(_RAISE); - TOG_STATUS = false; - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released - case QK_UNDERGLOW_MODE_NEXT: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - return false; - break; - case EISU: - if (record->event.pressed) { - if (is_mac_mode()) { - register_code(KC_LNG2); - } else { - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG2); - } - return false; - break; - case KANA: - if (record->event.pressed) { - if (is_mac_mode()) { - register_code(KC_LNG1); - } else { - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LNG1); - } - return false; - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_get_mode(); - } - #endif - break; - } - return true; -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_get_mode(); - #endif -} diff --git a/keyboards/helix/rev2/keymaps/led_test/led_test_init.c b/keyboards/helix/rev2/keymaps/led_test/led_test_init.c deleted file mode 100644 index 7f8813acdd..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/led_test_init.c +++ /dev/null @@ -1,6 +0,0 @@ -#include QMK_KEYBOARD_H - -void keyboard_post_init_user(void) { - rgblight_enable_noeeprom(); - rgblight_mode_noeeprom(RGBLIGHT_MODE_RGB_TEST); -} diff --git a/keyboards/helix/rev2/keymaps/led_test/oled_display.c b/keyboards/helix/rev2/keymaps/led_test/oled_display.c deleted file mode 100644 index 3261b6c581..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/oled_display.c +++ /dev/null @@ -1 +0,0 @@ -#include "../default/oled_display.c" diff --git a/keyboards/helix/rev2/keymaps/led_test/rules.mk b/keyboards/helix/rev2/keymaps/led_test/rules.mk deleted file mode 100644 index 5aa9439f4c..0000000000 --- a/keyboards/helix/rev2/keymaps/led_test/rules.mk +++ /dev/null @@ -1,25 +0,0 @@ -# QMK Standard Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -# See TOP/keyboards/helix/rules.mk for a list of options that can be set. -# See TOP/docs/config_options.md for more information. -# - -LTO_ENABLE = no # if firmware size over limit, try this option - -# Helix Spacific Build Options -# you can uncomment and edit follows 7 Variables -# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 -OLED_ENABLE = yes # OLED_ENABLE -# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" -LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) -LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -LED_ANIMATIONS = yes # LED animations -# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) - -OLED_SELECT = core -ifeq ($(strip $(OLED_ENABLE)), yes) - SRC += oled_display.c -endif -SRC += led_test_init.c diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk deleted file mode 100644 index 4bfee0411d..0000000000 --- a/keyboards/helix/rev2/local_features.mk +++ /dev/null @@ -1,90 +0,0 @@ -# -# local_features.mk contains post-processing rules for the Helix keyboard. -# -# Post-processing rules convert keyboard-specific shortcuts (that represent -# combinations of standard options) into QMK standard options. -# - -KEYBOARD_LOCAL_FEATURES_MK := --include $(strip $(HELIX_TOP_DIR)/rev2/override_helix_options.mk) ## File dedicated to maintenance - -# Parse 'HELIX=xx,yy,zz' option -ifneq ($(strip $(HELIX)),) - # make HELIX=ios helix/pico:AKEYMAP - # make HELIX=no-ani helix/pico:AKEYMAP - # make HELIX=no-oled helix/pico:AKEYMAP - # make HELIX=ios,no-ani,no-oled helix/pico:AKEYMAP - define HELIX_OPTION_PARSE - # parce 'no-ani' 'ios' 'no-oled' - $(if $(SHOW_PARCE),$(info parse .$1.)) #debug - $(if $(HELIX_OVERRIDE_PARSE),$(call HELIX_OVERRIDE_PARSE,$1)) - - ifeq ($(strip $1),ios) - IOS_DEVICE_ENABLE = yes - endif - ifneq ($(filter na no_ani no-ani,$(strip $1)),) - LED_ANIMATIONS = no - endif - ifneq ($(filter nooled no-oled,$(strip $1)),) - OLED_ENABLE = no - endif - ifeq ($(strip $1),oled) - OLED_ENABLE = yes - endif - endef # end of HELIX_OPTION_PARSE - - COMMA=, - $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \ - $(call HELIX_OPTION_PARSE,$(A_OPTION_NAME)))) - - SHOW_HELIX_OPTIONS = yes -endif - -######## -# convert Helix-specific options (that represent combinations of standard options) -# into QMK standard options. - -ifeq ($(strip $(LED_BACK_ENABLE)), yes) - RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_BACK - ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes') - endif -else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes) - RGBLIGHT_ENABLE = yes -endif - -ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) - OPT_DEFS += -DIOS_DEVICE_ENABLE -endif - -ifeq ($(strip $(LED_ANIMATIONS)), yes) - OPT_DEFS += -DLED_ANIMATIONS -endif - -ifeq ($(strip $(OLED_ENABLE)), yes) - ifeq ($(strip $(LOCAL_GLCDFONT)), yes) - OPT_DEFS += -DOLED_FONT_H=\<helixfont.h\> - else - OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" - endif -endif - -ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) - $(info Helix Spacific Build Options) - $(info - OLED_ENABLE = $(OLED_ENABLE)) - $(info - LED_BACK_ENABLE = $(LED_BACK_ENABLE)) - $(info - LED_UNDERGLOW_ENABLE = $(LED_UNDERGLOW_ENABLE)) - $(info - LED_ANIMATIONS = $(LED_ANIMATIONS)) - $(info - IOS_DEVICE_ENABLE = $(IOS_DEVICE_ENABLE)) - $(info ) - $(info QMK Build Options) - $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) - $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) - $(info -- OLED_DRIVER = $(OLED_DRIVER)) - $(info -- OLED_LOCAL_ENABLE = $(OLED_LOCAL_ENABLE)) - $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE)) - $(info -- OPT_DEFS = $(OPT_DEFS)) - $(info -- LTO_ENABLE = $(LTO_ENABLE)) - $(info ) -endif diff --git a/keyboards/helix/rev2/override_helix_options.mk-maintenance b/keyboards/helix/rev2/override_helix_options.mk-maintenance deleted file mode 100644 index 56dee8ce78..0000000000 --- a/keyboards/helix/rev2/override_helix_options.mk-maintenance +++ /dev/null @@ -1,46 +0,0 @@ -ifneq ($(strip $(HELIX)),) - $(info -------------------------) - $(info override_helix_options.mk) - $(info -------------------------) -endif - -define HELIX_OVERRIDE_PARSE - ifeq ($(strip $1),back) - LED_BACK_ENABLE = yes - LED_UNDERGLOW_ENABLE = no - endif - ifeq ($(strip $1),under) - LED_BACK_ENABLE = no - LED_UNDERGLOW_ENABLE = yes - endif - ifneq ($(filter led-off led_off noback no-back nounder no-under,$(strip $1)),) - LED_BACK_ENABLE = no - LED_UNDERGLOW_ENABLE = no - endif - ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),) - OLED_ENABLE = yes - OLED_SELECT = core - endif - ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),) - OLED_ENABLE = yes - OLED_SELECT = local - endif - ifneq ($(filter sc split-common split_common,$(strip $1)),) - SPLIT_KEYBOARD = yes - endif - ifneq ($(filter nosc no-sc no-split-common no-split_common,$(strip $1)),) - SPLIT_KEYBOARD = no - endif - ifeq ($(strip $1),scan) - DEBUG_MATRIX_SCAN_RATE_ENABLE = yes - endif - ifeq ($(strip $1),scan-api) - DEBUG_MATRIX_SCAN_RATE_ENABLE = api - endif - ifeq ($(strip $1),lto) - LTO_ENABLE = yes - endif - ifneq ($(filter nolto no-lto no_lto,$(strip $1)),) - LTO_ENABLE = no - endif -endef # end of HELIX_OVERRIDE_PARSE diff --git a/keyboards/helix/rev2/post_config.h b/keyboards/helix/rev2/post_config.h deleted file mode 100644 index dda73d5d22..0000000000 --- a/keyboards/helix/rev2/post_config.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -#if defined(SPLIT_KEYBOARD) /* if use split_common */ -# if defined(RGBLIGHT_ENABLE) && !defined(RGBLIGHT_SPLIT) -# define RGBLIGHT_SPLIT /* helix hardware need this */ -# endif -#endif diff --git a/keyboards/helix/rev2/post_rules.mk b/keyboards/helix/rev2/post_rules.mk deleted file mode 100644 index 4c671d4515..0000000000 --- a/keyboards/helix/rev2/post_rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -ifneq ($(strip $(KEYBOARD_LOCAL_FEATURES_MK)),) - include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) -endif diff --git a/keyboards/helix/rev2/qmk_conf/keyboard.json b/keyboards/helix/rev2/qmk_conf/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/qmk_conf/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/qmk_conf/rules.mk b/keyboards/helix/rev2/qmk_conf/rules.mk deleted file mode 100644 index 67caab1ce6..0000000000 --- a/keyboards/helix/rev2/qmk_conf/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) -LED_ANIMATIONS = yes # LED animations - -include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) diff --git a/keyboards/helix/rev2/readme.md b/keyboards/helix/rev2/readme.md deleted file mode 100644 index e6a6f2e952..0000000000 --- a/keyboards/helix/rev2/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Helix rev2 - -A compact split ortholinear keyboard. - -* Keyboard Maintainer: [yushakobo](https://github.com/yushakobo) -* Hardware Supported: Helix rev2 PCBs, Pro Micro -* Hardware Availability: [PCB & Case Data](https://github.com/MakotoKurauchi/helix) - -Make example for this keyboard (after setting up your build environment): - - make helix/rev2: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). diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c deleted file mode 100644 index 7502ad0552..0000000000 --- a/keyboards/helix/rev2/rev2.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright 2018 MakotoKurauchi - * - * 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 "rev2.h" - -// Each keymap.c should use is_keyboard_master() instead of 'is_master'. -// But keep 'is_master' for a while for backwards compatibility -// for the old keymap.c. -uint8_t is_master = false; - -bool is_mac_mode(void) { - // This is the opposite of the QMK standard, but we'll leave it for backwards compatibility. - return keymap_config.swap_lalt_lgui == false; -} - -void set_mac_mode_kb(bool macmode) { - /* The result is the same as pressing the AG_NORM(=MAGIC_UNSWAP_ALT_GUI)/AG_SWAP(=MAGIC_SWAP_ALT_GUI) keys. - * see - * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L123-L124 - * https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81 - */ - keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode; - eeconfig_update_keymap(&keymap_config); -} - -void matrix_init_kb(void) { - // Each keymap.c should use is_keyboard_master() instead of is_master. - // But keep is_master for a while for backwards compatibility - // for the old keymap.c. - is_master = is_keyboard_master(); - - matrix_init_user(); -}; - -void keyboard_post_init_kb(void) { -#if defined(DEBUG_MATRIX_SCAN_RATE) - debug_enable = true; -#endif - keyboard_post_init_user(); -} - -#ifdef OLED_ENABLE -void render_helix_logo(void) { - static const char helix_logo[] PROGMEM ={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - oled_write_P(helix_logo, false); -} - -bool oled_task_kb(void) { - if (oled_task_user()) { - /* keymap/user level oled_task_user() dose not exist */ - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false); - oled_advance_page(true); - render_helix_logo(); - } - return false; -} -#endif /* end of OLED_ENABLE */ diff --git a/keyboards/helix/rev2/rev2.h b/keyboards/helix/rev2/rev2.h deleted file mode 100644 index dad08c267e..0000000000 --- a/keyboards/helix/rev2/rev2.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2018 MakotoKurauchi - * - * 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" - -bool is_mac_mode(void); -void set_mac_mode_kb(bool macmode); - -#ifdef OLED_ENABLE -void render_helix_logo(void); -#endif - -#ifndef SPLIT_KEYBOARD - extern bool is_helix_master(void); - #define is_keyboard_master() is_helix_master() -#endif - -// Each keymap.c should use is_keyboard_master() instead of 'is_master', 'has_usb()'. -// But keep 'is_master' for a while for backwards compatibility -// for the old keymap.c. -extern uint8_t is_master; // 'is_master' will be obsolete, it is recommended to use 'is_keyboard_master ()' instead. -#define has_usb() is_keyboard_master() diff --git a/keyboards/helix/rev2/rules.mk b/keyboards/helix/rev2/rules.mk deleted file mode 100644 index e827ae111f..0000000000 --- a/keyboards/helix/rev2/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk - -# Helix Spacific Build Options default values -OLED_ENABLE = yes # OLED_ENABLE -LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" -LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) -LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -LED_ANIMATIONS = yes # LED animations -IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) diff --git a/keyboards/helix/rev2/sc/keyboard.json b/keyboards/helix/rev2/sc/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/sc/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/sc/rules.mk b/keyboards/helix/rev2/sc/rules.mk deleted file mode 100644 index 066fffb74a..0000000000 --- a/keyboards/helix/rev2/sc/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_BACK_ENABLE = yes diff --git a/keyboards/helix/rev2/serial_config_simpleapi.h b/keyboards/helix/rev2/serial_config_simpleapi.h deleted file mode 100644 index b51e6f281b..0000000000 --- a/keyboards/helix/rev2/serial_config_simpleapi.h +++ /dev/null @@ -1,4 +0,0 @@ -#pragma once - -#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 diff --git a/keyboards/helix/rev2/under/keyboard.json b/keyboards/helix/rev2/under/keyboard.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/keyboards/helix/rev2/under/keyboard.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/keyboards/helix/rev2/under/rules.mk b/keyboards/helix/rev2/under/rules.mk deleted file mode 100644 index a37aa6fab3..0000000000 --- a/keyboards/helix/rev2/under/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_UNDERGLOW_ENABLE = yes 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. -========================================================= - - - -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  -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  -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/snappypad/v1_3x4/config.h b/keyboards/snappypad/v1_3x4/config.h new file mode 100644 index 0000000000..040470b933 --- /dev/null +++ b/keyboards/snappypad/v1_3x4/config.h @@ -0,0 +1,5 @@ +// Copyright 2025 Snappy Key <[email protected]> +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define MATRIX_MASKED diff --git a/keyboards/snappypad/v1_3x4/keyboard.json b/keyboards/snappypad/v1_3x4/keyboard.json new file mode 100644 index 0000000000..26a3384a6f --- /dev/null +++ b/keyboards/snappypad/v1_3x4/keyboard.json @@ -0,0 +1,48 @@ +{ + "manufacturer": "Snappy Key", + "keyboard_name": "Snappy Pad v1", + "maintainer": "snappykey", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5"} + ] + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "encoder": true + }, + "matrix_pins": { + "cols": ["E6", "B4", "D7", "C6", "B6", "F6"], + "rows": ["D4", "D0", "D1"] + }, + "url": "snappykey.eu", + "usb": { + "device_version": "1.0.0", + "pid": "0x1451", + "vid": "0x16D0" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 4], "x": 0, "y": 0}, + {"matrix": [0, 5], "x": 3, "y": 0}, + {"matrix": [0, 0], "x": 0, "y": 1}, + {"matrix": [0, 1], "x": 1, "y": 1}, + {"matrix": [0, 2], "x": 2, "y": 1}, + {"matrix": [0, 3], "x": 3, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 3}, + {"matrix": [2, 1], "x": 1, "y": 3}, + {"matrix": [2, 2], "x": 2, "y": 3}, + {"matrix": [2, 3], "x": 3, "y": 3} + ] + } + } +} diff --git a/keyboards/snappypad/v1_3x4/keymaps/default/keymap.c b/keyboards/snappypad/v1_3x4/keymaps/default/keymap.c new file mode 100644 index 0000000000..8ebd851e77 --- /dev/null +++ b/keyboards/snappypad/v1_3x4/keymaps/default/keymap.c @@ -0,0 +1,65 @@ +// Copyright 2025 Snappy Key <[email protected]> +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + TO(1), KC_MPLY, + KC_F13, KC_F14, KC_F15, KC_F16, + KC_F17, KC_F18, KC_F19, KC_F20, + KC_F21, KC_F22, KC_F23, KC_F24 + ), + [1] = LAYOUT( + TO(2), KC_TRNS, + LSFT(KC_F13), LSFT(KC_F14), LSFT(KC_F15), LSFT(KC_F16), + LSFT(KC_F17), LSFT(KC_F18), LSFT(KC_F19), LSFT(KC_F20), + LSFT(KC_F21), LSFT(KC_F22), LSFT(KC_F23), LSFT(KC_F24) + ), + [2] = LAYOUT( + TO(3), KC_TRNS, + LCTL(KC_F13), LCTL(KC_F14), LCTL(KC_F15), LCTL(KC_F16), + LCTL(KC_F17), LCTL(KC_F18), LCTL(KC_F19), LCTL(KC_F20), + LCTL(KC_F21), LCTL(KC_F22), LCTL(KC_F23), LCTL(KC_F24) + ), + [3] = LAYOUT( + TO(0), KC_TRNS, + LALT(KC_F13), LALT(KC_F14), LALT(KC_F15), LALT(KC_F16), + LALT(KC_F17), LALT(KC_F18), LALT(KC_F19), LALT(KC_F20), + LALT(KC_F21), LALT(KC_F22), LALT(KC_F23), LALT(KC_F24) + ) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case 0: + gpio_write_pin_low(F7); + gpio_write_pin_low(B2); + gpio_write_pin_low(B5); + break; + case 1: + gpio_write_pin_high(F7); + gpio_write_pin_low(B2); + gpio_write_pin_low(B5); + break; + case 2: + gpio_write_pin_high(F7); + gpio_write_pin_high(B2); + gpio_write_pin_low(B5); + break; + case 3: + gpio_write_pin_high(F7); + gpio_write_pin_high(B2); + gpio_write_pin_high(B5); + break; + } + return state; +} + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) } +}; +#endif diff --git a/keyboards/snappypad/v1_3x4/readme.md b/keyboards/snappypad/v1_3x4/readme.md new file mode 100644 index 0000000000..8e69dc58b2 --- /dev/null +++ b/keyboards/snappypad/v1_3x4/readme.md @@ -0,0 +1,27 @@ +# Snappy Pad v.1 + + + +Reliable macro pad for all use cases + +* Keyboard Maintainer: [SnappyKey](https://github.com/snappykey) +* Hardware Supported: pcb, cad files +* Hardware Availability: Will be open sourced later + +Make example for this keyboard (after setting up your build environment): + + make snappypad/v1_3x4:default + +Flashing example for this keyboard: + + make snappypad/v1_3x4: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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/snappypad/v1_3x4/v1_3x4.c b/keyboards/snappypad/v1_3x4/v1_3x4.c new file mode 100644 index 0000000000..e2a62773e8 --- /dev/null +++ b/keyboards/snappypad/v1_3x4/v1_3x4.c @@ -0,0 +1,11 @@ +// Copyright 2025 Snappy Key <[email protected]> +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +void keyboard_post_init_kb(void) { + gpio_set_pin_output(F7); + gpio_set_pin_output(B2); + gpio_set_pin_output(B5); + + keyboard_post_init_user(); +} 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 a2a86e175c..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)) @@ -128,6 +122,41 @@ #define OSM(mod) (QK_ONE_SHOT_MOD | ((mod)&0x1F)) #define QK_ONE_SHOT_MOD_GET_MODS(kc) ((kc)&0x1F) +#define OS_LCTL OSM(MOD_LCTL) +#define OS_LSFT OSM(MOD_LSFT) +#define OS_LALT OSM(MOD_LALT) +#define OS_LGUI OSM(MOD_LGUI) + +#define OS_LCS OSM(MOD_LCTL | MOD_LSFT) +#define OS_LCA OSM(MOD_LCTL | MOD_LALT) +#define OS_LCG OSM(MOD_LCTL | MOD_LGUI) +#define OS_LSA OSM(MOD_LSFT | MOD_LALT) +#define OS_LSG OSM(MOD_LSFT | MOD_LGUI) +#define OS_LAG OSM(MOD_LALT | MOD_LGUI) + +#define OS_LCSG OSM(MOD_LCTL | MOD_LSFT | MOD_LGUI) +#define OS_LCAG OSM(MOD_LCTL | MOD_LALT | MOD_LGUI) +#define OS_LSAG OSM(MOD_LSFT | MOD_LALT | MOD_LGUI) + +#define OS_RCTL OSM(MOD_RCTL) +#define OS_RSFT OSM(MOD_RSFT) +#define OS_RALT OSM(MOD_RALT) +#define OS_RGUI OSM(MOD_RGUI) + +#define OS_RCS OSM(MOD_RCTL | MOD_RSFT) +#define OS_RCA OSM(MOD_RCTL | MOD_RALT) +#define OS_RCG OSM(MOD_RCTL | MOD_RGUI) +#define OS_RSA OSM(MOD_RSFT | MOD_RALT) +#define OS_RSG OSM(MOD_RSFT | MOD_RGUI) +#define OS_RAG OSM(MOD_RALT | MOD_RGUI) + +#define OS_RCSG OSM(MOD_RCTL | MOD_RSFT | MOD_RGUI) +#define OS_RCAG OSM(MOD_RCTL | MOD_RALT | MOD_RGUI) +#define OS_RSAG OSM(MOD_RSFT | MOD_RALT | MOD_RGUI) + +#define OS_MEH OSM(MOD_LCTL | MOD_LSFT | MOD_LALT) +#define OS_HYPR OSM(MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI) + // Layer tap-toggle - 32 layer max #define TT(layer) (QK_LAYER_TAP_TOGGLE | ((layer)&0x1F)) #define QK_LAYER_TAP_TOGGLE_GET_LAYER(kc) ((kc)&0x1F) @@ -171,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) @@ -195,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) |