[Keyboard] Add Dactyl Manuform 5x6 with 6 thumb cluster (#18845)
Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
		
							parent
							
								
									d4b6678e99
								
							
						
					
					
						commit
						f3ea6591db
					
				
					 7 changed files with 272 additions and 0 deletions
				
			
		
							
								
								
									
										18
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/5x6_6.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/5x6_6.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 fgoodwin <fgoodwin@north-tech.net>
 | 
			
		||||
 | 
			
		||||
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/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include "5x6_6.h"
 | 
			
		||||
							
								
								
									
										47
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/5x6_6.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/5x6_6.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,47 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 fgoodwin <fgoodwin@north-tech.net>
 | 
			
		||||
 | 
			
		||||
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/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#define XXX KC_NO
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_split_5x6_6( \
 | 
			
		||||
    L00, L01, L02, L03, L04, L05,                          R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15,                          R10, R11, R12, R13, R14, R15, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25,                          R20, R21, R22, R23, R24, R25, \
 | 
			
		||||
    L30, L31, L32, L33, L34, L35,                          R30, R31, R32, R33, R34, R35, \
 | 
			
		||||
              L42, L43, L44, L45,                          R40, R41, R42, R43, \
 | 
			
		||||
                        L54, L55,                          R50, R51, \
 | 
			
		||||
                        L64, L65,                          R60, R61 \
 | 
			
		||||
) { \
 | 
			
		||||
    { L00, L01, L02, L03, L04, L05 }, \
 | 
			
		||||
    { L10, L11, L12, L13, L14, L15 }, \
 | 
			
		||||
    { L20, L21, L22, L23, L24, L25 }, \
 | 
			
		||||
    { L30, L31, L32, L33, L34, L35 }, \
 | 
			
		||||
    { XXX, XXX, L42, L43, L44, L45 }, \
 | 
			
		||||
    { XXX, XXX, XXX, XXX, L54, L55 }, \
 | 
			
		||||
    { XXX, XXX, XXX, XXX, 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, XXX, XXX }, \
 | 
			
		||||
    { R50, R51, XXX, XXX, XXX, XXX }, \
 | 
			
		||||
    { R60, R61, XXX, XXX, XXX, XXX } \
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										34
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 fgoodwin <fgoodwin@north-tech.net>
 | 
			
		||||
 | 
			
		||||
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"
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#define MATRIX_COLS 6
 | 
			
		||||
#define MATRIX_ROWS 14
 | 
			
		||||
 | 
			
		||||
#undef SOFT_SERIAL_PIN
 | 
			
		||||
#define SOFT_SERIAL_PIN D3
 | 
			
		||||
 | 
			
		||||
// 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
 | 
			
		||||
							
								
								
									
										93
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,93 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "Dactyl Manuform 5x6+6",
 | 
			
		||||
    "url": "https://github.com/fgoodwin/dactyl-manuform-5x6_6/tree/main/5x6_6",
 | 
			
		||||
    "maintainer": "fgoodwin",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "vid": "0x444D",
 | 
			
		||||
        "pid": "0x3536",
 | 
			
		||||
        "device_version": "0.0.3"
 | 
			
		||||
    },
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT_split_5x6_6": {
 | 
			
		||||
            "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": 2, "y": 4},
 | 
			
		||||
                {"x": 3, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 4},
 | 
			
		||||
                {"x": 6, "y": 4},
 | 
			
		||||
                {"x": 7, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 9, "y": 4},
 | 
			
		||||
                {"x": 10, "y": 4},
 | 
			
		||||
                {"x": 11, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 13, "y": 4},
 | 
			
		||||
                {"x": 14, "y": 4},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 5},
 | 
			
		||||
                {"x": 6, "y": 5},
 | 
			
		||||
                {"x": 7, "y": 5},
 | 
			
		||||
 | 
			
		||||
                {"x": 5, "y": 5},
 | 
			
		||||
                {"x": 9, "y": 5},
 | 
			
		||||
                {"x": 10, "y": 5}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 fgoodwin <fgoodwin@north-tech.net>
 | 
			
		||||
 | 
			
		||||
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/>.
 | 
			
		||||
*/
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
    [0] = LAYOUT_split_5x6_6(
 | 
			
		||||
        KC_ESC,    KC_1,      KC_2,      KC_3,     KC_4,       KC_5,         KC_6,      KC_7,    KC_8,     KC_9,     KC_0,    KC_BSLS,
 | 
			
		||||
        KC_GRV,    KC_Q,      KC_W,      KC_E,     KC_R,       KC_T,         KC_Y,      KC_U,    KC_I,     KC_O,     KC_P,    KC_EQL,
 | 
			
		||||
        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_MINS,
 | 
			
		||||
                              KC_NO,     KC_LGUI,  KC_LCTL,    KC_SPC,       KC_RSFT,   KC_ENT,  KC_LBRC,     KC_RBRC,
 | 
			
		||||
                                                   MO(1),      LCTL(KC_C),   KC_BSPC,   MO(1),
 | 
			
		||||
                                                   KC_LALT,    LCTL(KC_V),   KC_DEL,    KC_RSFT
 | 
			
		||||
    ),
 | 
			
		||||
    [1] = LAYOUT_split_5x6_6(
 | 
			
		||||
        KC_TRNS,   KC_F1,     KC_F2,     KC_F3,    KC_F4,         KC_F5,     KC_F6,       KC_F7,      KC_F8,       KC_F9,       KC_F10,     KC_F11,
 | 
			
		||||
        KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,  KC_TRNS,       KC_TRNS,   KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_TRNS,    KC_F12,
 | 
			
		||||
        KC_TRNS,   KC_TRNS,   KC_PSCR,   KC_DOWN,  KC_UP,         KC_HOME,   KC_END,      KC_LEFT,    KC_RIGHT,    KC_TRNS,     KC_TRNS,    KC_TRNS,
 | 
			
		||||
        KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,  KC_TRNS,       KC_TRNS,   KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_BSLS,    KC_TRNS,
 | 
			
		||||
                   RESET,     KC_TRNS,   KC_TRNS,  KC_TRNS,       KC_TRNS,   KC_TRNS,     KC_TRNS,    KC_TRNS,
 | 
			
		||||
                                         MO(1),    LCTL(KC_C),    KC_TRNS,   MO(1),
 | 
			
		||||
                                         KC_TRNS,  LCTL(KC_V),    KC_TRNS,   KC_TRNS
 | 
			
		||||
    )
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										22
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
# Dactyl Manuform (5x6) with 6 thumb cluster
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: fgoodwin
 | 
			
		||||
* Hardware Supported: Pro Micro Micro Micro USB or USB C
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make handwired/dactyl_manuform/5x6_6:default
 | 
			
		||||
 | 
			
		||||
Flashing example for this keyboard:
 | 
			
		||||
 | 
			
		||||
    make handwired/dactyl_manuform/5x6_6:default:flash
 | 
			
		||||
 | 
			
		||||
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).
 | 
			
		||||
 | 
			
		||||
Enter the bootloader in 2 ways:
 | 
			
		||||
**Physical reset button**: Briefly press the reset button on the bottom of the case, or bridge the reset and ground pins momentarily on the pro micro
 | 
			
		||||
**Keycode in layout**: Press the key mapped to `QK_BOOT` (by default hold down `MO(1)` and press the left most key in row 5 on the left hand half of the keyboard)
 | 
			
		||||
							
								
								
									
										19
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/handwired/dactyl_manuform/5x6_6/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 = yes            # 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
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue