layout for my dactyl

This commit is contained in:
Tim Gröger 2026-04-17 14:13:27 +02:00
parent 1836382f66
commit cb234f8bb0
4 changed files with 437 additions and 86 deletions

5
compile_keyboard.sh Normal file
View File

@ -0,0 +1,5 @@
#/bin/env bash
qmk compile -kb handwired/dactyl_manuform/5x6_68 -km crimsen
# flash on left side
qmk flash -kb handwired/dactyl_manuform/5x6_68 -km crimsen -bl avrdude-split-left

View File

@ -28,96 +28,353 @@
} }
}, },
"matrix_pins": { "matrix_pins": {
"cols": ["D4", "C6", "D7", "E6", "B4", "B5"], "cols": ["F4", "F5", "F6", "F7", "B1", "B3"],
"rows": ["F6", "F7", "B1", "B3", "B2", "B6"] "rows": ["D3", "D2", "D4", "C6", "D7", "E6"]
}, },
"diode_direction": "ROW2COL", "diode_direction": "COL2ROW",
"layouts": { "layouts": {
"LAYOUT": { "LAYOUT": {
"layout": [ "layout": [
{"matrix": [0, 0], "x": 0, "y": 0}, {
{"matrix": [0, 1], "x": 1, "y": 0}, "matrix": [0, 0],
{"matrix": [0, 2], "x": 2, "y": 0}, "x": 0,
{"matrix": [0, 3], "x": 3, "y": 0}, "y": 0
{"matrix": [0, 4], "x": 4, "y": 0}, },
{"matrix": [0, 5], "x": 5, "y": 0}, {
"matrix": [0, 1],
{"matrix": [6, 0], "x": 11, "y": 0}, "x": 1,
{"matrix": [6, 1], "x": 12, "y": 0}, "y": 0
{"matrix": [6, 2], "x": 13, "y": 0}, },
{"matrix": [6, 3], "x": 14, "y": 0}, {
{"matrix": [6, 4], "x": 15, "y": 0}, "matrix": [0, 2],
{"matrix": [6, 5], "x": 16, "y": 0}, "x": 2,
"y": 0
{"matrix": [1, 0], "x": 0, "y": 1}, },
{"matrix": [1, 1], "x": 1, "y": 1}, {
{"matrix": [1, 2], "x": 2, "y": 1}, "matrix": [0, 3],
{"matrix": [1, 3], "x": 3, "y": 1}, "x": 3,
{"matrix": [1, 4], "x": 4, "y": 1}, "y": 0
{"matrix": [1, 5], "x": 5, "y": 1}, },
{
{"matrix": [7, 0], "x": 11, "y": 1}, "matrix": [0, 4],
{"matrix": [7, 1], "x": 12, "y": 1}, "x": 4,
{"matrix": [7, 2], "x": 13, "y": 1}, "y": 0
{"matrix": [7, 3], "x": 14, "y": 1}, },
{"matrix": [7, 4], "x": 15, "y": 1}, {
{"matrix": [7, 5], "x": 16, "y": 1}, "matrix": [0, 5],
"x": 5,
{"matrix": [2, 0], "x": 0, "y": 2}, "y": 0
{"matrix": [2, 1], "x": 1, "y": 2}, },
{"matrix": [2, 2], "x": 2, "y": 2}, {
{"matrix": [2, 3], "x": 3, "y": 2}, "matrix": [6, 0],
{"matrix": [2, 4], "x": 4, "y": 2}, "x": 11,
{"matrix": [2, 5], "x": 5, "y": 2}, "y": 0
},
{"matrix": [8, 0], "x": 11, "y": 2}, {
{"matrix": [8, 1], "x": 12, "y": 2}, "matrix": [6, 1],
{"matrix": [8, 2], "x": 13, "y": 2}, "x": 12,
{"matrix": [8, 3], "x": 14, "y": 2}, "y": 0
{"matrix": [8, 4], "x": 15, "y": 2}, },
{"matrix": [8, 5], "x": 16, "y": 2}, {
"matrix": [6, 2],
{"matrix": [3, 0], "x": 0, "y": 3}, "x": 13,
{"matrix": [3, 1], "x": 1, "y": 3}, "y": 0
{"matrix": [3, 2], "x": 2, "y": 3}, },
{"matrix": [3, 3], "x": 3, "y": 3}, {
{"matrix": [3, 4], "x": 4, "y": 3}, "matrix": [6, 3],
{"matrix": [3, 5], "x": 5, "y": 3}, "x": 14,
"y": 0
{"matrix": [9, 0], "x": 11, "y": 3}, },
{"matrix": [9, 1], "x": 12, "y": 3}, {
{"matrix": [9, 2], "x": 13, "y": 3}, "matrix": [6, 4],
{"matrix": [9, 3], "x": 14, "y": 3}, "x": 15,
{"matrix": [9, 4], "x": 15, "y": 3}, "y": 0
{"matrix": [9, 5], "x": 16, "y": 3}, },
{
{"matrix": [4, 0], "x": 0, "y": 4}, "matrix": [6, 5],
{"matrix": [4, 1], "x": 1, "y": 4}, "x": 16,
{"matrix": [4, 2], "x": 2, "y": 4}, "y": 0
{"matrix": [4, 3], "x": 3, "y": 4}, },
{
{"matrix": [10, 2], "x": 13, "y": 4}, "matrix": [1, 0],
{"matrix": [10, 3], "x": 14, "y": 4}, "x": 0,
{"matrix": [10, 4], "x": 15, "y": 4}, "y": 1
{"matrix": [10, 5], "x": 16, "y": 4}, },
{
{"matrix": [4, 4], "x": 4, "y": 5}, "matrix": [1, 1],
{"matrix": [4, 5], "x": 5, "y": 5}, "x": 1,
"y": 1
{"matrix": [10, 0], "x": 11, "y": 5}, },
{"matrix": [10, 1], "x": 12, "y": 5}, {
"matrix": [1, 2],
{"matrix": [5, 4], "x": 6, "y": 6}, "x": 2,
{"matrix": [5, 5], "x": 7, "y": 6}, "y": 1
},
{"matrix": [11, 0], "x": 9, "y": 6}, {
{"matrix": [11, 1], "x": 10, "y": 6}, "matrix": [1, 3],
"x": 3,
{"matrix": [5, 2], "x": 6, "y": 7}, "y": 1
{"matrix": [5, 3], "x": 7, "y": 7}, },
{
{"matrix": [11, 2], "x": 9, "y": 7}, "matrix": [1, 4],
{"matrix": [11, 3], "x": 10, "y": 7} "x": 4,
"y": 1
},
{
"matrix": [1, 5],
"x": 5,
"y": 1
},
{
"matrix": [7, 0],
"x": 11,
"y": 1
},
{
"matrix": [7, 1],
"x": 12,
"y": 1
},
{
"matrix": [7, 2],
"x": 13,
"y": 1
},
{
"matrix": [7, 3],
"x": 14,
"y": 1
},
{
"matrix": [7, 4],
"x": 15,
"y": 1
},
{
"matrix": [7, 5],
"x": 16,
"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": [8, 0],
"x": 11,
"y": 2
},
{
"matrix": [8, 1],
"x": 12,
"y": 2
},
{
"matrix": [8, 2],
"x": 13,
"y": 2
},
{
"matrix": [8, 3],
"x": 14,
"y": 2
},
{
"matrix": [8, 4],
"x": 15,
"y": 2
},
{
"matrix": [8, 5],
"x": 16,
"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": [9, 0],
"x": 11,
"y": 3
},
{
"matrix": [9, 1],
"x": 12,
"y": 3
},
{
"matrix": [9, 2],
"x": 13,
"y": 3
},
{
"matrix": [9, 3],
"x": 14,
"y": 3
},
{
"matrix": [9, 4],
"x": 15,
"y": 3
},
{
"matrix": [9, 5],
"x": 16,
"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": [10, 2],
"x": 13,
"y": 4
},
{
"matrix": [10, 3],
"x": 14,
"y": 4
},
{
"matrix": [10, 4],
"x": 15,
"y": 4
},
{
"matrix": [10, 5],
"x": 16,
"y": 4
},
{
"matrix": [4, 4],
"x": 4,
"y": 5
},
{
"matrix": [4, 5],
"x": 5,
"y": 5
},
{
"matrix": [10, 0],
"x": 11,
"y": 5
},
{
"matrix": [10, 1],
"x": 12,
"y": 5
},
{
"matrix": [5, 4],
"x": 6,
"y": 6
},
{
"matrix": [5, 5],
"x": 7,
"y": 6
},
{
"matrix": [11, 0],
"x": 9,
"y": 6
},
{
"matrix": [11, 1],
"x": 10,
"y": 6
},
{
"matrix": [5, 2],
"x": 6,
"y": 7
},
{
"matrix": [5, 3],
"x": 7,
"y": 7
},
{
"matrix": [11, 2],
"x": 9,
"y": 7
},
{
"matrix": [11, 3],
"x": 10,
"y": 7
}
] ]
} }
} }

