Merge remote-tracking branch 'origin/master' into develop

master
QMK Bot 2022-01-11 00:49:20 +00:00
commit 184f4b38c8
11 changed files with 286 additions and 5 deletions

View File

@ -0,0 +1,4 @@
// Copyright 2022 Matthew Dews (@matthew-dews)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "6x7.h"

View File

@ -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 } \
}

View File

@ -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

View File

@ -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}
]
}
}
}

View File

@ -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 ,_______,
_______,_______, _______,_______,
_______,_______, _______,_______,
_______,_______, _______,_______
)
};

View 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 = 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

View File

@ -16,6 +16,8 @@
# include "5x7.h" # include "5x7.h"
#elif defined(KEYBOARD_handwired_dactyl_manuform_6x6) #elif defined(KEYBOARD_handwired_dactyl_manuform_6x6)
# include "6x6.h" # include "6x6.h"
#elif defined(KEYBOARD_handwired_dactyl_manuform_6x7)
# include "6x7.h"
#elif defined(KEYBOARD_handwired_dactyl_manuform_dmote_62key) #elif defined(KEYBOARD_handwired_dactyl_manuform_dmote_62key)
# include "62key.h" # include "62key.h"
#endif #endif

View File

@ -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. 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) ![Imgur](https://i.imgur.com/7y0Vbyd.jpg)
@ -53,6 +53,11 @@ Keymap of Loligagger from geekhack.
#### Default #### Default
Simple QWERTY layout with 3 Layers. Simple QWERTY layout with 3 Layers.
### [Keymaps 6x7](/keyboards/handwired/dactyl_manuform/6x7/keymaps/)
#### Default
Simple QWERTY layout with 3 Layers.
## Required Hardware ## Required Hardware
Apart from diodes and key switches for the keyboard matrix in each half, you Apart from diodes and key switches for the keyboard matrix in each half, you

View File

@ -49,6 +49,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_B { D2 } #define ENCODERS_PAD_B { D2 }
#define ENCODERS 1 #define ENCODERS 1
#ifdef ENCODER_RESOLUTION
#undef ENCODER_RESOLUTION
#endif
#define ENCODER_RESOLUTION 2
// Note: array is { col, row ) // Note: array is { col, row )
#define ENCODERS_CW_KEY { { 3, 2 } } #define ENCODERS_CW_KEY { { 3, 2 } }
#define ENCODERS_CCW_KEY { { 3, 4 } } #define ENCODERS_CCW_KEY { { 3, 4 } }

View File

@ -18,8 +18,8 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( [0] = LAYOUT(
KC_ESC, KC_PAUS, KC_DEL, KC_VOLU, KC_MUTE, KC_VOLD, KC_ESC, KC_PAUS, KC_DEL, KC_VOLD, KC_MUTE, KC_VOLU,
KC_LNUM, KC_PSLS, KC_PAST, KC_PMNS, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_P7, KC_P8, KC_P9,
KC_P4, KC_P5, KC_P6, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3, KC_P1, KC_P2, KC_P3,

View File

@ -49,9 +49,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENCODERS_PAD_B { B1 } #define ENCODERS_PAD_B { B1 }
#define ENCODERS 1 #define ENCODERS 1
#ifdef ENCODER_RESOLUTION
#undef ENCODER_RESOLUTION
#endif
#define ENCODER_RESOLUTION 2
// Note: array is { col, row ) // Note: array is { col, row )
#define ENCODERS_CW_KEY { { 5, 5 } } #define ENCODERS_CW_KEY { { 3, 5 } }
#define ENCODERS_CCW_KEY { { 3, 5 } } #define ENCODERS_CCW_KEY { { 5, 5 } }
#define LED_CAPS_LOCK_PIN B6 #define LED_CAPS_LOCK_PIN B6
#define LED_PIN_ON_STATE 0 #define LED_PIN_ON_STATE 0