From 6f043b14e2c8455a97371bcf8a519704dc63dc2b Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Mon, 4 May 2020 11:39:21 -0500 Subject: [PATCH] Arrow key layout for games like Undertale --- iris/src/keymap.c | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/iris/src/keymap.c b/iris/src/keymap.c index f1beb52..2df6c51 100644 --- a/iris/src/keymap.c +++ b/iris/src/keymap.c @@ -4,16 +4,18 @@ extern keymap_config_t keymap_config; #define _QWERTY 0 #define _GAMER 1 -#define _LEFT 2 -#define _RIGHT 3 -#define _ADJUST 4 -#define _CONFIG 5 +#define _RETRO_GAMER 2 +#define _LEFT 3 +#define _RIGHT 4 +#define _ADJUST 5 +#define _CONFIG 6 #define ESC_CTL LCTL_T(KC_ESC) enum custom_keycodes { QWERTY = SAFE_RANGE, GAMER, + RETRO_GAMER, LEFT, RIGHT, ADJUST, @@ -30,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ ESC_CTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, MO(_CONFIG),KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, MO(_CONFIG),KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ KC_LGUI, KC_SPC, MO(_LEFT), MO(_RIGHT),KC_SPC, KC_RALT // └────────┴────────┴────────┘ └────────┴────────┴────────┘ @@ -38,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_GAMER] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ @@ -50,6 +52,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), + [_RETRO_GAMER] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + [_LEFT] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, @@ -102,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _______, QWERTY, RGB_TOG, _______, GAMER, _______ + _______, QWERTY, RGB_TOG, _______, GAMER, RETRO_GAMER // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ) }; @@ -115,6 +131,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; + case RETRO_GAMER: + if (record->event.pressed) { + set_single_persistent_default_layer(_RETRO_GAMER); + } + return false; + break; case QWERTY: if (record->event.pressed) { set_single_persistent_default_layer(_QWERTY);