From d7eb09949d426af891dd9cf85ad789285422490e Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 10 Jan 2022 11:31:51 +0100 Subject: [Keyboard] Add keymap and settings for dactyl_manuform 6x6_5 thumb (#15526) * Add dactyl manu 6x6 with stm32 support and 5thumb cluster * Add review changes * Add license to new files * Fix enums for custom keymap * Readme update * Fix readme to follow one from template * Add missing licence to files * Update keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk * Update keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk * Remove readme from onekey keyboard * Make separate macro for 5thumb --- keyboards/handwired/dactyl_manuform/6x6/6x6.h | 23 ++++++++ .../dactyl_manuform/6x6/blackpill_f411/chconf.h | 22 ++++++++ .../dactyl_manuform/6x6/blackpill_f411/config.h | 54 +++++++++++++++++++ .../dactyl_manuform/6x6/blackpill_f411/halconf.h | 24 +++++++++ .../dactyl_manuform/6x6/blackpill_f411/mcuconf.h | 22 ++++++++ .../dactyl_manuform/6x6/blackpill_f411/rules.mk | 30 +++++++++++ keyboards/handwired/dactyl_manuform/6x6/config.h | 18 ++----- .../dactyl_manuform/6x6/keymaps/default/keymap.c | 13 +++-- .../6x6/keymaps/default_5_thumb/keymap.c | 51 ++++++++++++++++++ .../dactyl_manuform/6x6/keymaps/dumam/keymap.c | 59 ++++++++++++++++++++ .../dactyl_manuform/6x6/promicro/config.h | 29 ++++++++++ .../dactyl_manuform/6x6/promicro/rules.mk | 8 +++ keyboards/handwired/dactyl_manuform/6x6/readme.md | 63 ++++++++++++++++++++++ keyboards/handwired/dactyl_manuform/6x6/rules.mk | 8 +-- 14 files changed, 401 insertions(+), 23 deletions(-) create mode 100644 keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/chconf.h create mode 100644 keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h create mode 100644 keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/halconf.h create mode 100644 keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h create mode 100644 keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk create mode 100644 keyboards/handwired/dactyl_manuform/6x6/keymaps/default_5_thumb/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/6x6/promicro/config.h create mode 100644 keyboards/handwired/dactyl_manuform/6x6/promicro/rules.mk create mode 100644 keyboards/handwired/dactyl_manuform/6x6/readme.md (limited to 'keyboards') diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.h b/keyboards/handwired/dactyl_manuform/6x6/6x6.h index 821abe0308..097d1095e8 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/6x6.h +++ b/keyboards/handwired/dactyl_manuform/6x6/6x6.h @@ -31,3 +31,26 @@ { R50, R51, R52, R53, XXX, XXX }, \ { R60, R61, R62, R63, XXX, XXX } \ } + + +#define LAYOUT_6x6_5_thumb( \ + 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, \ + L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \ + L52, L53, R52, R53, \ + L54, R51, \ + L64, L65, R60, R61, \ + L62, L63, R62, R63 \ +) LAYOUT_6x6( \ + 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, \ + L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \ + L52, L53, R52, R53, \ + L54, XXX, XXX, R51, \ + L64, L65, R60, R61, \ + L62, L63, R62, R63 \ +) diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/chconf.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/chconf.h new file mode 100644 index 0000000000..f0c98d3b97 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/chconf.h @@ -0,0 +1,22 @@ +/* Copyright 2021 QMK + * + * 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 CH_CFG_ST_FREQUENCY 10000 + +#include_next + diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h new file mode 100644 index 0000000000..93e1ed8449 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h @@ -0,0 +1,54 @@ +/* Copyright 2021 QMK + * + * 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" + +#undef SOFT_SERIAL_PIN + +#define MATRIX_ROW_PINS { B12, B13, B14, B15, A8 , A9, A10} +#define MATRIX_COL_PINS { B1, B0, A7, A6, A5, A4} +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 +#define BOOTMAGIC_LITE_ROW_RIGHT 7 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 0 + +// in col2row col is input, and row is output +// #define SPLIT_HAND_MATRIX_GRID A10, A4 +// 68kohm +#define SPLIT_HAND_PIN B10 + +/* connection */ +#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. +#define SOFT_SERIAL_PIN B6 // USART TX pin +#define SERIAL_USART_RX_PIN B7 // USART RX pin +#define SERIAL_USART_TX_PIN SOFT_SERIAL_PIN // USART TX pin + +#define SELECT_SOFT_SERIAL_SPEED 1 // or 0, 2, 3, 4, 5 + // 0: 460800 baud + // 1: 230400 baud (default) + // 2: 115200 baud + // 3: 57600 baud + // 4: 38400 baud + // 5: 19200 baud +#define SERIAL_USART_DRIVER SD1 // USART driver of TX and RX pin. default: SD1 +#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +#define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +#define SERIAL_USART_TIMEOUT 20 // USART driver timeout. default 20 diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/halconf.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/halconf.h new file mode 100644 index 0000000000..9068139df8 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/halconf.h @@ -0,0 +1,24 @@ +/* Copyright 2021 QMK + * + * 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 HAL_USE_SERIAL TRUE + +#define PAL_USE_CALLBACKS TRUE +#define PAL_USE_WAIT TRUE + +#include_next diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h new file mode 100644 index 0000000000..b8bb363d91 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2021 QMK + * + * 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 3 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_next "mcuconf.h" + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 TRUE diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk new file mode 100644 index 0000000000..af3cc49296 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk @@ -0,0 +1,30 @@ +# Copyright 2021 Bartosz Nowak (@dumam) +# SPDX-License-Identifier: GPL-2.0-or-later + +# MCU name +MCU = STM32F411 + +# Bootloader selection +BOOTLOADER = tinyuf2 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + + +# Build Options +# change yes to no to disable +# +SPLIT_KEYBOARD = yes +# split settings +# https://beta.docs.qmk.fm/developing-qmk/c-development/hardware_drivers/serial_driver +SERIAL_DRIVER = usart diff --git a/keyboards/handwired/dactyl_manuform/6x6/config.h b/keyboards/handwired/dactyl_manuform/6x6/config.h index 9323e33029..15682fcadf 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/config.h +++ b/keyboards/handwired/dactyl_manuform/6x6/config.h @@ -20,21 +20,13 @@ along with this program. If not, see . #include "config_common.h" -#define PRODUCT_ID 0x3636 -#define DEVICE_VER 0x0001 -#define PRODUCT Dactyl-Manuform (6x6) +#define PRODUCT_ID 0x3636 +#define DEVICE_VER 0x0001 +#define PRODUCT "Dactyl-Manuform (6x6)" + +/* USB Device descriptor parameter */ /* key matrix size */ // Rows are doubled-up #define MATRIX_ROWS 14 #define MATRIX_COLS 6 - -// wiring of each half -#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 } -#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 } - -#define DIODE_DIRECTION COL2ROW - -// WS2812 RGB LED strip input and number of LEDs -#define RGB_DI_PIN D3 -#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c index 41e96b53d7..8c85746986 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c @@ -1,8 +1,13 @@ +// Copyright 2021 david@impstyle.com (@zwnk) +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 +enum custom_layers { + _QWERTY, + _LOWER, + _RAISE, +}; #define RAISE MO(_RAISE) #define LOWER MO(_LOWER) @@ -15,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH, KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, - RAISE,KC_SPC, KC_ENT, LOWER, + RAISE ,KC_SPC, KC_ENT, LOWER, KC_TAB,KC_HOME, KC_END, KC_DEL, KC_BSPC, KC_GRV, KC_LGUI, KC_LALT ), diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default_5_thumb/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default_5_thumb/keymap.c new file mode 100644 index 0000000000..b68ec078e0 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default_5_thumb/keymap.c @@ -0,0 +1,51 @@ +// Copyright 2021 Bartosz Nowak (@dumam) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _QWERTY, + _LOWER, + _RAISE, +}; + +#define RAISE LT(_RAISE, KC_SPC) +#define LOWER LT(_LOWER, KC_ENT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_6x6_5_thumb( + KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 , + KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC, + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_MINS, + KC_LSFT,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT, + KC_LCTL,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH, + KC_LBRC,KC_RBRC, KC_PLUS,KC_EQL , + RAISE , LOWER , + KC_TAB ,KC_HOME, KC_END ,KC_DEL, + KC_BSPC,KC_GRV , KC_LGUI ,KC_LALT + ), + + [_LOWER] = LAYOUT_6x6_5_thumb( + KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 , + KC_TILD,KC_EXLM,KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL, + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,KC_P7 ,KC_P8 ,KC_P9 ,_______,KC_PLUS, + _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN,KC_P4 ,KC_P5 ,KC_P6 ,KC_MINS,KC_PIPE, + _______,_______,_______,_______,_______,_______, _______,KC_P1 ,KC_P2 ,KC_P3 ,KC_EQL ,KC_UNDS, + _______,KC_PSCR, _______,KC_P0 , + _______, _______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ), + + [_RAISE] = LAYOUT_6x6_5_thumb( + 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_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE, + _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, + _______,_______, KC_EQL ,_______, + _______, _______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ) +}; diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c new file mode 100644 index 0000000000..2fb783e0b8 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c @@ -0,0 +1,59 @@ +// Copyright 2021 Bartosz Nowak (@dumam) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _QWERTY, // daily use and coding + _MOVE, // mouse, arrows, browsing useful keys + _CONF, // machine settings, keyboard settings, backlight +}; +#define _KC_SPC LT(_CONF, KC_SPC) +#define _KC_ENT LT(_MOVE, KC_ENT) + +#define KC_SPEC KC_SFTENT //KC_SFTENT - Right Shift when held, Enter when tapped +#define KC_INS_ KC_INS +#define KC_TAB_ KC_TAB +#define RESET__ RESET + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT_6x6_5_thumb( + + KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 , + 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_BSLS,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL , + KC_SLSH,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_LBRC,KC_RBRC, + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SCLN,KC_QUOT, + KC_LGUI,KC_ESC , KC_HOME,KC_END , + _KC_SPC, _KC_ENT, + KC_TAB_,KC_BSPC, KC_DEL ,KC_RSFT, + KC_LCTL,KC_LALT, KC_RALT,KC_RCTL + ), + + [_CONF] = LAYOUT_6x6_5_thumb( + + RESET__,XXXXXXX,XXXXXXX,XXXXXXX,KC_SLEP,KC_WAKE, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,RESET__, + 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,KC_PGUP,XXXXXXX, XXXXXXX,KC_PGUP,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, + XXXXXXX,KC_CAPS,KC_MENU,XXXXXXX,KC_PGDN,KC_LGUI, KC_LGUI,KC_PGDN,XXXXXXX,KC_INS_,KC_PSCR,XXXXXXX, + _______,_______, _______,_______, + _______, _______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ), + + [_MOVE] = LAYOUT_6x6_5_thumb( + + RESET__,XXXXXXX,XXXXXXX,KC_MPRV,KC_MPLY,KC_MPLY, KC_MUTE,KC_VOLD,KC_VOLU,XXXXXXX,XXXXXXX,RESET__, + XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, + XXXXXXX,XXXXXXX,XXXXXXX,KC_MS_U,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,KC_UP ,XXXXXXX,XXXXXXX,XXXXXXX, + XXXXXXX,XXXXXXX,KC_MS_L,KC_MS_D,KC_MS_R,XXXXXXX, XXXXXXX,KC_LEFT,KC_DOWN,KC_RGHT,XXXXXXX,XXXXXXX, + XXXXXXX,XXXXXXX,KC_BTN1,KC_BTN3,KC_BTN2,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, + _______,_______, _______,_______, + _______, _______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ), +}; diff --git a/keyboards/handwired/dactyl_manuform/6x6/promicro/config.h b/keyboards/handwired/dactyl_manuform/6x6/promicro/config.h new file mode 100644 index 0000000000..953d94a1a3 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/promicro/config.h @@ -0,0 +1,29 @@ +/* Copyright 2019 + * + * 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" + +// wiring of each half +#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 } +#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 } + +#define DIODE_DIRECTION COL2ROW + +// WS2812 RGB LED strip input and number of LEDs +#define RGB_DI_PIN D3 +#define RGBLED_NUM 12 diff --git a/keyboards/handwired/dactyl_manuform/6x6/promicro/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/promicro/rules.mk new file mode 100644 index 0000000000..d47d8e75f4 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/promicro/rules.mk @@ -0,0 +1,8 @@ +# Copyright 2021 Bartosz Nowak (@dumam) +# SPDX-License-Identifier: GPL-2.0-or-later + +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina diff --git a/keyboards/handwired/dactyl_manuform/6x6/readme.md b/keyboards/handwired/dactyl_manuform/6x6/readme.md new file mode 100644 index 0000000000..9b079be466 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6/readme.md @@ -0,0 +1,63 @@ +# Dactyl Manuform (6x6) optional 5thumb cluster + +## Dactyl Manufrom 6x6 + +![Dactyl Manufrom 6x6](https://i.imgur.com/j8dsBgs.jpeg) + +## Dactyl Manufrom 6x6 with 5 key thumb cluster + +![Dactyl Manufrom 6x6 with thumb](https://i.imgur.com/C7FRiwd.jpeg) + +## Description + +* Keyboard Maintainer: [dumam for 5thumb](https://github.com/DuMaM) and others +* Hardware Supported: STM32F4BlackPill, Promicro and clones + +Basic guide how to build 6x6 board is in root keyboard dir. This will help you to to create your own board with 6key based cluster with promicro. [For more click here](../readme.md). + +If you want to use 5thumb cluster or stm32, you also should read base guide, but please came back here after you finish 😉. + +For my build I used stm32f411 black pill. It's pretty cheap board and I highly recommend you to buy one from official distributors, to support board creators. [To buy it, please go into designer site](https://github.com/WeActTC/MiniSTM32F4x1). + +I recommend using stm32 boards for this project, because QMK recently added support for [tinyuf2 bootloader](https://github.com/adafruit/tinyuf2). This bootloader is great for cases where you are going to use QMK Configurator and don't want to use any command line interface. This way when you need change keyboard layout, you only need an UF2 file. Setting up board in boot mode will allow you to drag and drop it on to created STM32F flash drive. +![BlackPill Schematic](blackpill_f411/STM32F4x1_PinoutDiagram_RichardBalint.png "Schematic of stm32f4 blackpill") + +For case I used 3D models form here. Big thanks to creators. + +- [dactyl-manuform-mini-keyboard](https://github.com/l4u/dactyl-manuform-mini-keyboard) +- [dactyl-manuform](https://github.com/carbonfet/dactyl-manuform) +- [Good build guide](https://medium.com/swlh/complete-idiot-guide-for-building-a-dactyl-manuform-keyboard-53454845b065) + +## STM32 Usage + +![BlackPill](https://raw.githubusercontent.com/WeActTC/MiniSTM32F4x1/master/images/STM32F4x1_PinoutDiagram_RichardBalint.png) + +My fixes allows for using STM32 with all keymaps located in this dir. Please note that you need to pull down and up B10 pin. I used here 68kohm resistor. Don't use bigger one then 100kohm and lower then 10kohm. Pin you should use for this it B10. [More can be found here](https://beta.docs.qmk.fm/using-qmk/hardware-features/feature_split_keyboard#setting-handedness). + +### Features + +- any board could be master one, and they can be used separately from each other +- it's using full usart (4 cables), mostly due to some stability and half detection problems +- easy keymaps update -> drag and drop file +- pin used for rows (B12, B13, B14, B15, A8 , A9, A10) and for cols (B1, B0, A7, A6, A5, A4) + +## Build + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +After setting up your build environment you can try to build it with those commands. + +Make Promicro based img: + + qmk compile -kb keyboards/handwired/dactyl_manuform/6x6 -km default + +Make BlackPill one: + + qmk compile -kb keyboards/handwired/dactyl_manuform/6x6/blackpill_f411 -km default + +## Bootloader for BlackPill + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at F1 for left side, and F7 for right side. +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `RESET`, in dumam keymap it's assigned to F1 and F12 keys on mod layers. diff --git a/keyboards/handwired/dactyl_manuform/6x6/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/rules.mk index 0415379827..84645084d3 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/rules.mk +++ b/keyboards/handwired/dactyl_manuform/6x6/rules.mk @@ -1,9 +1,3 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = caterina - # Build Options # change yes to no to disable # @@ -17,3 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes + +DEFAULT_FOLDER = handwired/dactyl_manuform/6x6/promicro -- cgit v1.2.3