Skip to content

Commit

Permalink
Add 60_ansi_split_bs_rshift layout to DZ60, with a new keymap for the…
Browse files Browse the repository at this point in the history
… same (#6096)

* Add 60_ansi_split_bs_rshift layout to DZ60

I know there's already a lot of DZ60 layout macros, and #4668 suggests
they should be refactored at some point, but since this is one of the
standard layouts already in QMK that this PCB supports, I figured it was
okay to add so that DZ60 keyboards can share this layout with other
keyboards.

* New 60% ANSI split backspace/right-shift layout

I'm using this on a DZ60, but it should work fine on most 60% PCBs. It's
basically a HHKB layout with a standard ANSI bottom row (3x 1.25U mods,
6.25U spacebar, 4x 1.25U mods).
  • Loading branch information
bcat authored and mechmerlin committed Jun 8, 2019
1 parent 2cb3232 commit 54ac80d
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 1 deletion.
27 changes: 27 additions & 0 deletions keyboards/dz60/dz60.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,33 @@
{ KC_NO, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, KC_NO, k4b, KC_NO, k4d, KC_NO } \
}

/* LAYOUT_60_ansi_split_bs_rshift
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
* │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
* │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
* │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
* │40 │41 │43 │46 │4a │4b │4d │4e │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
#define LAYOUT_60_ansi_split_bs_rshift( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
k40, k41, k43, k46, k4a, k4b, k4d, k4e \
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
{ k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
{ k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
{ k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \
{ k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, KC_NO, k4d, k4e } \
}

// 带方向配列
/* Directional arrangement | LAYOUT_directional
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
Expand Down
2 changes: 1 addition & 1 deletion keyboards/dz60/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,4 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes

LAYOUTS = 60_ansi 60_iso 60_hhkb
LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_hhkb 60_iso
42 changes: 42 additions & 0 deletions layouts/community/60_ansi_split_bs_rshift/bcat/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#include QMK_KEYBOARD_H

enum layer {
LAYER_DEFAULT,
LAYER_FUNCTION,
LAYER_ADJUST,
};

/* Switch to function layer when held. */
#define LY_FUNC MO(LAYER_FUNCTION)

/* Switch to adjust layer when held. */
#define LY_ADJST MO(LAYER_ADJUST)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Default layer: https://www.keyboard-layout-editor.com/#/gists/327b41b5a933b3d44bf60ca9822e85dc */
[LAYER_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, LY_FUNC,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LY_ADJST, KC_APP, KC_RCTL
),

/* Function layer: https://www.keyboard-layout-editor.com/#/gists/c7a55e75285d474b6301140eaf53f915 */
[LAYER_FUNCTION] = LAYOUT_60_ansi_split_bs_rshift(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
_______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______,
KC_CAPS, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
_______, _______, KC_MUTE, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),

/* Adjust layer: https://www.keyboard-layout-editor.com/#/gists/6e1068e4f91bbacccaf5ac0acbeec79c */
[LAYER_ADJUST] = LAYOUT_60_ansi_split_bs_rshift(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_RMOD, RGB_MOD, RGB_TOG,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
};
20 changes: 20 additions & 0 deletions layouts/community/60_ansi_split_bs_rshift/bcat/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# bcat's 60% ANSI split backspace/right-shift layout

This is a hybrid of an HHKB layout and a standard ANSI bottom row. It's nice if
you want to fill out a 60% case with no blockers, or just really want a 6.25U
spacebar. The arrow and navigation keys match a standard HHKB layout (using the
Fn key next to the right shift key), but the media keys are centered around the
WASD cluster instead of the usual HHKB layout. Additionally, the redundant Fn
key on the bottom row activates an adjust layer to control RGB underglow.

## Default layer

![Default layer layout](https://i.imgur.com/HM0115k.png)

## Function layer

![Function layer layout](https://i.imgur.com/8dr5ktH.png)

## Adjust layer

![Adjust layer layout](https://i.imgur.com/78PBNt6.png)

0 comments on commit 54ac80d

Please sign in to comment.