Permalink
Cannot retrieve contributors at this time
Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign up
Fetching contributors…
| #include "iris.h" | |
| #include "action_layer.h" | |
| #include "eeconfig.h" | |
| #include "keymap.h" | |
| extern keymap_config_t keymap_config; | |
| #define _DVORAK 0 | |
| #define _GAMING 1 | |
| #define _SHIFT 2 | |
| #define _LOWER 3 | |
| #define _RAISE 4 | |
| enum custom_keycodes { | |
| DVORAK = SAFE_RANGE, | |
| SHIFT | |
| }; | |
| #define KC_ KC_TRNS | |
| #define _______ KC_TRNS | |
| #define KC_RST RESET | |
| #define KC_BL_S BL_STEP | |
| #define KC_DBUG DEBUG | |
| #define KC_RTOG RGB_TOG | |
| #define KC_RMOD RGB_MOD | |
| #define KC_RHUI RGB_HUI | |
| #define KC_RHUD RGB_HUD | |
| #define KC_RSAI RGB_SAI | |
| #define KC_RSAD RGB_SAD | |
| #define KC_RVAI RGB_VAI | |
| #define KC_RVAD RGB_VAD | |
| #define KC_SHFT SHIFT | |
| #define KC_RASE TT(_RAISE) | |
| #define KC_LOWR MO(_LOWER) | |
| #define KC_TCTL CTL_T(KC_ESC) | |
| #define KC_CLFT LCTL(KC_LEFT) | |
| #define KC_CRHT LCTL(KC_RIGHT) | |
| #define KC_HRSE TG(_RAISE) | |
| #define KC_GMNG DF(_GAMING) | |
| #define KC_UNDO DF(_DVORAK) | |
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
| [_DVORAK] = LAYOUT_kc( | |
| //,----+----+----+----+----+----. ,----+----+----+----+----+----. | |
| DLR ,AMPR,LBRC,LCBR,RCBR,LPRN, EQL ,ASTR,RPRN,PLUS,RBRC,BSPC, | |
| //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
| TAB ,SCLN,COMM,DOT , P , Y , F , G , C , R , L ,SLSH, | |
| //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
| TCTL, A , O , E , U , I , D , H , T , N , S ,ENT , | |
| //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| | |
| SHFT,QUOT, Q , J , K , X ,RASE, LGUI, B , M , W , V , Z ,MINS, | |
| //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' | |
| LOWR,LALT,SPC , LOWR,LCTL,SHFT | |
| // `----+----+----' `----+----+----' | |
| ), | |
| [_SHIFT] = LAYOUT_kc( | |
| //,----+----+----+----+----+----. ,----+----+----+----+----+----. | |
| TILD,PERC, 7 , 5 , 3 , 1 , 9 , 0 , 2 , 4 , 6 , 8 , | |
| //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
| , , , , , , , , , , , , | |
| //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
| , , , , , , , , , , , , | |
| //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| | |
| , , , , , ,HRSE, , , , , , , , | |
| //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' | |
| , ,DEL , DEL , ,PSCR | |
| // `----+----+----' `----+----+----' | |
| ), | |
| [_LOWER] = LAYOUT_kc( | |
| //,----+----+----+----+----+----. ,----+----+----+----+----+----. | |
| F1 , F2 , F3 , F4 , F5 , F6 , , ,CIRC,GRV ,EXLM,HASH, | |
| //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
| F7 , F8 , F9 ,F10 ,F11 ,F12 , ,CLFT, UP ,CRHT, AT ,BSLS, | |
| //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
| , , , , , , ,LEFT,DOWN,RGHT, , , | |
| //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| | |
| LSFT, , , , , , , VOLU,MUTE,MPLY, , ,UNDO,GMNG, | |
| //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' | |
| , , , VOLD,MPRV,MNXT | |
| // `----+----+----' `----+----+----' | |
| ), | |
| [_RAISE] = LAYOUT_kc( | |
| //,----+----+----+----+----+----. ,----+----+----+----+----+----. | |
| , , , , , , ,ACL0,ACL1,ACL2, , , | |
| //|----+----+----+----+----+----| |----+----+----+----+----+--- | |
| , , , , , , ,BTN1,MS_U,BTN2, , , | |
| //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
| , , , , , , ,MS_L,MS_D,MS_R, , , | |
| //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| | |
| , , , , , ,HRSE, PGUP, , , , , ,INS , | |
| //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' | |
| , , , PGDN, ,PSCR | |
| // `----+----+----' `----+----+----' | |
| ), | |
| [_GAMING] = LAYOUT_kc( | |
| //,----+----+----+----+----+----. ,----+----+----+----+----+----. | |
| GRV , F1 , F2 , F3 , F4 , F5 , , , , , ,BSPC, | |
| //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
| TAB , 1 , 2 , 3 , 4 , 5 , , , , , , , | |
| //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
| LSFT, Q , W , E , R , T , , , , , , , | |
| //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| | |
| LCTL, A , S , D , F , G ,SPC , RASE, B , , , , , , | |
| //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' | |
| LALT,LALT,SPC , LOWR,LCTL,LSFT | |
| // `----+----+----' `----+----+----' | |
| ) | |
| }; | |
| void persistent_default_layer_set(uint16_t default_layer) { | |
| eeconfig_update_default_layer(default_layer); | |
| default_layer_set(default_layer); | |
| } | |
| void switch_to_layer(uint8_t layer, bool pressed) { | |
| if (pressed) { | |
| layer_on(layer); | |
| } else { | |
| layer_off(layer); | |
| } | |
| } | |
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |
| if (action_for_key(_SHIFT, record->event.key).code != ACTION_TRANSPARENT) | |
| unregister_code(KC_LSFT); | |
| switch (keycode) { | |
| case SHIFT: | |
| switch_to_layer(_SHIFT, record->event.pressed); | |
| if (record->event.pressed) { | |
| register_code(KC_LSFT); | |
| } else { | |
| unregister_code(KC_LSFT); | |
| } | |
| return false; | |
| } | |
| return true; | |
| } |