Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modernise Dactyl keyboard #21388

Open
wants to merge 44 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
90bed0a
combine 'dactyl' and 'dactyl_promicro`
dunk2k Jun 26, 2023
c6483b0
additions/corrections:
dunk2k Jun 26, 2023
91aeb81
remove `dactyl_rah`
dunk2k Jun 26, 2023
2207668
add alias due to move
dunk2k Jun 26, 2023
bad9c62
adjusted layout positions
dunk2k Jul 12, 2023
cd8b1ab
Merge remote-tracking branch 'origin/develop' into dactyl_clean
dunk2k Jul 12, 2023
708d72a
matrix layout change of thumb cluster
dunk2k Jul 12, 2023
951693d
Update info.json
dunk2k Jul 25, 2023
0876d0f
Update info.json
dunk2k Jul 25, 2023
f96fc55
move `usb.device_version`
dunk2k Jul 25, 2023
94e4448
add layout aliases
dunk2k Jul 30, 2023
9257cdd
Merge branch 'develop' into dactyl_clean
dunk2k Jul 31, 2023
4be38eb
revert layout adds to keyboard_aliases
dunk2k Jul 31, 2023
a7c77ac
Merge branch 'develop' into dactyl_clean
dunk2k Sep 22, 2023
111b530
Update config.h
dunk2k Oct 22, 2023
ab77df1
Merge branch 'develop' into dactyl_clean
dunk2k Oct 22, 2023
d8b965d
Update config.h
dunk2k Oct 22, 2023
fea2bff
Update readme.md
dunk2k Oct 22, 2023
3ca0f42
Update readme.md
dunk2k Oct 22, 2023
090b480
Merge branch 'develop' into dactyl_clean
dunk2k Dec 6, 2023
b9a66db
add layout aliases for backward compatibilty
dunk2k Dec 6, 2023
b1ff760
Merge branch 'dactyl_clean' of https://github.com/dunk2k/qmk_firmware…
dunk2k Dec 6, 2023
09f9b8e
backwards compatibility added for dactyl/legacy
dunk2k Jan 12, 2024
3b09f61
remove unused rgblight settings
dunk2k Jan 12, 2024
0304193
Merge branch 'develop' into dactyl_clean
dunk2k Jan 12, 2024
b9ea200
tidy keymaps and license headers
dunk2k Jan 12, 2024
e819257
Merge remote-tracking branch 'origin/develop' into dactyl_clean
dunk2k Jan 27, 2024
51cdb9d
info.json to keyboard.json
dunk2k Mar 30, 2024
23da152
Merge remote-tracking branch 'upstream/develop' into dactyl_clean
dunk2k Apr 12, 2024
f11d28e
Merge branch 'develop' into dactyl_clean
dunk2k Apr 15, 2024
179089b
update info.json
dunk2k Apr 17, 2024
6c5a0e5
Merge branch 'develop' into dactyl_clean
dunk2k Apr 17, 2024
3133dec
Rename info.json to keyboard.json
dunk2k Apr 23, 2024
8476717
Rename keyboard.json to info.json
dunk2k Apr 23, 2024
328bc50
Update readme.md
dunk2k Apr 23, 2024
f2b0572
Merge branch 'develop' into dactyl_clean
dunk2k May 18, 2024
8f828b7
Merge remote-tracking branch 'upstream/develop' into dactyl_clean
dunk2k May 22, 2024
9f1b686
Merge branch 'develop' into dactyl_clean
dunk2k May 24, 2024
4967f1b
Merge remote-tracking branch 'upstream/develop' into dactyl_clean
dunk2k Aug 13, 2024
3b14438
remove VIA
dunk2k Aug 25, 2024
55b61df
Update keyboard_aliases.hjson
dunk2k Jan 24, 2025
619fe78
Remove default_folder
dunk2k Jan 24, 2025
00557af
Merge remote-tracking branch 'origin/develop' into dactyl_clean
dunk2k Jan 24, 2025
355097e
Update keyboard_aliases.hjson
dunk2k Jan 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions data/mappings/keyboard_aliases.hjson
Original file line number Diff line number Diff line change
Expand Up @@ -212,9 +212,20 @@
"gmmk/pro/iso": {
"target": "gmmk/pro/rev1/iso"
},
"handwired/dactyl": {
"layouts": {
"LAYOUT_dactyl": "LAYOUT"
}
},
"handwired/dactyl_manuform/6x6_kinesis": {
"target": "handwired/dactyl_kinesis"
},
"handwired/dactyl_promicro": {
"target": "handwired/dactyl/promicro",
"layouts": {
"LAYOUT_6x6": "LAYOUT"
}
},
"handwired/ferris": {
"target": "ferris/0_1"
},
Expand Down
47 changes: 0 additions & 47 deletions keyboards/handwired/dactyl/config.h

