From 181822d195f722f4981825ded7dd85fa268c3c56 Mon Sep 17 00:00:00 2001 From: zjpxshade Date: Wed, 11 Jul 2018 06:37:42 -0500 Subject: [PATCH] Updating the layout --- keyboards/iris/keymaps/dvp-zjpxshade/config.h | 4 +- keyboards/iris/keymaps/dvp-zjpxshade/keymap.c | 189 +++++++++++++----- 2 files changed, 138 insertions(+), 55 deletions(-) diff --git a/keyboards/iris/keymaps/dvp-zjpxshade/config.h b/keyboards/iris/keymaps/dvp-zjpxshade/config.h index 72e35c4728..6d96b31bd9 100644 --- a/keyboards/iris/keymaps/dvp-zjpxshade/config.h +++ b/keyboards/iris/keymaps/dvp-zjpxshade/config.h @@ -22,8 +22,8 @@ along with this program. If not, see . /* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C +//#define USE_SERIAL +#define USE_I2C /* Select hand configuration */ diff --git a/keyboards/iris/keymaps/dvp-zjpxshade/keymap.c b/keyboards/iris/keymaps/dvp-zjpxshade/keymap.c index 48402e964c..8f526e80ad 100644 --- a/keyboards/iris/keymaps/dvp-zjpxshade/keymap.c +++ b/keyboards/iris/keymaps/dvp-zjpxshade/keymap.c @@ -4,88 +4,148 @@ extern keymap_config_t keymap_config; -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 +#define _DVORAK 0 +#define _QWERTY 1 +#define _GAMING 13 +#define _LOWER 14 +#define _RAISE 15 #define _ADJUST 16 + enum custom_keycodes { - QWERTY = SAFE_RANGE, + DVORAK = SAFE_RANGE, + GAME, + DVPR, + QRTY, + QUIT, LOWER, RAISE, ADJUST, }; -#define KC_ KC_TRNS -#define _______ KC_TRNS - -#define KC_LOWR LOWER -#define KC_RASE RAISE -#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 +//Definitions of Different Keys Go Here + #define KC_ KC_TRNS + #define _______ KC_TRNS + + #define KC_LOWR LOWER + #define KC_RASE RAISE + #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_DVPR DF(_DVORAK) + #define KC_GAME DF(_GAMING) + #define KC_QRTY DF(_QWERTY) + #define KC_QUIT LSFT(LALT(KC_Q)) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( +// All custom layers should be placed below LOWER, RAISE, and ADJUST -- in that order. +// LOWER and RAISE have helpful keys on them. ADJUST is to adjust the keyboard's settings. +// I suppose that a pedestrian way of setting it up would be to make it as close to the old +// KB as possible and then slowly adjust things from there. + +//DVORAK (Base Layer) + [_DVORAK] = LAYOUT_kc( + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + ESC , 7 , 5 , 3 , 1 , 9 , 2 , 4 , 6 , 8 , 0 ,BSPC, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + TAB ,SCLN,COMM,DOT , P , Y , F , G , C , R , L ,DEL , + //|----+----+----+----+----+----| |----+----+----+----+----+----| + LSFT, A , O , E , U , I , D , H , T , N , S ,RSFT, + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + LCTL,QUOT, Q , J , K , X ,HOME, END , B , M , W , V , Z ,SLSH, + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + LALT,LOWR,ENT , SPC ,RASE,LGUI + // `----+----+----' `----+----+----' + ), + +//QWERTY + [_QWERTY] = LAYOUT_kc( //,----+----+----+----+----+----. ,----+----+----+----+----+----. ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC, //|----+----+----+----+----+----| |----+----+----+----+----+----| - TAB , ,COMM,DOT , P , Y , F , G , C , R , L ,DEL , + TAB , Q , W , E , R , T , Y , U , I , O , P ,QUOT, //|----+----+----+----+----+----| |----+----+----+----+----+----| - LSFT, A , O , E , U , I , D , H , T , N , S ,INS , + LSFT, A , S , D , F , G , H , J , K , L ,SCLN,ENT , //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| - LCTL,QUOT, Q , J , K , X ,HOME, END , B , M , W , V , Z ,RSFT, + LCTL, Z , X , C , V , B ,HOME, END , N , M ,COMM,DOT ,SLSH,RSFT, //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - LGUI,LOWR,ENT , SPC ,RASE,LALT + LALT,LOWR,SPC , SPC ,RASE,LGUI // `----+----+----' `----+----+----' ), - [_LOWER] = LAYOUT_kc( +//GAMING + [_GAMING] = LAYOUT_kc( //,----+----+----+----+----+----. ,----+----+----+----+----+----. - TILD,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSPC, + ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + QUOT,TAB , Q , W , E , R , T , Y , U , I , O , P , //|----+----+----+----+----+----| |----+----+----+----+----+----| - RST , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , + INS ,LSFT, A , S , D , F , G , H , J , K , L ,SCLN, + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + DEL ,LCTL, Z , X , C , V ,SPC, ENT , B , N , M ,COMM,DOT ,SLSH, + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + LALT,LOWR,LCTL, SPC ,RASE,LGUI + // `----+----+----' `----+----+----' + ), + +//GAMELOWER -- For one handed gaming + +//LOWER - MAYBE TRY AND MAKE IT RIGHT HANDED SINCE LOWER IS ON LT? + [_LOWER] = LAYOUT_kc( + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + , , , , , , , , , , , , + //|----+----+---+----+----+----| |----+----+----+----+----+----| + , , , , , , , , , , , , //|----+----+----+----+----+----| |----+----+----+----+----+----| - DEL , ,LEFT,RGHT, UP ,LBRC, RBRC, P4 , P5 , P6 ,PLUS,PIPE, + , , , , , , ,LEFT, UP ,DOWN,RGHT, , //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| - BL_S, , , ,DOWN,LCBR,LPRN, RPRN,RCBR, P1 , P2 , P3 ,MINS, , + , , , , , , , , , , , , , , //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - , ,DEL , DEL , , P0 + , , , , , // `----+----+----' `----+----+----' ), +//RAISE - MAYBE TRY AND MAKE IT LEFT HANDED SINCE RAISE IS ON RT? [_RAISE] = LAYOUT_kc( //,----+----+----+----+----+----. ,----+----+----+----+----+----. - F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 , + QUIT, , , , , , , , , , , , //|----+----+----+----+----+----| |----+----+----+----+----+----| - ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, , + , , , , , , , , , , , , //|----+----+----+----+----+----| |----+----+----+----+----+----| - ,MPRV,MNXT,VOLU,PGUP,UNDS, EQL ,HOME, , , ,BSLS, + , , , , , , , , , , , , //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| - MUTE,MSTP,MPLY,VOLD,PGDN,MINS, , ,PLUS,END , , , , , + , , , , , , , , , , , , , , //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' , , , , , // `----+----+----' `----+----+----' ), +//ADJUST + /*TOP ROW: Different custom defined layers, in order + * 2ND ROW: + * 3RD ROW: + * 4TH ROW: + * LTHUMBS: + * RTHUMBS: + */ [_ADJUST] = LAYOUT_kc( //,----+----+----+----+----+----. ,----+----+----+----+----+----. - , , , , , , , , , , , , + DVPR,QRTY, ,GAME, , , , , , , , , //|----+----+----+----+----+----| |----+----+----+----+----+----| - RTOG,RMOD,RHUI,RSAI,RVAI, , , , , , , , + BL_S, , , , , , , , , , , , //|----+----+----+----+----+----| |----+----+----+----+----+----| - ,DBUG,RHUD,RSAD,RVAD, , , , , , , , + , , , , , , , , , , , , //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| - BL_S,RST , , , , , , , , , , , , , + , , , , , , , , , , , , ,RST , //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' , , , , , // `----+----+----' `----+----+----' @@ -93,6 +153,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; + void persistent_default_layer_set(uint16_t default_layer) { eeconfig_update_default_layer(default_layer); default_layer_set(default_layer); @@ -100,9 +161,28 @@ void persistent_default_layer_set(uint16_t default_layer) { bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case QWERTY: + //After this point, it's all about switching layers + case DVORAK: //DVORAK here is the base layer + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_DVORAK); + } + return false; + break; + case QRTY: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case GAME: //GAME is now a keycode here + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_GAMING); //revert to Qwerty if we're on NSA/Windows + } //to play V / I / D / E / O ~ G / A / M / E / S + return false; + break; + case DVPR: if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); + persistent_default_layer_set(1UL<<_DVORAK); //Changes base layer to _DVORAK } return false; break; @@ -110,28 +190,31 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { layer_on(_LOWER); update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { + } + 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); + case RAISE: //Defines what happens when the RAISE key is pressed + if (record->event.pressed) { //if they key is pressed + layer_on(_RAISE); //toggle on the RAISE layer + update_tri_layer(_LOWER, _RAISE, _ADJUST); //update our layers to check if the LOWER key is pressed + } + else { //if the key is not pressed + layer_off(_RAISE); //leave everything alone + update_tri_layer(_LOWER, _RAISE, _ADJUST); //update the layers??? } return false; break; case ADJUST: - if (record->event.pressed) { + if (record->event.pressed) { //RAISE + LOWER = ADJUST layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } + } + else { + layer_off(_ADJUST); //Releasing one of them goes to the other one + } return false; break; }