summaryrefslogtreecommitdiff
path: root/keyboards/keebio/iris/keymaps
diff options
context:
space:
mode:
authorInigoGutierrez <inigogf.95@gmail.com>2022-09-25 16:02:54 +0200
committerInigoGutierrez <inigogf.95@gmail.com>2022-09-25 16:02:54 +0200
commit6afdd9d74da250e47ac64d6690bd19d037045e99 (patch)
tree661f6cfb244c02bcd1fbfe8fb9b2bd9242a91394 /keyboards/keebio/iris/keymaps
parent93a55e61b59d20f7cd842cce02e5b18a63a23612 (diff)
parent1bdf4cdc22ae57d111efb2f7d71e405e5c7b3f11 (diff)
downloadqmk_firmware-6afdd9d74da250e47ac64d6690bd19d037045e99.tar.gz
qmk_firmware-6afdd9d74da250e47ac64d6690bd19d037045e99.zip
Merge branch 'master' into taamas
Diffstat (limited to 'keyboards/keebio/iris/keymaps')
-rw-r--r--keyboards/keebio/iris/keymaps/adamgate/config.h (renamed from keyboards/keebio/iris/keymaps/default/config.h)5
-rw-r--r--keyboards/keebio/iris/keymaps/adamgate/keymap.c82
-rw-r--r--keyboards/keebio/iris/keymaps/adamgate/rules.mk6
-rw-r--r--keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/ave-63/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/bmoorey/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/boo/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/compilation-error/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/csc027/config.h7
-rw-r--r--keyboards/keebio/iris/keymaps/csc027/rules.mk2
-rw-r--r--keyboards/keebio/iris/keymaps/davidrambo/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/dcompact/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/ddone/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/default/keymap.c20
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json2
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/edvorakjp/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/emp/config.h97
-rw-r--r--keyboards/keebio/iris/keymaps/emp/keymap.c277
-rw-r--r--keyboards/keebio/iris/keymaps/fluffactually/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c6
-rw-r--r--keyboards/keebio/iris/keymaps/khang/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/khord/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/krusli/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h1
-rw-r--r--keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c1
-rw-r--r--keyboards/keebio/iris/keymaps/mattly/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/mnil/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/mojitas/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/omgvee/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/osiris/keymap.c4
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/config.h37
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/keymap.c193
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/light_layers.h179
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/readme.md137
-rw-r--r--keyboards/keebio/iris/keymaps/radlinskii/rules.mk3
-rw-r--r--keyboards/keebio/iris/keymaps/sq5rix/keymap.c5
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/config.h62
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/keymap.c261
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/readme.md15
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/rules.mk15
-rw-r--r--keyboards/keebio/iris/keymaps/two_knob/two_knob.json185
-rw-r--r--keyboards/keebio/iris/keymaps/via/keymap.c30
-rw-r--r--keyboards/keebio/iris/keymaps/via/rules.mk1
-rw-r--r--keyboards/keebio/iris/keymaps/xyverz/keymap.c2
-rw-r--r--keyboards/keebio/iris/keymaps/yoonbae81/keymap.c2
48 files changed, 1613 insertions, 72 deletions
diff --git a/keyboards/keebio/iris/keymaps/default/config.h b/keyboards/keebio/iris/keymaps/adamgate/config.h
index 149a54be7f..48653a123e 100644
--- a/keyboards/keebio/iris/keymaps/default/config.h
+++ b/keyboards/keebio/iris/keymaps/adamgate/config.h
@@ -1,5 +1,5 @@
/*
-Copyright 2017 Danny Nguyen <danny@keeb.io>
+Copyright 2022 Adam Applegate
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
@@ -19,3 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define USE_I2C
#define EE_HANDS
+#define TAPPING_TOGGLE 3 //# of button presses needed to permanently toggle a layer
+// #define TAPPING_TERM 150 //# of ms before another input is accepted for tap dancing
+// #define RGBLIGHT_LAYERS 4 //# of layer of rgb (max of 8)ASDASDASDASDFASDF \ No newline at end of file
diff --git a/keyboards/keebio/iris/keymaps/adamgate/keymap.c b/keyboards/keebio/iris/keymaps/adamgate/keymap.c
new file mode 100644
index 0000000000..84c3b74711
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/adamgate/keymap.c
@@ -0,0 +1,82 @@
+/*
+ Copyright (c) 2022 Adam Applegate
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+*/
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _GAMING,
+ _RISE,
+}
+
+/*****************
+*** TAPDANCES ***
+*****************/
+enum custom_tapdances {
+ TD_SHFT_CAPS = 0,
+};
+
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), //shift if pressed 1x, caps lock if pressed 2x
+};
+
+/*****************
+*** KEYMAPS ***
+*****************/
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // layout for everyday use
+ [_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_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
+ TD(TD_SHFT_CAPS), 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_DEL, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
+ KC_RALT, KC_LGUI, KC_BSPC, KC_SPC, TT(_LOWER), _______
+ ),
+
+ [_LOWER] = LAYOUT(
+ KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PEQL,
+ KC_F11, KC_F12, KC_UP, _______, _______, KC_LPRN, KC_RPRN, KC_7, KC_8, KC_9, KC_PSLS, KC_PAST,
+ KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_LCBR, KC_RCBR, KC_4, KC_5, KC_6, KC_PMNS, KC_PPLS,
+ KC_LCTL, _______, _______, _______, _______, KC_LBRC, KC_DEL, KC_ENT, KC_RBRC, KC_1, KC_2, KC_3, KC_PDOT, _______,
+ _______, TO(_QWERTY), KC_BSPC, KC_SPC, TG(_GAMING), KC_0
+ ),
+
+ //makes gaming easier, adding a space for jumping closer to the movement keys
+ [_GAMING] = 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
+ 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_DEL, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
+ KC_RALT, KC_SPC, KC_BSPC, KC_SPC, TG(_RAISE), TO(_LOWER)
+ ),
+
+ //used for editing rgb settings, sound, and misc commands
+ [_RAISE] = LAYOUT(
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_MUTE, KC_VOLU, KC_MNXT, _______, KC_BRIU, KC_CALC,
+ _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_MSTP, KC_VOLD, KC_MPRV, _______, KC_BRID, KC_MYCM,
+ DM_REC1, DM_REC2, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WSCH,
+ DM_PLY1, DM_PLY2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ DM_RSTP, TO(_GAMING), _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/keebio/iris/keymaps/adamgate/rules.mk b/keyboards/keebio/iris/keymaps/adamgate/rules.mk
new file mode 100644
index 0000000000..916d614967
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/adamgate/rules.mk
@@ -0,0 +1,6 @@
+TAP_DANCE_ENABLE = yes
+# COMBO_ENABLE = yes
+# RGBLIGHT_ENABLE = yes
+
+# Disable unnecessary things to save space
+# LTO_ENABLE = yes #link time optimization
diff --git a/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c b/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c
index 3e06ffff29..81426852a6 100644
--- a/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c
+++ b/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c
@@ -11,7 +11,7 @@
#define KC_LOWR MO(_LOWER)
#define KC_RASE MO(_RAISE)
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_LBR SE_LBRC
#define KC_RBR SE_RBRC
diff --git a/keyboards/keebio/iris/keymaps/ave-63/keymap.c b/keyboards/keebio/iris/keymaps/ave-63/keymap.c
index 3d393a71c7..a3919c413c 100644
--- a/keyboards/keebio/iris/keymaps/ave-63/keymap.c
+++ b/keyboards/keebio/iris/keymaps/ave-63/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[_MEH] = LAYOUT(
- LALT(KC_F4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET,
+ LALT(KC_F4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, MEH(KC_Q), LCTL(KC_W), LSFT(KC_TAB), KC_DEL, MEH(KC_T), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, MEH(KC_A),LSFT(LCTL(KC_TAB)),KC_TAB,LCTL(KC_TAB),MEH(KC_G), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,MEH(KC_Z),MEH(KC_X),MEH(KC_C),MEH(KC_V),MEH(KC_B),KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/keebio/iris/keymaps/bmoorey/keymap.c b/keyboards/keebio/iris/keymaps/bmoorey/keymap.c
index 9484ccb3f4..5f7b026022 100644
--- a/keyboards/keebio/iris/keymaps/bmoorey/keymap.c
+++ b/keyboards/keebio/iris/keymaps/bmoorey/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_TILD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, KC_DEL,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- RESET, _______, KC_UP, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
+ QK_BOOT, _______, KC_UP, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_LBRC, KC_RBRC, KC_P1, KC_P2, KC_P3, KC_PLUS, KC_PIPE,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/boo/keymap.c b/keyboards/keebio/iris/keymaps/boo/keymap.c
index 27cbc5daf2..7fc9162b47 100644
--- a/keyboards/keebio/iris/keymaps/boo/keymap.c
+++ b/keyboards/keebio/iris/keymaps/boo/keymap.c
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_GRAVE,KC_RABK, KC_RCBR, KC_RBRC, KC_RPRN, KC_PIPE, KC_CIRC, KC_PLUS, KC_ASTR, KC_PERC, KC_UP, KC_EQL,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- RESET, _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_KAK, COPY, PASTE, KC_LEFT, KC_DOWN, KC_RIGHT,
+ QK_BOOT, _______, _______, _______, _______, _______, KC_HOME, KC_END, KC_KAK, COPY, PASTE, KC_LEFT, KC_DOWN, KC_RIGHT,
// └────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
_______, _______, _______, KC_DEL, _______, _______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
diff --git a/keyboards/keebio/iris/keymaps/compilation-error/keymap.c b/keyboards/keebio/iris/keymaps/compilation-error/keymap.c
index 1b3f114607..c549b0dde0 100644
--- a/keyboards/keebio/iris/keymaps/compilation-error/keymap.c
+++ b/keyboards/keebio/iris/keymaps/compilation-error/keymap.c
@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, RESET, EEP_RST, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______,
+ KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, QK_BOOT, EEP_RST, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
_______, _______, _______, _______, _______, _______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
diff --git a/keyboards/keebio/iris/keymaps/csc027/config.h b/keyboards/keebio/iris/keymaps/csc027/config.h
index ec4c2bbc65..80a8c57cba 100644
--- a/keyboards/keebio/iris/keymaps/csc027/config.h
+++ b/keyboards/keebio/iris/keymaps/csc027/config.h
@@ -28,10 +28,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
-
-#define USB_POLLING_INTERVAL_MS 1
-
-#if defined(TAP_CODE_DELAY)
-# undef TAP_CODE_DELAY
-#endif
-#define TAP_CODE_DELAY 10
diff --git a/keyboards/keebio/iris/keymaps/csc027/rules.mk b/keyboards/keebio/iris/keymaps/csc027/rules.mk
index e922161e3c..6fff152f60 100644
--- a/keyboards/keebio/iris/keymaps/csc027/rules.mk
+++ b/keyboards/keebio/iris/keymaps/csc027/rules.mk
@@ -1,6 +1,6 @@
BACKLIGHT_ENABLE = yes
CONSOLE_ENABLE = no
-EXTRAKEY_ENABLE = no
+EXTRAKEY_ENABLE = yes
LTO_ENABLE = yes
MOUSEKEY_ENABLE = yes
NKRO_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/davidrambo/keymap.c b/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
index b36abd4c56..188e3c3345 100644
--- a/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
+++ b/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
@@ -99,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVMAC] = LAYOUT(
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, C_TAB, ALEFT , KC_UP , ARGHT , KC_DEL , _______,
@@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVPC] = LAYOUT(
- RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, C_TAB , CLEFT , KC_UP , CRGHT , KC_DEL , _______,
diff --git a/keyboards/keebio/iris/keymaps/dcompact/keymap.c b/keyboards/keebio/iris/keymaps/dcompact/keymap.c
index baa7e5e583..447aff6f9a 100644
--- a/keyboards/keebio/iris/keymaps/dcompact/keymap.c
+++ b/keyboards/keebio/iris/keymaps/dcompact/keymap.c
@@ -149,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, BL_STEP, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/ddone/keymap.c b/keyboards/keebio/iris/keymaps/ddone/keymap.c
index 815174bf74..a3905181ea 100644
--- a/keyboards/keebio/iris/keymaps/ddone/keymap.c
+++ b/keyboards/keebio/iris/keymaps/ddone/keymap.c
@@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, RGB_VAD, RGB_VAI ,_______ , KC_PSCR, KC_BTN1, KC_BTN2, KC_BTN3, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/default/keymap.c b/keyboards/keebio/iris/keymaps/default/keymap.c
index f1a2bf2164..7c95c6189b 100644
--- a/keyboards/keebio/iris/keymaps/default/keymap.c
+++ b/keyboards/keebio/iris/keymaps/default/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ QK_BOOT, 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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
@@ -111,21 +111,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return true;
}
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- else if (index == 1) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return false;
-}
diff --git a/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json b/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json
index be5cc37938..942116ef87 100644
--- a/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json
+++ b/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json
@@ -72,7 +72,7 @@
"KC_LPRN",
"KC_RPRN",
"KC_BSPC",
- "RESET",
+ "QK_BOOT",
"KC_1",
"KC_2",
"KC_3",
diff --git a/keyboards/keebio/iris/keymaps/dvorak/keymap.c b/keyboards/keebio/iris/keymaps/dvorak/keymap.c
index 3f0886521c..ce99d1a563 100644
--- a/keyboards/keebio/iris/keymaps/dvorak/keymap.c
+++ b/keyboards/keebio/iris/keymaps/dvorak/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
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_GRAVE,
+ QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRAVE,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
index 0c0fc5a746..013d6c00a5 100644
--- a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
+++ b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
@@ -59,9 +59,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
void matrix_init_keymap() {}
#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
-uint32_t layer_state_set_keymap(uint32_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- switch (biton32(state)) {
+ switch (get_highest_layer(state)) {
case L_EDVORAKJP_LOWER:
rgblight_sethsv_noeeprom_red();
break;
diff --git a/keyboards/keebio/iris/keymaps/emp/config.h b/keyboards/keebio/iris/keymaps/emp/config.h
new file mode 100644
index 0000000000..a08db4d170
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/emp/config.h
@@ -0,0 +1,97 @@
+/*
+Copyright 2017 Danny Nguyen <danny@keeb.io>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* Use I2C or Serial, not both */
+#undef USE_I2C
+#define USE_SERIAL
+
+/* Select hand configuration */
+#undef MASTER_LEFT
+#undef MASTER_RIGHT
+#define EE_HANDS
+
+/* disable debugging features */
+#ifndef NO_DEBUG
+#define NO_DEBUG
+#endif // #ifndef NO_DEBUG
+
+/* disable printing features */
+#ifndef NO_PRINT
+#define NO_PRINT
+#endif // #ifndef NO_PRINT
+
+/* force n-key rollover to be enabled every boot */
+#undef FORCE_NKRO
+
+/* disable tap dance and other tapping features */
+#undef NO_ACTION_TAPPING
+
+/* disable one-shot modifiers */
+#undef NO_ACTION_ONESHOT
+
+/* PERMISSIVE_HOLD
+ * when on: tap-hold keys are held when typed fast, so long as the modifier key
+ * is pressed before and released after the rodified key(s)
+ * when off: tap-hold keys are both tapped when typed fast (within tapping term)
+ */
+#undef PERMISSIVE_HOLD
+
+/* IGNORE_MOD_TAP_INTERRUPT
+ * when on: rolling tap-hold keys taps all keys
+ * when off: rolling tap-hold keys modifies keys
+*/
+#undef IGNORE_MOD_TAP_INTERRUPT
+
+/* TAPPING_TERM x (ms)
+ * how long before a tap becomes a hold. if set above 500, a key tapped during
+ * the tapping term will turn it into a hold too
+ */
+#define TAPPING_TERM 200
+
+/* TAPPING_TOGGLE x (count)
+ * If you hold a TT key down, layer is activated, and then is de-activated when
+ * you let go (like MO()). If you repeatedly tap it, the layer will be toggled
+ * on or off (like TG()). It needs 5 taps by default, but you can change this by
+ * defining TAPPING_TOGGLE to another number.
+ */
+// #define TAPPING_TOGGLE 1
+
+/* RETRO_TAPPING
+ * tap anyway, even after TAPPING_TERM, if there was no other key interruption
+ * between press and release
+ */
+#undef RETRO_TAPPING
+
+/* ONESHOT_TIMEOUT x (ms)
+ * how long before oneshot times out
+ */
+// #define ONESHOT_TIMEOUT 2000
+
+/* TAP_CODE_DELAY x (ms)
+ * how long tapped keycodes are held down for
+ */
+// #define TAP_CODE_DELAY 100
+
+/* NO_USB_STARTUP_CHECK
+ * according to:
+ * https://github.com/qmk/qmk_firmware/issues/12732
+ * defining this can help with boards not being recognized by virtual keymapping
+ * software
+ */
+#define NO_USB_STARTUP_CHECK
diff --git a/keyboards/keebio/iris/keymaps/emp/keymap.c b/keyboards/keebio/iris/keymaps/emp/keymap.c
new file mode 100644
index 0000000000..d89477ed96
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/emp/keymap.c
@@ -0,0 +1,277 @@
+/* Copyright 2022 elliotpatros
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+// Layer definitions
+enum custom_layers {
+ _COLEMAK,
+ _FUNCTION,
+};
+
+// Custom keycodes, implemented later, in function: process_record_user()
+enum custom_keycodes {
+ CTL_ESC = SAFE_RANGE, // mod tap: left control / esc
+ SFT_ENT, // mod tap: left shift / enter
+ LST_PRN, // mod tap: left shift / left parenthesis
+ RST_PRN, // mod tap: right shift / right parenthesis
+};
+
+// Shorthand keycode definitions
+#define OSM_CAG OSM(MOD_LCTL | MOD_LALT | MOD_LGUI)
+#define LT_BSFN LT(_FUNCTION, KC_BSLS)
+
+// The layout
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ // Default layer
+ [_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_MINS,
+// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_EQL,
+// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ LST_PRN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_ENT, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, RST_PRN,
+// └────────┴────────┴────────┴────────┼────────┼────────┼────────┘└────────┼────────┴────────┴────────┴────────┴────────┴────────┘
+ KC_LALT, KC_LGUI, SFT_ENT, KC_SPC, LT_BSFN, KC_BSPC
+// └────────┴────────┴────────┘└────────┴────────┴────────┘
+ ),
+
+ // Function (and I guess also media & navigation) layer
+ [_FUNCTION] = LAYOUT (
+
+// ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, KC_GRV, KC_LPRN, KC_RPRN, KC_F11, KC_F12, KC_INS, KC_HOME, KC_UP, KC_PGUP, _______, _______,
+// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, OSM_CAG, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, _______,
+// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_VOLD, KC_DEL, KC_END, KC_PGDN, _______, _______,
+// └────────┴────────┴────────┴────────┼────────┼────────┼────────┘└────────┼────────┴────────┴────────┴────────┴────────┴────────┘
+ _______, _______, _______, _______, _______, _______
+// └────────┴────────┴────────┘└────────┴────────┴────────┘
+ )
+
+};
+
+static inline bool dualfunckey_was_tapped(const uint16_t time_when_pressed) {
+ return timer_elapsed(time_when_pressed) < TAPPING_TERM;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t* record) {
+
+ // Static variables
+ static uint16_t timer_control_escape = 0;
+ static uint16_t timer_shift_enter = 0;
+ static uint16_t timer_shift_lparen = 0;
+ static uint16_t timer_shift_rparen = 0;
+
+ static bool dualfunckey_pending = false;
+
+ static bool shift_enter_is_pressed = false;
+ static bool shift_lparen_is_pressed = false;
+
+ // Was this function called to handle a keydown? If not, it was called by a
+ // key up.
+ const bool pressed = record->event.pressed;
+
+ // Any keydown (at all) spends a pending dual function key check. Why? If,
+ // for example, you use shift to type a capital letter, and shift keys down
+ // and up faster than the tapping term, did you mean to call shift's tapping
+ // key? No. You just meant to call shift.
+ if (pressed) {
+ dualfunckey_pending = false;
+ }
+
+ // Only keycodes >= SAFE_RANGE are handled in this function
+ if (keycode < SAFE_RANGE) {
+ // This keypress was not handled
+ return true;
+ }
+
+ // Handle custom keypresses here
+ switch (keycode) {
+
+ // -------------------------------------------------------------------------
+ // Dual function key (hold: left shift; tap: enter)
+ // -------------------------------------------------------------------------
+ case SFT_ENT:
+
+ // There are multiple keys that are mapped to left shift. Keep track of
+ // which are pressed
+ shift_enter_is_pressed = pressed;
+
+ // Handle keypress routine
+ if (pressed) {
+
+ // The [left shift/enter] key was pressed
+ register_code(KC_LSFT);
+
+ // Save keydown time for checking hold/tap on keyup
+ timer_shift_enter = timer_read();
+
+ // Pressing a dual function key requires a hold/tap check on key up
+ dualfunckey_pending = true;
+
+ } else {
+
+ // The [left shift/enter] key was unpressed
+ // Note: unregister shift before pressing ENT so that ENT registers
+ // correctly
+
+ // If no other left shift keys are currently pressed, unregister it
+ if (! shift_lparen_is_pressed) {
+ unregister_code(KC_LSFT);
+ }
+
+ // If a pending dual function key hasn't been used yet, use it here
+ if (dualfunckey_pending && dualfunckey_was_tapped(timer_shift_enter)) {
+ tap_code(KC_ENT);
+ dualfunckey_pending = false;
+ }
+ }
+
+ // This keypress was handled
+ return false;
+
+ // -------------------------------------------------------------------------
+ // Dual function key (hold: left control; tap: escape)
+ // -------------------------------------------------------------------------
+ case CTL_ESC:
+
+ // Handle keypress routine
+ if (pressed) {
+
+ // Control/escape key was pressed
+ register_code(KC_LCTL);
+
+ // Save keydown time for checking hold/tap on keyup
+ timer_control_escape = timer_read();
+
+ // Pressing a dual function key requires a hold/tap check on key up
+ dualfunckey_pending = true;
+
+ } else {
+
+ // Control/escape key was unpressed
+ unregister_code(KC_LCTL);
+
+ // If a pending dual function key hasn't been used yet, use it here
+ if (dualfunckey_pending && dualfunckey_was_tapped(timer_control_escape)) {
+ tap_code(KC_ESC);
+ dualfunckey_pending = false;
+ }
+ }
+
+ // This keypress was handled
+ return false;
+
+ // -------------------------------------------------------------------------
+ // Dual function key (hold: left shift; tap: left parenthesis)
+ // -------------------------------------------------------------------------
+ case LST_PRN:
+
+ // There are multiple keys that are mapped to left shift. Keep track of
+ // which are pressed
+ shift_lparen_is_pressed = pressed;
+
+ // Handle keypress routine
+ if (pressed) {
+
+ // The [left shift/left parenthesis] key was pressed
+ register_code(KC_LSFT);
+
+ // Save keydown time for checking hold/tap on keyup
+ timer_shift_lparen = timer_read();
+
+ // Pressing a dual function key requires a hold/tap check on key up
+ dualfunckey_pending = true;
+
+ } else {
+
+ // The [left shift/left parenthesis] key was unpressed
+ // Note: unregister shift after tapping 9 so that left parenthesis
+ // registers correctly
+
+ // If a pending dual function key hasn't been used yet, use it here
+ if (dualfunckey_pending && dualfunckey_was_tapped(timer_shift_lparen)) {
+ tap_code(KC_9);
+ dualfunckey_pending = false;
+ }
+
+ // If no other left shift keys are currently pressed, unregister it
+ if (! shift_enter_is_pressed) {
+ unregister_code(KC_LSFT);
+ }
+ }
+
+ // This keypress was handled
+ return false;
+
+ // -------------------------------------------------------------------------
+ // Dual function key (hold: right shift; tap: right parenthesis)
+ // -------------------------------------------------------------------------
+ case RST_PRN:
+
+ // Handle keypress routine
+ if (pressed) {
+
+ // The [right shift/right parenthesis] key was pressed
+ register_code(KC_RSFT);
+
+ // Save keydown time for checking hold/tap on keyup
+ timer_shift_rparen = timer_read();
+
+ // Pressing a dual function key requires a hold/tap check on key up
+ dualfunckey_pending = true;
+
+ } else {
+
+ // The [right shift/right parenthesis] key was unpressed
+ // Note: unregister shift after tapping 0 so that right parenthesis
+ // registers correctly
+
+ // If a pending dual function key hasn't been used yet, use it here
+ if (dualfunckey_pending && dualfunckey_was_tapped(timer_shift_rparen)) {
+
+ // Space cadet shift: If the [left shift/left parenthesis] key
+ // is currently pressed, then tap the sequence ()
+ if (shift_lparen_is_pressed) {
+ tap_code(KC_9);
+ }
+
+ tap_code(KC_0);
+ dualfunckey_pending = false;
+ }
+
+ unregister_code(KC_RSFT);
+ }
+
+ // This keypress was handled
+ return false;
+
+ // -------------------------------------------------------------------------
+ // Some other key was pressed (this shouldn't happen)
+ // -------------------------------------------------------------------------
+ default:
+ // This keypress was not handled
+ return true;
+ }
+}
diff --git a/keyboards/keebio/iris/keymaps/fluffactually/keymap.c b/keyboards/keebio/iris/keymaps/fluffactually/keymap.c
index 8761dcbd6c..6caaed18d4 100644
--- a/keyboards/keebio/iris/keymaps/fluffactually/keymap.c
+++ b/keyboards/keebio/iris/keymaps/fluffactually/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[4] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_TOG,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c b/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c
index 7c477f8502..ef98331ca7 100644
--- a/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c
+++ b/keyboards/keebio/iris/keymaps/hbbisenieks/keymap.c
@@ -23,7 +23,7 @@ enum custom_keycodes {
#define KC_ESCC MT(MOD_LCTL, KC_ESC)
#define KC_LOWR LOWER
#define KC_RASE RAISE
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_BL_S BL_STEP
// Left and right shift as mot-tap square braces
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RESET , DEBUG , RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, DEBUG , RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------'
diff --git a/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c b/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c
index e0c09638b2..5fe88a2289 100644
--- a/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c
+++ b/keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c
@@ -5,13 +5,13 @@
#define _RAISE 2
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[0] = LAYOUT(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT, LCTL_T(KC_LGUI), KC_Z, KC_X, KC_C, KC_D, KC_V, LGUI(KC_L), MEH_T(KC_MINS), KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_LGUI, LT(1, KC_QUOT), KC_SFTENT, KC_SPC, LT(2, KC_BSLS), LALT_T(KC_APP)),
- [1] = LAYOUT(KC_MPLY, KC_NO, KC_DQUO, KC_NO, LALT(KC_F4), KC_NO, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_NO, RESET, KC_MPRV, KC_END, KC_UP, KC_HOME, KC_PGUP, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, RGB_SAI, RGB_SAD, KC_MNXT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, RGB_HUI, RGB_HUD, KC_NO, KC_WBAK, KC_WFWD, KC_WSTP, KC_WREF, KC_NO, LCA(KC_DEL), KC_NLCK, KC_P0, KC_P0, KC_PDOT, KC_PENT, RGB_SPI, RGB_SPD, KC_PSCR, KC_NO, KC_LGUI, RGB_TOG, RGB_VAI, RGB_VAD),
+ [1] = LAYOUT(KC_MPLY, KC_NO, KC_DQUO, KC_NO, LALT(KC_F4), KC_NO, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_NO, QK_BOOT, KC_MPRV, KC_END, KC_UP, KC_HOME, KC_PGUP, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, RGB_SAI, RGB_SAD, KC_MNXT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, RGB_HUI, RGB_HUD, KC_NO, KC_WBAK, KC_WFWD, KC_WSTP, KC_WREF, KC_NO, LCA(KC_DEL), KC_NLCK, KC_P0, KC_P0, KC_PDOT, KC_PENT, RGB_SPI, RGB_SPD, KC_PSCR, KC_NO, KC_LGUI, RGB_TOG, RGB_VAI, RGB_VAD),
[2] = LAYOUT(KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_K, KC_NO, KC_WH_D, KC_MS_U, KC_WH_U, KC_NO, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, 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, KC_NO)};
#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _LOWER:
clockwise ? tap_code(KC_MS_WH_UP) : tap_code(KC_MS_WH_DOWN);
break;
@@ -23,7 +23,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
break;
}
} else if (index == 1) {
- switch (biton32(layer_state)) {
+ switch (get_highest_layer(layer_state)) {
case _LOWER:
clockwise ? tap_code(KC_UP) : tap_code(KC_DOWN);
break;
diff --git a/keyboards/keebio/iris/keymaps/khang/keymap.c b/keyboards/keebio/iris/keymaps/khang/keymap.c
index 71c36c8ff9..69c7d8fe64 100644
--- a/keyboards/keebio/iris/keymaps/khang/keymap.c
+++ b/keyboards/keebio/iris/keymaps/khang/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_NO , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , KC_NO ,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
- ______ , ______ , ______ , RESET , ______ , ______
+ ______ , ______ , ______ , QK_BOOT, ______ , ______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
)
};
diff --git a/keyboards/keebio/iris/keymaps/khord/keymap.c b/keyboards/keebio/iris/keymaps/khord/keymap.c
index 379617a8b7..10ef4ce099 100644
--- a/keyboards/keebio/iris/keymaps/khord/keymap.c
+++ b/keyboards/keebio/iris/keymaps/khord/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
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, _______,
+ QK_BOOT, 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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/krusli/keymap.c b/keyboards/keebio/iris/keymaps/krusli/keymap.c
index 095716621d..ef51a973f6 100644
--- a/keyboards/keebio/iris/keymaps/krusli/keymap.c
+++ b/keyboards/keebio/iris/keymaps/krusli/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
_______, _______, RGB_HUD, RGB_SAD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______,
- BL_STEP, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ BL_STEP, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
index 2a737462dd..17a89bb1e1 100644
--- a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h
@@ -1,6 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
index 7c5717a0fe..dbab7f9820 100644
--- a/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c
@@ -1,5 +1,4 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
-// generated -*- buffer-read-only: t -*-
// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/keyboards/keebio/iris/keymaps/mattly/keymap.c b/keyboards/keebio/iris/keymaps/mattly/keymap.c
index 4c1057062f..a499d021a1 100644
--- a/keyboards/keebio/iris/keymaps/mattly/keymap.c
+++ b/keyboards/keebio/iris/keymaps/mattly/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUNCT] = 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,
- RESET, XXXXXXX, XXXXXXX, M_NXWIN, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_K, RESET,
+ QK_BOOT, XXXXXXX, XXXXXXX, M_NXWIN, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_M_P, RGB_M_B, RGB_M_K, QK_BOOT,
DEBUG, XXXXXXX, M_PVTAB, M_PVWIN, M_NXTAB, XXXXXXX, XXXXXXX, TOG_WIN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_MUTE, KC_VOLD, KC_VOLU, KC_MRWD, KC_MFFD, KC_MPLY, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, _______, _______, _______
diff --git a/keyboards/keebio/iris/keymaps/mnil/keymap.c b/keyboards/keebio/iris/keymaps/mnil/keymap.c
index 973122f0c4..1cac3be141 100644
--- a/keyboards/keebio/iris/keymaps/mnil/keymap.c
+++ b/keyboards/keebio/iris/keymaps/mnil/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
[_NUMPAD] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- RGB_TOG, RGB_M_P, RGB_M_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET,
+ RGB_TOG, RGB_M_P, RGB_M_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_TRNS, QUIT, WIN, MVWSL , MVWSR, CRYWS, TERM, KC_7, KC_8, KC_9, KC_COMM, KC_NO,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/mojitas/keymap.c b/keyboards/keebio/iris/keymaps/mojitas/keymap.c
index e3ec651834..959abd1a00 100644
--- a/keyboards/keebio/iris/keymaps/mojitas/keymap.c
+++ b/keyboards/keebio/iris/keymaps/mojitas/keymap.c
@@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
- _______, GAMING , DVORAK , COLEMAK , QWERTY , RESET, _______, _______, _______, _______, KC_PWR, RESET,
+ _______, GAMING , DVORAK , COLEMAK , QWERTY , QK_BOOT, _______, _______, _______, _______, KC_PWR, QK_BOOT,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
_______, _______, _______,LGUI(KC_UP),_______,LALT(KC_F4), _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c b/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c
index dd7996a28d..c5911ae5d3 100644
--- a/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c
+++ b/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c
@@ -36,7 +36,7 @@ enum custom_keycodes {
#define KC_LOWER LOWER
#define KC_RAISE RAISE
#define KC_ADJ ADJUST
-#define KC_RST RESET
+#define KC_RST QK_BOOT
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
diff --git a/keyboards/keebio/iris/keymaps/omgvee/keymap.c b/keyboards/keebio/iris/keymaps/omgvee/keymap.c
index 6f29ccecd3..7434a8d19e 100644
--- a/keyboards/keebio/iris/keymaps/omgvee/keymap.c
+++ b/keyboards/keebio/iris/keymaps/omgvee/keymap.c
@@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- BL_BRTG, _______, _______, _______, DEBUG, RESET, RESET, DEBUG, _______, RGB_HUI, RGB_SAI, RGB_VAI,
+ BL_BRTG, _______, _______, _______, DEBUG, QK_BOOT, QK_BOOT, DEBUG, _______, RGB_HUI, RGB_SAI, RGB_VAI,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
BL_INC, _______, _______, _______, _______, EEP_RST, EEP_RST, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_HWCT] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- BL_BRTG, _______, _______, _______, _______, RESET, RESET, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
+ BL_BRTG, _______, _______, _______, _______, QK_BOOT, QK_BOOT, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
BL_INC, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/keebio/iris/keymaps/osiris/keymap.c b/keyboards/keebio/iris/keymaps/osiris/keymap.c
index 09ad74733d..3df073dbdf 100644
--- a/keyboards/keebio/iris/keymaps/osiris/keymap.c
+++ b/keyboards/keebio/iris/keymaps/osiris/keymap.c
@@ -19,7 +19,7 @@ enum custom_keycodes {
#define KC_LOWR LOWER
#define KC_RASE RAISE
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_BL_S BL_STEP
// left shift as a left key too - makes perfect sense
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
_______,RGB_TOG,RGB_MOD,RGB_HUI,RGB_SAI,RGB_VAI, _______,_______,_______,_______,_______,_______,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- RESET ,DEBUG ,_______,RGB_HUD,RGB_SAD,RGB_VAD, _______,_______,_______,_______,_______,_______,
+ QK_BOOT,DEBUG ,_______,RGB_HUD,RGB_SAD,RGB_VAD, _______,_______,_______,_______,_______,_______,
//|-------+-------+-------+-------+-------+-------+-------. ,-------|-------+-------+-------+-------+-------+-------|
BL_STEP,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,_______,
//`--------+-------+-------+----+--+-------+-------+-------/ \-------+-------+-------+---+---+-------+-------+-------'
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/config.h b/keyboards/keebio/iris/keymaps/radlinskii/config.h
new file mode 100644
index 0000000000..c3d6b34070
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/config.h
@@ -0,0 +1,37 @@
+// Copyright 2022 Ignacy Radliński (@radlinskii)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// #define USE_I2C
+#define EE_HANDS
+
+#define TAPPING_TOGGLE 1 // tap just once for TT() to toggle the layer
+#define TAPPING_TERM 200
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#define RGBLIGHT_LAYERS
+
+#define RGBLIGHT_DEFAULT_HUE 85
+#define RGBLIGHT_DEFAULT_SAT 255
+
+#undef RGBLIGHT_DEFAULT_MODE
+#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT
+
+#undef RGBLIGHT_ANIMATIONS
+#undef RGBLIGHT_EFFECT_BREATHING // fading in and out
+#undef RGBLIGHT_EFFECT_RAINBOW_MOOD // rainbow all keys at the same time
+#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL // rainbow top bottom
+#undef RGBLIGHT_EFFECT_SNAKE
+#undef RGBLIGHT_EFFECT_KNIGHT
+#undef RGBLIGHT_EFFECT_CHRISTMAS
+#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
+#undef RGBLIGHT_EFFECT_RGB_TEST // red -> green -> blue
+#undef RGBLIGHT_EFFECT_ALTERNATING // blinking
+#undef RGBLIGHT_EFFECT_TWINKLE // randomly fading in and out single keys
+
+#define MOUSEKEY_DELAY 20
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_MAX_SPEED 5
+#define MOUSEKEY_TIME_TO_MAX 40
+#define MOUSEKEY_WHEEL_MAX_SPEED 10
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/keymap.c b/keyboards/keebio/iris/keymaps/radlinskii/keymap.c
new file mode 100644
index 0000000000..b7d3e8f9b8
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/keymap.c
@@ -0,0 +1,193 @@
+// Copyright 2022 Ignacy Radliński (@radlinskii)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#include "light_layers.h"
+
+enum my_layers {
+ _COLEMAK,
+ _QWERTY,
+ _NUM_SYM,
+ _NAV,
+ _MOUSE,
+ _MEDIA_MISC,
+};
+
+enum custom_keycodes {
+ COLEMAK = SAFE_RANGE,
+ QWERTY,
+ DEFAULT
+};
+
+#define LALT_KA LALT_T(KC_A)
+#define LCTL_KS LCTL_T(KC_S)
+#define LGUI_KD LGUI_T(KC_D)
+#define LSFT_KF LSFT_T(KC_F)
+#define RSFT_KJ RSFT_T(KC_J)
+#define RGUI_KK RGUI_T(KC_K)
+#define RCTL_KL RCTL_T(KC_L)
+#define RA_SCLN RALT_T(KC_SCLN)
+
+#define LALT_K1 LALT_T(KC_1)
+#define LCTL_K2 LCTL_T(KC_2)
+#define LGUI_K3 LGUI_T(KC_3)
+#define LSFT_K4 LSFT_T(KC_4)
+#define RSFT_K7 RSFT_T(KC_7)
+#define RGUI_K8 RGUI_T(KC_8)
+#define RCTL_K9 RCTL_T(KC_9)
+#define RALT_K0 RALT_T(KC_0)
+
+#define LCTL_KR LCTL_T(KC_R)
+#define LGUI_KS LGUI_T(KC_S)
+#define LSFT_KT LSFT_T(KC_T)
+#define RSFT_KN RSFT_T(KC_N)
+#define RGUI_KE RGUI_T(KC_E)
+#define RCTL_KI RCTL_T(KC_I)
+#define RALT_KO RALT_T(KC_O)
+
+#define LGUI_BS LGUI_T(KC_BSPC)
+#define RALT_TB RALT_T(KC_TAB)
+
+#define TT_N_S TT(_NUM_SYM)
+#define TT_NAV TT(_NAV)
+#define TO_QWRT TO(_QWERTY)
+#define TO_N_S TO(_NUM_SYM)
+#define TO_NAV TO(_NAV)
+#define TO_MOUSE TO(_MOUSE)
+#define TO_M_M TO(_MEDIA_MISC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_COLEMAK] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ XXXXXXX, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, XXXXXXX,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_CAPS, LALT_KA, LCTL_KR, LGUI_KS, LSFT_KT, KC_G, KC_M, RSFT_KN, RGUI_KE, RCTL_KI, RALT_KO, KC_QUOT,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ XXXXXXX, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_DEL, KC_ESC, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ KC_BSPC, TT_N_S, KC_ENT, KC_SPC, TT_NAV, KC_TAB
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+
+ [_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_GRV,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LCTL, LALT_KA, LCTL_KS, LGUI_KD, LSFT_KF, KC_G, KC_H, RSFT_KJ, RGUI_KK, RCTL_KL, RA_SCLN, KC_QUOT,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ LGUI_BS, TT_N_S, KC_ENT, KC_SPC, TT_NAV, RALT_TB
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+
+ [_NUM_SYM] = 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,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_PLUS, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, LALT_K1, LCTL_K2, LGUI_K3, LSFT_K4, KC_5, KC_6, RSFT_K7, RGUI_K8, RCTL_K9, RALT_K0, KC_PIPE,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, KC_GRV, KC_LPRN, KC_LCBR, KC_LBRC, _______, _______, KC_RBRC, KC_RCBR, KC_RPRN, KC_MINS, KC_EQL, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, DEFAULT, _______, _______, TO_NAV, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_NAV] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_UP, KC_PGUP, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, DEFAULT, _______, _______, TO_MOUSE, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_MOUSE] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, KC_WH_R, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_L, TO_M_M,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, DEFAULT, KC_BTN2, KC_BTN1, TO_NAV, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ ),
+
+ [_MEDIA_MISC] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ QK_BOOT, _______, _______, _______, _______, QWERTY, COLEMAK, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ KC_CAPS, KC_MPLY, KC_MNXT, KC_VOLU, KC_BRIU, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, KC_MSTP, KC_MPRV, KC_VOLD, KC_BRID, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, DEFAULT, _______, _______, DEFAULT, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ )
+};
+
+void keyboard_post_init_user(void) {
+ rgblight_layers = MY_LIGHT_LAYERS;
+}
+
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(_COLEMAK, layer_state_cmp(state, _COLEMAK));
+ rgblight_set_layer_state(_QWERTY, layer_state_cmp(state, _QWERTY));
+
+ return state;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ rgblight_set_layer_state(_NUM_SYM, layer_state_cmp(state, _NUM_SYM));
+ rgblight_set_layer_state(_NAV, layer_state_cmp(state, _NAV));
+ rgblight_set_layer_state(_MOUSE, layer_state_cmp(state, _MOUSE));
+ rgblight_set_layer_state(_MEDIA_MISC, layer_state_cmp(state, _MEDIA_MISC));
+
+ return state;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ layer_move(_COLEMAK);
+ }
+ return false;
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ layer_move(_QWERTY);
+ }
+ return false;
+ case DEFAULT:
+ if (record->event.pressed) {
+ if (layer_state_cmp(default_layer_state, _COLEMAK)) {
+ layer_move(_COLEMAK);
+ } else if (layer_state_cmp(default_layer_state, _QWERTY)) {
+ layer_move(_QWERTY);
+ }
+ }
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/light_layers.h b/keyboards/keebio/iris/keymaps/radlinskii/light_layers.h
new file mode 100644
index 0000000000..a1b754545a
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/light_layers.h
@@ -0,0 +1,179 @@
+// Copyright 2022 Ignacy Radliński (@radlinskii)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+/*
+
+LED index mapping:
+
+ (31) (32) (33) (67) (66) (65)
+┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+│0 │1 │2 │3 │4 │5 │ │39 │38 │37 │36 │35 │34 │
+├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+│11 │10 │9 │8 │7 │6 │ │40 │41 │42 │43 │44 │45 │
+├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+│12 │13 │14 │15 │16 │17 │ │51 │50 │49 │48 │47 │46 │
+├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+│23 │22 │21 │20 │19 │18 │27 │ │61 │52 │53 │54 │55 │56 │57 │
+└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ │24 │25 │26 │ │60 │59 │58 │
+ └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ (30) (29) (28) (62) (63) (64)
+
+*/
+
+const rgblight_segment_t PROGMEM COLEMAK_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 127, 255, 255},
+ {6, 6, 115, 255, 255},
+ {12, 6, 97, 255, 255},
+ {18, 6, 90, 255, 255},
+ {24, 1, 85, 255, 255},
+ {25, 1, 169, 255, 255}, // TT(_NUM_SYM)
+ {26, 2, 85, 255, 255},
+ {28, 3, 85, 255, 255}, // underglow
+ {31, 3, 127, 255, 255}, // underglow
+ // right side
+ {34, 6, 127, 255, 255},
+ {40, 6, 115, 255, 255},
+ {46, 6, 97, 255, 255},
+ {52, 6, 90, 255, 255},
+ {58, 1, 85, 255, 255},
+ {59, 1, 201, 255, 255}, // TT(_NAV)
+ {60, 2, 85, 255, 255},
+ {62, 3, 85, 255, 255}, // underglow
+ {65, 3, 127, 255, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM QWERTY_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 85, 0, 255},
+ {6, 6, 85, 70, 255},
+ {12, 6, 85, 150, 255},
+ {18, 6, 85, 240, 255},
+ {24, 1, 85, 255, 255},
+ {25, 1, 169, 255, 255}, // TT(_NUM_SYM)
+ {26, 2, 85, 255, 255},
+ {28, 3, 85, 255, 255}, // underglow
+ {31, 3, 85, 0, 255}, // underglow
+ // right side
+ {34, 6, 85, 0, 255},
+ {40, 6, 85, 70, 255},
+ {46, 6, 85, 150, 255},
+ {52, 6, 85, 240, 255},
+ {58, 1, 85, 255, 255},
+ {59, 1, 201, 255, 255}, // TT(_NAV)
+ {60, 2, 85, 255, 255},
+ {62, 3, 85, 255, 255}, // underglow
+ {65, 3, 85, 0, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM NUM_SYM_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 201, 255, 255},
+ {6, 6, 191, 255, 255},
+ {12, 6, 181, 255, 255},
+ {18, 6, 171, 255, 255},
+ {24, 1, 169, 255, 255},
+ {25, 1, 85, 255, 255}, // TO(DEFAULT)
+ {26, 2, 169, 255, 255},
+ {28, 3, 169, 255, 255}, // underglow
+ {31, 3, 201, 255, 255}, // underglow
+ // right side
+ {34, 6, 201, 255, 255},
+ {40, 6, 191, 255, 255},
+ {46, 6, 181, 255, 255},
+ {52, 6, 171, 255, 255},
+ {58, 1, 169, 255, 255},
+ {59, 1, 201, 255, 255}, // TO(_NAV)
+ {60, 2, 169, 255, 255},
+ {62, 3, 169, 255, 255}, // underglow
+ {65, 3, 201, 255, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM NAV_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 248, 255, 255},
+ {6, 6, 240, 255, 255},
+ {12, 6, 225, 255, 255},
+ {18, 6, 210, 255, 255},
+ {24, 1, 201, 255, 255},
+ {25, 1, 85, 255, 255}, // TO(DEFAULT)
+ {26, 2, 201, 255, 255},
+ {28, 3, 201, 255, 255}, // underglow
+ {31, 3, 248, 255, 255}, // underglow
+ // right side
+ {34, 6, 248, 255, 255},
+ {40, 6, 240, 255, 255},
+ {46, 6, 225, 255, 255},
+ {52, 6, 210, 255, 255},
+ {58, 1, 201, 255, 255},
+ {59, 1, 43, 255, 255}, // TO(_MOUSE)
+ {60, 2, 201, 255, 255},
+ {62, 3, 201, 255, 255}, // underglow
+ {65, 3, 248, 255, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM MOUSE_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // left side
+ {0, 6, 4, 255, 255},
+ {6, 6, 10, 255, 255},
+ {12, 6, 25, 255, 255},
+ {18, 6, 40, 255, 255},
+ {24, 1, 43, 255, 255},
+ {25, 1, 85, 255, 255}, // TO(DEFAULT)
+ {26, 2, 43, 255, 255},
+ {28, 3, 43, 255, 255}, // underglow
+ {31, 3, 4, 255, 255}, // underglow
+ // right side
+ {34, 6, 4, 255, 255},
+ {40, 6, 10, 255, 255},
+ {46, 1, 0, 255, 255}, // TO(_MEDIA_MISC)
+ {47, 5, 25, 255, 255},
+ {52, 6, 40, 255, 255},
+ {58, 1, 43, 255, 255},
+ {59, 1, 201, 255, 255}, // TO(_NAV)
+ {60, 2, 43, 255, 255},
+ {62, 3, 43, 255, 255}, // underglow
+ {65, 3, 4, 255, 255} // underglow
+);
+
+const rgblight_segment_t PROGMEM MEDIA_MISC_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
+ // both sides
+ {0, 1, 0, 255, 255}, // RESET
+ {1, 4, 0, 0, 0},
+ {5, 1, 85, 0, 255}, // set QWERTY as default
+ {6, 2, 0, 0, 0},
+ {8, 1, 160, 150, 150}, // MUTE
+ {9, 3, 0, 0, 0},
+ {12, 1, 201, 255, 255}, // CAPS
+ {13, 1, 120, 255, 255}, // PLAY
+ {14, 1, 0, 255, 255}, // NEXT
+ {15, 1, 160, 255, 255}, // VOLUME_UP
+ {16, 1, 43, 255, 255}, // BRIGHTNESS_UP
+ {17, 2, 0, 0, 0},
+ {19, 1, 43, 200, 200}, // BRIGHTNESS_DOWN
+ {20, 1, 160, 220, 200}, // VOLUME_DOWN
+ {21, 1, 0, 220, 200}, // PREV
+ {22, 1, 120, 220, 200}, // STOP
+ {23, 2, 0, 0, 0},
+ {25, 1, 85, 255, 255}, // TO(DEFAULT)
+ {26, 2, 0, 0, 0},
+ {28, 6, 0, 255, 255}, // underglow
+ {34, 5, 0, 0, 0},
+ {39, 1, 127, 255, 255}, // set COLEMAK as default
+ {40, 19, 0, 0, 0},
+ {59, 1, 85, 255, 255}, // TO(DEFAULT)
+ {60, 2, 0, 0, 0},
+ {62, 6, 0, 255, 255} // underglow
+);
+
+const rgblight_segment_t* const PROGMEM MY_LIGHT_LAYERS[] = RGBLIGHT_LAYERS_LIST(
+ COLEMAK_LIGHT_LAYER,
+ QWERTY_LIGHT_LAYER,
+ NUM_SYM_LIGHT_LAYER,
+ NAV_LIGHT_LAYER,
+ MOUSE_LIGHT_LAYER,
+ MEDIA_MISC_LIGHT_LAYER
+);
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/readme.md b/keyboards/keebio/iris/keymaps/radlinskii/readme.md
new file mode 100644
index 0000000000..5a0e929991
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/readme.md
@@ -0,0 +1,137 @@
+# Iris rev. 6 keymap by radlinskii
+
+![iris rev. 6 by radlinskii lightning demo](https://user-images.githubusercontent.com/26116041/171883033-3c5ababe-88ae-4c9d-8436-3d6ab83dbf4b.gif)
+
+## Features:
+
+- [RGB Lightning layers](https://docs.qmk.fm/#/feature_rgblight?id=lighting-layers)
+- [MOUSE KEYS](https://docs.qmk.fm/#/keycodes?id=mouse-keys)
+- [MOD-TAPS](https://docs.qmk.fm/#/mod_tap)
+
+## Layers:
+
+### colemak - default
+
+> [Colemak DH](https://colemakmods.github.io/mod-dh/) keyboard layout.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="colemak layer keymap" src="https://user-images.githubusercontent.com/26116041/173403537-f2222651-c8ea-4c8b-b828-97520a222344.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+
+<img width="800" alt="colemak layer lightning" src="https://user-images.githubusercontent.com/26116041/173681398-cdcff1a5-ae79-4409-950a-1b671c350f07.jpeg">
+
+</details>
+
+### qwerty - alternative default
+
+> Can be set as persistent default layer.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="qwerty layer keymap" src="https://user-images.githubusercontent.com/26116041/173403371-1551976a-2f95-4dbd-ba07-96936651871d.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="qwerty layer lightning" src="https://user-images.githubusercontent.com/26116041/173681525-aee3c927-995a-4f83-b688-ed8bfd3f8bb6.jpeg">
+
+</details>
+
+### numeric + symbols
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="numeric and symbols layer keymap" src="https://user-images.githubusercontent.com/26116041/173403164-b0520501-761b-4567-bf04-57f7b6f7dd4d.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="numeric and symbols layer lightning" src="https://user-images.githubusercontent.com/26116041/173681689-0b864e35-0e02-4204-a469-6e872e704903.jpeg">
+
+</details>
+
+### navigation
+
+> Layer with arrow navigation.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="navigation layer keymap" src="https://user-images.githubusercontent.com/26116041/173408142-1e1c297e-57db-42f8-bc18-a04dd4e202c9.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="navigation layer lightning" src="https://user-images.githubusercontent.com/26116041/173681859-fa6f071a-98e9-48f8-a9a0-76d7510b302a.jpeg">
+
+</details>
+
+### mouse
+
+> Layer with mouse navigation on the same keys as arrow navigation.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="mouse layer keymap" src="https://user-images.githubusercontent.com/26116041/173402955-050ffd77-7b60-45dc-8e89-54cd43793132.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="mouse layer lightning" src="https://user-images.githubusercontent.com/26116041/173682436-07c32e5e-f415-463d-8c93-d2cbd4e406a1.jpeg">
+
+</details>
+
+### media and miscellaneous
+
+> Used for media keys, switching default layer and keyboard reset.
+
+<details>
+ <summary>
+ keymap
+ </summary>
+
+<img width="800" alt="media and miscellaneous layer keymap" src="https://user-images.githubusercontent.com/26116041/173402837-75ce8ab1-7fbe-454b-b165-b22d171f9ad1.png">
+
+</details>
+<details>
+ <summary>
+ lightning
+ </summary>
+
+<img width="800" alt="media and miscellaneous layer lightning" src="https://user-images.githubusercontent.com/26116041/173682188-3eab9c09-d466-4729-89ac-48e09f55564c.jpeg">
+
+</details>
+
diff --git a/keyboards/keebio/iris/keymaps/radlinskii/rules.mk b/keyboards/keebio/iris/keymaps/radlinskii/rules.mk
new file mode 100644
index 0000000000..f1a0d40690
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/radlinskii/rules.mk
@@ -0,0 +1,3 @@
+RGBLIGHT_ENABLE = yes # by default this is no, but for the rgb light layers to work it needs to be `yes`
+RGB_MATRIX_ENABLE = no # by default this is yes, but for the rgb light layers to work it needs to be `no`
+MOUSEKEY_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
index 19a939a55b..752fc392f3 100644
--- a/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
+++ b/keyboards/keebio/iris/keymaps/sq5rix/keymap.c
@@ -63,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_RAISE] = LAYOUT(
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP, KC_PSCREEN, _______, _______, _______, _______, RESET,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP, KC_PSCREEN, _______, _______, _______, _______, QK_BOOT,
_______, KC_SLSH, KC_6, KC_5, KC_4, KC_EQL, KC_CIRC, KC_PGUP, KC_UP, KC_PGDN, _______, RGB_VAI,
_______, KC_3, KC_2, KC_1, KC_0, KC_DOT, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
_______, KC_ASTR, KC_9, KC_8, KC_7, KC_PLUS, _______, _______, KC_PLUS, KC_HOME, KC_COLN, KC_END, _______, RGB_MOD,
@@ -134,7 +134,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
// tmux screen
else if (index == 1) {
- switch(biton32(layer_state)){
+ switch(get_highest_layer(layer_state)){
case 0:
if (clockwise) {
send_string(SS_LCTL("B")"p");
@@ -182,4 +182,3 @@ layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_set_layer_state(2, layer_state_cmp(state, 4));
return state;
}
-
diff --git a/keyboards/keebio/iris/keymaps/two_knob/config.h b/keyboards/keebio/iris/keymaps/two_knob/config.h
new file mode 100644
index 0000000000..37ffb20a2f
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/config.h
@@ -0,0 +1,62 @@
+// Copyright 2022 Ryan Neff (@JellyTitan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define EE_HANDS
+
+/* Turn off RGB light when host is asleep. (Doesn't seem to work for mac)? */
+#define RGBLIGHT_SLEEP
+#define RGBLIGHT_LAYERS
+/* Decrease decay of heatmap rgb effect */
+#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50
+/* If you're setting colors per key, this is required. */
+#define SPLIT_LAYER_STATE_ENABLE
+
+/* If you type too fast, it confuses the Mod key combos. This resolves it: */
+#define IGNORE_MOD_TAP_INTERRUPT
+
+/* Set tapdance speed */
+#define TAPPING_TERM 210
+
+/* Allows for the setting of constant mouse speed levels. */
+/* Delay between pressing a movement key and cursor movement */
+#define MOUSEKEY_DELAY 10
+/* Time between cursor movements in milliseconds */
+#define MOUSEKEY_INTERVAL 16
+/* Step size */
+#define MOUSEKEY_MOVE_DELTA 8
+/* Maximum cursor speed at which acceleration stops */
+#define MOUSEKEY_MAX_SPEED 2
+/* Time until maximum cursor speed is reached */
+#define MOUSEKEY_TIME_TO_MAX 40
+/* Maximum number of scroll steps per scroll action */
+#define MOUSEKEY_WHEEL_MAX_SPEED 42
+/* Time until maximum scroll speed is reached */
+#define MOUSEKEY_WHEEL_TIME_TO_MAX 15
+
+// Tweak how the mouse cursor moves. https://docs.qmk.fm/#/feature_mouse_keys
+// Accelerated mode (default).
+// MOUSEKEY_DELAY 10 Delady between pressing a movement key and cursor movement
+// MOUSEKEY_INTERVAL 20 Time between cursor movements in milliseconds
+// MOUSEKEY_MOVE_DELTA 8 Step size
+// MOUSEKEY_MAX_SPEED 10 Maximum cursor speed at which acceleration stops
+// MOUSEKEY_TIME_TO_MAX 30 Time until maximum cursor speed is reached
+// MOUSEKEY_WHEEL_DELAY 10 Delay between pressing a wheel key and wheel movement
+// MOUSEKEY_WHEEL_INTERVAL 80 Time between wheel movements
+// MOUSEKEY_WHEEL_MAX_SPEED 8 Maximum number of scroll steps per scroll action
+// MOUSEKEY_WHEEL_TIME_TO_MAX 40 Time until maximum scroll speed is reached
+
+// Kinetic mode, alternate to the default mode.
+// MK_KINETIC_SPEED undefined Enable kinetic mode
+// MOUSEKEY_DELAY 5 Delay between pressing a movement key and cursor movement
+// MOUSEKEY_INTERVAL 10 Time between cursor movements in milliseconds
+// MOUSEKEY_MOVE_DELTA 5 Step size for accelerating from initial to base speed
+// MOUSEKEY_INITIAL_SPEED 100 Initial speed of the cursor in pixel per second
+// MOUSEKEY_BASE_SPEED 1000 Maximum cursor speed at which acceleration stops
+// MOUSEKEY_DECELERATED_SPEED 400 Decelerated cursor speed
+// MOUSEKEY_ACCELERATED_SPEED 3000 Accelerated cursor speed
+// MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 16 Initial number of movements of the mouse wheel
+// MOUSEKEY_WHEEL_BASE_MOVEMENTS 32 Maximum number of movements at which acceleration stops
+// MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 Accelerated wheel movements
+// MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 Decelerated wheel movements
diff --git a/keyboards/keebio/iris/keymaps/two_knob/keymap.c b/keyboards/keebio/iris/keymaps/two_knob/keymap.c
new file mode 100644
index 0000000000..aeeb2df905
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/keymap.c
@@ -0,0 +1,261 @@
+// Copyright 2022 Ryan Neff (@JellyTitan)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+/* Defines macros for use with the configurators "Any" key. (These are non-standard macros). */
+/* Move active application right half. */
+#define KC_CSGRA LCTL(LSFT(LGUI(KC_RGHT)))
+/* Move active application to left half. */
+#define KC_CSGLA LCTL(LSFT(LGUI(KC_LEFT)))
+/* Maximize active application. */
+#define KC_MAXIM LCTL(LSFT(LGUI(KC_UP)))
+/* Minimize active application. */
+#define KC_MINIM LCTL(LSFT(LGUI(KC_DOWN)))
+
+/* Rotary encoder variables used to hold down Command (GUI) key while cycling through open programs. */
+bool is_cmd_tab_active = false;
+uint16_t cmd_tab_timer = 0;
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ ADJUST,
+ CMD_TAB_CW,
+ CMD_TAB_CCW,
+};
+
+/**
+ * Tap Dance declarations
+ */
+enum tapdances {
+ _TD_FIVE_ENTER,
+};
+
+/* Tapdance */
+#define TD_FIVE_ENTER TD(_TD_FIVE_ENTER)
+
+/**
+ * Tap Dance definitions
+ *
+ * NOTE - if your not using tapdance, comment out:
+ * TAP_DANCE_ENABLE = yes in rules.mk
+ * define TAPPING_TERM 175 in config.h
+ * else you'll get a compile error.
+ *
+ * To use this in the configurator, enter the name 'TD_FIVE_ENTER' in the "Any" key.
+ */
+qk_tap_dance_action_t tap_dance_actions[] = {
+ /* Tap once for 5, twice for Enter. */
+ [_TD_FIVE_ENTER] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_ENT),
+};
+
+/**
+ * Keymap. Generated via configurator.
+ *
+ * You can download/upload the two_know.json to the configurator:
+ * https://config.qmk.fm/#/keebio/iris/rev6a/LAYOUT
+ *
+ * If you make changes and download the json, you can run qmk json2c two_knob.json to get converted text.
+ * You can copy and paste it here.
+ * You will have to reneame the array keys from ints to the custom keycode names.
+ *
+ * The rotary encoders are programmed manually below because the configurator does not support them yet.
+ */
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT(KC_EQL, KC_1, KC_2, KC_3, KC_4, TD_FIVE_ENTER, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, LT(1, KC_DEL), LT(2, KC_A), LCTL_T(KC_S), KC_D, LGUI_T(KC_F), KC_G, KC_H, RGUI_T(KC_J), KC_K, RCTL_T(KC_L), LT(2, KC_SCLN), LT(1, KC_QUOT), KC_LSPO, LALT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_MINIM, KC_MAXIM, KC_N, KC_M, KC_COMM, KC_DOT, RALT_T(KC_SLSH), KC_RSPC, QK_GESC, KC_SPC, KC_BSPC, KC_TAB, KC_ENT, KC_DEL),
+ [_LOWER] = LAYOUT(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, DT_PRNT, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, DT_UP, KC_4, KC_5, KC_6, KC_PPLS, KC_TRNS, KC_TRNS, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS, DT_DOWN, KC_1, KC_2, KC_3, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0),
+ [_RAISE] = LAYOUT(RGB_TOG, KC_ACL0, KC_ACL1, KC_ACL2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_UP, KC_BTN2, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_CSGLA, KC_CSGRA, KC_TRNS, KC_TRNS),
+ [_ADJUST] = LAYOUT(
+ //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
+ _______, _______, _______, _______, _______, _______
+ // └────────┴────────┴────────┘ └────────┴────────┴────────┘
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ 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;
+ case CMD_TAB_CW:
+ if (record->event.pressed) {
+ if (!is_cmd_tab_active) {
+ is_cmd_tab_active = true;
+ register_code(KC_LGUI);
+ }
+ cmd_tab_timer = timer_read();
+ register_code(KC_TAB);
+ } else {
+ unregister_code(KC_TAB);
+ }
+ break;
+ case CMD_TAB_CCW:
+ if (record->event.pressed) {
+ if (!is_cmd_tab_active) {
+ is_cmd_tab_active = true;
+ register_code(KC_LGUI);
+ }
+ cmd_tab_timer = timer_read();
+ tap_code16(S(KC_TAB));
+ } else {
+ unregister_code(KC_TAB);
+ }
+ break;
+ }
+ return true;
+}
+
+/**
+ * Define lighting layers.
+ *
+ * Iris rev6a uses WS2812 RGB Matrix lighting.
+ * The RGB Matrix lighting option has already been enabled in ../../rev6a/config.h
+ * You'll need to add #define SPLIT_LAYER_STATE_ENABLE to config.h if you
+ * will be customizing the LED's per key.
+ *
+ * Here's how to customize the colors per layer and per key:
+ * https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgb_matrix.md#direct-operation-iddirect-operation
+ *
+ * If you start getting real weird with it, your likely to exceed the firmware limit of 28672.
+ * You may need to selectively disable some effects:
+ * https://github.com/qmk/qmk_firmware/blob/master/docs/feature_rgb_matrix.md#rgb-matrix-effects-idrgb-matrix-effects
+ *
+ * There are 68 Leds. Printed on the board itself, the led numbers are 1-68.
+ * For color addressing, use 0-67 as the index number.
+ * rgb_matrix_set_color(index, r, g, b)
+ *
+ * Here's an LED number guide:
+ * FRONT
+ * Left Hand Right Hand
+ * |00|01|02|03|04|05| |39|38|37|36|35|34|
+ * |11|10|09|08|07|06| |40|41|42|43|44|45|
+ * |12|13|14|15|16|17| |51|50|49|48|47|46|
+ * |23|22|21|20|19|18|27| |61|52|53|54|55|56|57|
+ * |24|25|26| |60|59|58|
+ * REVERSE
+ * Right Hand Left Hand
+ * |65|--|--|66|--|67| |33|--|32|--|--|31|
+ * |--|--|--|--|--|--| |--|--|--|--|--|--|
+ * |--|--|--|--|--|--| |--|--|--|--|--|--|
+ * |64|--|--|63|--|--|--| |--|--|--|29|--|--|30|
+ * |--|62|--| |--|28|--|
+ */
+// void rgb_matrix_indicators_user(void) {
+// if (IS_LAYER_ON(1)) {
+// /* Upperleft most key red: */
+// rgb_matrix_set_color(0,255,0,0);
+// /* Upperright most front key blue: */
+// rgb_matrix_set_color(0,0,255,0);
+// /* Bottom right on lefthand Green: */
+// rgb_matrix_set_color(0, RGB_GREEN);
+// }
+// else if (IS_LAYER_ON(2)) {
+// /* RGB +/- controls. */
+// rgb_matrix_set_color(35, RGB_RED);
+// rgb_matrix_set_color(34, RGB_BLUE);
+// rgb_matrix_set_color(37, RGB_RED);
+// rgb_matrix_set_color(36, RGB_BLUE);
+// rgb_matrix_set_color(44, RGB_RED);
+// rgb_matrix_set_color(45, RGB_BLUE);
+// rgb_matrix_set_color(47, RGB_RED);
+// rgb_matrix_set_color(46, RGB_BLUE);
+// rgb_matrix_set_color(56, RGB_RED);
+// rgb_matrix_set_color(57, RGB_BLUE);
+// /* RGB Toggle. */
+// rgb_matrix_set_color(00, RGB_PURPLE);
+// /* Move screen left/right. */
+// rgb_matrix_set_color(26, RGB_YELLOW);
+// rgb_matrix_set_color(60, RGB_YELLOW);
+// /* Arrow keys. */
+// rgb_matrix_set_color(50, RGB_PURPLE);
+// rgb_matrix_set_color(49, RGB_PURPLE);
+// rgb_matrix_set_color(48, RGB_PURPLE);
+// rgb_matrix_set_color(42, RGB_PURPLE);
+// /* Mouse movement arrows. */
+// rgb_matrix_set_color(14, RGB_ORANGE);
+// rgb_matrix_set_color(15, RGB_ORANGE);
+// rgb_matrix_set_color(16, RGB_ORANGE);
+// rgb_matrix_set_color(8, RGB_ORANGE);
+// /* Mouse buttons. */
+// rgb_matrix_set_color(41, RGB_ORANGE);
+// rgb_matrix_set_color(43, RGB_ORANGE);
+// /* Mouse acceleration. */
+// rgb_matrix_set_color(01, 200, 165, 0);
+// rgb_matrix_set_color(02, 255, 200, 0);
+// rgb_matrix_set_color(03, 255, 235, 0);
+// }
+// }
+
+/**
+ * Rotary Encoder.
+ *
+ * This can't be programmed through configurator. You must do it here.
+ *
+ * This uses the amazing "Encoder map" feature which replicates the normal keyswitch layer handling functionality, but with encoders.
+ * https://docs.qmk.fm/#/feature_encoders?id=encoder-map
+ *
+ * Uses a variant of the Super-alt-tab macro to switch between open applications on a mac. (Command-tab)
+ * https://docs.qmk.fm/#/feature_macros?id=super-alt%e2%86%aftab
+ */
+#if defined(ENCODER_MAP_ENABLE)
+ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ /* Left Hand */ /* Right Hand */
+ /* Switch between tabs. (Control + Tab). */ /* Switch between open apps on Mac. (Command + Tab + timer logic) */
+ [_QWERTY] = { ENCODER_CCW_CW(S(C(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(CMD_TAB_CCW, CMD_TAB_CW) },
+ /* Scrolls left & right. (Shift + Mouse Wheel Up). */ /* Scrolls up and down. (Page Down & Page Up - mouse wheel scroll incraments are too small) */
+ [_LOWER] = { ENCODER_CCW_CW(S(KC_MS_WH_UP), S(KC_MS_WH_DOWN)), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ /* Selects adjacent words. (Command + Shift + Right Arrow). */ /* Jumps to end/start of line. Hold shift to select. (Gui + arrow). */
+ [_RAISE] = { ENCODER_CCW_CW(C(S(KC_LEFT)), C(S(KC_RGHT))), ENCODER_CCW_CW(G(KC_LEFT), G(KC_RGHT)) },
+ /* Scroll through RGB Modes */ /* Right & left arrow */
+ [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
+ };
+#endif
+
+
+/**
+ * Helper function for rotary encoder.
+ *
+ * If the timer has elapsed, the Command/Gui tab will be released.
+ * You can adjust the milliseconds to speed up the CMD key release.
+ */
+void matrix_scan_user(void) {
+ if (is_cmd_tab_active) {
+ if (timer_elapsed(cmd_tab_timer) > 900) {
+ unregister_code(KC_LGUI);
+ is_cmd_tab_active = false;
+ }
+ }
+}
diff --git a/keyboards/keebio/iris/keymaps/two_knob/readme.md b/keyboards/keebio/iris/keymaps/two_knob/readme.md
new file mode 100644
index 0000000000..728650fcb9
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/readme.md
@@ -0,0 +1,15 @@
+# Two Knob Keymap for Iris Rev6a
+![two_knobs](https://i.imgur.com/JqGPWCn.png)
+
+This keymap is derived from Ergodox layouts and is adapted for the [Iris6a](https://docs.keeb.io/iris-rev6-build-guide). It is notable for it's semi-complex programming examples that include the use of rotary encoders.
+
+Plenty of useful examples:
+* Advanced knob programming! (Three-layer usage + clicks)
+* Advanced RGB! (Per-key lighting)
+* Macros! (Fancy key combos tied to the rotary encoders)
+* Tap Dance! (Double tap your '5' key for 'Enter')
+* Dynamic Tapping term! (Dial in the double tap speed)
+
+The qwerty key layout is my adaptation of the ergodox defaults. If this is your first split keyboard, you probably want a different key layout.
+
+I stopped using the fancy RGB programming pretty quickly. It was a complex to get working initially, so I'm leaving the examples here for others. (As a touch typist - not terribly helpful, but it looks nice). YMMV.
diff --git a/keyboards/keebio/iris/keymaps/two_knob/rules.mk b/keyboards/keebio/iris/keymaps/two_knob/rules.mk
new file mode 100644
index 0000000000..dd49f77547
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/rules.mk
@@ -0,0 +1,15 @@
+# Copyright 2022 Ryan Neff (@JellyTitan)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# Turn on mouse:
+MOUSEKEY_ENABLE = yes
+# Turn on tap dance:
+TAP_DANCE_ENABLE = yes
+# Dynamic Tapping Term:
+DYNAMIC_TAPPING_TERM_ENABLE = yes
+# Replicates the normal keyswitch layer handling functionality, but with encoders:
+ENCODER_MAP_ENABLE = yes
+# Console for debug:
+# This is enabled by the parent iris rev6a config - turning it off saves us some space.
+# You can find the other iris default options here: keyboards/keebio/iris/rev6a/rules.mk
+CONSOLE_ENABLE = no
diff --git a/keyboards/keebio/iris/keymaps/two_knob/two_knob.json b/keyboards/keebio/iris/keymaps/two_knob/two_knob.json
new file mode 100644
index 0000000000..62fb931873
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/two_knob/two_knob.json
@@ -0,0 +1,185 @@
+{
+ "version": 1,
+ "notes": "Based on legacy Ergodox layouts.",
+ "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
+ "keyboard": "keebio/iris/rev6a",
+ "keymap": "two_knob",
+ "layout": "LAYOUT",
+ "layers": [
+ [
+ "KC_EQL",
+ "KC_1",
+ "KC_2",
+ "KC_3",
+ "KC_4",
+ "ANY(TD_FIVE_ENTER)",
+ "KC_6",
+ "KC_7",
+ "KC_8",
+ "KC_9",
+ "KC_0",
+ "KC_MINS",
+ "KC_TAB",
+ "KC_Q",
+ "KC_W",
+ "KC_E",
+ "KC_R",
+ "KC_T",
+ "KC_Y",
+ "KC_U",
+ "KC_I",
+ "KC_O",
+ "KC_P",
+ "KC_BSLS",
+ "LT(1,KC_DEL)",
+ "LT(2,KC_A)",
+ "LCTL_T(KC_S)",
+ "KC_D",
+ "LGUI_T(KC_F)",
+ "KC_G",
+ "KC_H",
+ "RGUI_T(KC_J)",
+ "KC_K",
+ "RCTL_T(KC_L)",
+ "LT(2,KC_SCLN)",
+ "LT(1,KC_QUOT)",
+ "KC_LSPO",
+ "LALT_T(KC_Z)",
+ "KC_X",
+ "KC_C",
+ "KC_V",
+ "KC_B",
+ "ANY(KC_MINIM)",
+ "ANY(KC_MAXIM)",
+ "KC_N",
+ "KC_M",
+ "KC_COMM",
+ "KC_DOT",
+ "RALT_T(KC_SLSH)",
+ "KC_RSPC",
+ "QK_GESC",
+ "KC_SPC",
+ "KC_BSPC",
+ "KC_TAB",
+ "KC_ENT",
+ "KC_DEL"
+ ],
+ [
+ "KC_TRNS",
+ "KC_F1",
+ "KC_F2",
+ "KC_F3",
+ "KC_F4",
+ "KC_F5",
+ "KC_F6",
+ "KC_F7",
+ "KC_F8",
+ "KC_F9",
+ "KC_F10",
+ "KC_F11",
+ "KC_TRNS",
+ "KC_EXLM",
+ "KC_AT",
+ "KC_LCBR",
+ "KC_RCBR",
+ "KC_PIPE",
+ "ANY(DT_PRNT)",
+ "KC_7",
+ "KC_8",
+ "KC_9",
+ "KC_ASTR",
+ "KC_F12",
+ "KC_TRNS",
+ "KC_HASH",
+ "KC_DLR",
+ "KC_LPRN",
+ "KC_RPRN",
+ "KC_GRV",
+ "ANY(DT_UP)",
+ "KC_4",
+ "KC_5",
+ "KC_6",
+ "KC_PPLS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_HASH",
+ "KC_DLR",
+ "KC_LBRC",
+ "KC_RBRC",
+ "KC_TILD",
+ "KC_TRNS",
+ "KC_TRNS",
+ "ANY(DT_DOWN)",
+ "KC_1",
+ "KC_2",
+ "KC_3",
+ "KC_PSLS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_P0"
+ ],
+ [
+ "RGB_TOG",
+ "KC_ACL0",
+ "KC_ACL1",
+ "KC_ACL2",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RGB_MOD",
+ "RGB_RMOD",
+ "RGB_HUI",
+ "RGB_HUD",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_MS_U",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_BTN1",
+ "KC_UP",
+ "KC_BTN2",
+ "RGB_SAI",
+ "RGB_SAD",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_MS_L",
+ "KC_MS_D",
+ "KC_MS_R",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_LEFT",
+ "KC_DOWN",
+ "KC_RGHT",
+ "RGB_VAI",
+ "RGB_VAD",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "KC_TRNS",
+ "RGB_SPI",
+ "RGB_SPD",
+ "KC_TRNS",
+ "KC_TRNS",
+ "ANY(KC_CSGLA)",
+ "ANY(KC_CSGRA)",
+ "KC_TRNS",
+ "KC_TRNS"
+ ]
+ ],
+ "author": "https://github.com/JellyTitan"
+}
diff --git a/keyboards/keebio/iris/keymaps/via/keymap.c b/keyboards/keebio/iris/keymaps/via/keymap.c
index 1305a3b909..cfd274cd9a 100644
--- a/keyboards/keebio/iris/keymaps/via/keymap.c
+++ b/keyboards/keebio/iris/keymaps/via/keymap.c
@@ -1,11 +1,11 @@
#include QMK_KEYBOARD_H
-extern keymap_config_t keymap_config;
-
-#define _MAIN 0
-#define _FN1 1
-#define _FN2 2
-#define _FN3 3
+enum custom_layer {
+ _MAIN,
+ _FN1,
+ _FN2,
+ _FN3,
+};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ QK_BOOT, 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,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
@@ -65,3 +65,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+# if defined(KEYBOARD_keebio_iris_rev7)
+ [_MAIN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) },
+ [_FN1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_HOME, KC_END) },
+ [_FN2] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [_FN3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_UP, KC_DOWN) },
+# else
+ [_MAIN] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_FN1] = { ENCODER_CCW_CW(KC_HOME, KC_END), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
+ [_FN2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
+ [_FN3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+# endif
+};
+#endif
diff --git a/keyboards/keebio/iris/keymaps/via/rules.mk b/keyboards/keebio/iris/keymaps/via/rules.mk
index 36b7ba9cbc..1189f4ad19 100644
--- a/keyboards/keebio/iris/keymaps/via/rules.mk
+++ b/keyboards/keebio/iris/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/xyverz/keymap.c b/keyboards/keebio/iris/keymaps/xyverz/keymap.c
index e5e8aebd28..d59fd8fedf 100644
--- a/keyboards/keebio/iris/keymaps/xyverz/keymap.c
+++ b/keyboards/keebio/iris/keymaps/xyverz/keymap.c
@@ -25,7 +25,7 @@ enum custom_keycodes {
#define KC_LOWR LOWER
#define KC_RASE RAISE
-#define KC_RST RESET
+#define KC_RST QK_BOOT
#define KC_BL_S BL_STEP
#define KC_QWRT QWERTY
#define KC_CLMK COLEMAK
diff --git a/keyboards/keebio/iris/keymaps/yoonbae81/keymap.c b/keyboards/keebio/iris/keymaps/yoonbae81/keymap.c
index 58f115d6d1..07cd2cb094 100644
--- a/keyboards/keebio/iris/keymaps/yoonbae81/keymap.c
+++ b/keyboards/keebio/iris/keymaps/yoonbae81/keymap.c
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN3] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