From db540e2832b0d3bed6ae2ca3a2c893d9c79a7f5d Mon Sep 17 00:00:00 2001 From: RJ Bernau Date: Sat, 25 Jul 2020 22:36:39 +0100 Subject: [PATCH] Adding VIA support for Dactyl Manuform 5x7 (#9462) * adding via support for Dactyl Manuform 5x7 * Changing Vendor ID from FEED to 444D (DM) * Update keyboards/handwired/dactyl_manuform/4x6/config.h Fixing typo in Dactyl Manuform 4x6 Product Id Co-authored-by: Joel Challis * Update keyboards/handwired/dactyl_manuform/4x5/config.h Fixing typo in Dactyl Manuform 4x5 Product Id Co-authored-by: Joel Challis Co-authored-by: Roland Bernau Co-authored-by: Joel Challis --- .../handwired/dactyl_manuform/4x5/config.h | 4 +- .../handwired/dactyl_manuform/4x6/config.h | 4 +- .../handwired/dactyl_manuform/5x6/config.h | 3 +- keyboards/handwired/dactyl_manuform/5x7/5x7.h | 4 +- .../handwired/dactyl_manuform/5x7/config.h | 5 +- .../dactyl_manuform/5x7/keymaps/via/config.h | 27 ++++ .../dactyl_manuform/5x7/keymaps/via/keymap.c | 123 ++++++++++++++++++ .../dactyl_manuform/5x7/keymaps/via/rules.mk | 1 + .../handwired/dactyl_manuform/6x6/config.h | 3 +- keyboards/handwired/dactyl_manuform/config.h | 4 +- .../dactyl_manuform/dmote/62key/config.h | 3 +- 11 files changed, 166 insertions(+), 15 deletions(-) create mode 100644 keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/5x7/keymaps/via/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/4x5/config.h b/keyboards/handwired/dactyl_manuform/4x5/config.h index 698418fb7..3b33441ca 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/config.h +++ b/keyboards/handwired/dactyl_manuform/4x5/config.h @@ -21,9 +21,9 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x3060 +#define PRODUCT_ID 0x3435 #define DEVICE_VER 0x0001 + #define MANUFACTURER tshort #define DESCRIPTION A split keyboard for the cheap makers diff --git a/keyboards/handwired/dactyl_manuform/4x6/config.h b/keyboards/handwired/dactyl_manuform/4x6/config.h index a9ad1a36d..20b8952b5 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/config.h +++ b/keyboards/handwired/dactyl_manuform/4x6/config.h @@ -21,10 +21,8 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x3060 +#define PRODUCT_ID 0x3436 #define DEVICE_VER 0x0001 -#define MANUFACTURER tshort #define DESCRIPTION A split keyboard for the cheap makers /* key matrix size */ diff --git a/keyboards/handwired/dactyl_manuform/5x6/config.h b/keyboards/handwired/dactyl_manuform/5x6/config.h index fd0c23961..dc395d868 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/config.h @@ -20,7 +20,8 @@ along with this program. If not, see . #include "config_common.h" - +#define PRODUCT_ID 0x3536 +#define DEVICE_VER 0x0001 #define PRODUCT Dactyl-Manuform (5x6) /* key matrix size */ diff --git a/keyboards/handwired/dactyl_manuform/5x7/5x7.h b/keyboards/handwired/dactyl_manuform/5x7/5x7.h index 88b68b31e..c01fce957 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/5x7.h +++ b/keyboards/handwired/dactyl_manuform/5x7/5x7.h @@ -6,8 +6,8 @@ #ifdef USE_I2C #include #ifdef __AVR__ - #include - #include + #include + #include #endif #endif diff --git a/keyboards/handwired/dactyl_manuform/5x7/config.h b/keyboards/handwired/dactyl_manuform/5x7/config.h index bf56d0825..32c351a47 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/config.h +++ b/keyboards/handwired/dactyl_manuform/5x7/config.h @@ -20,8 +20,9 @@ along with this program. If not, see . #include "config_common.h" - -#define PRODUCT Dactyl-Manuform (Ergodox) +#define PRODUCT_ID 0x3537 +#define DEVICE_VER 0x0001 +#define PRODUCT Dactyl-Manuform (5x7) /* key matrix size */ // Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h new file mode 100644 index 000000000..29ab59ad6 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h @@ -0,0 +1,27 @@ +/* +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 MASTER_LEFT +// #define MASTER_RIGHT +//#define EE_HANDS +// Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c new file mode 100644 index 000000000..07c5ec9ba --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c @@ -0,0 +1,123 @@ +#include QMK_KEYBOARD_H + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _FN 1 +#define _NUMPAD 2 +#define _BLANK 3 + +// Some basic macros +#define TASK LCTL(LSFT(KC_ESC)) +#define TAB_R LCTL(KC_TAB) +#define TAB_L LCTL(LSFT(KC_TAB)) +#define TAB_RO LCTL(LSFT(KC_T)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT_5x7( + // left hand + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO, + OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, + KC_CAPS, KC_LGUI, TAB_L, TAB_R, + TT(_FN), KC_SPC, + KC_END, KC_HOME, + KC_PSCR, TASK, + // right hand + KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), + KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + KC_BSPC, KC_ENT, + KC_PGUP, KC_PGDN, + KC_LCTL, KC_LALT), + +[_FN] = LAYOUT_5x7( + // left hand + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET, + _______, _______, _______, _______, _______, _______, + KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, + _______, _______, + _______, _______, + _______, _______, + // right hand + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + KC_DEL, _______, + _______, _______, + _______, _______), + +[_NUMPAD] = LAYOUT_5x7( + // left hand + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______, + // right hand + _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______, + _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, + _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, + KC_P0, KC_PDOT, _______, _______, + _______, KC_PENT, + _______, _______, + _______, _______), + + +[_NUMPAD] = LAYOUT_5x7( + // left hand + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______, + // right hand + _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______, + _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, + _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, + KC_P0, KC_PDOT, _______, _______, + _______, KC_PENT, + _______, _______, + _______, _______), + +[_BLANK] = LAYOUT_5x7( + // left hand + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______, + // right hand + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______), + + +}; diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/rules.mk b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/rules.mk new file mode 100644 index 000000000..1e5b99807 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/6x6/config.h b/keyboards/handwired/dactyl_manuform/6x6/config.h index 522e98b68..dd47f44c9 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/config.h +++ b/keyboards/handwired/dactyl_manuform/6x6/config.h @@ -20,7 +20,8 @@ along with this program. If not, see . #include "config_common.h" - +#define PRODUCT_ID 0x3636 +#define DEVICE_VER 0x0001 #define PRODUCT Dactyl-Manuform (6x6) /* key matrix size */ diff --git a/keyboards/handwired/dactyl_manuform/config.h b/keyboards/handwired/dactyl_manuform/config.h index 7c95f7058..5a5664e38 100644 --- a/keyboards/handwired/dactyl_manuform/config.h +++ b/keyboards/handwired/dactyl_manuform/config.h @@ -21,9 +21,7 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x3060 -#define DEVICE_VER 0x0001 +#define VENDOR_ID 0x444D #define MANUFACTURER tshort // defined in subfolder #define DESCRIPTION A split keyboard for the cheap makers diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h index d315cb180..cb2132707 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h @@ -1,7 +1,8 @@ #pragma once #include "config_common.h" - +#define PRODUCT_ID 0x3632 +#define DEVICE_VER 0x0001 #define PRODUCT DMOTE (62-key) #define MATRIX_ROWS 12 #define MATRIX_COLS 6