diff options
author | InigoGutierrez <inigogf.95@gmail.com> | 2022-09-25 16:02:54 +0200 |
---|---|---|
committer | InigoGutierrez <inigogf.95@gmail.com> | 2022-09-25 16:02:54 +0200 |
commit | 6afdd9d74da250e47ac64d6690bd19d037045e99 (patch) | |
tree | 661f6cfb244c02bcd1fbfe8fb9b2bd9242a91394 /keyboards/keebio/iris/keymaps | |
parent | 93a55e61b59d20f7cd842cce02e5b18a63a23612 (diff) | |
parent | 1bdf4cdc22ae57d111efb2f7d71e405e5c7b3f11 (diff) | |
download | qmk_firmware-6afdd9d74da250e47ac64d6690bd19d037045e99.tar.gz qmk_firmware-6afdd9d74da250e47ac64d6690bd19d037045e99.zip |
Merge branch 'master' into taamas
Diffstat (limited to 'keyboards/keebio/iris/keymaps')
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, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ |