From 1a49eb5be12fd5a32d59103427c71ee4869eea49 Mon Sep 17 00:00:00 2001 From: Jan Christoph Ebersbach Date: Fri, 31 Jul 2020 22:03:44 +0200 Subject: [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 --- keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c | 2 + keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h | 27 ++ keyboards/handwired/dactyl_manuform/5x6_5/config.h | 52 +++ .../handwired/dactyl_manuform/5x6_5/info.json | 82 ++++ .../dactyl_manuform/5x6_5/keymaps/default/config.h | 24 + .../5x6_5/keymaps/default/keymap.json | 507 +++++++++++++++++++++ keyboards/handwired/dactyl_manuform/5x6_5/rules.mk | 3 + .../handwired/dactyl_manuform/dactyl_manuform.h | 2 + 8 files changed, 699 insertions(+) create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/info.json create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c new file mode 100644 index 0000000000..bacda3640e --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c @@ -0,0 +1,2 @@ +#include "5x6_5.h" + diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h new file mode 100644 index 0000000000..deb288a1f9 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h @@ -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 } \ +} diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/config.h new file mode 100644 index 0000000000..b5195abbc6 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/config.h @@ -0,0 +1,52 @@ +/* +Copyright 2012 Jun Wako +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 . +*/ + +#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 diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/info.json b/keyboards/handwired/dactyl_manuform/5x6_5/info.json new file mode 100644 index 0000000000..3e9b66a6a9 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/info.json @@ -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} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h new file mode 100644 index 0000000000..c4fb3742d9 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#pragma once + +#define USE_SERIAL + +#define EE_HANDS + +#define KINETIC_SPEED diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json new file mode 100644 index 0000000000..901a707ad4 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/keymap.json @@ -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" + ] + ] +} diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk new file mode 100644 index 0000000000..a20a3e7bd7 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk @@ -0,0 +1,3 @@ +BOOTMAGIC_ENABLE = lite +COMMAND_ENABLE = no +NKRO_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h index d8f27f729c..c91b247f16 100644 --- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h +++ b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h @@ -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 -- cgit v1.2.3