16 Commits

10 changed files with 309 additions and 164 deletions

1
.gitignore vendored
View File

@@ -4,3 +4,4 @@ obj_*
*.map
build/
.DS_Store
.vscode/

View File

@@ -22,6 +22,14 @@ enum {
enum {
CUSTOM_KEYCODE_START = SAFE_RANGE,
WINDOWS,
COPY,
PASTE,
CUT,
UNDO,
REDO,
SALL,
SPOTLI,
M_PASS1,
M_PASS2,
M_PASS3,
@@ -41,9 +49,12 @@ enum {
#define NUM_SPC LT(_NUM, KC_SPC)
#define FUN_DEL LT(_FUN, KC_DEL)
#define QWERTY DF(_QWERTY)
#define COLEMAK DF(_COLEMAK_DH)
// 2 LEFT THUMB KEYS
#define FUN_TAB LT(_FUN, KC_TAB)
// 2 RIGHT THUMB KEYS
#define NUM_SPC LT(_NUM, KC_SPC)
// clang-format on
// clang-format on

View File

@@ -17,8 +17,8 @@
// EMPTY ROW
#define __________________EMPTY_____________________ _______, _______, _______, _______, _______
// BOOTLOADER
#define _________________BOOT_R1____________________ _______, _______, _______, _______, QK_BOOTLOADER
#define _________________BOOT_L1____________________ QK_BOOTLOADER,_______,_______,_______,_______
#define _________________BOOT_R1____________________ _______, _______, QWERTY, _______, QK_BOOTLOADER
#define _________________BOOT_L1____________________ QK_BOOTLOADER,_______,COLEMAK,_______,_______
// _BASE
@@ -35,9 +35,9 @@
#define __________________NAV_L2____________________ _______, _______, _______, M_PASS3, M_PASS4
#define __________________NAV_L3____________________ _______, _______, _______, M_PASS2, M_PASS1
#define __________________NAV_R1____________________ _______, KC_PSTE, KC_COPY, KC_CUT, KC_UNDO
#define __________________NAV_R2____________________ KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
#define __________________NAV_R3____________________ _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END
#define __________________NAV_R1____________________ KC_CAPS, PASTE, COPY, CUT, UNDO
#define __________________NAV_R2____________________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______
#define __________________NAV_R3____________________ SALL, KC_HOME, KC_PGUP, KC_PGDN, KC_END
// NUM
@@ -70,4 +70,13 @@
// MOUSE
#define __________________MOU_R1____________________ _______, KC_PSTE, KC_COPY, KC_CUT, KC_UNDO
#define __________________MOU_R2____________________ KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R
#define __________________MOU_R3____________________ KC_BTN2, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R
#define __________________MOU_R3____________________ KC_BTN2, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R
// COLEMAK-DH
#define __________________COLEML1____________________ Q_ESC, KC_W, KC_F, KC_P, KC_B
#define __________________COLEML2____________________ KC_A, KC_R, KC_S, KC_T, KC_G
#define __________________COLEML3____________________ KC_Z, KC_X, KC_C, KC_D, KC_V
#define __________________COLEMR1____________________ KC_J, KC_L, KC_U, KC_Y, KC_QUOT
#define __________________COLEMR2____________________ KC_M, KC_N, KC_E, KC_I, KC_O
#define __________________COLEMR3____________________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH

View File

@@ -1,11 +1,12 @@
#pragma once
typedef enum {
_BASE,
_QWERTY,
_NAV,
_NUM,
_SYM,
_FUN,
_MUS,
_MOUSE
_MOUSE,
_COLEMAK_DH
} layers_t;

View File

@@ -35,7 +35,7 @@ combo_t key_combos[] = {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_wrapper(
[_QWERTY] = LAYOUT_wrapper(
// ┌────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┐
__________________BASE_L1____________________, __________________BASE_R1____________________,
// ├────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┤
@@ -44,6 +44,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
__________________BASE_L3____________________, __________________BASE_R3____________________,
// └────────┴────────┴────────┴────────┼────────┤ ├────────┼────────┴────────┴────────┴────────┘
_______, _______,
// ┌────────┬────────┼────────┼ ┼────────┼────────┬────────┐
___________THUMB_L3________, ___________THUMB_R3________
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
[_COLEMAK_DH] = LAYOUT_wrapper(
// ┌────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┐
__________________COLEML1____________________, __________________COLEMR1____________________,
// ├────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┤
__________________COLEML2____________________, __________________COLEMR2____________________,
// ├────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┤
__________________COLEML3____________________, __________________COLEMR3____________________,
// └────────┴────────┴────────┴────────┼────────┤ ├────────┼────────┴────────┴────────┴────────┘
_______, _______,
// ┌────────┬────────┼────────┼ ┼────────┼────────┬────────┐
___________THUMB_L3________, ___________THUMB_R3________
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
@@ -253,8 +266,8 @@ static void render_status(void) {
oled_write_P(PSTR("\n"), false);
oled_write_P(PSTR("\n"), false);
switch (get_highest_layer(layer_state)) {
case _BASE:
oled_write_P(PSTR("BASE "), false);
case _QWERTY:
oled_write_P(PSTR("QWERTY "), false);
break;
case _NAV:
oled_write_P(PSTR("NAV "), false);
@@ -291,8 +304,70 @@ bool oled_task_user(void) {
#endif //OLED_ENABLE
uint8_t mod_state;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static bool isWindows = false;
mod_state = get_mods();
switch (keycode) {
case WINDOWS:
if (record->event.pressed) {
isWindows = !isWindows;
}
return false;
case COPY:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_C));
} else {
tap_code16(LGUI(KC_C));
}
return false;
}
case PASTE:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_V));
} else {
tap_code16(LGUI(KC_V));
}
return false;
}
case CUT:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_X));
} else {
tap_code16(LGUI(KC_X));
}
return false;
}
case UNDO:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_Z));
} else {
tap_code16(LGUI(KC_Z));
}
return false;
}
case REDO:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_Y));
} else {
tap_code16(LSG(KC_Z));
}
return false;
}
case SALL:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_A));
} else {
tap_code16(LGUI(KC_A));
}
return false;
}
case M_PASS1:
if (record->event.pressed) {
SEND_STRING("P0plarLake!2023");
@@ -300,12 +375,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
case M_PASS2:
if (record->event.pressed) {
SEND_STRING("Thel0ve0fchrist!");
SEND_STRING("ThisisThel0ve0fchrist!");
}
return false;
case M_PASS3:
if (record->event.pressed) {
SEND_STRING("6754");
SEND_STRING("1029");
}
return false;
case M_PASS4:
@@ -318,6 +393,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {

0
iris-kmk/README.md Normal file
View File

28
iris-kmk/kb.py Normal file
View File

@@ -0,0 +1,28 @@
import board
from kmk.extensions.LED import LED
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
from kmk.scanners import DiodeOrientation
class KMKKeyboard(_KMKKeyboard):
col_pins = (
board.GP2,
board.GP3,
board.GP29,
board.GP27,
board.GP6,
board.GP5,
)
row_pins = (
board.GP0,
board.GP1,
board.GP7,
board.GP16,
board.GP28,
)
diode_orientation = DiodeOrientation.COLUMNS
leds = LED(led_pin=[board.GP27, board.GP28])
_KMKKeyboard.extensions.append(leds)

23
iris-kmk/main.py Normal file
View File

@@ -0,0 +1,23 @@
from kb import KMKKeyboard
from kmk.extensions.media_keys import MediaKeys
from kmk.extensions.rgb import RGB, AnimationModes
from kmk.keys import KC
from kmk.modules.encoder import EncoderHandler
from kmk.modules.holdtap import HoldTap
from kmk.modules.layers import Layers
from kmk.modules.split import Split, SplitType
keyboard = KMKKeyboard()
keyboard.debug_enabled = True
keyboard.modules.append(Layers())
keyboard.modules.append(HoldTap())
keyboard.extensions.append(MediaKeys())
keyboard.keymap = [
[KC.A,]
]
if __name__ == '__main__':
keyboard.go()

View File

@@ -36,7 +36,7 @@ combo_t key_combos[] = {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_wrapper(
[_QWERTY] = LAYOUT_wrapper(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MUTE,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -44,21 +44,35 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_LCTL, __________________BASE_L2____________________, __________________BASE_R2____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSFT, __________________BASE_L3____________________,AS_TOGG, _______, __________________BASE_R3____________________, KC_RSFT,
KC_LSFT, __________________BASE_L3____________________,SPOTLI, _______, __________________BASE_R3____________________, KC_RSFT,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
___________THUMB_L3________, ___________THUMB_R3________
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
[_COLEMAK_DH] = LAYOUT_wrapper(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, KC_LPAD, SPOTLI, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________COLEML1____________________, __________________COLEMR1____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________COLEML2____________________, __________________COLEMR2____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________COLEML3____________________, SPOTLI, _______, __________________COLEMR3____________________, _______,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
___________THUMB_3__BLANK__, ___________THUMB_3__BLANK__
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
[_NAV] = LAYOUT_wrapper(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, KC_LPAD, KC_PSCR, _______, _______, _______, _______, RGB_TOG,
_______, _______, _______, _______, _______, KC_LPAD, SPOTLI, _______, _______, _______, _______, RGB_TOG,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________EMPTY_____________________, __________________NAV_R1____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________NAV_L2____________________, __________________NAV_R2____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________NAV_L3____________________, _______, _______, __________________NAV_R3____________________, _______,
_______, __________________NAV_L3____________________, WINDOWS, _______, __________________NAV_R3____________________, _______,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
___________THUMB_L3________, ___________THUMB_R3________
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
@@ -66,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NUM] = LAYOUT_wrapper(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, KC_LPAD, KC_PSCR, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_LPAD, SPOTLI, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________NUM_L1____________________, _________________BOOT_R1____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -80,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SYM] = LAYOUT_wrapper(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, KC_LPAD, KC_PSCR, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_LPAD, SPOTLI, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________SYM_L1____________________, __________________EMPTY_____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -94,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUN] = LAYOUT_wrapper(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, KC_LPAD, KC_PSCR, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_LPAD, SPOTLI, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________FUN_L1____________________, _________________BOOT_R1____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -108,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MUS] = LAYOUT_wrapper(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, KC_LPAD, KC_PSCR, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_LPAD, SPOTLI, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, _________________BOOT_L1____________________, __________________EMPTY_____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -122,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOUSE] = LAYOUT_wrapper(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, KC_LPAD, KC_PSCR, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_LPAD, SPOTLI, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________EMPTY_____________________, __________________MOU_R1____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
@@ -135,9 +149,70 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
uint8_t mod_state;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static bool isWindows = false;
mod_state = get_mods();
switch (keycode) {
case WINDOWS:
if (record->event.pressed) {
isWindows = !isWindows;
}
return false;
case COPY:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_C));
} else {
tap_code16(LGUI(KC_C));
}
return false;
}
case PASTE:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_V));
} else {
tap_code16(LGUI(KC_V));
}
return false;
}
case CUT:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_X));
} else {
tap_code16(LGUI(KC_X));
}
return false;
}
case UNDO:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_Z));
} else {
tap_code16(LGUI(KC_Z));
}
return false;
}
case REDO:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_Y));
} else {
tap_code16(LSG(KC_Z));
}
return false;
}
case SALL:
if (record->event.pressed) {
if (isWindows) {
tap_code16(LCTL(KC_A));
} else {
tap_code16(LGUI(KC_A));
}
return false;
}
case M_PASS1:
if (record->event.pressed) {
SEND_STRING("P0plarLake!2023");
@@ -145,29 +220,86 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
case M_PASS2:
if (record->event.pressed) {
SEND_STRING("Thel0ve0fchrist!");
SEND_STRING("CindieVerano!2024");
}
return false;
case M_PASS3:
if (record->event.pressed) {
SEND_STRING("6754");
SEND_STRING("1029");
}
return false;
case M_PASS4:
if (record->event.pressed) {
SEND_STRING("10242677");
SEND_STRING("ThisisThel0ve0fchrist!");
}
return false;
case SPOTLI:
if (record->event.pressed) {
tap_code16(LGUI(KC_SPACE));
}
return false;
}
return true;
}
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_QWERTY] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_NAV] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
[_NUM] = { ENCODER_CCW_CW(C(KC_LEFT), C(KC_RIGHT)), ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(KC_B, KC_B) },
[_SYM] = { ENCODER_CCW_CW(C(KC_TAB), S(C(KC_TAB))), ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B) },
[_MOUSE] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B) },
[_FUN] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B) },
[_MUS] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B) },
[_COLEMAK_DH] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
// Onboard LED
#ifdef RGBLIGHT_ENABLE
// Configure LED
void keyboard_post_init_user(void) {
// Initialize RGB to static black
rgblight_enable_noeeprom();
rgblight_sethsv_noeeprom(HSV_BLACK);
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
}
// Change LED
void housekeeping_task_user(void) {
// Caps lock status
if (host_keyboard_led_state().caps_lock) {
rgblight_setrgb_at(4, 4, 0, 0);
} else {
// Layers
switch (get_highest_layer(layer_state | default_layer_state)) {
case 0:
rgblight_setrgb_at(4, 4, 4, 0);
break;
case 1:
rgblight_setrgb_at(4, 4, 4, 0);
break;
case 2:
rgblight_setrgb_at(4, 4, 4, 0);
break;
case 3:
rgblight_setrgb_at(4, 4, 4, 0);
break;
case 4:
rgblight_setrgb_at(0, 0, 4, 0);
break;
case 5:
rgblight_setrgb_at(0, 4, 0, 0);
break;
case 6:
rgblight_setrgb_at(0, 0, 4, 0);
break;
case 7:
rgblight_setrgb_at(0, 0, 4, 0);
break;
case 8:
rgblight_setrgb_at(0, 0, 4, 0);
break;
}
}
}
#endif

View File

@@ -1,137 +1 @@
# 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>