This file was deleted.

123 changes: 16 additions & 107 deletions keyboards/handwired/dactyl/info.json
Original file line number Diff line number Diff line change
@@ -1,109 +1,18 @@
{
"keyboard_name": "Dactyl",
"manufacturer": "Adereth",
"url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
"pid": "0x1308",
"device_version": "0.0.1"
},
"processor": "atmega32u4",
"bootloader": "halfkay",
"debounce": 15,
"tapping": {
"toggle": 1
},
"layouts": {
"LAYOUT_dactyl": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},

{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},

{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},

{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4, "y": 3},
{"matrix": [3, 5], "x": 5, "y": 3},

{"matrix": [4, 0], "x": 0, "y": 4},
{"matrix": [4, 1], "x": 1, "y": 4},
{"matrix": [4, 2], "x": 2, "y": 4},
{"matrix": [4, 3], "x": 3, "y": 4},
{"matrix": [4, 4], "x": 4, "y": 4},

{"matrix": [5, 5], "x": 6, "y": 5},
{"matrix": [5, 0], "x": 7, "y": 5},

{"matrix": [5, 4], "x": 7, "y": 6},
{"matrix": [5, 3], "x": 5, "y": 6, "h": 2},
{"matrix": [5, 2], "x": 6, "y": 6, "h": 2},

{"matrix": [5, 1], "x": 7, "y": 7},

{"matrix": [0, 6], "x": 11, "y": 0},
{"matrix": [0, 7], "x": 12, "y": 0},
{"matrix": [0, 8], "x": 13, "y": 0},
{"matrix": [0, 9], "x": 14, "y": 0},
{"matrix": [0, 10], "x": 15, "y": 0},
{"matrix": [0, 11], "x": 16, "y": 0},

{"matrix": [1, 6], "x": 11, "y": 1},
{"matrix": [1, 7], "x": 12, "y": 1},
{"matrix": [1, 8], "x": 13, "y": 1},
{"matrix": [1, 9], "x": 14, "y": 1},
{"matrix": [1, 10], "x": 15, "y": 1},
{"matrix": [1, 11], "x": 16, "y": 1},

{"matrix": [2, 6], "x": 11, "y": 2},
{"matrix": [2, 7], "x": 12, "y": 2},
{"matrix": [2, 8], "x": 13, "y": 2},
{"matrix": [2, 9], "x": 14, "y": 2},
{"matrix": [2, 10], "x": 15, "y": 2},
{"matrix": [2, 11], "x": 16, "y": 2},

{"matrix": [3, 6], "x": 11, "y": 3},
{"matrix": [3, 7], "x": 12, "y": 3},
{"matrix": [3, 8], "x": 13, "y": 3},
{"matrix": [3, 9], "x": 14, "y": 3},
{"matrix": [3, 10], "x": 15, "y": 3},
{"matrix": [3, 11], "x": 16, "y": 3},

{"matrix": [4, 7], "x": 12, "y": 4},
{"matrix": [4, 8], "x": 13, "y": 4},
{"matrix": [4, 9], "x": 14, "y": 4},
{"matrix": [4, 10], "x": 15, "y": 4},
{"matrix": [4, 11], "x": 16, "y": 4},

{"matrix": [5, 11], "x": 9, "y": 5},
{"matrix": [5, 6], "x": 10, "y": 5},

{"matrix": [5, 7], "x": 9, "y": 6},

{"matrix": [5, 10], "x": 9, "y": 7},

{"matrix": [5, 9], "x": 10, "y": 6, "h": 2},
{"matrix": [5, 8], "x": 11, "y": 6, "h": 2}
]
}
}
"keyboard_name": "Dactyl",
"manufacturer": "Adereth",
"url": "https://github.com/adereth/dactyl-keyboard",
"maintainer": "qmk",
"usb": {
"vid": "0x444C"
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"tags": ["split"]
}
191 changes: 48 additions & 143 deletions keyboards/handwired/dactyl/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -1,150 +1,55 @@
#include QMK_KEYBOARD_H
#include "version.h"
// Copyright 2019 Matthew Adereth
// SPDX-License-Identifier: GPL-2.0-or-later

#define BASE 0 // default layer
#define SYMB 1 // symbols
#define MDIA 2 // media keys
#include QMK_KEYBOARD_H

