3 Commits

Author SHA1 Message Date
98f879ee45 Added SPOTLI to Iris keymap 2024-03-22 10:57:39 -05:00
bf829370bc Update keycodes.h to add SPOTLI 2024-03-22 09:59:00 -05:00
da320a4fbd Updated 2024-03-21 19:58:23 -05:00
5 changed files with 233 additions and 17 deletions

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,6 +49,9 @@ 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

View File

@@ -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
@@ -71,3 +71,12 @@
#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
// 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____________________,
// ├────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┤
@@ -253,8 +253,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 +291,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 +362,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 +380,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) {

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,7 +44,7 @@ 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________
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________NAV_L2____________________, __________________NAV_R2____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________NAV_L3____________________, _______, _______, __________________NAV_R3____________________, _______,
_______, __________________NAV_L3____________________, WINDOWS, _______, __________________NAV_R3____________________, _______,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
___________THUMB_L3________, ___________THUMB_R3________
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
@@ -132,12 +132,87 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
___________THUMB_3__BLANK__, ___________THUMB_3__BLANK__
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
[_COLEMAK_DH] = LAYOUT_wrapper(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______, _______, _______, _______, _______, KC_LPAD, KC_PSCR, _______, _______, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________COLEML1____________________, __________________COLEMR1____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________COLEML2____________________, __________________COLEMR2____________________, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______, __________________COLEML3____________________, _______, _______, __________________COLEMR3____________________, _______,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
___________THUMB_3__BLANK__, ___________THUMB_3__BLANK__
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
)
};
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");
@@ -158,16 +233,73 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("10242677");
}
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