diff options
Diffstat (limited to 'keyboards/handwired/dactyl_manuform')
69 files changed, 2391 insertions, 125 deletions
diff --git a/keyboards/handwired/dactyl_manuform/4x5/rules.mk b/keyboards/handwired/dactyl_manuform/4x5/rules.mk index 3036ebe1db..0415379827 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/rules.mk +++ b/keyboards/handwired/dactyl_manuform/4x5/rules.mk @@ -12,10 +12,7 @@ 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 -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +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 diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md new file mode 100644 index 0000000000..b7f7cbf938 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md @@ -0,0 +1,8 @@ +#### compile with + +`make handwired/dactyl_manuform/4x6:scheikled` + + +#### flash with + +`qmk flash -kb handwired/dactyl_manuform/4x6 -km scheikled` diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h new file mode 100644 index 0000000000..a73cac9ed6 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h @@ -0,0 +1,60 @@ +// Copyright 2021 Paul Maria Scheikl (@ScheiklP) +// SPDX-License-Identifier: GPL-2.0-or-later + + +#pragma once + +#define USE_I2C + +#define SPLIT_HAND_PIN F6 + +// WS2812 RGB LED strip input and number of LEDs +#undef RGB_DI_PIN +#undef RGBLED_NUM +#define RGB_DI_PIN F4 +#define RGBLED_NUM 52 +#define RGBLED_SPLIT {26, 26} +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_SNAKE + +// Amoeba royale PCBs (https://github.com/mtl/keyboard-pcbs/tree/master/amoeba-royale) use row to column layout (current can flow from row pin to column pin). +#undef DIODE_DIRECTION +#define DIODE_DIRECTION ROW2COL + +#define DEBOUNCE 5 + +#define AUTO_SHIFT_TIMEOUT 100 +#define NO_AUTO_SHIFT_SPECIAL +#define NO_AUTO_SHIFT_NUMERIC + +// require two taps for a TT layer switch (default 5) +#define TAPPING_TOGGLE 2 + +// Mouse control +// constant mode (velocity) +#define MK_3_SPEED +// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2 + +// Cursor offset per movement (unmodified) +#define MK_C_OFFSET_UNMOD 16 +// Time between cursor movements (unmodified) +#define MK_C_INTERVAL_UNMOD 10 +/* #define MK_C_INTERVAL_UNMOD 16 */ + +// Cursor offset per movement (KC_ACL0) +#define MK_C_OFFSET_0 1 +// Time between cursor movements (KC_ACL0) +#define MK_C_INTERVAL_0 32 + +// Cursor offset per movement (KC_ACL1) +#define MK_C_OFFSET_1 4 +// Time between cursor movements (KC_ACL1) +#define MK_C_INTERVAL_1 16 + +// Cursor offset per movement (KC_ACL2) +#define MK_C_OFFSET_2 20 +/* #define MK_C_OFFSET_2 32 */ +// Time between cursor movements (KC_ACL2) +#define MK_C_INTERVAL_2 16 diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c new file mode 100644 index 0000000000..7f3fc2585f --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c @@ -0,0 +1,64 @@ +// Copyright 2021 Paul Maria Scheikl (@ScheiklP) +// SPDX-License-Identifier: GPL-2.0-or-later + +/* A K.O,Y layout for the Dactyl Manuform 4x6 Keyboard */ + +#include QMK_KEYBOARD_H +#include "koy_keys_on_quertz_de_latin1.h" + +enum custom_layers { + _1, + _3, + _4, + _7, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_1] = LAYOUT( + KC_TAB , KC_K , KC_DOT , KC_O , KC_COMM , N_Y , KC_V , KC_G , KC_C , KC_L , N_SS , N_Z , + MO(_3) , KC_H , KC_A , KC_E , KC_I , KC_U , KC_D , KC_T , KC_R , KC_N , KC_S , KC_F , + KC_LSFT , KC_X , KC_Q , N_AE , N_UE , N_OE , KC_B , KC_P , KC_W , KC_M , KC_J , KC_RSFT , + KC_LCTL , KC_LGUI , KC_CAPS , TT(_7) , + KC_LALT , KC_SPC , MO(_3) , MO(_4) , + N_COPY , N_CUT , KC_ESC , KC_ENTER , + N_PASTE , N_UNDO , KC_BSPC , KC_DEL + ), + + [_3] = LAYOUT( + + KC_TAB , N_DOTS , N_USC , N_LSQBR , N_RSQBR , N_CIRC , N_EXKL , N_LT , N_GT , N_EQ , N_AMP , N_ACUT , + KC_TRNS , N_BSLS , N_SLSH , N_LCUBR , N_RCUBR , N_ASTR , N_QUES , N_LPARN , N_RPARN , N_MINS , N_COLN , N_AT , + KC_LSFT , N_HASH , N_DLR , N_PIPE , N_TILD , N_GRAVE , N_PLUS , N_PERC , N_QUOT , N_SING , N_SEMI , KC_RSFT , + KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , + KC_LALT , KC_SPC , KC_TRNS , KC_TRNS , + N_COPY , N_CUT , KC_ESC , KC_ENTER , + N_PASTE , N_UNDO , KC_BSPC , KC_DEL + + ), + + [_4] = LAYOUT( + + KC_TAB , KC_PGUP , KC_BSPC , KC_UP , KC_DEL , KC_PGDN , KC_KP_SLASH , KC_7 , KC_8 , KC_9 , KC_KP_MINUS , KC_TRNS , + KC_TRNS , KC_HOME , KC_LEFT , KC_DOWN , KC_RIGHT , KC_END , KC_KP_ASTERISK , KC_4 , KC_5 , KC_6 , KC_KP_PLUS , KC_TRNS , + KC_LSFT , KC_ESC , KC_TAB , KC_INS , KC_ENTER , N_UNDO , KC_KP_ENTER , KC_1 , KC_2 , KC_3 , KC_KP_DOT , KC_RSFT , + KC_TRNS , KC_TRNS , KC_0 , KC_TRNS , + KC_LALT , KC_0 , KC_TRNS , KC_TRNS , + N_COPY , N_CUT , KC_ESC , KC_ENTER , + N_PASTE , N_UNDO , KC_BSPC , KC_DEL + + ), + + [_7] = LAYOUT( + + KC_TAB , KC_MS_WH_UP , KC_MS_BTN2 , KC_MS_UP , KC_MS_BTN1 , KC_MS_WH_DOWN , KC_TRNS , KC_F7 , KC_F8 , KC_F9 , RGB_HUI , RESET , + KC_TRNS , KC_MS_ACCEL0 , KC_MS_LEFT , KC_MS_DOWN , KC_MS_RIGHT , KC_TRNS , KC_TRNS , KC_F4 , KC_F5 , KC_F6 , RGB_SAI , RGB_TOG , + KC_LSFT , KC_MS_ACCEL1 , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_F1 , KC_F2 , KC_F3 , RGB_VAI , RGB_MODE_FORWARD , + KC_TRNS , KC_PSCR , KC_F10 , KC_TRNS , + KC_LALT , KC_F10 , KC_TRNS , KC_TRNS , + N_COPY , N_CUT , KC_ESC , KC_ENTER , + N_PASTE , N_UNDO , KC_BSPC , KC_DEL + + ), + +}; diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk new file mode 100644 index 0000000000..9991dcad71 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk @@ -0,0 +1,10 @@ +# Copyright 2021 Paul Maria Scheikl (@ScheiklP) +# SPDX-License-Identifier: GPL-2.0-or-later + +BOOTLOADER = atmel-dfu +AUTO_SHIFT_ENABLE = yes +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +NKRO_ENABLE = yes +RGBLIGHT_ENABLE = yes +DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md new file mode 100644 index 0000000000..18c4d8e78d --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md @@ -0,0 +1,8 @@ +#### compile with + +`make handwired/dactyl_manuform/4x6:scheiklp` + + +#### flash with + +`qmk flash -kb handwired/dactyl_manuform/4x6 -km scheiklp` diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h new file mode 100644 index 0000000000..bfce275567 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h @@ -0,0 +1,47 @@ +// Copyright 2021 Paul Maria Scheikl (@ScheiklP) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + + +#define USE_I2C +#define SPLIT_HAND_PIN F6 + +#undef RGB_DI_PIN +#undef RGBLED_NUM + +#define DEBOUNCE 5 + +#define AUTO_SHIFT_TIMEOUT 100 +#define NO_AUTO_SHIFT_SPECIAL +#define NO_AUTO_SHIFT_NUMERIC + +// require two taps for a TT layer switch (default 5) +#define TAPPING_TOGGLE 2 + +// Mouse control +// constant mode (velocity) +#define MK_3_SPEED +// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2 + +// Cursor offset per movement (unmodified) +#define MK_C_OFFSET_UNMOD 16 +// Time between cursor movements (unmodified) +#define MK_C_INTERVAL_UNMOD 10 +/* #define MK_C_INTERVAL_UNMOD 16 */ + +// Cursor offset per movement (KC_ACL0) +#define MK_C_OFFSET_0 1 +// Time between cursor movements (KC_ACL0) +#define MK_C_INTERVAL_0 32 + +// Cursor offset per movement (KC_ACL1) +#define MK_C_OFFSET_1 4 +// Time between cursor movements (KC_ACL1) +#define MK_C_INTERVAL_1 16 + +// Cursor offset per movement (KC_ACL2) +#define MK_C_OFFSET_2 20 +/* #define MK_C_OFFSET_2 32 */ +// Time between cursor movements (KC_ACL2) +#define MK_C_INTERVAL_2 16 diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c new file mode 100644 index 0000000000..86a34c4f04 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c @@ -0,0 +1,64 @@ +// Copyright 2021 Paul Maria Scheikl (@ScheiklP) +// SPDX-License-Identifier: GPL-2.0-or-later + +/* A K.O,Y layout for the Dactyl Manuform 4x6 Keyboard */ + +#include QMK_KEYBOARD_H +#include "koy_keys_on_quertz_de_latin1.h" + +enum custom_layers { + _1, + _3, + _4, + _7, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_1] = LAYOUT( + KC_TAB , KC_K , KC_DOT , KC_O , KC_COMM , N_Y , KC_V , KC_G , KC_C , KC_L , N_SS , N_Z , + MO(_3) , KC_H , KC_A , KC_E , KC_I , KC_U , KC_D , KC_T , KC_R , KC_N , KC_S , KC_F , + KC_LSFT , KC_X , KC_Q , N_AE , N_UE , N_OE , KC_B , KC_P , KC_W , KC_M , KC_J , KC_RSFT , + KC_LCTL , KC_LGUI , KC_CAPS , TT(_7) , + KC_LALT , KC_SPC , MO(_3) , MO(_4) , + N_COPY , N_CUT , KC_ESC , KC_ENTER , + N_PASTE , N_UNDO , KC_BSPC , KC_DEL + ), + + [_3] = LAYOUT( + + KC_TAB , N_DOTS , N_USC , N_LSQBR , N_RSQBR , N_CIRC , N_EXKL , N_LT , N_GT , N_EQ , N_AMP , N_ACUT , + KC_TRNS , N_BSLS , N_SLSH , N_LCUBR , N_RCUBR , N_ASTR , N_QUES , N_LPARN , N_RPARN , N_MINS , N_COLN , N_AT , + KC_LSFT , N_HASH , N_DLR , N_PIPE , N_TILD , N_GRAVE , N_PLUS , N_PERC , N_QUOT , N_SING , N_SEMI , KC_RSFT , + KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , + KC_LALT , KC_SPC , KC_TRNS , KC_TRNS , + N_COPY , N_CUT , KC_ESC , KC_ENTER , + N_PASTE , N_UNDO , KC_BSPC , KC_DEL + + ), + + [_4] = LAYOUT( + + KC_TAB , KC_PGUP , KC_BSPC , KC_UP , KC_DEL , KC_PGDN , KC_KP_SLASH , KC_7 , KC_8 , KC_9 , KC_KP_MINUS , KC_TRNS , + KC_TRNS , KC_HOME , KC_LEFT , KC_DOWN , KC_RIGHT , KC_END , KC_KP_ASTERISK , KC_4 , KC_5 , KC_6 , KC_KP_PLUS , KC_TRNS , + KC_LSFT , KC_ESC , KC_TAB , KC_INS , KC_ENTER , N_UNDO , KC_KP_ENTER , KC_1 , KC_2 , KC_3 , KC_KP_DOT , KC_RSFT , + KC_TRNS , KC_TRNS , KC_0 , KC_TRNS , + KC_LALT , KC_0 , KC_TRNS , KC_TRNS , + N_COPY , N_CUT , KC_ESC , KC_ENTER , + N_PASTE , N_UNDO , KC_BSPC , KC_DEL + + ), + + [_7] = LAYOUT( + + KC_TAB , KC_MS_WH_UP , KC_MS_BTN2 , KC_MS_UP , KC_MS_BTN1 , KC_MS_WH_DOWN , KC_TRNS , KC_F7 , KC_F8 , KC_F9 , KC_TRNS , KC_TRNS , + KC_TRNS , KC_MS_ACCEL0 , KC_MS_LEFT , KC_MS_DOWN , KC_MS_RIGHT , KC_TRNS , KC_TRNS , KC_F4 , KC_F5 , KC_F6 , KC_TRNS , KC_TRNS , + KC_LSFT , KC_MS_ACCEL1 , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_F1 , KC_F2 , KC_F3 , KC_TRNS , KC_TRNS , + KC_TRNS , KC_PSCR , KC_F10 , KC_TRNS , + KC_LALT , KC_F10 , KC_TRNS , KC_TRNS , + N_COPY , N_CUT , KC_ESC , KC_ENTER , + N_PASTE , N_UNDO , KC_BSPC , KC_DEL + + ), + +}; diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk new file mode 100644 index 0000000000..db873a7522 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk @@ -0,0 +1,9 @@ +# Copyright 2021 Paul Maria Scheikl (@ScheiklP) +# SPDX-License-Identifier: GPL-2.0-or-later + +BOOTLOADER = atmel-dfu +AUTO_SHIFT_ENABLE = yes +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +NKRO_ENABLE = yes +DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/handwired/dactyl_manuform/4x6/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/rules.mk index 3036ebe1db..0415379827 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/rules.mk +++ b/keyboards/handwired/dactyl_manuform/4x6/rules.mk @@ -12,10 +12,7 @@ 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 -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +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 diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.c b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.c new file mode 100644 index 0000000000..a770f5ac40 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.c @@ -0,0 +1 @@ +#include "4x6_5.h" diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h new file mode 100644 index 0000000000..f34d8be4df --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h @@ -0,0 +1,26 @@ +#pragma once + +#include "dactyl_manuform.h" + +#define XXX KC_NO + +#define LAYOUT( \ + 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, \ + L32, L33, R32, R33, \ + L34, L45, L43, R42, R40, R31, \ + L44, L42, R43, R41 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { XXX, XXX, L32, L33, L34, XXX }, \ + { XXX, XXX, L42, L43, L44, L45 }, \ +\ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { XXX, R31, R32, R33, XXX, XXX }, \ + { R40, R41, R42, R43, XXX, XXX } \ +} diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/config.h new file mode 100644 index 0000000000..2e79517b25 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_5/config.h @@ -0,0 +1,41 @@ +/* +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" + +/* USB Device descriptor parameter */ +#define PRODUCT_ID 0x3436 +#define DEVICE_VER 0x0001 + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 + +// row-driven +#define MATRIX_ROW_PINS { F7, B1, B3, B2, B6 } +#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 } + +/* COL2ROW or ROW2COL */ +#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/4x6_5/info.json b/keyboards/handwired/dactyl_manuform/4x6_5/info.json new file mode 100644 index 0000000000..3534cc01a6 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_5/info.json @@ -0,0 +1,72 @@ +{ + "keyboard_name": "Dactyl Manuform 4x6 5 thumb keys", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + + {"x": 4, "y": 4}, + {"x": 5, "y": 4}, + {"x": 6, "y": 4}, + + {"x": 10, "y": 4}, + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + + {"x": 5, "y": 5}, + {"x": 6, "y": 5}, + + {"x": 10, "y": 5}, + {"x": 11, "y": 5} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/config.h new file mode 100644 index 0000000000..38dfa5cb39 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/config.h @@ -0,0 +1,24 @@ +/* +This is the c configuration file for the keymap + +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 + + +#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c new file mode 100644 index 0000000000..3036986f2a --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +// Copyright 2021 Andrzej Kotulski (@akotulski) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +enum layer_names { + _BASE, + _RAISE, + _LOWER +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base (qwerty) + * +-----------------------------------------+ +-----------------------------------------+ + * | ESC | q | w | e | r | t | | y | u | i | o | p | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | a | s | d | f | g | | h | j | k | l | ; | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | SHFT | z | x | c | v | b | | n | m | , | . | / | | + * +------+------+------+------+-------------+ +-------------+------+------+------+------+ + * | [ | ] | | | | + * +-------------+-------------+ +-------------+-------------+ + * | | | | | | + * |------+------| |------+------| + * | | | | | | + * +-------------+ +-------------+ + * +-------------+ +-------------+ + * | | | | | | + * |------+------| |------+------| + * | | | | | | + * +-------------+ +-------------+ + */ + [_BASE] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_TAB, 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_BSLS, + KC_LBRC, KC_RBRC, KC_PLUS, KC_EQL, + KC_SPC, RAISE, KC_HOME, KC_END, LOWER, KC_ENT, + KC_BSPC, KC_LALT, KC_LGUI, KC_DEL + ), + + [_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, 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( + _______, RESET, _______, _______, _______, 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/4x6_5/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 0000000000..9532d1f67c --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,24 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated -*- buffer-read-only: t -*- + +// 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 XXX KC_NO + +#define LAYOUT_miryoku(\ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ +)\ +LAYOUT( \ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ +XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ +XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ + XXX, XXX, XXX, XXX, \ + K32, K33, K34, K35, K36, K37, \ + XXX, XXX, XXX, XXX \ +) diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 0000000000..7c5717a0fe --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,5 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated -*- buffer-read-only: t -*- + +// 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/>. diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/rules.mk b/keyboards/handwired/dactyl_manuform/4x6_5/rules.mk new file mode 100644 index 0000000000..0415379827 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_5/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# 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 = no # 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 diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md new file mode 100644 index 0000000000..81a8004f7b --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md @@ -0,0 +1,8 @@ +#### compile with + +`make handwired/dactyl_manuform/5x6:scheiklp` + + +#### flash with + +`qmk flash -kb handwired/dactyl_manuform/5x6 -km scheiklp` diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h new file mode 100644 index 0000000000..613d8ae47f --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h @@ -0,0 +1,47 @@ +// Copyright 2021 Paul Maria Scheikl (@ScheiklP) +// SPDX-License-Identifier: GPL-2.0-or-later + + +#pragma once + + +#define USE_I2C + +/* #define MASTER_LEFT */ + /* #define MASTER_RIGHT */ +#define EE_HANDS +// Rows are doubled-up + +#define AUTO_SHIFT_TIMEOUT 125 +#define NO_AUTO_SHIFT_SPECIAL +#define NO_AUTO_SHIFT_NUMERIC + +// require two taps for a TT layer switch (default 5) +#define TAPPING_TOGGLE 2 + +// Mouse control +// constant mode (velocity) +#define MK_3_SPEED +// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2 + +// Cursor offset per movement (unmodified) +#define MK_C_OFFSET_UNMOD 16 +// Time between cursor movements (unmodified) +#define MK_C_INTERVAL_UNMOD 10 +/* #define MK_C_INTERVAL_UNMOD 16 */ + +// Cursor offset per movement (KC_ACL0) +#define MK_C_OFFSET_0 1 +// Time between cursor movements (KC_ACL0) +#define MK_C_INTERVAL_0 32 + +// Cursor offset per movement (KC_ACL1) +#define MK_C_OFFSET_1 4 +// Time between cursor movements (KC_ACL1) +#define MK_C_INTERVAL_1 16 + +// Cursor offset per movement (KC_ACL2) +#define MK_C_OFFSET_2 20 +/* #define MK_C_OFFSET_2 32 */ +// Time between cursor movements (KC_ACL2) +#define MK_C_INTERVAL_2 16 diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c new file mode 100644 index 0000000000..001687b57d --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c @@ -0,0 +1,70 @@ +// Copyright 2021 Paul Maria Scheikl (@ScheiklP) +// SPDX-License-Identifier: GPL-2.0-or-later + +/* A K.O,Y layout for the Dactyl Manuform 5x6 Keyboard */ + +#include QMK_KEYBOARD_H +#include "koy_keys_on_quertz_de_latin1.h" + + +enum custom_layers { + _1, + _3, + _4, + _7, +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_1] = LAYOUT_5x6( + 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_K , KC_DOT , KC_O , KC_COMM , N_Y , KC_V , KC_G , KC_C , KC_L , N_SS , N_Z , + MO(_3) , KC_H , KC_A , KC_E , KC_I , KC_U , KC_D , KC_T , KC_R , KC_N , KC_S , KC_F , + KC_LSFT , KC_X , KC_Q , N_AE , N_UE , N_OE , KC_B , KC_P , KC_W , KC_M , KC_J , KC_RSFT , + KC_LCTL , KC_LGUI , KC_CAPS , TT(_7), + KC_LALT, KC_SPC, MO(_3), MO(_4), + N_COPY, N_CUT, DM_RSTP, KC_ENTER, + N_PASTE, N_UNDO, DM_REC1, DM_PLY1 + ), + + [_3] = LAYOUT_5x6( + + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC, + KC_TAB, N_DOTS, N_USC, N_LSQBR, N_RSQBR, N_CIRC, N_EXKL, N_LT, N_GT, N_EQ, N_AMP, N_ACUT, + KC_TRNS, N_BSLS, N_SLSH, N_LCUBR, N_RCUBR, N_ASTR, N_QUES, N_LPARN, N_RPARN, N_MINS, N_COLN, N_AT, + KC_LSFT, N_HASH, N_DLR, N_PIPE, N_TILD, N_GRAVE, N_PLUS, N_PERC, N_QUOT, N_SING, N_SEMI, KC_RSFT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LALT,KC_SPC, KC_TRNS,KC_TRNS, + N_COPY, N_CUT, DM_RSTP, KC_ENTER, + N_PASTE, N_UNDO, DM_REC1, DM_PLY1 + + ), + + [_4] = LAYOUT_5x6( + + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC, + KC_TAB, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_KP_SLASH, KC_7, KC_8, KC_9, KC_KP_MINUS, KC_TRNS, + KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_KP_ASTERISK, KC_4, KC_5, KC_6, KC_KP_PLUS, KC_TRNS, + KC_LSFT, KC_ESC, KC_TAB, KC_INS, KC_ENTER, N_UNDO, KC_KP_ENTER, KC_1, KC_2, KC_3, KC_KP_DOT, KC_RSFT, + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, + KC_LALT,KC_0, KC_TRNS,KC_TRNS, + N_COPY, N_CUT, DM_RSTP, KC_ENTER, + N_PASTE, N_UNDO, DM_REC1, DM_PLY1 + + ), + + [_7] = LAYOUT_5x6( + + KC_ESC, KC_TRNS, KC_TRNS, KC_MS_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TAB, KC_MS_WH_UP, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MS_ACCEL0, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_MS_ACCEL1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS,KC_PSCR, KC_TRNS, KC_TRNS, + KC_LALT,KC_0, KC_TRNS,KC_TRNS, + N_COPY, N_CUT, DM_RSTP, KC_ENTER, + N_PASTE, N_UNDO, DM_REC1, DM_PLY1 + + ), + +}; diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk new file mode 100644 index 0000000000..a0b983c7ab --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk @@ -0,0 +1,10 @@ +# Copyright 2021 Paul Maria Scheikl (@ScheiklP) +# SPDX-License-Identifier: GPL-2.0-or-later + +AUTO_SHIFT_ENABLE = yes +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +NKRO_ENABLE = yes +BOOTLOADER = atmel-dfu +DYNAMIC_MACRO_ENABLE = yes + diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h new file mode 100644 index 0000000000..4eca68c542 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h @@ -0,0 +1,11 @@ +// Copyright 2022 Ulrich Spörlein (@uqs) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define USE_SERIAL + +#define RGBLED_NUM 12 +#define RGBLED_SPLIT {6,6} +#define RGBLIGHT_LIMIT_VAL 127 + +#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c new file mode 100644 index 0000000000..211cd91e12 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c @@ -0,0 +1,170 @@ +// Copyright 2022 Ulrich Spörlein (@uqs) +// SPDX-License-Identifier: GPL-2.0-or-later +// vi:et sw=4 cc=5,15,25,35,45,55,65: + +#include "uqs.h" + +/* + * My custom layout macro that allows for easy diff(1) operations between + * various keyboards. It probably doesn't make sense to you. + */ +#define LAYOUT_uqs( \ + L00, L01, L02, L03, L04, L05, \ + L10, L11, L12, L13, L14, L15, \ + L20, L21, L22, L23, L24, L25, \ + L30, L31, L32, L33, L34, L35, \ + L42, L43, \ + L44, L45, L54, \ + L55, L52, L53, \ + R00, R01, R02, R03, R04, R05, \ + R10, R11, R12, R13, R14, R15, \ + R20, R21, R22, R23, R24, R25, \ + R30, R31, R32, R33, R34, R35, \ + R42, R43, \ + R51, R40, R41, \ + R50, R52, R53 \ +) \ +LAYOUT_5x6( \ + 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, R42, R43, \ + L44, L45, R40, R41, \ + L54, L55, R50, R51, \ + L52, L53, R52, R53 \ +) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [L_QWER] = LAYOUT_uqs( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, + KC_LBRC, KC_RBRC, + /*thumb*/ LT_EXTD_ESC, KC_SPC, LT_MOUSE_ALT_SHIFT_INS, + /*aux*/ KC_LEAD, OSM_GUI, KC_LALT, + KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, + KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_GRV), + KC_MINS, KC_EQL, + /*thumb*/ LT_FUNC_SHIFT_INS, KC_ENT, LT_NUM_BSPC, + /*aux*/ KC_RALT, KC_APP, KC_LEAD + ), + + [L_WASD] = LAYOUT_uqs( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_T, KC_TAB, KC_Q, KC_W, KC_E, KC_R, + KC_G, KC_LSFT, KC_A, KC_S, KC_D, KC_F, + KC_B, KC_GRV, KC_Z, KC_X, KC_C, KC_V, + KC_LBRC, KC_RBRC, + /*thumb*/ KC_LCTL, KC_SPC, KC_R, + /*aux*/ A(KC_M), KC_LGUI, KC_LALT, + KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_GRV), + KC_MINS, KC_EQL, + /*thumb*/ DF(L_COLM), KC_ENT, KC_BSPC, + /*aux*/ KC_F5, KC_RALT, KC_APP + ), + + [L_COLM] = LAYOUT_uqs( + KC_NO, KC_NO, KC_BTN2, KC_BTN3, KC_BTN1, KC_NO, + KC_BTN2, KC_Q, KC_W, KC_F, KC_P, KC_B, + KC_BTN1, KC_G_A, KC_A_R, KC_S_S, KC_C_T, KC_G, + KC_BTN3, KC_Z, KC_X, KC_C, KC_D, KC_V, + MS_WHUP, MS_WHDN, + /*thumb*/ LT_EXTD_ESC, SFT_T(KC_SPC), LT(L_MOUSE, KC_TAB), + /*aux*/ KC_LEAD, OSM_GUI, KC_LALT, + KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, KC_NO, + KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_NO, + KC_M, KC_C_N, KC_S_E, KC_A_I, KC_G_O, KC_NO, + KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_NO, + KC_NO, KC_NO, + /*thumb*/ LT_FUNC_SHIFT_INS, KC_ENT, LT_NUM_BSPC, + /*aux*/ KC_LEAD, KC_RALT, KC_APP + ), + + // Updated with inspiration from https://forum.colemak.com/topic/2014-extend-extra-extreme/ + // I like the AltGr trick from https://stevep99.github.io/seniply/ and should probably incorporate some stuff from it. + [L_EXTD] = LAYOUT_uqs( + _______, _______, _______, _______, _______, _______, + _______, KC_BTN1, KC_SCTAB, KC_PGUP, KC_CTAB, KC_LEAD, + _______, OSM_GUI, OSM_ALT, OSM_SFT, OSM_CTL, KC_RALT, + _______, ALT_TAB, MS_WHUP, MS_WHDN, KC_PGDN, INS_HARD, + _______, _______, + /*thumb*/ _______, _______, _______, + /*aux*/ _______, _______, _______, + /* ^^^^ can't be used */ + _______, _______, _______, _______, _______, _______, + KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_NO, + KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, KC_NO, + WIN_LEFT, WIN_DN, WIN_UP, WIN_RGHT, KC_PSTE, KC_NO, // KC_PSTE works in XTerm to emulate middle-click + _______, _______, + /*thumb*/ _______, _______, KC_BSPC, + /*aux*/ _______, _______, _______ + /* ^^^^ use these */ + ), + + // TODO: maybe swap # with ;, that way I can roll :w or :wq which I need + // often ... probably better to add a combo? + [L_NUM] = LAYOUT_uqs( + _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, + _______, KC_SCLN, KC_COLN, KC_LCBR, KC_LPRN, KC_LBRC, + _______, KC_CIRC, KC_AMPR, KC_RCBR, KC_RPRN, KC_RBRC, + KC_GRV, KC_TILDE, + /*thumb*/ KC_ESC, KC_SPC, KC_0, + /*aux*/ _______, _______, _______, + /* ^^^^ use these */ + KC_NUMLOCK,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_EQUAL, KC_7, KC_8, KC_9, KC_KP_PLUS,_______, + KC_KP_ASTERISK,KC_4,KC_5, KC_6, MINS_UNDSCR,_______, + KC_COMM, KC_1, KC_2, KC_3, KC_KP_SLASH,KC_KP_ENTER, // Enter here, because thumb is occupied + KC_0, KC_KP_DOT, + /*thumb*/ _______, _______, _______, + /*aux*/ _______, _______, _______ + /* ^^^^ can't be used */ + ), + + [L_FUNC] = LAYOUT_uqs( + _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + _______, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, DF(L_WASD), + _______, KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, DF(L_QWER), + _______, KC_NO, KC_NO, KC_NO, KC_NO, DF(L_COLM), + KC_NO, KC_NO, + /*thumb*/ _______, _______, _______, + /*aux*/ _______, _______, _______, + /* ^^^^ use these */ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, + KC_SLCK, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO, + KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F12, KC_NO, + KC_NO, KC_NO, + /*thumb*/ _______, _______, _______, + /*aux*/ _______, _______, _______ + /* ^^^^ can't be used */ + ), + + [L_MOUSE] = LAYOUT_uqs( + _______, _______, _______, _______, _______, _______, + _______, KC_NO, KC_BTN2, KC_BTN3, KC_BTN1, KC_VOLU, + _______, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_VOLD, + _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, + KC_NO, KC_NO, + /*thumb*/ _______, _______, _______, + /*aux*/ _______, _______, _______, + /* ^^^^ can't be used */ + _______, _______, _______, _______, _______, _______, + _______, _______, KC_MS_UP, MS_WHUP, _______, _______, + MS_WHLEFT,KC_MS_L, KC_MS_D, KC_MS_R, MS_WHRGHT,_______, + _______, MS_WHDN, KC_BTN3, KC_BTN4, KC_BTN5, _______, + KC_NO, KC_NO, + /*thumb*/ KC_NO, KC_BTN1, KC_BTN2, + /*aux*/ _______, _______, _______ + /* use these ^^^^ */ + ), +}; diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk new file mode 100644 index 0000000000..2cd3745fa1 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk @@ -0,0 +1 @@ +#VIA_ENABLE = yes # doesn't fit with 7 layers :/ diff --git a/keyboards/handwired/dactyl_manuform/5x6/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/rules.mk index 3036ebe1db..0415379827 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6/rules.mk @@ -12,10 +12,7 @@ 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 -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +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 diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk index 3262f7fad2..c5b46aa48e 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk @@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +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 diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h index 0a38c8aefb..9ae7b44a69 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h @@ -28,7 +28,7 @@ #define USE_SERIAL #define SOFT_SERIAL_PIN D2 #define EE_HANDS -#define SPLIT_USB_DETECT +// #define SPLIT_USB_DETECT // wiring of each half // ../../../../docs/proton_c_conversion.md @@ -43,17 +43,15 @@ #define BOOTMAGIC_LITE_ROW_RIGHT 0 #define BOOTMAGIC_LITE_COLUMN_RIGHT 5 +// Configure the global tapping term (default: 200ms) #define TAPPING_TERM 200 // Prevent normal rollover on alphas from accidentally triggering mods. -// #define IGNORE_MOD_TAP_INTERRUPT +#define IGNORE_MOD_TAP_INTERRUPT +//#define IGNORE_MOD_TAP_INTERRUPT +#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY // Enable rapid switch from tap to hold, disables double tap hold auto-repeat. -// #define TAPPING_FORCE_HOLD - -// Apply the modifier on keys that are tapped during a short hold of a modtap -// #define PERMISSIVE_HOLD - -#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY +#define TAPPING_FORCE_HOLD #define FORCE_NKRO diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c index 0d8fd05425..3503bfd368 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c @@ -15,28 +15,76 @@ #include QMK_KEYBOARD_H -#define CM_SPAL LGUI_T(KC_SPC) -#define CM_SPAR RGUI_T(KC_SPC) +#define CM_R LCTL_T(KC_R) +#define CM_S LALT_T(KC_S) +#define CM_T LGUI_T(KC_T) -#define SH_ENL LSFT_T(KC_ENT) -#define SH_ENR RSFT_T(KC_ENT) +#define CM_N RGUI_T(KC_N) +#define CM_E RALT_T(KC_E) +#define CM_I RCTL_T(KC_I) -#define SYM MO(_SYMBOL) -#define ADJ MO(_ADJUST) +#define QU_S LCTL_T(KC_S) +#define QU_D LALT_T(KC_D) +#define QU_F LGUI_T(KC_F) + +#define QU_J RGUI_T(KC_J) +#define QU_K RALT_T(KC_K) +#define QU_L RCTL_T(KC_L) + +#define SPC_L LSFT_T(KC_SPC) +#define SPC_R RSFT_T(KC_SPC) +#define ENT_L LSFT_T(KC_ENT) +#define ENT_R RSFT_T(KC_ENT) + +#define UNDO LGUI(KC_Z) +#define REDO LGUI(KC_Y) +#define CUT LGUI(KC_X) +#define COPY LGUI(KC_C) +#define PASTE LGUI(KC_V) +#define ALL LGUI(KC_A) + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) #define QWERT DF(_QWERTY) -#define COLEM DF(_COLEMAK) +#define COLEM DF(_COLEMAK_DH) enum layer_names { + _COLEMAK_DH, _QWERTY, - _COLEMAK, - _SYMBOL, + _RAISE, + _LOWER, _ADJUST }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - + [_COLEMAK_DH] = LAYOUT_5x6_5( + /* COLEMAK_DH + * .-----------------------------------------. .-----------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | F | P | B | | J | L | U | Y | ; | \ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Del | A |R /CTL|S /ALT|T /CMD| G | | M |N /CMD|E /ALT|I /CTL| O | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Shft | Z | X | C | D | V | | K | H | , | . | / | Shft | + * '-----------------------------------------/ \-----------------------------------------' + * | | | / RAISE /---------------. .---------------\ LOWER \ | | | + * | | | / / Space / Enter / \ Enter \ Space \ \ | | | + * '-------------' '-------/ Shift / Shift / \ Shift \ Shift \-------' '-------------' + * /---------------/ \---------------\ + * / = / Home / \ End \ - \ + * / + / / \ \ _ \ + * '---------------' '---------------' + */ + 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_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS, + KC_DEL , KC_A , CM_R , CM_S , CM_T , KC_G , KC_M , CM_N , CM_E , CM_I , KC_O , KC_QUOT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_D , KC_V , KC_K , KC_H , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + XXXXXXX, XXXXXXX, RAISE , SPC_L , ENT_L , ENT_R , SPC_R , LOWER , XXXXXXX, XXXXXXX, + KC_EQL, KC_HOME , KC_END , KC_MINS + ), [_QWERTY] = LAYOUT_5x6_5( /* QWERTY * .-----------------------------------------. .-----------------------------------------. @@ -44,87 +92,87 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | + * | Del | A |S /CTL|D /ALT|F /CMD| G | | H |J /CMD|K /ALT|L /CTL| ; | ' | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Shft | Z | X | C | V | B | | N | M | , | . | / | Shft | * '-----------------------------------------/ \-----------------------------------------' - * | ADJ | - | / SYM /---------------. .---------------\ SYM \ | + | ADJ | - * | | | / / Cmd / Shift / \ Shift \ Cmd \ \ | | | - * '-------------' '-------/ Space / Enter / \ Enter \ Space \-------' '-------------' + * | | | / RAISE /---------------. .---------------\ LOWER \ | | | + * | | | / / Space / Enter / \ Enter \ Space \ \ | | | + * '-------------' '-------/ Shift / / \ \ Shift \-------' '-------------' * /---------------/ \---------------\ - * / Alt / Ctrl / \ Ctrl \ Alt \ - * / / / \ \ \ + * / = / Home / \ End \ - \ + * / + / / \ \ _ \ * '---------------' '---------------' */ - KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC, + 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_BSLS, - KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, + KC_DEL , KC_A , QU_S , QU_D , QU_F , KC_G , KC_H , QU_J , QU_K , QU_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, - ADJ , KC_MINS, SYM , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, SYM , KC_EQL , ADJ , - KC_LALT, KC_LCTL, KC_RCTL, KC_RALT + XXXXXXX, XXXXXXX, RAISE , SPC_L , ENT_L , ENT_R , SPC_R , LOWER , XXXXXXX, XXXXXXX, + KC_EQL, KC_HOME , KC_END , KC_MINS ), - [_COLEMAK] = LAYOUT_5x6_5( - /* COLEMAK + [_RAISE] = LAYOUT_5x6_5( + /* RAISE * .-----------------------------------------. .-----------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | + * | | Redo | | | | | | % | $ | # | ` | | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' | + * | | All | Cut | Copy | Paste| | | ^ | / | * | ~ | ? | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Shft | Z | X | C | V | B | | K | M | , | . | / | Shft | + * | | Undo | | | | | | | & | | | | | | * '-----------------------------------------/ \-----------------------------------------' - * | ADJ | - | / SYM /---------------. .---------------\ SYM \ | + | ADJ | - * | | | / / Cmd / Shift / \ Shift \ Cmd \ \ | | | - * '-------------' '-------/ Space / Enter / \ Enter \ Space \-------' '-------------' + * | RST | | / /---------------. .---------------\ \ | | | + * | | | / / / / \ \ \ \ | | | + * '-------------' '-------/ / / \ \ \-------' '-------------' * /---------------/ \---------------\ - * / Alt / Ctrl / \ Ctrl \ Alt \ - * / / / \ \ \ + * / / Page / \ Page \ \ + * / / Up / \ Down \ \ * '---------------' '---------------' */ - KC_GESC, 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_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS, - KC_LCTL, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, - KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, - ADJ , KC_MINS, SYM , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, SYM , KC_EQL , ADJ , - KC_LALT, KC_LCTL, KC_RCTL, KC_RALT + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , + XXXXXXX, REDO , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PERC, KC_DLR , KC_HASH, KC_GRV , XXXXXXX, KC_F12 , + XXXXXXX, ALL , CUT , COPY , PASTE , XXXXXXX, KC_CIRC, KC_SLSH, KC_ASTR, KC_TILD, KC_QUES, XXXXXXX, + _______, UNDO , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_AMPR, KC_PIPE, XXXXXXX, XXXXXXX, _______, + RESET , XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, + _______, KC_PGUP, KC_PGDN, _______ ), - [_SYMBOL] = LAYOUT_5x6_5( - /* SYMBOL + [_LOWER] = LAYOUT_5x6_5( + /* LOWER * .-----------------------------------------. .-----------------------------------------. - * | ` | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | ! | @ | [ | ] | + | | | | up | | | F12 | + * | | | | [ | ] | | | | | up | | | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | & | | | ( | ) | - | | | left | down | right| ? | | + * | Ins | ! | @ | ( | ) | | | | left | down | rght | ? | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | * | / | { | } | = | | | | | | | | + * | | | | { | } | | | | | | | | | * '-----------------------------------------/ \-----------------------------------------' - * | | | / /---------------. .---------------\ \ | | | + * | | | / /---------------. .---------------\ \ | | RST | * | | | / / / / \ \ \ \ | | | * '-------------' '-------/ / / \ \ \-------' '-------------' * /---------------/ \---------------\ - * / / / \ \ \ - * / / / \ \ \ + * / / Page / \ Page \ \ + * / / Up / \ Down \ \ * '---------------' '---------------' */ - KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , - XXXXXXX, KC_EXLM, KC_AT , KC_LBRC, KC_RBRC, KC_PPLS, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 , - _______, KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_MINS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX, - _______, KC_ASTR, KC_SLSH, KC_LCBR, KC_RCBR, KC_PEQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, - _______, _______, _______, _______ + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , + XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 , + KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX, + _______, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, RESET , + _______, KC_PGUP, KC_PGDN, _______ ), [_ADJUST] = LAYOUT_5x6_5( /* ADJUST * .-----------------------------------------. .-----------------------------------------. - * | RST | | | | | QWERT| |COLEM | | | | | RST | + * | | | | | | QWERT| |COLEM | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | + | | B + | | | | | | + * | | | | | | V+ | | B + | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | - | | B - | << | play | >> | | | + * | | | | | | V- | | B - | << | play | >> | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | = | | | | | | | | + * | | | | | | Mute | | | | | | | | * '-----------------------------------------/ \-----------------------------------------' * | | | / /---------------. .---------------\ \ | | | * | | | / / / / \ \ \ \ | | | @@ -134,20 +182,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * / / / \ \ \ * '---------------' '---------------' */ - RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_BRID, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, 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 ) }; +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case CM_SPAR: + case SPC_L: + return false; + case SPC_R: return true; - default: + case ENT_L: + return false; + case ENT_R: return false; + default: + return true; } } + +// Flexible macOS-friendly Grave Escape +// https://docs.qmk.fm/#/feature_key_overrides?id=flexible-macos-friendly-grave-escape + +const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, S(KC_GRAVE)); +const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRAVE); + +const key_override_t **key_overrides = (const key_override_t *[]){ + &tilde_esc_override, + &grave_esc_override, + NULL +}; diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk index 0b99981410..88d1fb309d 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk @@ -1,6 +1,2 @@ -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -EXTRAKEY_ENABLE = yes -COMMAND_ENABLE = yes MOUSEKEY_ENABLE = no -LTO_ENABLE = no -NKRO_ENABLE = yes +KEY_OVERRIDE_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk index a4ef754fcb..1a7e6a8f94 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk @@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover +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 diff --git a/keyboards/handwired/dactyl_manuform/5x7/rules.mk b/keyboards/handwired/dactyl_manuform/5x7/rules.mk index 3036ebe1db..0415379827 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x7/rules.mk @@ -12,10 +12,7 @@ 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 -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +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 diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.h b/keyboards/handwired/dactyl_manuform/6x6/6x6.h index 821abe0308..7bff55701a 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/6x6.h +++ b/keyboards/handwired/dactyl_manuform/6x6/6x6.h @@ -31,3 +31,32 @@ { 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 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, L45 }, \ + { XXX, XXX, L52, L53, L54, XXX }, \ + { XXX, XXX, L62, L63, L64, L65 }, \ +\ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { R40, R41, R42, R43, R44, R45 }, \ + { XXX, R51, R52, R53, XXX, XXX }, \ + { R60, R61, R62, R63, XXX, XXX } \ +} 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 <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#include_next <chconf.h> + 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 <http://www.gnu.org/licenses/>. + */ + +#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 <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define PAL_USE_CALLBACKS TRUE +#define PAL_USE_WAIT TRUE + +#include_next <halconf.h> 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 <https://www.gnu.org/licenses/>. + */ + +#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 <http://www.gnu.org/licenses/>. #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/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json index 596126879e..1f4e7dc3a4 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/info.json +++ b/keyboards/handwired/dactyl_manuform/6x6/info.json @@ -99,6 +99,101 @@ {"x": 9, "y": 8}, {"x": 10, "y": 8} ] + }, + + "LAYOUT_6x6_5_thumb": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + {"x": 4, "y": 4}, + {"x": 5, "y": 4}, + + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + + {"x": 2, "y": 5}, + {"x": 3, "y": 5}, + + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + + {"x": 4, "y": 6}, + {"x": 12, "y": 6}, + + {"x": 6, "y": 7}, + {"x": 7, "y": 7}, + + {"x": 9, "y": 7}, + {"x": 10, "y": 7}, + + {"x": 6, "y": 8}, + {"x": 7, "y": 8}, + + {"x": 9, "y": 8}, + {"x": 10, "y": 8} + ] } } } 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 <http://www.gnu.org/licenses/>. + */ + +#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 3036ebe1db..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 # @@ -12,11 +6,10 @@ 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 -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover +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 SPLIT_KEYBOARD = yes + +DEFAULT_FOLDER = handwired/dactyl_manuform/6x6/promicro diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c new file mode 100644 index 0000000000..ad213e2b75 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c @@ -0,0 +1,5 @@ +// Copyright 2012 Jun Wako <wakojun@gmail.com> +// Copyright 2021 Dmitriy Kuminov (@dmik) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "6x6_4.h" diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h new file mode 100644 index 0000000000..7c767cae7e --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h @@ -0,0 +1,37 @@ +// Copyright 2012 Jun Wako <wakojun@gmail.com> +// Copyright 2021 Dmitriy Kuminov (@dmik) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "dactyl_manuform.h" + +#define XXX KC_NO + +#define LAYOUT_6x6_4( \ + 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, \ + L50, L51, L52, L53, R52, R53, R54, R55, \ + L54, L55, R50, R51, \ + L64, L65, R60, R61, \ + L62, L63, R62, R63 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, L45 }, \ + { L50, L51, L52, L53, L54, L55 }, \ + { XXX, XXX, L62, L63, L64, L65 }, \ +\ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { R40, R41, R42, R43, R44, R45 }, \ + { R50, R51, R52, R53, R54, R55 }, \ + { R60, R61, R62, R63, XXX, XXX } \ +} diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/config.h b/keyboards/handwired/dactyl_manuform/6x6_4/config.h new file mode 100644 index 0000000000..8f965f6957 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_4/config.h @@ -0,0 +1,40 @@ +/* +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_ID 0x3636 +#define DEVICE_VER 0x0001 +#define PRODUCT Dactyl-Manuform (6x6+4) + +/* 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_4/info.json b/keyboards/handwired/dactyl_manuform/6x6_4/info.json new file mode 100644 index 0000000000..470e775c0e --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_4/info.json @@ -0,0 +1,108 @@ +{ + "keyboard_name": "Dactyl Manuform 6x6 4 extra keys", + "url": "", + "maintainer": "dmik", + "layouts": { + "LAYOUT_6x6_4": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + {"x": 4, "y": 4}, + {"x": 5, "y": 4}, + + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + + {"x": 0, "y": 5}, + {"x": 1, "y": 5}, + {"x": 2, "y": 5}, + {"x": 3, "y": 5}, + + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + {"x": 15, "y": 5}, + {"x": 16, "y": 5}, + + {"x": 4, "y": 6}, + {"x": 5, "y": 6}, + + {"x": 11, "y": 6}, + {"x": 12, "y": 6}, + + {"x": 6, "y": 7}, + {"x": 7, "y": 7}, + + {"x": 9, "y": 7}, + {"x": 10, "y": 7}, + + {"x": 6, "y": 8}, + {"x": 7, "y": 8}, + + {"x": 9, "y": 8}, + {"x": 10, "y": 8} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6_4/keymaps/default/keymap.c new file mode 100644 index 0000000000..9b4de373ec --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_4/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +// Copyright 2012 Jun Wako <wakojun@gmail.com> +// Copyright 2021 Dmitriy Kuminov (@dmik) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _QWERTY, + _LOWER, + _RAISE, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_6x6_4( + 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,KC_SPC, KC_ENT, LOWER, + KC_TAB,KC_HOME, KC_END, KC_DEL, + KC_BSPC, KC_GRV, KC_LGUI, KC_LALT + ), + + [_LOWER] = LAYOUT_6x6_4( + 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_4( + 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_4/rules.mk b/keyboards/handwired/dactyl_manuform/6x6_4/rules.mk new file mode 100644 index 0000000000..0415379827 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_4/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# 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 = no # 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 diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.c b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.c new file mode 100644 index 0000000000..a564360b48 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.c @@ -0,0 +1,5 @@ +// Copyright 2012 Jun Wako <wakojun@gmail.com> +// Copyright 2021 Dmitriy Kuminov (@dmik) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "6x6_kinesis.h" diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h new file mode 100644 index 0000000000..00f931281b --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h @@ -0,0 +1,37 @@ +// Copyright 2012 Jun Wako <wakojun@gmail.com> +// Copyright 2021 Dmitriy Kuminov (@dmik) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "dactyl_manuform.h" + +#define XXX KC_NO + +#define LAYOUT_6x6_kinesis( \ + 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, \ + L50, L51, L52, L53, R52, R53, R54, R55, \ + L54, L55, R50, R51, \ + L64, L65, R60, R61, \ + L62, L63, R62, R63 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, L45 }, \ + { L50, L51, L52, L53, L54, L55 }, \ + { XXX, XXX, L62, L63, L64, L65 }, \ +\ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { R40, R41, R42, R43, R44, R45 }, \ + { R50, R51, R52, R53, R54, R55 }, \ + { R60, R61, R62, R63, XXX, XXX } \ +} diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h b/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h new file mode 100644 index 0000000000..8f965f6957 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h @@ -0,0 +1,40 @@ +/* +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_ID 0x3636 +#define DEVICE_VER 0x0001 +#define PRODUCT Dactyl-Manuform (6x6+4) + +/* 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_kinesis/info.json b/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json new file mode 100644 index 0000000000..e106a04c69 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json @@ -0,0 +1,108 @@ +{ + "keyboard_name": "Dactyl Manuform 6x6 Kinesis Advantage edition", + "url": "", + "maintainer": "dmik", + "layouts": { + "LAYOUT_6x6_kinesis": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + {"x": 4, "y": 4}, + {"x": 5, "y": 4}, + + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + + {"x": 1, "y": 5}, + {"x": 2, "y": 5}, + {"x": 3, "y": 5}, + {"x": 4, "y": 5}, + + {"x": 12, "y": 5}, + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + {"x": 15, "y": 5}, + + {"x": 5, "y": 7, "h": 2}, + {"x": 6, "y": 7, "h": 2}, + + {"x": 10, "y": 7, "h": 2}, + {"x": 11, "y": 7, "h": 2}, + + {"x": 6, "y": 6}, + {"x": 7, "y": 6}, + + {"x": 9, "y": 6}, + {"x": 10, "y": 6}, + + {"x": 7, "y": 8}, + {"x": 7, "y": 7}, + + {"x": 9, "y": 7}, + {"x": 9, "y": 8} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c new file mode 100644 index 0000000000..2ef9794d6d --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +// Copyright 2012 Jun Wako <wakojun@gmail.com> +// Copyright 2021 Dmitriy Kuminov (@dmik) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _QWERTY, + _LOWER, + _RAISE, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_6x6_kinesis( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_CAPS, + 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_LCTL, 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_GRV , LOWER , KC_LEFT, KC_RGHT, KC_UP , KC_DOWN, KC_LBRC, KC_RBRC, + KC_BSPC, KC_DEL , KC_ENT , KC_SPC , + KC_LGUI, KC_LALT, KC_RCTL, KC_RGUI, + KC_END , KC_HOME, KC_PGUP, KC_PGDN + ), + + [_LOWER] = LAYOUT_6x6_kinesis( + _______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_INS , _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT_6x6_kinesis( + _______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_INS , _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), +}; diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md b/keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md new file mode 100644 index 0000000000..1e44cc9601 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md @@ -0,0 +1,85 @@ +# Kinesis Advantage Keymap + +## About this keymap + +This keymap is designed after Kinesis Advantage's QWERTY layout with the following key differences: + - There are only 10 F-keys in the main layer, F1 and F2 are moved to additional LOWER layer. + - The INS key acts like a LOWER layer activation key and Del in LOWER layer ats like INS. + - LCtl is placed where CAPS should be and CAPS is moved to a free key after F10. + - Brigtness and volume control keys are added to LOWER layer. + + The keymap file also contains RAISE layer but it is currently equivalent to LOWER layer and does + not have an activation key mapped. It is intended for possible extensions. + +## Mapping details + + Main QUERTY layer: + ,-------------------------------------------. ,-------------------------------------------. + | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | CAPS | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | LCtl | A | S | D | F | G | | H | J | K | L | ; | ' | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | LShift | Z | X | C | V | B | | N | M | , | . | / | RShift | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | ` | LOWER| Left | Rght | | Up | Dn | [ | ] | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | LGui | LAlt | | RCtl | RGui | + ,------|------|------| |------+------+------. + | | | Home | | PgUp | | | + | BkSp | Del |------| |------|Enter |Space | + | | | End | | PgDn | | | + `--------------------' `--------------------' + + LOWER layer: + ,-------------------------------------------. ,-------------------------------------------. + | | F11 | F12 | | | | |BriDn |BriUp |VMute |VolDn |VolUp | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + |--------+------+------+------+------+------| |------+------+------+------+------+--------| + | | | | | | | | | | | | | | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | | | | | | | | | | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | INS |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' + +## Soldering details + +The below picture shows correspondence between the keys and the row/column wires of the left and +right halves: + + LOWER layer: + ,-------------------------------------------. ,-------------------------------------------. + | 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 | + `--------+------+------+------+------+------' `------+------+------+------+------+--------' + | L50 | L51 | L52 | L53 | | R52 | R53 | R54 | R55 | + `---------------------------' `---------------------------' + ,-------------. ,-------------. + | L64 | L65 | | R60 | R61 | + ,------|------|------| |------+------+------. + | | | L63 | | R62 | | | + | L54 | L55 |------| |------| R50 | R51 | + | | | L62 | | R63 | | | + `--------------------' `--------------------' diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk b/keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk new file mode 100644 index 0000000000..0415379827 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# 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 = no # 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 diff --git a/keyboards/handwired/dactyl_manuform/6x7/6x7.c b/keyboards/handwired/dactyl_manuform/6x7/6x7.c new file mode 100644 index 0000000000..eea518da09 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x7/6x7.c @@ -0,0 +1,4 @@ +// Copyright 2022 Matthew Dews (@matthew-dews) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "6x7.h" diff --git a/keyboards/handwired/dactyl_manuform/6x7/6x7.h b/keyboards/handwired/dactyl_manuform/6x7/6x7.h new file mode 100644 index 0000000000..8d69ddd097 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x7/6x7.h @@ -0,0 +1,35 @@ +// Copyright 2022 Matthew Dews (@matthew-dews) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "dactyl_manuform.h" + +#define XXX KC_NO + +#define LAYOUT_6x7( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ + L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ + L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ + L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \ + L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46, \ + L52, L53, R52, R53, \ + L54, L55, R50, R51, \ + L64, L65, R60, R61, \ + L62, L63, R62, R63 \ +) { \ + { L00, L01, L02, L03, L04, L05, L06 }, \ + { L10, L11, L12, L13, L14, L15, L16 }, \ + { L20, L21, L22, L23, L24, L25, L26 }, \ + { L30, L31, L32, L33, L34, L35, L36 }, \ + { L40, L41, L42, L43, L44, L45, L46 }, \ + { XXX, XXX, XXX, L52, L53, L54, L55 }, \ + { XXX, XXX, XXX, L62, L63, L64, L65 }, \ +\ + { R00, R01, R02, R03, R04, R05, R06 }, \ + { R10, R11, R12, R13, R14, R15, R16 }, \ + { R20, R21, R22, R23, R24, R25, R26 }, \ + { R30, R31, R32, R33, R34, R35, R36 }, \ + { R40, R41, R42, R43, R44, R45, R46 }, \ + { R50, R51, R52, R53, XXX, XXX, XXX }, \ + { R60, R61, R62, R63, XXX, XXX, XXX } \ +} diff --git a/keyboards/handwired/dactyl_manuform/6x7/config.h b/keyboards/handwired/dactyl_manuform/6x7/config.h new file mode 100644 index 0000000000..f66f4b036f --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x7/config.h @@ -0,0 +1,40 @@ +/* +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_ID 0x3636 +#define DEVICE_VER 0x0001 +#define PRODUCT Dactyl-Manuform (6x7) + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 14 +#define MATRIX_COLS 7 + +// wiring of each half +#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5, B7 } +#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/6x7/info.json b/keyboards/handwired/dactyl_manuform/6x7/info.json new file mode 100644 index 0000000000..7b08dd8881 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x7/info.json @@ -0,0 +1,114 @@ +{ + "keyboard_name": "Dactyl Manuform 6x7", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_6x7": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + {"x": 17, "y": 0}, + {"x": 18, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + {"x": 17, "y": 1}, + {"x": 18, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + {"x": 6, "y": 2}, + + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + {"x": 17, "y": 2}, + {"x": 18, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + {"x": 6, "y": 3}, + + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + {"x": 17, "y": 3}, + {"x": 18, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + {"x": 4, "y": 4}, + {"x": 5, "y": 4}, + {"x": 6, "y": 4}, + + {"x": 12, "y": 4}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + {"x": 17, "y": 4}, + {"x": 18, "y": 4}, + + {"x": 3, "y": 5}, + {"x": 4, "y": 5}, + + {"x": 14, "y": 5}, + {"x": 15, "y": 5}, + + {"x": 5, "y": 6}, + {"x": 6, "y": 6}, + + {"x": 12, "y": 6}, + {"x": 13, "y": 6}, + + {"x": 7, "y": 7}, + {"x": 8, "y": 7}, + + {"x": 10, "y": 7}, + {"x": 11, "y": 7}, + + {"x": 7, "y": 8}, + {"x": 8, "y": 8}, + + {"x": 10, "y": 8}, + {"x": 11, "y": 8} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c new file mode 100644 index 0000000000..2b699eb683 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c @@ -0,0 +1,50 @@ +// Copyright 2022 Matthew Dews (@matthew-dews) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum custom_layer { + _QWERTY, + _LOWER, + _RAISE, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_6x7( + KC_ESC , 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_LBRC , KC_RBRC, + _______, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_QUOT , KC_BACKSLASH, + _______, KC_LSFT , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN, KC_LSFT , _______, + _______, KC_LCTL , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT,KC_SLSH, KC_LCTL , _______, + KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, + RAISE ,KC_SPC , KC_ENT, LOWER , + KC_TAB,KC_HOME, KC_END, KC_DEL, + KC_BSPC,KC_GRV, KC_LGUI, KC_LALT + ), + + [_LOWER] = LAYOUT_6x7( + KC_ESC , 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_6x7( + _______,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/6x7/rules.mk b/keyboards/handwired/dactyl_manuform/6x7/rules.mk new file mode 100644 index 0000000000..0415379827 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/6x7/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# 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 = no # 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 diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h index 11c9997771..d304814d7d 100644 --- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h +++ b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h @@ -4,6 +4,8 @@ # include "4x5.h" #elif defined(KEYBOARD_handwired_dactyl_manuform_4x6) # include "4x6.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_4x6_5) +# include "4x6_5.h" #elif defined(KEYBOARD_handwired_dactyl_manuform_5x6) # include "5x6.h" #elif defined(KEYBOARD_handwired_dactyl_manuform_5x6_5) @@ -14,6 +16,12 @@ # include "5x7.h" #elif defined(KEYBOARD_handwired_dactyl_manuform_6x6) # include "6x6.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_6x6_4) +# include "6x6_4.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_6x6_kinesis) +# include "6x6_kinesis.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_6x7) +# include "6x7.h" #elif defined(KEYBOARD_handwired_dactyl_manuform_dmote_62key) # include "62key.h" #endif diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md index 3221da0e9d..4882f4ab4b 100644 --- a/keyboards/handwired/dactyl_manuform/readme.md +++ b/keyboards/handwired/dactyl_manuform/readme.md @@ -1,4 +1,4 @@ -Dactyl Manuform (4x5, 5x6, 5x7, 6x6) +Dactyl Manuform (4x5, 5x6, 5x7, 6x6, 6x7) ====== the [Dactyl-Manuform](https://github.com/tshort/dactyl-keyboard) is a split curved keyboard based on the design of [adereth dactyl](https://github.com/adereth/dactyl-keyboard) and thumb cluster design of the [manuform](https://geekhack.org/index.php?topic=46015.0) keyboard, the hardware is similar to the let's split keyboard. all information needed for making one is in the first link. ![Imgur](https://i.imgur.com/7y0Vbyd.jpg) @@ -53,6 +53,11 @@ Keymap of Loligagger from geekhack. #### Default Simple QWERTY layout with 3 Layers. +### [Keymaps 6x7](/keyboards/handwired/dactyl_manuform/6x7/keymaps/) + +#### Default +Simple QWERTY layout with 3 Layers. + ## Required Hardware Apart from diodes and key switches for the keyboard matrix in each half, you |