~ruther/qmk_firmware

2404559fdb8e1474ed3bdb36746df9f389417832 — Duncan Sutherland 2 years ago d13925b
Modernize, correct, and uniform `dactyl_manuform` variant `5x6_68` (#21299)

M keyboards/handwired/dactyl_manuform/5x6_68/info.json => keyboards/handwired/dactyl_manuform/5x6_68/info.json +90 -70
@@ 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},

                {"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},

                {"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},

                {"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},

                {"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},

                {"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},

                {"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},

                {"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": [4, 4], "x": 4, "y": 5},
                {"matrix": [4, 5], "x": 5, "y": 5},

                {"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": [10, 0], "x": 11, "y": 5},
                {"matrix": [10, 1], "x": 12, "y": 5},

                {"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": [5, 4], "x": 6, "y": 6},
                {"matrix": [5, 5], "x": 7, "y": 6},

                {"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": [11, 0], "x": 9, "y": 6},
                {"matrix": [11, 1], "x": 10, "y": 6},

                {"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": [5, 2], "x": 6, "y": 7},
                {"matrix": [5, 3], "x": 7, "y": 7},

                {"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": [11, 2], "x": 9, "y": 7},
                {"matrix": [11, 3], "x": 10, "y": 7}
            ]
        }
    }

M keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c => keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c +34 -28
@@ 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,
        _______, _______, _______, _______,                                            _______, _______, _______, _______,
                                            _______, _______,        _______, _______,
                                            _______, _______,        _______, _______,
                                            _______, _______,        _______, _______
    )
};

M keyboards/handwired/dactyl_manuform/5x6_68/readme.md => keyboards/handwired/dactyl_manuform/5x6_68/readme.md +3 -3
@@ 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
\ No newline at end of file
![diagram](https://i.imgur.com/TGd36fWh.png)

M keyboards/handwired/dactyl_manuform/5x6_68/rules.mk => keyboards/handwired/dactyl_manuform/5x6_68/rules.mk +1 -13
@@ 1,13 1,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