diff --git a/docs/config_options.md b/docs/config_options.md
index f5c2e76e7e9..5e2de6d0486 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -87,7 +87,7 @@ This is a C header file that is one of the first things included, and will persi
* mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
* `#define LOCKING_RESYNC_ENABLE`
* tries to keep switch state consistent with keyboard LED state
-* `#define IS_COMMAND() ( keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) )`
+* `#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))`
* key combination that allows the use of magic commands (useful for debugging)
* `#define USB_MAX_POWER_CONSUMPTION`
* sets the maximum power (in mA) over USB for the device (default: 500)
diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md
index 98c7f845179..37a3d43fc39 100644
--- a/docs/feature_advanced_keycodes.md
+++ b/docs/feature_advanced_keycodes.md
@@ -60,21 +60,21 @@ Sometimes, you might want to switch between layers in a macro or as part of a ta
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)`| |Hold Left Control and press `kc` |
-|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
-|`LALT(kc)`| |Hold Left Alt and press `kc` |
-|`LGUI(kc)`|`LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
-|`RCTL(kc)`| |Hold Right Control and press `kc` |
-|`RSFT(kc)`| |Hold Right Shift and press `kc` |
-|`RALT(kc)`|`ALGR(kc)` |Hold Right Alt and press `kc` |
-|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`|Hold Right GUI and press `kc` |
-|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
-|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
-|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
-|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
-|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
+|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)` |Hold Left Alt and press `kc` |
+|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
+|`RCTL(kc)`| |Hold Right Control and press `kc` |
+|`RSFT(kc)`| |Hold Right Shift and press `kc` |
+|`RALT(kc)`|`ALGR(kc)` |Hold Right Alt and press `kc` |
+|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
+|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
+|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
+|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
+|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
+|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
You can also chain them, for example `LCTL(LALT(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress.
@@ -110,20 +110,20 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations
|Key |Aliases |Description |
|------------|-----------------------------------------------------------------|-------------------------------------------------------|
|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
-|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
-|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
-|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|`LGUI_T(kc)`|`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped |
+|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
+|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
+|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
-|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
-|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
-|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
-|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
-|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
+|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
+|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
+|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
+|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
+|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
## Caveats
diff --git a/docs/feature_command.md b/docs/feature_command.md
index ca2ecce0dac..53a140a1168 100644
--- a/docs/feature_command.md
+++ b/docs/feature_command.md
@@ -16,35 +16,35 @@ To use Command, hold down the key combination defined by the `IS_COMMAND()` macr
If you would like to change the key assignments for Command, `#define` these in your `config.h` at either the keyboard or keymap level. All keycode assignments here must omit the `KC_` prefix.
-|Define |Default |Description |
-|------------------------------------|--------------------------------------------------------------------------------------|------------------------------------------------|
-|`IS_COMMAND()` |(keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))|The key combination to activate Command |
-|`MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` |`true` |Set default layer with the Function row |
-|`MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` |`true` |Set default layer with the number keys |
-|`MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM`|`false` |Set default layer with `MAGIC_KEY_LAYER0..9` |
-|`MAGIC_KEY_DEBUG` |`D` |Toggle debugging over serial |
-|`MAGIC_KEY_DEBUG_MATRIX` |`X` |Toggle key matrix debugging |
-|`MAGIC_KEY_DEBUG_KBD` |`K` |Toggle keyboard debugging |
-|`MAGIC_KEY_DEBUG_MOUSE` |`M` |Toggle mouse debugging |
-|`MAGIC_KEY_CONSOLE` |`C` |Enable the Command console |
-|`MAGIC_KEY_VERSION` |`V` |Print the running QMK version to the console |
-|`MAGIC_KEY_STATUS` |`S` |Print the current keyboard status to the console|
-|`MAGIC_KEY_HELP1` |`H` |Print Command help to the console |
-|`MAGIC_KEY_HELP2` |`SLASH` |Print Command help to the console (alternate) |
-|`MAGIC_KEY_LAYER0` |`0` |Make layer 0 the default layer |
-|`MAGIC_KEY_LAYER1` |`1` |Make layer 1 the default layer |
-|`MAGIC_KEY_LAYER2` |`2` |Make layer 2 the default layer |
-|`MAGIC_KEY_LAYER3` |`3` |Make layer 3 the default layer |
-|`MAGIC_KEY_LAYER4` |`4` |Make layer 4 the default layer |
-|`MAGIC_KEY_LAYER5` |`5` |Make layer 5 the default layer |
-|`MAGIC_KEY_LAYER6` |`6` |Make layer 6 the default layer |
-|`MAGIC_KEY_LAYER7` |`7` |Make layer 7 the default layer |
-|`MAGIC_KEY_LAYER8` |`8` |Make layer 8 the default layer |
-|`MAGIC_KEY_LAYER9` |`9` |Make layer 9 the default layer |
-|`MAGIC_KEY_LAYER0_ALT1` |`ESC` |Make layer 0 the default layer (alternate) |
-|`MAGIC_KEY_LAYER0_ALT2` |`GRAVE` |Make layer 0 the default layer (alternate) |
-|`MAGIC_KEY_BOOTLOADER` |`PAUSE` |Enter the bootloader |
-|`MAGIC_KEY_LOCK` |`CAPS` |Lock the keyboard so nothing can be typed |
-|`MAGIC_KEY_EEPROM` |`E` |Clear the EEPROM |
-|`MAGIC_KEY_NKRO` |`N` |Toggle N-Key Rollover (NKRO) |
-|`MAGIC_KEY_SLEEP_LED` |`Z` |Toggle LED when computer is sleeping |
+|Define |Default |Description |
+|------------------------------------|---------------------------------------------------------------------------|------------------------------------------------|
+|`IS_COMMAND()` |(get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))|The key combination to activate Command |
+|`MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` |`true` |Set default layer with the Function row |
+|`MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` |`true` |Set default layer with the number keys |
+|`MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM`|`false` |Set default layer with `MAGIC_KEY_LAYER0..9` |
+|`MAGIC_KEY_DEBUG` |`D` |Toggle debugging over serial |
+|`MAGIC_KEY_DEBUG_MATRIX` |`X` |Toggle key matrix debugging |
+|`MAGIC_KEY_DEBUG_KBD` |`K` |Toggle keyboard debugging |
+|`MAGIC_KEY_DEBUG_MOUSE` |`M` |Toggle mouse debugging |
+|`MAGIC_KEY_CONSOLE` |`C` |Enable the Command console |
+|`MAGIC_KEY_VERSION` |`V` |Print the running QMK version to the console |
+|`MAGIC_KEY_STATUS` |`S` |Print the current keyboard status to the console|
+|`MAGIC_KEY_HELP1` |`H` |Print Command help to the console |
+|`MAGIC_KEY_HELP2` |`SLASH` |Print Command help to the console (alternate) |
+|`MAGIC_KEY_LAYER0` |`0` |Make layer 0 the default layer |
+|`MAGIC_KEY_LAYER1` |`1` |Make layer 1 the default layer |
+|`MAGIC_KEY_LAYER2` |`2` |Make layer 2 the default layer |
+|`MAGIC_KEY_LAYER3` |`3` |Make layer 3 the default layer |
+|`MAGIC_KEY_LAYER4` |`4` |Make layer 4 the default layer |
+|`MAGIC_KEY_LAYER5` |`5` |Make layer 5 the default layer |
+|`MAGIC_KEY_LAYER6` |`6` |Make layer 6 the default layer |
+|`MAGIC_KEY_LAYER7` |`7` |Make layer 7 the default layer |
+|`MAGIC_KEY_LAYER8` |`8` |Make layer 8 the default layer |
+|`MAGIC_KEY_LAYER9` |`9` |Make layer 9 the default layer |
+|`MAGIC_KEY_LAYER0_ALT1` |`ESC` |Make layer 0 the default layer (alternate) |
+|`MAGIC_KEY_LAYER0_ALT2` |`GRAVE` |Make layer 0 the default layer (alternate) |
+|`MAGIC_KEY_BOOTLOADER` |`PAUSE` |Enter the bootloader |
+|`MAGIC_KEY_LOCK` |`CAPS` |Lock the keyboard so nothing can be typed |
+|`MAGIC_KEY_EEPROM` |`E` |Clear the EEPROM |
+|`MAGIC_KEY_NKRO` |`N` |Toggle N-Key Rollover (NKRO) |
+|`MAGIC_KEY_SLEEP_LED` |`Z` |Toggle LED when computer is sleeping |
diff --git a/docs/isp_flashing_guide.md b/docs/isp_flashing_guide.md
index 008f944cc3a..18f2147846b 100644
--- a/docs/isp_flashing_guide.md
+++ b/docs/isp_flashing_guide.md
@@ -53,7 +53,7 @@ This is pretty straight-forward - we'll be connecting like-things to like-things
The only difference between the .hex files below is which pin is connected to RESET. You can use them on other boards as well, as long as you're aware of the pins being used. If for some reason neither of these pins are available, [create an issue](https://github.com/qmk/qmk_firmware/issues/new), and we can generate one for you!
* Teensy 2.0: [`util/teensy_2.0_ISP_B0.hex`](https://github.com/qmk/qmk_firmware/blob/master/util/teensy_2.0_ISP_B0.hex) (`B0`)
-* Pro Micro: [`util/pro_micro_ISP_B6_10.hex`](https://github.com/qmk/qmk_firmware/blob/master/util/pro_mico_ISP_B6_10.hex) (`B6/10`)
+* Pro Micro: [`util/pro_micro_ISP_B6_10.hex`](https://github.com/qmk/qmk_firmware/blob/master/util/pro_micro_ISP_B6_10.hex) (`B6/10`)
**Flash your Teenys/Pro Micro with one of these and continue - you won't need the file after flashing your ISP device.**
diff --git a/docs/keycodes.md b/docs/keycodes.md
index 165c3c4d169..91578414d19 100644
--- a/docs/keycodes.md
+++ b/docs/keycodes.md
@@ -290,7 +290,7 @@ This is a reference only. Each group of keys links to the page documenting their
|`DF(layer)` |Set the base (default) layer |
|`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](https://docs.qmk.fm/#/feature_advanced_keycodes?id=one-shot-keys) for details. |
-|`LM(layer, mod)`|Momentarily turn on `layer` (like MO) with `mod` active as well.
+|`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](https://docs.qmk.fm/#/feature_advanced_keycodes?id=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 |
|`TO(layer)` |Turn on `layer` when pressed |
@@ -319,43 +319,43 @@ This is a reference only. Each group of keys links to the page documenting their
## [Modifiers](feature_advanced_keycodes.md#modifier-keys)
-|Key |Aliases |Description |
-|----------|----------------------|----------------------------------------------------|
-|`KC_HYPR` | |Hold Left Control, Shift, Alt and GUI |
-|`KC_MEH` | |Hold Left Control, Shift and Alt |
-|`LCTL(kc)`| |Hold Left Control and press `kc` |
-|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
-|`LALT(kc)`| |Hold Left Alt and press `kc` |
-|`LGUI(kc)`|`LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
-|`RCTL(kc)`| |Hold Right Control and press `kc` |
-|`RSFT(kc)`| |Hold Right Shift and press `kc` |
-|`RALT(kc)`|`ALGR(kc)` |Hold Right Alt and press `kc` |
-|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`|Hold Right GUI and press `kc` |
-|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
-|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
-|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
-|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
-|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
+|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)` |Hold Left Alt and press `kc` |
+|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
+|`RCTL(kc)`| |Hold Right Control and press `kc` |
+|`RSFT(kc)`| |Hold Right Shift and press `kc` |
+|`RALT(kc)`|`ALGR(kc)` |Hold Right Alt and press `kc` |
+|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
+|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
+|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
+|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
+|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
+|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
+|`KC_MEH` | |Left Control, Shift and Alt |
+|`KC_HYPR` | |Left Control, Shift, Alt and GUI |
## [Mod-Tap Keys](feature_advanced_keycodes.md#mod-tap)
|Key |Aliases |Description |
|------------|-----------------------------------------------------------------|-------------------------------------------------------|
|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
-|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
-|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
-|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|`LGUI_T(kc)`|`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped |
+|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
+|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
+|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
-|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
-|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
-|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
-|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
-|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
+|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
+|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
+|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
+|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
+|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
## [RGB Lighting](feature_rgblight.md)
diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h
index c3682de43ee..420d0a02589 100644
--- a/keyboards/1upkeyboards/1up60hse/config.h
+++ b/keyboards/1upkeyboards/1up60hse/config.h
@@ -112,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -221,4 +216,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/1upkeyboards/1up60rgb/config.h b/keyboards/1upkeyboards/1up60rgb/config.h
index ee49211b48f..86696dab845 100644
--- a/keyboards/1upkeyboards/1up60rgb/config.h
+++ b/keyboards/1upkeyboards/1up60rgb/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/1upkeyboards/sweet16/config.h b/keyboards/1upkeyboards/sweet16/config.h
index 20d99651da9..eedd3708f21 100644
--- a/keyboards/1upkeyboards/sweet16/config.h
+++ b/keyboards/1upkeyboards/sweet16/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN B1
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/30wer/config.h b/keyboards/30wer/config.h
index d497585246f..cf1bd72e563 100644
--- a/keyboards/30wer/config.h
+++ b/keyboards/30wer/config.h
@@ -22,10 +22,5 @@
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* prevent stuck modifiers */
#define PREVENT_STUCK_MODIFIERS
diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h
index 7fe59fcca09..338683ee7e7 100644
--- a/keyboards/40percentclub/25/config.h
+++ b/keyboards/40percentclub/25/config.h
@@ -121,11 +121,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/40percentclub/4x4/config.h b/keyboards/40percentclub/4x4/config.h
index e66e9433a9d..5dc780f0e7b 100644
--- a/keyboards/40percentclub/4x4/config.h
+++ b/keyboards/40percentclub/4x4/config.h
@@ -30,7 +30,6 @@
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B7, D6, F7, F6, F5, F4, F1, F0, B3, B1 }
#define UNUSED_PINS
-
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
@@ -38,7 +37,6 @@
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -90,11 +88,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -199,4 +192,3 @@
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/40percentclub/5x5/config.h b/keyboards/40percentclub/5x5/config.h
index bc609934e3e..bf521e71e91 100644
--- a/keyboards/40percentclub/5x5/config.h
+++ b/keyboards/40percentclub/5x5/config.h
@@ -97,11 +97,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h
index 940518f3656..6a96c4757dd 100644
--- a/keyboards/40percentclub/6lit/config.h
+++ b/keyboards/40percentclub/6lit/config.h
@@ -122,11 +122,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h
index 88075c45606..aba9f09ae47 100644
--- a/keyboards/40percentclub/foobar/config.h
+++ b/keyboards/40percentclub/foobar/config.h
@@ -122,11 +122,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/40percentclub/gherkin/config.h b/keyboards/40percentclub/gherkin/config.h
index 3ed638b66f7..d0c2be35be4 100644
--- a/keyboards/40percentclub/gherkin/config.h
+++ b/keyboards/40percentclub/gherkin/config.h
@@ -37,11 +37,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/40percentclub/i75/config.h b/keyboards/40percentclub/i75/config.h
index bc032ba4554..611ae62b3d0 100644
--- a/keyboards/40percentclub/i75/config.h
+++ b/keyboards/40percentclub/i75/config.h
@@ -77,11 +77,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/40percentclub/luddite/config.h b/keyboards/40percentclub/luddite/config.h
index 62ff72bb03d..5a6f2c799cb 100644
--- a/keyboards/40percentclub/luddite/config.h
+++ b/keyboards/40percentclub/luddite/config.h
@@ -34,11 +34,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN B4
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/40percentclub/mf68/config.h b/keyboards/40percentclub/mf68/config.h
index 22d987e52c0..857205c37d8 100644
--- a/keyboards/40percentclub/mf68/config.h
+++ b/keyboards/40percentclub/mf68/config.h
@@ -52,7 +52,6 @@ along with this program. If not, see .
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -99,11 +98,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/40percentclub/mf68_ble/config.h b/keyboards/40percentclub/mf68_ble/config.h
index e7edd77fe69..3d9bb360bf5 100644
--- a/keyboards/40percentclub/mf68_ble/config.h
+++ b/keyboards/40percentclub/mf68_ble/config.h
@@ -99,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h
index 9232344bfc7..f46ca426445 100644
--- a/keyboards/40percentclub/nori/config.h
+++ b/keyboards/40percentclub/nori/config.h
@@ -110,11 +110,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/40percentclub/tomato/config.h b/keyboards/40percentclub/tomato/config.h
index 05c83c30cdd..db90d8042b8 100644
--- a/keyboards/40percentclub/tomato/config.h
+++ b/keyboards/40percentclub/tomato/config.h
@@ -28,11 +28,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* eliminate lag on space cadet mods */
#define PERMISSIVE_HOLD
diff --git a/keyboards/40percentclub/ut47/config.h b/keyboards/40percentclub/ut47/config.h
index cd55e4d7324..4a221ca5272 100644
--- a/keyboards/40percentclub/ut47/config.h
+++ b/keyboards/40percentclub/ut47/config.h
@@ -53,11 +53,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Enable GNAP matrix serial output */
#define GNAP_ENABLE
diff --git a/keyboards/412_64/config.h b/keyboards/412_64/config.h
index 28d9763c313..948ae743abf 100644
--- a/keyboards/412_64/config.h
+++ b/keyboards/412_64/config.h
@@ -30,7 +30,6 @@
#define MATRIX_COL_PINS { B0, D2, D0, D1, D4, C6, D7, E6 }
#define UNUSED_PINS { B4, B5, B6, B7, C7, F0, F1 }
-
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
@@ -38,7 +37,6 @@
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -90,11 +88,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -199,4 +192,3 @@
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/acr60/config.h b/keyboards/acr60/config.h
index 3066f349de0..ab5a1932bc6 100644
--- a/keyboards/acr60/config.h
+++ b/keyboards/acr60/config.h
@@ -36,11 +36,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 20
diff --git a/keyboards/al1/config.h b/keyboards/al1/config.h
index f92ed44d3c1..3a3daf8673f 100644
--- a/keyboards/al1/config.h
+++ b/keyboards/al1/config.h
@@ -50,7 +50,6 @@ along with this program. If not, see .
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -102,11 +101,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/alf/dc60/config.h b/keyboards/alf/dc60/config.h
index f6e527119f8..c3e2ecb2e03 100644
--- a/keyboards/alf/dc60/config.h
+++ b/keyboards/alf/dc60/config.h
@@ -112,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -221,4 +216,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/alf/x2/config.h b/keyboards/alf/x2/config.h
index f2106fa88e1..21d919983ae 100644
--- a/keyboards/alf/x2/config.h
+++ b/keyboards/alf/x2/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/alice/config.h b/keyboards/alice/config.h
index 7a8cbb52f1e..34412a7e706 100644
--- a/keyboards/alice/config.h
+++ b/keyboards/alice/config.h
@@ -37,6 +37,3 @@ along with this program. If not, see .
#define NO_UART 1
#define BOOTLOADHID_BOOTLOADER 1
-
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
diff --git a/keyboards/alpha/config.h b/keyboards/alpha/config.h
index 1e16f5ca3c9..b177c8a4b55 100755
--- a/keyboards/alpha/config.h
+++ b/keyboards/alpha/config.h
@@ -38,12 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
#define RGB_DI_PIN F4
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/alps64/config.h b/keyboards/alps64/config.h
index 858a82ecdd9..74f8017add0 100644
--- a/keyboards/alps64/config.h
+++ b/keyboards/alps64/config.h
@@ -47,13 +47,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/alu84/config.h b/keyboards/alu84/config.h
index 9d2dca409c7..257c22e537a 100755
--- a/keyboards/alu84/config.h
+++ b/keyboards/alu84/config.h
@@ -54,11 +54,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLED_NUM 16
diff --git a/keyboards/alu84/keymaps/default/keymap.c b/keyboards/alu84/keymaps/default/keymap.c
index 10dbe273a79..8c08010705f 100755
--- a/keyboards/alu84/keymaps/default/keymap.c
+++ b/keyboards/alu84/keymaps/default/keymap.c
@@ -1,5 +1,4 @@
#include QMK_KEYBOARD_H
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
#define _BL 0
#define _FN1 1
@@ -108,37 +107,3 @@ void led_set_user(uint8_t usb_led) {
}
}
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
\ No newline at end of file
diff --git a/keyboards/amj40/config.h b/keyboards/amj40/config.h
index 41101112230..4d5e4889c28 100755
--- a/keyboards/amj40/config.h
+++ b/keyboards/amj40/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 4
diff --git a/keyboards/amj60/config.h b/keyboards/amj60/config.h
index 7c06f9a6c79..165f20cd408 100644
--- a/keyboards/amj60/config.h
+++ b/keyboards/amj60/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 4
diff --git a/keyboards/amj96/config.h b/keyboards/amj96/config.h
index 6c51a244365..2e49380ae67 100644
--- a/keyboards/amj96/config.h
+++ b/keyboards/amj96/config.h
@@ -114,11 +114,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/amjpad/config.h b/keyboards/amjpad/config.h
index 1a26d2ab6c4..f568d82f00f 100644
--- a/keyboards/amjpad/config.h
+++ b/keyboards/amjpad/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 4
diff --git a/keyboards/amjpad/keymaps/default/keymap.c b/keyboards/amjpad/keymaps/default/keymap.c
index 1ec81e6db81..01621d54f62 100644
--- a/keyboards/amjpad/keymaps/default/keymap.c
+++ b/keyboards/amjpad/keymaps/default/keymap.c
@@ -4,9 +4,6 @@
#include "rgblight.h"
#endif
-// Used for SHIFT_ESC
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
// 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
@@ -66,37 +63,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P0, LT(_FL,KC_PDOT), KC_PENT \
),
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/at101_blackheart/config.h b/keyboards/at101_blackheart/config.h
index 237cb095e66..af4be3d7146 100644
--- a/keyboards/at101_blackheart/config.h
+++ b/keyboards/at101_blackheart/config.h
@@ -33,8 +33,3 @@
/* force n-key rollover*/
#define FORCE_NKRO
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
diff --git a/keyboards/atom47/rev2/config.h b/keyboards/atom47/rev2/config.h
index df21130d36b..7a044620bfe 100644
--- a/keyboards/atom47/rev2/config.h
+++ b/keyboards/atom47/rev2/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 4
diff --git a/keyboards/atom47/rev3/config.h b/keyboards/atom47/rev3/config.h
index b94dc9773b7..e14800b0f89 100644
--- a/keyboards/atom47/rev3/config.h
+++ b/keyboards/atom47/rev3/config.h
@@ -49,12 +49,6 @@ along with this program. If not, see .
/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 5
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 4
diff --git a/keyboards/atomic/config.h b/keyboards/atomic/config.h
index 9c40f54e78d..8af23ffeb19 100644
--- a/keyboards/atomic/config.h
+++ b/keyboards/atomic/config.h
@@ -98,11 +98,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/atomic/keymaps/pvc/config.h b/keyboards/atomic/keymaps/pvc/config.h
index e63a7340c70..50afa768848 100644
--- a/keyboards/atomic/keymaps/pvc/config.h
+++ b/keyboards/atomic/keymaps/pvc/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// Enable Keyboard Locking via magic key
#define KEYBOARD_LOCK_ENABLE
-
/*
* Force NKRO
*
@@ -87,11 +86,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -153,7 +147,6 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
//#define VIBRATO_ENABLE
//#define VIBRATO_STRENGTH_ENABLE
diff --git a/keyboards/atreus/config.h b/keyboards/atreus/config.h
index f8808892c31..18c66c4e2a0 100644
--- a/keyboards/atreus/config.h
+++ b/keyboards/atreus/config.h
@@ -66,11 +66,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/atreus/keymaps/alphadox/config.h b/keyboards/atreus/keymaps/alphadox/config.h
index df56849b083..e81029a032c 100644
--- a/keyboards/atreus/keymaps/alphadox/config.h
+++ b/keyboards/atreus/keymaps/alphadox/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/atreus/keymaps/dvorak_42_key/config.h b/keyboards/atreus/keymaps/dvorak_42_key/config.h
index 43c51fb2f28..953178ee422 100644
--- a/keyboards/atreus/keymaps/dvorak_42_key/config.h
+++ b/keyboards/atreus/keymaps/dvorak_42_key/config.h
@@ -18,10 +18,8 @@ along with this program. If not, see .
#ifndef CONFIG_H
#define CONFIG_H
-
#include "config_common.h"
-
// mouse speed
#define MOUSEKEY_INTERVAL 15
@@ -80,11 +78,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/atreus/keymaps/erlandsona/config.h b/keyboards/atreus/keymaps/erlandsona/config.h
index d9eb1903edd..5af7e6e6cfa 100644
--- a/keyboards/atreus/keymaps/erlandsona/config.h
+++ b/keyboards/atreus/keymaps/erlandsona/config.h
@@ -20,7 +20,6 @@ along with this program. If not, see .
#include "config_common.h"
-
/* Make Overloaded Keys switch faster */
#define TAPPING_TERM 150
@@ -70,11 +69,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/atreus62/config.h b/keyboards/atreus62/config.h
index 8d9248947c4..67b5f9cb209 100644
--- a/keyboards/atreus62/config.h
+++ b/keyboards/atreus62/config.h
@@ -55,11 +55,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/baguette/config.h b/keyboards/baguette/config.h
index 806f9fb4f69..0b53c653f67 100644
--- a/keyboards/baguette/config.h
+++ b/keyboards/baguette/config.h
@@ -112,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -221,4 +216,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/bantam44/config.h b/keyboards/bantam44/config.h
index a55f629990a..32385285005 100644
--- a/keyboards/bantam44/config.h
+++ b/keyboards/bantam44/config.h
@@ -56,11 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/bdn9/bdn9.c b/keyboards/bdn9/bdn9.c
new file mode 100644
index 00000000000..0ff55fd6d45
--- /dev/null
+++ b/keyboards/bdn9/bdn9.c
@@ -0,0 +1 @@
+#include "bdn9.h"
diff --git a/quantum/template/avr/template.h b/keyboards/bdn9/bdn9.h
similarity index 82%
rename from quantum/template/avr/template.h
rename to keyboards/bdn9/bdn9.h
index aaa971504c6..26b04356050 100644
--- a/quantum/template/avr/template.h
+++ b/keyboards/bdn9/bdn9.h
@@ -1,4 +1,4 @@
-/* Copyright 2019 REPLACE_WITH_YOUR_NAME
+/* Copyright 2019 Danny Nguyen
*
* 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
@@ -13,8 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#ifndef %KEYBOARD_UPPERCASE%_H
-#define %KEYBOARD_UPPERCASE%_H
+#pragma once
#include "quantum.h"
@@ -27,12 +26,10 @@
* represents the switch matrix.
*/
#define LAYOUT( \
- K00, K01, K02, \
- K10, K11 \
+ KA1, KA2, KA3, \
+ KB1, KB2, KB3, \
+ KC1, KC2, KC3 \
) \
{ \
- { K00, K01, K02 }, \
- { K10, KC_NO, K11 }, \
+ { KA1, KA2, KA3, KB1, KB2, KB3, KC1, KC2, KC3 } \
}
-
-#endif
diff --git a/keyboards/bdn9/config.h b/keyboards/bdn9/config.h
new file mode 100644
index 00000000000..3fc92a062e9
--- /dev/null
+++ b/keyboards/bdn9/config.h
@@ -0,0 +1,69 @@
+/*
+Copyright 2019 Danny Nguyen
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xCB10
+#define PRODUCT_ID 0x1133
+#define DEVICE_VER 0x0100
+#define MANUFACTURER Keebio
+#define PRODUCT BDN9
+#define DESCRIPTION 3x3 Macropad with Rotary Encoders
+
+/* key matrix size */
+#define MATRIX_ROWS 1
+#define MATRIX_COLS 9
+
+/* Keyboard Matrix Assignments */
+#define NO_PIN (~0)
+#define MATRIX_ROW_PINS { NO_PIN }
+#define MATRIX_COL_PINS { D2, D4, F4, D7, B1, B3, E6, B4, B2 }
+
+/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
+#define DIODE_DIRECTION COL2ROW
+
+#define NUMBER_OF_ENCODERS 2
+#define ENCODERS_PAD_A { D1, F5 }
+#define ENCODERS_PAD_B { D0, F6 }
+
+
+#define BACKLIGHT_PIN B5
+// #define BACKLIGHT_BREATHING
+#define BACKLIGHT_LEVELS 7
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 3
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+ /*== all animations enable ==*/
+ #define RGBLIGHT_ANIMATIONS
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/bdn9/info.json b/keyboards/bdn9/info.json
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/keyboards/bdn9/keymaps/default/keymap.c b/keyboards/bdn9/keymaps/default/keymap.c
new file mode 100644
index 00000000000..66b9a3eb674
--- /dev/null
+++ b/keyboards/bdn9/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
+/* Copyright 2019 Danny Nguyen
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_A, KC_B, KC_C, \
+ BL_STEP, KC_UP, RGB_MOD, \
+ KC_LEFT, KC_DOWN, KC_RGHT \
+ ),
+};
+
+void encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ }
+ else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_DOWN);
+ } else {
+ tap_code(KC_UP);
+ }
+ }
+}
diff --git a/keyboards/bdn9/readme.md b/keyboards/bdn9/readme.md
new file mode 100644
index 00000000000..c9d5ed0b356
--- /dev/null
+++ b/keyboards/bdn9/readme.md
@@ -0,0 +1,15 @@
+# BDN9
+
+
+
+A 3x3 macropad with support for a rotary encoder at the upper two corners.
+
+Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges)
+Hardware Supported: Pro Micro, Elite-C, Proton C
+Hardware Availability: [Keebio - BDN9](https://keeb.io/products/bdn9-3x3-9-key-macropad-rotary-encoder-support)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make bdn9:default
+
+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/bdn9/rules.mk b/keyboards/bdn9/rules.mk
new file mode 100644
index 00000000000..3ab84910890
--- /dev/null
+++ b/keyboards/bdn9/rules.mk
@@ -0,0 +1,50 @@
+MCU = atmega32u4
+F_CPU = 16000000
+ARCH = AVR8
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# atmega32a bootloadHID
+BOOTLOADER = caterina
+
+
+# If you don't know the bootloader type, then you can specify the
+# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+# OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
+ENCODER_ENABLE = yes
diff --git a/keyboards/bface/config.h b/keyboards/bface/config.h
index 3d74af4f14a..11ac373c023 100644
--- a/keyboards/bface/config.h
+++ b/keyboards/bface/config.h
@@ -21,7 +21,7 @@ along with this program. If not, see .
#define VENDOR_ID 0x20A0
#define PRODUCT_ID 0x422D
-// You can edit those at usbconfig.h about line 250. These values will
+// You can edit those at usbconfig.h about line 250. These values will
// unforunatly be ignored so far
#define MANUFACTURER winkeyless.kr
#define PRODUCT b.face
@@ -36,9 +36,6 @@ along with this program. If not, see .
#define NO_UART 1
#define BOOTLOADHID_BOOTLOADER 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#ifdef BACKLIGHT_ENABLE
// the backlight PWM does not work (yet). Therefore, we only have two backlight levels (on/off)
#define BACKLIGHT_LEVELS 1
diff --git a/keyboards/bface/keymaps/default/keymap.c b/keyboards/bface/keymaps/default/keymap.c
index 9c41014bcba..a3e9bc9577d 100644
--- a/keyboards/bface/keymaps/default/keymap.c
+++ b/keyboards/bface/keymaps/default/keymap.c
@@ -41,7 +41,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS
), // */
};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_LAYER_MOMENTARY(1),
-};
diff --git a/keyboards/bfake/config.h b/keyboards/bfake/config.h
index de8c4b5df54..01fd4dff3ff 100644
--- a/keyboards/bfake/config.h
+++ b/keyboards/bfake/config.h
@@ -43,7 +43,4 @@ along with this program. If not, see .
#define NO_UART 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/bfo9000/config.h b/keyboards/bfo9000/config.h
index 893fa5ab6a4..8098428d66c 100644
--- a/keyboards/bfo9000/config.h
+++ b/keyboards/bfo9000/config.h
@@ -46,11 +46,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN B4
@@ -74,5 +69,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/blockey/config.h b/keyboards/blockey/config.h
index 53860bfbc98..f47849744af 100644
--- a/keyboards/blockey/config.h
+++ b/keyboards/blockey/config.h
@@ -58,8 +58,6 @@ along with this program. If not, see .
#define RGBLIGHT_ANIMATIONS
-
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -111,11 +109,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/bmini/config.h b/keyboards/bmini/config.h
index b7a25e050e2..96acd9bf16e 100644
--- a/keyboards/bmini/config.h
+++ b/keyboards/bmini/config.h
@@ -35,7 +35,4 @@ along with this program. If not, see .
#define NO_UART 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/bminiex/config.h b/keyboards/bminiex/config.h
index 3f160109e3a..ebd33ad61e7 100644
--- a/keyboards/bminiex/config.h
+++ b/keyboards/bminiex/config.h
@@ -35,7 +35,3 @@ along with this program. If not, see .
#define BACKLIGHT_LEVELS 5
#define NO_UART 1
-
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
diff --git a/keyboards/bpiphany/frosty_flake/config.h b/keyboards/bpiphany/frosty_flake/config.h
index 2c73f10743b..a797fef4286 100644
--- a/keyboards/bpiphany/frosty_flake/config.h
+++ b/keyboards/bpiphany/frosty_flake/config.h
@@ -85,11 +85,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/bpiphany/kitten_paw/config.h b/keyboards/bpiphany/kitten_paw/config.h
index d7089734aa6..5ecf6d8dd83 100644
--- a/keyboards/bpiphany/kitten_paw/config.h
+++ b/keyboards/bpiphany/kitten_paw/config.h
@@ -20,7 +20,6 @@ along with this program. If not, see .
#include "config_common.h"
-
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6050
@@ -53,7 +52,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +98,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
index 856cef9cc24..c0549c424ea 100644
--- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
+++ b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
@@ -3,12 +3,13 @@
#define _______ KC_TRNS
#define XXXXXXX KC_NO
-#define C(kc) LCTL(KC_##kc)
+#undef C
+#undef S
+#define C(kc) LCTL(KC_##kc)
+#define S(kc) LSFT(KC_##kc)
#define RA(kc) RALT(KC_##kc)
#define KC_SLCT KC_SELECT
#define MEDAPP LT(MEDIA, KC_APP)
-#undef S
-#define S(kc) LSFT(KC_##kc)
uint8_t current_layer_global = 255;
diff --git a/keyboards/bpiphany/pegasushoof/config.h b/keyboards/bpiphany/pegasushoof/config.h
index 0dbec26e465..885afaa900e 100644
--- a/keyboards/bpiphany/pegasushoof/config.h
+++ b/keyboards/bpiphany/pegasushoof/config.h
@@ -38,9 +38,4 @@ along with this program. If not, see .
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c
index 79f07d3bb8c..5036bcb3f53 100644
--- a/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c
+++ b/keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c
@@ -17,11 +17,15 @@
#include QMK_KEYBOARD_H
/* Allow shortcuts for combos like RALT(KC_RBRC) that don't take up more than 7 characters: */
-#define G(kc) RALT(KC_##kc)
-#define A(kc) LALT(KC_##kc)
+/* Original shortcuts (quantum_keycodes.h) take full-sized keycodes: too long! */
+#undef C
+#undef S
+#undef A
+#undef G
#define C(kc) LCTL(KC_##kc)
-#undef S /* Original shortcut (quantum_keycodes.h) takes full-sized keycodes: too long! */
#define S(kc) LSFT(KC_##kc)
+#define A(kc) LALT(KC_##kc)
+#define G(kc) RALT(KC_##kc)
#define CTALDEL LCTL(LALT(KC_DEL))
enum layers {
diff --git a/keyboards/bpiphany/tiger_lily/config.h b/keyboards/bpiphany/tiger_lily/config.h
index 4908192906f..de1d9012706 100644
--- a/keyboards/bpiphany/tiger_lily/config.h
+++ b/keyboards/bpiphany/tiger_lily/config.h
@@ -85,11 +85,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/bpiphany/unloved_bastard/config.h b/keyboards/bpiphany/unloved_bastard/config.h
index d89e85862eb..fc5090e647d 100644
--- a/keyboards/bpiphany/unloved_bastard/config.h
+++ b/keyboards/bpiphany/unloved_bastard/config.h
@@ -83,11 +83,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/bthlabs/geekpad/config.h b/keyboards/bthlabs/geekpad/config.h
index 2c33f359fda..6b03ae30a73 100644
--- a/keyboards/bthlabs/geekpad/config.h
+++ b/keyboards/bthlabs/geekpad/config.h
@@ -112,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/candybar/config.h b/keyboards/candybar/config.h
index 113e917175a..c1539671301 100644
--- a/keyboards/candybar/config.h
+++ b/keyboards/candybar/config.h
@@ -63,11 +63,6 @@
*/
//#define FORCE_NKRO
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
@@ -118,4 +113,3 @@
// #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection)
//#define WS2812_DMA_CHANNEL 7 // DMA channel for TIMx_UP
//#define WS2812_EXTERNAL_PULLUP
-
diff --git a/keyboards/canoe/config.h b/keyboards/canoe/config.h
index 0e70094ae8b..d552fee5b43 100644
--- a/keyboards/canoe/config.h
+++ b/keyboards/canoe/config.h
@@ -43,7 +43,4 @@ along with this program. If not, see .
#define NO_UART 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/chibios_test/config.h b/keyboards/chibios_test/config.h
index 89eb1f33b4d..91350c4457c 100644
--- a/keyboards/chibios_test/config.h
+++ b/keyboards/chibios_test/config.h
@@ -44,13 +44,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/chimera_ergo/config.h b/keyboards/chimera_ergo/config.h
index 8ce195cc06b..4a47effdde3 100644
--- a/keyboards/chimera_ergo/config.h
+++ b/keyboards/chimera_ergo/config.h
@@ -41,12 +41,6 @@ along with this program. If not, see .
#define ONESHOT_TIMEOUT 500
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/chimera_ergo/matrix.c b/keyboards/chimera_ergo/matrix.c
index 21d46ef9b47..d512a51d973 100644
--- a/keyboards/chimera_ergo/matrix.c
+++ b/keyboards/chimera_ergo/matrix.c
@@ -112,7 +112,7 @@ uint8_t matrix_scan(void)
if (timeout > 10000){
break;
}
- }
+ }
uart_data[i] = SERIAL_UART_DATA;
}
@@ -134,7 +134,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
#define ONESHOT_TIMEOUT 500
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/chimera_ls/matrix.c b/keyboards/chimera_ls/matrix.c
index 665d0d35733..72fe4413704 100644
--- a/keyboards/chimera_ls/matrix.c
+++ b/keyboards/chimera_ls/matrix.c
@@ -116,7 +116,7 @@ uint8_t matrix_scan(void)
if (timeout > 10000){
break;
}
- }
+ }
uart_data[i] = SERIAL_UART_DATA;
}
@@ -138,7 +138,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
#define ONESHOT_TIMEOUT 500
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/chimera_ortho/matrix.c b/keyboards/chimera_ortho/matrix.c
index 66d29f8b38f..dc38ba74f86 100644
--- a/keyboards/chimera_ortho/matrix.c
+++ b/keyboards/chimera_ortho/matrix.c
@@ -102,7 +102,7 @@ uint8_t matrix_scan(void)
if (timeout > 10000){
break;
}
- }
+ }
uart_data[i] = SERIAL_UART_DATA;
}
@@ -124,7 +124,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 8
diff --git a/keyboards/christmas_tree/config.h b/keyboards/christmas_tree/config.h
index 4929f0ef50d..769a9e98b66 100644
--- a/keyboards/christmas_tree/config.h
+++ b/keyboards/christmas_tree/config.h
@@ -55,9 +55,4 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/ckeys/handwire_101/config.h b/keyboards/ckeys/handwire_101/config.h
index 7689c470387..106a7fd961e 100755
--- a/keyboards/ckeys/handwire_101/config.h
+++ b/keyboards/ckeys/handwire_101/config.h
@@ -121,11 +121,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -194,4 +189,3 @@ along with this program. If not, see .
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
diff --git a/keyboards/ckeys/nakey/config.h b/keyboards/ckeys/nakey/config.h
index 38fed297efb..cdd16015d47 100644
--- a/keyboards/ckeys/nakey/config.h
+++ b/keyboards/ckeys/nakey/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -105,11 +104,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/ckeys/obelus/config.h b/keyboards/ckeys/obelus/config.h
index a1451c1420e..4ef308819ac 100644
--- a/keyboards/ckeys/obelus/config.h
+++ b/keyboards/ckeys/obelus/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/clueboard/17/config.h b/keyboards/clueboard/17/config.h
index bd64dfd27d9..21728348dbb 100644
--- a/keyboards/clueboard/17/config.h
+++ b/keyboards/clueboard/17/config.h
@@ -62,11 +62,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Underlight configuration
*/
#define RGB_DI_PIN F6
diff --git a/keyboards/clueboard/2x1800/config.h b/keyboards/clueboard/2x1800/config.h
index cddcd1ce78b..1b47a9d6556 100644
--- a/keyboards/clueboard/2x1800/config.h
+++ b/keyboards/clueboard/2x1800/config.h
@@ -115,11 +115,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/clueboard/60/config.h b/keyboards/clueboard/60/config.h
index c7dbf8ad000..aa544c70bba 100644
--- a/keyboards/clueboard/60/config.h
+++ b/keyboards/clueboard/60/config.h
@@ -80,11 +80,6 @@
*/
//#define FORCE_NKRO
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/clueboard/66/info.json b/keyboards/clueboard/66/info.json
index 05eb6627d84..514ba456dab 100644
--- a/keyboards/clueboard/66/info.json
+++ b/keyboards/clueboard/66/info.json
@@ -3,7 +3,7 @@
"width": 16.5,
"height": 5,
"layouts": {
- "LAYOUT": {
+ "LAYOUT_all": {
"layout": [
{"x": 0, "y": 0, "w": 1, "label": "GRAVE"}, {"x": 1, "y": 0, "w": 1, "label": "1"}, {"x": 2, "y": 0, "w": 1, "label": "2"}, {"x": 3, "y": 0, "w": 1, "label": "3"}, {"x": 4, "y": 0, "w": 1, "label": "4"}, {"x": 5, "y": 0, "w": 1, "label": "5"}, {"x": 6, "y": 0, "w": 1, "label": "6"}, {"x": 7, "y": 0, "w": 1, "label": "7"}, {"x": 8, "y": 0, "w": 1, "label": "8"}, {"x": 9, "y": 0, "w": 1, "label": "9"}, {"x": 10, "y": 0, "w": 1, "label": "0"}, {"x": 11, "y": 0, "w": 1, "label": "DASH"}, {"x": 12, "y": 0, "w": 1, "label": "EQUALSIGN"}, {"x": 13, "y": 0, "w": 1, "label": "YEN"}, {"x": 14, "y": 0, "w": 1, "label": "BACKSPACE"}, {"x": 15.5, "y": 0, "w": 1, "label": "PAGEUP"},
{"x": 0, "y": 1, "w": 1.5, "label": "TAB"}, {"x": 1.5, "y": 1, "w": 1, "label": "Q"}, {"x": 2.5, "y": 1, "w": 1, "label": "W"}, {"x": 3.5, "y": 1, "w": 1, "label": "E"}, {"x": 4.5, "y": 1, "w": 1, "label": "R"}, {"x": 5.5, "y": 1, "w": 1, "label": "T"}, {"x": 6.5, "y": 1, "w": 1, "label": "Y"}, {"x": 7.5, "y": 1, "w": 1, "label": "U"}, {"x": 8.5, "y": 1, "w": 1, "label": "I"}, {"x": 9.5, "y": 1, "w": 1, "label": "O"}, {"x": 10.5, "y": 1, "w": 1, "label": "P"}, {"x": 11.5, "y": 1, "w": 1, "label": "LBRACKET"}, {"x": 12.5, "y": 1, "w": 1, "label": "RBRACKET"}, {"x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH"}, {"x": 15.5, "y": 1, "w": 1, "label": "PAGEDOWN"},
@@ -26,10 +26,11 @@
"LAYOUT_66_iso": {
"layout": [
{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Insert", "x":15.5, "y":0},
- {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Delete", "x":15.5, "y":1},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"", "x":12.75, "y":2},
- {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.25}, {"label":"\u2191", "x":14.5, "y":3},
+ {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Delete", "x":15.5, "y":1},
+ {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
+ {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"\\", "x":1.25, "y":3, "w":1}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.25}, {"label":"\u2191", "x":14.5, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"Ctrl", "x":11, "y":4, "w":1.25}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13.5, "y":4}, {"label":"\u2193", "x":14.5, "y":4}, {"label":"\u2192", "x":15.5, "y":4}
- }
+ ]
+ }
}
}
diff --git a/keyboards/clueboard/66/rev1/config.h b/keyboards/clueboard/66/rev1/config.h
index a35c0d0f65d..f8fb4bd35b1 100644
--- a/keyboards/clueboard/66/rev1/config.h
+++ b/keyboards/clueboard/66/rev1/config.h
@@ -32,11 +32,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/clueboard/66/rev1/rev1.h b/keyboards/clueboard/66/rev1/rev1.h
index 8a5e9bf6809..e071f4c7968 100644
--- a/keyboards/clueboard/66/rev1/rev1.h
+++ b/keyboards/clueboard/66/rev1/rev1.h
@@ -29,7 +29,7 @@
// The first section contains all of the arguements
// The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
+#define LAYOUT_all( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
@@ -71,4 +71,5 @@
{ k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4A, k4B, k4C, k4D, k4E, k4F } \
}
-#define KEYMAP LAYOUT
+#define KEYMAP LAYOUT_all
+#define LAYOUT LAYOUT_all
diff --git a/keyboards/clueboard/66/rev2/config.h b/keyboards/clueboard/66/rev2/config.h
index 0216b5e1fef..9227cd2dfc4 100644
--- a/keyboards/clueboard/66/rev2/config.h
+++ b/keyboards/clueboard/66/rev2/config.h
@@ -31,11 +31,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/clueboard/66/rev2/rev2.h b/keyboards/clueboard/66/rev2/rev2.h
index 267e6795e7a..86688c7a155 100644
--- a/keyboards/clueboard/66/rev2/rev2.h
+++ b/keyboards/clueboard/66/rev2/rev2.h
@@ -29,7 +29,7 @@
// The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
+#define LAYOUT_all( \
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k56, k57, \
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
@@ -90,4 +90,5 @@
{ KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 } \
}
-#define KEYMAP LAYOUT
+#define KEYMAP LAYOUT_all
+#define LAYOUT LAYOUT_all
diff --git a/keyboards/clueboard/66/rev3/config.h b/keyboards/clueboard/66/rev3/config.h
index e7cda4ccf02..ba646f15755 100644
--- a/keyboards/clueboard/66/rev3/config.h
+++ b/keyboards/clueboard/66/rev3/config.h
@@ -31,11 +31,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/clueboard/66/rev3/rev3.h b/keyboards/clueboard/66/rev3/rev3.h
index 267e6795e7a..86688c7a155 100644
--- a/keyboards/clueboard/66/rev3/rev3.h
+++ b/keyboards/clueboard/66/rev3/rev3.h
@@ -29,7 +29,7 @@
// The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
+#define LAYOUT_all( \
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k56, k57, \
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
@@ -90,4 +90,5 @@
{ KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 } \
}
-#define KEYMAP LAYOUT
+#define KEYMAP LAYOUT_all
+#define LAYOUT LAYOUT_all
diff --git a/keyboards/preonic/rev3/chconf.h b/keyboards/clueboard/66/rev4/chconf.h
similarity index 99%
rename from keyboards/preonic/rev3/chconf.h
rename to keyboards/clueboard/66/rev4/chconf.h
index b52ca7d2c87..1d9f12ff1f8 100644
--- a/keyboards/preonic/rev3/chconf.h
+++ b/keyboards/clueboard/66/rev4/chconf.h
@@ -41,14 +41,14 @@
* @brief System time counter resolution.
* @note Allowed values are 16 or 32 bits.
*/
-#define CH_CFG_ST_RESOLUTION 16
+#define CH_CFG_ST_RESOLUTION 32
/**
* @brief System tick frequency.
* @details Frequency of the system timer that drives the system ticks. This
* setting also defines the system tick time unit.
*/
-#define CH_CFG_ST_FREQUENCY 10000
+#define CH_CFG_ST_FREQUENCY 100000
/**
* @brief Time delta constant for the tick-less mode.
diff --git a/keyboards/clueboard/66/rev4/config.h b/keyboards/clueboard/66/rev4/config.h
new file mode 100644
index 00000000000..540b3872203
--- /dev/null
+++ b/keyboards/clueboard/66/rev4/config.h
@@ -0,0 +1,78 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xC1ED
+#define PRODUCT_ID 0x2390
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Clueboard
+#define PRODUCT Clueboard 66% rev4
+#define DESCRIPTION QMK keyboard firmware for Clueboard
+
+/* Address for jumping to bootloader on STM32 chips. */
+/* It is chip dependent, the correct number can be looked up here:
+ * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
+ */
+#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 8
+
+/* ROWS: Top to bottom, COLS: Left to right
+*/
+#define MATRIX_ROW_PINS { B11, A6, A3, A2, A1, B7, B6, C15, C14, C13 }
+#define MATRIX_COL_PINS { B10, B2, B1, B0, A7, B4, B3, B5 }
+#define UNUSED_PINS { B15, B14, B13, B12, B9, B8, A15, A10, A9, A8 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/*
+ * 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
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+ /* Backlight configuration
+ */
+#define BACKLIGHT_LEVELS 1
+
+/* Underlight configuration
+ */
+#define RGB_DI_PIN D7
+#define RGBLED_NUM 18 // Number of LEDs
+#define RGBLIGHT_HUE_STEP 32
+#define RGBLIGHT_SAT_STEP 17
+#define RGBLIGHT_VAL_STEP 17
+
+#define RGBLIGHT_ANIMATIONS
+#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+#define RGBLIGHT_EFFECT_BREATHE_MAX 200
+#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 666*2
+#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
+#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 // How many LEDs wide to light up
+#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 2 // The led to start at
+#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 5 // How many LEDs to travel
+#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // How many LEDs wide to light up
diff --git a/keyboards/preonic/rev3/halconf.h b/keyboards/clueboard/66/rev4/halconf.h
similarity index 99%
rename from keyboards/preonic/rev3/halconf.h
rename to keyboards/clueboard/66/rev4/halconf.h
index 5e5d70219e2..e617fdffc79 100644
--- a/keyboards/preonic/rev3/halconf.h
+++ b/keyboards/clueboard/66/rev4/halconf.h
@@ -111,7 +111,7 @@
* @brief Enables the PWM subsystem.
*/
#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
+#define HAL_USE_PWM FALSE
#endif
/**
@@ -146,7 +146,7 @@
* @brief Enables the SERIAL over USB subsystem.
*/
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB TRUE
+#define HAL_USE_SERIAL_USB FALSE
#endif
/**
diff --git a/keyboards/preonic/rev3/mcuconf.h b/keyboards/clueboard/66/rev4/mcuconf.h
similarity index 97%
rename from keyboards/preonic/rev3/mcuconf.h
rename to keyboards/clueboard/66/rev4/mcuconf.h
index 2d27bee4e6c..94cb540ec9f 100644
--- a/keyboards/preonic/rev3/mcuconf.h
+++ b/keyboards/clueboard/66/rev4/mcuconf.h
@@ -183,8 +183,8 @@
*/
#define STM32_PWM_USE_ADVANCED FALSE
#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 TRUE
-#define STM32_PWM_USE_TIM3 TRUE
+#define STM32_PWM_USE_TIM2 FALSE
+#define STM32_PWM_USE_TIM3 FALSE
#define STM32_PWM_USE_TIM4 FALSE
#define STM32_PWM_USE_TIM8 FALSE
#define STM32_PWM_TIM1_IRQ_PRIORITY 7
@@ -197,7 +197,7 @@
* SERIAL driver system settings.
*/
#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 TRUE
+#define STM32_SERIAL_USE_USART2 FALSE
#define STM32_SERIAL_USE_USART3 FALSE
#define STM32_SERIAL_USE_UART4 FALSE
#define STM32_SERIAL_USE_UART5 FALSE
@@ -225,7 +225,7 @@
* ST driver system settings.
*/
#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 4
+#define STM32_ST_USE_TIMER 2
/*
* UART driver system settings.
diff --git a/keyboards/clueboard/66/rev4/readme.md b/keyboards/clueboard/66/rev4/readme.md
new file mode 100644
index 00000000000..ba0afff781c
--- /dev/null
+++ b/keyboards/clueboard/66/rev4/readme.md
@@ -0,0 +1,15 @@
+# Clueboard 66%
+
+
+
+A fully customizable 66% keyboard.
+
+* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
+* Hardware Supported: Clueboard 66% PCB rev4 (stm32f303cc, PCB Version 3.0)
+* Hardware Availability: [clueboard.co](https://clueboard.co/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make clueboard/66/rev4:default
+
+See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then 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/clueboard/66/rev4/rev4.c b/keyboards/clueboard/66/rev4/rev4.c
new file mode 100644
index 00000000000..041c31cd322
--- /dev/null
+++ b/keyboards/clueboard/66/rev4/rev4.c
@@ -0,0 +1,76 @@
+#include "rev4.h"
+//#include "backlight.h"
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+ matrix_init_user();
+ led_init_ports();
+}
+
+void matrix_scan_kb(void) {
+ matrix_scan_user();
+}
+
+void backlight_init_ports(void) {
+ print("init_backlight_pin()\n");
+ // Set our LED pins as output
+ //DDRD |= (1<<6); // Esc
+ //DDRB |= (1<<7); // Page Up
+ //DDRD |= (1<<4); // Arrows
+
+ // Set our LED pins low
+ //PORTD &= ~(1<<6); // Esc
+ //PORTB &= ~(1<<7); // Page Up
+ //PORTD &= ~(1<<4); // Arrows
+}
+
+void backlight_set(uint8_t level) {
+/*
+ if ( level == 0 ) {
+ // Turn off light
+ PORTD |= (1<<6); // Esc
+ PORTB |= (1<<7); // Page Up
+ PORTD |= (1<<4); // Arrows
+ } else {
+ // Turn on light
+ PORTD &= ~(1<<6); // Esc
+ PORTB &= ~(1<<7); // Page Up
+ PORTD &= ~(1<<4); // Arrows
+ }
+*/
+}
+
+void led_init_ports() {
+ // Set our LED pins as output
+ palSetPadMode(GPIOB, 13, PAL_MODE_OUTPUT_PUSHPULL); // LED1
+ palClearPad(GPIOB, 13);
+ palSetPadMode(GPIOB, 14, PAL_MODE_OUTPUT_PUSHPULL); // LED2
+ palClearPad(GPIOB, 14);
+ palSetPadMode(GPIOA, 8, PAL_MODE_OUTPUT_PUSHPULL); // LED3
+ palClearPad(GPIOA, 8);
+ palSetPadMode(GPIOA, 0, PAL_MODE_OUTPUT_PUSHPULL); // Capslock LED
+ palClearPad(GPIOA, 0);
+}
+
+void led_set_kb(uint8_t usb_led) {
+ if (usb_led & (1<.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/clueboard/card/config.h b/keyboards/clueboard/card/config.h
index 8059821213e..9520c31a6f2 100644
--- a/keyboards/clueboard/card/config.h
+++ b/keyboards/clueboard/card/config.h
@@ -39,7 +39,7 @@ along with this program. If not, see .
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
-
+
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 20
@@ -87,11 +87,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/cod67/config.h b/keyboards/cod67/config.h
index 612379271fe..51c695de492 100644
--- a/keyboards/cod67/config.h
+++ b/keyboards/cod67/config.h
@@ -52,7 +52,6 @@ along with this program. If not, see .
#define BACKLIGHT_PIN D4
#define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -104,11 +103,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/comet46/keymaps/satt/config.h b/keyboards/comet46/keymaps/satt/config.h
index c99de2cf804..a3ca2ebfefe 100644
--- a/keyboards/comet46/keymaps/satt/config.h
+++ b/keyboards/comet46/keymaps/satt/config.h
@@ -21,11 +21,6 @@ along with this program. If not, see .
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
-)
-
/* Use I2C or Serial */
#define USE_I2C
diff --git a/keyboards/comet46/matrix.c b/keyboards/comet46/matrix.c
index 66d29f8b38f..dc38ba74f86 100644
--- a/keyboards/comet46/matrix.c
+++ b/keyboards/comet46/matrix.c
@@ -102,7 +102,7 @@ uint8_t matrix_scan(void)
if (timeout > 10000){
break;
}
- }
+ }
uart_data[i] = SERIAL_UART_DATA;
}
@@ -124,7 +124,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/contra/keymaps/maxr1998/keymap.c b/keyboards/contra/keymaps/maxr1998/keymap.c
index 4d731c08b49..326d5876d0d 100644
--- a/keyboards/contra/keymaps/maxr1998/keymap.c
+++ b/keyboards/contra/keymaps/maxr1998/keymap.c
@@ -19,16 +19,17 @@
enum contra_layers {
_QWERTZ,
- _FUNC,
- _NUMROW,
- _NUMROW_L3,
+ _FN,
+ _NR,
+ _NR_L3,
+ _FX,
_GAMING
};
-#define KC_I3 LM(_NUMROW, MOD_LALT)
-#define KC_NR MO(_NUMROW)
-#define NR_L3 SAFE_RANGE
-#define FUN MO(_FUNC)
+#define KC_I3 LM(_NR, MOD_LALT)
+#define KC_NR SAFE_RANGE
+#define KC_N3 (SAFE_RANGE + 1)
+#define KC_FN MO(_FN)
#define G_1 TO(_GAMING)
#define G_0 TG(_GAMING)
@@ -49,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
{KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT },
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT},
- {KC_LCTL, KC_LGUI, KC_LALT, KC_I3, KC_NR, KC_SPC, KC_SPC, NR_L3, FUN, KC_LEFT, KC_DOWN, KC_RGHT}
+ {KC_LCTL, KC_LGUI, KC_LALT, KC_I3, KC_NR, KC_SPC, KC_SPC, KC_N3, KC_FN, KC_LEFT, KC_DOWN, KC_RGHT}
},
/* Function layer
@@ -60,10 +61,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | RGBH-| RGBT | RGBH+| PgUp | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | ---- | ---- | | | ---- | ---- | Home | PgDn | End |
+ * | | | | ---- | ---- | | ---- | ---- | Home | PgDn | End |
* `-----------------------------------------------------------------------------------'
*/
-[_FUNC] = {
+[_FN] = {
{_______, _______, _______, _______, _______, _______, _______, DE_UE, _______, DE_OE, _______, KC_DEL },
{KC_LOCK, DE_AE, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______},
{_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______},
@@ -72,26 +73,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Numrow layer (special characters with Shift and ISO_L3_Shift)
* ,-----------------------------------------------------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
+ * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | | | | | | | | | #' | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | <> | | | | | | | | | | -_ | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | ---- | ---- | | | ---- | ---- | | | |
+ * | | | | ---- | ---- | | ---- | ---- | | | |
* `-----------------------------------------------------------------------------------'
*/
-[_NUMROW] = {
+[_NR] = {
{_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______},
{_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______},
- {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______}
+ {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______}
},
-[_NUMROW_L3] = {
- {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______},
+[_NR_L3] = {
+ {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS },
{_______, DE_Q, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______},
- {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______}
+ {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______}
+},
+
+/* Function keys
+ * ,-----------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_FX] = {
+ {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 },
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
+ {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
+ {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______}
},
/* Gaming
@@ -102,17 +121,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Space| | | | | | | | Reset| | | |
+ * | Space| | | | | | | Leave| | | |
* `-----------------------------------------------------------------------------------'
*/
[_GAMING] = {
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
- {KC_SPC, _______, _______, _______, _______, _______, _______, _______, G_0, _______, _______, _______}
+ {KC_SPC, XXXXXXX, _______, _______, _______, _______, _______, _______, G_0, _______, _______, _______}
}
};
+void update_tri_layer_user(void);
+
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch(keycode) {
case KC_BSPC:
@@ -125,20 +146,36 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
unregister_code(DE_SS);
}
return true;
- case NR_L3:
+ case KC_NR:
if (record->event.pressed) {
- register_code(KC_ALGR);
- layer_on(_NUMROW_L3);
+ layer_on(_NR);
} else {
- layer_off(_NUMROW_L3);
- unregister_code(KC_ALGR);
+ layer_off(_NR);
}
+ update_tri_layer_user();
+ return false;
+ case KC_N3:
+ if (record->event.pressed) {
+ layer_on(_NR_L3);
+ } else {
+ layer_off(_NR_L3);
+ }
+ update_tri_layer_user();
return false;
default:
return true;
}
}
+void update_tri_layer_user(void) {
+ update_tri_layer(_NR, _NR_L3, _FX);
+ if (layer_state_is(_NR_L3) && !layer_state_is(_FX)) {
+ register_code(KC_ALGR);
+ } else {
+ unregister_code(KC_ALGR);
+ }
+}
+
void led_set_user(uint8_t usb_led) {
// Force-enable Numlock
if (!(usb_led & (1<.
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_RALT) | MOD_BIT(KC_RCTL)) \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_RALT) | MOD_BIT(KC_RCTL)) \
)
-/*
+/*
* PS/2 USART configuration for ATMega32U4
*/
#ifdef PS2_USE_USART
diff --git a/keyboards/converter/m0110_usb/config.h b/keyboards/converter/m0110_usb/config.h
index 79abb9a889f..02e4c30fb00 100644
--- a/keyboards/converter/m0110_usb/config.h
+++ b/keyboards/converter/m0110_usb/config.h
@@ -39,8 +39,8 @@ Ported to QMK by Techsock
/* magic key */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LALT) | MOD_BIT(KC_LGUI)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LALT) | MOD_BIT(KC_LCTL)) \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LALT) | MOD_BIT(KC_LGUI)) || \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LALT) | MOD_BIT(KC_LCTL)) \
)
/* boot magic key */
diff --git a/keyboards/converter/palm_usb/config.h b/keyboards/converter/palm_usb/config.h
index 4520725a1d6..4233a53ef03 100644
--- a/keyboards/converter/palm_usb/config.h
+++ b/keyboards/converter/palm_usb/config.h
@@ -34,19 +34,19 @@ along with this program. If not, see .
// IO pins to serial
// https://deskthority.net/wiki/Arduino_Pro_Micro for pin lookup
-#define VCC_PIN D1 // pro micro 2
+#define VCC_PIN D1 // pro micro 2
#define RX_PIN D0 //pro micro 3 , was 8 on cy384
#define RTS_PIN C6 // 5 //[ was D4 // 4 on the cy384
-#define DCD_PIN E6 //7
+#define DCD_PIN E6 //7
// if using the particular arduino pinout of CY384
-#ifdef CY384
+#ifdef CY384
#define GND_PIN D7 //6
#define PULLDOWN_PIN B1 // 15
#endif
#ifndef HANDSPRING
-// Set to 1 for Handspring or to disable RTS/DCD based handshake.
+// Set to 1 for Handspring or to disable RTS/DCD based handshake.
#define HANDSPRING 0
#endif
@@ -59,9 +59,9 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT)) || \
- keyboard_report->mods == (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+ get_mods() == (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT)) || \
+ get_mods() == (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) || \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)
@@ -74,10 +74,10 @@ along with this program. If not, see .
#define SERIAL_SOFT_BIT_ORDER_LSB
#if (HANDSPRING == 0)
#define SERIAL_SOFT_LOGIC_NEGATIVE //RS232 logic
-#endif
+#endif
/* RXD Port */
#define SERIAL_SOFT_RXD_ENABLE
-
+
// we are using Pro micro pin 3 / D0 as serial
#define SERIAL_SOFT_RXD_DDR DDRD
#define SERIAL_SOFT_RXD_PORT PORTD
diff --git a/keyboards/converter/sun_usb/config.h b/keyboards/converter/sun_usb/config.h
index f7ad4163939..7713e0a915b 100644
--- a/keyboards/converter/sun_usb/config.h
+++ b/keyboards/converter/sun_usb/config.h
@@ -33,9 +33,9 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT)) || \
- keyboard_report->mods == (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+ get_mods() == (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT)) || \
+ get_mods() == (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) || \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)
diff --git a/keyboards/converter/usb_usb/config.h b/keyboards/converter/usb_usb/config.h
index deee35948bf..1cab3c1c3c5 100644
--- a/keyboards/converter/usb_usb/config.h
+++ b/keyboards/converter/usb_usb/config.h
@@ -32,7 +32,6 @@ along with this program. If not, see .
#define PRODUCT QMK USB-USB Converter
#define DESCRIPTION USB to USB Keyboard Converter with QMK
-
/* size of virtual matrix */
#define MATRIX_ROWS 16
#define MATRIX_COLS 16
@@ -40,9 +39,6 @@ along with this program. If not, see .
/* matrix scanning is done in custom_matrix.cpp */
#define DIODE_DIRECTION CUSTOM_MATRIX
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/converter/xt_usb/config.h b/keyboards/converter/xt_usb/config.h
index 963a3c63967..ecebc123fa1 100644
--- a/keyboards/converter/xt_usb/config.h
+++ b/keyboards/converter/xt_usb/config.h
@@ -31,8 +31,8 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) || \
- keyboard_report->mods == (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RSHIFT)) \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) || \
+ get_mods() == (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RSHIFT)) \
)
diff --git a/keyboards/cospad/config.h b/keyboards/cospad/config.h
index 4bdf434a47d..1f7c174e6e4 100644
--- a/keyboards/cospad/config.h
+++ b/keyboards/cospad/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 4
diff --git a/keyboards/cospad/keymaps/default/keymap.c b/keyboards/cospad/keymaps/default/keymap.c
index 3cea2f8e635..f066ad677da 100644
--- a/keyboards/cospad/keymaps/default/keymap.c
+++ b/keyboards/cospad/keymaps/default/keymap.c
@@ -63,11 +63,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P0, RESET, KC_PENT),
};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = MO(_FL),
-};
-
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case BL_TOGG:
diff --git a/keyboards/crkbd/keymaps/omgvee/config.h b/keyboards/crkbd/keymaps/omgvee/config.h
index bed797e9216..95d5328adb8 100644
--- a/keyboards/crkbd/keymaps/omgvee/config.h
+++ b/keyboards/crkbd/keymaps/omgvee/config.h
@@ -43,3 +43,6 @@ along with this program. If not, see .
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
#define BACKLIGHT_LEVELS 10
+
+#undef PRODUCT
+#define PRODUCT "Vee's hotswappable Helidox/Corne/CRKBD split keeb"
diff --git a/keyboards/crkbd/keymaps/omgvee/keymap.c b/keyboards/crkbd/keymaps/omgvee/keymap.c
index fbd29e774f1..5c4dd416e0e 100644
--- a/keyboards/crkbd/keymaps/omgvee/keymap.c
+++ b/keyboards/crkbd/keymaps/omgvee/keymap.c
@@ -44,6 +44,7 @@ enum macro_keycodes {
#define KC_LOWER LOWER
#define KC_RAISE RAISE
#define KC_RST RESET
+#define KC_ERST EEPROM_RESET
#define KC_LRST RGBRST
#define KC_LTOG RGB_TOG
#define KC_LHUI RGB_HUI
@@ -85,11 +86,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
- TAB, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, BSPC,\
+ TAB, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, DEL,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
SFCPS, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, MINS, EQL, LCBR, RCBR, PIPE, BSLS,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
- CTLTB, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, UNDS, PLUS, LBRC, RBRC, SLSH, RSFT,\
+ CTLTB, XXXXX, VOLD, VOLU, MUTE, MPLY, UNDS, PLUS, LBRC, RBRC, SLSH, RSFT,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
GUIEI, LOWER, ENT, SPC, RAISE, ALTKN \
//`--------------------' `--------------------'
@@ -97,11 +98,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_kc( \
//,-----------------------------------------. ,-----------------------------------------.
- RST, LRST, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\
+ RST, LRST, XXXXX, XXXXX, XXXXX, ERST, MNXT, MPRV, MFFD, MRWD, XXXXX, EJCT,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
- LTOG, LHUI, LSAI, LVAI, XXXXX, XXXXX, LEFT, DOWN, UP, RIGHT, XXXXX, XXXXX,\
+ LTOG, LHUI, LSAI, LVAI, PGUP, HOME, LEFT, DOWN, UP, RIGHT, XXXXX, XXXXX,\
//|------+------+------+------+------+------| |------+------+------+------+------+------|
- LMOD, LHUD, LSAD, LVAD, XXXXX, XXXXX, BRID, BRIU, VOLD, VOLU, MUTE, XXXXX,\
+ LMOD, LHUD, LSAD, LVAD, PGDN, END, BRID, BRIU, VOLD, VOLU, MUTE, MPLY,\
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
GUIEI, LOWER, ENT, SPC, RAISE, ALTKN \
//`--------------------' `--------------------'
@@ -158,7 +159,10 @@ void matrix_render_user(struct CharacterMatrix *matrix) {
//matrix_write_ln(matrix, read_host_led_state());
//matrix_write_ln(matrix, read_timelog());
} else {
- matrix_write(matrix, read_logo());
+ matrix_write_ln(matrix, read_layer_state());
+ matrix_write_ln(matrix, read_keylog());
+ matrix_write_ln(matrix, read_keylogs());
+ //matrix_write(matrix, read_logo());
}
}
diff --git a/keyboards/crkbd/keymaps/omgvee/readme.md b/keyboards/crkbd/keymaps/omgvee/readme.md
index 707f44a9ca0..bc316c2a351 100644
--- a/keyboards/crkbd/keymaps/omgvee/readme.md
+++ b/keyboards/crkbd/keymaps/omgvee/readme.md
@@ -2,7 +2,7 @@
======================================================
-
+
- media keys and media controls
- in-switch LED intensity controls (+/-)
@@ -13,3 +13,6 @@
- arrow keys on one layer(most likely on the ADJUST one)
See keymap.c for layouts
+
+
+P.S> this lil' keeb is so addictive I have no words, really...
diff --git a/keyboards/crkbd/keymaps/omgvee/rules.mk b/keyboards/crkbd/keymaps/omgvee/rules.mk
index 21ec12ada18..16deaf45d1d 100644
--- a/keyboards/crkbd/keymaps/omgvee/rules.mk
+++ b/keyboards/crkbd/keymaps/omgvee/rules.mk
@@ -4,12 +4,12 @@
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = no # Audio control and System control(+450)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = no # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
diff --git a/keyboards/crkbd/rev1/config.h b/keyboards/crkbd/rev1/config.h
index 915779060b9..55bf5930fd2 100644
--- a/keyboards/crkbd/rev1/config.h
+++ b/keyboards/crkbd/rev1/config.h
@@ -50,11 +50,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/cu24/config.h b/keyboards/cu24/config.h
index df009c953a6..351694a111f 100644
--- a/keyboards/cu24/config.h
+++ b/keyboards/cu24/config.h
@@ -107,11 +107,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/cu75/config.h b/keyboards/cu75/config.h
index c21e1da017f..baaed33e6b3 100644
--- a/keyboards/cu75/config.h
+++ b/keyboards/cu75/config.h
@@ -89,11 +89,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/cu75/keymaps/default/keymap.c b/keyboards/cu75/keymaps/default/keymap.c
index 9fbd41089b0..e8abbb6f1fc 100644
--- a/keyboards/cu75/keymaps/default/keymap.c
+++ b/keyboards/cu75/keymaps/default/keymap.c
@@ -61,12 +61,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-const uint16_t PROGMEM fn_actions[] = {
- ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers
- ACTION_FUNCTION(LFK_ESC_TILDE), // FN1 - esc+shift = ~, else escape
- };
-
-
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
diff --git a/keyboards/cu75/keymaps/iso/keymap.c b/keyboards/cu75/keymaps/iso/keymap.c
index 7f5952c1c2e..04002908468 100644
--- a/keyboards/cu75/keymaps/iso/keymap.c
+++ b/keyboards/cu75/keymaps/iso/keymap.c
@@ -60,12 +60,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-const uint16_t PROGMEM fn_actions[] = {
- ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers
- ACTION_FUNCTION(LFK_ESC_TILDE), // FN1 - esc+shift = ~, else escape
- };
-
-
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
diff --git a/keyboards/daisy/config.h b/keyboards/daisy/config.h
index d2ab92f875b..4698c216e1d 100644
--- a/keyboards/daisy/config.h
+++ b/keyboards/daisy/config.h
@@ -35,7 +35,6 @@
#define BACKLIGHT_PIN D0
#define BACKLIGHT_LEVELS 6
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -82,11 +81,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/dc01/arrow/config.h b/keyboards/dc01/arrow/config.h
index 75c674f6316..f734d9b1896 100644
--- a/keyboards/dc01/arrow/config.h
+++ b/keyboards/dc01/arrow/config.h
@@ -52,7 +52,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -104,11 +103,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/dc01/arrow/matrix.c b/keyboards/dc01/arrow/matrix.c
index 85591f6026a..dd5e2ee9c9e 100644
--- a/keyboards/dc01/arrow/matrix.c
+++ b/keyboards/dc01/arrow/matrix.c
@@ -218,7 +218,7 @@ bool matrix_is_modified(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -107,11 +106,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c
index 806583580d7..cbe3b3f3d8f 100644
--- a/keyboards/dc01/left/matrix.c
+++ b/keyboards/dc01/left/matrix.c
@@ -158,7 +158,7 @@ void matrix_init(void) {
matrix[i] = 0;
matrix_debouncing[i] = 0;
}
-
+
matrix_init_quantum();
}
@@ -209,7 +209,7 @@ uint8_t matrix_scan(void)
debouncing = false;
}
# endif
-
+
if (i2c_transaction(SLAVE_I2C_ADDRESS_RIGHT, 0x3F, 0)){ //error has occured for main right half
error_count_right++;
if (error_count_right > ERROR_DISCONNECT_COUNT){ //disconnect half
@@ -220,7 +220,7 @@ uint8_t matrix_scan(void)
}else{ //no error
error_count_right = 0;
}
-
+
if (i2c_transaction(SLAVE_I2C_ADDRESS_ARROW, 0X3FFF, 8)){ //error has occured for arrow cluster
error_count_arrow++;
if (error_count_arrow > ERROR_DISCONNECT_COUNT){ //disconnect arrow cluster
@@ -258,7 +258,7 @@ bool matrix_is_modified(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -104,11 +103,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/dc01/numpad/matrix.c b/keyboards/dc01/numpad/matrix.c
index 39637241d7e..5a13f3ff245 100644
--- a/keyboards/dc01/numpad/matrix.c
+++ b/keyboards/dc01/numpad/matrix.c
@@ -218,7 +218,7 @@ bool matrix_is_modified(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -104,11 +103,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/dc01/right/matrix.c b/keyboards/dc01/right/matrix.c
index 50fe19b8d1a..6d981797c3a 100644
--- a/keyboards/dc01/right/matrix.c
+++ b/keyboards/dc01/right/matrix.c
@@ -218,7 +218,7 @@ bool matrix_is_modified(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
@@ -82,5 +77,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/dichotomy/config.h b/keyboards/dichotomy/config.h
index f0847ec52ce..2fc098fe343 100755
--- a/keyboards/dichotomy/config.h
+++ b/keyboards/dichotomy/config.h
@@ -41,12 +41,6 @@ along with this program. If not, see .
#define ONESHOT_TIMEOUT 500
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/dichotomy/matrix.c b/keyboards/dichotomy/matrix.c
index 14c3f0d8e3c..f14c9012882 100755
--- a/keyboards/dichotomy/matrix.c
+++ b/keyboards/dichotomy/matrix.c
@@ -198,7 +198,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 8
diff --git a/keyboards/diverge3/config.h b/keyboards/diverge3/config.h
index 464dc835ff5..27938cf239a 100644
--- a/keyboards/diverge3/config.h
+++ b/keyboards/diverge3/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 5
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -63,7 +62,6 @@ along with this program. If not, see .
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
@@ -107,11 +105,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/divergetm2/config.h b/keyboards/divergetm2/config.h
index cbeeff9aa87..a5b1eaa682d 100644
--- a/keyboards/divergetm2/config.h
+++ b/keyboards/divergetm2/config.h
@@ -48,7 +48,6 @@
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION ROW2COL
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -73,10 +72,3 @@
* useful if your keyboard/keypad is missing keys and you want magic key support.
*
*/
-
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
diff --git a/keyboards/dk60/config.h b/keyboards/dk60/config.h
index 5b712fe9bd3..9df38474067 100644
--- a/keyboards/dk60/config.h
+++ b/keyboards/dk60/config.h
@@ -47,9 +47,4 @@ along with this program. If not, see .
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
- /* key combination for command */
- #define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
- )
#endif
diff --git a/keyboards/do60/config.h b/keyboards/do60/config.h
index 4a7dcddfdb4..74d27de39e1 100644
--- a/keyboards/do60/config.h
+++ b/keyboards/do60/config.h
@@ -72,11 +72,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define TAPPING_TERM 200
#endif
diff --git a/keyboards/duck/eagle_viper/v2/config.h b/keyboards/duck/eagle_viper/v2/config.h
index 9c49344ff9f..f454b2e0e1d 100644
--- a/keyboards/duck/eagle_viper/v2/config.h
+++ b/keyboards/duck/eagle_viper/v2/config.h
@@ -40,11 +40,6 @@ along with this program. If not, see .
/* number of backlight levels */
#define BACKLIGHT_LEVELS 3
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN D6
#define RGBLED_NUM 17
diff --git a/keyboards/duck/jetfire/config.h b/keyboards/duck/jetfire/config.h
index 54c5321c6bd..f49a298883c 100644
--- a/keyboards/duck/jetfire/config.h
+++ b/keyboards/duck/jetfire/config.h
@@ -34,7 +34,6 @@ along with this program. If not, see .
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
-
#define BACKLIGHT_LEVELS 1
#define RGB_DI_PIN D6
@@ -49,7 +48,6 @@ along with this program. If not, see .
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
-
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
@@ -88,11 +86,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -197,4 +190,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/duck/lightsaver/config.h b/keyboards/duck/lightsaver/config.h
index 745af4330d2..9e3a08fbd1a 100644
--- a/keyboards/duck/lightsaver/config.h
+++ b/keyboards/duck/lightsaver/config.h
@@ -40,11 +40,6 @@ along with this program. If not, see .
/* number of backlight levels */
#define BACKLIGHT_LEVELS 1
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN D6
#define RGBLED_NUM 17
diff --git a/keyboards/duck/octagon/v1/config.h b/keyboards/duck/octagon/v1/config.h
index a2b3d641305..5400c53ef24 100644
--- a/keyboards/duck/octagon/v1/config.h
+++ b/keyboards/duck/octagon/v1/config.h
@@ -40,11 +40,6 @@ along with this program. If not, see .
/* number of backlight levels */
#define BACKLIGHT_LEVELS 1
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN D6
#define RGBLED_NUM 17
diff --git a/keyboards/duck/octagon/v2/config.h b/keyboards/duck/octagon/v2/config.h
index 7adcb2760a8..78d18d3bb3b 100644
--- a/keyboards/duck/octagon/v2/config.h
+++ b/keyboards/duck/octagon/v2/config.h
@@ -40,11 +40,6 @@ along with this program. If not, see .
/* number of backlight levels */
#define BACKLIGHT_LEVELS 1
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN D6
#define RGBLED_NUM 17
diff --git a/keyboards/dz60/config.h b/keyboards/dz60/config.h
index e58eae0858a..46702adcdf9 100644
--- a/keyboards/dz60/config.h
+++ b/keyboards/dz60/config.h
@@ -36,11 +36,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16
diff --git a/keyboards/dz60/keymaps/LEdiodes/config.h b/keyboards/dz60/keymaps/LEdiodes/config.h
index 4f991b9ca2c..6cdc4a91e3d 100644
--- a/keyboards/dz60/keymaps/LEdiodes/config.h
+++ b/keyboards/dz60/keymaps/LEdiodes/config.h
@@ -36,11 +36,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16
diff --git a/keyboards/dz60/keymaps/mechmerlin/keymap.c b/keyboards/dz60/keymaps/mechmerlin/keymap.c
index 1a8593ef16d..f7ad17fd8c1 100644
--- a/keyboards/dz60/keymaps/mechmerlin/keymap.c
+++ b/keyboards/dz60/keymaps/mechmerlin/keymap.c
@@ -12,7 +12,7 @@ enum keyboard_layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_60_b_ansi(
- KC_ESC, 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_BSPC,
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
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_CTCP, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSSH, KC_UP, KC_DEL,
diff --git a/keyboards/e6_rgb/config.h b/keyboards/e6_rgb/config.h
new file mode 100644
index 00000000000..cb213c25e20
--- /dev/null
+++ b/keyboards/e6_rgb/config.h
@@ -0,0 +1,65 @@
+/**
+ * config.h
+ *
+ */
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xDEAD
+#define PRODUCT_ID 0xFEED
+#define DEVICE_VER 0x0062
+#define MANUFACTURER astro
+#define PRODUCT e6rgb
+#define DESCRIPTION 60% rgb keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+/* key matrix pins */
+#define MATRIX_ROW_PINS { F1, F4, F5, F6, D6 }
+#define MATRIX_COL_PINS { D7, B4, B5, B6, C6, C7, F7, F0, B0, B1, D2, D3, B3, B2 }
+#define UNUSED_PINS
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/*
+ * 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
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+//rgb light setting
+#define RGBLED_NUM 6
+#define RGB_DI_PIN B7
+#define RGBLIGHT_ANIMATIONS
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+#define DRIVER_ADDR_1 0b1010000
+#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
+
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 63
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
+
+// tapping setting
+#define TAPPING_TERM 200
+#define RETRO_TAPPING
+#define PERMISSIVE_HOLD
diff --git a/keyboards/e6_rgb/e6_rgb.c b/keyboards/e6_rgb/e6_rgb.c
new file mode 100644
index 00000000000..d50af86b51b
--- /dev/null
+++ b/keyboards/e6_rgb/e6_rgb.c
@@ -0,0 +1,204 @@
+/**
+ * e6_rgb.c
+ */
+
+#include "e6_rgb.h"
+
+#ifdef RGB_MATRIX_ENABLE
+__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) {
+ setPinOutput(D5);
+ writePinHigh(D5);
+}
+
+__attribute__ ((weak))
+void matrix_scan_user(void) {
+}
+
+const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+//cs1
+ {0, K_1, J_1, L_1},
+ {0, H_1, G_1, I_1},
+ {0, E_1, D_1, F_1},
+ {0, B_1, A_1, C_1},
+
+//cs2
+ {0, K_2, J_2, L_2},
+ {0, H_2, G_2, I_2},
+ {0, E_2, D_2, F_2},
+ {0, B_2, A_2, C_2},
+//cs3
+ {0, K_3, J_3, L_3},
+ {0, H_3, G_3, I_3},
+ {0, E_3, D_3, F_3},
+ {0, B_3, A_3, C_3},
+//cs4
+ {0, K_4, J_4, L_4},
+ {0, H_4, G_4, I_4},
+ {0, E_4, D_4, F_4},
+ {0, B_4, A_4, C_4},
+//cs5
+ {0, K_5, J_5, L_5},
+ {0, H_5, G_5, I_5},
+ {0, E_5, D_5, F_5},
+ {0, B_5, A_5, C_5},
+//cs6
+ {0, K_6, J_6, L_6},
+ {0, H_6, G_6, I_6},
+ {0, E_6, D_6, F_6},
+ {0, B_6, A_6, C_6},
+//cs7
+ {0, K_7, J_7, L_7},
+ {0, H_7, G_7, I_7},
+ {0, E_7, D_7, F_7},
+ {0, B_7, A_7, C_7},
+//cs8
+ {0, K_8, J_8, L_8},
+ {0, H_8, G_8, I_8},
+ {0, E_8, D_8, F_8},
+ {0, B_8, A_8, C_8},
+//cs9
+ {0, K_9, J_9, L_9},
+ {0, H_9, G_9, I_9},
+ {0, E_9, D_9, F_9},
+ {0, B_9, A_9, C_9},
+//cs10
+ {0, K_10, J_10, L_10},
+ {0, H_10, G_10, I_10},
+ {0, E_10, D_10, F_10},
+ {0, B_10, A_10, C_10},
+//cs11
+ {0, K_11, J_11, L_11},
+ {0, H_11, G_11, I_11},
+ {0, E_11, D_11, F_11},
+ {0, B_11, A_11, C_11},
+//cs12
+ {0, K_12, J_12, L_12},
+ {0, H_12, G_12, I_12},
+ {0, E_12, D_12, F_12},
+ {0, B_12, A_12, C_12},
+//cs13
+ {0, K_13, J_13, L_13},
+ {0, H_13, G_13, I_13},
+ {0, E_13, D_13, F_13},
+ {0, B_13, A_13, C_13},
+//cs14
+ {0, K_14, J_14, L_14},
+ {0, H_14, G_14, I_14},
+ {0, E_14, D_14, F_14},
+ {0, B_14, A_14, C_14},
+//cs15
+ {0, K_15, J_15, L_15},
+
+ {0, E_15, D_15, F_15},
+ {0, B_15, A_15, C_15},
+//cs16
+ {0, K_16, J_16, L_16},
+ {0, H_16, G_16, I_16},
+ {0, E_16, D_16, F_16},
+ {0, B_16, A_16, C_16},
+};
+const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
+/* {row | col << 4}
+ * | {x=0..224, y=0..64}
+ * | | modifier
+ * | | | */
+//cs1
+ {{0|(0<<4)}, { 0, 0}, 1},
+ {{0|(1<<4)}, { 17, 0}, 0},
+ {{1|(0<<4)}, { 0, 16}, 1},
+ {{2|(0<<4)}, { 0, 32}, 1},
+
+//cs2
+ {{0|(2<<4)}, { 34, 0}, 0},
+ {{0|(3<<4)}, { 51, 0}, 0},
+ {{1|(1<<4)}, { 17, 16}, 0},
+ {{1|(2<<4)}, { 34, 16}, 0},
+//cs3
+ {{2|(1<<4)}, { 17, 32}, 0},
+ {{2|(2<<4)}, { 34, 32}, 0},
+ {{3|(1<<4)}, { 17, 48}, 0},
+ {{3|(2<<4)}, { 34, 48}, 0},
+//cs4
+ {{0|(4<<4)}, { 68, 0}, 0},
+ {{0|(5<<4)}, { 85, 0}, 0},
+ {{1|(3<<4)}, { 51, 16}, 0},
+ {{1|(4<<4)}, { 68, 16}, 0},
+//cs5
+ {{0|(11<<4)}, {187, 0}, 0},
+ {{0|(12<<4)}, {204, 0}, 0},
+ {{1|(11<<4)}, {187, 16}, 0},
+ {{1|(12<<4)}, {204, 16}, 0},
+//cs6
+ {{0|(7<<4)}, {119, 0}, 0},
+ {{0|(8<<4)}, {136, 0}, 0},
+ {{1|(7<<4)}, {119, 16}, 0},
+ {{1|(8<<4)}, {136, 16}, 0},
+//cs7
+ {{0|(9<<4)}, {153, 0}, 0},
+ {{0|(10<<4)}, {170, 0}, 0},
+ {{1|(9<<4)}, {153, 16}, 0},
+ {{1|(10<<4)}, {170, 16}, 0},
+//cs8
+ {{0|(13<<4)}, {221, 0}, 0},
+ {{0|(14<<4)}, {221, 0}, 0},
+ {{1|(13<<4)}, {221, 32}, 1},
+ {{2|(12<<4)}, {221, 16}, 1},
+//cs9
+ {{2|(3<<4)}, { 51, 32}, 0},
+ {{2|(4<<4)}, { 68, 32}, 0},
+ {{3|(3<<4)}, { 51, 48}, 0},
+ {{3|(4<<4)}, { 68, 48}, 0},
+//cs10
+ {{0|(6<<4)}, {102, 0}, 0},
+ {{1|(5<<4)}, { 85, 16}, 0},
+ {{1|(6<<4)}, {102, 16}, 0},
+ {{2|(5<<4)}, { 85, 32}, 0},
+//cs11
+ {{2|(6<<4)}, {102, 32}, 0},
+ {{3|(5<<4)}, { 85, 48}, 0},
+ {{3|(6<<4)}, {102, 48}, 0},
+ {{4|(5<<4)}, {102, 64}, 0},
+//cs12
+ {{2|(7<<4)}, {119, 32}, 0},
+ {{2|(8<<4)}, {136, 32}, 0},
+ {{3|(7<<4)}, {119, 48}, 0},
+ {{3|(8<<4)}, {136, 48}, 0},
+//cs13
+ {{2|(9<<4)}, {153, 32}, 0},
+ {{2|(10<<4)}, {170, 32}, 0},
+ {{3|(9<<4)}, {153, 48}, 0},
+ {{4|(6<<4)}, {136, 48}, 1},
+//cs14
+ {{2|(11<<4)}, {187, 32}, 0},
+ {{3|(10<<4)}, {170, 48}, 0},
+ {{3|(11<<4)}, {187, 48}, 1},
+ {{4|(7<<4)}, {153, 48}, 1},
+//cs15
+ {{3|(12<<4)}, {221, 48}, 1},
+
+ {{4|(9<<4)}, {221, 64}, 1},
+ {{4|(8<<4)}, {204, 64}, 1},
+//cs16
+ {{3|(0<<4)}, { 0, 48}, 1},
+ {{4|(0<<4)}, { 0, 64}, 1},
+ {{4|(1<<4)}, { 17, 64}, 1},
+ {{4|(2<<4)}, { 34, 64}, 1},
+};
+#endif
diff --git a/keyboards/e6_rgb/e6_rgb.h b/keyboards/e6_rgb/e6_rgb.h
new file mode 100644
index 00000000000..01f700c0097
--- /dev/null
+++ b/keyboards/e6_rgb/e6_rgb.h
@@ -0,0 +1,83 @@
+ /**
+ * e6_rgb.h
+ *
+ */
+#pragma once
+
+#include "quantum.h"
+
+// This a shortcut to help you visually see your layout.
+// The first section contains all of the arguements
+// The second converts the arguments into a two-dimensional array
+#define LAYOUT_60_ansi( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
+ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
+ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
+ k40, k42, k43, k47, k48, k49, k4a, k4b \
+) \
+{ \
+ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO}, \
+ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e}, \
+ {k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k0e}, \
+ {k30, k32, k33, k34, k35, k36, k37, k38, KC_NO, k39, k3a, k3b, k3c, KC_NO}, \
+ {k40, k42, k43, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, KC_NO, k48, k49, k4a, k4b} \
+}
+
+#define LAYOUT_60_wkl( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
+ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
+ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
+ k40, k42, k43, k47, k49, k4a, k4b \
+) \
+{ \
+ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO}, \
+ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e}, \
+ {k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k0e}, \
+ {k30, k32, k33, k34, k35, k36, k37, k38, KC_NO, k39, k3a, k3b, k3c, k3d}, \
+ {k40, k42, k43, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, KC_NO, KC_NO, k49, k4a, k4b} \
+}
+
+#define LAYOUT_60_hhkb( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
+ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
+ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
+ k42, k43, k47, k49, k4a \
+) \
+{ \
+ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
+ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e}, \
+ {k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k0e}, \
+ {k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3c, k3d}, \
+ {KC_NO, k42, k43, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, KC_NO, KC_NO, k49, k4a, KC_NO} \
+}
+#define LAYOUT_60_wkl_split_bs( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
+ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
+ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
+ k40, k42, k43, k47, k49, k4a, k4b \
+) \
+{ \
+ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
+ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e}, \
+ {k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k0e}, \
+ {k30, k32, k33, k34, k35, k36, k37, k38, KC_NO, k39, k3a, k3b, k3c, k3d}, \
+ {k40, k42, k43, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, KC_NO, KC_NO, k49, k4a, k4b} \
+}
+#define LAYOUT_60_ansi_split_bs_shift( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
+ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
+ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
+ k40, k42, k43, k47, k48, k49, k4a, k4b \
+) \
+{ \
+ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
+ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e}, \
+ {k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k0e}, \
+ {k30, k32, k33, k34, k35, k36, k37, k38, KC_NO, k39, k3a, k3b, k3c, k3d}, \
+ {k40, k42, k43, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, KC_NO, k48, k49, k4a, k4b} \
+}
diff --git a/keyboards/e6_rgb/info.json b/keyboards/e6_rgb/info.json
new file mode 100644
index 00000000000..80f3610029f
--- /dev/null
+++ b/keyboards/e6_rgb/info.json
@@ -0,0 +1,21 @@
+{
+ "keyboard_name": "e6_rgb",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 15,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_60_wkl": {
+ "key_count":61,
+ "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
+ },
+ "LAYOUT_60_ansi": {
+ "key_count":61,
+ "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
+ },
+ "LAYOUT_60_hhkb": {
+ "key_count":60,
+ "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}]
+ }
+ }
+}
diff --git a/keyboards/e6_rgb/keymaps/60_ansi/keymap.c b/keyboards/e6_rgb/keymaps/60_ansi/keymap.c
new file mode 100644
index 00000000000..0f7f09f5516
--- /dev/null
+++ b/keyboards/e6_rgb/keymaps/60_ansi/keymap.c
@@ -0,0 +1,29 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Layer 0: Default Layer
+ * ,-----------------------------------------------------------.
+ * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BSp |
+ * |-----------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
+ * |-----------------------------------------------------------|
+ * |Contro| A| S| D| F| G| H| J| K| L| ;| '|Enter |
+ * |-----------------------------------------------------------|
+ * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn0|
+ * |-----------------------------------------------------------'
+ * |Ctrl |Gui|Alt | Space |Alt |Gui|Fn |Ctrl |
+ * `-----------------------------------------------------------'
+ */
+ [0] = LAYOUT_60_ansi(
+ KC_GRV, 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_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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,\
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
+ [1] = LAYOUT_60_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,\
+ RESET, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
+ _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,_______,_______,_______,\
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
+ _______,_______,_______, _______, _______,_______,_______,_______),
+};
diff --git a/keyboards/e6_rgb/keymaps/60_ansi_split_bs_shift/keymap.c b/keyboards/e6_rgb/keymaps/60_ansi_split_bs_shift/keymap.c
new file mode 100644
index 00000000000..1ecde0089ce
--- /dev/null
+++ b/keyboards/e6_rgb/keymaps/60_ansi_split_bs_shift/keymap.c
@@ -0,0 +1,16 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_60_ansi_split_bs_shift(
+ KC_ESC, 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_BSLS, KC_GRV,\
+ 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_BSPC,\
+ KC_LCTRL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_END,\
+ KC_CAPS, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_RALT, KC_RGUI, TG(1), KC_RCTL),
+ [1] = LAYOUT_60_ansi_split_bs_shift(
+ _______, 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_PSCR,\
+ RESET, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,\
+ _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,_______,_______,_______,\
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
+ _______,_______,_______, _______, _______,_______,TG(0),_______),
+};
diff --git a/keyboards/e6_rgb/keymaps/60_hhkb/keymap.c b/keyboards/e6_rgb/keymaps/60_hhkb/keymap.c
new file mode 100644
index 00000000000..e1d2cca3728
--- /dev/null
+++ b/keyboards/e6_rgb/keymaps/60_hhkb/keymap.c
@@ -0,0 +1,16 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_60_hhkb(
+ KC_ESC, 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_BSLS, KC_GRV,\
+ 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_BSPC,\
+ KC_LCTRL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS,\
+ KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1)),
+ [1] = LAYOUT_60_hhkb(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,_______,\
+ RESET, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
+ _______,_______, _______, _______,_______),
+};
diff --git a/keyboards/e6_rgb/keymaps/60_wkl/keymap.c b/keyboards/e6_rgb/keymaps/60_wkl/keymap.c
new file mode 100644
index 00000000000..e149c7f06ba
--- /dev/null
+++ b/keyboards/e6_rgb/keymaps/60_wkl/keymap.c
@@ -0,0 +1,16 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_60_wkl(
+ KC_GRV, 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_BSLS,\
+ 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_BSPC,\
+ KC_LCTRL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_DEL,\
+ KC_CAPS, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_RALT, TG(1), KC_RCTL),
+ [1] = LAYOUT_60_wkl(
+ KC_ESC, 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,\
+ RESET, RGB_TOG, RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,\
+ _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,_______,_______,_______,\
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
+ _______,_______,_______, _______, _______,TG(0),_______),
+};
diff --git a/keyboards/e6_rgb/keymaps/60_wkl_split_bs/keymap.c b/keyboards/e6_rgb/keymaps/60_wkl_split_bs/keymap.c
new file mode 100644
index 00000000000..d9a7885eb8d
--- /dev/null
+++ b/keyboards/e6_rgb/keymaps/60_wkl_split_bs/keymap.c
@@ -0,0 +1,16 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_60_wkl_split_bs(
+ KC_ESC, 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_BSLS, KC_GRV,\
+ 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_BSPC,\
+ KC_LCTRL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_END,\
+ KC_CAPS, KC_LGUI, KC_LALT, LT(1,KC_SPC), KC_RALT, TG(1), KC_RCTL),
+ [1] = LAYOUT_60_wkl_split_bs(
+ _______, 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_PSCR,\
+ RESET, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,\
+ _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP,KC_RIGHT,_______,_______,_______,\
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
+ _______,_______,_______, _______, _______,TG(0),_______),
+};
diff --git a/keyboards/e6_rgb/readme.md b/keyboards/e6_rgb/readme.md
new file mode 100644
index 00000000000..6433dd74d01
--- /dev/null
+++ b/keyboards/e6_rgb/readme.md
@@ -0,0 +1,12 @@
+# e6 pcb with rgb
+
+A full rgb pcb for exclusive E6V1&V2
+
+Keyboard Maintainer: [astro](https://github.com/yulei)
+Hardware Supported: E6V1, E6V2
+
+Make example for this keyboard (after setting up your build environment):
+
+ make e6_rgb:60_ansi
+
+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/e6_rgb/rules.mk b/keyboards/e6_rgb/rules.mk
new file mode 100644
index 00000000000..9e4e0f58f5f
--- /dev/null
+++ b/keyboards/e6_rgb/rules.mk
@@ -0,0 +1,77 @@
+# MCU name
+MCU = atmega32u4
+
+# project specific files
+#SRC =
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+# Boot Section Size in *bytes*
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+BOOTLOADER = atmel-dfu
+#OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+#OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
+MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+#RGBLIGHT_ENABLE = yes # Use RGB bottom light
+RGB_MATRIX_ENABLE = IS31FL3733# Use RGB matrix
+LAYOUTS = 60_ansi 60_hhkb
diff --git a/keyboards/e6v2/le/config.h b/keyboards/e6v2/le/config.h
index e1554515034..580929ba8af 100644
--- a/keyboards/e6v2/le/config.h
+++ b/keyboards/e6v2/le/config.h
@@ -56,10 +56,4 @@ along with this program. If not, see .
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCING_DELAY 5
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
- )
-
-
-
#endif
diff --git a/keyboards/e6v2/oe/config.h b/keyboards/e6v2/oe/config.h
index b80afcb51ae..0bb89eba6db 100644
--- a/keyboards/e6v2/oe/config.h
+++ b/keyboards/e6v2/oe/config.h
@@ -56,10 +56,4 @@ along with this program. If not, see .
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCING_DELAY 5
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
- )
-
-
-
#endif
diff --git a/keyboards/eco/config.h b/keyboards/eco/config.h
index f6b78631ea0..f5820eafca1 100644
--- a/keyboards/eco/config.h
+++ b/keyboards/eco/config.h
@@ -45,11 +45,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/ep/40/config.h b/keyboards/ep/40/config.h
index 90630cd68d4..0a2495953d6 100644
--- a/keyboards/ep/40/config.h
+++ b/keyboards/ep/40/config.h
@@ -91,10 +91,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/ep/96/config.h b/keyboards/ep/96/config.h
index 0c37e4c5960..9438553093b 100644
--- a/keyboards/ep/96/config.h
+++ b/keyboards/ep/96/config.h
@@ -56,7 +56,6 @@ along with this program. If not, see .
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -209,4 +203,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/ergo42/rev1/config.h b/keyboards/ergo42/rev1/config.h
index a7edb409724..f9d909cc7e9 100644
--- a/keyboards/ergo42/rev1/config.h
+++ b/keyboards/ergo42/rev1/config.h
@@ -59,11 +59,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
@@ -87,5 +82,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/ergodash/mini/config.h b/keyboards/ergodash/mini/config.h
index 11cff145e18..fc63cc1e9d2 100644
--- a/keyboards/ergodash/mini/config.h
+++ b/keyboards/ergodash/mini/config.h
@@ -66,11 +66,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/ergodash/rev1/config.h b/keyboards/ergodash/rev1/config.h
index d3f3314ee61..160e703629f 100644
--- a/keyboards/ergodash/rev1/config.h
+++ b/keyboards/ergodash/rev1/config.h
@@ -56,11 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
@@ -84,5 +79,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/ergodash/rev2/config.h b/keyboards/ergodash/rev2/config.h
index 5f9c689916b..09657250b13 100644
--- a/keyboards/ergodash/rev2/config.h
+++ b/keyboards/ergodash/rev2/config.h
@@ -63,11 +63,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
@@ -91,5 +86,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/ergodone/config.h b/keyboards/ergodone/config.h
index 2c764d782c1..815af357dea 100644
--- a/keyboards/ergodone/config.h
+++ b/keyboards/ergodone/config.h
@@ -37,8 +37,8 @@
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
)
/* number of backlight levels */
diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h
index ee768853a98..096368f7abc 100644
--- a/keyboards/ergodox_ez/config.h
+++ b/keyboards/ergodox_ez/config.h
@@ -55,8 +55,8 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
)
/* number of backlight levels */
diff --git a/keyboards/ergodox_ez/i2cmaster.h b/keyboards/ergodox_ez/i2cmaster.h
deleted file mode 100644
index 3917b9e6c00..00000000000
--- a/keyboards/ergodox_ez/i2cmaster.h
+++ /dev/null
@@ -1,178 +0,0 @@
-#ifndef _I2CMASTER_H
-#define _I2CMASTER_H 1
-/*************************************************************************
-* Title: C include file for the I2C master interface
-* (i2cmaster.S or twimaster.c)
-* Author: Peter Fleury http://jump.to/fleury
-* File: $Id: i2cmaster.h,v 1.10 2005/03/06 22:39:57 Peter Exp $
-* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3
-* Target: any AVR device
-* Usage: see Doxygen manual
-**************************************************************************/
-
-#ifdef DOXYGEN
-/**
- @defgroup pfleury_ic2master I2C Master library
- @code #include @endcode
-
- @brief I2C (TWI) Master Software Library
-
- Basic routines for communicating with I2C slave devices. This single master
- implementation is limited to one bus master on the I2C bus.
-
- This I2c library is implemented as a compact assembler software implementation of the I2C protocol
- which runs on any AVR (i2cmaster.S) and as a TWI hardware interface for all AVR with built-in TWI hardware (twimaster.c).
- Since the API for these two implementations is exactly the same, an application can be linked either against the
- software I2C implementation or the hardware I2C implementation.
-
- Use 4.7k pull-up resistor on the SDA and SCL pin.
-
- Adapt the SCL and SDA port and pin definitions and eventually the delay routine in the module
- i2cmaster.S to your target when using the software I2C implementation !
-
- Adjust the CPU clock frequence F_CPU in twimaster.c or in the Makfile when using the TWI hardware implementaion.
-
- @note
- The module i2cmaster.S is based on the Atmel Application Note AVR300, corrected and adapted
- to GNU assembler and AVR-GCC C call interface.
- Replaced the incorrect quarter period delays found in AVR300 with
- half period delays.
-
- @author Peter Fleury pfleury@gmx.ch http://jump.to/fleury
-
- @par API Usage Example
- The following code shows typical usage of this library, see example test_i2cmaster.c
-
- @code
-
- #include
-
-
- #define Dev24C02 0xA2 // device address of EEPROM 24C02, see datasheet
-
- int main(void)
- {
- unsigned char ret;
-
- i2c_init(); // initialize I2C library
-
- // write 0x75 to EEPROM address 5 (Byte Write)
- i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode
- i2c_write(0x05); // write address = 5
- i2c_write(0x75); // write value 0x75 to EEPROM
- i2c_stop(); // set stop conditon = release bus
-
-
- // read previously written value back from EEPROM address 5
- i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode
-
- i2c_write(0x05); // write address = 5
- i2c_rep_start(Dev24C02+I2C_READ); // set device address and read mode
-
- ret = i2c_readNak(); // read one byte from EEPROM
- i2c_stop();
-
- for(;;);
- }
- @endcode
-
-*/
-#endif /* DOXYGEN */
-
-/**@{*/
-
-#if (__GNUC__ * 100 + __GNUC_MINOR__) < 304
-#error "This library requires AVR-GCC 3.4 or later, update to newer AVR-GCC compiler !"
-#endif
-
-#include
-
-/** defines the data direction (reading from I2C device) in i2c_start(),i2c_rep_start() */
-#define I2C_READ 1
-
-/** defines the data direction (writing to I2C device) in i2c_start(),i2c_rep_start() */
-#define I2C_WRITE 0
-
-
-/**
- @brief initialize the I2C master interace. Need to be called only once
- @param void
- @return none
- */
-extern void i2c_init(void);
-
-
-/**
- @brief Terminates the data transfer and releases the I2C bus
- @param void
- @return none
- */
-extern void i2c_stop(void);
-
-
-/**
- @brief Issues a start condition and sends address and transfer direction
-
- @param addr address and transfer direction of I2C device
- @retval 0 device accessible
- @retval 1 failed to access device
- */
-extern unsigned char i2c_start(unsigned char addr);
-
-
-/**
- @brief Issues a repeated start condition and sends address and transfer direction
-
- @param addr address and transfer direction of I2C device
- @retval 0 device accessible
- @retval 1 failed to access device
- */
-extern unsigned char i2c_rep_start(unsigned char addr);
-
-
-/**
- @brief Issues a start condition and sends address and transfer direction
-
- If device is busy, use ack polling to wait until device ready
- @param addr address and transfer direction of I2C device
- @return none
- */
-extern void i2c_start_wait(unsigned char addr);
-
-
-/**
- @brief Send one byte to I2C device
- @param data byte to be transfered
- @retval 0 write successful
- @retval 1 write failed
- */
-extern unsigned char i2c_write(unsigned char data);
-
-
-/**
- @brief read one byte from the I2C device, request more data from device
- @return byte read from I2C device
- */
-extern unsigned char i2c_readAck(void);
-
-/**
- @brief read one byte from the I2C device, read is followed by a stop condition
- @return byte read from I2C device
- */
-extern unsigned char i2c_readNak(void);
-
-/**
- @brief read one byte from the I2C device
-
- Implemented as a macro, which calls either i2c_readAck or i2c_readNak
-
- @param ack 1 send ack, request more data from device
- 0 send nak, read is followed by a stop condition
- @return byte read from I2C device
- */
-extern unsigned char i2c_read(unsigned char ack);
-#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak();
-
-
-/**@}*/
-#endif
diff --git a/keyboards/ergodox_ez/keymaps/testing/keymap.c b/keyboards/ergodox_ez/keymaps/testing/keymap.c
index df0ed073f20..2fdd1223638 100644
--- a/keyboards/ergodox_ez/keymaps/testing/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/testing/keymap.c
@@ -28,10 +28,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_TAP_TOGGLE(1)
-};
-
// leaving this in place for compatibilty with old keymaps cloned and re-compiled.
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
diff --git a/keyboards/ergodox_ez/twimaster.c b/keyboards/ergodox_ez/twimaster.c
deleted file mode 100644
index f91c08e6e4e..00000000000
--- a/keyboards/ergodox_ez/twimaster.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*************************************************************************
-* Title: I2C master library using hardware TWI interface
-* Author: Peter Fleury http://jump.to/fleury
-* File: $Id: twimaster.c,v 1.3 2005/07/02 11:14:21 Peter Exp $
-* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3
-* Target: any AVR device with hardware TWI
-* Usage: API compatible with I2C Software Library i2cmaster.h
-**************************************************************************/
-#include
-#include
-
-#include
-
-
-/* define CPU frequency in Mhz here if not defined in Makefile */
-#ifndef F_CPU
-#define F_CPU 16000000UL
-#endif
-
-/* I2C clock in Hz */
-#define SCL_CLOCK 400000L
-
-
-/*************************************************************************
- Initialization of the I2C bus interface. Need to be called only once
-*************************************************************************/
-void i2c_init(void)
-{
- /* initialize TWI clock
- * minimal values in Bit Rate Register (TWBR) and minimal Prescaler
- * bits in the TWI Status Register should give us maximal possible
- * I2C bus speed - about 444 kHz
- *
- * for more details, see 20.5.2 in ATmega16/32 secification
- */
-
- TWSR = 0; /* no prescaler */
- TWBR = 10; /* must be >= 10 for stable operation */
-
-}/* i2c_init */
-
-
-/*************************************************************************
- Issues a start condition and sends address and transfer direction.
- return 0 = device accessible, 1= failed to access device
-*************************************************************************/
-unsigned char i2c_start(unsigned char address)
-{
- uint8_t twst;
-
- // send START condition
- TWCR = (1<.
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
)
/* key matrix size */
diff --git a/keyboards/ergodox_infinity/keymaps/halfkeyboard/config.h b/keyboards/ergodox_infinity/keymaps/halfkeyboard/config.h
index 187ce87034e..2e83f799c7c 100644
--- a/keyboards/ergodox_infinity/keymaps/halfkeyboard/config.h
+++ b/keyboards/ergodox_infinity/keymaps/halfkeyboard/config.h
@@ -49,8 +49,8 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
)
/* key matrix size */
diff --git a/keyboards/ergoinu/config.h b/keyboards/ergoinu/config.h
index de72635b19d..a59e5da745a 100644
--- a/keyboards/ergoinu/config.h
+++ b/keyboards/ergoinu/config.h
@@ -64,11 +64,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN B6
diff --git a/keyboards/ergotravel/keymaps/rs/config.h b/keyboards/ergotravel/keymaps/rs/config.h
new file mode 100644
index 00000000000..eeca26ce1db
--- /dev/null
+++ b/keyboards/ergotravel/keymaps/rs/config.h
@@ -0,0 +1,38 @@
+/*
+Copyright 2017 Pierre Constantineau
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#undef RGBLED_NUM
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 12
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+
diff --git a/keyboards/ergotravel/keymaps/rs/keymap.c b/keyboards/ergotravel/keymaps/rs/keymap.c
new file mode 100644
index 00000000000..634e97c49c7
--- /dev/null
+++ b/keyboards/ergotravel/keymaps/rs/keymap.c
@@ -0,0 +1,59 @@
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _HYPER,
+ _SIGN
+};
+
+
+#define KC_ KC_TRNS
+
+#define KC_ESCC MT(MOD_LCTL, KC_ESC)
+#define KC_ENTS MT(MOD_LSFT, KC_ENT)
+#define KC_HYPE MO(_HYPER)
+#define KC_SIGN MO(_SIGN)
+#define KC_RST RESET
+// Brightness
+#define KC_BRUP KC_PAUS
+#define KC_BRDN KC_SLCK
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_kc(
+ //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
+ TAB , Q , W , E , R , T , GRV, BSLS, Y , U , I , O , P ,EQL ,
+ //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
+ ESCC, A , S , D , F , G ,PIPE, MINS, H , J , K , L ,SCLN,QUOT,
+ //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
+ LSFT, Z , X , C , V , B , SPC, BSPC, N , M ,COMM,DOT ,SLSH,ENTS,
+ //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----|
+ SIGN, ,LCTL,LALT,LGUI, SPC, BSPC, HYPE,LEFT, UP ,DOWN,RIGHT
+ //`----+----+----+--+-+----/----/ \----\----+----+----+----+----'
+ ),
+
+
+ [_HYPER] = LAYOUT_kc(
+ //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
+ GRV , 1 , 2 , 3 , 4 , 5 , , , 6 , 7 , 8 , 9 , 0 , ,
+ //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
+ , , ,PGUP, , , , , , , UP ,LBRC,RBRC,BSLS,
+ //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
+ , ,HOME,PGDN,END , , , VOLU, ,LEFT,DOWN,RGHT, ,PIPE,
+ //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----|
+ , , , , , , VOLD, ,MUTE, , ,
+ //`----+----+----+----+----/----/ \----\----+----+----+----+----'
+ ),
+
+ [_SIGN] = LAYOUT_kc(
+ //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
+ TILD,EXLM, AT ,HASH,DLR ,PERC, , ,CIRC,AMPR,ASTR,LBRC,RBRC, ,
+ //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
+ RST , F1 , F2 , F3 , F4 , F5 , F6 , , , , ,LCBR,RCBR,PIPE,
+ //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
+ , 1 , 2 , 3 , 4 , 5 , , BRUP, 6 , 7 , 8 , 9 , 0 , ,
+ //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----|
+ , , , , , , BRDN, , , , ,
+ //`----+----+----+----+----/----/ \----\----+----+----+----+----'
+ ),
+};
\ No newline at end of file
diff --git a/keyboards/ergotravel/keymaps/rs/readme.md b/keyboards/ergotravel/keymaps/rs/readme.md
new file mode 100644
index 00000000000..93b87cc23a1
--- /dev/null
+++ b/keyboards/ergotravel/keymaps/rs/readme.md
@@ -0,0 +1,13 @@
+# Code friendly 60% keymap
+
+I developped this keymap to make a better use of 60% ortho keyboards I use like the preonic of the iris. Instead of trying to mimic the Planck layout like the default preonic keymap, this keymap removes the raise and lower layers and offers a simpler hyper layer concept for a few missing sign keys and cursors / media keys.
+
+The important part for coders is that most important signs needed to code are available at their usual position on a full keyboard, without complex layer gymnastic. Access to [] and {} are available on the hyper layer at their usual emplacement.
+
+The right thumb is used for both backspace and hyper layer switching. On the hyper layer, in addition to some coding signs, you get the cursor keys arranged in cross, just under your right fingers, so you don't have to move your hand when navigating in code or command line. Other hand gets the home/end page up/down in a similar layout.
+
+Because you sometime have to use your internal keyboard when you use a macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the hyper layer / backspace on right command key etc.
+
+This keymap is also available for other keyboards:
+- [ortho_5x12/rs](../../../../layouts/community/ortho_5x12/rs/keymap.c)
+- [Iris/rs](../../../iris/keymaps/rs/keymap.c)
diff --git a/keyboards/ergotravel/keymaps/rs/rules.mk b/keyboards/ergotravel/keymaps/rs/rules.mk
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/keyboards/ergotravel/rev1/config.h b/keyboards/ergotravel/rev1/config.h
index e6d557361c0..1d8a60afdd0 100644
--- a/keyboards/ergotravel/rev1/config.h
+++ b/keyboards/ergotravel/rev1/config.h
@@ -51,11 +51,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
diff --git a/keyboards/espectro/config.h b/keyboards/espectro/config.h
index 294091d5822..438530c4109 100755
--- a/keyboards/espectro/config.h
+++ b/keyboards/espectro/config.h
@@ -42,7 +42,6 @@
#define BACKLIGHT_PIN B6
#define BACKLIGHT_LEVELS 5
-
/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 5
@@ -52,11 +51,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLED_NUM 18
@@ -67,4 +61,3 @@
#define RGBLIGHT_ANIMATIONS
#endif
-
diff --git a/keyboards/evil80/config.h b/keyboards/evil80/config.h
index 81138a7703c..6bb28614644 100644
--- a/keyboards/evil80/config.h
+++ b/keyboards/evil80/config.h
@@ -40,11 +40,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/facew/config.h b/keyboards/facew/config.h
index d424404865e..c952ca73723 100644
--- a/keyboards/facew/config.h
+++ b/keyboards/facew/config.h
@@ -43,7 +43,4 @@ along with this program. If not, see .
#define NO_UART 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/fc660c/config.h b/keyboards/fc660c/config.h
index 9771c8c03d7..96f04b097c1 100644
--- a/keyboards/fc660c/config.h
+++ b/keyboards/fc660c/config.h
@@ -52,13 +52,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
// #define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/fc980c/config.h b/keyboards/fc980c/config.h
index 1b1f41c9091..a6cb9775626 100644
--- a/keyboards/fc980c/config.h
+++ b/keyboards/fc980c/config.h
@@ -56,13 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
// #define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/felix/config.h b/keyboards/felix/config.h
index 003fe87dc83..0e5dd9d2d19 100644
--- a/keyboards/felix/config.h
+++ b/keyboards/felix/config.h
@@ -37,12 +37,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
/* there is no rgb underglow by default. */
#define RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/fleuron/config.h b/keyboards/fleuron/config.h
index a3ff43b06ba..cccb798be07 100644
--- a/keyboards/fleuron/config.h
+++ b/keyboards/fleuron/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -105,11 +104,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/fortitude60/rev1/config.h b/keyboards/fortitude60/rev1/config.h
index b89f5c7df92..2fa179ae2ef 100644
--- a/keyboards/fortitude60/rev1/config.h
+++ b/keyboards/fortitude60/rev1/config.h
@@ -58,11 +58,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN B5
diff --git a/keyboards/four_banger/config.h b/keyboards/four_banger/config.h
index 761ddba7151..4567cec8e02 100644
--- a/keyboards/four_banger/config.h
+++ b/keyboards/four_banger/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E6
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/hadron/ver0/config.h b/keyboards/fourier/keymaps/maxim/config.h
similarity index 67%
rename from keyboards/hadron/ver0/config.h
rename to keyboards/fourier/keymaps/maxim/config.h
index 2157a52cee0..fb13b56cdc7 100644
--- a/keyboards/hadron/ver0/config.h
+++ b/keyboards/fourier/keymaps/maxim/config.h
@@ -1,5 +1,8 @@
/*
+This is the c configuration file for the keymap
+
Copyright 2012 Jun Wako
+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
@@ -14,19 +17,13 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
+
#pragma once
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0001
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 15
-
-/* Hadron Ver0 PCB default pin-out */
-#define MATRIX_ROW_PINS { D7, E6, B4, B5, B6 }
-#define MATRIX_COL_PINS { F6, F7, C6, C7, F5, F4, F1, F0, D2, D3, D5, B3, B2, B1, B0 }
-#define UNUSED_PINS
+#include "config_common.h"
+/* Use I2C or Serial, not both */
+#define USE_SERIAL
+// #define USE_I2C
diff --git a/keyboards/fourier/keymaps/maxim/keymap.c b/keyboards/fourier/keymaps/maxim/keymap.c
new file mode 100644
index 00000000000..68bd649ecc2
--- /dev/null
+++ b/keyboards/fourier/keymaps/maxim/keymap.c
@@ -0,0 +1,45 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+// 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.
+#define _BASE 0
+#define _FN1 1
+#define _FN2 2
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+};
+
+
+#define FN1 MO(_FN1)
+#define FN2 MO(_FN2)
+#define SPFN1 LT(_FN1, KC_SPACE)
+#define BSFN2 LT(_FN2, KC_BSPC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ XXXXXXX, KC_LCTL, KC_LALT, XXXXXXX, KC_SPC, FN1, KC_RCTL, KC_RGUI, FN2, XXXXXXX
+ ),
+
+ [_FN1] = LAYOUT(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
+ RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______,
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_UP, _______,
+ RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_0, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN2] = LAYOUT(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS,
+ _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, _______, _______, _______, KC_COLN, _______,
+ _______, _______, _______, KC_DEL, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______
+ )
+
+};
diff --git a/keyboards/fourier/rev1/config.h b/keyboards/fourier/rev1/config.h
index d9913d7dee6..601d843e713 100644
--- a/keyboards/fourier/rev1/config.h
+++ b/keyboards/fourier/rev1/config.h
@@ -35,11 +35,17 @@ along with this program. If not, see .
#define MATRIX_ROW_PINS { F4, D7, E6, B4 }
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
+#define QMK_ESC_OUTPUT F5
+#define QMK_ESC_INPUT F4
+#define QMK_LED B0
+#define QMK_SPEAKER C6
+
/* Split Defines */
#define SPLIT_HAND_PIN D2
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
+
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
@@ -51,11 +57,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/fractal/config.h b/keyboards/fractal/config.h
index 396c3b4b949..fce0931c216 100755
--- a/keyboards/fractal/config.h
+++ b/keyboards/fractal/config.h
@@ -39,11 +39,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/gergo/config.h b/keyboards/gergo/config.h
index a795f8dba11..e4c61ecb07c 100644
--- a/keyboards/gergo/config.h
+++ b/keyboards/gergo/config.h
@@ -24,11 +24,11 @@ along with this program. If not, see .
/* Defaults */
#ifndef BALLSTEP
#define BALLSTEP 20
-#endif
+#endif
#ifndef SCROLLSTEP
#define SCROLLSTEP 1
-#endif
+#endif
#define VERBOSE
@@ -36,7 +36,7 @@ along with this program. If not, see .
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1307
#define DEVICE_VER 0x0001
-#define MANUFACTURER g Heavy Industries
+#define MANUFACTURER g Heavy Industries
#define PRODUCT Gergo
#define DESCRIPTION QMK keyboard firmware for Gergo
@@ -65,8 +65,8 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
)
#define DEBOUNCE 5
diff --git a/keyboards/gh60/config.h b/keyboards/gh60/config.h
index 97753bc069d..a99dd4e59b4 100644
--- a/keyboards/gh60/config.h
+++ b/keyboards/gh60/config.h
@@ -99,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/gh60/keymaps/dbroqua/config.h b/keyboards/gh60/keymaps/dbroqua/config.h
index fd63c9a8f76..380b8303f31 100644
--- a/keyboards/gh60/keymaps/dbroqua/config.h
+++ b/keyboards/gh60/keymaps/dbroqua/config.h
@@ -96,11 +96,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/gh60/keymaps/robotmaxtron/config.h b/keyboards/gh60/keymaps/robotmaxtron/config.h
index 925a69efe09..ec2f8ceea08 100644
--- a/keyboards/gh60/keymaps/robotmaxtron/config.h
+++ b/keyboards/gh60/keymaps/robotmaxtron/config.h
@@ -99,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/gh80_3000/config.h b/keyboards/gh80_3000/config.h
index ca72aba5aa3..7fb41831285 100644
--- a/keyboards/gh80_3000/config.h
+++ b/keyboards/gh80_3000/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/gonnerd/config.h b/keyboards/gonnerd/config.h
index cad8fe58618..40615da5fca 100644
--- a/keyboards/gonnerd/config.h
+++ b/keyboards/gonnerd/config.h
@@ -35,9 +35,4 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/gskt00/config.h b/keyboards/gskt00/config.h
index f36493f2889..376f89dbe8d 100755
--- a/keyboards/gskt00/config.h
+++ b/keyboards/gskt00/config.h
@@ -30,10 +30,3 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
diff --git a/keyboards/h87a/config.h b/keyboards/h87a/config.h
index a98b7b2832d..a7a94a0bc9c 100644
--- a/keyboards/h87a/config.h
+++ b/keyboards/h87a/config.h
@@ -52,7 +52,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -66,11 +65,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN D3
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/hadron/config.h b/keyboards/hadron/config.h
index d54d2c54375..7024f8fcbf7 100644
--- a/keyboards/hadron/config.h
+++ b/keyboards/hadron/config.h
@@ -26,9 +26,6 @@ along with this program. If not, see .
#define PRODUCT Hadron Keyboard
#define DESCRIPTION A low profile ortholinear keyboard
-
-
-
//#define AUDIO_VOICES
//#define BACKLIGHT_PIN B7
@@ -50,11 +47,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
@@ -72,5 +64,3 @@ along with this program. If not, see .
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
-
diff --git a/keyboards/hadron/ver0/rules.mk b/keyboards/hadron/ver0/rules.mk
deleted file mode 100644
index a3952a5d338..00000000000
--- a/keyboards/hadron/ver0/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-#AUDIO_ENABLE ?= yes # Audio output on port C6
\ No newline at end of file
diff --git a/keyboards/hadron/ver0/ver0.c b/keyboards/hadron/ver0/ver0.c
deleted file mode 100644
index acb3a9105f7..00000000000
--- a/keyboards/hadron/ver0/ver0.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "ver0.h"
\ No newline at end of file
diff --git a/keyboards/hadron/ver0/ver0.h b/keyboards/hadron/ver0/ver0.h
deleted file mode 100644
index 5710af322e8..00000000000
--- a/keyboards/hadron/ver0/ver0.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef VER0_H
-#define VER0_H
-
-#include "../hadron.h"
-
-#endif
\ No newline at end of file
diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h
index 7db5003043f..d6c3830dfd4 100644
--- a/keyboards/hadron/ver3/config.h
+++ b/keyboards/hadron/ver3/config.h
@@ -27,7 +27,6 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
-
//Audio
#undef AUDIO_VOICES
#undef C6_AUDIO
@@ -96,11 +95,6 @@
*/
//#define FORCE_NKRO
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
@@ -167,7 +161,6 @@
#endif
-
/* Control 1 register settings */
#define DRIVE_TIME 25
#define AC_COUPLE 0
diff --git a/keyboards/handwired/108key_trackpoint/config.h b/keyboards/handwired/108key_trackpoint/config.h
index 7a63fe26286..a773a72b1aa 100644
--- a/keyboards/handwired/108key_trackpoint/config.h
+++ b/keyboards/handwired/108key_trackpoint/config.h
@@ -65,9 +65,3 @@
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-
-/* key combination for commkand */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
diff --git a/keyboards/handwired/arrow_pad/config.h b/keyboards/handwired/arrow_pad/config.h
index 3d8d8709a5e..1ae3d21c441 100644
--- a/keyboards/handwired/arrow_pad/config.h
+++ b/keyboards/handwired/arrow_pad/config.h
@@ -98,11 +98,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
index a095e873743..9b6ecfaa36d 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
@@ -96,11 +96,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
index e940acaa0c1..db89e4b844f 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
@@ -98,11 +98,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/atreus50/config.h b/keyboards/handwired/atreus50/config.h
index 2e34e0f8980..4cdc7ed125d 100644
--- a/keyboards/handwired/atreus50/config.h
+++ b/keyboards/handwired/atreus50/config.h
@@ -44,7 +44,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -58,7 +57,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
/* ws2812 RGB LED */
#define RGB_DI_PIN C6
#define RGBLIGHT_ANIMATIONS
@@ -67,7 +65,6 @@ along with this program. If not, see .
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
-
/*
* Force NKRO
*
@@ -101,11 +98,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/bluepill/config.h b/keyboards/handwired/bluepill/config.h
index aeab1808a8c..6d583b98966 100644
--- a/keyboards/handwired/bluepill/config.h
+++ b/keyboards/handwired/bluepill/config.h
@@ -29,11 +29,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlighting include */
/*#define BACKLIGHT_PIN 19
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/handwired/cmd60/config.h b/keyboards/handwired/cmd60/config.h
index 27eb400b878..e95cac1e49c 100644
--- a/keyboards/handwired/cmd60/config.h
+++ b/keyboards/handwired/cmd60/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/dactyl/config.h b/keyboards/handwired/dactyl/config.h
index 08931ecd345..8d42c0ae478 100644
--- a/keyboards/handwired/dactyl/config.h
+++ b/keyboards/handwired/dactyl/config.h
@@ -53,8 +53,8 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
)
/* fix space cadet rollover issue */
diff --git a/keyboards/handwired/dactyl_manuform/config.h b/keyboards/handwired/dactyl_manuform/config.h
index 0e6f3f98ed6..5e7605d3ab7 100644
--- a/keyboards/handwired/dactyl_manuform/config.h
+++ b/keyboards/handwired/dactyl_manuform/config.h
@@ -46,11 +46,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Enables This makes it easier for fast typists to use dual-function keys */
#define PERMISSIVE_HOLD
@@ -59,7 +54,6 @@ along with this program. If not, see .
#define RGBLED_NUM 12 // Number of LEDs
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/handwired/datahand/config.h b/keyboards/handwired/datahand/config.h
index 1ba8479f0a1..75d8372bf70 100644
--- a/keyboards/handwired/datahand/config.h
+++ b/keyboards/handwired/datahand/config.h
@@ -71,11 +71,6 @@
* useful if your keyboard/keypad is missing keys and you want magic key support.
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Command/Windows key option
*
diff --git a/keyboards/handwired/downbubble/config.h b/keyboards/handwired/downbubble/config.h
index 0da13a4b15e..77e34ceab7f 100644
--- a/keyboards/handwired/downbubble/config.h
+++ b/keyboards/handwired/downbubble/config.h
@@ -130,11 +130,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/fivethirteen/config.h b/keyboards/handwired/fivethirteen/config.h
index 76596342b48..685d421b126 100644
--- a/keyboards/handwired/fivethirteen/config.h
+++ b/keyboards/handwired/fivethirteen/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/frenchdev/config.h b/keyboards/handwired/frenchdev/config.h
index dd386402c8a..b01eec7aa08 100644
--- a/keyboards/handwired/frenchdev/config.h
+++ b/keyboards/handwired/frenchdev/config.h
@@ -59,8 +59,8 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
)
/*
diff --git a/keyboards/handwired/gamenum/config.h b/keyboards/handwired/gamenum/config.h
index 6af876ab79b..180b1b01ae9 100644
--- a/keyboards/handwired/gamenum/config.h
+++ b/keyboards/handwired/gamenum/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/hexon38/config.h b/keyboards/handwired/hexon38/config.h
index 23eb51e0148..5453eda543a 100644
--- a/keyboards/handwired/hexon38/config.h
+++ b/keyboards/handwired/hexon38/config.h
@@ -33,12 +33,6 @@
/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 5
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/handwired/ibm122m/config.h b/keyboards/handwired/ibm122m/config.h
index 1c8e0587dcf..3986f0ded6f 100644
--- a/keyboards/handwired/ibm122m/config.h
+++ b/keyboards/handwired/ibm122m/config.h
@@ -52,7 +52,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 15
@@ -104,11 +103,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define B6_AUDIO
#define C6_AUDIO
diff --git a/keyboards/handwired/jn68m/config.h b/keyboards/handwired/jn68m/config.h
index 22ab1158d7f..9cb00172376 100644
--- a/keyboards/handwired/jn68m/config.h
+++ b/keyboards/handwired/jn68m/config.h
@@ -47,8 +47,3 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
diff --git a/keyboards/handwired/kbod/config.h b/keyboards/handwired/kbod/config.h
index d3869f99efe..8772ead3a2c 100644
--- a/keyboards/handwired/kbod/config.h
+++ b/keyboards/handwired/kbod/config.h
@@ -52,7 +52,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -99,11 +98,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/maartenwut/config.h b/keyboards/handwired/maartenwut/config.h
index 066f1385603..b939fa1f629 100755
--- a/keyboards/handwired/maartenwut/config.h
+++ b/keyboards/handwired/maartenwut/config.h
@@ -34,11 +34,6 @@
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define QMK_ESC_OUTPUT C6 // usually COL
#define QMK_ESC_INPUT D0 // usually ROW
diff --git a/keyboards/handwired/magicforce61/config.h b/keyboards/handwired/magicforce61/config.h
index bb329541c7c..c6c689ab6c5 100644
--- a/keyboards/handwired/magicforce61/config.h
+++ b/keyboards/handwired/magicforce61/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/magicforce68/config.h b/keyboards/handwired/magicforce68/config.h
index 1e2b7d3e731..dc0a82c94ac 100644
--- a/keyboards/handwired/magicforce68/config.h
+++ b/keyboards/handwired/magicforce68/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/minorca/config.h b/keyboards/handwired/minorca/config.h
index 4cdafcbd2e4..c30d54db709 100644
--- a/keyboards/handwired/minorca/config.h
+++ b/keyboards/handwired/minorca/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/handwired/ms_sculpt_mobile/config.h b/keyboards/handwired/ms_sculpt_mobile/config.h
index c3bdf333e26..6739b44fcf7 100644
--- a/keyboards/handwired/ms_sculpt_mobile/config.h
+++ b/keyboards/handwired/ms_sculpt_mobile/config.h
@@ -46,7 +46,6 @@ along with this program. If not, see .
#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, D4, D5, D6, D7, E0,E1,C1, C0, C3, C2, C5, C4,C7}
#define UNUSED_PINS { B6,B5,B4,B3,B2,B1,B0 }
-
#endif
/* COL2ROW or ROW2COL */
@@ -58,7 +57,6 @@ along with this program. If not, see .
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
-
/*
* Magic Key Options
*
@@ -71,12 +69,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/handwired/nicekey/config.h b/keyboards/handwired/nicekey/config.h
index 652711be849..4af56cc5289 100644
--- a/keyboards/handwired/nicekey/config.h
+++ b/keyboards/handwired/nicekey/config.h
@@ -47,13 +47,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/handwired/not_so_minidox/config.h b/keyboards/handwired/not_so_minidox/config.h
index 3c0af7bf76b..fc6068628d8 100644
--- a/keyboards/handwired/not_so_minidox/config.h
+++ b/keyboards/handwired/not_so_minidox/config.h
@@ -61,11 +61,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* disable debug print */
//#define NO_DEBUG
@@ -79,6 +74,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
-
#endif
diff --git a/keyboards/handwired/numbrero/config.h b/keyboards/handwired/numbrero/config.h
index cbcb1d82613..bb178bd2256 100644
--- a/keyboards/handwired/numbrero/config.h
+++ b/keyboards/handwired/numbrero/config.h
@@ -37,11 +37,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 5
diff --git a/keyboards/handwired/numpad20/config.h b/keyboards/handwired/numpad20/config.h
index 847f2111f52..c597494c416 100644
--- a/keyboards/handwired/numpad20/config.h
+++ b/keyboards/handwired/numpad20/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/onekey/config.h b/keyboards/handwired/onekey/config.h
index c0a6b583921..4a3042eeae4 100644
--- a/keyboards/handwired/onekey/config.h
+++ b/keyboards/handwired/onekey/config.h
@@ -47,13 +47,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/handwired/ortho5x13/config.h b/keyboards/handwired/ortho5x13/config.h
index f85159596ca..1e2128b650b 100644
--- a/keyboards/handwired/ortho5x13/config.h
+++ b/keyboards/handwired/ortho5x13/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/ortho60/config.h b/keyboards/handwired/ortho60/config.h
index dd06f3f9531..7234b54af1b 100644
--- a/keyboards/handwired/ortho60/config.h
+++ b/keyboards/handwired/ortho60/config.h
@@ -48,13 +48,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/handwired/pilcrow/config.h b/keyboards/handwired/pilcrow/config.h
index d63eeba36e8..8f562de3b53 100644
--- a/keyboards/handwired/pilcrow/config.h
+++ b/keyboards/handwired/pilcrow/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/practice60/config.h b/keyboards/handwired/practice60/config.h
index 31ddd77d177..648dd62edcf 100644
--- a/keyboards/handwired/practice60/config.h
+++ b/keyboards/handwired/practice60/config.h
@@ -48,13 +48,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/handwired/prime_exl/config.h b/keyboards/handwired/prime_exl/config.h
index e34fbb8ccc0..c5395dab427 100644
--- a/keyboards/handwired/prime_exl/config.h
+++ b/keyboards/handwired/prime_exl/config.h
@@ -49,8 +49,3 @@ along with this program. If not, see .
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h
index dca0aec2e4e..b5a0a7f4bac 100644
--- a/keyboards/handwired/promethium/config.h
+++ b/keyboards/handwired/promethium/config.h
@@ -95,7 +95,7 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) \
)
/* control how magic key switches layers */
diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c
index a1ca79f9a94..faae89f935d 100644
--- a/keyboards/handwired/promethium/keymaps/default/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/default/keymap.c
@@ -60,7 +60,6 @@ along with this program. If not, see .
// Fillers to make layering clearer
#define _______ KC_TRNS
#define XXXXXXX KC_NO
-#define G(x) LGUI(x)
#define KC_WWWB KC_WWW_BACK
#define KC_WWWF KC_WWW_FORWARD
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
index a1ca79f9a94..faae89f935d 100644
--- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
+++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
@@ -60,7 +60,6 @@ along with this program. If not, see .
// Fillers to make layering clearer
#define _______ KC_TRNS
#define XXXXXXX KC_NO
-#define G(x) LGUI(x)
#define KC_WWWB KC_WWW_BACK
#define KC_WWWF KC_WWW_FORWARD
diff --git a/keyboards/handwired/promethium/matrix.c b/keyboards/handwired/promethium/matrix.c
index 00f2b8e9dca..0b4456e2899 100644
--- a/keyboards/handwired/promethium/matrix.c
+++ b/keyboards/handwired/promethium/matrix.c
@@ -167,7 +167,7 @@ inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* prevent stuck modifiers */
#define PREVENT_STUCK_MODIFIERS
diff --git a/keyboards/handwired/pteron/keymaps/FSund/keymap.c b/keyboards/handwired/pteron/keymaps/FSund/keymap.c
index f34beae0637..a52e8429777 100644
--- a/keyboards/handwired/pteron/keymaps/FSund/keymap.c
+++ b/keyboards/handwired/pteron/keymaps/FSund/keymap.c
@@ -10,10 +10,8 @@ enum pteron_layers {
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
-// use S() to produce shifted versions of keys
-// #define S(kc) LSFT(kc) // defined by default
-
// alt gr
+#undef G
#define G(kc) RALT(kc)
// custom keycodes
diff --git a/keyboards/handwired/qc60/config.h b/keyboards/handwired/qc60/config.h
index 00d095ddf12..aad1d64a036 100644
--- a/keyboards/handwired/qc60/config.h
+++ b/keyboards/handwired/qc60/config.h
@@ -20,8 +20,3 @@
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
diff --git a/keyboards/handwired/reddot/config.h b/keyboards/handwired/reddot/config.h
index 15f11429717..82fe01863d9 100755
--- a/keyboards/handwired/reddot/config.h
+++ b/keyboards/handwired/reddot/config.h
@@ -46,7 +46,6 @@ along with this program. If not, see .
#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, C6, C7, D5, D4, D7, B4, B5, B6, F7, F6, F5, F4, F1, F0 }
#define UNUSED_PINS
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -54,14 +53,12 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
@@ -100,11 +97,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/retro_refit/config.h b/keyboards/handwired/retro_refit/config.h
index f2194e550cc..34def3815ab 100644
--- a/keyboards/handwired/retro_refit/config.h
+++ b/keyboards/handwired/retro_refit/config.h
@@ -54,7 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */
#define FORCE_NKRO
@@ -64,11 +63,6 @@ along with this program. If not, see .
* if your keyboard/keypad is missing keys and you want magic key support.
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/rs60/README.md b/keyboards/handwired/rs60/README.md
new file mode 100644
index 00000000000..07c967e276b
--- /dev/null
+++ b/keyboards/handwired/rs60/README.md
@@ -0,0 +1,27 @@
+# rs60: Handwired Slim Preonic Clone
+
+I wanted a preonic layout but with a very low profile. As Jack is still working on the Preonic PCB for Kailh Choc switches, I figured I could try to handwire one myself. It's my first custom keyboard, so I had a lot to learn.
+
+First I designed the case in fusion 360. I wanted to build it using acrylic, constrained myself to standard acrylic sheet thickness.
+
+
+
+You can download the model [here](https://a360.co/2OqiKLm).
+
+To test my design I 3D printed the parts.
+
+
+
+The result was encouraging, so I decided to build a prototype out of the printed plates using Kailh Choc brown switches. I tried to make the handwiring job as flat as possible so it can fit in my design.
+
+
+
+
+I designed switch plate and the middle plates so that they would be glued together. The middle plate has inserts to attach the bottom plate using m8 screws.
+
+
+
+The end result is not too bad, but there is a few things I would do differently. Gluing 3D printed plates wasn't a good idea. The switch layer is so thin, that it bends when all the switches are slotted. As a result, the keyboard is not entirely flat. I will replace the bottom plate by a metal one so I get more weight and rigidity.
+
+Even with acrylic, I think I will have the same issue. I might switch to screws + bolts that go all the way through.
+
diff --git a/keyboards/handwired/rs60/config.h b/keyboards/handwired/rs60/config.h
new file mode 100644
index 00000000000..371150a79a8
--- /dev/null
+++ b/keyboards/handwired/rs60/config.h
@@ -0,0 +1,47 @@
+/*
+Copyright 2018 QMK Contributors
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+#pragma once
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x4260
+#define DEVICE_VER 0x0001
+#define MANUFACTURER rs
+#define PRODUCT rs60
+#define DESCRIPTION Preonic clone based on pro micro
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 12
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B5, B6, B4, B2, E6 }
+#define MATRIX_COL_PINS { C6, D4, D0, D1, D2, D3, F4, F5, F6, F7, B1, B3}
+#define UNUSED_PINS { }
+
+#define QMK_ESC_OUTPUT C6
+#define QMK_ESC_INPUT B4
+#define QMK_LED B0
+// #define QMK_SPEAKER C6
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ false \
+)
diff --git a/keyboards/handwired/rs60/keymaps/default/keymap.c b/keyboards/handwired/rs60/keymaps/default/keymap.c
new file mode 100644
index 00000000000..9fea769d05c
--- /dev/null
+++ b/keyboards/handwired/rs60/keymaps/default/keymap.c
@@ -0,0 +1,207 @@
+/* Copyright 2015-2017 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 .
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+enum keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ DVORAK,
+ LOWER,
+ RAISE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | 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_BSPC, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, \
+ KC_ESC, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \
+ _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+),
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | R | S | T | D | H | N | E | I | O | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | 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_BSPC, \
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, \
+ KC_ESC, 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_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \
+ _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, 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 |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | O | E | U | I | D | H | T | N | S | / |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | 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_ESC, 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_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, \
+ _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | 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_BSPC, \
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),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 |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | 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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | Reset| | | | | | | | | | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_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, \
+ _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
+ _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+)
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ break;
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ return false;
+ break;
+ case DVORAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVORAK);
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+};
diff --git a/keyboards/handwired/rs60/keymaps/default/readme.md b/keyboards/handwired/rs60/keymaps/default/readme.md
new file mode 100644
index 00000000000..e911968dd96
--- /dev/null
+++ b/keyboards/handwired/rs60/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default Preonic layout - largely based on the Planck's
\ No newline at end of file
diff --git a/keyboards/handwired/rs60/rs60.c b/keyboards/handwired/rs60/rs60.c
new file mode 100644
index 00000000000..f748740cbe7
--- /dev/null
+++ b/keyboards/handwired/rs60/rs60.c
@@ -0,0 +1,18 @@
+/*
+Copyright 2018 QMK Community
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#include "rs60.h"
diff --git a/keyboards/handwired/rs60/rs60.h b/keyboards/handwired/rs60/rs60.h
new file mode 100644
index 00000000000..f2113f05c3d
--- /dev/null
+++ b/keyboards/handwired/rs60/rs60.h
@@ -0,0 +1,36 @@
+/*
+Copyright 2018 QMK Community
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
+}
+
+#define LAYOUT_ortho_5x12 LAYOUT
diff --git a/keyboards/handwired/rs60/rules.mk b/keyboards/handwired/rs60/rules.mk
new file mode 100644
index 00000000000..7b4ec69d0d3
--- /dev/null
+++ b/keyboards/handwired/rs60/rules.mk
@@ -0,0 +1,61 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Bootloader
+BOOTLOADER = qmk-dfu
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+LAYOUTS = ortho_5x12
+
+# Boot Section Size in *bytes*
+#OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = no # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled
+AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
+RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
+
diff --git a/keyboards/handwired/space_oddity/config.h b/keyboards/handwired/space_oddity/config.h
index 46d854099cb..aae53e98108 100644
--- a/keyboards/handwired/space_oddity/config.h
+++ b/keyboards/handwired/space_oddity/config.h
@@ -44,11 +44,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/handwired/terminus_mini/config.h b/keyboards/handwired/terminus_mini/config.h
index ef9a26a19f5..de146b225b8 100644
--- a/keyboards/handwired/terminus_mini/config.h
+++ b/keyboards/handwired/terminus_mini/config.h
@@ -105,11 +105,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/trackpoint/config.h b/keyboards/handwired/trackpoint/config.h
index 7558c03bf40..22ec75f761d 100644
--- a/keyboards/handwired/trackpoint/config.h
+++ b/keyboards/handwired/trackpoint/config.h
@@ -67,9 +67,4 @@
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
- /* key combination for command */
- #define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
- )
-
#endif
diff --git a/keyboards/handwired/tradestation/config.h b/keyboards/handwired/tradestation/config.h
index 346577a922b..22650d2f1aa 100644
--- a/keyboards/handwired/tradestation/config.h
+++ b/keyboards/handwired/tradestation/config.h
@@ -37,12 +37,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 5
diff --git a/keyboards/handwired/traveller/config.h b/keyboards/handwired/traveller/config.h
index 2b82da447f0..ccf214736d3 100644
--- a/keyboards/handwired/traveller/config.h
+++ b/keyboards/handwired/traveller/config.h
@@ -55,7 +55,6 @@ along with this program. If not, see .
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -63,7 +62,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -111,11 +109,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/traveller/keymaps/default/keymap.c b/keyboards/handwired/traveller/keymaps/default/keymap.c
index 13d889ab8b5..f7f08268f0b 100644
--- a/keyboards/handwired/traveller/keymaps/default/keymap.c
+++ b/keyboards/handwired/traveller/keymaps/default/keymap.c
@@ -157,11 +157,8 @@ Right hand nav keys work pretty well chorded with the Right hand Hi Key
const uint16_t PROGMEM fn_actions[] = {
[_QW] = ACTION_LAYER_ON(_QW,ON_RELEASE), // return to QWERTY layer
[_LW] = ACTION_LAYER_TAP_TOGGLE(_LW), // Turn on LW when holding, or tap 3 times to switch
- [_HI] = ACTION_LAYER_TAP_TOGGLE(_HI), // Turn on LW when holding, or tap 3 times to switch
[_NAV] = ACTION_LAYER_TOGGLE(_NAV),
[_FKEYS] = ACTION_LAYER_TOGGLE(_FKEYS),
- [_LWOUT] = ACTION_LAYER_OFF(_LW,ON_RELEASE),
- [_HIOUT] = ACTION_LAYER_OFF(_HI,ON_RELEASE),
// Functions
[RGBLED_TOGGLE] = ACTION_FUNCTION(RGBLED_TOGGLE),
diff --git a/keyboards/handwired/woodpad/config.h b/keyboards/handwired/woodpad/config.h
index b2eb7020fc4..f4d005307b5 100644
--- a/keyboards/handwired/woodpad/config.h
+++ b/keyboards/handwired/woodpad/config.h
@@ -99,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/handwired/xealous/rev1/config.h b/keyboards/handwired/xealous/rev1/config.h
index 6fc769b5f21..f58c8f90b83 100644
--- a/keyboards/handwired/xealous/rev1/config.h
+++ b/keyboards/handwired/xealous/rev1/config.h
@@ -64,11 +64,6 @@ along with this program. If not, see .
/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 5
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/handwired/xealousbrown/README.md b/keyboards/handwired/xealousbrown/README.md
new file mode 100644
index 00000000000..e6092ebb059
--- /dev/null
+++ b/keyboards/handwired/xealousbrown/README.md
@@ -0,0 +1,11 @@
+# XealouS Brown
+
+My first handwired keyboard. Originally used TMK, now ported in full glory to QMK.
+
+Build log at:
+https://sites.google.com/site/xaelous/keyboards/handwired-keyboard
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/xealous-brown:default
+
diff --git a/keyboards/handwired/xealousbrown/config.h b/keyboards/handwired/xealousbrown/config.h
new file mode 100644
index 00000000000..53430849f2c
--- /dev/null
+++ b/keyboards/handwired/xealousbrown/config.h
@@ -0,0 +1,51 @@
+/*
+Copyright 2012 Jun Wako
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x606A
+#define DEVICE_VER 0x0002
+#define MANUFACTURER XeaL
+#define PRODUCT XeaLous Brown Keyboard
+#define DESCRIPTION XeaLous Brown Keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 13
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { D3, D2, D1, D0, D4 }
+#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
+#define UNUSED_PINS { }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* key combination for magic key command */
+// #define IS_COMMAND() ( keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
diff --git a/keyboards/handwired/xealousbrown/info.json b/keyboards/handwired/xealousbrown/info.json
new file mode 100644
index 00000000000..c39e762178d
--- /dev/null
+++ b/keyboards/handwired/xealousbrown/info.json
@@ -0,0 +1,74 @@
+{
+ "keyboard_name": "Xealous-Brown",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 15,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"`", "x":0, "y":0},
+ {"label":"1", "x":1, "y":0},
+ {"label":"2", "x":2, "y":0},
+ {"label":"3", "x":3, "y":0},
+ {"label":"4", "x":4, "y":0},
+ {"label":"5", "x":5, "y":0},
+ {"label":"6", "x":6, "y":0},
+ {"label":"7", "x":7, "y":0},
+ {"label":"8", "x":8, "y":0},
+ {"label":"9", "x":9, "y":0},
+ {"label":"0", "x":10, "y":0},
+ {"label":"-", "x":11, "y":0},
+ {"label":"=", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0, "w":2},
+ {"label":"Tab", "x":0, "y":1, "w":1.5},
+ {"label":"Q", "x":1.5, "y":1},
+ {"label":"W", "x":2.5, "y":1},
+ {"label":"E", "x":3.5, "y":1},
+ {"label":"R", "x":4.5, "y":1},
+ {"label":"T", "x":5.5, "y":1},
+ {"label":"Y", "x":6.5, "y":1},
+ {"label":"U", "x":7.5, "y":1},
+ {"label":"I", "x":8.5, "y":1},
+ {"label":"O", "x":9.5, "y":1},
+ {"label":"P", "x":10.5, "y":1},
+ {"label":"[", "x":11.5, "y":1},
+ {"label":"]", "x":12.5, "y":1},
+ {"label":"\\", "x":13.5, "y":1, "w":1.5},
+ {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
+ {"label":"A", "x":1.75, "y":2},
+ {"label":"S", "x":2.75, "y":2},
+ {"label":"D", "x":3.75, "y":2},
+ {"label":"F", "x":4.75, "y":2},
+ {"label":"G", "x":5.75, "y":2},
+ {"label":"H", "x":6.75, "y":2},
+ {"label":"J", "x":7.75, "y":2},
+ {"label":"K", "x":8.75, "y":2},
+ {"label":"L", "x":9.75, "y":2},
+ {"label":";", "x":10.75, "y":2},
+ {"label":"'", "x":11.75, "y":2},
+ {"label":"Enter", "x":12.75, "y":2, "w":2.25},
+ {"label":"Shift", "x":0, "y":3, "w":2.25},
+ {"label":"Z", "x":2.25, "y":3},
+ {"label":"X", "x":3.25, "y":3},
+ {"label":"C", "x":4.25, "y":3},
+ {"label":"V", "x":5.25, "y":3},
+ {"label":"B", "x":6.25, "y":3},
+ {"label":"N", "x":7.25, "y":3},
+ {"label":"M", "x":8.25, "y":3},
+ {"label":",", "x":9.25, "y":3},
+ {"label":".", "x":10.25, "y":3},
+ {"label":"/", "x":11.25, "y":3},
+ {"label":"Shift", "x":12.25, "y":3, "w":2.75},
+ {"label":"Ctrl", "x":0, "y":4, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+ {"label":"Space", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":4, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/xealousbrown/keymaps/default/keymap.c b/keyboards/handwired/xealousbrown/keymaps/default/keymap.c
new file mode 100644
index 00000000000..6597c56673e
--- /dev/null
+++ b/keyboards/handwired/xealousbrown/keymaps/default/keymap.c
@@ -0,0 +1,18 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT( /* Main layer */
+ KC_ESC, 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_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,\
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, \
+ 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_BSLS,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_BSPC \
+ ),
+ [1] = LAYOUT( /* FN_Layer */
+ 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_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK,KC_PAUS,\
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL \
+ )
+};
diff --git a/keyboards/handwired/xealousbrown/rules.mk b/keyboards/handwired/xealousbrown/rules.mk
new file mode 100644
index 00000000000..2bad9a1c6ec
--- /dev/null
+++ b/keyboards/handwired/xealousbrown/rules.mk
@@ -0,0 +1,60 @@
+
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+BOOTLOADER = caterina
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
+MIDI_ENABLE = no # MIDI controls
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+
+
diff --git a/keyboards/handwired/xealousbrown/xealousbrown.c b/keyboards/handwired/xealousbrown/xealousbrown.c
new file mode 100644
index 00000000000..5c8e2fb18a5
--- /dev/null
+++ b/keyboards/handwired/xealousbrown/xealousbrown.c
@@ -0,0 +1,8 @@
+#include "xealousbrown.h"
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+
+ matrix_init_user();
+}
diff --git a/keyboards/handwired/xealousbrown/xealousbrown.h b/keyboards/handwired/xealousbrown/xealousbrown.h
new file mode 100644
index 00000000000..ff449e43244
--- /dev/null
+++ b/keyboards/handwired/xealousbrown/xealousbrown.h
@@ -0,0 +1,20 @@
+#ifndef XEALOUSBROWN_H
+#define XEALOUSBROWN_H
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
+ K40, K41, K42, K45, K46, K47, K48, K49, K4C \
+ ) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }, \
+ { K40, K41, K42, KC_NO, KC_NO, K45, K46, K47, K48, K49, KC_NO, KC_NO, K4C } \
+}
+
+#endif
diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h
index b8822e2273a..343cecd59d2 100644
--- a/keyboards/helix/pico/config.h
+++ b/keyboards/helix/pico/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see .
#define PRODUCT HelixPico
#define DESCRIPTION A split keyboard for the cheap makers
-
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
@@ -71,11 +70,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Audio */
#ifdef AUDIO_ENABLE
#define B5_AUDIO
@@ -145,5 +139,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/helix/rev1/config.h b/keyboards/helix/rev1/config.h
index 07b5c4f6f8b..22e61acc753 100644
--- a/keyboards/helix/rev1/config.h
+++ b/keyboards/helix/rev1/config.h
@@ -67,11 +67,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
@@ -94,5 +89,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h
index f7d35b37146..2dc2fb8dd8a 100644
--- a/keyboards/helix/rev2/config.h
+++ b/keyboards/helix/rev2/config.h
@@ -27,7 +27,6 @@ along with this program. If not, see .
#define PRODUCT Helix Beta
#define DESCRIPTION A split keyboard for the cheap makers
-
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
@@ -80,11 +79,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
@@ -161,5 +155,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/hhkb/config.h b/keyboards/hhkb/config.h
index af7ecc5e258..fc747a6e942 100644
--- a/keyboards/hhkb/config.h
+++ b/keyboards/hhkb/config.h
@@ -49,11 +49,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef HHKB_RN42_ENABLE
// rn42 support -- acquired from the tmk repo. This is almost certainly not
// integrated with qmk in the correct way.
diff --git a/keyboards/hhkb/keymaps/mjt/config.h b/keyboards/hhkb/keymaps/mjt/config.h
index d38611538f9..3b8f2e676c9 100644
--- a/keyboards/hhkb/keymaps/mjt/config.h
+++ b/keyboards/hhkb/keymaps/mjt/config.h
@@ -51,11 +51,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/hid_liber/config.h b/keyboards/hid_liber/config.h
index 0817db00127..849c89ce38a 100755
--- a/keyboards/hid_liber/config.h
+++ b/keyboards/hid_liber/config.h
@@ -85,11 +85,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/hs60/v1/config.h b/keyboards/hs60/v1/config.h
index c297a6e191f..debc6bdde60 100644
--- a/keyboards/hs60/v1/config.h
+++ b/keyboards/hs60/v1/config.h
@@ -102,11 +102,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/hs60/v2/config.h b/keyboards/hs60/v2/config.h
index bc1681ffd15..6f5e0012c3e 100644
--- a/keyboards/hs60/v2/config.h
+++ b/keyboards/hs60/v2/config.h
@@ -70,10 +70,17 @@ along with this program. If not, see .
*/
//#define FORCE_NKRO
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
/* Backlight options */
diff --git a/keyboards/idobo/config.h b/keyboards/idobo/config.h
index f6b552bad8d..70b6a48063b 100644
--- a/keyboards/idobo/config.h
+++ b/keyboards/idobo/config.h
@@ -112,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/infinity60/config.h b/keyboards/infinity60/config.h
index c1e9ec5b1f2..16272e4279c 100644
--- a/keyboards/infinity60/config.h
+++ b/keyboards/infinity60/config.h
@@ -39,11 +39,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Keymap for Infinity prototype */
//#define INFINITY_PROTOTYPE
diff --git a/keyboards/iris/keymaps/default/keymap.c b/keyboards/iris/keymaps/default/keymap.c
index f67b71fc1ab..4644c3d9b55 100644
--- a/keyboards/iris/keymaps/default/keymap.c
+++ b/keyboards/iris/keymaps/default/keymap.c
@@ -2,14 +2,21 @@
extern keymap_config_t keymap_config;
-#define _MAIN 0
-#define _FN1 1
-#define _FN2 2
-#define _FN3 3
+#define _QWERTY 0
+#define _LOWER 1
+#define _RAISE 2
+#define _ADJUST 16
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST,
+};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT(
+ [_QWERTY] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -19,11 +26,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
- KC_LGUI, FN_MO13, KC_ENT, KC_SPC, FN_MO23, KC_LALT
+ KC_LGUI, LOWER, KC_ENT, KC_SPC, RAISE, KC_LALT
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
- [_FN1] = LAYOUT(
+ [_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_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -37,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
- [_FN2] = LAYOUT(
+ [_RAISE] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -51,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
- [_FN3] = LAYOUT(
+ [_ADJUST] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -66,12 +73,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-void encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
}
diff --git a/keyboards/iris/keymaps/omgvee/config.h b/keyboards/iris/keymaps/omgvee/config.h
index c29201fe1f8..c5899f45f09 100644
--- a/keyboards/iris/keymaps/omgvee/config.h
+++ b/keyboards/iris/keymaps/omgvee/config.h
@@ -46,4 +46,11 @@ along with this program. If not, see .
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_TIME_TO_MAX 60
#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 0
\ No newline at end of file
+#define MOUSEKEY_WHEEL_DELAY 0
+
+////Leader key timeout
+//#define LEADER_TIMEOUT 500
+//#define LEADER_PER_KEY_TIMING 200
+
+#undef PRODUCT
+#define PRODUCT "Vee's Home IRIS choc keeb"
diff --git a/keyboards/iris/keymaps/omgvee/keymap.c b/keyboards/iris/keymaps/omgvee/keymap.c
index da76b593b6a..6f29ccecd34 100644
--- a/keyboards/iris/keymaps/omgvee/keymap.c
+++ b/keyboards/iris/keymaps/omgvee/keymap.c
@@ -8,6 +8,7 @@ extern keymap_config_t keymap_config;
#define _RAISE 2
#define _MOUSE 3
#define _ADJUST 4
+#define _HWCT 5
enum custom_keycodes {
QWERTY = SAFE_RANGE,
@@ -15,9 +16,11 @@ enum custom_keycodes {
RAISE,
MOUSE,
ADJUST,
+ HWCT,
};
#define KC_MOUS TT(_MOUSE) // double tab toggle mouse layer
+#define KC_HWCT TT(_HWCT) // double tab toggle hardware control layer
#define MS_L KC_MS_LEFT
#define MS_R KC_MS_RIGHT
#define MS_U KC_MS_UP
@@ -27,7 +30,10 @@ enum custom_keycodes {
#define MW_U KC_MS_WH_UP
#define MW_D KC_MS_WH_DOWN
#define MW_L KC_MS_WH_LEFT
-#define MW_R KC_MS_WH_RIGHT
+#define MW_R KC_MS_WH_RIGHT
+
+//// only uncomment the below line when you enable leader key in rules.mk
+//LEADER_EXTERNS();
//Tap Dance Declarations
enum {
@@ -36,13 +42,12 @@ enum {
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
//Tap once for Shift, twice for Caps Lock
- [TD_SCL] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
+ [TD_SCL] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
};
enum {
TD_EBT = 0
};
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
@@ -51,37 +56,37 @@ 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_BSLS,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- TD(TD_SCL), 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MOUS, KC_MOUS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MOUS, KC_HWCT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,TD(TD_SCL),
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
- KC_LALT, LOWER, KC_ENT, KC_SPC, RAISE, KC_LGUI
+ KC_LGUI, LOWER, KC_ENT, KC_SPC, RAISE, KC_LALT
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
[_LOWER] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, KC_BSPC,
+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_PIPE,
+ _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, KC_HOME, KC_END, KC_LBRC, KC_RBRC, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,_______, KC_ENT,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,_______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL, _______, _______, _______, KC_LCBR, KC_LBRC, KC_LPRN, KC_RPRN, KC_RBRC, KC_RCBR, _______, _______, _______, _______,
+ KC_LCTL, _______, _______, KC_LT, KC_LCBR, KC_LBRC, KC_LPRN, KC_RPRN, KC_RBRC, KC_RCBR, KC_GT, _______, _______, _______,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
- _______, _______, KC_DEL, KC_DEL, _______, _______
+ _______, _______, _______, KC_DEL, _______, _______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
[_RAISE] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_INS,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- RGB_MOD, KC_MPRV, KC_MNXT, _______, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_ENT,
+ _______, _______, _______, _______, KC_PGDN, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_MENU, KC_PENT,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______, KC_MSTP, KC_MPLY, _______, KC_PGDN, KC_MINS, KC_LPRN, KC_RPRN, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______,
+ _______, _______, _______, _______, _______, KC_MINS, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_VOLD, KC_VOLU, KC_PSCR, KC_EJCT,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
_______, _______, _______, _______, _______, _______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
@@ -89,13 +94,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOUSE] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- BL_BRTG, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- BL_TOGG, MS_B1, MS_U, MS_B2, MW_U, _______, _______, MS_B1, MS_B2, _______, _______, _______,
+ _______, MS_B1, MS_U, MS_B2, MW_U, _______, _______, MS_B1, MS_B2, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, MS_L, MS_D, MS_R, MW_D, _______, MS_L, MS_D , MS_U, MS_R ,_______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- BL_STEP, _______, _______, MW_L, MW_R, _______, _______, _______, KC_BRID, KC_BRIU, KC_VOLD, KC_VOLU, KC_MUTE, _______,
+ _______, _______, _______, MW_L, MW_R, _______, _______, _______, KC_BRID, KC_BRIU, KC_VOLD, KC_VOLU, KC_MUTE, _______,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
_______, _______, _______, _______, _______, _______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
@@ -103,17 +108,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, RESET,
+ BL_BRTG, _______, _______, _______, DEBUG, RESET, RESET, DEBUG, _______, RGB_HUI, RGB_SAI, RGB_VAI,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_INC, _______, _______, _______, _______, EEP_RST, EEP_RST, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_DEC, KC_MPRV, KC_MNXT, KC_MFFD, KC_MRWD, KC_MPLY, KC_MPRV, KC_MNXT, KC_MFFD, KC_MRWD, KC_MPLY, RGB_MOD,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, KC_VOLD, KC_VOLU, KC_MUTE, _______,
+ BL_TOGG, _______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, KC_VOLD, KC_VOLU, KC_MUTE, RGB_TOG,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, _______, _______, _______, _______, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_HWCT] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ BL_BRTG, _______, _______, _______, _______, RESET, RESET, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ BL_DEC, KC_MPRV, KC_MNXT, KC_MFFD, KC_MRWD, KC_MPLY, KC_MPRV, KC_MNXT, KC_MFFD, KC_MRWD, KC_MPLY, RGB_MOD,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ BL_TOGG, _______, _______, _______, _______, _______, KC_EJCT, _______, KC_BRID, KC_BRIU, KC_VOLD, KC_VOLU, KC_MUTE, RGB_TOG,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
_______, _______, _______, _______, _______, _______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
)
+
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@@ -160,6 +180,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
+ case HWCT:
+ if (record->event.pressed) {
+ layer_on(_HWCT);
+ dprintf("Got on layer %s ", HWCT);
+ update_tri_layer(_LOWER, _RAISE, _MOUSE);
+ } else {
+ layer_off(_HWCT);
+ dprintf("Got off layer %s ", HWCT);
+ update_tri_layer(_LOWER, _RAISE, _MOUSE);
+ }
+ return false;
+ break;
+
case ADJUST:
if (record->event.pressed) {
layer_on(_ADJUST);
diff --git a/keyboards/iris/keymaps/omgvee/readme.md b/keyboards/iris/keymaps/omgvee/readme.md
index 82a6cd2cf56..275d270fa31 100644
--- a/keyboards/iris/keymaps/omgvee/readme.md
+++ b/keyboards/iris/keymaps/omgvee/readme.md
@@ -4,7 +4,7 @@

-
+
=======
diff --git a/keyboards/iris/keymaps/omgvee/rules.mk b/keyboards/iris/keymaps/omgvee/rules.mk
index 281f64c7eb0..897c6069c5c 100644
--- a/keyboards/iris/keymaps/omgvee/rules.mk
+++ b/keyboards/iris/keymaps/omgvee/rules.mk
@@ -2,6 +2,8 @@ RGBLIGHT_ENABLE = yes
BACKLIGHT_ENABLE = yes
MOUSEKEY_ENABLE = yes
CONSOLE_ENABLE = no
-COMMAND_ENABLE = yes
+COMMAND_ENABLE = no
TAP_DANCE_ENABLE = yes
NKRO_ENABLE = yes
+LEADER_ENABLE = no
+UNICODE_ENABLE = no
diff --git a/keyboards/iris/keymaps/rs/config.h b/keyboards/iris/keymaps/rs/config.h
new file mode 100644
index 00000000000..7c5b5ca4330
--- /dev/null
+++ b/keyboards/iris/keymaps/rs/config.h
@@ -0,0 +1,38 @@
+/*
+Copyright 2017 Danny Nguyen
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#define TAPPING_TERM 150
+
+#undef RGBLED_NUM
+#define RGBLED_NUM 6
+#define RGBLIGHT_SLEEP
+#define RGBLIGHT_HUE_STEP 1
+#define RGBLIGHT_SAT_STEP 1
+#define RGBLIGHT_VAL_STEP 1
\ No newline at end of file
diff --git a/keyboards/iris/keymaps/rs/karabiner.json b/keyboards/iris/keymaps/rs/karabiner.json
new file mode 100644
index 00000000000..f5214650ade
--- /dev/null
+++ b/keyboards/iris/keymaps/rs/karabiner.json
@@ -0,0 +1,154 @@
+{
+ "title": "RS",
+ "rules": [{
+ "description": "CapsLock to Escape / Control Mod-Tap",
+ "manipulators": [{
+ "type": "basic",
+ "from": {
+ "key_code": "caps_lock",
+ "modifiers": {
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "left_control"}],
+ "to_if_alone": [{"key_code": "escape"}]
+ }]
+ },
+ {
+ "description": "Right-Shift / Enter Mod-Tap",
+ "manipulators": [{
+ "type": "basic",
+ "from": {
+ "key_code": "right_shift",
+ "modifiers": {
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "right_shift"}],
+ "to_if_alone": [{"key_code": "return_or_enter"}]
+ }]
+ },
+ {
+ "description": "Right-Command / Backspace Mod-Tap",
+ "manipulators": [{
+ "type": "basic",
+ "from": {
+ "key_code": "right_command",
+ "modifiers": {
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "right_command"}],
+ "to_if_alone": [{"key_code": "delete_or_backspace"}]
+ }]
+ },
+ {
+ "description": "Right-Command Accents",
+ "manipulators": [
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "a",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["left_shift", "right_shift"]
+ }
+ },
+ "to": [
+ {"key_code": "grave_accent_and_tilde", "modifiers": ["left_option"]},
+ {"key_code": "a"}
+ ]
+ }]
+ },
+ {
+ "description": "Right Command Navigation",
+ "manipulators": [{
+ "type": "basic",
+ "from": {
+ "key_code": "j",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "left_arrow"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "k",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "down_arrow"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "i",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "up_arrow"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "l",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "right_arrow"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "e",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "page_up"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "d",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "page_down"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "s",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "home"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "f",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "end"}]
+ }]
+ }]
+}
diff --git a/keyboards/iris/keymaps/rs/keymap.c b/keyboards/iris/keymaps/rs/keymap.c
new file mode 100644
index 00000000000..43374e59f39
--- /dev/null
+++ b/keyboards/iris/keymaps/rs/keymap.c
@@ -0,0 +1,48 @@
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _HYPER,
+};
+
+#define KC_ KC_TRNS
+
+#define KC_ESCC MT(MOD_LCTL, KC_ESC)
+#define KC_ENTS MT(MOD_LSFT, KC_ENT)
+#define KC_HYPE MO(_HYPER)
+#define KC_RST RESET
+// Brightness
+#define KC_BRUP KC_PAUS
+#define KC_BRDN KC_SLCK
+#define KC_BLTG BL_TOGG
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_kc(
+ //,----+----+----+----+----+----. ,----+----+----+----+----+----.
+ GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ TAB , Q , W , E , R , T , Y , U , I , O , P ,EQL,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
+ //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
+ LSFT, Z , X , C , V , B ,SPC, BSPC, N , M ,COMM,DOT ,SLSH,ENTS,
+ //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
+ LALT,LGUI,SPC, BSPC,HYPE,ENT
+ // `----+----+----' `+---+----+----'
+ ), // |
+ // |
+ [_HYPER] = LAYOUT_kc( // V
+ //,----+----+----+----+----+----. ,----+----+----+----+----+----.
+ RST , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 ,LBRC,RBRC, ,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ , , ,PGUP, ,BRUP, , , UP ,LCBR,RCBR,BSLS,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ , ,HOME,PGDN,END ,BRDN, MINS,LEFT,DOWN,RGHT, ,PIPE,
+ //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
+ , , , , , ,BLTG, VOLU, , , , , , ,
+ //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
+ , , , VOLD, ,MUTE
+ // `----+----+----' `----+----+----'
+ ),
+};
diff --git a/keyboards/iris/keymaps/rs/readme.md b/keyboards/iris/keymaps/rs/readme.md
new file mode 100644
index 00000000000..bdf44121e4b
--- /dev/null
+++ b/keyboards/iris/keymaps/rs/readme.md
@@ -0,0 +1,13 @@
+# Code friendly 60% keymap
+
+I developped this keymap to make a better use of 60% ortho keyboards I use like the preonic of the iris. Instead of trying to mimic the Planck layout like the default preonic keymap, this keymap removes the raise and lower layers and offers a simpler hyper layer concept for a few missing sign keys and cursors / media keys.
+
+The important part for coders is that most important signs needed to code are available at their usual position on a full keyboard, without complex layer gymnastic. Access to [] and {} are available on the hyper layer at their usual emplacement.
+
+The right thumb is used for both backspace and hyper layer switching. On the hyper layer, in addition to some coding signs, you get the cursor keys arranged in cross, just under your right fingers, so you don't have to move your hand when navigating in code or command line. Other hand gets the home/end page up/down in a similar layout.
+
+Because you sometime have to use your internal keyboard when you use a macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the hyper layer / backspace on right command key etc.
+
+This keymap is also available for other keyboards:
+- [ortho_5x12/rs](../../../../layouts/community/ortho_5x12/rs/keymap.c)
+- [ErgoTravel/rs](../../../ergotravel/keymaps/rs/keymap.c)
diff --git a/keyboards/iris/keymaps/rs/rules.mk b/keyboards/iris/keymaps/rs/rules.mk
new file mode 100644
index 00000000000..bd518d8f273
--- /dev/null
+++ b/keyboards/iris/keymaps/rs/rules.mk
@@ -0,0 +1 @@
+BACKLIGHT_ENABLE = yes
diff --git a/keyboards/iris/keymaps/via/config.h b/keyboards/iris/keymaps/via/config.h
new file mode 100644
index 00000000000..f2498e5927e
--- /dev/null
+++ b/keyboards/iris/keymaps/via/config.h
@@ -0,0 +1,20 @@
+/*
+Copyright 2017 Danny Nguyen
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/iris/keymaps/via/keymap.c b/keyboards/iris/keymaps/via/keymap.c
new file mode 100644
index 00000000000..f67b71fc1ab
--- /dev/null
+++ b/keyboards/iris/keymaps/via/keymap.c
@@ -0,0 +1,77 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+#define _MAIN 0
+#define _FN1 1
+#define _FN2 2
+#define _FN3 3
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_MAIN] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ KC_ESC, 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_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ KC_LGUI, FN_MO13, KC_ENT, KC_SPC, FN_MO23, KC_LALT
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_FN1] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ BL_STEP, _______, _______, _______, KC_DOWN, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, _______, KC_DEL, KC_DEL, _______, KC_P0
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_FN2] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, _______, _______, _______, _______, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_FN3] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, _______, _______, _______, _______, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ )
+};
+
+void encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ }
+}
diff --git a/keyboards/iris/keymaps/via/rules.mk b/keyboards/iris/keymaps/via/rules.mk
new file mode 100644
index 00000000000..ca2680325e1
--- /dev/null
+++ b/keyboards/iris/keymaps/via/rules.mk
@@ -0,0 +1,7 @@
+RGBLIGHT_ENABLE = yes
+BACKLIGHT_ENABLE = yes
+
+# VIA Support - Comment these 3 lines out to disable
+RAW_ENABLE = yes
+DYNAMIC_KEYMAP_ENABLE = yes
+SRC += keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/iris/rev1/config.h b/keyboards/iris/rev1/config.h
index 1eddb54b4f8..13302c60c4e 100644
--- a/keyboards/iris/rev1/config.h
+++ b/keyboards/iris/rev1/config.h
@@ -56,11 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define BACKLIGHT_PIN D2
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/iris/rev1_led/config.h b/keyboards/iris/rev1_led/config.h
index 4505c222997..5fb8be674ec 100644
--- a/keyboards/iris/rev1_led/config.h
+++ b/keyboards/iris/rev1_led/config.h
@@ -56,11 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define BACKLIGHT_PIN B6
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/iris/rev2/config.h b/keyboards/iris/rev2/config.h
index e0465ca8a41..235c5710f56 100644
--- a/keyboards/iris/rev2/config.h
+++ b/keyboards/iris/rev2/config.h
@@ -56,11 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define BACKLIGHT_PIN B5
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/iris/rev3/config.h b/keyboards/iris/rev3/config.h
index ad5937dc155..70e5d6e2a5d 100644
--- a/keyboards/iris/rev3/config.h
+++ b/keyboards/iris/rev3/config.h
@@ -65,11 +65,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define BACKLIGHT_PIN B6
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/iris/rules.mk b/keyboards/iris/rules.mk
index 69bc62f876c..28ca5a8cb8e 100644
--- a/keyboards/iris/rules.mk
+++ b/keyboards/iris/rules.mk
@@ -39,8 +39,3 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SPLIT_KEYBOARD = yes
DEFAULT_FOLDER = iris/rev2
-
-# VIA Support - Comment these 3 lines out to disable
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
-SRC += keyboards/wilba_tech/wt_main.c
diff --git a/keyboards/jc65/v32a/config.h b/keyboards/jc65/v32a/config.h
index 466cb7a28e4..a5ec23ae4d7 100644
--- a/keyboards/jc65/v32a/config.h
+++ b/keyboards/jc65/v32a/config.h
@@ -39,9 +39,5 @@ along with this program. If not, see .
#define NO_UART 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
-
diff --git a/keyboards/jc65/v32u4/config.h b/keyboards/jc65/v32u4/config.h
index 6e1306b2763..98256b1281b 100644
--- a/keyboards/jc65/v32u4/config.h
+++ b/keyboards/jc65/v32u4/config.h
@@ -54,10 +54,4 @@ along with this program. If not, see .
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCING_DELAY 5
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
- )
-
-
-
#endif
diff --git a/keyboards/jd40/config.h b/keyboards/jd40/config.h
index 047be5707b0..70648d2f530 100644
--- a/keyboards/jd40/config.h
+++ b/keyboards/jd40/config.h
@@ -63,12 +63,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 12 // Number of LEDs
diff --git a/keyboards/jd45/config.h b/keyboards/jd45/config.h
index 43d138f4eda..d3137b9f4b5 100644
--- a/keyboards/jd45/config.h
+++ b/keyboards/jd45/config.h
@@ -56,11 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/jd45/keymaps/mjt/config.h b/keyboards/jd45/keymaps/mjt/config.h
index a8c8e9d17ef..5507caae5dc 100644
--- a/keyboards/jd45/keymaps/mjt/config.h
+++ b/keyboards/jd45/keymaps/mjt/config.h
@@ -59,11 +59,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/jj40/config.h b/keyboards/jj40/config.h
index 7fac1ed5b99..67561b0b28b 100644
--- a/keyboards/jj40/config.h
+++ b/keyboards/jj40/config.h
@@ -48,7 +48,4 @@ along with this program. If not, see .
#define RGB_DI_PIN E2 // NOTE: for PS2AVRGB boards, underglow commands are sent via I2C to 0xB0.
#define RGBLIGHT_ANIMATIONS
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/jj50/config.h b/keyboards/jj50/config.h
index 6aa7628837f..0f09f02ff87 100644
--- a/keyboards/jj50/config.h
+++ b/keyboards/jj50/config.h
@@ -48,7 +48,4 @@ along with this program. If not, see .
#define NO_UART 1
#define BOOTLOADHID_BOOTLOADER 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/jm60/config.h b/keyboards/jm60/config.h
index cb5c90bb193..0d2d0730e79 100644
--- a/keyboards/jm60/config.h
+++ b/keyboards/jm60/config.h
@@ -50,11 +50,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/k_type/config.h b/keyboards/k_type/config.h
index 4937d9ad99a..a841a571073 100644
--- a/keyboards/k_type/config.h
+++ b/keyboards/k_type/config.h
@@ -41,11 +41,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/katana60/config.h b/keyboards/katana60/config.h
index aaf2b5d5447..177a09ff450 100644
--- a/keyboards/katana60/config.h
+++ b/keyboards/katana60/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -105,11 +104,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define TAPPING_TERM 200
/* control how magic key switches layers */
diff --git a/keyboards/katana60/keymaps/colemak/keymap.c b/keyboards/katana60/keymaps/colemak/keymap.c
index 9a1af8d68ea..63768f9372a 100644
--- a/keyboards/katana60/keymaps/colemak/keymap.c
+++ b/keyboards/katana60/keymaps/colemak/keymap.c
@@ -67,12 +67,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_LAYER_TAP_KEY(CURS, KC_BSPC),
- [1] = ACTION_LAYER_TAP_KEY(SYMB, KC_SPACE),
-};
-
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
diff --git a/keyboards/katana60/keymaps/default/keymap.c b/keyboards/katana60/keymaps/default/keymap.c
index abc018952a4..d4e77e26da1 100644
--- a/keyboards/katana60/keymaps/default/keymap.c
+++ b/keyboards/katana60/keymaps/default/keymap.c
@@ -67,12 +67,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_LAYER_TAP_KEY(CURS, KC_BSPC),
- [1] = ACTION_LAYER_TAP_KEY(SYMB, KC_SPACE),
-};
-
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
diff --git a/keyboards/kbd19x/config.h b/keyboards/kbd19x/config.h
index 47cfd7484a7..03b701b1cc9 100644
--- a/keyboards/kbd19x/config.h
+++ b/keyboards/kbd19x/config.h
@@ -112,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -221,4 +216,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/kbd4x/config.h b/keyboards/kbd4x/config.h
index b967ab8f756..cac4ed95d11 100644
--- a/keyboards/kbd4x/config.h
+++ b/keyboards/kbd4x/config.h
@@ -112,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/kbd66/config.h b/keyboards/kbd66/config.h
index 1802a021966..f9990c0e4fe 100644
--- a/keyboards/kbd66/config.h
+++ b/keyboards/kbd66/config.h
@@ -54,7 +54,6 @@ along with this program. If not, see .
#define BACKLIGHT_BREATHING
#define BREATHING_PERIOD 6
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -106,11 +105,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/kbd67/hotswap/config.h b/keyboards/kbd67/hotswap/config.h
new file mode 100644
index 00000000000..f54ffa1cac1
--- /dev/null
+++ b/keyboards/kbd67/hotswap/config.h
@@ -0,0 +1,240 @@
+/*
+Copyright 2019 MechMerlin
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER KBDFans
+#define PRODUCT KBD67 Hotswap
+#define DESCRIPTION A custom 65% keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+*/
+#define MATRIX_ROW_PINS { B3, B2, B1, B0, D4 }
+#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, E6, D1, D0, D2, D3, D5, D6, D7, C6 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+
+#define BACKLIGHT_PIN B7
+#define BACKLIGHT_BREATHING
+#define BACKLIGHT_LEVELS 3
+
+#define RGB_DI_PIN B4
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 8
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+// #define RGBLIGHT_ANIMATIONS
+// /*== or choose 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
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCING_DELAY 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+// #define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * Magic Key Options
+ *
+ * Magic keys are hotkey commands that allow control over firmware functions of
+ * the keyboard. They are best used in combination with the HID Listen program,
+ * found here: https://www.pjrc.com/teensy/hid_listen.html
+ *
+ * The options below allow the magic key functionality to be changed. This is
+ * useful if your keyboard/keypad is missing keys and you want magic key support.
+ *
+ */
+
+/* control how magic key switches layers */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
+
+/* override magic key keymap */
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
+//#define MAGIC_KEY_HELP1 H
+//#define MAGIC_KEY_HELP2 SLASH
+//#define MAGIC_KEY_DEBUG D
+//#define MAGIC_KEY_DEBUG_MATRIX X
+//#define MAGIC_KEY_DEBUG_KBD K
+//#define MAGIC_KEY_DEBUG_MOUSE M
+//#define MAGIC_KEY_VERSION V
+//#define MAGIC_KEY_STATUS S
+//#define MAGIC_KEY_CONSOLE C
+//#define MAGIC_KEY_LAYER0_ALT1 ESC
+//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
+//#define MAGIC_KEY_LAYER0 0
+//#define MAGIC_KEY_LAYER1 1
+//#define MAGIC_KEY_LAYER2 2
+//#define MAGIC_KEY_LAYER3 3
+//#define MAGIC_KEY_LAYER4 4
+//#define MAGIC_KEY_LAYER5 5
+//#define MAGIC_KEY_LAYER6 6
+//#define MAGIC_KEY_LAYER7 7
+//#define MAGIC_KEY_LAYER8 8
+//#define MAGIC_KEY_LAYER9 9
+//#define MAGIC_KEY_BOOTLOADER PAUSE
+//#define MAGIC_KEY_LOCK CAPS
+//#define MAGIC_KEY_EEPROM E
+//#define MAGIC_KEY_NKRO N
+//#define MAGIC_KEY_SLEEP_LED Z
+
+/*
+ * 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
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+//#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 1
+
+/*
+ * HD44780 LCD Display Configuration
+ */
+/*
+#define LCD_LINES 2 //< number of visible lines of the display
+#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display
+
+#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode
+
+#if LCD_IO_MODE
+#define LCD_PORT PORTB //< port for the LCD lines
+#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0
+#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1
+#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2
+#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3
+#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0
+#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1
+#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
+#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3
+#define LCD_RS_PORT LCD_PORT //< port for RS line
+#define LCD_RS_PIN 3 //< pin for RS line
+#define LCD_RW_PORT LCD_PORT //< port for RW line
+#define LCD_RW_PIN 2 //< pin for RW line
+#define LCD_E_PORT LCD_PORT //< port for Enable line
+#define LCD_E_PIN 1 //< pin for Enable line
+#endif
+*/
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/kbd67/hotswap/hotswap.c b/keyboards/kbd67/hotswap/hotswap.c
new file mode 100644
index 00000000000..e6999f6af2b
--- /dev/null
+++ b/keyboards/kbd67/hotswap/hotswap.c
@@ -0,0 +1,43 @@
+/* Copyright 2019 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include "hotswap.h"
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+
+ matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+ // put your looping keyboard code here
+ // runs every cycle (a lot)
+
+ matrix_scan_user();
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ // put your per-action keyboard code here
+ // runs for every action, just before processing by the firmware
+
+ return process_record_user(keycode, record);
+}
+
+void led_set_kb(uint8_t usb_led) {
+ // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+
+ led_set_user(usb_led);
+}
diff --git a/keyboards/kbd67/hotswap/hotswap.h b/keyboards/kbd67/hotswap/hotswap.h
new file mode 100644
index 00000000000..57220050b62
--- /dev/null
+++ b/keyboards/kbd67/hotswap/hotswap.h
@@ -0,0 +1,43 @@
+/* Copyright 2019 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#pragma once
+
+#include "quantum.h"
+
+/* This a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+
+#define LAYOUT( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2C, K0E, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4D, K4E \
+) \
+{ \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E}, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E}, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E}, \
+ { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, KC_NO, K4D, K4E}, \
+}
+
diff --git a/keyboards/kbd67/hotswap/info.json b/keyboards/kbd67/hotswap/info.json
new file mode 100644
index 00000000000..9f23a5f348b
--- /dev/null
+++ b/keyboards/kbd67/hotswap/info.json
@@ -0,0 +1,12 @@
+{
+ "keyboard_name": "kbd67 hotswap",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 16,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
+ }
+ }
+}
\ No newline at end of file
diff --git a/keyboards/kbd67/hotswap/keymaps/default/config.h b/keyboards/kbd67/hotswap/keymaps/default/config.h
new file mode 100644
index 00000000000..26c6d6ade10
--- /dev/null
+++ b/keyboards/kbd67/hotswap/keymaps/default/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2019 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+// place overrides here
diff --git a/keyboards/kbd67/hotswap/keymaps/default/keymap.c b/keyboards/kbd67/hotswap/keymaps/default/keymap.c
new file mode 100644
index 00000000000..53696301163
--- /dev/null
+++ b/keyboards/kbd67/hotswap/keymaps/default/keymap.c
@@ -0,0 +1,72 @@
+/* Copyright 2019 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ QMKBEST = SAFE_RANGE,
+ QMKURL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = 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, KC_EQL, KC_BSLS, KC_DEL, 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_BSPC, KC_PGUP, \
+ 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_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_LEFT, KC_DOWN, KC_RGHT),
+
+[1] = 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_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QMKBEST:
+ if (record->event.pressed) {
+ // when keycode QMKBEST is pressed
+ SEND_STRING("QMK is the best thing ever!");
+ } else {
+ // when keycode QMKBEST is released
+ }
+ break;
+ case QMKURL:
+ if (record->event.pressed) {
+ // when keycode QMKURL is pressed
+ SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
+ } else {
+ // when keycode QMKURL is released
+ }
+ break;
+ }
+ return true;
+}
+
+void matrix_init_user(void) {
+
+}
+
+void matrix_scan_user(void) {
+
+}
+
+void led_set_user(uint8_t usb_led) {
+
+}
diff --git a/keyboards/kbd67/hotswap/keymaps/default/readme.md b/keyboards/kbd67/hotswap/keymaps/default/readme.md
new file mode 100644
index 00000000000..7e681294f2f
--- /dev/null
+++ b/keyboards/kbd67/hotswap/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for hotswap
diff --git a/keyboards/kbd67/hotswap/keymaps/zunger/config.h b/keyboards/kbd67/hotswap/keymaps/zunger/config.h
new file mode 100644
index 00000000000..cc06440e0dd
--- /dev/null
+++ b/keyboards/kbd67/hotswap/keymaps/zunger/config.h
@@ -0,0 +1,22 @@
+/* Copyright 2018 MechMerlin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+// Enable cmd-option-escape on mac.
+#define GRAVE_ESC_ALT_OVERRIDE
+
+// place overrides here
diff --git a/keyboards/kbd67/hotswap/keymaps/zunger/keymap.c b/keyboards/kbd67/hotswap/keymaps/zunger/keymap.c
new file mode 100644
index 00000000000..0d542bf843e
--- /dev/null
+++ b/keyboards/kbd67/hotswap/keymaps/zunger/keymap.c
@@ -0,0 +1,176 @@
+/* Copyright 2019 Yonatan Zunger
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ // Use this instead of RALT, so we can use it to switch layers but not trigger other alt-related
+ // behavior (like GRAVE_ESC_ALT_OVERRIDE).
+ MAGIC = SAFE_RANGE,
+};
+
+enum layers_keymap {
+ _QWERTY = 0,
+ _FUNCTION,
+
+ _MAGIC,
+ _SHIFTMAGIC,
+};
+
+// This is so that H(xxxx) has the same width as _______, which makes the grids more legible.
+#define H(x) UC(0x##x)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Keymap (Base Layer) Default Layer
+ * ,----------------------------------------------------------------.
+ * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Del|Brk|Home|
+ * |----------------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |End |
+ * |----------------------------------------------------------------|
+ * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp|
+ * |----------------------------------------------------------------|
+ * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|PgDn|
+ * |----------------------------------------------------------------|
+ * |Ctrl|Alt |Win | Space |Alt| FN |||||Lef|Dow|Rig |
+ * `----------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BRK, 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_END, \
+ 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_ENT, KC_PGUP, \
+ 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_PGDN, \
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MAGIC, MO(_FUNCTION), KC_LEFT, KC_DOWN, KC_RGHT),
+
+ /* Keymap Fn Layer. Blank keys are deliberately NO, not TRNS.
+ * ,----------------------------------------------------------------.
+ * |Rst |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|F13|PSc|PAUS|
+ * |----------------------------------------------------------------|
+ * |Debug| | | | | | | | | | | | | | |
+ * |----------------------------------------------------------------|
+ * |Ctrl | |Vo+| | | | | | | | | | | |
+ * |----------------------------------------------------------------|
+ * |Shift |REV|Vo-|FWD| | | | | | | | McL|MsU|McR |
+ * |----------------------------------------------------------------|
+ * |Ctrl|Alt |Win | |Alt| |||||MsL|MsD|MsR |
+ * `----------------------------------------------------------------'
+ */
+[_FUNCTION] = LAYOUT(
+ RESET, 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_F13, KC_PSCR, KC_MPLY, \
+ DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, \
+ _______, KC_NO, KC__VOLUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
+ _______, KC_MRWD, KC__VOLDOWN, KC_MFFD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_U, KC_BTN2, \
+ _______, _______, _______, KC_NO, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R),
+
+ /* Mathematical lower layer. Blank keys are TRNS.
+ * Note that escape turns into grave here. This doesn't just generalize GRAVE_ESC; it means that
+ * magic+esc is a way to create backticks without a dedicated key.
+ * ,----------------------------------------------------------------.
+ * | ` | ¹| ² | ³ | ⁴ | ⁵ | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | ⁻ | ⁺ | ⊕ | ≠ | √ |
+ * |----------------------------------------------------------------|
+ * | | ± | ω | ε | ρ | τ | θ | υ | ι | ο | π | ∃ | ∀ | ℚ | ℝ |
+ * |----------------------------------------------------------------|
+ * | | α | σ | δ | φ | γ | η | ∅ | κ | λ | ∨ | ∧ | | ℕ |
+ * |----------------------------------------------------------------|
+ * | | ζ | ξ | χ | ψ | β | ν | μ | ≲ | ≳ | ∈ | | ↑ | ↔ |
+ * |----------------------------------------------------------------|
+ * | | | | | | ||||| ← | ↓ | → |
+ * `----------------------------------------------------------------'
+ */
+[_MAGIC] = LAYOUT(
+ KC_GRV, H(00b9), H(00b2), H(00b3), H(2074), H(2075), H(2076), H(2077), H(2078), H(2079), H(2070), H(207b), H(207a), H(2295), H(2260), H(221a), \
+ _______, H(00b1), H(03c9), H(03b5), H(03c1), H(03c4), H(03b8), H(03c5), H(03b9), H(03bf), H(03c0), H(2203), H(2200), H(211a), H(211d), \
+ _______, H(03b1), H(03c3), H(03b4), H(03c6), H(03b3), H(03b7), H(2205), H(03ba), H(03bb), H(2228), H(2227), _______, H(2115), \
+ _______, H(03b6), H(03be), H(03c7), H(03c8), H(03b2), H(03bd), H(03bc), H(2272), H(2273), H(2208), _______, H(2191), H(2194), \
+ _______, _______, _______, _______, _______, _______, H(2190), H(2193), H(2192)),
+
+ /* Mathematical upper layer. Blank keys are TRNS.
+ * ,----------------------------------------------------------------.
+ * | ` | ₁| ₂ | ₃ | ₄ | ₅ | ₆ | ₇ | ₈ | ₉ | ₀ | ₋ | ₊ | ⊗ | ≈ | ∂ |
+ * |----------------------------------------------------------------|
+ * | | ∓ | Ω | Ε | Ρ | Τ | Θ | Υ | Ι | Ο | Π | ∄ | ∞ | ⊙ | ℂ |
+ * |----------------------------------------------------------------|
+ * | | Α | Σ | Δ | Φ | Γ | Η | ¬ | Κ | Λ | ∪ | ∩ | | ℤ |
+ * |----------------------------------------------------------------|
+ * | | Ζ | Ξ | Χ | Ψ | Β | Ν | Μ | ⊆ | ⊇ | ∉ | | ⇑ | ⇔ |
+ * |----------------------------------------------------------------|
+ * | | | | | | ||||| ⇐ | ⇓ | ⇒ |
+ * `----------------------------------------------------------------'
+ */
+[_SHIFTMAGIC] = LAYOUT(
+ KC_GRV, H(2081), H(2082), H(2083), H(2084), H(2085), H(2086), H(2087), H(2088), H(2089), H(2080), H(208b), H(208a), H(2297), H(2248), H(2202), \
+ _______, H(2213), H(03a9), H(0395), H(03a1), H(03a4), H(0398), H(03a5), H(0399), H(039f), H(03a0), H(2204), H(221e), H(2299), H(2102), \
+ _______, H(0391), H(03a3), H(0394), H(03a6), H(0393), H(0397), H(00ac), H(039a), H(039b), H(222a), H(2229), _______, H(2124), \
+ _______, H(0396), H(039e), H(03a7), H(03a8), H(0392), H(039d), H(039c), H(2286), H(2287), H(2209), _______, H(21d1), H(21d4), \
+ _______, _______, _______, _______, _______, _______, H(21d0), H(21d3), H(21d2)),
+};
+
+// Layer bitfields.
+#define MAGIC_LAYER (1UL << _MAGIC)
+#define SHIFTMAGIC_LAYER (1UL << _SHIFTMAGIC)
+// The layers we don't touch.
+#define LAYER_MASK ~(MAGIC_LAYER|SHIFTMAGIC_LAYER)
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ // Activate the appropriate magic layer:
+ // User is holding AltGr+Shift => _SHIFTMAGIC
+ // User is holding AltGr => _MAGIC
+ // Not holding AltGr => None
+ // We do this the efficient way, by grabbing the non-magic bits from the current layer bitmap,
+ // setting the appropriate magic or shiftmagic bit, and doing an absolute layer set. (Layer
+ // sets are nontrivial, so we don't want to do extras!)
+
+ // We track shift and AltGr state on our own, because this function is called before get_mods is
+ // updated!
+ static bool shifted = false;
+ static bool magic = false;
+
+ if (keycode == KC_LSHIFT || keycode == KC_RSHIFT) {
+ shifted = record->event.pressed;
+ } else if (keycode == MAGIC) {
+ magic = record->event.pressed;
+ } else if (keycode == RESET) {
+ // Safe reset: Only actually let this keycode through if shift is held as well. Since there's no
+ // right-shift in the function layer, this means that reset is Fn+LShift+Esc, something you're
+ // not likely to hit by accident. (Especially since AltGr+Esc is backtick!)
+ return (record->event.pressed && shifted);
+ }
+
+ // Update the layer.
+ uint32_t new_layer_state = layer_state & LAYER_MASK;
+ if (magic) {
+ new_layer_state |= (shifted ? SHIFTMAGIC_LAYER : MAGIC_LAYER);
+ }
+ if (layer_state != new_layer_state) {
+ layer_state_set(new_layer_state);
+ }
+
+ return true;
+}
+
+void eeconfig_init_user(void) {
+ set_unicode_input_mode(UC_OSX);
+}
+
+void matrix_init_user(void) {
+}
+
+void matrix_scan_user(void) {
+
+}
+
+void led_set_user(uint8_t usb_led) {
+
+}
diff --git a/keyboards/kbd67/hotswap/keymaps/zunger/readme.md b/keyboards/kbd67/hotswap/keymaps/zunger/readme.md
new file mode 100644
index 00000000000..923a4824a52
--- /dev/null
+++ b/keyboards/kbd67/hotswap/keymaps/zunger/readme.md
@@ -0,0 +1,27 @@
+* Custom keymap for kbd67, for those who need to both code and type math.
+* Author: Yonatan Zunger (zunger@gmail.com)
+
+This keymap is presently rather Mac-centric, as it uses Mac media keys in its function layer and the
+OS X Unicode input mode for the "magic" layers.
+
+*Layer 0 (Base QWERTY):* The layout has a few minor quirks: grave escape, Home/End/PgUp/PgDn in the
+right-hand column (rather than the more common Home/PgUp/PgDn/End), and a pause key between
+backspace and home -- this being something I use for screen lock, a necessity when one works with
+and sits next to security engineers. (Using a heavier switch on the pause key greatly reduces the
+risk of accidental triggering) In OS X style, alt and win are swapped on the left-hand side.
+
+The right-hand alt and gui keys take on a different meaning: right-alt lives up to its old name of
+AltGr by invoking Greek (the "magic" layers, 2 and 3), and right-gui invokes the function layer.
+
+*Layer 1 (Functions):* This layer deliberately sets KC_NO for the keys it doesn't use. I realize
+this isn't common, but I like to keep my functions quite distinct from all other layers.
+
+RESET can be accessed at Fn+Left Shift+Escape.
+
+*Layers 2 and 3*: These are invoked by the "magic" key (AltGr) and by magic+shift. The
+letters mostly produce Greek; the numbers, superscripts (magic) and subscripts (magic+shift); and
+the various other keys, mathematical symbols. There unfortunately aren't nearly enough keys for all
+the symbols I'd like, so magic+alt and magic+alt+shift may end up existing as well, giving this a
+proper Space Cadet effect; but that said, it's going to be hard to remember where all these symbols
+are without some extremely custom keycaps. In the limit of arbitrarily complex layers, the keyboard
+will probably start running LISP and turn into EMACS.
diff --git a/keyboards/kbd67/hotswap/keymaps/zunger/rules.mk b/keyboards/kbd67/hotswap/keymaps/zunger/rules.mk
new file mode 100644
index 00000000000..a61cfa33fa9
--- /dev/null
+++ b/keyboards/kbd67/hotswap/keymaps/zunger/rules.mk
@@ -0,0 +1,2 @@
+# You need Unicode for this map.
+UNICODE_ENABLE = yes # Unicode
diff --git a/keyboards/kbd67/hotswap/readme.md b/keyboards/kbd67/hotswap/readme.md
new file mode 100644
index 00000000000..6b407059328
--- /dev/null
+++ b/keyboards/kbd67/hotswap/readme.md
@@ -0,0 +1,13 @@
+# hotswap
+
+A 65% hot swap board with blocker and USB Type C port.
+
+Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
+Hardware Supported: KBD67 Hotswap
+Hardware Availability: [KBDFans](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbd67/hotswap:default
+
+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/kbd67/hotswap/rules.mk b/keyboards/kbd67/hotswap/rules.mk
new file mode 100644
index 00000000000..f8667d280f4
--- /dev/null
+++ b/keyboards/kbd67/hotswap/rules.mk
@@ -0,0 +1,80 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# atmega32a bootloadHID
+BOOTLOADER = atmel-dfu
+
+
+# If you don't know the bootloader type, then you can specify the
+# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+# OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
diff --git a/keyboards/kbd67/readme.md b/keyboards/kbd67/readme.md
index f9e25099949..cdaf7e922db 100644
--- a/keyboards/kbd67/readme.md
+++ b/keyboards/kbd67/readme.md
@@ -1,13 +1,15 @@
-# kbd67
+# KBD67
-65% keyboard with blocker.
+A 65% keyboard sold in two variants. Rev1 was a typical keyboard that had to be soldered together, supporting multiple layouts.
+Months later, a new version with hotswap was sold. **Firmware files from one, will not work on the other.** Please use the `.hex` appropriate for your board.
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
-Hardware Supported: KBD67 PCB
-Hardware Availability: [KBDFans](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit)
+Hardware Supported: KBD67
+Hardware Availability: KBDFans
Make example for this keyboard (after setting up your build environment):
- make kbd67:default
+ make kbd67/rev1:default
+ make kbd67/hotswap:default
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/kbd67/config.h b/keyboards/kbd67/rev1/config.h
similarity index 98%
rename from keyboards/kbd67/config.h
rename to keyboards/kbd67/rev1/config.h
index 2e3cf85c385..2a1e558ab32 100644
--- a/keyboards/kbd67/config.h
+++ b/keyboards/kbd67/rev1/config.h
@@ -125,11 +125,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/kbd67/info.json b/keyboards/kbd67/rev1/info.json
similarity index 100%
rename from keyboards/kbd67/info.json
rename to keyboards/kbd67/rev1/info.json
diff --git a/keyboards/kbd67/keymaps/default/config.h b/keyboards/kbd67/rev1/keymaps/default/config.h
similarity index 100%
rename from keyboards/kbd67/keymaps/default/config.h
rename to keyboards/kbd67/rev1/keymaps/default/config.h
diff --git a/keyboards/kbd67/keymaps/default/keymap.c b/keyboards/kbd67/rev1/keymaps/default/keymap.c
similarity index 100%
rename from keyboards/kbd67/keymaps/default/keymap.c
rename to keyboards/kbd67/rev1/keymaps/default/keymap.c
diff --git a/keyboards/kbd67/keymaps/default/readme.md b/keyboards/kbd67/rev1/keymaps/default/readme.md
similarity index 100%
rename from keyboards/kbd67/keymaps/default/readme.md
rename to keyboards/kbd67/rev1/keymaps/default/readme.md
diff --git a/keyboards/kbd67/rev1/readme.md b/keyboards/kbd67/rev1/readme.md
new file mode 100644
index 00000000000..ab5209646f6
--- /dev/null
+++ b/keyboards/kbd67/rev1/readme.md
@@ -0,0 +1,13 @@
+# kbd67
+
+65% keyboard with blocker.
+
+Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
+Hardware Supported: KBD67 PCB
+Hardware Availability: [KBDFans](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kbd67/rev1:default
+
+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/kbd67/kbd67.c b/keyboards/kbd67/rev1/rev1.c
similarity index 98%
rename from keyboards/kbd67/kbd67.c
rename to keyboards/kbd67/rev1/rev1.c
index 5e0369673b2..94cb9e553b0 100644
--- a/keyboards/kbd67/kbd67.c
+++ b/keyboards/kbd67/rev1/rev1.c
@@ -13,7 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#include "kbd67.h"
+#include "rev1.h"
void matrix_init_kb(void) {
// put your keyboard start-up code here
diff --git a/keyboards/kbd67/kbd67.h b/keyboards/kbd67/rev1/rev1.h
similarity index 98%
rename from keyboards/kbd67/kbd67.h
rename to keyboards/kbd67/rev1/rev1.h
index 4a98c66f7ae..4ee136393a7 100644
--- a/keyboards/kbd67/kbd67.h
+++ b/keyboards/kbd67/rev1/rev1.h
@@ -13,8 +13,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#ifndef KBD67_H
-#define KBD67_H
+#ifndef REV1_H
+#define REV1_H
#include "quantum.h"
diff --git a/keyboards/kbd67/rules.mk b/keyboards/kbd67/rev1/rules.mk
similarity index 98%
rename from keyboards/kbd67/rules.mk
rename to keyboards/kbd67/rev1/rules.mk
index 65c82dd7f56..0d7c14ad453 100644
--- a/keyboards/kbd67/rules.mk
+++ b/keyboards/kbd67/rev1/rules.mk
@@ -61,7 +61,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = yes # Console for debug(+400)
diff --git a/keyboards/kbd6x/config.h b/keyboards/kbd6x/config.h
index 9f23fb867cb..4a3fb881bf6 100644
--- a/keyboards/kbd6x/config.h
+++ b/keyboards/kbd6x/config.h
@@ -61,7 +61,6 @@ along with this program. If not, see .
#define RGBLIGHT_VAL_STEP 12
#endif
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -113,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/kbd6x/keymaps/konstantin/config.h b/keyboards/kbd6x/keymaps/konstantin/config.h
index 4b511eb8484..16387fa2f61 100644
--- a/keyboards/kbd6x/keymaps/konstantin/config.h
+++ b/keyboards/kbd6x/keymaps/konstantin/config.h
@@ -1,3 +1,4 @@
#pragma once
#define LAYER_FN
+#define SEND_STRING_CLEAN
diff --git a/keyboards/kbd6x/keymaps/konstantin/keymap.c b/keyboards/kbd6x/keymaps/konstantin/keymap.c
index b400b068107..fa324be9a11 100644
--- a/keyboards/kbd6x/keymaps/konstantin/keymap.c
+++ b/keyboards/kbd6x/keymaps/konstantin/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
* │ │Mut│VoD│VoU│Ply│Prv│Nxt│MW←│MW→│M4 │M5 │ │ │
* └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘
- * │ │ │ MW↓ │ │ │
+ * │ │ │ MW↓ │MAcl2│ │
* └───┴─────┴───────────────────────────┴─────┴───┘
*/
[L_FN] = LAYOUT(
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, KC_DEL,
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, _______,
_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_WH_L, KC_WH_R, KC_BTN4, KC_BTN5, _______, _______,
- XXXXXXX, _______, _______, KC_WH_D, _______, _______, XXXXXXX
+ XXXXXXX, _______, _______, KC_WH_D, KC_ACL2, _______, XXXXXXX
),
/* RCtrl layer
diff --git a/keyboards/kbd75/config.h b/keyboards/kbd75/config.h
index 726afcaf6e7..6f0cd86de31 100644
--- a/keyboards/kbd75/config.h
+++ b/keyboards/kbd75/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/kbd8x/config.h b/keyboards/kbd8x/config.h
index 7749e04724b..dca9b40ee05 100644
--- a/keyboards/kbd8x/config.h
+++ b/keyboards/kbd8x/config.h
@@ -61,7 +61,6 @@ along with this program. If not, see .
#define RGBLIGHT_VAL_STEP 8
#endif
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -113,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -194,5 +188,3 @@ along with this program. If not, see .
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-
diff --git a/keyboards/kc60/config.h b/keyboards/kc60/config.h
index 29695d0b9d7..5c002f9b3fe 100644
--- a/keyboards/kc60/config.h
+++ b/keyboards/kc60/config.h
@@ -102,11 +102,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/kc60se/config.h b/keyboards/kc60se/config.h
index 9f8b3e28aec..54e66cb31da 100644
--- a/keyboards/kc60se/config.h
+++ b/keyboards/kc60se/config.h
@@ -46,7 +46,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 6
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -98,11 +97,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/kinesis/config.h b/keyboards/kinesis/config.h
index a4e06b6ebb2..74e85f6f1b8 100644
--- a/keyboards/kinesis/config.h
+++ b/keyboards/kinesis/config.h
@@ -76,11 +76,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -135,8 +130,6 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
-
#ifdef SUBPROJECT_alvicstep
#include "alvicstep/config.h"
#endif
diff --git a/keyboards/kinesis/stapelberg/config.h b/keyboards/kinesis/stapelberg/config.h
index 0677e0adebf..321aec5eb27 100644
--- a/keyboards/kinesis/stapelberg/config.h
+++ b/keyboards/kinesis/stapelberg/config.h
@@ -41,10 +41,4 @@
#define IGNORE_MOD_TAP_INTERRUPT
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
#endif
diff --git a/keyboards/kira75/config.h b/keyboards/kira75/config.h
index e75ac342c43..f4b1c7a5ce6 100644
--- a/keyboards/kira75/config.h
+++ b/keyboards/kira75/config.h
@@ -60,7 +60,6 @@ along with this program. If not, see .
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -112,11 +111,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/kmac/config.h b/keyboards/kmac/config.h
index 5c164bfc179..18eb1de1f94 100644
--- a/keyboards/kmac/config.h
+++ b/keyboards/kmac/config.h
@@ -93,11 +93,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/kmac/matrix.c b/keyboards/kmac/matrix.c
index cfafa90e661..82f0621f2b9 100644
--- a/keyboards/kmac/matrix.c
+++ b/keyboards/kmac/matrix.c
@@ -97,7 +97,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/kmini/matrix.c b/keyboards/kmini/matrix.c
index 5f9bfe3d7fa..69135909a59 100755
--- a/keyboards/kmini/matrix.c
+++ b/keyboards/kmini/matrix.c
@@ -112,7 +112,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -105,11 +104,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/kona_classic/config.h b/keyboards/kona_classic/config.h
index fecf64c041c..819a7475a03 100644
--- a/keyboards/kona_classic/config.h
+++ b/keyboards/kona_classic/config.h
@@ -101,11 +101,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/laplace/config.h b/keyboards/laplace/config.h
index b4a52436894..45b89a97acb 100644
--- a/keyboards/laplace/config.h
+++ b/keyboards/laplace/config.h
@@ -46,9 +46,4 @@ along with this program. If not, see .
#define TAPPING_TERM 200
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/launchpad/config.h b/keyboards/launchpad/config.h
index 9d1e310d3ec..4023a22015e 100644
--- a/keyboards/launchpad/config.h
+++ b/keyboards/launchpad/config.h
@@ -45,11 +45,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/lazydesigners/the50/config.h b/keyboards/lazydesigners/the50/config.h
index e4f91f5eef0..d1ddbfea400 100644
--- a/keyboards/lazydesigners/the50/config.h
+++ b/keyboards/lazydesigners/the50/config.h
@@ -37,11 +37,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E6
#ifdef RGB_DI_PIN
#define RGBLED_NUM 1
diff --git a/keyboards/lets_split/rev1/config.h b/keyboards/lets_split/rev1/config.h
index 18b7cce5a4f..e9dc0a53467 100644
--- a/keyboards/lets_split/rev1/config.h
+++ b/keyboards/lets_split/rev1/config.h
@@ -53,11 +53,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/lets_split/rev2/config.h b/keyboards/lets_split/rev2/config.h
index 1c0871cd1ec..e3102696588 100644
--- a/keyboards/lets_split/rev2/config.h
+++ b/keyboards/lets_split/rev2/config.h
@@ -53,11 +53,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/lets_split/sockets/config.h b/keyboards/lets_split/sockets/config.h
index e73c45722de..9c6367f5335 100644
--- a/keyboards/lets_split/sockets/config.h
+++ b/keyboards/lets_split/sockets/config.h
@@ -53,11 +53,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D4
diff --git a/keyboards/lets_split_eh/config.h b/keyboards/lets_split_eh/config.h
index abfee0eace7..c227326c09f 100644
--- a/keyboards/lets_split_eh/config.h
+++ b/keyboards/lets_split_eh/config.h
@@ -39,9 +39,4 @@ along with this program. If not, see .
/* serial.c configuration for split keyboard */
//#define SOFT_SERIAL_PIN D0
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/levinson/rev1/config.h b/keyboards/levinson/rev1/config.h
index 07ba1e221ea..4d70a6af168 100644
--- a/keyboards/levinson/rev1/config.h
+++ b/keyboards/levinson/rev1/config.h
@@ -49,11 +49,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/levinson/rev2/config.h b/keyboards/levinson/rev2/config.h
index a731c719556..9bf11bee9b5 100644
--- a/keyboards/levinson/rev2/config.h
+++ b/keyboards/levinson/rev2/config.h
@@ -49,11 +49,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/lfkeyboards/lfk65_hs/config.h b/keyboards/lfkeyboards/lfk65_hs/config.h
index ffbd1de9b68..73e906c3b33 100644
--- a/keyboards/lfkeyboards/lfk65_hs/config.h
+++ b/keyboards/lfkeyboards/lfk65_hs/config.h
@@ -79,11 +79,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/lfkeyboards/lfk78/config.h b/keyboards/lfkeyboards/lfk78/config.h
index 32f4455dae2..30919894c17 100644
--- a/keyboards/lfkeyboards/lfk78/config.h
+++ b/keyboards/lfkeyboards/lfk78/config.h
@@ -110,11 +110,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/lfkeyboards/lfk87/config.h b/keyboards/lfkeyboards/lfk87/config.h
index 84357450b38..00df4297746 100644
--- a/keyboards/lfkeyboards/lfk87/config.h
+++ b/keyboards/lfkeyboards/lfk87/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see .
#define DIODE_DIRECTION COL2ROW
-
#ifdef LFK_TKL_REV_A
/* RevB Matrix config */
#define MATRIX_ROWS 6
@@ -111,11 +110,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c
index e215033a2d1..18d5d8cadce 100644
--- a/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c
+++ b/keyboards/lfkeyboards/lfk87/keymaps/default/keymap.c
@@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_FN0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, \
KC_FN0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, \
MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FN2, RGB_MOD, RGB_VAD, XXXXXXX, \
- AU_TOG, KC_F1, KC_FN3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, \
+ AU_TOG, KC_FN1, KC_FN3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, \
KC_FN5, KC_FN2, KC_FN4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, \
XXXXXXX, XXXXXXX, XXXXXXX, KC_FN12, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI \
),
diff --git a/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c b/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c
index ec8bedbb0c5..a916f80f1a1 100644
--- a/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c
+++ b/keyboards/lfkeyboards/lfk87/keymaps/iso/keymap.c
@@ -96,16 +96,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
const uint16_t PROGMEM fn_actions[] = {
- ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers
- ACTION_FUNCTION(LFK_ESC_TILDE), // FN1 - esc+shift = ~, else escape
- ACTION_FUNCTION(LFK_LED_TEST), // FN2 - cycle through LEDs for testing
- ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN3 - Increase Freq of audio click
- ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN4 - Decrease Freq of audio click
- ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN5 - Increase length of audio click
- ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN6 - Decrease length of audio click
- ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN7 - Toggle audio click
- ACTION_FUNCTION(LFK_LED_TEST), // FN8 - cycle through LEDs for testing
- ACTION_FUNCTION(LFK_DEBUG_SETTINGS), // FN9 - prints LED and click settings to HID
+ [0] = ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers
+ [3] = ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN3 - Increase Freq of audio click
+ [4] = ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN4 - Decrease Freq of audio click
+ [5] = ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN5 - Increase length of audio click
+ [6] = ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN6 - Decrease length of audio click
+ [7] = ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN7 - Toggle audio click
};
diff --git a/keyboards/lfkeyboards/lfkpad/config.h b/keyboards/lfkeyboards/lfkpad/config.h
index ea85f670cf5..ea29e84a4ec 100644
--- a/keyboards/lfkeyboards/lfkpad/config.h
+++ b/keyboards/lfkeyboards/lfkpad/config.h
@@ -89,11 +89,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/lfkeyboards/mini1800/config.h b/keyboards/lfkeyboards/mini1800/config.h
index 8389e8b3f5e..e4d197aa2d4 100644
--- a/keyboards/lfkeyboards/mini1800/config.h
+++ b/keyboards/lfkeyboards/mini1800/config.h
@@ -97,11 +97,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c b/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c
index 443064748d4..dc064ebf2d2 100644
--- a/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c
+++ b/keyboards/lfkeyboards/mini1800/keymaps/default/keymap.c
@@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[SETTINGS] = LAYOUT(
KC_FN0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, \
MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FN2, RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX, \
- AU_TOG, KC_F1, KC_FN3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ AU_TOG, KC_FN1, KC_FN3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
KC_FN5, KC_FN2, KC_FN4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, KC_FN12, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_HUD, RGB_SAI, XXXXXXX, XXXXXXX \
),
diff --git a/keyboards/lfkeyboards/mini1800/rules.mk b/keyboards/lfkeyboards/mini1800/rules.mk
index be670b9b48b..a1e52aae94a 100644
--- a/keyboards/lfkeyboards/mini1800/rules.mk
+++ b/keyboards/lfkeyboards/mini1800/rules.mk
@@ -52,6 +52,8 @@ F_USB = $(F_CPU)
# Interrupt driven control endpoint task(+60)
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+# Extra source files for IS3731 lighting
+SRC = TWIlib.c issi.c lighting.c
ifeq ($(strip $(ISSI_ENABLE)), yes)
# TMK_COMMON_DEFS += -DISSI_ENABLE
diff --git a/keyboards/lfkeyboards/rules.mk b/keyboards/lfkeyboards/rules.mk
deleted file mode 100644
index 5cf759a2fcc..00000000000
--- a/keyboards/lfkeyboards/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SRC = TWIlib.c issi.c lighting.c
diff --git a/keyboards/lfkeyboards/smk65/config.h b/keyboards/lfkeyboards/smk65/config.h
index 78626416c8d..ddc7c5165a8 100644
--- a/keyboards/lfkeyboards/smk65/config.h
+++ b/keyboards/lfkeyboards/smk65/config.h
@@ -106,11 +106,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c b/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c
index 26430a81b9e..757217ddb2e 100644
--- a/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c
+++ b/keyboards/lfkeyboards/smk65/keymaps/default/keymap.c
@@ -56,15 +56,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
const uint16_t PROGMEM fn_actions[] = {
- ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers
- ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click
- ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click
- ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click
- ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click
- ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click
+ [1] = ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click
+ [2] = ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click
+ [3] = ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click
+ [4] = ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click
+ [5] = ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click
};
-
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
diff --git a/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c b/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c
index 9adf722fd91..40a7ee03f92 100644
--- a/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c
+++ b/keyboards/lfkeyboards/smk65/keymaps/iso/keymap.c
@@ -56,12 +56,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
const uint16_t PROGMEM fn_actions[] = {
- ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers
- ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click
- ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click
- ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click
- ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click
- ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click
+ [1] = ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click
+ [2] = ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click
+ [3] = ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click
+ [4] = ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click
+ [5] = ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click
};
diff --git a/keyboards/lily58/rev1/config.h b/keyboards/lily58/rev1/config.h
index 0dee6a6946a..7a4386e7072 100644
--- a/keyboards/lily58/rev1/config.h
+++ b/keyboards/lily58/rev1/config.h
@@ -52,11 +52,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#define RGBLED_NUM 12 // Number of LEDs
diff --git a/keyboards/m10a/config.h b/keyboards/m10a/config.h
index f052ab62974..ec425dfbd4f 100644
--- a/keyboards/m10a/config.h
+++ b/keyboards/m10a/config.h
@@ -56,11 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/massdrop/alt/config.h b/keyboards/massdrop/alt/config.h
index 660d44421bc..d2f73a6a8e1 100644
--- a/keyboards/massdrop/alt/config.h
+++ b/keyboards/massdrop/alt/config.h
@@ -99,11 +99,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Force boot in NKRO mode */
//#define FORCE_NKRO
diff --git a/keyboards/massdrop/alt/keymaps/abishalom/keymap.c b/keyboards/massdrop/alt/keymaps/abishalom/keymap.c
index 7ffa53dcaa3..10bc62c1f0e 100644
--- a/keyboards/massdrop/alt/keymaps/abishalom/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/abishalom/keymap.c
@@ -60,9 +60,9 @@ void matrix_init_user(void) {
void matrix_scan_user(void) {
};
-#define MODS_SHIFT (keyboard_report->mods & MOD_BIT(KC_LSHIFT) || keyboard_report->mods & MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL (keyboard_report->mods & MOD_BIT(KC_LCTL) || keyboard_report->mods & MOD_BIT(KC_RCTRL))
-#define MODS_ALT (keyboard_report->mods & MOD_BIT(KC_LALT) || keyboard_report->mods & MOD_BIT(KC_RALT))
+#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
+#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
+#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint32_t key_timer;
diff --git a/keyboards/massdrop/alt/keymaps/default/keymap.c b/keyboards/massdrop/alt/keymaps/default/keymap.c
index 7ffa53dcaa3..10bc62c1f0e 100644
--- a/keyboards/massdrop/alt/keymaps/default/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/default/keymap.c
@@ -60,9 +60,9 @@ void matrix_init_user(void) {
void matrix_scan_user(void) {
};
-#define MODS_SHIFT (keyboard_report->mods & MOD_BIT(KC_LSHIFT) || keyboard_report->mods & MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL (keyboard_report->mods & MOD_BIT(KC_LCTL) || keyboard_report->mods & MOD_BIT(KC_RCTRL))
-#define MODS_ALT (keyboard_report->mods & MOD_BIT(KC_LALT) || keyboard_report->mods & MOD_BIT(KC_RALT))
+#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
+#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
+#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint32_t key_timer;
diff --git a/keyboards/massdrop/alt/keymaps/mac/keymap.c b/keyboards/massdrop/alt/keymaps/mac/keymap.c
index 9fd4816ccfd..639eb2da75e 100644
--- a/keyboards/massdrop/alt/keymaps/mac/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/mac/keymap.c
@@ -60,9 +60,9 @@ void matrix_init_user(void) {
void matrix_scan_user(void) {
};
-#define MODS_SHIFT (keyboard_report->mods & MOD_BIT(KC_LSHIFT) || keyboard_report->mods & MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL (keyboard_report->mods & MOD_BIT(KC_LCTL) || keyboard_report->mods & MOD_BIT(KC_RCTRL))
-#define MODS_ALT (keyboard_report->mods & MOD_BIT(KC_LALT) || keyboard_report->mods & MOD_BIT(KC_RALT))
+#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
+#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
+#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint32_t key_timer;
diff --git a/keyboards/massdrop/alt/keymaps/reywood/keymap.c b/keyboards/massdrop/alt/keymaps/reywood/keymap.c
index 48b804efea1..cf60acfe66c 100644
--- a/keyboards/massdrop/alt/keymaps/reywood/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/reywood/keymap.c
@@ -60,9 +60,9 @@ void matrix_init_user(void) {
void matrix_scan_user(void) {
};
-#define MODS_SHIFT (keyboard_report->mods & MOD_BIT(KC_LSHIFT) || keyboard_report->mods & MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL (keyboard_report->mods & MOD_BIT(KC_LCTL) || keyboard_report->mods & MOD_BIT(KC_RCTRL))
-#define MODS_ALT (keyboard_report->mods & MOD_BIT(KC_LALT) || keyboard_report->mods & MOD_BIT(KC_RALT))
+#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
+#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
+#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint32_t key_timer;
diff --git a/keyboards/massdrop/ctrl/config.h b/keyboards/massdrop/ctrl/config.h
index 31eccda87d1..71ccac0f399 100644
--- a/keyboards/massdrop/ctrl/config.h
+++ b/keyboards/massdrop/ctrl/config.h
@@ -99,11 +99,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Force boot in NKRO mode */
//#define FORCE_NKRO
diff --git a/keyboards/massdrop/ctrl/keymaps/default/keymap.c b/keyboards/massdrop/ctrl/keymaps/default/keymap.c
index 11597f98796..cdb627f9c4b 100644
--- a/keyboards/massdrop/ctrl/keymaps/default/keymap.c
+++ b/keyboards/massdrop/ctrl/keymaps/default/keymap.c
@@ -63,9 +63,9 @@ void matrix_init_user(void) {
void matrix_scan_user(void) {
};
-#define MODS_SHIFT (keyboard_report->mods & MOD_BIT(KC_LSHIFT) || keyboard_report->mods & MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL (keyboard_report->mods & MOD_BIT(KC_LCTL) || keyboard_report->mods & MOD_BIT(KC_RCTRL))
-#define MODS_ALT (keyboard_report->mods & MOD_BIT(KC_LALT) || keyboard_report->mods & MOD_BIT(KC_RALT))
+#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
+#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
+#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint32_t key_timer;
diff --git a/keyboards/massdrop/ctrl/keymaps/mac/keymap.c b/keyboards/massdrop/ctrl/keymaps/mac/keymap.c
index badb566b371..e41b5eba20c 100644
--- a/keyboards/massdrop/ctrl/keymaps/mac/keymap.c
+++ b/keyboards/massdrop/ctrl/keymaps/mac/keymap.c
@@ -63,9 +63,9 @@ void matrix_init_user(void) {
void matrix_scan_user(void) {
};
-#define MODS_SHIFT (keyboard_report->mods & MOD_BIT(KC_LSHIFT) || keyboard_report->mods & MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL (keyboard_report->mods & MOD_BIT(KC_LCTL) || keyboard_report->mods & MOD_BIT(KC_RCTRL))
-#define MODS_ALT (keyboard_report->mods & MOD_BIT(KC_LALT) || keyboard_report->mods & MOD_BIT(KC_RALT))
+#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
+#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
+#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint32_t key_timer;
diff --git a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c b/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c
index eabd8d23a92..0bdc1521401 100644
--- a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c
+++ b/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c
@@ -37,7 +37,7 @@ enum ctrl_keycodes {
DBG_KBD, //DEBUG Toggle Keyboard Prints
DBG_MOU, //DEBUG Toggle Mouse Prints
MD_BOOT, //Restart into bootloader after hold timeout
-
+
L_SP_PR, //LED Splash Pattern Select Previous
L_SP_NE, //LED Splash Pattern Select Next
@@ -178,7 +178,7 @@ static void init_distance_map(void){
uint8_t id2 = ktli(KEY_POSITION_MAP[j][i]);
if(id1 == id2) continue;
-
+
uint8_t dx = abs(i - x);
uint8_t dy = abs(j - y);
uint8_t dis = dx + dy;
@@ -277,15 +277,15 @@ void led_matrix_run(void)
bo = 0;
uint8_t led_index = led_cur - led_map; // only this part differs from the original function.
- if(led_index < KEY_LED_COUNT){ //
+ if(led_index < KEY_LED_COUNT){ //
user_led_cur = USER_LED[led_index]; // `struct user_led_t USER_LED[]` is stored globally.
- } //
- //
+ } //
+ //
if(led_index < KEY_LED_COUNT && user_led_cur.state){ // `user_led_cur` is just for convenience
- ro = user_led_cur.r; //
- go = user_led_cur.g; //
- bo = user_led_cur.b; //
- } //
+ ro = user_led_cur.r; //
+ go = user_led_cur.g; //
+ bo = user_led_cur.b; //
+ } //
else if (led_lighting_mode == LED_MODE_KEYS_ONLY && led_cur->scan == 255)
{
//Do not act on this LED
@@ -513,7 +513,7 @@ static uint8_t COLOR_PATTERNS[][COLOR_PATTERN_RGB_COUNT][3] = {
{181, 181, 181}, {164, 164, 164}, {147, 147, 147},
{128, 128, 128}, {108, 108, 108}, { 88, 88, 88},
{ 66, 66, 66}, { 45, 45, 45}, { 23, 23, 23},
- },
+ },
};
static const uint8_t COLOR_PATTERNS_COUNT = (
sizeof(COLOR_PATTERNS) / sizeof(COLOR_PATTERNS[0]));
@@ -561,7 +561,7 @@ void refresh_color_pattern_indicators(void){
static uint8_t ZXCVBNM_COMM_DOT[] = {
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,
};
-
+
if(layer_state >= 0x04){
uint8_t (*c)[3] = &COLOR_PATTERNS[USER_CONFIG.COLOR_PATTERN_INDEX][0];
for(uint8_t i = 0; i < 9; ++i){
@@ -589,7 +589,7 @@ void matrix_scan_user(void) {
calculate_keystroke_distance();
-
+
#define USE_PATTERN 0
#define BLACK_RGB 1
#define COLOR_RGB 2
@@ -599,7 +599,7 @@ void matrix_scan_user(void) {
uint8_t distance;
for(uint8_t i = 1; i <= KEY_LED_COUNT; ++i){
if(USER_LED[i-1].state >= 2) continue;
-
+
handle_type = USE_PATTERN;
distance = DISTANCE_FROM_LAST_KEYSTROKE[i];
@@ -695,9 +695,9 @@ void matrix_scan_user(void) {
};
-#define MODS_SHIFT (keyboard_report->mods & MOD_BIT(KC_LSHIFT) || keyboard_report->mods & MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL (keyboard_report->mods & MOD_BIT(KC_LCTL) || keyboard_report->mods & MOD_BIT(KC_RCTRL))
-#define MODS_ALT (keyboard_report->mods & MOD_BIT(KC_LALT) || keyboard_report->mods & MOD_BIT(KC_RALT))
+#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
+#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
+#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint32_t key_timer;
@@ -835,7 +835,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
+
case L_SP_PR: // previous dripple pattern
case L_SP_NE: // next dripple pattern
if (record->event.pressed) {
@@ -880,7 +880,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
USER_CONFIG.WAVE_PERIOD = 10;
break;
}
-
+
// remove effect after changing pattern
for(int i = 0; i < KEY_STROKES_LENGTH; ++i){
KEY_STROKES[i].alive = 0;
@@ -903,7 +903,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case L_SP_SL:
if(record->event.pressed){
short incre = keycode == L_SP_FA ? -1 : 1;
-
+
USER_CONFIG.WAVE_PERIOD += 10 * incre;
if(USER_CONFIG.WAVE_PERIOD < 10){
USER_CONFIG.WAVE_PERIOD = 10;
diff --git a/keyboards/maxipad/config.h b/keyboards/maxipad/config.h
index d7a5ef5646a..1acd232c99e 100644
--- a/keyboards/maxipad/config.h
+++ b/keyboards/maxipad/config.h
@@ -51,7 +51,6 @@ along with this program. If not, see .
//#define MATRIX_COL_PINS { F6, C6, D7, F5, B4, B5 }
//#define UNUSED_PINS
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -69,11 +68,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/mechmini/v1/config.h b/keyboards/mechmini/v1/config.h
index 1f46451f99a..9355a6dc33c 100644
--- a/keyboards/mechmini/v1/config.h
+++ b/keyboards/mechmini/v1/config.h
@@ -42,7 +42,4 @@ along with this program. If not, see .
#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN E2
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/mechmini/v2/config.h b/keyboards/mechmini/v2/config.h
index e0922bb7e22..edca6a5c42f 100755
--- a/keyboards/mechmini/v2/config.h
+++ b/keyboards/mechmini/v2/config.h
@@ -17,7 +17,6 @@
#include "config_common.h"
-
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0xCA40
@@ -57,11 +56,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/mehkee96/config.h b/keyboards/mehkee96/config.h
index 70ca273c36b..334358aad1c 100644
--- a/keyboards/mehkee96/config.h
+++ b/keyboards/mehkee96/config.h
@@ -15,4 +15,3 @@
#define RGBLED_NUM 16
#define RGBLIGHT_ANIMATIONS
/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
diff --git a/keyboards/meira/featherble/config.h b/keyboards/meira/featherble/config.h
index b7cdfe8bdb8..d8f86fe0271 100644
--- a/keyboards/meira/featherble/config.h
+++ b/keyboards/meira/featherble/config.h
@@ -47,7 +47,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
//#define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -94,11 +93,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/meira/promicro/config.h b/keyboards/meira/promicro/config.h
index 0c4e8f17f50..3c2113a2001 100644
--- a/keyboards/meira/promicro/config.h
+++ b/keyboards/meira/promicro/config.h
@@ -20,7 +20,6 @@ along with this program. If not, see .
#include "config_common.h"
-
/*
* Keyboard Matrix Assignments
*
@@ -83,11 +82,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/melody96/config.h b/keyboards/melody96/config.h
index 67123a7e524..db814d0133d 100644
--- a/keyboards/melody96/config.h
+++ b/keyboards/melody96/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/meme/config.h b/keyboards/meme/config.h
index d1e3d27a185..58b53b674a1 100644
--- a/keyboards/meme/config.h
+++ b/keyboards/meme/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -105,11 +104,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/miniaxe/config.h b/keyboards/miniaxe/config.h
index 7a68476a549..ae1fd448a6e 100644
--- a/keyboards/miniaxe/config.h
+++ b/keyboards/miniaxe/config.h
@@ -120,11 +120,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -244,4 +239,3 @@ along with this program. If not, see .
//#define I2C_MASTER_RIGHT
#define DISABLE_JTAG
-
diff --git a/keyboards/minidox/config.h b/keyboards/minidox/config.h
index 306a486cb96..b99180eb1ab 100644
--- a/keyboards/minidox/config.h
+++ b/keyboards/minidox/config.h
@@ -49,11 +49,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* disable debug print */
//#define NO_DEBUG
diff --git a/keyboards/mint60/config.h b/keyboards/mint60/config.h
index a762c5ffea8..c3d5d5663e2 100644
--- a/keyboards/mint60/config.h
+++ b/keyboards/mint60/config.h
@@ -20,7 +20,6 @@ along with this program. If not, see .
#include "config_common.h"
#include
-
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0000
@@ -57,7 +56,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -109,11 +107,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -160,8 +153,6 @@ along with this program. If not, see .
#define RGBLIGHT_ANIMATIONS
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/mitosis/config.h b/keyboards/mitosis/config.h
index 5cfd2e4b122..f2220278eca 100644
--- a/keyboards/mitosis/config.h
+++ b/keyboards/mitosis/config.h
@@ -41,12 +41,6 @@ along with this program. If not, see .
#define ONESHOT_TIMEOUT 500
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/mitosis/matrix.c b/keyboards/mitosis/matrix.c
index 4b87242b916..e149b68bd7d 100644
--- a/keyboards/mitosis/matrix.c
+++ b/keyboards/mitosis/matrix.c
@@ -103,7 +103,7 @@ uint8_t matrix_scan(void)
if (timeout > 10000){
break;
}
- }
+ }
uart_data[i] = SERIAL_UART_DATA;
}
@@ -125,7 +125,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -159,7 +153,6 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#define RGB_DI_PIN D0 // The pin your RGB strip is wired to
#define RGBLED_NUM 17 // Number of LEDs
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/mt40/config.h b/keyboards/mt40/config.h
index cf3326d7bf6..f0b3b9caa33 100644
--- a/keyboards/mt40/config.h
+++ b/keyboards/mt40/config.h
@@ -35,7 +35,6 @@ along with this program. If not, see .
#define MATRIX_ROWS 8
#define MATRIX_COLS 15
-
#define NO_UART 1
#define RGB_DI_PIN C0
@@ -74,7 +73,6 @@ along with this program. If not, see .
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
/* #define LOCKING_SUPPORT_ENABLE */
/* Locking resynchronize hack */
@@ -118,9 +116,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/mxss/config.h b/keyboards/mxss/config.h
index 8be64e0b387..74188c94304 100644
--- a/keyboards/mxss/config.h
+++ b/keyboards/mxss/config.h
@@ -94,11 +94,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/namecard2x4/config.h b/keyboards/namecard2x4/config.h
index d0c26193c4b..fbb5cf4454d 100644
--- a/keyboards/namecard2x4/config.h
+++ b/keyboards/namecard2x4/config.h
@@ -59,7 +59,6 @@ along with this program. If not, see .
//#define BACKLIGHT_BREATHING
//#define BACKLIGHT_LEVELS 1
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -111,11 +110,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -220,4 +214,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/niu_mini/config.h b/keyboards/niu_mini/config.h
index b9d3ed4e9dd..9a4b43c1e67 100644
--- a/keyboards/niu_mini/config.h
+++ b/keyboards/niu_mini/config.h
@@ -59,11 +59,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/noxary/268/config.h b/keyboards/noxary/268/config.h
index 7eec79a1bcd..d6f5234cbdb 100644
--- a/keyboards/noxary/268/config.h
+++ b/keyboards/noxary/268/config.h
@@ -55,11 +55,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812b options */
#define RGB_DI_PIN B5
#ifdef RGB_DI_PIN
diff --git a/keyboards/noxary/268_2/config.h b/keyboards/noxary/268_2/config.h
index f5308d8ecd3..2702f924b57 100644
--- a/keyboards/noxary/268_2/config.h
+++ b/keyboards/noxary/268_2/config.h
@@ -106,11 +106,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/noxary/x268/config.h b/keyboards/noxary/x268/config.h
index 5c4f6cdad7c..ac52d9fc3fe 100644
--- a/keyboards/noxary/x268/config.h
+++ b/keyboards/noxary/x268/config.h
@@ -115,11 +115,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/nyquist/keymaps/shovelpaw/config.h b/keyboards/nyquist/keymaps/shovelpaw/config.h
new file mode 100644
index 00000000000..d0adbfe0c8a
--- /dev/null
+++ b/keyboards/nyquist/keymaps/shovelpaw/config.h
@@ -0,0 +1,43 @@
+/*
+Copyright 2017 Danny Nguyen
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
+
+#undef RGBLED_NUM
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 12
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+
+// Mouse specific settings
+#define MOUSEKEY_INTERVAL 16
+#define MOUSEKEY_DELAY 0
+#define MOUSEKEY_TIME_TO_MAX 60
+#define MOUSEKEY_MAX_SPEED 6
+#define MOUSEKEY_WHEEL_DELAY 0
diff --git a/keyboards/nyquist/keymaps/shovelpaw/keymap.c b/keyboards/nyquist/keymaps/shovelpaw/keymap.c
new file mode 100644
index 00000000000..87e44ff0436
--- /dev/null
+++ b/keyboards/nyquist/keymaps/shovelpaw/keymap.c
@@ -0,0 +1,156 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+// 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.
+#define _QWERTY 0
+#define _LOWER 1
+#define _RAISE 2
+#define _MIDI 3
+#define _ADJUST 16
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ MIDI,
+ ADJUST
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------| |-------------------------------------------.
+ * | GEsc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Del |
+ * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
+ * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
+ * | Shift| Z | X | C | V | B | | N | M | , | . | / | Enter |
+ * |------+------+------+------+------+------| |------+-------+------+------+------+-------|
+ * | Ctrl |Adjust| GUI | Alt |Lower |Space | | Space |Raise | Left | Up | Down | Right |
+ * `-----------------------------------------| |-------------------------------------------|
+ */
+
+[_QWERTY] = LAYOUT( \
+ KC_GESC, 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_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, \
+ KC_RCTL, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
+ KC_LCTL, MO(_ADJUST), KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT \
+),
+
+/* Lower
+ * ,-----------------------------------------| |------------------------------------------.
+ * | ` | F1 | F2 | F3 | | | | - | = | ( | ) | | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+-------|
+ * | ~ | F4 | F5 | F6 | | | | & | * | { | } | | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+-------|
+ * | Del | F7 | F8 | F9 | | | | _ | + | [ | ] | | \ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+-------|
+ * | | F10 | F11 | F12 | | | | | | | F5 | Up | Enter |
+ * |------+------+------+------+------+------| |------+------+------+------+------+-------|
+ * | | | | | | Home | | End | | | Left | Down | Right |
+ * `-----------------------------------------| |------------------------------------------'
+ */
+[_LOWER] = LAYOUT( \
+ KC_GRV, KC_F1, KC_F2, KC_F3, _______, _______, KC_MINS, KC_EQL, _______, KC_LPRN, KC_RPRN, KC_BSPC, \
+ KC_TILD, KC_F4, KC_F5, KC_F6, _______, _______, KC_AMPR, KC_ASTR, _______, KC_LCBR, KC_RCBR, KC_DEL, \
+ KC_DEL, KC_F7, KC_F8, KC_F9, _______, _______, KC_UNDS, KC_PLUS, _______, KC_LBRC, KC_RBRC, KC_BSLS, \
+ _______, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, KC_F5, KC_UP, _______, \
+ _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT \
+),
+
+/* Raise
+ * ,-----------------------------------------| |-----------------------------------------.
+ * | Back | m0 | m1 | m2 | | | | | 7 | 8 | 9 | - | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | For | sD | mU | sU | | | | | 4 | 5 | 6 | + | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Del | mL | mD | mR | | | | | 1 | 2 | 3 | * | \ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | 0 | mB1 | mB1 | mB2 | | | | 0 | . | = | / |Enter |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | MIDI | | | | | | | | | Mute | Vol- | Vol+ | Play |
+ * `-----------------------------------------| |-----------------------------------------'
+ */
+[_RAISE] = LAYOUT( \
+ LALT(KC_LEFT), KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, KC_7, KC_8, KC_9, KC_MINS, KC_BSPC, \
+ LALT(KC_RIGHT), KC_MS_WH_DOWN, KC_MS_UP, KC_MS_WH_UP, _______, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, KC_DEL, \
+ KC_DEL, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______, _______, KC_1, KC_2, KC_3, KC_ASTR, KC_BSLS, \
+ _______, KC_P0, KC_MS_BTN1, KC_MS_BTN1, KC_MS_BTN2, _______, _______, KC_0, KC_DOT, KC_EQL, KC_SLSH, _______, \
+ MO(_MIDI), _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY \
+),
+
+/*
+ * MIDI
+ */
+
+[_MIDI] = LAYOUT( \
+ QWERTY, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_C_2, MI_C_3, QWERTY, \
+ MI_A_3, MI_As_3, MI_B_3, MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3, \
+ MI_A_2, MI_As_2, MI_B_2, MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, \
+ MI_A_1, MI_As_1, MI_B_1, MI_C_1, MI_Cs_1, MI_D_1, MI_Ds_1, MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1, \
+ MI_A, MI_As, MI_B, MI_C, MI_Cs, MI_D, MI_Ds, MI_E, MI_F, MI_Fs, MI_G, MI_Gs \
+),
+
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------| |-----------------------------------------.
+ * |QWERTY| F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | Reset|RGB Tg|RGB Md|Hue Up|Hue Dn| |Sat Up| 7 | 8 | 9 | | Del |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | |Aud on|Audoff|AGnorm| |AGswap| 6 | 5 | 4 | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | | | | | [ | | ] | 1 | 2 | 3 | | |
+ * |------+------+------+------+------+------+ |------+------+------+------+------+------|
+ * | | | | | | { | | } | 0 | . | | | |
+ * `-----------------------------------------| |-----------------------------------------'
+ */
+[_ADJUST] = LAYOUT( \
+ QWERTY, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
+ _______, RESET , RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, KC_7, KC_8, KC_9, _______, KC_DEL, \
+ _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_6, KC_5, KC_4, _______, _______, \
+ _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_1, KC_2, KC_3, _______, _______, \
+ _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_0, KC_DOT, _______, _______, _______ \
+)
+
+
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(1UL<<_QWERTY);
+ }
+ return false;
+ break;
+ case LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ case RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/nyquist/keymaps/shovelpaw/rules.mk b/keyboards/nyquist/keymaps/shovelpaw/rules.mk
new file mode 100644
index 00000000000..44ca075c340
--- /dev/null
+++ b/keyboards/nyquist/keymaps/shovelpaw/rules.mk
@@ -0,0 +1,3 @@
+RGBLIGHT_ENABLE = yes
+MIDI_ENABLE = yes # MIDI support (+2400 to 4200, depending on config)
+
diff --git a/keyboards/nyquist/rev1/config.h b/keyboards/nyquist/rev1/config.h
index 892054b7331..98381aca741 100644
--- a/keyboards/nyquist/rev1/config.h
+++ b/keyboards/nyquist/rev1/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/nyquist/rev2/config.h b/keyboards/nyquist/rev2/config.h
index 21aea0aada3..52c50694bf0 100644
--- a/keyboards/nyquist/rev2/config.h
+++ b/keyboards/nyquist/rev2/config.h
@@ -51,11 +51,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/nyquist/rev3/config.h b/keyboards/nyquist/rev3/config.h
index 0caf8c423cb..18b40ecec7a 100644
--- a/keyboards/nyquist/rev3/config.h
+++ b/keyboards/nyquist/rev3/config.h
@@ -52,11 +52,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN B4
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/ok60/config.h b/keyboards/ok60/config.h
index db7b74e5872..eb75b71c97a 100644
--- a/keyboards/ok60/config.h
+++ b/keyboards/ok60/config.h
@@ -66,11 +66,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN F6
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 10
diff --git a/keyboards/omnikey_blackheart/config.h b/keyboards/omnikey_blackheart/config.h
index 94412cfa673..edfd113deef 100644
--- a/keyboards/omnikey_blackheart/config.h
+++ b/keyboards/omnikey_blackheart/config.h
@@ -37,11 +37,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* force n-key rollover*/
#define FORCE_NKRO
diff --git a/keyboards/org60/config.h b/keyboards/org60/config.h
index 62b3b69a0ed..5f3f4f5deb7 100644
--- a/keyboards/org60/config.h
+++ b/keyboards/org60/config.h
@@ -72,11 +72,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define TAPPING_TERM 200
#endif
diff --git a/keyboards/orthodox/keymaps/drashna/config.h b/keyboards/orthodox/keymaps/drashna/config.h
index 09df12d9ed9..eed1cbe89fb 100644
--- a/keyboards/orthodox/keymaps/drashna/config.h
+++ b/keyboards/orthodox/keymaps/drashna/config.h
@@ -32,16 +32,11 @@ along with this program. If not, see .
// #define MASTER_RIGHT
#define EE_HANDS
-
-/* key combination for command */
-#ifdef IS_COMMAND
-#undef IS_COMMAND
-#endif
+/* key combination for magic key command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LALT)) \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LALT)) \
)
-
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN D3
#define RGBLED_NUM 16 // Number of LEDs
@@ -77,7 +72,6 @@ along with this program. If not, see .
#define QMK_LED B0
#define QMK_SPEAKER C6
-
#define SHFT_LED1 5
#define SHFT_LED2 10
@@ -86,4 +80,3 @@ along with this program. If not, see .
#define GUI_LED1 8
#define ALT_LED1 7
-
diff --git a/keyboards/orthodox/rev1/config.h b/keyboards/orthodox/rev1/config.h
index 03936e737fd..f7497c09c5c 100644
--- a/keyboards/orthodox/rev1/config.h
+++ b/keyboards/orthodox/rev1/config.h
@@ -65,7 +65,7 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LGUI)) \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LGUI)) \
)
/* ws2812 RGB LED */
diff --git a/keyboards/orthodox/rev3/config.h b/keyboards/orthodox/rev3/config.h
index 2e4018e91bf..d727ae674b4 100644
--- a/keyboards/orthodox/rev3/config.h
+++ b/keyboards/orthodox/rev3/config.h
@@ -70,7 +70,7 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LGUI)) \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LGUI)) \
)
/* ws2812 RGB LED */
diff --git a/keyboards/orthodox/rev3_teensy/config.h b/keyboards/orthodox/rev3_teensy/config.h
index e2e693079c9..591827fb973 100644
--- a/keyboards/orthodox/rev3_teensy/config.h
+++ b/keyboards/orthodox/rev3_teensy/config.h
@@ -62,7 +62,7 @@ along with this program. If not, see .
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LGUI)) \
+ get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LGUI)) \
)
/* ws2812 RGB LED */
diff --git a/keyboards/paladin64/config.h b/keyboards/paladin64/config.h
index a5280f4d48b..0696fefd065 100755
--- a/keyboards/paladin64/config.h
+++ b/keyboards/paladin64/config.h
@@ -105,11 +105,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN D0
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/panc60/config.h b/keyboards/panc60/config.h
index 703141bebfe..00bdbc60f1b 100644
--- a/keyboards/panc60/config.h
+++ b/keyboards/panc60/config.h
@@ -41,6 +41,3 @@ along with this program. If not, see .
#define RGBLIGHT_ANIMATIONS
#define NO_UART 1
-
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
diff --git a/keyboards/pearl/config.h b/keyboards/pearl/config.h
index c0594bf91ab..6edf170d97b 100644
--- a/keyboards/pearl/config.h
+++ b/keyboards/pearl/config.h
@@ -42,9 +42,5 @@ along with this program. If not, see .
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCING_DELAY 5
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
-
diff --git a/keyboards/phantom/config.h b/keyboards/phantom/config.h
index 5b7fa62ff50..3fa46244521 100644
--- a/keyboards/phantom/config.h
+++ b/keyboards/phantom/config.h
@@ -101,11 +101,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/pinky/3/config.h b/keyboards/pinky/3/config.h
index 1b120b9cb0e..6de5a35d0e6 100644
--- a/keyboards/pinky/3/config.h
+++ b/keyboards/pinky/3/config.h
@@ -131,11 +131,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/pinky/4/config.h b/keyboards/pinky/4/config.h
index 2348d408454..53c6f91b1a7 100644
--- a/keyboards/pinky/4/config.h
+++ b/keyboards/pinky/4/config.h
@@ -131,11 +131,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/plain60/config.h b/keyboards/plain60/config.h
index 9e838616bf5..763aeff0823 100644
--- a/keyboards/plain60/config.h
+++ b/keyboards/plain60/config.h
@@ -45,11 +45,6 @@ along with this program. If not, see .
/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 5
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define QMK_ESC_OUTPUT D2 // usually COL
#define QMK_ESC_INPUT B4 // usually ROW
@@ -72,4 +67,4 @@ along with this program. If not, see .
// Dynamic macro starts after dynamic keymaps (35+(4*10*6*2)) = (35+480)
#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 635
#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 389 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16
\ No newline at end of file
+#define DYNAMIC_KEYMAP_MACRO_COUNT 16
diff --git a/keyboards/planck/config.h b/keyboards/planck/config.h
index 452a99d7463..837311c7691 100644
--- a/keyboards/planck/config.h
+++ b/keyboards/planck/config.h
@@ -63,11 +63,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c
index 1cffe15d465..039e8024823 100644
--- a/keyboards/planck/keymaps/callum/keymap.c
+++ b/keyboards/planck/keymaps/callum/keymap.c
@@ -4,9 +4,6 @@
extern keymap_config_t keymap_config;
-#define G(X) LGUI(X)
-#define A(X) LALT(X)
-#define C(X) LCTL(X)
#define AC(X) A(C(X))
#define SC(X) S(C(X))
#define _______ KC_TRNS
diff --git a/keyboards/planck/keymaps/dodger/config.h b/keyboards/planck/keymaps/dodger/config.h
index c70acfdc994..4b7931e778a 100644
--- a/keyboards/planck/keymaps/dodger/config.h
+++ b/keyboards/planck/keymaps/dodger/config.h
@@ -63,11 +63,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/planck/keymaps/rai-suta/keymap.c b/keyboards/planck/keymaps/rai-suta/keymap.c
index 59fe34b1e45..97da0e80689 100644
--- a/keyboards/planck/keymaps/rai-suta/keymap.c
+++ b/keyboards/planck/keymaps/rai-suta/keymap.c
@@ -9,7 +9,6 @@
// Keycode defines
#define _______ KC_TRNS
#define XXXXXXX KC_NO
-#define C(kc) LCTL(kc)
// JIS keyboard
#define JK_CIRC KC_EQL // ^
#define JK_AT KC_LBRC // @
diff --git a/keyboards/planck/keymaps/zach/config.h b/keyboards/planck/keymaps/zach/config.h
index dc79bad064e..35b28da2369 100644
--- a/keyboards/planck/keymaps/zach/config.h
+++ b/keyboards/planck/keymaps/zach/config.h
@@ -33,11 +33,6 @@
//#define LOCKING_RESYNC_ENABLE
#undef LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/planck/keymaps/zach/zach_common_functions.c b/keyboards/planck/keymaps/zach/zach_common_functions.c
index e6aeaa50a31..e9866883b4b 100644
--- a/keyboards/planck/keymaps/zach/zach_common_functions.c
+++ b/keyboards/planck/keymaps/zach/zach_common_functions.c
@@ -8,6 +8,7 @@ extern keymap_config_t keymap_config;
// Fillers to make layering more clear
#define _______ KC_TRNS
#define XXXXXXX KC_NO
+#undef C
#define C(n) RCTL(n)
#define CADKEY RCTL(RALT(KC_DEL))
diff --git a/keyboards/planck/rev6/config.h b/keyboards/planck/rev6/config.h
index c0fbb412ee1..4713d9d233d 100644
--- a/keyboards/planck/rev6/config.h
+++ b/keyboards/planck/rev6/config.h
@@ -80,11 +80,6 @@
*/
//#define FORCE_NKRO
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/playkbtw/ca66/config.h b/keyboards/playkbtw/ca66/config.h
index 53bbe95e3a6..958fdd0d49c 100644
--- a/keyboards/playkbtw/ca66/config.h
+++ b/keyboards/playkbtw/ca66/config.h
@@ -37,12 +37,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
#define RGB_DI_PIN B1
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/playkbtw/pk60/config.h b/keyboards/playkbtw/pk60/config.h
index 601e3c8a5c6..77822e0a12e 100644
--- a/keyboards/playkbtw/pk60/config.h
+++ b/keyboards/playkbtw/pk60/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E2
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/preonic/config.h b/keyboards/preonic/config.h
index 739e38555b1..1887bff5df8 100644
--- a/keyboards/preonic/config.h
+++ b/keyboards/preonic/config.h
@@ -63,11 +63,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/preonic/keymaps/kinesis/config.h b/keyboards/preonic/keymaps/kinesis/config.h
index e6099ceb82c..7899408cda0 100644
--- a/keyboards/preonic/keymaps/kinesis/config.h
+++ b/keyboards/preonic/keymaps/kinesis/config.h
@@ -56,11 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D1
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/preonic/keymaps/zach/config.h b/keyboards/preonic/keymaps/zach/config.h
index 25f88afdc15..58690a4abab 100644
--- a/keyboards/preonic/keymaps/zach/config.h
+++ b/keyboards/preonic/keymaps/zach/config.h
@@ -45,7 +45,6 @@ along with this program. If not, see .
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
-
#define BACKLIGHT_BREATHING // LED breathing
/* number of backlight levels */
#define BACKLIGHT_LEVELS 5
@@ -58,11 +57,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
//#define RGB_DI_PIN D1
@@ -90,5 +84,4 @@ along with this program. If not, see .
//#define DYNAMIC_MACRO_ENABLE // Enable if you need to use the macro functionality
//#define SPACE_CADET // Parenthesis on L/R shift
-
#endif
diff --git a/keyboards/preonic/keymaps/zach/zach_common_functions.c b/keyboards/preonic/keymaps/zach/zach_common_functions.c
index e6aeaa50a31..e9866883b4b 100644
--- a/keyboards/preonic/keymaps/zach/zach_common_functions.c
+++ b/keyboards/preonic/keymaps/zach/zach_common_functions.c
@@ -8,6 +8,7 @@ extern keymap_config_t keymap_config;
// Fillers to make layering more clear
#define _______ KC_TRNS
#define XXXXXXX KC_NO
+#undef C
#define C(n) RCTL(n)
#define CADKEY RCTL(RALT(KC_DEL))
diff --git a/keyboards/preonic/rev3/boards/GENERIC_STM32_F303XC/board.c b/keyboards/preonic/rev3/boards/GENERIC_STM32_F303XC/board.c
deleted file mode 100644
index 4331155df4b..00000000000
--- a/keyboards/preonic/rev3/boards/GENERIC_STM32_F303XC/board.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "hal.h"
-
-#if HAL_USE_PAL || defined(__DOXYGEN__)
-/**
- * @brief PAL setup.
- * @details Digital I/O ports static configuration as defined in @p board.h.
- * This variable is used by the HAL when initializing the PAL driver.
- */
-const PALConfig pal_default_config = {
-#if STM32_HAS_GPIOA
- {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
- VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
-#endif
-#if STM32_HAS_GPIOB
- {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
- VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
-#endif
-#if STM32_HAS_GPIOC
- {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
- VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
-#endif
-#if STM32_HAS_GPIOD
- {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
- VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
-#endif
-#if STM32_HAS_GPIOE
- {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
- VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
-#endif
-#if STM32_HAS_GPIOF
- {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
- VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH},
-#endif
-#if STM32_HAS_GPIOG
- {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
- VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH},
-#endif
-#if STM32_HAS_GPIOH
- {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
- VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH},
-#endif
-#if STM32_HAS_GPIOI
- {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
- VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH}
-#endif
-};
-#endif
-
-void enter_bootloader_mode_if_requested(void);
-
-/**
- * @brief Early initialization code.
- * @details This initialization must be performed just after stack setup
- * and before any other initialization.
- */
-void __early_init(void) {
- enter_bootloader_mode_if_requested();
- stm32_clock_init();
-}
-
-#if HAL_USE_SDC || defined(__DOXYGEN__)
-/**
- * @brief SDC card detection.
- */
-bool sdc_lld_is_card_inserted(SDCDriver *sdcp) {
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return true;
-}
-
-/**
- * @brief SDC card write protection detection.
- */
-bool sdc_lld_is_write_protected(SDCDriver *sdcp) {
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return false;
-}
-#endif /* HAL_USE_SDC */
-
-#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
-/**
- * @brief MMC_SPI card detection.
- */
-bool mmc_lld_is_card_inserted(MMCDriver *mmcp) {
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return true;
-}
-
-/**
- * @brief MMC_SPI card write protection detection.
- */
-bool mmc_lld_is_write_protected(MMCDriver *mmcp) {
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return false;
-}
-#endif
-
-/**
- * @brief Board-specific initialization code.
- * @todo Add your board-specific code, if any.
- */
-void boardInit(void) {
-}
diff --git a/keyboards/preonic/rev3/boards/GENERIC_STM32_F303XC/board.h b/keyboards/preonic/rev3/boards/GENERIC_STM32_F303XC/board.h
deleted file mode 100644
index ec26557f3a6..00000000000
--- a/keyboards/preonic/rev3/boards/GENERIC_STM32_F303XC/board.h
+++ /dev/null
@@ -1,1187 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for Clueboard 60% Keyboard
- */
-
-/*
- * Board identifier.
- */
-#define BOARD_GENERIC_STM32_F303XC
-#define BOARD_NAME "Planck PCB"
-
-/*
- * Board oscillators-related settings.
- * NOTE: LSE not fitted.
- */
-#if !defined(STM32_LSECLK)
-#define STM32_LSECLK 0U
-#endif
-
-#define STM32_LSEDRV (3U << 3U)
-
-#if !defined(STM32_HSECLK)
-#define STM32_HSECLK 8000000U
-#endif
-
-// #define STM32_HSE_BYPASS
-
-/*
- * MCU type as defined in the ST header.
- */
-#define STM32F303xC
-
-/*
- * IO pins assignments.
- */
-#define GPIOA_PIN0 0U
-#define GPIOA_PIN1 1U
-#define GPIOA_PIN2 2U
-#define GPIOA_PIN3 3U
-#define GPIOA_PIN4 4U
-#define GPIOA_PIN5 5U
-#define GPIOA_PIN6 6U
-#define GPIOA_PIN7 7U
-#define GPIOA_PIN8 8U
-#define GPIOA_PIN9 9U
-#define GPIOA_PIN10 10U
-#define GPIOA_USB_DM 11U
-#define GPIOA_USB_DP 12U
-#define GPIOA_SWDIO 13U
-#define GPIOA_SWCLK 14U
-#define GPIOA_PIN15 15U
-
-#define GPIOB_PIN0 0U
-#define GPIOB_PIN1 1U
-#define GPIOB_PIN2 2U
-#define GPIOB_PIN3 3U
-#define GPIOB_PIN4 4U
-#define GPIOB_PIN5 5U
-#define GPIOB_PIN6 6U
-#define GPIOB_PIN7 7U
-#define GPIOB_PIN8 8U
-#define GPIOB_PIN9 9U
-#define GPIOB_PIN10 10U
-#define GPIOB_PIN11 11U
-#define GPIOB_PIN12 12U
-#define GPIOB_PIN13 13U
-#define GPIOB_PIN14 14U
-#define GPIOB_PIN15 15U
-
-#define GPIOC_PIN0 0U
-#define GPIOC_PIN1 1U
-#define GPIOC_PIN2 2U
-#define GPIOC_PIN3 3U
-#define GPIOC_PIN4 4U
-#define GPIOC_PIN5 5U
-#define GPIOC_PIN6 6U
-#define GPIOC_PIN7 7U
-#define GPIOC_PIN8 8U
-#define GPIOC_PIN9 9U
-#define GPIOC_PIN10 10U
-#define GPIOC_PIN11 11U
-#define GPIOC_PIN12 12U
-#define GPIOC_PIN13 13U
-#define GPIOC_PIN14 14U
-#define GPIOC_PIN15 15U
-
-#define GPIOD_PIN0 0U
-#define GPIOD_PIN1 1U
-#define GPIOD_PIN2 2U
-#define GPIOD_PIN3 3U
-#define GPIOD_PIN4 4U
-#define GPIOD_PIN5 5U
-#define GPIOD_PIN6 6U
-#define GPIOD_PIN7 7U
-#define GPIOD_PIN8 8U
-#define GPIOD_PIN9 9U
-#define GPIOD_PIN10 10U
-#define GPIOD_PIN11 11U
-#define GPIOD_PIN12 12U
-#define GPIOD_PIN13 13U
-#define GPIOD_PIN14 14U
-#define GPIOD_PIN15 15U
-
-#define GPIOE_PIN0 0U
-#define GPIOE_PIN1 1U
-#define GPIOE_PIN2 2U
-#define GPIOE_PIN3 3U
-#define GPIOE_PIN4 4U
-#define GPIOE_PIN5 5U
-#define GPIOE_PIN6 6U
-#define GPIOE_PIN7 7U
-#define GPIOE_PIN8 8U
-#define GPIOE_PIN9 9U
-#define GPIOE_PIN10 10U
-#define GPIOE_PIN11 11U
-#define GPIOE_PIN12 12U
-#define GPIOE_PIN13 13U
-#define GPIOE_PIN14 14U
-#define GPIOE_PIN15 15U
-
-#define GPIOF_I2C2_SDA 0U
-#define GPIOF_I2C2_SCL 1U
-#define GPIOF_PIN2 2U
-#define GPIOF_PIN3 3U
-#define GPIOF_PIN4 4U
-#define GPIOF_PIN5 5U
-#define GPIOF_PIN6 6U
-#define GPIOF_PIN7 7U
-#define GPIOF_PIN8 8U
-#define GPIOF_PIN9 9U
-#define GPIOF_PIN10 10U
-#define GPIOF_PIN11 11U
-#define GPIOF_PIN12 12U
-#define GPIOF_PIN13 13U
-#define GPIOF_PIN14 14U
-#define GPIOF_PIN15 15U
-
-#define GPIOG_PIN0 0U
-#define GPIOG_PIN1 1U
-#define GPIOG_PIN2 2U
-#define GPIOG_PIN3 3U
-#define GPIOG_PIN4 4U
-#define GPIOG_PIN5 5U
-#define GPIOG_PIN6 6U
-#define GPIOG_PIN7 7U
-#define GPIOG_PIN8 8U
-#define GPIOG_PIN9 9U
-#define GPIOG_PIN10 10U
-#define GPIOG_PIN11 11U
-#define GPIOG_PIN12 12U
-#define GPIOG_PIN13 13U
-#define GPIOG_PIN14 14U
-#define GPIOG_PIN15 15U
-
-#define GPIOH_PIN0 0U
-#define GPIOH_PIN1 1U
-#define GPIOH_PIN2 2U
-#define GPIOH_PIN3 3U
-#define GPIOH_PIN4 4U
-#define GPIOH_PIN5 5U
-#define GPIOH_PIN6 6U
-#define GPIOH_PIN7 7U
-#define GPIOH_PIN8 8U
-#define GPIOH_PIN9 9U
-#define GPIOH_PIN10 10U
-#define GPIOH_PIN11 11U
-#define GPIOH_PIN12 12U
-#define GPIOH_PIN13 13U
-#define GPIOH_PIN14 14U
-#define GPIOH_PIN15 15U
-
-/*
- * IO lines assignments.
- */
-#define LINE_L3GD20_SDI PAL_LINE(GPIOA, 7U)
-#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
-#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
-#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
-#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
-
-#define LINE_PIN6 PAL_LINE(GPIOF, 0U)
-#define LINE_PIN7 PAL_LINE(GPIOF, 1U)
-
-#define LINE_CAPS_LOCK PAL_LINE(GPIOB, 7U)
-
-
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- * Please refer to the STM32 Reference Manual for details.
- */
-#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
-#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
-#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
-#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
-#define PIN_ODR_LOW(n) (0U << (n))
-#define PIN_ODR_HIGH(n) (1U << (n))
-#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
-#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
-#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
-#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
-#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
-#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
-#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
-#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
-#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
-#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
-
-/*
- * GPIOA setup:
- *
- * PA0 - NC
- * PA1 - NC
- * PA2 - COL1
- * PA3 - COL2
- * PA4 - SPEAKER1
- * PA5 - SPEAKER2
- * PA6 - COL3
- * PA7 - COL8
- * PA8 - COL6
- * PA9 - COL7
- * PA10 - ROW5
- * PA11 - USB_DM (alternate 14).
- * PA12 - USB_DP (alternate 14).
- * PA13 - SWDIO (alternate 0).
- * PA14 - SWCLK (alternate 0).
- * PA15 - ROW4
- */
-#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_PIN0) | \
- PIN_MODE_ALTERNATE(GPIOA_PIN1) | \
- PIN_MODE_INPUT(GPIOA_PIN2) | \
- PIN_MODE_INPUT(GPIOA_PIN3) | \
- PIN_MODE_INPUT(GPIOA_PIN4) | \
- PIN_MODE_INPUT(GPIOA_PIN5) | \
- PIN_MODE_INPUT(GPIOA_PIN6) | \
- PIN_MODE_INPUT(GPIOA_PIN7) | \
- PIN_MODE_INPUT(GPIOA_PIN8) | \
- PIN_MODE_INPUT(GPIOA_PIN9) | \
- PIN_MODE_INPUT(GPIOA_PIN10) | \
- PIN_MODE_ALTERNATE(GPIOA_USB_DM) | \
- PIN_MODE_ALTERNATE(GPIOA_USB_DP) | \
- PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
- PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \
- PIN_MODE_INPUT(GPIOA_PIN15))
-#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_PIN0) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOA_USB_DM) | \
- PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) | \
- PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \
- PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \
- PIN_OTYPE_PUSHPULL(GPIOA_PIN15))
-#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_PIN0) | \
- PIN_OSPEED_HIGH(GPIOA_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN10) | \
- PIN_OSPEED_HIGH(GPIOA_USB_DM) | \
- PIN_OSPEED_VERYLOW(GPIOA_USB_DP) | \
- PIN_OSPEED_HIGH(GPIOA_SWDIO) | \
- PIN_OSPEED_HIGH(GPIOA_SWCLK) | \
- PIN_OSPEED_VERYLOW(GPIOA_PIN15))
-#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_PIN0) | \
- PIN_PUPDR_FLOATING(GPIOA_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN6) | \
- PIN_PUPDR_FLOATING(GPIOA_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN10) | \
- PIN_PUPDR_FLOATING(GPIOA_USB_DM) | \
- PIN_PUPDR_FLOATING(GPIOA_USB_DP) | \
- PIN_PUPDR_PULLUP(GPIOA_SWDIO) | \
- PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) | \
- PIN_PUPDR_PULLUP(GPIOA_PIN15))
-#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_PIN0) | \
- PIN_ODR_HIGH(GPIOA_PIN1) | \
- PIN_ODR_HIGH(GPIOA_PIN2) | \
- PIN_ODR_HIGH(GPIOA_PIN3) | \
- PIN_ODR_HIGH(GPIOA_PIN4) | \
- PIN_ODR_HIGH(GPIOA_PIN5) | \
- PIN_ODR_HIGH(GPIOA_PIN6) | \
- PIN_ODR_HIGH(GPIOA_PIN7) | \
- PIN_ODR_HIGH(GPIOA_PIN8) | \
- PIN_ODR_HIGH(GPIOA_PIN9) | \
- PIN_ODR_HIGH(GPIOA_PIN10) | \
- PIN_ODR_HIGH(GPIOA_USB_DM) | \
- PIN_ODR_HIGH(GPIOA_USB_DP) | \
- PIN_ODR_HIGH(GPIOA_SWDIO) | \
- PIN_ODR_HIGH(GPIOA_SWCLK) | \
- PIN_ODR_HIGH(GPIOA_PIN15))
-#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_PIN0, 0) | \
- PIN_AFIO_AF(GPIOA_PIN1, 1) | \
- PIN_AFIO_AF(GPIOA_PIN2, 0) | \
- PIN_AFIO_AF(GPIOA_PIN3, 0) | \
- PIN_AFIO_AF(GPIOA_PIN4, 0) | \
- PIN_AFIO_AF(GPIOA_PIN5, 5) | \
- PIN_AFIO_AF(GPIOA_PIN6, 5) | \
- PIN_AFIO_AF(GPIOA_PIN7, 5))
-#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0) | \
- PIN_AFIO_AF(GPIOA_PIN9, 0) | \
- PIN_AFIO_AF(GPIOA_PIN10, 0) | \
- PIN_AFIO_AF(GPIOA_USB_DM, 14) | \
- PIN_AFIO_AF(GPIOA_USB_DP, 14) | \
- PIN_AFIO_AF(GPIOA_SWDIO, 0) | \
- PIN_AFIO_AF(GPIOA_SWCLK, 0) | \
- PIN_AFIO_AF(GPIOA_PIN15, 0))
-
-/*
- * GPIOB setup:
- *
- * PB0 - PIN0 (input pullup).
- * PB1 - PIN1 (input pullup).
- * PB2 - PIN2 (input pullup).
- * PB3 - PIN3 (alternate 0).
- * PB4 - PIN4 (input pullup).
- * PB5 - PIN5 (input pullup).
- * PB6 - PIN6 LSM303DLHC_SCL (alternate 4).
- * PB7 - PIN7 LSM303DLHC_SDA (alternate 4).
- * PB8 - PIN8 (input pullup).
- * PB9 - PIN9 (input pullup).
- * PB10 - PIN10 (input pullup).
- * PB11 - PIN11 (input pullup).
- * PB12 - PIN12 (input pullup).
- * PB13 - PIN13 (input pullup).
- * PB14 - PIN14 (input pullup).
- * PB15 - PIN15 (input pullup).
- */
-#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \
- PIN_MODE_INPUT(GPIOB_PIN1) | \
- PIN_MODE_INPUT(GPIOB_PIN2) | \
- PIN_MODE_ALTERNATE(GPIOB_PIN3) | \
- PIN_MODE_INPUT(GPIOB_PIN4) | \
- PIN_MODE_INPUT(GPIOB_PIN5) | \
- PIN_MODE_ALTERNATE(GPIOB_PIN6) | \
- PIN_MODE_OUTPUT(GPIOB_PIN7) | \
- PIN_MODE_INPUT(GPIOB_PIN8) | \
- PIN_MODE_INPUT(GPIOB_PIN9) | \
- PIN_MODE_INPUT(GPIOB_PIN10) | \
- PIN_MODE_INPUT(GPIOB_PIN11) | \
- PIN_MODE_INPUT(GPIOB_PIN12) | \
- PIN_MODE_INPUT(GPIOB_PIN13) | \
- PIN_MODE_INPUT(GPIOB_PIN14) | \
- PIN_MODE_INPUT(GPIOB_PIN15))
-#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN5) | \
- PIN_OTYPE_OPENDRAIN(GPIOB_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN14) | \
- PIN_OTYPE_PUSHPULL(GPIOB_PIN15))
-#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOB_PIN0) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN2) | \
- PIN_OSPEED_HIGH(GPIOB_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN5) | \
- PIN_OSPEED_HIGH(GPIOB_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN13) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN14) | \
- PIN_OSPEED_VERYLOW(GPIOB_PIN15))
-#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN2) | \
- PIN_PUPDR_FLOATING(GPIOB_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN5) | \
- PIN_PUPDR_FLOATING(GPIOB_PIN6) | \
- PIN_PUPDR_PULLDOWN(GPIOB_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN13) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN14) | \
- PIN_PUPDR_PULLUP(GPIOB_PIN15))
-#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_PIN0) | \
- PIN_ODR_HIGH(GPIOB_PIN1) | \
- PIN_ODR_HIGH(GPIOB_PIN2) | \
- PIN_ODR_HIGH(GPIOB_PIN3) | \
- PIN_ODR_HIGH(GPIOB_PIN4) | \
- PIN_ODR_HIGH(GPIOB_PIN5) | \
- PIN_ODR_HIGH(GPIOB_PIN6) | \
- PIN_ODR_LOW(GPIOB_PIN7) | \
- PIN_ODR_HIGH(GPIOB_PIN8) | \
- PIN_ODR_HIGH(GPIOB_PIN9) | \
- PIN_ODR_HIGH(GPIOB_PIN10) | \
- PIN_ODR_HIGH(GPIOB_PIN11) | \
- PIN_ODR_HIGH(GPIOB_PIN12) | \
- PIN_ODR_HIGH(GPIOB_PIN13) | \
- PIN_ODR_HIGH(GPIOB_PIN14) | \
- PIN_ODR_HIGH(GPIOB_PIN15))
-#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0) | \
- PIN_AFIO_AF(GPIOB_PIN1, 0) | \
- PIN_AFIO_AF(GPIOB_PIN2, 0) | \
- PIN_AFIO_AF(GPIOB_PIN3, 0) | \
- PIN_AFIO_AF(GPIOB_PIN4, 0) | \
- PIN_AFIO_AF(GPIOB_PIN5, 0) | \
- PIN_AFIO_AF(GPIOB_PIN6, 4) | \
- PIN_AFIO_AF(GPIOB_PIN7, 0))
-#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0) | \
- PIN_AFIO_AF(GPIOB_PIN9, 0) | \
- PIN_AFIO_AF(GPIOB_PIN10, 0) | \
- PIN_AFIO_AF(GPIOB_PIN11, 0) | \
- PIN_AFIO_AF(GPIOB_PIN12, 0) | \
- PIN_AFIO_AF(GPIOB_PIN13, 0) | \
- PIN_AFIO_AF(GPIOB_PIN14, 0) | \
- PIN_AFIO_AF(GPIOB_PIN15, 0))
-
-/*
- * GPIOC setup:
- *
- * PC0 - PIN0 (input pullup).
- * PC1 - PIN1 (input pullup).
- * PC2 - PIN2 (input pullup).
- * PC3 - PIN3 (input pullup).
- * PC4 - PIN4 (input pullup).
- * PC5 - PIN5 (input pullup).
- * PC6 - PIN6 (input pullup).
- * PC7 - PIN7 (input pullup).
- * PC8 - PIN8 (input pullup).
- * PC9 - PIN9 (input pullup).
- * PC10 - PIN10 (input pullup).
- * PC11 - PIN11 (input pullup).
- * PC12 - PIN12 (input pullup).
- * PC13 - PIN13 (input pullup).
- * PC14 - PIN14 (input floating).
- * PC15 - PIN15 (input floating).
- */
-#define VAL_GPIOC_MODER (PIN_MODE_INPUT(GPIOC_PIN0) | \
- PIN_MODE_INPUT(GPIOC_PIN1) | \
- PIN_MODE_INPUT(GPIOC_PIN2) | \
- PIN_MODE_INPUT(GPIOC_PIN3) | \
- PIN_MODE_INPUT(GPIOC_PIN4) | \
- PIN_MODE_INPUT(GPIOC_PIN5) | \
- PIN_MODE_INPUT(GPIOC_PIN6) | \
- PIN_MODE_INPUT(GPIOC_PIN7) | \
- PIN_MODE_INPUT(GPIOC_PIN8) | \
- PIN_MODE_INPUT(GPIOC_PIN9) | \
- PIN_MODE_INPUT(GPIOC_PIN10) | \
- PIN_MODE_INPUT(GPIOC_PIN11) | \
- PIN_MODE_INPUT(GPIOC_PIN12) | \
- PIN_MODE_INPUT(GPIOC_PIN13) | \
- PIN_MODE_INPUT(GPIOC_PIN14) | \
- PIN_MODE_INPUT(GPIOC_PIN15))
-#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_PIN0) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN14) | \
- PIN_OTYPE_PUSHPULL(GPIOC_PIN15))
-#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOC_PIN0) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \
- PIN_OSPEED_HIGH(GPIOC_PIN14) | \
- PIN_OSPEED_HIGH(GPIOC_PIN15))
-#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLUP(GPIOC_PIN0) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOC_PIN13) | \
- PIN_PUPDR_FLOATING(GPIOC_PIN14) | \
- PIN_PUPDR_FLOATING(GPIOC_PIN15))
-#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_PIN0) | \
- PIN_ODR_HIGH(GPIOC_PIN1) | \
- PIN_ODR_HIGH(GPIOC_PIN2) | \
- PIN_ODR_HIGH(GPIOC_PIN3) | \
- PIN_ODR_HIGH(GPIOC_PIN4) | \
- PIN_ODR_HIGH(GPIOC_PIN5) | \
- PIN_ODR_HIGH(GPIOC_PIN6) | \
- PIN_ODR_HIGH(GPIOC_PIN7) | \
- PIN_ODR_HIGH(GPIOC_PIN8) | \
- PIN_ODR_HIGH(GPIOC_PIN9) | \
- PIN_ODR_HIGH(GPIOC_PIN10) | \
- PIN_ODR_HIGH(GPIOC_PIN11) | \
- PIN_ODR_HIGH(GPIOC_PIN12) | \
- PIN_ODR_HIGH(GPIOC_PIN13) | \
- PIN_ODR_HIGH(GPIOC_PIN14) | \
- PIN_ODR_HIGH(GPIOC_PIN15))
-#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_PIN0, 0) | \
- PIN_AFIO_AF(GPIOC_PIN1, 0) | \
- PIN_AFIO_AF(GPIOC_PIN2, 0) | \
- PIN_AFIO_AF(GPIOC_PIN3, 0) | \
- PIN_AFIO_AF(GPIOC_PIN4, 0) | \
- PIN_AFIO_AF(GPIOC_PIN5, 0) | \
- PIN_AFIO_AF(GPIOC_PIN6, 0) | \
- PIN_AFIO_AF(GPIOC_PIN7, 0))
-#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_PIN8, 0) | \
- PIN_AFIO_AF(GPIOC_PIN9, 0) | \
- PIN_AFIO_AF(GPIOC_PIN10, 0) | \
- PIN_AFIO_AF(GPIOC_PIN11, 0) | \
- PIN_AFIO_AF(GPIOC_PIN12, 0) | \
- PIN_AFIO_AF(GPIOC_PIN13, 0) | \
- PIN_AFIO_AF(GPIOC_PIN14, 0) | \
- PIN_AFIO_AF(GPIOC_PIN15, 0))
-
-/*
- * GPIOD setup:
- *
- * PD0 - PIN0 (input pullup).
- * PD1 - PIN1 (input pullup).
- * PD2 - PIN2 (input pullup).
- * PD3 - PIN3 (input pullup).
- * PD4 - PIN4 (input pullup).
- * PD5 - PIN5 (input pullup).
- * PD6 - PIN6 (input pullup).
- * PD7 - PIN7 (input pullup).
- * PD8 - PIN8 (input pullup).
- * PD9 - PIN9 (input pullup).
- * PD11 - PIN10 (input pullup).
- * PD11 - PIN11 (input pullup).
- * PD12 - PIN12 (input pullup).
- * PD13 - PIN13 (input pullup).
- * PD14 - PIN14 (input pullup).
- * PD15 - PIN15 (input pullup).
- */
-#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \
- PIN_MODE_INPUT(GPIOD_PIN1) | \
- PIN_MODE_INPUT(GPIOD_PIN2) | \
- PIN_MODE_INPUT(GPIOD_PIN3) | \
- PIN_MODE_INPUT(GPIOD_PIN4) | \
- PIN_MODE_INPUT(GPIOD_PIN5) | \
- PIN_MODE_INPUT(GPIOD_PIN6) | \
- PIN_MODE_INPUT(GPIOD_PIN7) | \
- PIN_MODE_INPUT(GPIOD_PIN8) | \
- PIN_MODE_INPUT(GPIOD_PIN9) | \
- PIN_MODE_INPUT(GPIOD_PIN10) | \
- PIN_MODE_INPUT(GPIOD_PIN11) | \
- PIN_MODE_INPUT(GPIOD_PIN12) | \
- PIN_MODE_INPUT(GPIOD_PIN13) | \
- PIN_MODE_INPUT(GPIOD_PIN14) | \
- PIN_MODE_INPUT(GPIOD_PIN15))
-#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \
- PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
-#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOD_PIN0) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN13) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN14) | \
- PIN_OSPEED_VERYLOW(GPIOD_PIN15))
-#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN13) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN14) | \
- PIN_PUPDR_PULLUP(GPIOD_PIN15))
-#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \
- PIN_ODR_HIGH(GPIOD_PIN1) | \
- PIN_ODR_HIGH(GPIOD_PIN2) | \
- PIN_ODR_HIGH(GPIOD_PIN3) | \
- PIN_ODR_HIGH(GPIOD_PIN4) | \
- PIN_ODR_HIGH(GPIOD_PIN5) | \
- PIN_ODR_HIGH(GPIOD_PIN6) | \
- PIN_ODR_HIGH(GPIOD_PIN7) | \
- PIN_ODR_HIGH(GPIOD_PIN8) | \
- PIN_ODR_HIGH(GPIOD_PIN9) | \
- PIN_ODR_HIGH(GPIOD_PIN10) | \
- PIN_ODR_HIGH(GPIOD_PIN11) | \
- PIN_ODR_HIGH(GPIOD_PIN12) | \
- PIN_ODR_HIGH(GPIOD_PIN13) | \
- PIN_ODR_HIGH(GPIOD_PIN14) | \
- PIN_ODR_HIGH(GPIOD_PIN15))
-#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_PIN0, 0) | \
- PIN_AFIO_AF(GPIOD_PIN1, 0) | \
- PIN_AFIO_AF(GPIOD_PIN2, 0) | \
- PIN_AFIO_AF(GPIOD_PIN3, 0) | \
- PIN_AFIO_AF(GPIOD_PIN4, 0) | \
- PIN_AFIO_AF(GPIOD_PIN5, 0) | \
- PIN_AFIO_AF(GPIOD_PIN6, 0) | \
- PIN_AFIO_AF(GPIOD_PIN7, 0))
-#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_PIN8, 0) | \
- PIN_AFIO_AF(GPIOD_PIN9, 0) | \
- PIN_AFIO_AF(GPIOD_PIN10, 0) | \
- PIN_AFIO_AF(GPIOD_PIN11, 0) | \
- PIN_AFIO_AF(GPIOD_PIN12, 0) | \
- PIN_AFIO_AF(GPIOD_PIN13, 0) | \
- PIN_AFIO_AF(GPIOD_PIN14, 0) | \
- PIN_AFIO_AF(GPIOD_PIN15, 0))
-
-/*
- * GPIOE setup:
- *
- * PE0 - PIN0 (input pullup).
- * PE1 - PIN1 (input pullup).
- * PE2 - PIN2 (input pullup).
- * PE3 - PIN3 L3GD20_CS (output pushpull maximum).
- * PE4 - PIN4 (input pullup).
- * PE5 - PIN5 (input pullup).
- * PE6 - PIN6 (input pullup).
- * PE7 - PIN7 (input pullup).
- * PE8 - PIN8 (output pushpull maximum).
- * PE9 - PIN9 (output pushpull maximum).
- * PE10 - PIN10 (output pushpull maximum).
- * PE11 - PIN11 (output pushpull maximum).
- * PE12 - PIN12 (output pushpull maximum).
- * PE13 - PIN13 (output pushpull maximum).
- * PE14 - PIN14 (output pushpull maximum).
- * PE15 - PIN15 (output pushpull maximum).
- */
-#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_PIN0) | \
- PIN_MODE_INPUT(GPIOE_PIN1) | \
- PIN_MODE_INPUT(GPIOE_PIN2) |\
- PIN_MODE_OUTPUT(GPIOE_PIN3) | \
- PIN_MODE_INPUT(GPIOE_PIN4) |\
- PIN_MODE_INPUT(GPIOE_PIN5) |\
- PIN_MODE_INPUT(GPIOE_PIN6) | \
- PIN_MODE_INPUT(GPIOE_PIN7) | \
- PIN_MODE_OUTPUT(GPIOE_PIN8) | \
- PIN_MODE_OUTPUT(GPIOE_PIN9) | \
- PIN_MODE_OUTPUT(GPIOE_PIN10) | \
- PIN_MODE_OUTPUT(GPIOE_PIN11) | \
- PIN_MODE_OUTPUT(GPIOE_PIN12) | \
- PIN_MODE_OUTPUT(GPIOE_PIN13) | \
- PIN_MODE_OUTPUT(GPIOE_PIN14) | \
- PIN_MODE_OUTPUT(GPIOE_PIN15))
-#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) |\
- PIN_OTYPE_PUSHPULL(GPIOE_PIN1) |\
- PIN_OTYPE_PUSHPULL(GPIOE_PIN2) |\
- PIN_OTYPE_PUSHPULL(GPIOE_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN4) |\
- PIN_OTYPE_PUSHPULL(GPIOE_PIN5) |\
- PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN10) |\
- PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOE_PIN14) |\
- PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
-#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOE_PIN0) |\
- PIN_OSPEED_VERYLOW(GPIOE_PIN1) |\
- PIN_OSPEED_VERYLOW(GPIOE_PIN2) |\
- PIN_OSPEED_HIGH(GPIOE_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN4) |\
- PIN_OSPEED_VERYLOW(GPIOE_PIN5) |\
- PIN_OSPEED_VERYLOW(GPIOE_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOE_PIN7) | \
- PIN_OSPEED_HIGH(GPIOE_PIN8) | \
- PIN_OSPEED_HIGH(GPIOE_PIN9) | \
- PIN_OSPEED_HIGH(GPIOE_PIN10) | \
- PIN_OSPEED_HIGH(GPIOE_PIN11) | \
- PIN_OSPEED_HIGH(GPIOE_PIN12) | \
- PIN_OSPEED_HIGH(GPIOE_PIN13) | \
- PIN_OSPEED_HIGH(GPIOE_PIN14) | \
- PIN_OSPEED_HIGH(GPIOE_PIN15))
-#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_PIN0) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN2) |\
- PIN_PUPDR_FLOATING(GPIOE_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN4) |\
- PIN_PUPDR_PULLUP(GPIOE_PIN5) |\
- PIN_PUPDR_PULLUP(GPIOE_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN10) | \
- PIN_PUPDR_FLOATING(GPIOE_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOE_PIN12) | \
- PIN_PUPDR_FLOATING(GPIOE_PIN13) | \
- PIN_PUPDR_FLOATING(GPIOE_PIN14) |\
- PIN_PUPDR_FLOATING(GPIOE_PIN15))
-#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \
- PIN_ODR_HIGH(GPIOE_PIN1) | \
- PIN_ODR_HIGH(GPIOE_PIN2) | \
- PIN_ODR_HIGH(GPIOE_PIN3) | \
- PIN_ODR_HIGH(GPIOE_PIN4) | \
- PIN_ODR_HIGH(GPIOE_PIN5) | \
- PIN_ODR_HIGH(GPIOE_PIN6) | \
- PIN_ODR_HIGH(GPIOE_PIN7) | \
- PIN_ODR_LOW(GPIOE_PIN8) | \
- PIN_ODR_LOW(GPIOE_PIN9) | \
- PIN_ODR_LOW(GPIOE_PIN10) | \
- PIN_ODR_LOW(GPIOE_PIN11) | \
- PIN_ODR_LOW(GPIOE_PIN12) | \
- PIN_ODR_LOW(GPIOE_PIN13) | \
- PIN_ODR_LOW(GPIOE_PIN14) | \
- PIN_ODR_LOW(GPIOE_PIN15))
-#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_PIN0, 0) | \
- PIN_AFIO_AF(GPIOE_PIN1, 0) | \
- PIN_AFIO_AF(GPIOE_PIN2, 0) |\
- PIN_AFIO_AF(GPIOE_PIN3, 0) | \
- PIN_AFIO_AF(GPIOE_PIN4, 0) |\
- PIN_AFIO_AF(GPIOE_PIN5, 0) |\
- PIN_AFIO_AF(GPIOE_PIN6, 0) | \
- PIN_AFIO_AF(GPIOE_PIN7, 0))
-#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_PIN8, 0) | \
- PIN_AFIO_AF(GPIOE_PIN9, 0) | \
- PIN_AFIO_AF(GPIOE_PIN10, 0) | \
- PIN_AFIO_AF(GPIOE_PIN11, 0) | \
- PIN_AFIO_AF(GPIOE_PIN12, 0) | \
- PIN_AFIO_AF(GPIOE_PIN13, 0) | \
- PIN_AFIO_AF(GPIOE_PIN14, 0) | \
- PIN_AFIO_AF(GPIOE_PIN15, 0))
-
-/*
- * GPIOF setup:
- *
- * PF0 - I2C2_SDA (input floating).
- * PF1 - I2C2_SCL (input floating).
- * PF2 - PIN2 (input pullup).
- * PF3 - PIN3 (input pullup).
- * PF4 - PIN4 (input pullup).
- * PF5 - PIN5 (input pullup).
- * PF6 - PIN6 (input pullup).
- * PF7 - PIN7 (input pullup).
- * PF8 - PIN8 (input pullup).
- * PF9 - PIN9 (input pullup).
- * PF10 - PIN10 (input pullup).
- * PF11 - PIN11 (input pullup).
- * PF12 - PIN12 (input pullup).
- * PF13 - PIN13 (input pullup).
- * PF14 - PIN14 (input pullup).
- * PF15 - PIN15 (input pullup).
- */
-#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_I2C2_SDA) | \
- PIN_MODE_INPUT(GPIOF_I2C2_SCL) | \
- PIN_MODE_INPUT(GPIOF_PIN2) | \
- PIN_MODE_INPUT(GPIOF_PIN3) | \
- PIN_MODE_INPUT(GPIOF_PIN4) | \
- PIN_MODE_INPUT(GPIOF_PIN5) | \
- PIN_MODE_INPUT(GPIOF_PIN6) | \
- PIN_MODE_INPUT(GPIOF_PIN7) | \
- PIN_MODE_INPUT(GPIOF_PIN8) | \
- PIN_MODE_INPUT(GPIOF_PIN9) | \
- PIN_MODE_INPUT(GPIOF_PIN10) | \
- PIN_MODE_INPUT(GPIOF_PIN11) | \
- PIN_MODE_INPUT(GPIOF_PIN12) | \
- PIN_MODE_INPUT(GPIOF_PIN13) | \
- PIN_MODE_INPUT(GPIOF_PIN14) | \
- PIN_MODE_INPUT(GPIOF_PIN15))
-#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_I2C2_SDA) | \
- PIN_OTYPE_PUSHPULL(GPIOF_I2C2_SCL) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN14) | \
- PIN_OTYPE_PUSHPULL(GPIOF_PIN15))
-#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_HIGH(GPIOF_I2C2_SDA) | \
- PIN_OSPEED_HIGH(GPIOF_I2C2_SCL) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN13) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN14) | \
- PIN_OSPEED_VERYLOW(GPIOF_PIN15))
-#define VAL_GPIOF_PUPDR (PIN_PUPDR_FLOATING(GPIOF_I2C2_SDA) | \
- PIN_PUPDR_FLOATING(GPIOF_I2C2_SCL) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN13) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN14) | \
- PIN_PUPDR_PULLUP(GPIOF_PIN15))
-#define VAL_GPIOF_ODR (PIN_ODR_HIGH(GPIOF_I2C2_SDA) | \
- PIN_ODR_HIGH(GPIOF_I2C2_SCL) | \
- PIN_ODR_HIGH(GPIOF_PIN2) | \
- PIN_ODR_HIGH(GPIOF_PIN3) | \
- PIN_ODR_HIGH(GPIOF_PIN4) | \
- PIN_ODR_HIGH(GPIOF_PIN5) | \
- PIN_ODR_HIGH(GPIOF_PIN6) | \
- PIN_ODR_HIGH(GPIOF_PIN7) | \
- PIN_ODR_HIGH(GPIOF_PIN8) | \
- PIN_ODR_HIGH(GPIOF_PIN9) | \
- PIN_ODR_HIGH(GPIOF_PIN10) | \
- PIN_ODR_HIGH(GPIOF_PIN11) | \
- PIN_ODR_HIGH(GPIOF_PIN12) | \
- PIN_ODR_HIGH(GPIOF_PIN13) | \
- PIN_ODR_HIGH(GPIOF_PIN14) | \
- PIN_ODR_HIGH(GPIOF_PIN15))
-#define VAL_GPIOF_AFRL (PIN_AFIO_AF(GPIOF_I2C2_SDA, 0) | \
- PIN_AFIO_AF(GPIOF_I2C2_SCL, 0) | \
- PIN_AFIO_AF(GPIOF_PIN2, 0) | \
- PIN_AFIO_AF(GPIOF_PIN3, 0) | \
- PIN_AFIO_AF(GPIOF_PIN4, 0) | \
- PIN_AFIO_AF(GPIOF_PIN5, 0) | \
- PIN_AFIO_AF(GPIOF_PIN6, 0) | \
- PIN_AFIO_AF(GPIOF_PIN7, 0))
-#define VAL_GPIOF_AFRH (PIN_AFIO_AF(GPIOF_PIN8, 0) | \
- PIN_AFIO_AF(GPIOF_PIN9, 0) | \
- PIN_AFIO_AF(GPIOF_PIN10, 0) | \
- PIN_AFIO_AF(GPIOF_PIN11, 0) | \
- PIN_AFIO_AF(GPIOF_PIN12, 0) | \
- PIN_AFIO_AF(GPIOF_PIN13, 0) | \
- PIN_AFIO_AF(GPIOF_PIN14, 0) | \
- PIN_AFIO_AF(GPIOF_PIN15, 0))
-
-/*
- * GPIOG setup:
- *
- * PG0 - PIN0 (input pullup).
- * PG1 - PIN1 (input pullup).
- * PG2 - PIN2 (input pullup).
- * PG3 - PIN3 (input pullup).
- * PG4 - PIN4 (input pullup).
- * PG5 - PIN5 (input pullup).
- * PG6 - PIN6 (input pullup).
- * PG7 - PIN7 (input pullup).
- * PG8 - PIN8 (input pullup).
- * PG9 - PIN9 (input pullup).
- * PG10 - PIN10 (input pullup).
- * PG11 - PIN11 (input pullup).
- * PG12 - PIN12 (input pullup).
- * PG13 - PIN13 (input pullup).
- * PG14 - PIN14 (input pullup).
- * PG15 - PIN15 (input pullup).
- */
-#define VAL_GPIOG_MODER (PIN_MODE_INPUT(GPIOG_PIN0) | \
- PIN_MODE_INPUT(GPIOG_PIN1) | \
- PIN_MODE_INPUT(GPIOG_PIN2) | \
- PIN_MODE_INPUT(GPIOG_PIN3) | \
- PIN_MODE_INPUT(GPIOG_PIN4) | \
- PIN_MODE_INPUT(GPIOG_PIN5) | \
- PIN_MODE_INPUT(GPIOG_PIN6) | \
- PIN_MODE_INPUT(GPIOG_PIN7) | \
- PIN_MODE_INPUT(GPIOG_PIN8) | \
- PIN_MODE_INPUT(GPIOG_PIN9) | \
- PIN_MODE_INPUT(GPIOG_PIN10) | \
- PIN_MODE_INPUT(GPIOG_PIN11) | \
- PIN_MODE_INPUT(GPIOG_PIN12) | \
- PIN_MODE_INPUT(GPIOG_PIN13) | \
- PIN_MODE_INPUT(GPIOG_PIN14) | \
- PIN_MODE_INPUT(GPIOG_PIN15))
-#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(GPIOG_PIN0) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN14) | \
- PIN_OTYPE_PUSHPULL(GPIOG_PIN15))
-#define VAL_GPIOG_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOG_PIN0) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN13) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN14) | \
- PIN_OSPEED_VERYLOW(GPIOG_PIN15))
-#define VAL_GPIOG_PUPDR (PIN_PUPDR_PULLUP(GPIOG_PIN0) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN13) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN14) | \
- PIN_PUPDR_PULLUP(GPIOG_PIN15))
-#define VAL_GPIOG_ODR (PIN_ODR_HIGH(GPIOG_PIN0) | \
- PIN_ODR_HIGH(GPIOG_PIN1) | \
- PIN_ODR_HIGH(GPIOG_PIN2) | \
- PIN_ODR_HIGH(GPIOG_PIN3) | \
- PIN_ODR_HIGH(GPIOG_PIN4) | \
- PIN_ODR_HIGH(GPIOG_PIN5) | \
- PIN_ODR_HIGH(GPIOG_PIN6) | \
- PIN_ODR_HIGH(GPIOG_PIN7) | \
- PIN_ODR_HIGH(GPIOG_PIN8) | \
- PIN_ODR_HIGH(GPIOG_PIN9) | \
- PIN_ODR_HIGH(GPIOG_PIN10) | \
- PIN_ODR_HIGH(GPIOG_PIN11) | \
- PIN_ODR_HIGH(GPIOG_PIN12) | \
- PIN_ODR_HIGH(GPIOG_PIN13) | \
- PIN_ODR_HIGH(GPIOG_PIN14) | \
- PIN_ODR_HIGH(GPIOG_PIN15))
-#define VAL_GPIOG_AFRL (PIN_AFIO_AF(GPIOG_PIN0, 0) | \
- PIN_AFIO_AF(GPIOG_PIN1, 0) | \
- PIN_AFIO_AF(GPIOG_PIN2, 0) | \
- PIN_AFIO_AF(GPIOG_PIN3, 0) | \
- PIN_AFIO_AF(GPIOG_PIN4, 0) | \
- PIN_AFIO_AF(GPIOG_PIN5, 0) | \
- PIN_AFIO_AF(GPIOG_PIN6, 0) | \
- PIN_AFIO_AF(GPIOG_PIN7, 0))
-#define VAL_GPIOG_AFRH (PIN_AFIO_AF(GPIOG_PIN8, 0) | \
- PIN_AFIO_AF(GPIOG_PIN9, 0) | \
- PIN_AFIO_AF(GPIOG_PIN10, 0) | \
- PIN_AFIO_AF(GPIOG_PIN11, 0) | \
- PIN_AFIO_AF(GPIOG_PIN12, 0) | \
- PIN_AFIO_AF(GPIOG_PIN13, 0) | \
- PIN_AFIO_AF(GPIOG_PIN14, 0) | \
- PIN_AFIO_AF(GPIOG_PIN15, 0))
-
-/*
- * GPIOH setup:
- *
- * PH0 - PIN0 (input pullup).
- * PH1 - PIN1 (input pullup).
- * PH2 - PIN2 (input pullup).
- * PH3 - PIN3 (input pullup).
- * PH4 - PIN4 (input pullup).
- * PH5 - PIN5 (input pullup).
- * PH6 - PIN6 (input pullup).
- * PH7 - PIN7 (input pullup).
- * PH8 - PIN8 (input pullup).
- * PH9 - PIN9 (input pullup).
- * PH10 - PIN10 (input pullup).
- * PH11 - PIN11 (input pullup).
- * PH12 - PIN12 (input pullup).
- * PH13 - PIN13 (input pullup).
- * PH14 - PIN14 (input pullup).
- * PH15 - PIN15 (input pullup).
- */
-#define VAL_GPIOH_MODER (PIN_MODE_INPUT(GPIOH_PIN0) | \
- PIN_MODE_INPUT(GPIOH_PIN1) | \
- PIN_MODE_INPUT(GPIOH_PIN2) | \
- PIN_MODE_INPUT(GPIOH_PIN3) | \
- PIN_MODE_INPUT(GPIOH_PIN4) | \
- PIN_MODE_INPUT(GPIOH_PIN5) | \
- PIN_MODE_INPUT(GPIOH_PIN6) | \
- PIN_MODE_INPUT(GPIOH_PIN7) | \
- PIN_MODE_INPUT(GPIOH_PIN8) | \
- PIN_MODE_INPUT(GPIOH_PIN9) | \
- PIN_MODE_INPUT(GPIOH_PIN10) | \
- PIN_MODE_INPUT(GPIOH_PIN11) | \
- PIN_MODE_INPUT(GPIOH_PIN12) | \
- PIN_MODE_INPUT(GPIOH_PIN13) | \
- PIN_MODE_INPUT(GPIOH_PIN14) | \
- PIN_MODE_INPUT(GPIOH_PIN15))
-#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(GPIOH_PIN0) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN1) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN2) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN3) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN4) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN5) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN6) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN7) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN8) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN9) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN10) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN11) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN12) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN13) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN14) | \
- PIN_OTYPE_PUSHPULL(GPIOH_PIN15))
-#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOH_PIN0) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN1) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN2) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN3) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN4) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN5) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN6) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN7) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN8) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN9) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN10) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN11) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN12) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN13) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN14) | \
- PIN_OSPEED_VERYLOW(GPIOH_PIN15))
-#define VAL_GPIOH_PUPDR (PIN_PUPDR_PULLUP(GPIOH_PIN0) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN1) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN2) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN3) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN4) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN5) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN6) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN7) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN8) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN9) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN10) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN11) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN12) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN13) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN14) | \
- PIN_PUPDR_PULLUP(GPIOH_PIN15))
-#define VAL_GPIOH_ODR (PIN_ODR_HIGH(GPIOH_PIN0) | \
- PIN_ODR_HIGH(GPIOH_PIN1) | \
- PIN_ODR_HIGH(GPIOH_PIN2) | \
- PIN_ODR_HIGH(GPIOH_PIN3) | \
- PIN_ODR_HIGH(GPIOH_PIN4) | \
- PIN_ODR_HIGH(GPIOH_PIN5) | \
- PIN_ODR_HIGH(GPIOH_PIN6) | \
- PIN_ODR_HIGH(GPIOH_PIN7) | \
- PIN_ODR_HIGH(GPIOH_PIN8) | \
- PIN_ODR_HIGH(GPIOH_PIN9) | \
- PIN_ODR_HIGH(GPIOH_PIN10) | \
- PIN_ODR_HIGH(GPIOH_PIN11) | \
- PIN_ODR_HIGH(GPIOH_PIN12) | \
- PIN_ODR_HIGH(GPIOH_PIN13) | \
- PIN_ODR_HIGH(GPIOH_PIN14) | \
- PIN_ODR_HIGH(GPIOH_PIN15))
-#define VAL_GPIOH_AFRL (PIN_AFIO_AF(GPIOH_PIN0, 0) | \
- PIN_AFIO_AF(GPIOH_PIN1, 0) | \
- PIN_AFIO_AF(GPIOH_PIN2, 0) | \
- PIN_AFIO_AF(GPIOH_PIN3, 0) | \
- PIN_AFIO_AF(GPIOH_PIN4, 0) | \
- PIN_AFIO_AF(GPIOH_PIN5, 0) | \
- PIN_AFIO_AF(GPIOH_PIN6, 0) | \
- PIN_AFIO_AF(GPIOH_PIN7, 0))
-#define VAL_GPIOH_AFRH (PIN_AFIO_AF(GPIOH_PIN8, 0) | \
- PIN_AFIO_AF(GPIOH_PIN9, 0) | \
- PIN_AFIO_AF(GPIOH_PIN10, 0) | \
- PIN_AFIO_AF(GPIOH_PIN11, 0) | \
- PIN_AFIO_AF(GPIOH_PIN12, 0) | \
- PIN_AFIO_AF(GPIOH_PIN13, 0) | \
- PIN_AFIO_AF(GPIOH_PIN14, 0) | \
- PIN_AFIO_AF(GPIOH_PIN15, 0))
-
-
-/*
- * USB bus activation macro, required by the USB driver.
- */
-// #define usb_lld_connect_bus(usbp)
-#define usb_lld_connect_bus(usbp) (palSetPadMode(GPIOA, GPIOA_USB_DP, PAL_MODE_ALTERNATE(14)))
-// #define usb_lld_connect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_INPUT)
-/*
- * USB bus de-activation macro, required by the USB driver.
- */
-// #define usb_lld_disconnect_bus(usbp)
-#define usb_lld_disconnect_bus(usbp) (palSetPadMode(GPIOA, GPIOA_USB_DP, PAL_MODE_OUTPUT_PUSHPULL)); palClearPad(GPIOA, GPIOA_USB_DP)
-// #define usb_lld_disconnect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_OUTPUT_PUSHPULL); palClearPad(GPIOA, 12)
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
- void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/keyboards/preonic/rev3/boards/GENERIC_STM32_F303XC/board.mk b/keyboards/preonic/rev3/boards/GENERIC_STM32_F303XC/board.mk
deleted file mode 100644
index 43377629a3c..00000000000
--- a/keyboards/preonic/rev3/boards/GENERIC_STM32_F303XC/board.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# List of all the board related files.
-BOARDSRC = $(BOARD_PATH)/boards/GENERIC_STM32_F303XC/board.c
-
-# Required include directories
-BOARDINC = $(BOARD_PATH)/boards/GENERIC_STM32_F303XC
diff --git a/keyboards/preonic/rev3/bootloader_defs.h b/keyboards/preonic/rev3/bootloader_defs.h
deleted file mode 100644
index 3b0e9d20a6a..00000000000
--- a/keyboards/preonic/rev3/bootloader_defs.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* Address for jumping to bootloader on STM32 chips. */
-/* It is chip dependent, the correct number can be looked up here:
- * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
- * This also requires a patch to chibios:
- * /tmk_core/tool/chibios/ch-bootloader-jump.patch
- */
-#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800
diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h
index 98899dc6ac7..c37f263adc5 100644
--- a/keyboards/preonic/rev3/config.h
+++ b/keyboards/preonic/rev3/config.h
@@ -43,6 +43,10 @@
* #define UNUSED_PINS
*/
+#define NUMBER_OF_ENCODERS 1
+#define ENCODERS_PAD_A { B12 }
+#define ENCODERS_PAD_B { B13 }
+
#define MUSIC_MAP
#undef AUDIO_VOICES
#undef C6_AUDIO
@@ -76,11 +80,6 @@
*/
//#define FORCE_NKRO
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/preonic/rev3/matrix.c b/keyboards/preonic/rev3/matrix.c
index 05f6da71b67..db7a4f2a3a6 100644
--- a/keyboards/preonic/rev3/matrix.c
+++ b/keyboards/preonic/rev3/matrix.c
@@ -21,10 +21,6 @@ static matrix_col_t matrix_debouncing[MATRIX_COLS];
static bool debouncing = false;
static uint16_t debouncing_time = 0;
-static uint8_t encoder_state = 0;
-static int8_t encoder_value = 0;
-static int8_t encoder_LUT[] = { 0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0 };
-
static bool dip_switch[4] = {0, 0, 0, 0};
__attribute__ ((weak))
@@ -53,12 +49,6 @@ void matrix_init(void) {
palSetPadMode(GPIOA, 10, PAL_MODE_INPUT_PULLUP);
palSetPadMode(GPIOB, 9, PAL_MODE_INPUT_PULLUP);
- // encoder setup
- palSetPadMode(GPIOB, 12, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOB, 13, PAL_MODE_INPUT_PULLUP);
-
- encoder_state = (palReadPad(GPIOB, 12) << 0) | (palReadPad(GPIOB, 13) << 1);
-
// actual matrix setup
palSetPadMode(GPIOB, 11, PAL_MODE_OUTPUT_PUSHPULL);
palSetPadMode(GPIOB, 10, PAL_MODE_OUTPUT_PUSHPULL);
@@ -110,18 +100,6 @@ uint8_t matrix_scan(void) {
}
memcpy(last_dip_switch, dip_switch, sizeof(&dip_switch));
- // encoder on B12 and B13
- encoder_state <<= 2;
- encoder_state |= (palReadPad(GPIOB, 12) << 0) | (palReadPad(GPIOB, 13) << 1);
- encoder_value += encoder_LUT[encoder_state & 0xF];
- if (encoder_value >= ENCODER_RESOLUTION) {
- encoder_update(0);
- }
- if (encoder_value <= -ENCODER_RESOLUTION) { // direction is arbitrary here, but this clockwise
- encoder_update(1);
- }
- encoder_value %= ENCODER_RESOLUTION;
-
// actual matrix
for (int col = 0; col < MATRIX_COLS; col++) {
matrix_col_t data = 0;
diff --git a/keyboards/preonic/rev3/rules.mk b/keyboards/preonic/rev3/rules.mk
index 7c40d514d26..0c171b2fb09 100644
--- a/keyboards/preonic/rev3/rules.mk
+++ b/keyboards/preonic/rev3/rules.mk
@@ -1,56 +1,24 @@
# project specific files
-SRC = matrix.c
+SRC = matrix.c
LAYOUTS += ortho_5x12
-## chip/board settings
-# - the next two should match the directories in
-# /os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
-MCU_FAMILY = STM32
-MCU_SERIES = STM32F3xx
-
-# Linker script to use
-# - it should exist either in /os/common/ports/ARMCMx/compilers/GCC/ld/
-# or /ld/
-MCU_LDSCRIPT = STM32F303xC
-
-# Startup code to use
-# - it should exist in /os/common/startup/ARMCMx/compilers/GCC/mk/
-MCU_STARTUP = stm32f3xx
-
-# Board: it should exist either in /os/hal/boards/
-# or /boards
-BOARD = GENERIC_STM32_F303XC
-
# Cortex version
-MCU = cortex-m4
-
-# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
-ARMV = 7
-
-USE_FPU = yes
-
-# Vector table for application
-# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
-# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
-# OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000
-OPT_DEFS =
-
-# Options to pass to dfu-util when flashing
-DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
+MCU = STM32F303
# Build Options
# comment out to disable the options.
#
BACKLIGHT_ENABLE = no
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # USB Nkey Rollover
CUSTOM_MATRIX = yes # Custom matrix file
AUDIO_ENABLE = yes
RGBLIGHT_ENABLE = no
# SERIAL_LINK_ENABLE = yes
+ENCODER_ENABLE = yes
diff --git a/keyboards/primekb/prime_l/config.h b/keyboards/primekb/prime_l/config.h
index 8e245781666..354f69c4d4b 100644
--- a/keyboards/primekb/prime_l/config.h
+++ b/keyboards/primekb/prime_l/config.h
@@ -50,8 +50,3 @@ along with this program. If not, see .
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
diff --git a/keyboards/primekb/prime_m/config.h b/keyboards/primekb/prime_m/config.h
index 366504375e5..aeddcf25c98 100644
--- a/keyboards/primekb/prime_m/config.h
+++ b/keyboards/primekb/prime_m/config.h
@@ -50,8 +50,3 @@ along with this program. If not, see .
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
diff --git a/keyboards/primekb/prime_o/config.h b/keyboards/primekb/prime_o/config.h
index eb897ef8fa3..511d3d48349 100644
--- a/keyboards/primekb/prime_o/config.h
+++ b/keyboards/primekb/prime_o/config.h
@@ -50,8 +50,3 @@ along with this program. If not, see .
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
diff --git a/keyboards/primekb/prime_r/config.h b/keyboards/primekb/prime_r/config.h
index ad92199a22a..345bf91b89a 100644
--- a/keyboards/primekb/prime_r/config.h
+++ b/keyboards/primekb/prime_r/config.h
@@ -55,11 +55,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/proton_c/config.h b/keyboards/proton_c/config.h
index 13a608f9b18..5ebd17f99ed 100644
--- a/keyboards/proton_c/config.h
+++ b/keyboards/proton_c/config.h
@@ -62,11 +62,6 @@
*/
//#define FORCE_NKRO
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
@@ -117,4 +112,3 @@
// #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection)
//#define WS2812_DMA_CHANNEL 7 // DMA channel for TIMx_UP
//#define WS2812_EXTERNAL_PULLUP
-
diff --git a/keyboards/ps2avrGB/config.h b/keyboards/ps2avrGB/config.h
index fc17b5d5e2e..c0de5a2116b 100644
--- a/keyboards/ps2avrGB/config.h
+++ b/keyboards/ps2avrGB/config.h
@@ -35,7 +35,4 @@ along with this program. If not, see .
#define NO_UART 1
#define BOOTLOADHID_BOOTLOADER 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/quefrency/rev1/config.h b/keyboards/quefrency/rev1/config.h
index 88d7044864d..4b95eea5091 100644
--- a/keyboards/quefrency/rev1/config.h
+++ b/keyboards/quefrency/rev1/config.h
@@ -49,11 +49,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/qwertyydox/config.h b/keyboards/qwertyydox/config.h
index a685652230a..4c651d3c6cd 100644
--- a/keyboards/qwertyydox/config.h
+++ b/keyboards/qwertyydox/config.h
@@ -57,11 +57,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define BACKLIGHT_PIN E6
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/qwertyydox/rev1/config.h b/keyboards/qwertyydox/rev1/config.h
index a2557592d3e..5823beb3d47 100644
--- a/keyboards/qwertyydox/rev1/config.h
+++ b/keyboards/qwertyydox/rev1/config.h
@@ -57,11 +57,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define BACKLIGHT_PIN E6
#define BACKLIGHT_LEVELS 5
@@ -70,7 +65,6 @@ along with this program. If not, see .
#define RGBLED_NUM 12 // Number of LEDs
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/rama/m10_b/config.h b/keyboards/rama/m10_b/config.h
index 144f88d56d9..1af1f64a506 100644
--- a/keyboards/rama/m10_b/config.h
+++ b/keyboards/rama/m10_b/config.h
@@ -104,11 +104,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/rama/m60_a/config.h b/keyboards/rama/m60_a/config.h
index 01cfe05a5f0..2b54cda790d 100644
--- a/keyboards/rama/m60_a/config.h
+++ b/keyboards/rama/m60_a/config.h
@@ -25,8 +25,6 @@
#define PRODUCT RAMA M60-A
#define DESCRIPTION RAMA M60-A Keyboard
-
-
// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -51,11 +49,6 @@
// Locking resynchronize hack
#define LOCKING_RESYNC_ENABLE
-// key combination for command
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/rama/m6_a/config.h b/keyboards/rama/m6_a/config.h
index 049749bd7d5..3098a988dc4 100644
--- a/keyboards/rama/m6_a/config.h
+++ b/keyboards/rama/m6_a/config.h
@@ -50,7 +50,6 @@
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -102,11 +101,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_BACKLIGHT_ENABLED 0
#define DYNAMIC_KEYMAP_LAYER_COUNT 4
diff --git a/keyboards/rama/m6_b/config.h b/keyboards/rama/m6_b/config.h
index 67034ef8ce4..5ad648c7634 100644
--- a/keyboards/rama/m6_b/config.h
+++ b/keyboards/rama/m6_b/config.h
@@ -50,7 +50,6 @@
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -102,11 +101,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_BACKLIGHT_ENABLED 1
// This conditionally compiles the backlight code for M6-B specifics
diff --git a/keyboards/rama/u80_a/config.h b/keyboards/rama/u80_a/config.h
index c733601e171..0a8397c0a09 100644
--- a/keyboards/rama/u80_a/config.h
+++ b/keyboards/rama/u80_a/config.h
@@ -51,7 +51,6 @@
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -103,11 +102,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/redox/rev1/config.h b/keyboards/redox/rev1/config.h
index 654a84de747..ce205e02e02 100644
--- a/keyboards/redox/rev1/config.h
+++ b/keyboards/redox/rev1/config.h
@@ -57,11 +57,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/redox_w/config.h b/keyboards/redox_w/config.h
index 810a236d9a5..349185ed30a 100644
--- a/keyboards/redox_w/config.h
+++ b/keyboards/redox_w/config.h
@@ -39,12 +39,6 @@
#define ONESHOT_TIMEOUT 500
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/redox_w/matrix.c b/keyboards/redox_w/matrix.c
index 5e61103f201..31233af1018 100644
--- a/keyboards/redox_w/matrix.c
+++ b/keyboards/redox_w/matrix.c
@@ -1,15 +1,15 @@
/* Copyright 2017 Mattia Dal Ben
- *
+ *
* 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 .
*/
@@ -132,7 +132,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define BACKLIGHT_PIN B5
#define BACKLIGHT_LEVELS 5
diff --git a/keyboards/s60_x/config.h b/keyboards/s60_x/config.h
index 8b97b3c814c..bb2602dcabc 100644
--- a/keyboards/s60_x/config.h
+++ b/keyboards/s60_x/config.h
@@ -44,11 +44,6 @@ along with this program. If not, see .
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef SUBPROJECT_default
#include "default/config.h"
#endif
diff --git a/keyboards/s60_x/default/config.h b/keyboards/s60_x/default/config.h
index 25fc4ad2e02..f6b7f8d6833 100644
--- a/keyboards/s60_x/default/config.h
+++ b/keyboards/s60_x/default/config.h
@@ -13,11 +13,6 @@
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define NO_ACTION_ONESHOT
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/config.h b/keyboards/s60_x/keymaps/ansi_qwertz/config.h
index 6c01d579f87..aee65690f32 100644
--- a/keyboards/s60_x/keymaps/ansi_qwertz/config.h
+++ b/keyboards/s60_x/keymaps/ansi_qwertz/config.h
@@ -6,9 +6,4 @@
// keymap needs oneshot functionality
#undef NO_ACTION_ONESHOT
-#undef IS_COMMAND
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-#endif
\ No newline at end of file
+#endif
diff --git a/keyboards/s60_x/keymaps/bluebear/config.h b/keyboards/s60_x/keymaps/bluebear/config.h
index 10bddf0d371..c1db5f64a6e 100644
--- a/keyboards/s60_x/keymaps/bluebear/config.h
+++ b/keyboards/s60_x/keymaps/bluebear/config.h
@@ -38,11 +38,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 3
diff --git a/keyboards/s65_plus/config.h b/keyboards/s65_plus/config.h
index 60512db4625..c45fd24124e 100644
--- a/keyboards/s65_plus/config.h
+++ b/keyboards/s65_plus/config.h
@@ -44,9 +44,4 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/s65_x/config.h b/keyboards/s65_x/config.h
index aed55632ab4..66bbd6a3592 100644
--- a/keyboards/s65_x/config.h
+++ b/keyboards/s65_x/config.h
@@ -44,9 +44,4 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/s7_elephant/config.h b/keyboards/s7_elephant/config.h
index 55baa4c37b7..6335fbc9c90 100644
--- a/keyboards/s7_elephant/config.h
+++ b/keyboards/s7_elephant/config.h
@@ -31,11 +31,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN E6
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/satan/config.h b/keyboards/satan/config.h
index eb357b39e07..dbe98e87ef6 100644
--- a/keyboards/satan/config.h
+++ b/keyboards/satan/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 4
diff --git a/keyboards/satan/keymaps/admiralStrokers/config.h b/keyboards/satan/keymaps/admiralStrokers/config.h
index d0338fb7e90..17e0ea3b763 100644
--- a/keyboards/satan/keymaps/admiralStrokers/config.h
+++ b/keyboards/satan/keymaps/admiralStrokers/config.h
@@ -55,11 +55,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration */
#define BACKLIGHT_LEVELS 4
@@ -73,8 +68,6 @@ along with this program. If not, see .
#define DISABLE_SPACE_CADET_ROLLOVER
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/satan/keymaps/fakb/config.h b/keyboards/satan/keymaps/fakb/config.h
index a8df7ecef93..81598f22ed8 100644
--- a/keyboards/satan/keymaps/fakb/config.h
+++ b/keyboards/satan/keymaps/fakb/config.h
@@ -36,11 +36,7 @@
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-*/
+
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 8
@@ -86,7 +82,7 @@
#define MOUSEKEY_WHEEL_TIME_TO_MAX 255
// only change
-#undef RGB_DI_PIN
+#undef RGB_DI_PIN
#define RGB_DI_PIN B2
#endif
diff --git a/keyboards/scrabblepad/config.h b/keyboards/scrabblepad/config.h
index dabab7d3590..800b9297b5d 100644
--- a/keyboards/scrabblepad/config.h
+++ b/keyboards/scrabblepad/config.h
@@ -61,7 +61,6 @@ along with this program. If not, see .
//#define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation
//#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness)
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -113,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/singa/config.h b/keyboards/singa/config.h
index a76a4b98ffa..54cacee2e90 100644
--- a/keyboards/singa/config.h
+++ b/keyboards/singa/config.h
@@ -43,7 +43,4 @@ along with this program. If not, see .
#define NO_UART 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/sirius/unigo66/README.md b/keyboards/sirius/unigo66/README.md
new file mode 100644
index 00000000000..78a02ed09e2
--- /dev/null
+++ b/keyboards/sirius/unigo66/README.md
@@ -0,0 +1,17 @@
+# UniGo66
+
+
+
+The UniGo66 is an ergonomic wireless keyboard designed by Sirius and manufactured by ALF Studios.
+
+Join ALF Studios on [Discord](https://discord.gg/GJ8bdM)
+
+Make example:
+
+ make sirius/unigo66:default
+
+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).
+
+To get the U2U into DFU flashing mode, insert the U2U into the computer and press the button in the red circle shown below
+
+
\ No newline at end of file
diff --git a/keyboards/sirius/unigo66/config.h b/keyboards/sirius/unigo66/config.h
new file mode 100644
index 00000000000..883de44a2a3
--- /dev/null
+++ b/keyboards/sirius/unigo66/config.h
@@ -0,0 +1,54 @@
+/*
+Copyright 2017 Balz Guenat
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#pragma once
+
+#define CUSTOM_MATRIX 2
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x5369
+#define PRODUCT_ID 0x005B
+#define DEVICE_VER 0x0814
+#define MANUFACTURER Sirius
+#define PRODUCT UniGo66
+#define DESCRIPTION UniGo66 Wireless Split keyboard
+
+
+/* size of virtual matrix */
+#define MATRIX_ROWS 16
+#define MATRIX_COLS 16
+
+/* matrix scanning is done in custom_matrix.cpp */
+#define DIODE_DIRECTION CUSTOM_MATRIX
+
+/*
+ * 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
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
diff --git a/keyboards/sirius/unigo66/custom_matrix.cpp b/keyboards/sirius/unigo66/custom_matrix.cpp
new file mode 100644
index 00000000000..fba107c7cba
--- /dev/null
+++ b/keyboards/sirius/unigo66/custom_matrix.cpp
@@ -0,0 +1,242 @@
+/*
+Copyright 2016 Jun Wako
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#include
+#include
+
+// USB HID host
+#include "Usb.h"
+#include "usbhub.h"
+#include "hid.h"
+#include "hidboot.h"
+#include "parser.h"
+
+#include "keycode.h"
+#include "util.h"
+#include "print.h"
+#include "debug.h"
+#include "timer.h"
+#include "matrix.h"
+#include "led.h"
+#include "host.h"
+#include "keyboard.h"
+
+extern "C" {
+#include "quantum.h"
+}
+
+/* KEY CODE to Matrix
+ *
+ * HID keycode(1 byte):
+ * Higher 5 bits indicates ROW and lower 3 bits COL.
+ *
+ * 7 6 5 4 3 2 1 0
+ * +---------------+
+ * | ROW | COL |
+ * +---------------+
+ *
+ * Matrix space(16 * 16):
+ * r\c0123456789ABCDEF
+ * 0 +----------------+
+ * : | |
+ * : | |
+ * 16 +----------------+
+ */
+#define ROW_MASK 0xF0
+#define COL_MASK 0x0F
+#define CODE(row, col) (((row) << 4) | (col))
+#define ROW(code) (((code) & ROW_MASK) >> 4)
+#define COL(code) ((code) & COL_MASK)
+#define ROW_BITS(code) (1 << COL(code))
+
+
+// Integrated key state of all keyboards
+static report_keyboard_t local_keyboard_report;
+
+static bool matrix_is_mod = false;
+
+/*
+ * USB Host Shield HID keyboards
+ * This supports two cascaded hubs and four keyboards
+ */
+USB usb_host;
+USBHub hub1(&usb_host);
+USBHub hub2(&usb_host);
+HIDBoot kbd1(&usb_host);
+HIDBoot kbd2(&usb_host);
+HIDBoot kbd3(&usb_host);
+HIDBoot kbd4(&usb_host);
+KBDReportParser kbd_parser1;
+KBDReportParser kbd_parser2;
+KBDReportParser kbd_parser3;
+KBDReportParser kbd_parser4;
+
+
+extern "C"
+{
+ uint8_t matrix_rows(void) { return MATRIX_ROWS; }
+ uint8_t matrix_cols(void) { return MATRIX_COLS; }
+ bool matrix_has_ghost(void) { return false; }
+ void matrix_init(void) {
+ // USB Host Shield setup
+ usb_host.Init();
+ kbd1.SetReportParser(0, (HIDReportParser*)&kbd_parser1);
+ kbd2.SetReportParser(0, (HIDReportParser*)&kbd_parser2);
+ kbd3.SetReportParser(0, (HIDReportParser*)&kbd_parser3);
+ kbd4.SetReportParser(0, (HIDReportParser*)&kbd_parser4);
+ }
+
+ static void or_report(report_keyboard_t report) {
+ // integrate reports into local_keyboard_report
+ local_keyboard_report.mods |= report.mods;
+ for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
+ if (IS_ANY(report.keys[i])) {
+ for (uint8_t j = 0; j < KEYBOARD_REPORT_KEYS; j++) {
+ if (! local_keyboard_report.keys[j]) {
+ local_keyboard_report.keys[j] = report.keys[i];
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ uint8_t matrix_scan(void) {
+ static uint16_t last_time_stamp1 = 0;
+ static uint16_t last_time_stamp2 = 0;
+ static uint16_t last_time_stamp3 = 0;
+ static uint16_t last_time_stamp4 = 0;
+
+ // check report came from keyboards
+ if (kbd_parser1.time_stamp != last_time_stamp1 ||
+ kbd_parser2.time_stamp != last_time_stamp2 ||
+ kbd_parser3.time_stamp != last_time_stamp3 ||
+ kbd_parser4.time_stamp != last_time_stamp4) {
+
+ last_time_stamp1 = kbd_parser1.time_stamp;
+ last_time_stamp2 = kbd_parser2.time_stamp;
+ last_time_stamp3 = kbd_parser3.time_stamp;
+ last_time_stamp4 = kbd_parser4.time_stamp;
+
+ // clear and integrate all reports
+ local_keyboard_report = {};
+ or_report(kbd_parser1.report);
+ or_report(kbd_parser2.report);
+ or_report(kbd_parser3.report);
+ or_report(kbd_parser4.report);
+
+ matrix_is_mod = true;
+
+ dprintf("state: %02X %02X", local_keyboard_report.mods, local_keyboard_report.reserved);
+ for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
+ dprintf(" %02X", local_keyboard_report.keys[i]);
+ }
+ dprint("\r\n");
+ } else {
+ matrix_is_mod = false;
+ }
+
+ uint16_t timer;
+ timer = timer_read();
+ usb_host.Task();
+ timer = timer_elapsed(timer);
+ if (timer > 100) {
+ dprintf("host.Task: %d\n", timer);
+ }
+
+ static uint8_t usb_state = 0;
+ if (usb_state != usb_host.getUsbTaskState()) {
+ usb_state = usb_host.getUsbTaskState();
+ dprintf("usb_state: %02X\n", usb_state);
+
+ // restore LED state when keyboard comes up
+ if (usb_state == USB_STATE_RUNNING) {
+ dprintf("speed: %s\n", usb_host.getVbusState()==FSHOST ? "full" : "low");
+ keyboard_set_leds(host_keyboard_leds());
+ }
+ }
+ return 1;
+ }
+
+ bool matrix_is_modified(void) {
+ return matrix_is_mod;
+ }
+
+ bool matrix_is_on(uint8_t row, uint8_t col) {
+ uint8_t code = CODE(row, col);
+
+ if (IS_MOD(code)) {
+ if (local_keyboard_report.mods & ROW_BITS(code)) {
+ return true;
+ }
+ }
+ for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
+ if (local_keyboard_report.keys[i] == code) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ matrix_row_t matrix_get_row(uint8_t row) {
+ uint16_t row_bits = 0;
+
+ if (IS_MOD(CODE(row, 0)) && local_keyboard_report.mods) {
+ row_bits |= local_keyboard_report.mods;
+ }
+
+ for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
+ if (IS_ANY(local_keyboard_report.keys[i])) {
+ if (row == ROW(local_keyboard_report.keys[i])) {
+ row_bits |= ROW_BITS(local_keyboard_report.keys[i]);
+ }
+ }
+ }
+ return row_bits;
+ }
+
+ uint8_t matrix_key_count(void) {
+ uint8_t count = 0;
+
+ count += bitpop(local_keyboard_report.mods);
+ for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) {
+ if (IS_ANY(local_keyboard_report.keys[i])) {
+ count++;
+ }
+ }
+ return count;
+ }
+
+ void matrix_print(void) {
+ print("\nr/c 0123456789ABCDEF\n");
+ for (uint8_t row = 0; row < matrix_rows(); row++) {
+ xprintf("%02d: ", row);
+ print_bin_reverse16(matrix_get_row(row));
+ print("\n");
+ }
+ }
+
+ void led_set(uint8_t usb_led)
+ {
+ kbd1.SetReport(0, 0, 2, 0, 1, &usb_led);
+ kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
+ kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
+ kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
+ led_set_kb(usb_led);
+ }
+
+};
diff --git a/keyboards/sirius/unigo66/info.json b/keyboards/sirius/unigo66/info.json
new file mode 100644
index 00000000000..142e8f1fadf
--- /dev/null
+++ b/keyboards/sirius/unigo66/info.json
@@ -0,0 +1,485 @@
+{
+ "keyboard_name": "UniGo66",
+ "url": "https://discord.gg/GJ8bdM",
+ "maintainer": "qmk",
+ "width": 22.5,
+ "height": 6.5,
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label":"F13", "x":2, "y":0},
+ {"label":"F14", "x":3, "y":0},
+ {"label":"F15", "x":4, "y":0},
+ {"label":"F16", "x":5, "y":0},
+ {"label":"F17", "x":6.5, "y":0},
+ {"label":"F18", "x":7.5, "y":0},
+ {"label":"F19", "x":8.5, "y":0},
+ {"label":"F20", "x":9.5, "y":0},
+ {"label":"F21", "x":11, "y":0},
+ {"label":"F22", "x":12, "y":0},
+ {"label":"F23", "x":13, "y":0},
+ {"label":"F24", "x":14, "y":0},
+ {"label":"Esc", "x":0, "y":1},
+ {"label":"F1", "x":2, "y":1},
+ {"label":"F2", "x":3, "y":1},
+ {"label":"F3", "x":4, "y":1},
+ {"label":"F4", "x":5, "y":1},
+ {"label":"F5", "x":6.5, "y":1},
+ {"label":"F6", "x":7.5, "y":1},
+ {"label":"F7", "x":8.5, "y":1},
+ {"label":"F8", "x":9.5, "y":1},
+ {"label":"F9", "x":11, "y":1},
+ {"label":"F10", "x":12, "y":1},
+ {"label":"F11", "x":13, "y":1},
+ {"label":"F12", "x":14, "y":1},
+ {"label":"Print Screen", "x":15.25, "y":1},
+ {"label":"Scroll Lock", "x":16.25, "y":1},
+ {"label":"Pause", "x":17.25, "y":1},
+ {"label":"Volume Down", "x":18.5, "y":1},
+ {"label":"Vol Up", "x":19.5, "y":1},
+ {"label":"Mute", "x":20.5, "y":1},
+ {"label":"Power", "x":21.5, "y":1},
+ {"label":"Help", "x":22.75, "y":1},
+ {"label":"`", "x":0, "y":2.5},
+ {"label":"1", "x":1, "y":2.5},
+ {"label":"2", "x":2, "y":2.5},
+ {"label":"3", "x":3, "y":2.5},
+ {"label":"4", "x":4, "y":2.5},
+ {"label":"5", "x":5, "y":2.5},
+ {"label":"6", "x":6, "y":2.5},
+ {"label":"7", "x":7, "y":2.5},
+ {"label":"8", "x":8, "y":2.5},
+ {"label":"9", "x":9, "y":2.5},
+ {"label":"0", "x":10, "y":2.5},
+ {"label":"-", "x":11, "y":2.5},
+ {"label":"=", "x":12, "y":2.5},
+ {"label":"Yen", "x":13, "y":2.5},
+ {"label":"Back Space", "x":14, "y":2.5},
+ {"label":"Insert", "x":15.25, "y":2.5},
+ {"label":"Home", "x":16.25, "y":2.5},
+ {"label":"Page Up", "x":17.25, "y":2.5},
+ {"label":"Num Lock", "x":18.5, "y":2.5},
+ {"label":"Num /", "x":19.5, "y":2.5},
+ {"label":"Num *", "x":20.5, "y":2.5},
+ {"label":"Num -", "x":21.5, "y":2.5},
+ {"label":"Stop", "x":22.75, "y":2.5},
+ {"label":"Again", "x":23.75, "y":2.5},
+ {"label":"Tab", "x":0, "y":3.5, "w":1.5},
+ {"label":"Q", "x":1.5, "y":3.5},
+ {"label":"W", "x":2.5, "y":3.5},
+ {"label":"E", "x":3.5, "y":3.5},
+ {"label":"R", "x":4.5, "y":3.5},
+ {"label":"T", "x":5.5, "y":3.5},
+ {"label":"Y", "x":6.5, "y":3.5},
+ {"label":"U", "x":7.5, "y":3.5},
+ {"label":"I", "x":8.5, "y":3.5},
+ {"label":"O", "x":9.5, "y":3.5},
+ {"label":"P", "x":10.5, "y":3.5},
+ {"label":"[", "x":11.5, "y":3.5},
+ {"label":"]", "x":12.5, "y":3.5},
+ {"label":"\\", "x":13.5, "y":3.5, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":3.5},
+ {"label":"End", "x":16.25, "y":3.5},
+ {"label":"Page Down", "x":17.25, "y":3.5},
+ {"label":"Num 7", "x":18.5, "y":3.5},
+ {"label":"Num 8", "x":19.5, "y":3.5},
+ {"label":"Num 9", "x":20.5, "y":3.5},
+ {"label":"Num +", "x":21.5, "y":3.5},
+ {"label":"Menu", "x":22.75, "y":3.5},
+ {"label":"Undo", "x":23.75, "y":3.5},
+ {"label":"Caps Lock", "x":0, "y":4.5, "w":1.75},
+ {"label":"A", "x":1.75, "y":4.5},
+ {"label":"S", "x":2.75, "y":4.5},
+ {"label":"D", "x":3.75, "y":4.5},
+ {"label":"F", "x":4.75, "y":4.5},
+ {"label":"G", "x":5.75, "y":4.5},
+ {"label":"H", "x":6.75, "y":4.5},
+ {"label":"J", "x":7.75, "y":4.5},
+ {"label":"K", "x":8.75, "y":4.5},
+ {"label":"L", "x":9.75, "y":4.5},
+ {"label":";", "x":10.75, "y":4.5},
+ {"label":"\"", "x":11.75, "y":4.5},
+ {"label":"ISO #", "x":12.75, "y":4.5},
+ {"label":"Enter", "x":13.75, "y":4.5, "w":1.25},
+ {"label":"Num 4", "x":18.5, "y":4.5},
+ {"label":"Num 5", "x":19.5, "y":4.5},
+ {"label":"Num 6", "x":20.5, "y":4.5},
+ {"label":"Num , ", "x":21.5, "y":4.5},
+ {"label":"Select", "x":22.75, "y":4.5},
+ {"label":"Copy", "x":23.75, "y":4.5},
+ {"label":"Shift", "x":0, "y":5.5, "w":1.25},
+ {"label":"ISO \\", "x":1.25, "y":5.5},
+ {"label":"Z", "x":2.25, "y":5.5},
+ {"label":"X", "x":3.25, "y":5.5},
+ {"label":"C", "x":4.25, "y":5.5},
+ {"label":"V", "x":5.25, "y":5.5},
+ {"label":"B", "x":6.25, "y":5.5},
+ {"label":"N", "x":7.25, "y":5.5},
+ {"label":"M", "x":8.25, "y":5.5},
+ {"label":",", "x":9.25, "y":5.5},
+ {"label":".", "x":10.25, "y":5.5},
+ {"label":"/", "x":11.25, "y":5.5},
+ {"label":"JIS \\", "x":12.25, "y":5.5},
+ {"label":"Shift", "x":13.25, "y":5.5, "w":1.75},
+ {"label":"Up", "x":16.25, "y":5.5},
+ {"label":"Num 1", "x":18.5, "y":5.5},
+ {"label":"Num 2", "x":19.5, "y":5.5},
+ {"label":"Num 3", "x":20.5, "y":5.5},
+ {"label":"Num =", "x":21.5, "y":5.5},
+ {"label":"Exec", "x":22.75, "y":5.5},
+ {"label":"Paste", "x":23.75, "y":5.5},
+ {"label":"Ctrl", "x":0, "y":6.5},
+ {"label":"GUI", "x":1, "y":6.5},
+ {"label":"Alt", "x":2, "y":6.5},
+ {"label":"JIS Muhenkan", "x":3, "y":6.5},
+ {"label":"Hanja", "x":4, "y":6.5},
+ {"label":"Space", "x":5, "y":6.5, "w":3},
+ {"label":"Hangul/English", "x":8, "y":6.5},
+ {"label":"JIS Henkan", "x":9, "y":6.5},
+ {"label":"JIS Katakana/Hiragana", "x":10, "y":6.5},
+ {"label":"Alt", "x":11, "y":6.5},
+ {"label":"GUI", "x":12, "y":6.5},
+ {"label":"App", "x":13, "y":6.5},
+ {"label":"Ctrl", "x":14, "y":6.5},
+ {"label":"Left", "x":15.25, "y":6.5},
+ {"label":"Down", "x":16.25, "y":6.5},
+ {"label":"Right", "x":17.25, "y":6.5},
+ {"label":"Num 0", "x":18.5, "y":6.5, "w":2},
+ {"label":"Num .", "x":20.5, "y":6.5},
+ {"label":"Num Enter", "x":21.5, "y":6.5},
+ {"label":"Find", "x":22.75, "y":6.5},
+ {"label":"Cut", "x":23.75, "y":6.5}
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":2, "y":0},
+ {"label":"F2", "x":3, "y":0},
+ {"label":"F3", "x":4, "y":0},
+ {"label":"F4", "x":5, "y":0},
+ {"label":"F5", "x":6.5, "y":0},
+ {"label":"F6", "x":7.5, "y":0},
+ {"label":"F7", "x":8.5, "y":0},
+ {"label":"F8", "x":9.5, "y":0},
+ {"label":"F9", "x":11, "y":0},
+ {"label":"F10", "x":12, "y":0},
+ {"label":"F11", "x":13, "y":0},
+ {"label":"F12", "x":14, "y":0},
+ {"label":"PrtSc", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause", "x":17.25, "y":0},
+ {"label":"`", "x":0, "y":1.5},
+ {"label":"1", "x":1, "y":1.5},
+ {"label":"2", "x":2, "y":1.5},
+ {"label":"3", "x":3, "y":1.5},
+ {"label":"4", "x":4, "y":1.5},
+ {"label":"5", "x":5, "y":1.5},
+ {"label":"6", "x":6, "y":1.5},
+ {"label":"7", "x":7, "y":1.5},
+ {"label":"8", "x":8, "y":1.5},
+ {"label":"9", "x":9, "y":1.5},
+ {"label":"0", "x":10, "y":1.5},
+ {"label":"-", "x":11, "y":1.5},
+ {"label":"=", "x":12, "y":1.5},
+ {"label":"Backspace", "x":13, "y":1.5, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.5},
+ {"label":"Home", "x":16.25, "y":1.5},
+ {"label":"Page Up", "x":17.25, "y":1.5},
+ {"label":"Num Lock", "x":18.5, "y":1.5},
+ {"label":"Num /", "x":19.5, "y":1.5},
+ {"label":"Num *", "x":20.5, "y":1.5},
+ {"label":"Num -", "x":21.5, "y":1.5},
+ {"label":"Tab", "x":0, "y":2.5, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.5},
+ {"label":"W", "x":2.5, "y":2.5},
+ {"label":"E", "x":3.5, "y":2.5},
+ {"label":"R", "x":4.5, "y":2.5},
+ {"label":"T", "x":5.5, "y":2.5},
+ {"label":"Y", "x":6.5, "y":2.5},
+ {"label":"U", "x":7.5, "y":2.5},
+ {"label":"I", "x":8.5, "y":2.5},
+ {"label":"O", "x":9.5, "y":2.5},
+ {"label":"P", "x":10.5, "y":2.5},
+ {"label":"[", "x":11.5, "y":2.5},
+ {"label":"]", "x":12.5, "y":2.5},
+ {"label":"\\", "x":13.5, "y":2.5, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.5},
+ {"label":"End", "x":16.25, "y":2.5},
+ {"label":"Page Down", "x":17.25, "y":2.5},
+ {"label":"Num 7", "x":18.5, "y":2.5},
+ {"label":"Num 8", "x":19.5, "y":2.5},
+ {"label":"Num 9", "x":20.5, "y":2.5},
+ {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.5},
+ {"label":"S", "x":2.75, "y":3.5},
+ {"label":"D", "x":3.75, "y":3.5},
+ {"label":"F", "x":4.75, "y":3.5},
+ {"label":"G", "x":5.75, "y":3.5},
+ {"label":"H", "x":6.75, "y":3.5},
+ {"label":"J", "x":7.75, "y":3.5},
+ {"label":"K", "x":8.75, "y":3.5},
+ {"label":"L", "x":9.75, "y":3.5},
+ {"label":":", "x":10.75, "y":3.5},
+ {"label":"\"", "x":11.75, "y":3.5},
+ {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
+ {"label":"Num 4", "x":18.5, "y":3.5},
+ {"label":"Num 5", "x":19.5, "y":3.5},
+ {"label":"Num 6", "x":20.5, "y":3.5},
+ {"label":"Num +", "x":21.5, "y":2.5, "h":2},
+ {"label":"Shift", "x":0, "y":4.5, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.5},
+ {"label":"X", "x":3.25, "y":4.5},
+ {"label":"C", "x":4.25, "y":4.5},
+ {"label":"V", "x":5.25, "y":4.5},
+ {"label":"B", "x":6.25, "y":4.5},
+ {"label":"N", "x":7.25, "y":4.5},
+ {"label":"M", "x":8.25, "y":4.5},
+ {"label":",", "x":9.25, "y":4.5},
+ {"label":".", "x":10.25, "y":4.5},
+ {"label":"/", "x":11.25, "y":4.5},
+ {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
+ {"label":"Up", "x":16.25, "y":4.5},
+ {"label":"Num 1", "x":18.5, "y":4.5},
+ {"label":"Num 2", "x":19.5, "y":4.5},
+ {"label":"Num 3", "x":20.5, "y":4.5},
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"Alt", "x":10, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.5, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
+ {"label":"Left", "x":15.25, "y":5.5},
+ {"label":"Down", "x":16.25, "y":5.5},
+ {"label":"Right", "x":17.25, "y":5.5},
+ {"label":"Num 0", "x":18.5, "y":5.5, "w":2},
+ {"label":"Num .", "x":20.5, "y":5.5},
+ {"label":"Num Enter", "x":21.5, "y":4.5, "h":2}
+ ]
+ },
+ "LAYOUT_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":2, "y":0},
+ {"label":"F2", "x":3, "y":0},
+ {"label":"F3", "x":4, "y":0},
+ {"label":"F4", "x":5, "y":0},
+ {"label":"F5", "x":6.5, "y":0},
+ {"label":"F6", "x":7.5, "y":0},
+ {"label":"F7", "x":8.5, "y":0},
+ {"label":"F8", "x":9.5, "y":0},
+ {"label":"F9", "x":11, "y":0},
+ {"label":"F10", "x":12, "y":0},
+ {"label":"F11", "x":13, "y":0},
+ {"label":"F12", "x":14, "y":0},
+ {"label":"Print Screen", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause", "x":17.25, "y":0},
+ {"label":"`", "x":0, "y":1.5},
+ {"label":"1", "x":1, "y":1.5},
+ {"label":"2", "x":2, "y":1.5},
+ {"label":"3", "x":3, "y":1.5},
+ {"label":"4", "x":4, "y":1.5},
+ {"label":"5", "x":5, "y":1.5},
+ {"label":"6", "x":6, "y":1.5},
+ {"label":"7", "x":7, "y":1.5},
+ {"label":"8", "x":8, "y":1.5},
+ {"label":"9", "x":9, "y":1.5},
+ {"label":"0", "x":10, "y":1.5},
+ {"label":"-", "x":11, "y":1.5},
+ {"label":"=", "x":12, "y":1.5},
+ {"label":"Backspace", "x":13, "y":1.5, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.5},
+ {"label":"Home", "x":16.25, "y":1.5},
+ {"label":"Page Up", "x":17.25, "y":1.5},
+ {"label":"Num Lock", "x":18.5, "y":1.5},
+ {"label":"Num /", "x":19.5, "y":1.5},
+ {"label":"Num *", "x":20.5, "y":1.5},
+ {"label":"Num -", "x":21.5, "y":1.5},
+ {"label":"Tab", "x":0, "y":2.5, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.5},
+ {"label":"W", "x":2.5, "y":2.5},
+ {"label":"E", "x":3.5, "y":2.5},
+ {"label":"R", "x":4.5, "y":2.5},
+ {"label":"T", "x":5.5, "y":2.5},
+ {"label":"Y", "x":6.5, "y":2.5},
+ {"label":"U", "x":7.5, "y":2.5},
+ {"label":"I", "x":8.5, "y":2.5},
+ {"label":"O", "x":9.5, "y":2.5},
+ {"label":"P", "x":10.5, "y":2.5},
+ {"label":"[", "x":11.5, "y":2.5},
+ {"label":"]", "x":12.5, "y":2.5},
+ {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
+ {"label":"Delete", "x":15.25, "y":2.5},
+ {"label":"End", "x":16.25, "y":2.5},
+ {"label":"Page Down", "x":17.25, "y":2.5},
+ {"label":"Num 7", "x":18.5, "y":2.5},
+ {"label":"Num 8", "x":19.5, "y":2.5},
+ {"label":"Num 9", "x":20.5, "y":2.5},
+ {"label":"Num +", "x":21.5, "y":2.5, "h":2},
+ {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.5},
+ {"label":"S", "x":2.75, "y":3.5},
+ {"label":"D", "x":3.75, "y":3.5},
+ {"label":"F", "x":4.75, "y":3.5},
+ {"label":"G", "x":5.75, "y":3.5},
+ {"label":"H", "x":6.75, "y":3.5},
+ {"label":"J", "x":7.75, "y":3.5},
+ {"label":"K", "x":8.75, "y":3.5},
+ {"label":"L", "x":9.75, "y":3.5},
+ {"label":";", "x":10.75, "y":3.5},
+ {"label":"'", "x":11.75, "y":3.5},
+ {"label":"ISO #", "x":12.75, "y":3.5},
+ {"label":"Num 4", "x":18.5, "y":3.5},
+ {"label":"Num 5", "x":19.5, "y":3.5},
+ {"label":"Num 6", "x":20.5, "y":3.5},
+ {"label":"Shift", "x":0, "y":4.5, "w":1.25},
+ {"label":"ISO \\", "x":1.25, "y":4.5},
+ {"label":"Z", "x":2.25, "y":4.5},
+ {"label":"X", "x":3.25, "y":4.5},
+ {"label":"C", "x":4.25, "y":4.5},
+ {"label":"V", "x":5.25, "y":4.5},
+ {"label":"B", "x":6.25, "y":4.5},
+ {"label":"N", "x":7.25, "y":4.5},
+ {"label":"M", "x":8.25, "y":4.5},
+ {"label":",", "x":9.25, "y":4.5},
+ {"label":".", "x":10.25, "y":4.5},
+ {"label":"/", "x":11.25, "y":4.5},
+ {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
+ {"label":"Up", "x":16.25, "y":4.5},
+ {"label":"Num 1", "x":18.5, "y":4.5},
+ {"label":"Num 2", "x":19.5, "y":4.5},
+ {"label":"Num 3", "x":20.5, "y":4.5},
+ {"label":"Num Enter", "x":21.5, "y":4.5, "h":2},
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"AltGr", "x":10, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.5, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
+ {"label":"Left", "x":15.25, "y":5.5},
+ {"label":"Down", "x":16.25, "y":5.5},
+ {"label":"Right", "x":17.25, "y":5.5},
+ {"label":"Num 0", "x":18.5, "y":5.5, "w":2},
+ {"label":"Num .", "x":20.5, "y":5.5}
+ ]
+ },
+ "LAYOUT_jis": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":2, "y":0},
+ {"label":"F2", "x":3, "y":0},
+ {"label":"F3", "x":4, "y":0},
+ {"label":"F4", "x":5, "y":0},
+ {"label":"F5", "x":6.5, "y":0},
+ {"label":"F6", "x":7.5, "y":0},
+ {"label":"F7", "x":8.5, "y":0},
+ {"label":"F8", "x":9.5, "y":0},
+ {"label":"F9", "x":11, "y":0},
+ {"label":"F10", "x":12, "y":0},
+ {"label":"F11", "x":13, "y":0},
+ {"label":"F12", "x":14, "y":0},
+ {"label":"Print Screen", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause", "x":17.25, "y":0},
+ {"label":"JIS Hankaku / Zenkaku", "x":0, "y":1.5},
+ {"label":"1", "x":1, "y":1.5},
+ {"label":"2", "x":2, "y":1.5},
+ {"label":"3", "x":3, "y":1.5},
+ {"label":"4", "x":4, "y":1.5},
+ {"label":"5", "x":5, "y":1.5},
+ {"label":"6", "x":6, "y":1.5},
+ {"label":"7", "x":7, "y":1.5},
+ {"label":"8", "x":8, "y":1.5},
+ {"label":"9", "x":9, "y":1.5},
+ {"label":"0", "x":10, "y":1.5},
+ {"label":"-", "x":11, "y":1.5},
+ {"label":"ˆ", "x":12, "y":1.5},
+ {"label":"JIS Yen", "x":13, "y":1.5},
+ {"label":"Back Space", "x":14, "y":1.5},
+ {"label":"Insert", "x":15.25, "y":1.5},
+ {"label":"Home", "x":16.25, "y":1.5},
+ {"label":"Page Up", "x":17.25, "y":1.5},
+ {"label":"Num Lock", "x":18.5, "y":1.5},
+ {"label":"Num /", "x":19.5, "y":1.5},
+ {"label":"Num *", "x":20.5, "y":1.5},
+ {"label":"Num -", "x":21.5, "y":1.5},
+ {"label":"Tab", "x":0, "y":2.5, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.5},
+ {"label":"W", "x":2.5, "y":2.5},
+ {"label":"E", "x":3.5, "y":2.5},
+ {"label":"R", "x":4.5, "y":2.5},
+ {"label":"T", "x":5.5, "y":2.5},
+ {"label":"Y", "x":6.5, "y":2.5},
+ {"label":"U", "x":7.5, "y":2.5},
+ {"label":"I", "x":8.5, "y":2.5},
+ {"label":"O", "x":9.5, "y":2.5},
+ {"label":"P", "x":10.5, "y":2.5},
+ {"label":"@", "x":11.5, "y":2.5},
+ {"label":"[", "x":12.5, "y":2.5},
+ {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
+ {"label":"Delete", "x":15.25, "y":2.5},
+ {"label":"End", "x":16.25, "y":2.5},
+ {"label":"Page Down", "x":17.25, "y":2.5},
+ {"label":"Num 7", "x":18.5, "y":2.5},
+ {"label":"Num 8", "x":19.5, "y":2.5},
+ {"label":"Num 9", "x":20.5, "y":2.5},
+ {"label":"Num +", "x":21.5, "y":2.5, "h":2},
+ {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.5},
+ {"label":"S", "x":2.75, "y":3.5},
+ {"label":"D", "x":3.75, "y":3.5},
+ {"label":"F", "x":4.75, "y":3.5},
+ {"label":"G", "x":5.75, "y":3.5},
+ {"label":"H", "x":6.75, "y":3.5},
+ {"label":"J", "x":7.75, "y":3.5},
+ {"label":"K", "x":8.75, "y":3.5},
+ {"label":"L", "x":9.75, "y":3.5},
+ {"label":";", "x":10.75, "y":3.5},
+ {"label":":", "x":11.75, "y":3.5},
+ {"label":"]", "x":12.75, "y":3.5},
+ {"label":"Num 4", "x":18.5, "y":3.5},
+ {"label":"Num 5", "x":19.5, "y":3.5},
+ {"label":"Num 6", "x":20.5, "y":3.5},
+ {"label":"Shift", "x":0, "y":4.5, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.5},
+ {"label":"X", "x":3.25, "y":4.5},
+ {"label":"C", "x":4.25, "y":4.5},
+ {"label":"V", "x":5.25, "y":4.5},
+ {"label":"B", "x":6.25, "y":4.5},
+ {"label":"N", "x":7.25, "y":4.5},
+ {"label":"M", "x":8.25, "y":4.5},
+ {"label":",", "x":9.25, "y":4.5},
+ {"label":".", "x":10.25, "y":4.5},
+ {"label":"/", "x":11.25, "y":4.5},
+ {"label":"JIS \\", "x":12.25, "y":4.5},
+ {"label":"Shift", "x":13.25, "y":4.5, "w":1.75},
+ {"label":"Up", "x":16.25, "y":4.5},
+ {"label":"Num 1", "x":18.5, "y":4.5},
+ {"label":"Num 2", "x":19.5, "y":4.5},
+ {"label":"Num 3", "x":20.5, "y":4.5},
+ {"label":"Num Enter", "x":21.5, "y":4.5, "h":2},
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"JIS Muhenkan", "x":3.75, "y":5.5, "w":1.25},
+ {"label":"Space", "x":5, "y":5.5, "w":2.5},
+ {"label":"JIS Henkan", "x":7.5, "y":5.5, "w":1.25},
+ {"label":"JIS Hiragana / Katakana", "x":8.75, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":10, "y":5.5, "w":1.25},
+ {"label":"GUI", "x":11.25, "y":5.5, "w":1.25},
+ {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
+ {"label":"Left", "x":15.25, "y":5.5},
+ {"label":"Down", "x":16.25, "y":5.5},
+ {"label":"Right", "x":17.25, "y":5.5},
+ {"label":"Num 0", "x":18.5, "y":5.5, "w":2},
+ {"label":"Num .", "x":20.5, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/sirius/unigo66/keymaps/danielhklein/config.h b/keyboards/sirius/unigo66/keymaps/danielhklein/config.h
new file mode 100644
index 00000000000..271f48d0011
--- /dev/null
+++ b/keyboards/sirius/unigo66/keymaps/danielhklein/config.h
@@ -0,0 +1,3 @@
+#pragma once
+
+// place overrides here
diff --git a/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c b/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c
new file mode 100644
index 00000000000..2425572bdc8
--- /dev/null
+++ b/keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c
@@ -0,0 +1,177 @@
+#include QMK_KEYBOARD_H
+
+enum layer_number {
+ _MAC = 0,
+ _WINDOWS,
+ _FN,
+ _ADJ
+};
+
+enum custom_keycodes {
+ MAC = SAFE_RANGE,
+ WINDOWS,
+ FN,
+ ADJ
+};
+
+const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
+/* Mac
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Bsp |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | Enter |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Caps | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
+ * |--------+------+------+------+------+------| ` | | \ |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
+ * `--------+------+------+---------------------------' `---------------------------+------+------+--------'
+ * | Ctrl | Alt | Gui | | Gui | Alt | Ctrl |
+ * `--------------------' `--------------------'
+ * ,-------------. ,--------------.
+ * | | | | | |
+ * | Bspc | FN | | ADJ | Space |
+ * | | | | | |
+ * `-------------' `--------------'
+ */
+ [_MAC] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, 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_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT,
+ 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_BSLS, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LALT,KC_LGUI, KC_RGUI,KC_RALT, KC_RCTL,
+ KC_BSPC,FN, ADJ, KC_SPC,
+ KC_BSPC,FN, ADJ, KC_SPC
+ ),
+/* Windows
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Bsp |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | Enter |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Caps | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
+ * |--------+------+------+------+------+------| ` | | \ |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
+ * `--------+------+------+---------------------------' `---------------------------+------+------+--------'
+ * | Gui | Alt | Ctrl | | Ctrl | Alt | Gui |
+ * `--------------------' `--------------------'
+ * ,-------------. ,--------------.
+ * | | | | | |
+ * | Bspc | FN | | ADJ | Space |
+ * | | | | | |
+ * `-------------' `--------------'
+ */
+ [_WINDOWS] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, 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_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT,
+ 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_BSLS, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LGUI, KC_LALT,KC_LCTL, KC_RCTL,KC_RALT, KC_RGUI,
+ KC_BSPC,FN, ADJ, KC_SPC,
+ KC_BSPC,FN, ADJ, KC_SPC
+ ),
+/* FN
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | RESET | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | MAC | | | | | | | | | | PgDn | Up | PgUp | Print| Home |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | WINDOWS| | | | | |------| |------| | Left | Down | Right|Insert| End |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Shift | | | | | | | | | Play | Mute | Vol- | Vol+ | Last | Next |
+ * `--------+------+------+---------------------------' `---------------------------+------+------+--------'
+ * | | |GuiCtl| |GuiCtl| | |
+ * `--------------------' `--------------------'
+ * ,-------------. ,--------------.
+ * | | | | | |
+ * | | | | | |
+ * | | | | | |
+ * `-------------' `--------------'
+ */
+ [_FN] = LAYOUT(
+ RESET, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ MAC, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_UP, KC_PGUP, KC_PSCR, KC_HOME,
+ WINDOWS, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_END,
+ _______, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD,
+ XXXXXXX, XXXXXXX,_______, _______, XXXXXXX, XXXXXXX,
+ XXXXXXX, _______, XXXXXXX, XXXXXXX,
+ XXXXXXX, _______, XXXXXXX, XXXXXXX
+ ),
+
+/* ADJ
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | | |Nlock | = | / | * | - | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | F7 | F8 | F9 | F10 | F11 | F12 | | | | 7 | 8 | 9 | + | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| 4 | 5 | 6 | Enter| | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | 1 | 2 | 3 | Space| | |
+ * `--------+------+------+---------------------------' `---------------------------+------+------+--------'
+ * | | | | | 0 | . | |
+ * `--------------------' `--------------------'
+ * ,-------------. ,--------------.
+ * | | | | | |
+ * | | | | | |
+ * | | | | | |
+ * `-------------' `--------------'
+ */
+ [_ADJ] = LAYOUT(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PPLS, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PENT, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_SPC, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX,XXXXXXX, KC_P0, KC_PDOT, XXXXXXX,
+ XXXXXXX, XXXXXXX, _______, XXXXXXX,
+ XXXXXXX, XXXXXXX, _______, XXXXXXX
+ )
+};
+
+void matrix_init_user(void) {
+
+}
+
+void matrix_scan_user(void) {
+
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case MAC:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_MAC);
+ }
+ return false;
+ break;
+ case WINDOWS:
+ if(record->event.pressed) {
+ set_single_persistent_default_layer(_WINDOWS);
+ }
+ return false;
+ break;
+ case FN:
+ if (record->event.pressed) {
+ layer_on(_FN);
+ } else {
+ layer_off(_FN);
+ }
+ return false;
+ break;
+ case ADJ:
+ if (record->event.pressed) {
+ layer_on(_ADJ);
+ } else {
+ layer_off(_ADJ);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
+void led_set_user(uint8_t usb_led) {
+
+}
diff --git a/keyboards/sirius/unigo66/keymaps/default/config.h b/keyboards/sirius/unigo66/keymaps/default/config.h
new file mode 100644
index 00000000000..271f48d0011
--- /dev/null
+++ b/keyboards/sirius/unigo66/keymaps/default/config.h
@@ -0,0 +1,3 @@
+#pragma once
+
+// place overrides here
diff --git a/keyboards/sirius/unigo66/keymaps/default/keymap.c b/keyboards/sirius/unigo66/keymaps/default/keymap.c
new file mode 100644
index 00000000000..d2e0cbfbff5
--- /dev/null
+++ b/keyboards/sirius/unigo66/keymaps/default/keymap.c
@@ -0,0 +1,66 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
+/*
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Bsp |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | L1 | | [ | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Caps | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
+ * |--------+------+------+------+------+------| L2 | | ] |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | Up |
+ * `--------+------+------+---------------------------' `---------------------------+------+------+--------'
+ * | Ctrl | Super| Alt | | Left | Down| Right |
+ * `--------------------' `--------------------'
+ * ,------|------. ,---------------.
+ * | | PgUp | | Home | |
+ * | Space|------| |------| Enter |
+ * | | PgDn | | End | |
+ * `-------------' `---------------'
+ */
+ [0] = LAYOUT(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(1), KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, TG(2), KC_RBRC, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_UP ,
+ KC_LCTL, KC_LGUI,KC_LALT, KC_LEFT,KC_DOWN, KC_RGHT,
+ KC_SPC, KC_PGUP, KC_HOME, KC_ENT,
+ KC_SPC, KC_PGDN, KC_END, KC_ENT
+ ),
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+};
+
+void matrix_init_user(void) {
+
+}
+
+void matrix_scan_user(void) {
+
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
+
+void led_set_user(uint8_t usb_led) {
+
+}
diff --git a/keyboards/sirius/unigo66/main.c b/keyboards/sirius/unigo66/main.c
new file mode 100644
index 00000000000..b4a0d97aafc
--- /dev/null
+++ b/keyboards/sirius/unigo66/main.c
@@ -0,0 +1,108 @@
+#include
+#include
+#include
+#include
+
+// LUFA
+#include "lufa.h"
+
+#include "sendchar.h"
+#include "debug.h"
+#include "keyboard.h"
+#include "led.h"
+
+
+/* LED ping configuration */
+#define TMK_LED
+//#define LEONARDO_LED
+#if defined(TMK_LED)
+// For TMK converter and Teensy
+#define LED_TX_INIT (DDRD |= (1<<6))
+#define LED_TX_ON (PORTD |= (1<<6))
+#define LED_TX_OFF (PORTD &= ~(1<<6))
+#define LED_TX_TOGGLE (PORTD ^= (1<<6))
+#elif defined(LEONARDO_LED)
+// For Leonardo(TX LED)
+#define LED_TX_INIT (DDRD |= (1<<5))
+#define LED_TX_ON (PORTD &= ~(1<<5))
+#define LED_TX_OFF (PORTD |= (1<<5))
+#define LED_TX_TOGGLE (PORTD ^= (1<<5))
+#else
+#define LED_TX_INIT
+#define LED_TX_ON
+#define LED_TX_OFF
+#define LED_TX_TOGGLE
+#endif
+
+
+static void LUFA_setup(void)
+{
+ /* Disable watchdog if enabled by bootloader/fuses */
+ MCUSR &= ~(1 << WDRF);
+ wdt_disable();
+
+ /* Disable clock division */
+#if (F_CPU == 8000000)
+ clock_prescale_set(clock_div_2); // 16MHz crystal divided by 2
+#else
+ clock_prescale_set(clock_div_1);
+#endif
+
+ // Leonardo needs. Without this USB device is not recognized.
+ USB_Disable();
+
+ USB_Init();
+
+ // for Console_Task
+ USB_Device_EnableSOFEvents();
+ print_set_sendchar(sendchar);
+}
+
+
+
+int main(void)
+{
+ // LED for debug
+ LED_TX_INIT;
+ LED_TX_ON;
+
+ debug_enable = true;
+ debug_keyboard = true;
+
+ host_set_driver(&lufa_driver);
+ keyboard_init();
+
+ LUFA_setup();
+
+ /* NOTE: Don't insert time consuming job here.
+ * It'll cause unclear initialization failure when DFU reset(worm start).
+ */
+ sei();
+
+/* Some keyboards bootup quickly and cannot be initialized with this startup wait.*/
+ // wait for startup of sendchar routine
+ while (USB_DeviceState != DEVICE_STATE_Configured) ;
+ if (debug_enable) {
+ _delay_ms(1000);
+ }
+
+
+/* // wait for USB startup & debug output
+ uint8_t timeout=255
+ while (timeout-- && USB_DeviceState != DEVICE_STATE_Configured) {
+ wait_ms(4);
+*/
+
+ debug("init: done\n");
+
+ for (;;) {
+ keyboard_task();
+
+#if !defined(INTERRUPT_CONTROL_ENDPOINT)
+ // LUFA Task for control request
+ USB_USBTask();
+#endif
+ }
+
+ return 0;
+}
diff --git a/keyboards/sirius/unigo66/matrix.c b/keyboards/sirius/unigo66/matrix.c
new file mode 100644
index 00000000000..b077febd74d
--- /dev/null
+++ b/keyboards/sirius/unigo66/matrix.c
@@ -0,0 +1 @@
+// Intentionally left empty. This file must exist for this board to build.
diff --git a/keyboards/sirius/unigo66/readme.md b/keyboards/sirius/unigo66/readme.md
new file mode 100644
index 00000000000..78a02ed09e2
--- /dev/null
+++ b/keyboards/sirius/unigo66/readme.md
@@ -0,0 +1,17 @@
+# UniGo66
+
+
+
+The UniGo66 is an ergonomic wireless keyboard designed by Sirius and manufactured by ALF Studios.
+
+Join ALF Studios on [Discord](https://discord.gg/GJ8bdM)
+
+Make example:
+
+ make sirius/unigo66:default
+
+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).
+
+To get the U2U into DFU flashing mode, insert the U2U into the computer and press the button in the red circle shown below
+
+
\ No newline at end of file
diff --git a/keyboards/sirius/unigo66/rules.mk b/keyboards/sirius/unigo66/rules.mk
new file mode 100644
index 00000000000..e716aa86fb2
--- /dev/null
+++ b/keyboards/sirius/unigo66/rules.mk
@@ -0,0 +1,32 @@
+# MCU name
+MCU = atmega32u4
+
+F_CPU = 16000000
+
+ARCH = AVR8
+
+F_USB = $(F_CPU)
+
+BOOTLOADER = atmel-dfu
+
+# Interrupt driven control endpoint task
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+# Build Options
+# comment out to disable the options.
+#
+# BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+# MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+# CONSOLE_ENABLE = yes # Console for debug(+400)
+# COMMAND_ENABLE = yes # Commands for debug and configuration
+# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
+# NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
+# BACKLIGHT_ENABLE = yes
+USB_HID_ENABLE = yes
+
+CUSTOM_MATRIX = yes
+SRC = custom_matrix.cpp
+
+CUSTOM_MATRIX = yes
+SRC = custom_matrix.cpp
diff --git a/keyboards/sirius/unigo66/unigo66.c b/keyboards/sirius/unigo66/unigo66.c
new file mode 100644
index 00000000000..6a2d2632bd6
--- /dev/null
+++ b/keyboards/sirius/unigo66/unigo66.c
@@ -0,0 +1 @@
+#include "unigo66.h"
diff --git a/keyboards/sirius/unigo66/unigo66.h b/keyboards/sirius/unigo66/unigo66.h
new file mode 100644
index 00000000000..3215c891bfa
--- /dev/null
+++ b/keyboards/sirius/unigo66/unigo66.h
@@ -0,0 +1,103 @@
+#ifndef UNIGO66_H
+#define UNIGO66_H
+
+#include "quantum.h"
+
+/* ,---------------. ,---------------. ,---------------.
+ * |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24|
+ * ,---. |---------------| |---------------| |---------------| ,-----------. ,---------------. ,-------.
+ * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr| | Help |
+ * `---' `---------------' `---------------' `---------------' `-----------' `---------------' `-------'
+ * ,-----------------------------------------------------------. ,-----------. ,---------------. ,-------.
+ * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -| |Stp|Agn|
+ * |-----------------------------------------------------------| |-----------| |---------------| |-------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +| |Mnu|Und|
+ * |-----------------------------------------------------------| `-----------' |---------------| |-------|
+ * |CapsL | A| S| D| F| G| H| J| K| L| ;| :| #|Retn| | 4| 5| 6|KP,| |Sel|Cpy|
+ * |-----------------------------------------------------------| ,---. |---------------| |-------|
+ * |Shft| <| Z| X| C| V| B| N| M| ,| ,| /| RO|Shift | |Up | | 1| 2| 3|KP=| |Exe|Pst|
+ * |-----------------------------------------------------------| ,-----------. |---------------| |-------|
+ * |Ctl|Gui|Alt|MHEN|HNJ| Space |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0 | .|Ent| |Fnd|Cut|
+ * `-----------------------------------------------------------' `-----------' `---------------' `-------'
+
+ */
+#define LAYOUT_ALL( \
+ K68,K69,K6A,K6B,K6C,K6D,K6E,K6F,K70,K71,K72,K73, \
+ K29, K3A,K3B,K3C,K3D,K3E,K3F,K40,K41,K42,K43,K44,K45, K46,K47,K48, K81,K80,K7F,K66, K75, \
+ K35,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K2D,K2E,K89,K2A, K49,K4A,K4B, K53,K54,K55,K56, K78,K79, \
+ K2B,K14,K1A,K08,K15,K17,K1C,K18,K0C,K12,K13,K2F,K30, K31, K4C,K4D,K4E, K5F,K60,K61,K57, K76,K7A, \
+ K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34, K32,K28, K5C,K5D,K5E,K85, K77,K7C, \
+ KE1,K64,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,K38, K87,KE5, K52, K59,K5A,K5B,K67, K74,K7D, \
+ KE0,KE3,KE2,K8B,K91, K2C, K90,K8A,K88,KE6,KE7,K65,KE4, K50,K51,K4F, K62, K63,K58, K7E,K7B \
+) { \
+ { KC_NO, KC_NO, KC_NO, KC_NO, K04, K05, K06, K07, /* 00-07 */ \
+ K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, /* 08-0F */ \
+ { K10, K11, K12, K13, K14, K15, K16, K17, /* 10-17 */ \
+ K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, /* 18-1F */ \
+ { K20, K21, K22, K23, K24, K25, K26, K27, /* 20-27 */ \
+ K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, /* 28-2F */ \
+ { K30, K31, K32, K33, K34, K35, K36, K37, /* 30-37 */ \
+ K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, /* 38-3F */ \
+ { K40, K41, K42, K43, K44, K45, K46, K47, /* 40-47 */ \
+ K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, /* 48-4F */ \
+ { K50, K51, K52, K53, K54, K55, K56, K57, /* 50-57 */ \
+ K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, /* 58-5F */ \
+ { K60, K61, K62, K63, K64, K65, K66, K67, /* 60-67 */ \
+ K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, /* 68-6F */ \
+ { K70, K71, K72, K73, K74, K75, K76, K77, /* 70-77 */ \
+ K78, K79, K7A, K7B, K7C, K7D, K7E, K7F }, /* 78-7F */ \
+ { K80, K81, KC_NO, KC_NO, KC_NO, K85, KC_NO, K87, /* 80-87 */ \
+ K88, K89, K8A, K8B, KC_NO, KC_NO, KC_NO, KC_NO }, /* 88-8F */ \
+ { K90, K91, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 90-97 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 98-9F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* A0-A7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* A8-AF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* B0-B7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* B8-BF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* C0-C7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* C8-CF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* D0-D7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* D8-DF */ \
+ { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7, /* E0-E7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* E8-EF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* F0-F7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* F8-FF */ \
+}
+
+/*
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Bsp |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | Tab | Q | W | E | R | T | L1 | | [ | Y | U | I | O | P | \ |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | Caps | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
+ * |--------+------+------+------+------+------| L2 | | ] |------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | Up |
+ * `--------+------+------+---------------------------' `---------------------------+------+------+--------'
+ * | Ctrl | Super| Alt | | Left | Down| Right |
+ * `--------------------' `--------------------'
+ * ,------|------. ,---------------.
+ * | | PgUp | | Home | |
+ * | Space|------| |------| Enter |
+ * | | PgDn | | End | |
+ * `-------------' `---------------'
+ */
+#define LAYOUT( \
+ K29,K1E,K1F,K20,K21,K22,K2D, K2E,K23,K24,K25,K26,K27,K2A,\
+ K2B,K14,K1A,K08,K15,K17,K4B, K2F,K1C,K18,K0C,K12,K13,K31,\
+ K39,K04,K16,K07,K09,K0A, K0B,K0D,K0E,K0F,K33,K34,\
+ KE1,K1D,K1B,K06,K19,K05,K4E, K30,K11,K10,K36,K37,K52,KE5,\
+ KE0,KE3,KE2, K50,K51,K4F,\
+ K2C,K49, K4A,K28, \
+ KE6,K4C, K4D,KE4 \
+) LAYOUT_ALL( \
+ KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, \
+ K29, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,\
+ KC_NO,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K2D,K2E,KC_NO,K2A, K49,K4A,K4B, KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO, \
+ K2B,K14,K1A,K08,K15,K17,K1C,K18,K0C,K12,K13,K2F,K30, K31, K4C,K4D,K4E, KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO, \
+ K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34, KC_NO,K28, KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO, \
+ KE1,KC_NO,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,KC_NO, KC_NO,KE5, K52, KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO, \
+ KE0,KE3,KE2,KC_NO,KC_NO, K2C, KC_NO,KC_NO,KC_NO,KE6,KC_NO,KC_NO,KE4, K50,K51,K4F, KC_NO, KC_NO,KC_NO, KC_NO,KC_NO \
+)
+#endif
diff --git a/keyboards/sixkeyboard/config.h b/keyboards/sixkeyboard/config.h
index 4ce25c67091..3a672788bd6 100644
--- a/keyboards/sixkeyboard/config.h
+++ b/keyboards/sixkeyboard/config.h
@@ -46,7 +46,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-
/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */
#define FORCE_NKRO
@@ -56,11 +55,6 @@ along with this program. If not, see .
* if your keyboard/keypad is missing keys and you want magic key support.
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/sixshooter/config.h b/keyboards/sixshooter/config.h
index 163a3ab431b..3c4fd96998c 100644
--- a/keyboards/sixshooter/config.h
+++ b/keyboards/sixshooter/config.h
@@ -31,7 +31,6 @@
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -68,11 +67,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/skog/config.h b/keyboards/skog/config.h
index dea3e28e88a..f518da8c9b0 100644
--- a/keyboards/skog/config.h
+++ b/keyboards/skog/config.h
@@ -36,7 +36,4 @@ along with this program. If not, see .
#define NO_UART 1
#define BOOTLOADHID_BOOTLOADER 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/snagpad/config.h b/keyboards/snagpad/config.h
index 03906f33f58..d0c55cf971f 100644
--- a/keyboards/snagpad/config.h
+++ b/keyboards/snagpad/config.h
@@ -37,15 +37,9 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* prevent stuck modifiers */
//#define STRICT_LAYER_RELEASE
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/sol/rev1/config.h b/keyboards/sol/rev1/config.h
index fc91b8d4994..bfdadf9f6c6 100644
--- a/keyboards/sol/rev1/config.h
+++ b/keyboards/sol/rev1/config.h
@@ -19,7 +19,6 @@ along with this program. If not, see .
#ifndef REV1_CONFIG_H
#define REV1_CONFIG_H
-
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x3060
@@ -28,7 +27,6 @@ along with this program. If not, see .
#define PRODUCT Sol
#define DESCRIPTION "An RGB, split, ortho-esque keyboard"
-
#define PREVENT_STUCK_MODIFIERS
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 150
@@ -76,11 +74,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN B3
#define RGBLIGHT_TIMER
@@ -151,5 +144,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/southpole/config.h b/keyboards/southpole/config.h
new file mode 100644
index 00000000000..5992a360f5a
--- /dev/null
+++ b/keyboards/southpole/config.h
@@ -0,0 +1,46 @@
+#pragma once
+
+//#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0001
+#define MANUFACTURER u/waxpoetic
+#define PRODUCT southpole
+#define DESCRIPTION southpaw keyboard, left hand numpad
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 20
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { D2, D3, C6, C7, D5 }
+#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D0, D1, F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6, D4, E6 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+
+#ifdef BACKLIGHT_PIN
+#define BACKLIGHT_LEVELS 0
+#endif
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+#define RGBLED_NUM 0
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#endif
\ No newline at end of file
diff --git a/keyboards/southpole/keymaps/default/keymap.c b/keyboards/southpole/keymaps/default/keymap.c
new file mode 100644
index 00000000000..78cb81f4ba6
--- /dev/null
+++ b/keyboards/southpole/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ LAYOUT(
+ KC_NLCK, KC_SLSH, KC_ASTR, KC_MINS, KC_ESC, 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_BSLS, KC_DEL, KC_HOME, \
+ KC_7, KC_8, KC_9, KC_PLUS, 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_BSPC, KC_PGUP, \
+ KC_4, KC_5, KC_6, KC_ENT, 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_ENT, KC_PGDN, \
+ KC_1, KC_2, KC_3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_END, \
+ KC_0, KC_DOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), \
+
+ LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, RESET, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
+ )
+
+};
+
+void matrix_init_user(void) {
+}
+
+void matrix_scan_user(void) {
+}
diff --git a/keyboards/southpole/keymaps/foobeard/keymap.c b/keyboards/southpole/keymaps/foobeard/keymap.c
new file mode 100644
index 00000000000..ef2710d0a3b
--- /dev/null
+++ b/keyboards/southpole/keymaps/foobeard/keymap.c
@@ -0,0 +1,72 @@
+/*
+Base Copyright 2017 Luiz Ribeiro
+Modified 2017 Andrew Novak
+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 LicensezZZ
+along with this program. If not, see .
+*/
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _RAISE
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+};
+
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Layer 0, default layer
+ * ,--------------------------------------------------------------------------------------------------------------------------------------------.
+ * |NumLck| / | * | - | | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ |Delete| Ins |
+ * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
+ * | 7 | 8 | 9 | + | | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | BkSpc | Vol+ |
+ * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
+ * | 4 | 5 | 6 | + | | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Return | Vol- |
+ * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
+ * | 1 | 2 | 3 | En | | LShft | Z | X | C | V | B | N | M | , | . | / | RShft | Up | Mute |
+ * |------+------+------+------+-+----------------------------------------------------------------------------------------------+--------+------|
+ * | 0 | . | En | | Ctrl | Win | Alt | Space | Fn | | Left | Down | Right|
+ * `------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, 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_BSLS, KC_DELETE, KC_INS, \
+ KC_P7, KC_P8, KC_P9, KC_PPLS, 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_BSPC, KC_VOLU, \
+ KC_P4, KC_P5, KC_P6, KC_PENT, 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_VOLD, \
+ KC_P1, KC_P2, KC_P3, 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_MUTE, \
+ KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RGHT \
+ ),
+
+ /*layer 1, function layer
+ * ,--------------------------------------------------------------------------------------------------------------------------------------------.
+ * |Reset | | | | | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | |Calc |
+ * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
+ * | | | | | | | | | | | | | | | | | | | | |
+ * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
+ * | | | | | | | | | | | | | | | | | | | |
+ * |------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------|
+ * | | | | | | | | | | | | | | | | | | | |
+ * |------+------+------+------+-+----------------------------------------------------------------------------------------------+--------+------|
+ * | | | | | | | | | | | | | |
+ * `------+------+------+------+-+-------------------------------------------------------------------------------------------------------+------'
+ */
+
+ [_RAISE] = LAYOUT(
+ RESET, _______, _______, _______, 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_CALC, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ )
+};
\ No newline at end of file
diff --git a/keyboards/southpole/readme.md b/keyboards/southpole/readme.md
new file mode 100644
index 00000000000..4ea99ad349c
--- /dev/null
+++ b/keyboards/southpole/readme.md
@@ -0,0 +1,13 @@
+# Southpole
+[Southpole](https://imgur.com/a/MZ2wdYt)
+
+PCB designed by u/waxpoetic for a southpaw style board with an hhkb style layout.
+
+Keyboard Maintainer: ericduns
+Hardware Supported: Teensy 2.0
+
+Make example for this keyboard (after setting up your build environment):
+
+ make southpole:default
+
+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).
\ No newline at end of file
diff --git a/keyboards/southpole/rules.mk b/keyboards/southpole/rules.mk
new file mode 100644
index 00000000000..356b75bb6cb
--- /dev/null
+++ b/keyboards/southpole/rules.mk
@@ -0,0 +1,56 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Boot Section Size in *bytes*
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+# comment out to disable the options.
+#
+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+#AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = no
\ No newline at end of file
diff --git a/keyboards/southpole/southpole.c b/keyboards/southpole/southpole.c
new file mode 100644
index 00000000000..f345893fb50
--- /dev/null
+++ b/keyboards/southpole/southpole.c
@@ -0,0 +1 @@
+#include "southpole.h"
diff --git a/keyboards/southpole/southpole.h b/keyboards/southpole/southpole.h
new file mode 100644
index 00000000000..99cf2ce7b55
--- /dev/null
+++ b/keyboards/southpole/southpole.h
@@ -0,0 +1,18 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K119, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K219, \
+ K300, K301, K302, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K319, \
+ K401, K402, K404, K405, K406, K409, K413, K415, K416, K419 \
+) \
+ { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, KC_NO, K119 }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, KC_NO, KC_NO, K219 }, \
+ { K300, K301, K302, KC_NO, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, KC_NO, KC_NO, K319 }, \
+ { KC_NO, K401, K402, KC_NO, K404, K405, K406, KC_NO, KC_NO, K409, KC_NO, KC_NO, KC_NO, K413, KC_NO, K415, K416, KC_NO, KC_NO, K419 } \
+}
diff --git a/keyboards/speedo/config.h b/keyboards/speedo/config.h
index 6d6a3f7c803..8670cceca89 100644
--- a/keyboards/speedo/config.h
+++ b/keyboards/speedo/config.h
@@ -54,7 +54,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -106,11 +105,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/subatomic/config.h b/keyboards/subatomic/config.h
index 592434aabb0..d4ace70d832 100644
--- a/keyboards/subatomic/config.h
+++ b/keyboards/subatomic/config.h
@@ -59,11 +59,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/sx60/config.h b/keyboards/sx60/config.h
index 52a1cc7a18e..cad8b0ba455 100755
--- a/keyboards/sx60/config.h
+++ b/keyboards/sx60/config.h
@@ -21,8 +21,6 @@
#define MATRIX_COL_PINS { F6, B5, B4, D7, D6, D5, D3, D2 }
#define UNUSED_PINS
-
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -41,11 +39,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/sx60/matrix.c b/keyboards/sx60/matrix.c
index e91b4f44188..634a98a12c0 100644
--- a/keyboards/sx60/matrix.c
+++ b/keyboards/sx60/matrix.c
@@ -137,7 +137,7 @@ void matrix_init(void) {
uint8_t matrix_scan(void)
{
- if (mcp23018_status) {
+ if (mcp23018_status) {
/* if there was an error */
if (++mcp23018_reset_loop == 0) {
/* since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans
@@ -190,7 +190,7 @@ bool matrix_is_modified(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 4
diff --git a/keyboards/tanuki/config.h b/keyboards/tanuki/config.h
index 1e42f13d4ff..6d728b595c7 100644
--- a/keyboards/tanuki/config.h
+++ b/keyboards/tanuki/config.h
@@ -47,11 +47,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN D1
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 5
@@ -59,7 +54,6 @@ along with this program. If not, see .
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
-
#define TAPPING_TERM 200
/*
* Feature disable options
diff --git a/keyboards/telophase/config.h b/keyboards/telophase/config.h
index be0a3697737..473949ee1e8 100644
--- a/keyboards/telophase/config.h
+++ b/keyboards/telophase/config.h
@@ -41,12 +41,6 @@ along with this program. If not, see .
#define ONESHOT_TIMEOUT 500
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/telophase/matrix.c b/keyboards/telophase/matrix.c
index b3544453e72..c332eba556c 100644
--- a/keyboards/telophase/matrix.c
+++ b/keyboards/telophase/matrix.c
@@ -112,7 +112,7 @@ uint8_t matrix_scan(void)
if (timeout > 10000){
break;
}
- }
+ }
uart_data[i] = SERIAL_UART_DATA;
}
@@ -134,7 +134,7 @@ uint8_t matrix_scan(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
diff --git a/keyboards/the_ruler/config.h b/keyboards/the_ruler/config.h
index e72875c7662..c340019be7d 100644
--- a/keyboards/the_ruler/config.h
+++ b/keyboards/the_ruler/config.h
@@ -49,7 +49,6 @@ along with this program. If not, see .
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -96,11 +95,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -155,7 +149,6 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#define RGB_DI_PIN E6 // The pin your RGB strip is wired to
#define RGBLED_NUM 1 // Number of LEDs
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/thevankeyboards/bananasplit/config.h b/keyboards/thevankeyboards/bananasplit/config.h
index 5649ab4aa64..a96c59dbb8a 100644
--- a/keyboards/thevankeyboards/bananasplit/config.h
+++ b/keyboards/thevankeyboards/bananasplit/config.h
@@ -56,13 +56,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/thevankeyboards/minivan/config.h b/keyboards/thevankeyboards/minivan/config.h
index 726768e0ec9..38207d38d89 100644
--- a/keyboards/thevankeyboards/minivan/config.h
+++ b/keyboards/thevankeyboards/minivan/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/thevankeyboards/roadkit/config.h b/keyboards/thevankeyboards/roadkit/config.h
index 9596f7f3b22..3f717803989 100644
--- a/keyboards/thevankeyboards/roadkit/config.h
+++ b/keyboards/thevankeyboards/roadkit/config.h
@@ -53,7 +53,6 @@ along with this program. If not, see .
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -100,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/tkc1800/config.h b/keyboards/tkc1800/config.h
index 92a5f1b38bd..2f45d04dea6 100644
--- a/keyboards/tkc1800/config.h
+++ b/keyboards/tkc1800/config.h
@@ -100,11 +100,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/tmo50/config.h b/keyboards/tmo50/config.h
index cf6a3fbf37e..780a530263f 100644
--- a/keyboards/tmo50/config.h
+++ b/keyboards/tmo50/config.h
@@ -124,11 +124,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -205,4 +200,3 @@ along with this program. If not, see .
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
diff --git a/keyboards/toad/config.h b/keyboards/toad/config.h
index f1d32c15b6f..f750b52bfb3 100644
--- a/keyboards/toad/config.h
+++ b/keyboards/toad/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/tokyo60/config.h b/keyboards/tokyo60/config.h
index 16927be17e0..fddb37d2829 100644
--- a/keyboards/tokyo60/config.h
+++ b/keyboards/tokyo60/config.h
@@ -31,11 +31,6 @@
/* Set power consumption to work with mobile devices */
#define USB_MAX_POWER_CONSUMPTION 100
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* key matrix pins */
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B2, B5, B4, D7, D6, B3 }
diff --git a/keyboards/touchpad/config.h b/keyboards/touchpad/config.h
index 8d34daae129..8e93c9427f3 100644
--- a/keyboards/touchpad/config.h
+++ b/keyboards/touchpad/config.h
@@ -46,11 +46,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/tragicforce68/config.h b/keyboards/tragicforce68/config.h
index 9afdca61407..2a7f3de0f21 100644
--- a/keyboards/tragicforce68/config.h
+++ b/keyboards/tragicforce68/config.h
@@ -61,9 +61,4 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/treasure/type9/config.h b/keyboards/treasure/type9/config.h
index 367c53cb978..435325f6c4a 100644
--- a/keyboards/treasure/type9/config.h
+++ b/keyboards/treasure/type9/config.h
@@ -112,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -221,4 +216,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/uk78/config.h b/keyboards/uk78/config.h
index 34d67207929..eff8d1d6207 100644
--- a/keyboards/uk78/config.h
+++ b/keyboards/uk78/config.h
@@ -55,11 +55,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812b options */
#define RGB_DI_PIN F6
#ifdef RGB_DI_PIN
diff --git a/keyboards/v60_type_r/config.h b/keyboards/v60_type_r/config.h
index 1f3ebcd5160..34eb128537f 100644
--- a/keyboards/v60_type_r/config.h
+++ b/keyboards/v60_type_r/config.h
@@ -63,7 +63,6 @@ along with this program. If not, see .
#define RGB_DI_PIN 0
#define RGB_STEP 16
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -115,11 +114,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/vinta/config.h b/keyboards/vinta/config.h
index 5f6ea7f06b3..81a661f168b 100644
--- a/keyboards/vinta/config.h
+++ b/keyboards/vinta/config.h
@@ -63,8 +63,3 @@
* useful if your keyboard/keypad is missing keys and you want magic key support.
*
*/
-
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
diff --git a/keyboards/vision_division/config.h b/keyboards/vision_division/config.h
index 5798d91adf6..c80a011e2aa 100644
--- a/keyboards/vision_division/config.h
+++ b/keyboards/vision_division/config.h
@@ -22,7 +22,6 @@ along with this program. If not, see .
// Due to the configurability of this keyboard, matrix sizes are determined in the keymap's config.h
-
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
@@ -78,11 +77,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -137,7 +131,6 @@ along with this program. If not, see .
/* Only print user print statements */
// #define USER_PRINT
-
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
diff --git a/keyboards/vitamins_included/rev1/config.h b/keyboards/vitamins_included/rev1/config.h
index 0347477eea5..7112c789177 100644
--- a/keyboards/vitamins_included/rev1/config.h
+++ b/keyboards/vitamins_included/rev1/config.h
@@ -52,11 +52,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN F0
@@ -86,5 +81,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
#endif
diff --git a/keyboards/viterbi/rev1/config.h b/keyboards/viterbi/rev1/config.h
index d6a66408efa..c7707fa0f12 100644
--- a/keyboards/viterbi/rev1/config.h
+++ b/keyboards/viterbi/rev1/config.h
@@ -54,11 +54,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/wavelet/config.h b/keyboards/wavelet/config.h
index ac6c9669692..eed2b7944de 100644
--- a/keyboards/wavelet/config.h
+++ b/keyboards/wavelet/config.h
@@ -46,11 +46,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
diff --git a/keyboards/westfoxtrot/cyclops/config.h b/keyboards/westfoxtrot/cyclops/config.h
index f54f818d533..65107c30a14 100644
--- a/keyboards/westfoxtrot/cyclops/config.h
+++ b/keyboards/westfoxtrot/cyclops/config.h
@@ -99,11 +99,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/whitefox/config.h b/keyboards/whitefox/config.h
index a8047cf54f4..87af4edcfcb 100644
--- a/keyboards/whitefox/config.h
+++ b/keyboards/whitefox/config.h
@@ -46,11 +46,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* Keymap for Infinity prototype */
//#define INFINITY_PROTOTYPE
diff --git a/keyboards/whitefox/keymaps/konstantin/config.h b/keyboards/whitefox/keymaps/konstantin/config.h
index d7a072b06fa..1364fe8a28c 100644
--- a/keyboards/whitefox/keymaps/konstantin/config.h
+++ b/keyboards/whitefox/keymaps/konstantin/config.h
@@ -1,7 +1,6 @@
#pragma once
+#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RCTL)))
+
#define LAYER_FN
#define LAYER_NUMPAD
-
-#undef IS_COMMAND
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RCTL)))
diff --git a/keyboards/wilba_tech/wt60_a/config.h b/keyboards/wilba_tech/wt60_a/config.h
index 9eff7d7f1bd..0ca896d5ec3 100644
--- a/keyboards/wilba_tech/wt60_a/config.h
+++ b/keyboards/wilba_tech/wt60_a/config.h
@@ -51,7 +51,6 @@
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -103,11 +102,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/wilba_tech/wt65_a/config.h b/keyboards/wilba_tech/wt65_a/config.h
index 88366edc049..59c1d04a1ba 100644
--- a/keyboards/wilba_tech/wt65_a/config.h
+++ b/keyboards/wilba_tech/wt65_a/config.h
@@ -51,7 +51,6 @@
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -103,11 +102,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/wilba_tech/wt80_a/config.h b/keyboards/wilba_tech/wt80_a/config.h
index 7c15e4a5b13..36f5c957468 100644
--- a/keyboards/wilba_tech/wt80_a/config.h
+++ b/keyboards/wilba_tech/wt80_a/config.h
@@ -51,7 +51,6 @@
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -103,11 +102,6 @@
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/xd60/config.h b/keyboards/xd60/config.h
index 4bbaec882d4..6c447b89ff4 100644
--- a/keyboards/xd60/config.h
+++ b/keyboards/xd60/config.h
@@ -71,9 +71,4 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#endif
diff --git a/keyboards/xd75/config.h b/keyboards/xd75/config.h
index af7573cb6a3..482edc9c1dd 100644
--- a/keyboards/xd75/config.h
+++ b/keyboards/xd75/config.h
@@ -52,7 +52,6 @@ along with this program. If not, see .
#define BACKLIGHT_PIN F5
#define BACKLIGHT_LEVELS 6
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCING_DELAY 5
@@ -99,11 +98,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
diff --git a/keyboards/xd87/config.h b/keyboards/xd87/config.h
index 3682af7409f..7af3d03579a 100644
--- a/keyboards/xd87/config.h
+++ b/keyboards/xd87/config.h
@@ -42,7 +42,6 @@ along with this program. If not, see .
*
*/
-
#define MATRIX_ROW_PINS { D1, B0, B1, C7, D3, D5 }
#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B5, B6, C6, D4, D6, D7, B4, B2, B3, D2 }
@@ -115,11 +114,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -224,4 +218,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/xmmx/config.h b/keyboards/xmmx/config.h
index 8cb2cf82df9..c08829ce3c0 100644
--- a/keyboards/xmmx/config.h
+++ b/keyboards/xmmx/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/yd68/config.h b/keyboards/yd68/config.h
index 1b4d7f7a133..811e35c0d22 100644
--- a/keyboards/yd68/config.h
+++ b/keyboards/yd68/config.h
@@ -112,11 +112,6 @@ along with this program. If not, see .
*
*/
-/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
@@ -221,4 +216,3 @@ along with this program. If not, see .
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
-
diff --git a/keyboards/ymd75/config.h b/keyboards/ymd75/config.h
index 748f43f26eb..36031eebf5d 100644
--- a/keyboards/ymd75/config.h
+++ b/keyboards/ymd75/config.h
@@ -48,7 +48,4 @@ along with this program. If not, see .
#define NO_UART 1
#define BOOTLOADHID_BOOTLOADER 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/ymd96/config.h b/keyboards/ymd96/config.h
index 1e9497fac69..51d42603dcb 100644
--- a/keyboards/ymd96/config.h
+++ b/keyboards/ymd96/config.h
@@ -54,7 +54,4 @@ along with this program. If not, see .
#define NO_UART 1
#define BOOTLOADHID_BOOTLOADER 1*/
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/ymd96/keymaps/AnthonyWharton/config.h b/keyboards/ymd96/keymaps/AnthonyWharton/config.h
index 715e2c9a5fd..e730e99b273 100644
--- a/keyboards/ymd96/keymaps/AnthonyWharton/config.h
+++ b/keyboards/ymd96/keymaps/AnthonyWharton/config.h
@@ -57,7 +57,3 @@ along with this program. If not, see .
#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM
#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 500
-
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
diff --git a/keyboards/ymdk_np21/config.h b/keyboards/ymdk_np21/config.h
index 2b358113d43..5982b6c5309 100644
--- a/keyboards/ymdk_np21/config.h
+++ b/keyboards/ymdk_np21/config.h
@@ -48,7 +48,4 @@ along with this program. If not, see .
#define RGB_DI_PIN E2 // NOTE: for PS2AVRGB boards, underglow commands are sent via I2C to 0xB0.
#define RGBLIGHT_ANIMATIONS
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
#endif
diff --git a/keyboards/z150_blackheart/config.h b/keyboards/z150_blackheart/config.h
index 36215365226..c8a38b0388f 100644
--- a/keyboards/z150_blackheart/config.h
+++ b/keyboards/z150_blackheart/config.h
@@ -34,11 +34,6 @@
/* force n-key rollover*/
#define FORCE_NKRO
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 0
diff --git a/keyboards/zeal60/config.h b/keyboards/zeal60/config.h
index 6f3d43473fb..e39b06cf6b2 100644
--- a/keyboards/zeal60/config.h
+++ b/keyboards/zeal60/config.h
@@ -49,11 +49,6 @@
// Locking resynchronize hack
#define LOCKING_RESYNC_ENABLE
-// key combination for command
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
@@ -126,4 +121,3 @@
#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 626
#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 398
#define DYNAMIC_KEYMAP_MACRO_COUNT 16
-
diff --git a/keyboards/zeal65/config.h b/keyboards/zeal65/config.h
index 24aae5e3681..7406be865b0 100644
--- a/keyboards/zeal65/config.h
+++ b/keyboards/zeal65/config.h
@@ -49,11 +49,6 @@
// Locking resynchronize hack
#define LOCKING_RESYNC_ENABLE
-// key combination for command
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
@@ -126,4 +121,3 @@
#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 666
#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 358
#define DYNAMIC_KEYMAP_MACRO_COUNT 16
-
diff --git a/keyboards/zen/rev1/config.h b/keyboards/zen/rev1/config.h
index 890d3075703..f480cadcc51 100644
--- a/keyboards/zen/rev1/config.h
+++ b/keyboards/zen/rev1/config.h
@@ -54,15 +54,9 @@ along with this program. If not, see .
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define BACKLIGHT_PIN F4
#define BACKLIGHT_LEVELS 5
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D1
diff --git a/keyboards/zinc/rev1/config.h b/keyboards/zinc/rev1/config.h
index c628400f2e9..370b5c20301 100644
--- a/keyboards/zinc/rev1/config.h
+++ b/keyboards/zinc/rev1/config.h
@@ -29,7 +29,6 @@ along with this program. If not, see .
#define PRODUCT zinc rev.1
#define DESCRIPTION A split keyboard
-
#define PREVENT_STUCK_MODIFIERS
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
@@ -44,7 +43,6 @@ along with this program. If not, see .
//#define MASTER_RIGHT
//#define EE_HANDS
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
@@ -68,11 +66,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#define RGBLIGHT_TIMER
@@ -145,5 +138,4 @@ along with this program. If not, see .
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
//#endif
diff --git a/keyboards/zinc/reva/config.h b/keyboards/zinc/reva/config.h
index 15805189054..f4277f71387 100644
--- a/keyboards/zinc/reva/config.h
+++ b/keyboards/zinc/reva/config.h
@@ -26,7 +26,6 @@ along with this program. If not, see .
#define PRODUCT zinc rev.A
#define DESCRIPTION A split keyboard
-
#define PREVENT_STUCK_MODIFIERS
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 100
@@ -41,7 +40,6 @@ along with this program. If not, see .
//#define MASTER_RIGHT
//#define EE_HANDS
-
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 8
@@ -65,11 +63,6 @@ along with this program. If not, see .
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#define RGBLIGHT_TIMER
diff --git a/keyboards/zlant/config.h b/keyboards/zlant/config.h
index ae9dcfef67e..8732a6d371b 100755
--- a/keyboards/zlant/config.h
+++ b/keyboards/zlant/config.h
@@ -38,11 +38,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
#define RGB_DI_PIN D6
#ifdef RGB_DI_PIN
#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/zlant/keymaps/default/keymap.c b/keyboards/zlant/keymaps/default/keymap.c
index a701a7965a2..37f031f015a 100755
--- a/keyboards/zlant/keymaps/default/keymap.c
+++ b/keyboards/zlant/keymaps/default/keymap.c
@@ -11,12 +11,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_ESC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \
RGB_HUI, RGB_HUD, KC_LGUI, KC_LALT, KC_LSFT, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
),
-
+ /* BASE LAYER
+ * ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Bspc │
+ * └┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┐
+ * │ LCtrl│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │
+ * └┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┐
+ * │ Esc │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Enter│
+ * └┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴──────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┐
+ * │LED H+│LED H-│ LGUI │ LAlt │LShift│ Space │ Fn │ Left │ Down │ Up │ Right│
+ * └──────┴──────┴──────┴──────┴──────┴─────────────┴──────┴──────┴──────┴──────┴──────┘
+ */
[FN] = LAYOUT(
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PGUP, KC_HOME, _______, _______, \
RGB_VAI, RGB_VAD, RESET, KC_PSCR, _______, _______, _______, _______, KC_PGDN, KC_END, _______, KC_DEL \
)
-
-};
+};
+ /* FN LAYER
+ * ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
+ * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │
+ * └┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┐
+ * │ │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ - │ = │ [ │ ] │ \ │
+ * └┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┐
+ * │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ PgUp │ Home │ │ │
+ * └┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴──────┴┬─────┴┬─────┴┬─────┴┬─────┴┬─────┴┐
+ * │LED V+│LED V-│ Reset│ PScr │ │ │ │ PgDn │ End │ │ Del │
+ * └──────┴──────┴──────┴──────┴──────┴─────────────┴──────┴──────┴──────┴──────┴──────┘
+ */
diff --git a/layouts/community/60_ansi/stanrc85-ansi/config.h b/layouts/community/60_ansi/stanrc85-ansi/config.h
new file mode 100644
index 00000000000..77f0b2e7294
--- /dev/null
+++ b/layouts/community/60_ansi/stanrc85-ansi/config.h
@@ -0,0 +1,6 @@
+#pragma once
+
+#define TAPPING_TERM 200
+#define RETRO_TAPPING
+
+//#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/layouts/community/60_ansi/stanrc85-ansi/keymap.c b/layouts/community/60_ansi/stanrc85-ansi/keymap.c
new file mode 100644
index 00000000000..e56078a971d
--- /dev/null
+++ b/layouts/community/60_ansi/stanrc85-ansi/keymap.c
@@ -0,0 +1,70 @@
+/* Copyright 2018 Stanrc85
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
+#define DEFAULT 0 //Custom ANSI
+#define LAYER1 1 //Default ANSI (enable with Fn2+D)
+#define LAYER2 2 //F keys, arrows, custom shortcuts, volume control
+#define LAYER3 3 //Backlight controls and RESET
+
+#define KC_CAD LALT(LCTL(KC_DEL))
+#define KC_LOCK LGUI(KC_L)
+
+//Tap Dance Declarations
+enum {
+ TD_WIN = 0,
+ TD_ESC
+};
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_WIN] = ACTION_TAP_DANCE_DOUBLE(KC_CAD, KC_LOCK),
+ [TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_GRV)
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_60_ansi(
+ TD(TD_ESC), 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_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,
+ LT(2, KC_ESC), 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, LT(2, KC_SPC), KC_RALT, TD(TD_WIN), MO(3), KC_RCTL),
+
+ [1] = LAYOUT_60_ansi(
+ KC_GRV, 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_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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(2), MO(3), KC_RCTL),
+
+ [2] = LAYOUT_60_ansi(
+ KC_TILD, 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,
+ _______, _______, LCA(KC_QUOT), KC_VOLU, LCA(KC_SCLN), _______, _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, RESET,
+ KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_MPLY, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______),
+
+ [3] = LAYOUT_60_ansi(
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ KC_CAPS, _______, _______, TG(1), _______, _______, BL_STEP, BL_DEC, BL_INC, BL_TOGG, _______, _______, _______,
+ _______, _______, _______, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, RGB_MOD, RGB_TOG, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______)
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
diff --git a/layouts/community/60_ansi/stanrc85-ansi/readme.md b/layouts/community/60_ansi/stanrc85-ansi/readme.md
new file mode 100644
index 00000000000..620d0775a04
--- /dev/null
+++ b/layouts/community/60_ansi/stanrc85-ansi/readme.md
@@ -0,0 +1,14 @@
+# Stanrc85's Standard ANSI 60% Layout
+
+Shared keymap between two 60% PCB:
+- 1upkeyboards60HSE
+- DZ60 (hotswap)
+
+## Keymap Notes
+- Layer 0 is custom ANSI layout with SpaceFN, EscFN on CAPS, Tap Dance on Fn1 key for CTRL+ALT+DEL and WIN+L
+- Layer 1 is default ANSI (enable with Fn2+D)
+- Layer 2 is F keys, arrows, volume controls and custom shortcuts for AHK
+- Layer 3 is backlight control and RESET
+
+### Build
+To build the firmware file associated with this keymap, simply run `make your_keyboard:stanrc85-ansi`.
diff --git a/layouts/community/60_ansi/stanrc85-ansi/rules.mk b/layouts/community/60_ansi/stanrc85-ansi/rules.mk
new file mode 100644
index 00000000000..e5ddcae8d92
--- /dev/null
+++ b/layouts/community/60_ansi/stanrc85-ansi/rules.mk
@@ -0,0 +1 @@
+TAP_DANCE_ENABLE = yes
diff --git a/layouts/community/ergodox/erez_experimental/keymap.c b/layouts/community/ergodox/erez_experimental/keymap.c
index 481f984d5d1..1270188f975 100644
--- a/layouts/community/ergodox/erez_experimental/keymap.c
+++ b/layouts/community/ergodox/erez_experimental/keymap.c
@@ -142,12 +142,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols)
- [2] = ACTION_MACRO_TAP(0), // Eric Tang's Famous Macro!
- [3] = ACTION_MACRO_TAP(1) // Eric Tang's Famous Macro!
-};
-
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
return MACRO_NONE;
diff --git a/layouts/community/ergodox/reset_eeprom/keymap.c b/layouts/community/ergodox/reset_eeprom/keymap.c
index c960af9cb93..9033205b98c 100644
--- a/layouts/community/ergodox/reset_eeprom/keymap.c
+++ b/layouts/community/ergodox/reset_eeprom/keymap.c
@@ -60,10 +60,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
-};
-
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
diff --git a/layouts/community/ergodox/robot_test_layout/keymap.c b/layouts/community/ergodox/robot_test_layout/keymap.c
index 5d672deeb99..07b294a9856 100644
--- a/layouts/community/ergodox/robot_test_layout/keymap.c
+++ b/layouts/community/ergodox/robot_test_layout/keymap.c
@@ -43,12 +43,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_LAYER_TAP_TOGGLE(1)
-};
-
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch(id) {
diff --git a/layouts/community/ergodox/win10_writers-block/config.h b/layouts/community/ergodox/win10_writers-block/config.h
index ed6170369e0..b0b4a1ebb96 100644
--- a/layouts/community/ergodox/win10_writers-block/config.h
+++ b/layouts/community/ergodox/win10_writers-block/config.h
@@ -3,10 +3,10 @@
#include QMK_KEYBOARD_CONFIG_H
-#undef MOUSEKEY_DELAY
-#undef MOUSEKEY_INTERVAL
-#undef MOUSEKEY_MAX_SPEED
-#undef MOUSEKEY_TIME_TO_MAX
+#undef MOUSEKEY_DELAY
+#undef MOUSEKEY_INTERVAL
+#undef MOUSEKEY_MAX_SPEED
+#undef MOUSEKEY_TIME_TO_MAX
#define MOUSEKEY_DELAY 100
#define MOUSEKEY_INTERVAL 20
@@ -28,8 +28,8 @@
/* key combination for command */
#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+ get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+ get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
)
#endif /* KEYBOARDS_ERGODOX_CONFIG_H_ */
diff --git a/layouts/community/ortho_5x12/rs/config.h b/layouts/community/ortho_5x12/rs/config.h
new file mode 100644
index 00000000000..02076e8728d
--- /dev/null
+++ b/layouts/community/ortho_5x12/rs/config.h
@@ -0,0 +1,35 @@
+#pragma once
+
+#ifdef AUDIO_ENABLE
+//#define STARTUP_SONG SONG(PREONIC_SOUND)
+#define STARTUP_SONG SONG(NO_SOUND)
+
+#define DEFAULT_LAYER_SONGS \
+ { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) }
+#endif
+
+#define MUSIC_MASK (keycode != KC_NO)
+
+/*
+ * MIDI options
+ */
+
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
+
+/* enable basic MIDI features:
+ - MIDI notes can be sent when in Music mode is on
+*/
+
+#define MIDI_BASIC
+
+/* enable advanced MIDI features:
+ - MIDI notes can be added to the keymap
+ - Octave shift and transpose
+ - Virtual sustain, portamento, and modulation wheel
+ - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
diff --git a/layouts/community/ortho_5x12/rs/karabiner.json b/layouts/community/ortho_5x12/rs/karabiner.json
new file mode 100644
index 00000000000..f5214650ade
--- /dev/null
+++ b/layouts/community/ortho_5x12/rs/karabiner.json
@@ -0,0 +1,154 @@
+{
+ "title": "RS",
+ "rules": [{
+ "description": "CapsLock to Escape / Control Mod-Tap",
+ "manipulators": [{
+ "type": "basic",
+ "from": {
+ "key_code": "caps_lock",
+ "modifiers": {
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "left_control"}],
+ "to_if_alone": [{"key_code": "escape"}]
+ }]
+ },
+ {
+ "description": "Right-Shift / Enter Mod-Tap",
+ "manipulators": [{
+ "type": "basic",
+ "from": {
+ "key_code": "right_shift",
+ "modifiers": {
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "right_shift"}],
+ "to_if_alone": [{"key_code": "return_or_enter"}]
+ }]
+ },
+ {
+ "description": "Right-Command / Backspace Mod-Tap",
+ "manipulators": [{
+ "type": "basic",
+ "from": {
+ "key_code": "right_command",
+ "modifiers": {
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "right_command"}],
+ "to_if_alone": [{"key_code": "delete_or_backspace"}]
+ }]
+ },
+ {
+ "description": "Right-Command Accents",
+ "manipulators": [
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "a",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["left_shift", "right_shift"]
+ }
+ },
+ "to": [
+ {"key_code": "grave_accent_and_tilde", "modifiers": ["left_option"]},
+ {"key_code": "a"}
+ ]
+ }]
+ },
+ {
+ "description": "Right Command Navigation",
+ "manipulators": [{
+ "type": "basic",
+ "from": {
+ "key_code": "j",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "left_arrow"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "k",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "down_arrow"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "i",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "up_arrow"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "l",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "right_arrow"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "e",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "page_up"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "d",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "page_down"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "s",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "home"}]
+ },
+ {
+ "type": "basic",
+ "from": {
+ "key_code": "f",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{"key_code": "end"}]
+ }]
+ }]
+}
diff --git a/layouts/community/ortho_5x12/rs/keymap.c b/layouts/community/ortho_5x12/rs/keymap.c
new file mode 100644
index 00000000000..f33dcc25363
--- /dev/null
+++ b/layouts/community/ortho_5x12/rs/keymap.c
@@ -0,0 +1,63 @@
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _HYPER,
+};
+
+#define KC_ KC_TRNS
+
+#define KC_ESCC MT(MOD_LCTL, KC_ESC)
+#define KC_RST RESET
+#define KC_BSPH LT(_HYPER, KC_BSPC)
+#define KC_ENTS MT(MOD_LSFT, KC_ENT)
+// Brightness
+#define KC_BRUP KC_PAUS
+#define KC_BRDN KC_SLCK
+
+// Used to create a keymap using only KC_ prefixed keys
+#define LAYOUT_kc( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
+ ) \
+ LAYOUT_ortho_5x12( \
+ KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b, \
+ KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b, \
+ KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b, \
+ KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b, \
+ KC_##k40, KC_##k41, KC_##k42, KC_##k43, KC_##k44, KC_##k45, KC_##k46, KC_##k47, KC_##k48, KC_##k49, KC_##k4a, KC_##k4b \
+ )
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_kc( \
+ // ,-----------------------------------------------------------------------------------.
+ GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , MINS ,
+ // |------+------+------+------+------+------+------+------+------+------+------+------|
+ TAB , Q , W , E , R , T , Y , U , I , O , P , EQL ,
+ // |------+------+------+------+------+------+------+------+------+------+------+------|
+ ESCC , A , S , D , F , G , H , J , K , L , SCLN , QUOT ,
+ // |------+------+------+------+------+------+------+------+------+------+------+------|
+ LSFT , Z , X , C , V , B , N , M , COMM , DOT , SLSH , ENTS ,
+ // |------+------+------+------+------+------+------+------+------+------+------+------|
+ , LCTL , LALT , LGUI , SPC , SPC , BSPC , BSPH , LEFT , DOWN , UP , RGHT
+ // `---------------------------------------------------+-------------------------------'
+ ), // |
+ // |
+ [_HYPER] = LAYOUT_kc( /* V */ \
+ // ,-----------------------------------------------------------------------------------.
+ RST , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , LBRC , RBRC , ,
+ // |------+------+------+------+------+------+------+------+------+------+------+------|
+ , , , PGUP , , , , , UP , LCBR , RCBR , BSLS ,
+ // |------+------+------+------+------+------+------+------+------+------+------+------|
+ , , HOME , PGDN , END , , MINS , LEFT , DOWN , RGHT , , PIPE ,
+ // |------+------+------+------+------+------+------+------+------+------+------+------|
+ , , , , , , , , , BRDN , BRUP , ,
+ // |------+------+------+------+------+------+------+------+------+------+------+------|
+ , , , , , , , , MUTE , VOLD , VOLU , MPLY
+ // `-----------------------------------------------------------------------------------'
+ ),
+};
diff --git a/layouts/community/ortho_5x12/rs/readme.md b/layouts/community/ortho_5x12/rs/readme.md
new file mode 100644
index 00000000000..d75eefd5b9c
--- /dev/null
+++ b/layouts/community/ortho_5x12/rs/readme.md
@@ -0,0 +1,17 @@
+# Code friendly 60% keymap
+
+I developped this keymap to make a better use of 60% ortho keyboards I use like the preonic of the iris. Instead of trying to mimic the Planck layout like the default preonic keymap, this keymap removes the raise and lower layers and offers a simpler hyper layer concept for a few missing sign keys and cursors / media keys.
+
+The important part for coders is that most important signs needed to code are available at their usual position on a full keyboard, without complex layer gymnastic. Access to [] and {} are available on the hyper layer at their usual emplacement.
+
+The right thumb is used for both backspace and hyper layer switching. On the hyper layer, in addition to some coding signs, you get the cursor keys arranged in cross, just under your right fingers, so you don't have to move your hand when navigating in code or command line. Other hand gets the home/end page up/down in a similar layout.
+
+Because you sometime have to use your internal keyboard when you use a macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the hyper layer / backspace on right command key etc.
+
+This keymap has been tested with those keyboards:
+- [Preonic](../../../../keyboards/preonic/)
+- [My preonic clone](../../../rs60/)
+
+Checkout an adaptation of this keymap for other keyboards:
+- [Iris/rs](../../../../keyboards/iris/keymaps/rs/keymap.c)
+- [ErgoTravel/rs](../../../../keyboards/ergotravel/keymaps/rs/keymap.c)
\ No newline at end of file
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c
index f6c8b70d28b..1a6af9e08f3 100644
--- a/quantum/keymap_common.c
+++ b/quantum/keymap_common.c
@@ -120,7 +120,7 @@ action_t action_for_key(uint8_t layer, keypos_t key)
break;
case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: ;
// OSM(mod) - One-shot mod
- mod = keycode & 0xFF;
+ mod = mod_config(keycode & 0xFF);
action.code = ACTION_MODS_ONESHOT(mod);
break;
case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
diff --git a/quantum/matrix.c b/quantum/matrix.c
index 49a18456961..d2b805d7f1f 100644
--- a/quantum/matrix.c
+++ b/quantum/matrix.c
@@ -184,7 +184,7 @@ bool matrix_is_modified(void)
inline
bool matrix_is_on(uint8_t row, uint8_t col)
{
- return (matrix[row] & ((matrix_row_t)1timer ? false : true;
+ bool is_combo_active = combo->is_active;
if (record->event.pressed) {
KEY_STATE_DOWN(index);
@@ -73,9 +70,10 @@ static bool process_single_combo(combo_t *combo, uint16_t keycode, keyrecord_t *
if (is_combo_active) {
if (ALL_COMBO_KEYS_ARE_DOWN) { /* Combo was pressed */
send_combo(combo->keycode, true);
- combo->timer = COMBO_TIMER_ELAPSED;
+ combo->is_active = false;
} else { /* Combo key was pressed */
combo->timer = timer_read();
+ combo->is_active = true;
#ifdef COMBO_ALLOW_ACTION_KEYS
combo->prev_record = *record;
#else
@@ -99,6 +97,7 @@ static bool process_single_combo(combo_t *combo, uint16_t keycode, keyrecord_t *
send_keyboard_report();
unregister_code16(keycode);
#endif
+ combo->is_active = false;
combo->timer = 0;
}
@@ -106,6 +105,7 @@ static bool process_single_combo(combo_t *combo, uint16_t keycode, keyrecord_t *
}
if (NO_COMBO_KEYS_ARE_DOWN) {
+ combo->is_active = true;
combo->timer = 0;
}
@@ -132,14 +132,14 @@ void matrix_scan_combo(void)
#pragma GCC diagnostic ignored "-Warray-bounds"
combo_t *combo = &key_combos[i];
#pragma GCC diagnostic pop
- if (combo->timer &&
- combo->timer != COMBO_TIMER_ELAPSED &&
+ if (combo->is_active &&
+ combo->timer &&
timer_elapsed(combo->timer) > COMBO_TERM) {
-
+
/* This disables the combo, meaning key events for this
* combo will be handled by the next processors in the chain
*/
- combo->timer = COMBO_TIMER_ELAPSED;
+ combo->is_active = false;
#ifdef COMBO_ALLOW_ACTION_KEYS
process_action(&combo->prev_record,
diff --git a/quantum/process_keycode/process_combo.h b/quantum/process_keycode/process_combo.h
index a5dbd788a42..a5787c9ed36 100644
--- a/quantum/process_keycode/process_combo.h
+++ b/quantum/process_keycode/process_combo.h
@@ -33,6 +33,7 @@ typedef struct
uint8_t state;
#endif
uint16_t timer;
+ bool is_active;
#ifdef COMBO_ALLOW_ACTION_KEYS
keyrecord_t prev_record;
#else
diff --git a/quantum/quantum.c b/quantum/quantum.c
index 85db100ab4b..5d8ffe34eb8 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -15,6 +15,11 @@
*/
#include "quantum.h"
+
+#if !defined(RGBLIGHT_ENABLE) && !defined(RGB_MATRIX_ENABLE)
+ #include "rgb.h"
+#endif
+
#ifdef PROTOCOL_LUFA
#include "outputselect.h"
#endif
diff --git a/quantum/quantum.h b/quantum/quantum.h
index f78915fdfbc..56a6a1a991a 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -30,9 +30,6 @@
#ifdef BACKLIGHT_ENABLE
#include "backlight.h"
#endif
-#if !defined(RGBLIGHT_ENABLE) && !defined(RGB_MATRIX_ENABLE)
- #include "rgb.h"
-#endif
#ifdef RGBLIGHT_ENABLE
#include "rgblight.h"
#else
diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h
index 9f9d35b1c01..0462291c2b1 100644
--- a/quantum/quantum_keycodes.h
+++ b/quantum/quantum_keycodes.h
@@ -567,9 +567,12 @@ enum quantum_keycodes {
#define FUNC(kc) (QK_FUNCTION | (kc))
// Aliases
+#define C(kc) LCTL(kc)
#define S(kc) LSFT(kc)
-#define F(kc) FUNC(kc)
+#define A(kc) LALT(kc)
+#define G(kc) LGUI(kc)
+#define F(kc) FUNC(kc)
#define M(kc) (QK_MACRO | (kc))
#define MACROTAP(kc) (QK_MACRO | (FUNC_TAP << 8) | (kc))
diff --git a/quantum/template/avr/config.h b/quantum/template/avr/config.h
index d05b2cb98de..a31fcf236fb 100644
--- a/quantum/template/avr/config.h
+++ b/quantum/template/avr/config.h
@@ -131,9 +131,8 @@ along with this program. If not, see .
*/
/* key combination for magic key command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
+/* defined by default; to change, uncomment and set to the combination you want */
+// #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
diff --git a/quantum/template/ps2avrgb/template.h b/quantum/template/base/template.h
similarity index 94%
rename from quantum/template/ps2avrgb/template.h
rename to quantum/template/base/template.h
index 1958f48a02c..caf2abb4c6b 100644
--- a/quantum/template/ps2avrgb/template.h
+++ b/quantum/template/base/template.h
@@ -13,8 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-#ifndef %KEYBOARD_UPPERCASE%_H
-#define %KEYBOARD_UPPERCASE%_H
+#pragma once
#include "quantum.h"
@@ -34,5 +33,3 @@
{ k00, k01, k02 }, \
{ k10, KC_NO, k11 }, \
}
-
-#endif
diff --git a/quantum/template/ps2avrgb/config.h b/quantum/template/ps2avrgb/config.h
index 4ff3513bc76..01cdf932ede 100644
--- a/quantum/template/ps2avrgb/config.h
+++ b/quantum/template/ps2avrgb/config.h
@@ -42,8 +42,9 @@ along with this program. If not, see .
#define NO_UART 1
-/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
+/* key combination for magic key command */
+/* defined by default; to change, uncomment and set to the combination you want */
+// #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c
index b99c2acaa7a..ec8d6ed7b9c 100644
--- a/tmk_core/common/action.c
+++ b/tmk_core/common/action.c
@@ -653,7 +653,7 @@ void process_action(keyrecord_t *record, action_t action)
#ifndef NO_ACTION_TAPPING
#ifdef RETRO_TAPPING
- if (!is_tap_key(record->event.key)) {
+ if (!is_tap_action(action)) {
retro_tapping_counter = 0;
} else {
if (event.pressed) {
@@ -929,7 +929,15 @@ void clear_keyboard_but_mods_and_keys()
bool is_tap_key(keypos_t key)
{
action_t action = layer_switch_get_action(key);
+ return is_tap_action(action);
+}
+/** \brief Utilities for actions. (FIXME: Needs better description)
+ *
+ * FIXME: Needs documentation.
+ */
+bool is_tap_action(action_t action)
+{
switch (action.kind.id) {
case ACT_LMODS_TAP:
case ACT_RMODS_TAP:
diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h
index 8e47e5339ed..799e3bb0efd 100644
--- a/tmk_core/common/action.h
+++ b/tmk_core/common/action.h
@@ -97,6 +97,7 @@ void clear_keyboard_but_mods(void);
void clear_keyboard_but_mods_and_keys(void);
void layer_switch(uint8_t new_layer);
bool is_tap_key(keypos_t key);
+bool is_tap_action(action_t action);
#ifndef NO_ACTION_TAPPING
void process_record_tap_hint(keyrecord_t *record);
diff --git a/tmk_core/common/action_util.c b/tmk_core/common/action_util.c
index afd4ae8b255..58401ace558 100644
--- a/tmk_core/common/action_util.c
+++ b/tmk_core/common/action_util.c
@@ -54,7 +54,7 @@ int8_t get_oneshot_locked_mods(void) { return oneshot_locked_mods; }
void set_oneshot_locked_mods(int8_t mods) { oneshot_locked_mods = mods; }
void clear_oneshot_locked_mods(void) { oneshot_locked_mods = 0; }
#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
-static int16_t oneshot_time = 0;
+static uint16_t oneshot_time = 0;
bool has_oneshot_mods_timed_out(void) {
return TIMER_DIFF_16(timer_read(), oneshot_time) >= ONESHOT_TIMEOUT;
}
@@ -79,7 +79,7 @@ inline uint8_t get_oneshot_layer(void) { return oneshot_layer_data >> 3; }
inline uint8_t get_oneshot_layer_state(void) { return oneshot_layer_data & 0b111; }
#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
-static int16_t oneshot_layer_time = 0;
+static uint16_t oneshot_layer_time = 0;
inline bool has_oneshot_layer_timed_out() {
return TIMER_DIFF_16(timer_read(), oneshot_layer_time) >= ONESHOT_TIMEOUT &&
!(get_oneshot_layer_state() & ONESHOT_TOGGLED);
diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c
index 5bca6468549..28219f4ddd7 100644
--- a/tmk_core/common/avr/suspend.c
+++ b/tmk_core/common/avr/suspend.c
@@ -11,6 +11,9 @@
#include "led.h"
#include "host.h"
#include "rgblight_reconfig.h"
+#ifdef SPLIT_KEYBOARD
+ #include "split_flags.h"
+#endif
#ifdef PROTOCOL_LUFA
#include "lufa.h"
@@ -22,6 +25,9 @@
#if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE)
#include "rgblight.h"
+ extern rgblight_config_t rgblight_config;
+ static bool rgblight_enabled;
+ static bool is_suspended;
#endif
@@ -46,8 +52,7 @@ __asm__ __volatile__ ( \
*
* FIXME: needs doc
*/
-void suspend_idle(uint8_t time)
-{
+void suspend_idle(uint8_t time) {
cli();
set_sleep_mode(SLEEP_MODE_IDLE);
sleep_enable();
@@ -95,8 +100,7 @@ static uint8_t wdt_timeout = 0;
*
* FIXME: needs doc
*/
-static void power_down(uint8_t wdto)
-{
+static void power_down(uint8_t wdto) {
#ifdef PROTOCOL_LUFA
if (USB_DeviceState == DEVICE_STATE_Configured) return;
#endif
@@ -120,7 +124,14 @@ static void power_down(uint8_t wdto)
#ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_disable();
#endif
- rgblight_disable_noeeprom();
+ if (!is_suspended) {
+ is_suspended = true;
+ rgblight_enabled = rgblight_config.enable;
+ rgblight_disable_noeeprom();
+ #ifdef SPLIT_KEYBOARD
+ RGB_DIRTY = true;
+ #endif
+ }
#endif
suspend_power_down_kb();
@@ -145,8 +156,7 @@ static void power_down(uint8_t wdto)
*
* FIXME: needs doc
*/
-void suspend_power_down(void)
-{
+void suspend_power_down(void) {
suspend_power_down_kb();
#ifndef NO_SUSPEND_POWER_DOWN
@@ -156,8 +166,7 @@ void suspend_power_down(void)
__attribute__ ((weak)) void matrix_power_up(void) {}
__attribute__ ((weak)) void matrix_power_down(void) {}
-bool suspend_wakeup_condition(void)
-{
+bool suspend_wakeup_condition(void) {
matrix_power_up();
matrix_scan();
matrix_power_down();
@@ -186,8 +195,7 @@ void suspend_wakeup_init_kb(void) {
*
* FIXME: needs doc
*/
-void suspend_wakeup_init(void)
-{
+void suspend_wakeup_init(void) {
// clear keyboard state
clear_keyboard();
#ifdef BACKLIGHT_ENABLE
@@ -195,10 +203,16 @@ void suspend_wakeup_init(void)
#endif
led_set(host_keyboard_leds());
#if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE)
-#ifdef BOOTLOADER_TEENSY
- wait_ms(10);
-#endif
- rgblight_enable_noeeprom();
+ is_suspended = false;
+ if (rgblight_enabled) {
+ #ifdef BOOTLOADER_TEENSY
+ wait_ms(10);
+ #endif
+ rgblight_enable_noeeprom();
+ #ifdef SPLIT_KEYBOARD
+ RGB_DIRTY = true;
+ #endif
+ }
#ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_enable();
#endif
@@ -208,8 +222,7 @@ void suspend_wakeup_init(void)
#ifndef NO_SUSPEND_POWER_DOWN
/* watchdog timeout */
-ISR(WDT_vect)
-{
+ISR(WDT_vect) {
// compensate timer for sleep
switch (wdt_timeout) {
case WDTO_15MS:
diff --git a/tmk_core/common/command.h b/tmk_core/common/command.h
index c38f2b9e809..052e2518438 100644
--- a/tmk_core/common/command.h
+++ b/tmk_core/common/command.h
@@ -34,6 +34,9 @@ bool command_proc(uint8_t code);
#define command_proc(code) false
#endif
+#ifndef IS_COMMAND
+#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
+#endif
#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
diff --git a/tmk_core/common/keycode.h b/tmk_core/common/keycode.h
index fd975dd6ad1..d5904276eeb 100644
--- a/tmk_core/common/keycode.h
+++ b/tmk_core/common/keycode.h
@@ -46,6 +46,22 @@ along with this program. If not, see .
#define MOD_BIT(code) (1 << MOD_INDEX(code))
#define MOD_INDEX(code) ((code) & 0x07)
+#define MOD_MASK_CTRL (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL))
+#define MOD_MASK_SHIFT (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))
+#define MOD_MASK_ALT (MOD_BIT(KC_LALT) | MOD_BIT(KC_RALT))
+#define MOD_MASK_GUI (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI))
+#define MOD_MASK_CS (MOD_MASK_CTRL | MOD_MASK_SHIFT)
+#define MOD_MASK_CA (MOD_MASK_CTRL | MOD_MASK_ALT)
+#define MOD_MASK_CG (MOD_MASK_CTRL | MOD_MASK_GUI)
+#define MOD_MASK_SA (MOD_MASK_SHIFT | MOD_MASK_ALT)
+#define MOD_MASK_SG (MOD_MASK_SHIFT | MOD_MASK_GUI)
+#define MOD_MASK_AG (MOD_MASK_ALT | MOD_MASK_GUI)
+#define MOD_MASK_CSA (MOD_MASK_CTRL | MOD_MASK_SHIFT | MOD_MASK_ALT)
+#define MOD_MASK_CSG (MOD_MASK_CTRL | MOD_MASK_SHIFT | MOD_MASK_GUI)
+#define MOD_MASK_CAG (MOD_MASK_CTRL | MOD_MASK_ALT | MOD_MASK_GUI)
+#define MOD_MASK_SAG (MOD_MASK_SHIFT | MOD_MASK_ALT | MOD_MASK_GUI)
+#define MOD_MASK_CSAG (MOD_MASK_CTRL | MOD_MASK_SHIFT | MOD_MASK_ALT | MOD_MASK_GUI)
+
#define FN_BIT(code) (1 << FN_INDEX(code))
#define FN_INDEX(code) ((code) - KC_FN0)
#define FN_MIN KC_FN0
diff --git a/tmk_core/protocol/arm_atsam/led_matrix.c b/tmk_core/protocol/arm_atsam/led_matrix.c
index 9ef7393a253..04d05af6db6 100644
--- a/tmk_core/protocol/arm_atsam/led_matrix.c
+++ b/tmk_core/protocol/arm_atsam/led_matrix.c
@@ -18,6 +18,7 @@ along with this program. If not, see .
#include "arm_atsam_protocol.h"
#include "tmk_core/common/led.h"
#include
+#include
void SERCOM1_0_Handler( void )
{
@@ -217,6 +218,7 @@ void disp_calc_extents(void)
disp.width = disp.right - disp.left;
disp.height = disp.top - disp.bottom;
+ disp.max_distance = sqrtf(powf(disp.width, 2) + powf(disp.height, 2));
}
void disp_pixel_setup(void)
@@ -249,6 +251,7 @@ uint8_t led_animation_breathing;
uint8_t led_animation_breathe_cur;
uint8_t breathe_step;
uint8_t breathe_dir;
+uint8_t led_animation_circular;
uint64_t led_next_run;
uint8_t led_animation_id;
@@ -265,6 +268,7 @@ void led_matrix_run(void)
float go;
float bo;
float po;
+
uint8_t led_this_run = 0;
led_setup_t *f = (led_setup_t*)led_setups[led_animation_id];
@@ -327,13 +331,18 @@ void led_matrix_run(void)
for (fcur = 0; fcur < fmax; fcur++)
{
- if (led_animation_orientation)
- {
- po = led_cur->py;
+ if (led_animation_circular) {
+ po = sqrtf((powf(fabsf((disp.width / 2) - (led_cur->x - disp.left)), 2) + powf(fabsf((disp.height / 2) - (led_cur->y - disp.bottom)), 2))) / disp.max_distance * 100;
}
- else
- {
- po = led_cur->px;
+ else {
+ if (led_animation_orientation)
+ {
+ po = led_cur->py;
+ }
+ else
+ {
+ po = led_cur->px;
+ }
}
float pomod;
@@ -466,6 +475,7 @@ uint8_t led_matrix_init(void)
led_animation_breathe_cur = BREATHE_MIN_STEP;
breathe_step = 1;
breathe_dir = 1;
+ led_animation_circular = 0;
gcr_min_counter = 0;
v_5v_cat_hit = 0;
diff --git a/tmk_core/protocol/arm_atsam/led_matrix.h b/tmk_core/protocol/arm_atsam/led_matrix.h
index cedea8a856d..4513234e7f3 100644
--- a/tmk_core/protocol/arm_atsam/led_matrix.h
+++ b/tmk_core/protocol/arm_atsam/led_matrix.h
@@ -83,6 +83,7 @@ typedef struct led_disp_s {
float bottom;
float width;
float height;
+ float max_distance;
} led_disp_t;
uint8_t led_matrix_init(void);
@@ -129,6 +130,7 @@ extern uint8_t led_animation_orientation;
extern uint8_t led_animation_breathing;
extern uint8_t led_animation_breathe_cur;
extern uint8_t breathe_dir;
+extern uint8_t led_animation_circular;
extern const uint8_t led_setups_count;
extern void *led_setups[];
diff --git a/tmk_core/protocol/usb_hid/test/config.h b/tmk_core/protocol/usb_hid/test/config.h
index c2230fb5705..a2403fe9c50 100644
--- a/tmk_core/protocol/usb_hid/test/config.h
+++ b/tmk_core/protocol/usb_hid/test/config.h
@@ -35,6 +35,6 @@ along with this program. If not, see .
/* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_RSHIFT)))
+#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
#endif
diff --git a/users/konstantin/config.h b/users/konstantin/config.h
index d03333f05d9..800b8e49ba0 100644
--- a/users/konstantin/config.h
+++ b/users/konstantin/config.h
@@ -14,6 +14,7 @@
#define NO_ACTION_FUNCTION
#define NO_ACTION_MACRO
+#define NO_ACTION_ONESHOT
#define PERMISSIVE_HOLD
#define TAPPING_TERM 200
diff --git a/users/konstantin/konstantin.c b/users/konstantin/konstantin.c
index 977111c1f9b..47596279c36 100644
--- a/users/konstantin/konstantin.c
+++ b/users/konstantin/konstantin.c
@@ -3,8 +3,9 @@
#ifdef LAYER_NUMPAD
static void toggle_numpad(void) {
layer_invert(L_NUMPAD);
- bool num_lock = host_keyboard_leds() & 1<.
diff --git a/users/vosechu/rules.mk b/users/vosechu/rules.mk
new file mode 100644
index 00000000000..e346db93fb8
--- /dev/null
+++ b/users/vosechu/rules.mk
@@ -0,0 +1 @@
+SRC += vosechu.c
diff --git a/users/vosechu/vosechu.c b/users/vosechu/vosechu.c
new file mode 100644
index 00000000000..3f58ca26a8d
--- /dev/null
+++ b/users/vosechu/vosechu.c
@@ -0,0 +1,25 @@
+#include "vosechu.h"
+
+// void my_custom_function(void) {
+
+// }
+
+// [DV] = { /* ================================================== DVORAK ============================================================ */
+// { KC_1, KC_A, KC_B, KC_C, KC_D, KC_E, _______ , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
+// { KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, _______ , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
+// { KC_3, KC_A, KC_B, KC_C, KC_D, KC_E, _______ , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
+// { KC_4, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M },
+// { KC_5, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F , KC_G, KC_H, KC_J, KC_K, KC_L, KC_M }
+// },
+
+// bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+// if (record->event.pressed) {
+// // These also need to be defined in the header file
+// switch(keycode) {
+// case PAWFIVE:
+// SEND_STRING(":pawfive:");
+// return false;
+// }
+// }
+// return true;
+// };
diff --git a/users/vosechu/vosechu.h b/users/vosechu/vosechu.h
new file mode 100644
index 00000000000..5cd2217ea19
--- /dev/null
+++ b/users/vosechu/vosechu.h
@@ -0,0 +1,71 @@
+#pragma once
+
+#include "quantum.h"
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+enum userspace_custom_layers {
+ DV = 0,
+ QW,
+ GAM1,
+ RSE,
+ LWR,
+ LFT,
+ MOUSE
+};
+
+enum userspace_custom_keycodes {
+ PAWFIVE = SAFE_RANGE,
+ MOUKEY,
+ MS_BTN1,
+ MS_BTN2,
+ MS_BTN3
+};
+
+// Transparent macro to indicate that this spot is already being pressed
+// to activate this layer
+#define _LAYER_ KC_TRNS
+
+// == Dual-action keys on most of the modifiers
+#define CTL_ESC CTL_T(KC_ESC)
+#define CTL_GRV CTL_T(KC_GRV)
+#define ALT_TAB ALT_T(KC_TAB)
+#define SFT_SPC SFT_T(KC_SPC)
+
+// == Macro keys for commonly used apps
+// -- Slack
+// Move one conversation up/down
+#define SLACKUP LALT(LSFT(KC_UP))
+#define SLACKDN LALT(LSFT(KC_DOWN))
+
+// -- Browser and OS X
+// Activate one tab left/right
+#define TAB_LFT LGUI(LSFT(KC_LBRC))
+#define TAB_RGT LGUI(LSFT(KC_RBRC))
+// Go back/forward in history
+#define BWSR_BK LGUI(KC_LBRC)
+#define BWSR_FW LGUI(KC_RBRC)
+
+// -- Screen management
+// Make window fill the left/right side
+#define SCR_LFT HYPR(KC_LEFT)
+#define SCR_RGT HYPR(KC_RGHT)
+// Make window fill the whole monitor
+#define SCR_FUL HYPR(KC_F)
+
+// == Extended alpha layer toggles
+// -- Dvorak
+// Pressing U opens up the LWR layer (numpad)
+#define LWR_U LT(LWR, KC_U)
+// Pressing H opens up the RSE layer (brackets/parens)
+#define RSE_H LT(RSE, KC_H)
+
+// -- Qwerty
+// Pressing F opens up the LWR layer (numpad)
+#define LWR_F LT(LWR, KC_F)
+// Pressing J opens up the RSE layer (brackets/parens)
+#define RSE_J LT(RSE, KC_J)
+
+// -- LFT layer (Works on both Qwerty and Dvorak)
+// Pressing Back space or Enter opens up the LFT layer (media/navigation)
+#define LFT_BK LT(LFT, KC_BSPC)
+#define LFT_ENT LT(LFT, KC_ENT)