| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- #include QMK_KEYBOARD_H
- extern keymap_config_t keymap_config;
- #define _QWERTY 0
- #define _LOWER 1
- #define _RAISE 2
- #define _ADJUST 16
- enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
- };
- #define KC_ KC_TRNS
- #define _______ KC_TRNS
- #define KC_LOWR LOWER
- #define KC_RASE RAISE
- #define KC_RST RESET
- #define KC_DBUG DEBUG
- //#define KC_DEV DEVLAYER
- const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_kc(
- //,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
- ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- TAB , Q , W , E , R , T , Y , U , I , O , P ,BSLS,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- LOWR, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
- //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
- LSFT, Z , X , C , V , B ,LGUI, RCMD, N , M ,COMM,DOT ,SLSH,RSFT,
- //`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
- RCTL,ENT ,SPC , SPC ,RASE,RALT
- // `----+----+----' `----+----+----'
- ),
- [_LOWER] = LAYOUT_kc(
- //,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
- GRV , , , , , , , , ,MINS,EQL ,DEL ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- , , , , , , ,PGDN, UP ,PGUP,LBRC,RBRC,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- ,VOLD,VOLU,MUTE, , , HOME,LEFT,DOWN,RGHT, , ,
- //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
- LSFT, , , , , ,LGUI, RCMD,END , , , ,PSCR,RSFT,
- //`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
- RCTL,ENT ,SPC , SPC , ,RALT
- // `----+----+----' `----+----+----'
- ),
- [_RAISE] = LAYOUT_kc(
- //,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
- F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- , , UP , , , , , P7 , P8 , P9 ,PSLS,PAST,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- ,LEFT,DOWN,RGHT, , , , P4 , P5 , P6 ,PMNS,PPLS,
- //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
- , , , , , , , NLCK, , P1 , P2 , P3 ,PDOT,PENT,
- //`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
- RCTL,ENT ,SPC , SPC , , P0
- // `----+----+----' `----+----+----'
- ),
- [_ADJUST] = LAYOUT_kc(
- //,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
- , , , , ,RST , , , , , , ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- , , , , ,DBUG, , , , , , ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- , , , , , , , , , , , ,
- //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
- , , , , , , , , , , , , , ,
- //`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
- , , , , ,
- // `----+----+----' `----+----+----'
- )
-
- /*
- [_DEVLAYER] = LAYOUT_kc(
- //,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
- , , , , , , , , , , , ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- , , , , , , , , , , , ,
- //|----+----+----+----+----+----| |----+----+----+----+----+----|
- , , , , , , , , , , , ,
- //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
- , , , , , , , , , , , , , ,
- //`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
- , , , , ,
- // `----+----+----' `----+----+----'
- )
- */
- };
- void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
- }
- bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
- 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;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- } else {
- layer_off(_ADJUST);
- }
- return false;
- break;
- }
- return true;
- }
|