~ruther/qmk_firmware

1a49eb5be12fd5a32d59103427c71ee4869eea49 — Jan Christoph Ebersbach 5 years ago 5bd239e
[Keyboard] Add Dactyl Manuform 5x6 with 5 thumb keys (#9659)

* [Keyboard] Add Dactyl Manuform 5x6 with 5 thumb keys

* fix: remove unused code block

* fix: remove unused code block

* Remove unused build options
A keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c => keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c +2 -0
@@ 0,0 1,2 @@
#include "5x6_5.h"


A keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h => keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h +27 -0
@@ 0,0 1,27 @@
#pragma once

#include "dactyl_manuform.h"

#define LAYOUT_5x6_5(\
  L00, L01, L02, L03, L04, L05,                          R00, R01, R02, R03, R04, R05, \
  L10, L11, L12, L13, L14, L15,                          R10, R11, R12, R13, R14, R15, \
  L20, L21, L22, L23, L24, L25,                          R20, R21, R22, R23, R24, R25, \
  L30, L31, L32, L33, L34, L35,                          R30, R31, R32, R33, R34, R35, \
            L42, L43,      L44, L55, L53,      R52, R50, R41,      R42, R43,           \
                                L54, L52,      R53, R51                                \
  ) \
  { \
    { L00,   L01,   L02, L03, L04, L05   }, \
    { L10,   L11,   L12, L13, L14, L15   }, \
    { L20,   L21,   L22, L23, L24, L25   }, \
    { L30,   L31,   L32, L33, L34, L35   }, \
    { KC_NO, KC_NO, L42, L43, L44, KC_NO }, \
    { KC_NO, KC_NO, L52, L53, L54, L55   }, \
                                          \
    { R00,   R01, R02, R03, R04,   R05   }, \
    { R10,   R11, R12, R13, R14,   R15   }, \
    { R20,   R21, R22, R23, R24,   R25   }, \
    { R30,   R31, R32, R33, R34,   R35   }, \
    { KC_NO, R41, R42, R43, KC_NO, KC_NO }, \
    { R50,   R51, R52, R53, KC_NO, KC_NO }  \
}

A keyboards/handwired/dactyl_manuform/5x6_5/config.h => keyboards/handwired/dactyl_manuform/5x6_5/config.h +52 -0
@@ 0,0 1,52 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include "config_common.h"


#define PRODUCT         Dactyl-Manuform (5x6)

/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
#define MATRIX_COLS 6

// wiring of each half
// ../../../../docs/proton_c_conversion.md
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0

#define BOOTMAGIC_LITE_ROW_RIGHT 6
#define BOOTMAGIC_LITE_COLUMN_RIGHT 5

// WS2812 RGB LED strip input and number of LEDs
// #define RGB_DI_PIN D3
// #define RGBLED_NUM 12

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST

/* number of backlight levels */
// #define BACKLIGHT_LEVELS 3

A keyboards/handwired/dactyl_manuform/5x6_5/info.json => keyboards/handwired/dactyl_manuform/5x6_5/info.json +82 -0
@@ 0,0 1,82 @@
{
    "keyboard_name": "Dactyl Manuform 5x6 5 thumb keys",
    "url": "",
    "maintainer": "jceb",
    "width": 17,
    "height": 6,
    "layouts": {
        "LAYOUT_5x6_5": {
            "layout": [
                {"label":"L00", "x":0, "y":0},
                {"label":"L01", "x":1, "y":0},
                {"label":"L02", "x":2, "y":0},
                {"label":"L03", "x":3, "y":0},
                {"label":"L04", "x":4, "y":0},
                {"label":"L05", "x":5, "y":0},
                {"label":"R00", "x":11, "y":0},
                {"label":"R01", "x":12, "y":0},
                {"label":"R02", "x":13, "y":0},
                {"label":"R03", "x":14, "y":0},
                {"label":"R04", "x":15, "y":0},
                {"label":"R05", "x":16, "y":0},

                {"label":"L10", "x":0, "y":1},
                {"label":"L11", "x":1, "y":1},
                {"label":"L12", "x":2, "y":1},
                {"label":"L13", "x":3, "y":1},
                {"label":"L14", "x":4, "y":1},
                {"label":"L15", "x":5, "y":1},
                {"label":"R10", "x":11, "y":1},
                {"label":"R11", "x":12, "y":1},
                {"label":"R12", "x":13, "y":1},
                {"label":"R13", "x":14, "y":1},
                {"label":"R14", "x":15, "y":1},
                {"label":"R15", "x":16, "y":1},

                {"label":"L20", "x":0, "y":2},
                {"label":"L21", "x":1, "y":2},
                {"label":"L22", "x":2, "y":2},
                {"label":"L23", "x":3, "y":2},
                {"label":"L24", "x":4, "y":2},
                {"label":"L25", "x":5, "y":2},
                {"label":"R20", "x":11, "y":2},
                {"label":"R21", "x":12, "y":2},
                {"label":"R22", "x":13, "y":2},
                {"label":"R23", "x":14, "y":2},
                {"label":"R24", "x":15, "y":2},
                {"label":"R25", "x":16, "y":2},

                {"label":"L30", "x":0, "y":3},
                {"label":"L31", "x":1, "y":3},
                {"label":"L32", "x":2, "y":3},
                {"label":"L33", "x":3, "y":3},
                {"label":"L34", "x":4, "y":3},
                {"label":"L35", "x":5, "y":3},
                {"label":"R30", "x":11, "y":3},
                {"label":"R31", "x":12, "y":3},
                {"label":"R32", "x":13, "y":3},
                {"label":"R33", "x":14, "y":3},
                {"label":"R34", "x":15, "y":3},
                {"label":"R35", "x":16, "y":3},

                {"label":"L42", "x":2, "y":4},
                {"label":"L43", "x":3, "y":4},
                {"label":"L44", "x":5, "y":4},
                {"label":"L45", "x":6, "y":4},
                {"label":"L53", "x":7, "y":4},

                {"label":"R52", "x":9, "y":4},
                {"label":"R40", "x":10, "y":4},
                {"label":"R41", "x":11, "y":4},
                {"label":"R42", "x":13, "y":4},
                {"label":"R43", "x":14, "y":4},

                {"label":"L54", "x":6, "y":5},
                {"label":"L52", "x":7, "y":5},

                {"label":"R53", "x":9, "y":5},
                {"label":"R51", "x":10, "y":5}
            ]
        }
    }
}

A keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h => keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h +24 -0
@@ 0,0 1,24 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#define USE_SERIAL

#define EE_HANDS

#define KINETIC_SPEED

A keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json => keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json +507 -0
@@ 0,0 1,507 @@
{
    "version": 1,
    "notes": "",
    "author": "Jan Christoph Ebersbach",
    "keyboard": "dactyl_manuform/5x6_5/default",
    "keymap": "dactyl_manuform_5x6_5_default",
    "layout": "LAYOUT_5x6_5",
    "layers": [
        [
            "KC_GRV",
            "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_LBRC",

            "LCTL_T(KC_ESC)",
            "KC_A",
            "KC_S",
            "KC_D",
            "KC_F",
            "KC_G",
            "KC_H",
            "KC_J",
            "KC_K",
            "KC_L",
            "KC_SCLN",
            "KC_QUOT",

            "KC_LSPO",
            "KC_Z",
            "KC_X",
            "KC_C",
            "KC_V",
            "KC_B",
            "KC_N",
            "KC_M",
            "KC_COMM",
            "KC_DOT",
            "KC_SLSH",
            "KC_RSPC",

            "KC_LGUI",
            "KC_LALT",
            "TT(2)",
            "LT(6,KC_SPC)",
            "LT(4,KC_DEL)",

            "LT(4,KC_ENT)",
            "KC_SPC",
            "LT(2,KC_BSPC)",
            "LALT_T(KC_RALT)",
            "KC_RGUI",

            "LCTL_T(KC_LBRC)",
            "LCTL_T(KC_LBRC)",

            "LT(4,KC_ENT)",
            "RCTL_T(KC_RBRC)"
        ],
        [
            "KC_GRV",
            "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_F",
            "KC_P",
            "KC_G",
            "KC_J",
            "KC_L",
            "KC_U",
            "KC_Y",
            "KC_SCLN",
            "KC_LBRC",

            "LCTL_T(KC_ESC)",
            "KC_A",
            "KC_R",
            "KC_S",
            "KC_T",
            "KC_D",
            "KC_H",
            "KC_N",
            "KC_E",
            "KC_I",
            "KC_O",
            "KC_QUOT",

            "KC_LSPO",
            "KC_Z",
            "KC_X",
            "KC_C",
            "KC_V",
            "KC_B",
            "KC_K",
            "KC_M",
            "KC_COMM",
            "KC_DOT",
            "KC_SLSH",
            "KC_RSPC",

            "KC_LGUI",
            "KC_LALT",
            "TT(2)",
            "LT(6,KC_SPC)",
            "LT(4,KC_DEL)",

            "LT(4,KC_ENT)",
            "KC_SPC",
            "LT(2,KC_BSPC)",
            "LALT_T(KC_RALT)",
            "KC_RGUI",

            "LCTL_T(KC_LBRC)",
            "LCTL_T(KC_LBRC)",

            "LT(4,KC_ENT)",
            "RCTL_T(KC_RBRC)"
        ],
        [
            "RESET",
            "KC_PWR",
            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_PWR",
            "RESET",

            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_7",
            "KC_7",
            "KC_8",
            "KC_9",
            "KC_TRNS",
            "KC_RBRC",

            "KC_TRNS",
            "DF(0)",
            "DF(1)",
            "KC_NO",
            "MO(3)",
            "MO(3)",
            "KC_4",
            "KC_4",
            "KC_5",
            "KC_6",
            "KC_MINS",
            "KC_EQL",

            "KC_TRNS",
            "MO(5)",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_1",
            "KC_1",
            "KC_2",
            "KC_3",
            "KC_BSLS",
            "KC_TRNS",

            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_SPC",
            "KC_DEL",

            "KC_ENT",
            "KC_0",
            "KC_BSPC",
            "KC_TRNS",
            "KC_TRNS",

            "TG(2)",
            "KC_TRNS",

            "KC_ENT",
            "KC_TRNS"
        ],
        [
            "KC_TRNS",
            "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_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_F7",
            "KC_F7",
            "KC_F8",
            "KC_F9",
            "KC_F10",
            "KC_NO",

            "KC_TRNS",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "MO(3)",
            "MO(3)",
            "KC_F4",
            "KC_F4",
            "KC_F5",
            "KC_F6",
            "KC_F11",
            "KC_NO",

            "KC_TRNS",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_F1",
            "KC_F1",
            "KC_F2",
            "KC_F3",
            "KC_F12",
            "KC_TRNS",

            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_SPC",
            "KC_DEL",

            "KC_ENT",
            "KC_SPC",
            "KC_BSPC",
            "KC_TRNS",
            "KC_TRNS",

            "TG(3)",
            "KC_TRNS",

            "KC_ENT",
            "KC_TRNS"
        ],
        [
            "KC_ESC",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",

            "KC_ESC",
            "KC_ESC",
            "LCTL(KC_W)",
            "LCTL(KC_T)",
            "LCTL(KC_PGDN)",
            "LCTL(KC_PGDN)",
            "KC_PGDN",
            "KC_HOME",
            "KC_UP",
            "KC_INS",
            "LSFT(KC_INS)",
            "KC_ESC",

            "KC_TRNS",
            "KC_CAPS",
            "LGUI(KC_LEFT)",
            "LGUI(KC_TAB)",
            "LGUI(KC_RGHT)",
            "LGUI(KC_RGHT)",
            "KC_LEFT",
            "KC_LEFT",
            "KC_DOWN",
            "KC_RGHT",
            "KC_END",
            "KC_PSCR",

            "KC_TRNS",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "LCTL(KC_PGUP)",
            "LCTL(KC_PGUP)",
            "KC_PGUP",
            "KC_TRNS",
            "KC_DOWN",
            "KC_NO",
            "KC_APP",
            "KC_TRNS",

            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_SPC",
            "KC_DEL",

            "KC_ENT",
            "KC_SPC",
            "KC_BSPC",
            "KC_TRNS",
            "KC_TRNS",

            "TG(4)",
            "KC_TRNS",

            "KC_ENT",
            "KC_TRNS"
        ],
        [
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",

            "KC_TRNS",
            "KC_NO",
            "KC_MPLY",
            "KC_VOLU",
            "KC_VOLU",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "RESET",
            "KC_PWR",

            "KC_TRNS",
            "KC_NO",
            "KC_MPRV",
            "KC_MUTE",
            "KC_MNXT",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_SLEP",

            "KC_TRNS",
            "MO(5)",
            "KC_NO",
            "KC_VOLD",
            "KC_VOLD",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",

            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_SPC",
            "KC_DEL",

            "KC_ENT",
            "KC_SPC",
            "KC_BSPC",
            "KC_TRNS",
            "KC_TRNS",

            "TG(5)",
            "TG(5)",

            "KC_ENT",
            "KC_TRNS"
        ],
        [
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",

            "KC_TRNS",
            "KC_ACL1",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_WH_U",
            "KC_WH_L",
            "KC_MS_U",
            "KC_WH_R",
            "KC_NO",
            "KC_NO",

            "KC_TRNS",
            "KC_ACL2",
            "KC_BTN2",
            "KC_BTN3",
            "KC_BTN1",
            "KC_BTN1",
            "KC_MS_L",
            "KC_MS_L",
            "KC_MS_D",
            "KC_MS_R",
            "KC_NO",
            "KC_NO",

            "KC_TRNS",
            "KC_ACL0",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_NO",
            "KC_WH_D",
            "KC_NO",
            "KC_MS_D",
            "KC_NO",
            "KC_NO",
            "KC_TRNS",

            "KC_TRNS",
            "KC_TRNS",
            "KC_TRNS",
            "KC_SPC",
            "KC_DEL",

            "KC_ENT",
            "KC_SPC",
            "KC_BSPC",
            "KC_TRNS",
            "KC_TRNS",

            "TG(6)",
            "KC_TRNS",

            "KC_ENT",
            "KC_TRNS"
        ]
    ]
}

A keyboards/handwired/dactyl_manuform/5x6_5/rules.mk => keyboards/handwired/dactyl_manuform/5x6_5/rules.mk +3 -0
@@ 0,0 1,3 @@
BOOTMAGIC_ENABLE = lite
COMMAND_ENABLE = no
NKRO_ENABLE = yes

M keyboards/handwired/dactyl_manuform/dactyl_manuform.h => keyboards/handwired/dactyl_manuform/dactyl_manuform.h +2 -0
@@ 6,6 6,8 @@
    #include "4x6.h"
#elif KEYBOARD_handwired_dactyl_manuform_5x6
    #include "5x6.h"
#elif KEYBOARD_handwired_dactyl_manuform_5x6_5
    #include "5x6_5.h"
#elif KEYBOARD_handwired_dactyl_manuform_5x7
    #include "5x7.h"
#elif KEYBOARD_handwired_dactyl_manuform_6x6