View File

@ -0,0 +1,9 @@
// Copyright 2023 Kostas Pagratis (@kpagratis)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define SPLIT_USB_DETECT
#define TAPPING_TERM 250
#define TAPPING_TOGGLE 2

View File

@ -0,0 +1,80 @@
// Copyright 2026 Gemini Adaptive AI & Your Build
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum custom_layers {
_NEO, // Ebene 0: Basis 1: Neo2 Hauptlayout
_QWERTY, // Ebene 1: Basis 2: QWERTY/QWERTZ
_LOWER, // Ebene 3: Sonderzeichen
_RAISE, // Ebene 4: Navigation & Nummernblock
_EXTRA, // Ebene 5: Media & Boot
};
// Aliase für bessere Lesbarkeit
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define EXTRA TT(_EXTRA)
#define QWERTY DF(_QWERTY)
#define NEO DF(_NEO)
#define EE_HANDS
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NEO] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
KC_TAB, KC_X, KC_V, KC_L, KC_C, KC_W, KC_K, KC_H, KC_G, KC_F, KC_Q, KC_MINS,
KC_CAPS, KC_U, KC_I, KC_A, KC_E, KC_O, KC_S, KC_N, KC_R, KC_T, KC_D, KC_Z,
KC_LSFT, KC_LBRC, KC_SCLN, KC_QUOT, KC_P, KC_Y, KC_B, KC_M, KC_COMM, KC_DOT, KC_J, KC_RSFT,
KC_LCTL, KC_LALT, KC_NUBS, KC_NO, QWERTY, EXTRA, KC_RALT, KC_RGUI,
LOWER, KC_BSPC, RAISE, KC_SPC,
KC_LGUI, KC_DEL, KC_RGUI, KC_ENTER,
KC_LSFT, KC_LCTL, KC_RCTL, KC_RSFT
),
[_QWERTY] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
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_CAPS, 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_LCTL, KC_LALT, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_RALT, KC_RCTL,
LOWER, KC_BSPC, RAISE, KC_SPC,
KC_LGUI, KC_DEL, KC_RGUI, KC_ENTER,
KC_PGUP, NEO, KC_RGUI, KC_PGDN
),
[_LOWER] = LAYOUT(
KC_GRV, 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, LSFT(KC_SLSH), RALT(KC_8), RALT(KC_9), KC_GRV, KC_EXLM, KC_NUBS, LSFT(KC_NUBS), LSFT(KC_0), LSFT(KC_7), KC_TRNS,
KC_TRNS, RALT(KC_MINS), KC_AMPR, RALT(KC_7), RALT(KC_0), LSFT(KC_RBRC), KC_UNDS, KC_ASTR, KC_LPRN, KC_SLSH, KC_GT, RALT(KC_Q),
KC_TRNS, KC_BSLS, KC_DLR, RALT(KC_NUBS), RALT(KC_RBRC), KC_PLUS, KC_RBRC, KC_PERC, KC_AT, KC_PIPE, KC_LT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LOWER, 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
),
[_RAISE] = LAYOUT(
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_TRNS, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PAST,
KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_INS, KC_TRNS, KC_DOT, KC_P1, KC_P2, KC_P3, KC_PCMM, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PEQL, KC_P0, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT
),
[_EXTRA] = LAYOUT(
QK_BOOT, KC_TRNS, KC_TRNS, MS_WHLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, MS_WHLL, MS_WHLD, MS_WHLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EXTRA, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, MS_BTN1,
KC_TRNS, MS_BTN3, KC_TRNS, MS_BTN2,
MS_BTN2, MS_BTN1, KC_TRNS, KC_TRNS
),
};