forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keyboard] Added different wiring of dactyl (qmk#17997)
- Loading branch information
1 parent
2ae181c
commit b4930e9
Showing
7 changed files
with
222 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
// Copyright 2022 Marko Skakun <[email protected]> | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
|
||
#pragma once | ||
|
||
#include "config_common.h" | ||
|
||
/* key matrix size */ | ||
// Rows are doubled-up | ||
#define MATRIX_ROWS 8 | ||
#define MATRIX_COLS 5 | ||
|
||
// wiring of each half | ||
#define MATRIX_COL_PINS { C6, D7, E6, B4, B5 } | ||
#define MATRIX_ROW_PINS { B1, B3, B2, B6 } | ||
|
||
#define DIODE_DIRECTION COL2ROW | ||
|
||
/* mouse config */ | ||
#define MOUSEKEY_INTERVAL 20 | ||
#define MOUSEKEY_DELAY 0 | ||
#define MOUSEKEY_TIME_TO_MAX 60 | ||
#define MOUSEKEY_MAX_SPEED 7 | ||
#define MOUSEKEY_WHEEL_DELAY 0 | ||
|
||
/* Set 0 if debouncing isn't needed */ | ||
#define DEBOUNCE 5 | ||
|
||
/* serial.c configuration for split keyboard */ | ||
#define SOFT_SERIAL_PIN D0 | ||
|
||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
#define LOCKING_SUPPORT_ENABLE | ||
/* Locking resynchronize hack */ | ||
#define LOCKING_RESYNC_ENABLE | ||
|
||
/* Enables This makes it easier for fast typists to use dual-function keys */ | ||
#define PERMISSIVE_HOLD | ||
|
||
/* ws2812 RGB LED */ | ||
//#define RGB_DI_PIN D3 | ||
|
||
//#define RGBLED_NUM 12 // Number of LEDs | ||
|
||
/* | ||
* Feature disable options | ||
* These options are also useful to firmware size reduction. | ||
*/ | ||
|
||
/* disable debug print */ | ||
// #define NO_DEBUG | ||
|
||
/* disable print */ | ||
// #define NO_PRINT | ||
|
||
/* disable action features */ | ||
//#define NO_ACTION_LAYER | ||
//#define NO_ACTION_TAPPING | ||
//#define NO_ACTION_ONESHOT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
{ | ||
"keyboard_name": "Dactyl Min (3x5_5)", | ||
"manufacturer": "skakunm", | ||
"url": "", | ||
"maintainer": "qmk", | ||
"usb": { | ||
"vid": "0xFEED", | ||
"pid": "0x3060", | ||
"device_version": "0.0.1" | ||
}, | ||
"layouts": { | ||
"LAYOUT_3x5_5": { | ||
"layout": [ | ||
{"label":"L10", "x":0, "y":0}, | ||
{"label":"L11", "x":1, "y":0}, | ||
{"label":"L12", "x":2, "y":0}, | ||
{"label":"L13", "x":3, "y":0}, | ||
{"label":"L14", "x":4, "y":0}, | ||
{"label":"R13", "x":9, "y":0}, | ||
{"label":"R13", "x":10, "y":0}, | ||
{"label":"R12", "x":11, "y":0}, | ||
{"label":"R11", "x":12, "y":0}, | ||
{"label":"R10", "x":13, "y":0}, | ||
{"label":"L20", "x":0, "y":1}, | ||
{"label":"L21", "x":1, "y":1}, | ||
{"label":"L22", "x":2, "y":1}, | ||
{"label":"L23", "x":3, "y":1}, | ||
{"label":"L24", "x":4, "y":1}, | ||
{"label":"R23", "x":9, "y":1}, | ||
{"label":"R23", "x":10, "y":1}, | ||
{"label":"R22", "x":11, "y":1}, | ||
{"label":"R21", "x":12, "y":1}, | ||
{"label":"R20", "x":13, "y":1}, | ||
{"label":"L30", "x":0, "y":2}, | ||
{"label":"L31", "x":1, "y":2}, | ||
{"label":"L32", "x":2, "y":2}, | ||
{"label":"L33", "x":3, "y":2}, | ||
{"label":"L34", "x":4, "y":2}, | ||
{"label":"R33", "x":9, "y":2}, | ||
{"label":"R33", "x":10, "y":2}, | ||
{"label":"R32", "x":11, "y":2}, | ||
{"label":"R31", "x":12, "y":2}, | ||
{"label":"R30", "x":13, "y":2}, | ||
{"label":"L00", "x":4, "y":3}, | ||
{"label":"L01", "x":5, "y":3}, | ||
{"label":"R01", "x":8, "y":3}, | ||
{"label":"R00", "x":9, "y":3}, | ||
{"label":"L02", "x":4, "y":4}, | ||
{"label":"L03", "x":5, "y":4}, | ||
{"label":"L04", "x":6, "y":4}, | ||
{"label":"R04", "x":7, "y":4}, | ||
{"label":"R03", "x":8, "y":4}, | ||
{"label":"R02", "x":9, "y":4} | ||
] | ||
} | ||
} | ||
} |
41 changes: 41 additions & 0 deletions
41
keyboards/handwired/skakunm_dactyl/keymaps/default/keymap.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
// Copyright 2022 Marko Skakun <[email protected]> | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
enum custom_layers { | ||
_LAYER0, | ||
_LAYER1, | ||
_LAYER2, | ||
}; | ||
|
||
enum custom_keycodes { | ||
LAYER0 = SAFE_RANGE, | ||
LAYER1, | ||
LAYER2, | ||
}; | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
|
||
[_LAYER0] = LAYOUT_3x5_5( | ||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, | ||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, | ||
LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), | ||
KC_LCTL, KC_LALT, KC_RALT, KC_RCTL, | ||
KC_BSPC, LT(2,KC_ESC), KC_DEL, KC_TAB, LT(1,KC_ENT), KC_SPC), | ||
|
||
[_LAYER1] = LAYOUT_3x5_5( | ||
KC_BSLS, KC_HOME, KC_UP, KC_END, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_LGUI, | ||
KC_PSLS, KC_LEFT, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_ENT, | ||
KC_LSFT, KC_SCLN, KC_QUOT, KC_MINS, KC_EQL, KC_P0, KC_P1, KC_P2, KC_P3, KC_RSFT, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
|
||
[_LAYER2] = LAYOUT_3x5_5( | ||
KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, | ||
KC_F1, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_QUES, KC_TRNS, KC_F12, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) | ||
|
||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# skakunm dactyl | ||
|
||
![SkakunM-Dactyl](https://cdn.thingiverse.com/assets/98/52/da/e2/15/featured_preview_41db84f8-1ffb-4198-bd3f-ae2e5d112ec6.jpg) | ||
|
||
This is a variation of Dactyl, main idea is to have 3x5 + 5 keys arrangement, 5 keys for thumb and a minimal set of keys for other fingers. Also having 20 keys enables easy wiring of 4 rows (1 for thumb and 3 for other fingers) and 5 columns (5 buttons for thumb and 5 columns for other fingers). Hardware form factor is somewhat similar to the Moonlander, but smaller. It is designed to be 3D printed using a SLA resin 3D printer. | ||
|
||
* Keyboard Maintainer: [Marko Skakun](https://github.com/skakunm) | ||
* Hardware Supported: Arduino Pro Micro | ||
* Hardware Availability: [Files to print](https://www.thingiverse.com/thing:5461125) | ||
|
||
Make example for this keyboard (after setting up your build environment): | ||
|
||
make handwired/skakunm_dactyl:default | ||
|
||
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). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# 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 | ||
AUDIO_ENABLE = no # Audio output | ||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | ||
|
||
SPLIT_KEYBOARD = yes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
// Copyright 2022 Marko Skakun <[email protected]> | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include "skakunm_dactyl.h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
// Copyright 2022 Marko Skakun <[email protected]> | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#include "quantum.h" | ||
|
||
#define LAYOUT_3x5_5(\ | ||
L10, L11, L12, L13, L14, R14, R13, R12, R11, R10, \ | ||
L20, L21, L22, L23, L24, R24, R23, R22, R21, R20, \ | ||
L30, L31, L32, L33, L34, R34, R33, R32, R31, R30, \ | ||
L00, L01, R01, R00, \ | ||
L04, L03, L02, R02, R03, R04 \ | ||
)\ | ||
{\ | ||
{ L34, L33, L32, L31, L30 }, \ | ||
{ L24, L23, L22, L21, L20 }, \ | ||
{ L14, L13, L12, L11, L10 }, \ | ||
{ L04, L03, L02, L01, L00 }, \ | ||
\ | ||
{ R34, R33, R32, R31, R30 }, \ | ||
{ R24, R23, R22, R21, R20 }, \ | ||
{ R14, R13, R12, R11, R10 }, \ | ||
{ R04, R03, R02, R01, R00 }, \ | ||
} |