Modernize, correct, and uniform `dactyl_manuform` variant `5x6_68` (#21299)

master
Duncan Sutherland 2023-07-07 15:51:52 +01:00 committed by GitHub
parent d13925be9a
commit 2404559fdb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 128 additions and 114 deletions

View File

@ -3,14 +3,25 @@
"manufacturer": "kpagratis",
"url": "",
"maintainer": "kpagratis",
"bootloader": "caterina",
"processor": "atmega32u4",
"development_board": "promicro",
"usb": {
"vid": "0xFEED",
"pid": "0x0016",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"command": true,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"audio": false,
"backlight": false,
"rgblight": false
},
"split": {
"enabled": true,
"soft_serial_pin": "D0"
},
"matrix_pins": {
@ -21,80 +32,89 @@
"layouts": {
"LAYOUT": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
{"x": 2, "y": 0, "matrix": [0, 2]},
{"x": 3, "y": 0, "matrix": [0, 3]},
{"x": 4, "y": 0, "matrix": [0, 4]},
{"x": 5, "y": 0, "matrix": [0, 5]},
{"x": 14, "y": 0, "matrix": [6, 0]},
{"x": 15, "y": 0, "matrix": [6, 1]},
{"x": 16, "y": 0, "matrix": [6, 2]},
{"x": 17, "y": 0, "matrix": [6, 3]},
{"x": 18, "y": 0, "matrix": [6, 4]},
{"x": 19, "y": 0, "matrix": [6, 5]},
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"x": 0, "y": 1, "matrix": [1, 0]},
{"x": 1, "y": 1, "matrix": [1, 1]},
{"x": 2, "y": 1, "matrix": [1, 2]},
{"x": 3, "y": 1, "matrix": [1, 3]},
{"x": 4, "y": 1, "matrix": [1, 4]},
{"x": 5, "y": 1, "matrix": [1, 5]},
{"x": 14, "y": 1, "matrix": [7, 0]},
{"x": 15, "y": 1, "matrix": [7, 1]},
{"x": 16, "y": 1, "matrix": [7, 2]},
{"x": 17, "y": 1, "matrix": [7, 3]},
{"x": 18, "y": 1, "matrix": [7, 4]},
{"x": 19, "y": 1, "matrix": [7, 5]},
{"matrix": [6, 0], "x": 11, "y": 0},
{"matrix": [6, 1], "x": 12, "y": 0},
{"matrix": [6, 2], "x": 13, "y": 0},
{"matrix": [6, 3], "x": 14, "y": 0},
{"matrix": [6, 4], "x": 15, "y": 0},
{"matrix": [6, 5], "x": 16, "y": 0},
{"x": 0, "y": 2, "matrix": [2, 0]},
{"x": 1, "y": 2, "matrix": [2, 1]},
{"x": 2, "y": 2, "matrix": [2, 2]},
{"x": 3, "y": 2, "matrix": [2, 3]},
{"x": 4, "y": 2, "matrix": [2, 4]},
{"x": 5, "y": 2, "matrix": [2, 5]},
{"x": 14, "y": 2, "matrix": [8, 0]},
{"x": 15, "y": 2, "matrix": [8, 1]},
{"x": 16, "y": 2, "matrix": [8, 2]},
{"x": 17, "y": 2, "matrix": [8, 3]},
{"x": 18, "y": 2, "matrix": [8, 4]},
{"x": 19, "y": 2, "matrix": [8, 5]},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"x": 0, "y": 3, "matrix": [3, 0]},
{"x": 1, "y": 3, "matrix": [3, 1]},
{"x": 2, "y": 3, "matrix": [3, 2]},
{"x": 3, "y": 3, "matrix": [3, 3]},
{"x": 4, "y": 3, "matrix": [3, 4]},
{"x": 5, "y": 3, "matrix": [3, 5]},
{"x": 14, "y": 3, "matrix": [9, 0]},
{"x": 15, "y": 3, "matrix": [9, 1]},
{"x": 16, "y": 3, "matrix": [9, 2]},
{"x": 17, "y": 3, "matrix": [9, 3]},
{"x": 18, "y": 3, "matrix": [9, 4]},
{"x": 19, "y": 3, "matrix": [9, 5]},
{"matrix": [7, 0], "x": 11, "y": 1},
{"matrix": [7, 1], "x": 12, "y": 1},
{"matrix": [7, 2], "x": 13, "y": 1},
{"matrix": [7, 3], "x": 14, "y": 1},
{"matrix": [7, 4], "x": 15, "y": 1},
{"matrix": [7, 5], "x": 16, "y": 1},
{"x": 0, "y": 4, "matrix": [4, 0]},
{"x": 1, "y": 4, "matrix": [4, 1]},
{"x": 2, "y": 4, "matrix": [4, 2]},
{"x": 3, "y": 4, "matrix": [4, 3]},
{"x": 16, "y": 4, "matrix": [10, 2]},
{"x": 17, "y": 4, "matrix": [10, 3]},
{"x": 18, "y": 4, "matrix": [10, 4]},
{"x": 19, "y": 4, "matrix": [10, 5]},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
{"x": 5, "y": 5, "matrix": [5, 0]},
{"x": 6, "y": 5, "matrix": [5, 1]},
{"x": 7, "y": 5, "matrix": [5, 2]},
{"x": 13, "y": 5, "matrix": [11, 0]},
{"x": 14, "y": 5, "matrix": [11, 1]},
{"x": 15, "y": 5, "matrix": [11, 2]},
{"matrix": [8, 0], "x": 11, "y": 2},
{"matrix": [8, 1], "x": 12, "y": 2},
{"matrix": [8, 2], "x": 13, "y": 2},
{"matrix": [8, 3], "x": 14, "y": 2},
{"matrix": [8, 4], "x": 15, "y": 2},
{"matrix": [8, 5], "x": 16, "y": 2},
{"x": 5, "y": 6, "matrix": [5, 3]},
{"x": 6, "y": 6, "matrix": [5, 4]},
{"x": 7, "y": 6, "matrix": [5, 5]},
{"x": 13, "y": 6, "matrix": [11, 3]},
{"x": 14, "y": 6, "matrix": [11, 4]},
{"x": 15, "y": 6, "matrix": [11, 5]}
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4, "y": 3},
{"matrix": [3, 5], "x": 5, "y": 3},
{"matrix": [9, 0], "x": 11, "y": 3},
{"matrix": [9, 1], "x": 12, "y": 3},
{"matrix": [9, 2], "x": 13, "y": 3},
{"matrix": [9, 3], "x": 14, "y": 3},
{"matrix": [9, 4], "x": 15, "y": 3},
{"matrix": [9, 5], "x": 16, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4},
{"matrix": [4, 1], "x": 1, "y": 4},
{"matrix": [4, 2], "x": 2, "y": 4},
{"matrix": [4, 3], "x": 3, "y": 4},
{"matrix": [10, 2], "x": 13, "y": 4},
{"matrix": [10, 3], "x": 14, "y": 4},
{"matrix": [10, 4], "x": 15, "y": 4},
{"matrix": [10, 5], "x": 16, "y": 4},
{"matrix": [4, 4], "x": 4, "y": 5},
{"matrix": [4, 5], "x": 5, "y": 5},
{"matrix": [10, 0], "x": 11, "y": 5},
{"matrix": [10, 1], "x": 12, "y": 5},
{"matrix": [5, 4], "x": 6, "y": 6},
{"matrix": [5, 5], "x": 7, "y": 6},
{"matrix": [11, 0], "x": 9, "y": 6},
{"matrix": [11, 1], "x": 10, "y": 6},
{"matrix": [5, 2], "x": 6, "y": 7},
{"matrix": [5, 3], "x": 7, "y": 7},
{"matrix": [11, 2], "x": 9, "y": 7},
{"matrix": [11, 3], "x": 10, "y": 7}
]
}
}

View File

@ -5,39 +5,45 @@
enum custom_layers {
_QWERTY,
_LAYER2,
_LOWER,
_RAISE
};
#define GUI_J RGUI_T(KC_J)
#define GUI_F LGUI_T(KC_F)
#define SFT_A LSFT_T(KC_A)
#define CTL_S LCTL_T(KC_S)
#define ALT_D LALT_T(KC_D)
#define ALT_K RALT_T(KC_K)
#define CTL_L RCTL_T(KC_L)
#define SFT_SC RSFT_T(KC_SCLN)
#define IMPORTS LALT(LCTL(KC_O)) //Intellij Organize Imports
#define LINES LALT(LGUI(KC_L)) //Intellij Reformat Code
#define USAGES LALT(KC_F7) //Intelllj Find Usages
#define RENAME LSFT(KC_F6) //Intellij Refactor Rename
#define RAISE MO(_RAISE)
#define LOWER MO(_LOWER)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
KC_EQL , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS,
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS,
KC_ESC , SFT_A , CTL_S , ALT_D , GUI_F , KC_G , KC_H , GUI_J , ALT_K , CTL_L , SFT_SC , KC_QUOT,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
KC_GRV , KC_INS , KC_LEFT, KC_RGHT, KC_DOWN, KC_UP , KC_LBRC, KC_RBRC,
KC_LCTL, KC_LALT, KC_HOME, KC_DEL , KC_PGUP, KC_BSPC,
KC_SPC , KC_DEL , KC_END , MO(_LAYER2), KC_PGDN, KC_ENT
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_BSLS,
KC_CAPS, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LALT, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_RALT, KC_RCTL,
RAISE, KC_SPC, KC_ENT, LOWER,
KC_HOME, KC_BSPC, KC_DEL, KC_END,
KC_PGUP, KC_LGUI, KC_RGUI, KC_PGDN
),
[_LAYER2] = LAYOUT(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, IMPORTS, XXXXXXX, USAGES , RENAME , XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
XXXXXXX, LINES , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, _______,XXXXXXX, XXXXXXX
[_LOWER] = LAYOUT(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, _______,
_______, KC_SCRL, KC_INS, KC_PAUS, KC_PSCR, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
_______, _______, _______, _______, KC_P0, KC_PDOT, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______
),
[_RAISE] = LAYOUT(
KC_F12, KC_F1, KC_F2, KC_F3 , KC_F4, KC_F5, KC_F6, KC_F7 , KC_F8, KC_F9, KC_F10 , KC_F11,
_______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, _______, KC_NUM, _______, _______, KC_MUTE,
_______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
_______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______
)
};

View File

@ -1,5 +1,5 @@
# Dactyl Manuform
# Dactyl Manuform 5x6_68
This is a 5x6 manuform with a 4 key bottom row and 6 key thumb clusters.
This is a Dactyl ManuForm 5x6 with an extended, 4 key, bottom row; totalling 68 keys.
This results in a 68 key 5x6
![diagram](https://i.imgur.com/TGd36fWh.png)

View File

@ -1,13 +1 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
SPLIT_KEYBOARD = yes
# This file intentionally left blank