enum custom_keycodes {
PLACEHOLDER = SAFE_RANGE, // ensure these codes start after the highest keycode defined in Quantum
VRSN,
enum layers {
_QWERTY,
_LOWER,
_RAISE
};

#define RAISE MO(_RAISE)
#define LOWER MO(_LOWER)

#define ONE_GRV LT(_LOWER, KC_GRAVE)
#define CTL_Z LCTL_T(KC_Z)
#define ALT_SHFT LALT(KC_LSFT)
#define ALT_MENU LALT_T(KC_MENU)
#define LG_QUOT LGUI_T(KC_QUOT)
#define CTL_ESC LCTL_T(KC_ESC)
#define CTL_SLS LCTL_T(KC_SLSH)
#define LT2_COL LT(_RAISE, KC_SCLN)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
*
* ,-----------------------------------------. ,-----------------------------------------.
* | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Del | Q | W | E | R | T | | Y | U | I | O | P | \ |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | BkSp | A | S | D | F | G | | H | J | K | L |; / L2|'/Cmd |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* |LShift|Z/Ctrl| X | C | V | B | | N | M | , | . |//Ctrl|RShift|
* |------+------+------+------+------+------' `------+------+------+------+------+------|
* |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | App | LGui | | Alt | ^/Esc|
* ,------|------|------| |------+------+------.
* | | | Home | | PgUp | | |
* | Space|Backsp|------| |------| Tab |Enter |
* | |ace | End | | PgDn | | |
* `--------------------' `--------------------'
*/
[BASE] = LAYOUT_dactyl( // layer 0 : default
// left hand
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T,
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B,
LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
ALT_T(KC_APP), KC_LGUI,
KC_HOME,
KC_SPC, KC_BSPC, KC_END,
// right hand
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT),
KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB),
KC_RALT, CTL_T(KC_ESC),
KC_PGUP,
KC_PGDN, KC_TAB, KC_ENT
[_QWERTY] = LAYOUT(
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT2_COL, LG_QUOT,
KC_LSFT, CTL_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, CTL_SLS, KC_RSFT,
ONE_GRV, KC_QUOT, ALT_SHFT, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(_LOWER),
ALT_MENU, KC_LGUI, KC_RALT, CTL_ESC,
KC_SPC, KC_BSPC, KC_HOME, KC_PGUP, KC_TAB, KC_ENT,
KC_END, KC_PGDN
),
[_LOWER] = LAYOUT(
_______, KC_F1, 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_LBRC, KC_RBRC, KC_PIPE, KC_UP, KC_P7, KC_P8, KC_P9, KC_PAST, KC_F12,
_______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOWN, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
_______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
QK_BOOT, _______, _______, _______, _______, _______, KC_PDOT, KC_P0, KC_PEQL, _______,
_______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______
),
/* Keymap 1: Symbol Layer
*
* ,-----------------------------------------. ,-----------------------------------------.
* |Versn | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | ! | @ | { | } | | | | Up | 7 | 8 | 9 | * | F12 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | # | $ | ( | ) | ` | | Down | 4 | 5 | 6 | + | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | % | ^ | [ | ] | ~ | | & | 1 | 2 | 3 | \ | |
* |------+------+------+------+------+------' `------+------+------+------+------+------|
* |QK_BOOT | | | | | | | . | 0 | = | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | | |
* | | |------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// SYMBOLS
[SYMB] = LAYOUT_dactyl(
// left hand
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE,
KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD,
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
// right hand
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
/* Keymap 2: Media and mouse keys
* ,-----------------------------------------. ,-----------------------------------------.
* | | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | MsUp | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | |MsLeft|MsDown|MsRght| | | | | | | | Play |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | | | | | Prev | Next | | |
* |------+------+------+------+------+------' `------+------+------+------+------+------|
* | | | | Lclk | Rclk | | VolUp| VolDn| Mute | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
* ,------|------|------| |------+------+------.
* | | | | | | |Brwser|
* | | |------| |------| |Back |
* | | | | | | | |
* `--------------------' `--------------------'
*
*/
// MEDIA AND MOUSE
[MDIA] = LAYOUT_dactyl(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
// right hand
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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_WBAK
),
[_RAISE] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, _______, _______, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, _______, _______,
_______, _______, _______, KC_BTN1, KC_BTN2, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______, _______, KC_WBAK,
_______, _______
)
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case VRSN:
if (record->event.pressed) {
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
}
return false;
break;
}
return true;
}
Loading