summaryrefslogtreecommitdiff
path: root/keyboards/handwired
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2025-09-11 08:42:59 +0000
committerQMK Bot <hello@qmk.fm>2025-09-11 08:42:59 +0000
commit494a691f4cd4cb46668a02c444101003ce3bc2c7 (patch)
tree392931a6888d4e149c173beb45f12de238cc4bbc /keyboards/handwired
parentf8d677af88eb5bcfc061ef1c3ec1d4cf0d8c3d57 (diff)
parentbef5c95675c2727d0e5ecf4108a2e379647074dc (diff)
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/handwired')
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7_2_6/config.h20
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7_2_6/keyboard.json115
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7_2_6/keymaps/default/keymap.c74
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7_2_6/readme.md29
4 files changed, 238 insertions, 0 deletions
diff --git a/keyboards/handwired/dactyl_manuform/5x7_2_6/config.h b/keyboards/handwired/dactyl_manuform/5x7_2_6/config.h
new file mode 100644
index 0000000000..ce536e2d00
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x7_2_6/config.h
@@ -0,0 +1,20 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com> Nikolai Grigoriev @ngrigoriev
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define EE_HANDS
diff --git a/keyboards/handwired/dactyl_manuform/5x7_2_6/keyboard.json b/keyboards/handwired/dactyl_manuform/5x7_2_6/keyboard.json
new file mode 100644
index 0000000000..7e41ff0083
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x7_2_6/keyboard.json
@@ -0,0 +1,115 @@
1{
2 "manufacturer": "Nikolai Grigoriev",
3 "keyboard_name": "Dactyl Manuform 5x7 2-key last row 6-key thumb cluster",
4 "maintainer": "ngrigoriev",
5 "build": {
6 "lto": true
7 },
8 "development_board": "promicro",
9 "diode_direction": "COL2ROW",
10 "features": {
11 "bootmagic": false,
12 "nkro": true
13 },
14 "matrix_pins": {
15 "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"],
16 "rows": ["D4", "C6", "D7", "E6", "B4", "B5"]
17 },
18 "qmk": {
19 "locking": {
20 "enabled": true,
21 "resync": true
22 }
23 },
24 "split": {
25 "enabled": true,
26 "transport": {
27 "protocol": "i2c"
28 },
29 "usb_detect": {
30 "enabled": true
31 }
32 },
33 "url": "https://github.com/ngrigoriev/dactyl-manuform-5x7_2_6",
34 "usb": {
35 "device_version": "1.0.0",
36 "pid": "0x0000",
37 "vid": "0xFEED"
38 },
39 "layouts": {
40 "LAYOUT_5x7_2_6": {
41 "layout": [
42 {"label": "KC_GRV", "matrix": [0, 0], "x": 0, "y": 0.5, "w": 1.5},
43 {"label": "KC_1", "matrix": [0, 1], "x": 1.5, "y": 0.5},
44 {"label": "KC_2", "matrix": [0, 2], "x": 2.5, "y": 0},
45 {"label": "KC_3", "matrix": [0, 3], "x": 3.5, "y": 0},
46 {"label": "KC_4", "matrix": [0, 4], "x": 4.5, "y": 0},
47 {"label": "KC_5", "matrix": [0, 5], "x": 5.5, "y": 0},
48 {"label": "KC_NO", "matrix": [0, 6], "x": 6.5, "y": 0},
49 {"label": "KC_EQL", "matrix": [6, 0], "x": 12, "y": 0},
50 {"label": "KC_6", "matrix": [6, 1], "x": 13, "y": 0},
51 {"label": "KC_7", "matrix": [6, 2], "x": 14, "y": 0},
52 {"label": "KC_8", "matrix": [6, 3], "x": 15, "y": 0},
53 {"label": "KC_9", "matrix": [6, 4], "x": 16, "y": 0},
54 {"label": "KC_0", "matrix": [6, 5], "x": 17, "y": 0.5},
55 {"label": "KC_BSPC", "matrix": [6, 6], "x": 18, "y": 0.5, "w": 1.5},
56 {"label": "KC_TAB", "matrix": [1, 0], "x": 0, "y": 1.5, "w": 1.5},
57 {"label": "KC_Q", "matrix": [1, 1], "x": 1.5, "y": 1.5},
58 {"label": "KC_W", "matrix": [1, 2], "x": 2.5, "y": 1},
59 {"label": "KC_E", "matrix": [1, 3], "x": 3.5, "y": 1},
60 {"label": "KC_R", "matrix": [1, 4], "x": 4.5, "y": 1},
61 {"label": "KC_T", "matrix": [1, 5], "x": 5.5, "y": 1},
62 {"label": "KC_NO", "matrix": [1, 6], "x": 6.5, "y": 1},
63 {"label": "KC_MINUS", "matrix": [7, 0], "x": 12, "y": 1},
64 {"label": "KC_Y", "matrix": [7, 1], "x": 13, "y": 1},
65 {"label": "KC_U", "matrix": [7, 2], "x": 14, "y": 1},
66 {"label": "KC_I", "matrix": [7, 3], "x": 15, "y": 1},
67 {"label": "KC_O", "matrix": [7, 4], "x": 16, "y": 1},
68 {"label": "KC_P", "matrix": [7, 5], "x": 17, "y": 1.5},
69 {"label": "KC_BSLS", "matrix": [7, 6], "x": 18, "y": 1.5, "w": 1.5},
70 {"label": "KC_LCTL", "matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5},
71 {"label": "KC_A", "matrix": [2, 1], "x": 1.5, "y": 2.5},
72 {"label": "KC_S", "matrix": [2, 2], "x": 2.5, "y": 2},
73 {"label": "KC_D", "matrix": [2, 3], "x": 3.5, "y": 2},
74 {"label": "KC_F", "matrix": [2, 4], "x": 4.5, "y": 2},
75 {"label": "KC_G", "matrix": [2, 5], "x": 5.5, "y": 2},
76 {"label": "KC_NO", "matrix": [2, 6], "x": 6.5, "y": 2},
77 {"label": "KC_DEL", "matrix": [8, 0], "x": 12, "y": 2},
78 {"label": "KC_H", "matrix": [8, 1], "x": 13, "y": 2},
79 {"label": "KC_J", "matrix": [8, 2], "x": 14, "y": 2},
80 {"label": "KC_K", "matrix": [8, 3], "x": 15, "y": 2},
81 {"label": "KC_L", "matrix": [8, 4], "x": 16, "y": 2},
82 {"label": "KC_SCLN", "matrix": [8, 5], "x": 17, "y": 2.5},
83 {"label": "KC_RSFT", "matrix": [8, 6], "x": 18, "y": 2.5, "w": 1.5},
84 {"label": "KC_LSFT", "matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.5},
85 {"label": "KC_Z", "matrix": [3, 1], "x": 1.5, "y": 3.5},
86 {"label": "KC_X", "matrix": [3, 2], "x": 2.5, "y": 3},
87 {"label": "KC_C", "matrix": [3, 3], "x": 3.5, "y": 3},
88 {"label": "KC_V", "matrix": [3, 4], "x": 4.5, "y": 3},
89 {"label": "KC_B", "matrix": [3, 5], "x": 5.5, "y": 3},
90 {"label": "KC_N", "matrix": [9, 1], "x": 13, "y": 3},
91 {"label": "KC_M", "matrix": [9, 2], "x": 14, "y": 3},
92 {"label": "KC_COMM", "matrix": [9, 3], "x": 15, "y": 3},
93 {"label": "KC_DOT", "matrix": [9, 4], "x": 16, "y": 3},
94 {"label": "KC_SLSH", "matrix": [9, 5], "x": 17, "y": 3.5},
95 {"label": "KC_RSFT", "matrix": [9, 6], "x": 18, "y": 3.5, "w": 1.5},
96 {"label": "KC_PGUP", "matrix": [4, 2], "x": 2.5, "y": 4},
97 {"label": "KC_PGDN", "matrix": [4, 3], "x": 3.5, "y": 4},
98 {"label": "KC_LBRC", "matrix": [10, 3], "x": 15, "y": 4},
99 {"label": "KC_RBRC", "matrix": [10, 4], "x": 16, "y": 4},
100 {"label": "KC_LCTL", "matrix": [4, 4], "x": 5, "y": 5, "h": 1.5, "r": 30},
101 {"label": "KC_ESC", "matrix": [4, 5], "x": 6, "y": 5, "h": 1.5, "r": 30},
102 {"label": "KC_ENTER", "matrix": [10, 1], "x": 12.5, "y": 5, "h": 1.5, "r": -30},
103 {"label": "KC_SPC", "matrix": [10, 2], "x": 13.5, "y": 5, "h": 1.5, "r": -30},
104 {"label": "KC_UP", "matrix": [5, 5], "x": 7.5, "y": 6.5, "r": 45},
105 {"label": "KC_DOWN", "matrix": [5, 3], "x": 8, "y": 7.5, "r": 45},
106 {"label": "KC_LEFT", "matrix": [11, 3], "x": 10.5, "y": 7.5, "r": -45},
107 {"label": "KC_RIGHT", "matrix": [11, 1], "x": 11, "y": 6.5, "r": -45},
108 {"label": "KC_LCMD", "matrix": [5, 4], "x": 6.5, "y": 7, "r": 45},
109 {"label": "KC_LALT", "matrix": [5, 2], "x": 7, "y": 8, "r": 45},
110 {"label": "KC_RCTL", "matrix": [11, 4], "x": 11.5, "y": 8, "r": -45},
111 {"label": "KC_RALT", "matrix": [11, 2], "x": 12, "y": 7, "r": -45}
112 ]
113 }
114 }
115}
diff --git a/keyboards/handwired/dactyl_manuform/5x7_2_6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x7_2_6/keymaps/default/keymap.c
new file mode 100644
index 0000000000..5ad2f77bad
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x7_2_6/keymaps/default/keymap.c
@@ -0,0 +1,74 @@
1/* vim: noai:ts=4:sw=4:nowrap
2*/
3/*
4Copyright 2012 Jun Wako <wakojun@gmail.com> Nikolai Grigoriev @ngrigoriev
5
6This program is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation, either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#include QMK_KEYBOARD_H
21
22enum layers {
23 _BASE,
24 _MAGIC,
25 _NUMPAD,
26 _FN
27};
28
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 [_BASE] = LAYOUT_5x7_2_6(
31 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, MO(_MAGIC), KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
32 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(_NUMPAD), KC_MINUS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
33 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, _______, KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
34 OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT),
35 KC_PGUP, KC_PGDN, KC_LBRC, KC_RBRC,
36 KC_LCTL, LT(_FN, KC_ESC), KC_ENTER,KC_SPC,
37 KC_UP, KC_DOWN, KC_LEFT, KC_RIGHT,
38 KC_LCMD, KC_LALT, KC_RCTL, KC_RALT
39 ),
40
41 [_FN] = LAYOUT_5x7_2_6(
42 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, MO(_MAGIC), _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
43 _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F12,
44 _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 KC_MPRV, KC_MNXT, _______, _______,
47 _______, _______, KC_DEL, _______,
48 _______, _______, _______, _______,
49 _______, _______, _______, _______
50 ),
51
52 [_NUMPAD] = LAYOUT_5x7_2_6(
53 _______, _______, _______, _______, _______, _______, MO(_MAGIC), _______, _______, KC_NUM, _______, KC_PMNS, KC_PPLS, _______,
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
55 _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
56 _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
57 _______, _______, KC_P0, KC_PDOT,
58 _______, _______, _______, KC_PENT,
59 _______, _______, _______, _______,
60 _______, _______, _______, _______
61 ),
62
63 [_MAGIC] = LAYOUT_5x7_2_6(
64 _______, _______, _______, _______, _______, _______, _______, CG_SWAP, _______, _______, _______, _______, _______, QK_REBOOT,
65 _______, _______, _______, _______, _______, _______, _______, CG_NORM, _______, _______, _______, _______, _______, _______,
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOTLOADER,
67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
68 _______, _______, _______, _______,
69 _______, _______, _______, _______,
70 _______, _______, _______, _______,
71 _______, _______, _______, _______
72 )
73};
74
diff --git a/keyboards/handwired/dactyl_manuform/5x7_2_6/readme.md b/keyboards/handwired/dactyl_manuform/5x7_2_6/readme.md
new file mode 100644
index 0000000000..e29bbeb8ce
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x7_2_6/readme.md
@@ -0,0 +1,29 @@
1# handwired/dactyl_manuform/5x7_2_6
2
3![keyboad_image](https://i.ibb.co/09tfjY0/kbpic-small-21.jpg)
4
5A standard Dactyl Manuform keyboard with 5x7 matrix, 6 thumb cluster keys. Last row has 2 keys only. Index column has 3 rows. The outer keys are 1,5u wide. [More info on https://github.com/ngrigoriev/dactyl-manuform-5x7_2_6](https://github.com/ngrigoriev/dactyl-manuform-5x7_2_6). Based on the original set of Dactyl Manuform keyboards created and maintaied by [Jack Humbert](https://github.com/jackhumbert).
6
7This keyboard can be generated using one of Dactyl Manuform generators, such as (https://dactyl.mbugert.de/manuform).
8
9* Keyboard Maintainer: [Nikolai Grigoriev](https://github.com/ngrigoriev)
10* Hardware Supported: Promicro
11* Hardware Availability: general DIY
12
13Make example for this keyboard (after setting up your build environment):
14
15 make handwired/dactyl_manuform/5x7_2_6:default
16
17Flashing example for this keyboard:
18
19 make handwired/dactyl_manuform/5x7_2_6:default:flash
20
21See the [build environment setup](getting_started_build_tools) and the [make instructions](getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](newbs).
22
23## Bootloader
24
25Enter the bootloader in 3 ways:
26
27* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
28* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
29* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available