From f5366462353f0a14417dd9ee8feae6907f611bcc Mon Sep 17 00:00:00 2001 From: adam tombleson Date: Thu, 12 Oct 2023 08:37:28 +0300 Subject: [PATCH] Add 62 key Dactyl Manuform (#21394) Co-authored-by: Duncan Sutherland --- .../dactyl_manuform/4x6_4_3/info.json | 111 ++++++++++++++++++ .../4x6_4_3/keymaps/default/config.h | 23 ++++ .../4x6_4_3/keymaps/default/keymap.c | 43 +++++++ .../dactyl_manuform/4x6_4_3/readme.md | 9 ++ .../dactyl_manuform/4x6_4_3/rules.mk | 1 + 5 files changed, 187 insertions(+) create mode 100644 keyboards/handwired/dactyl_manuform/4x6_4_3/info.json create mode 100644 keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/config.h create mode 100644 keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/4x6_4_3/readme.md create mode 100644 keyboards/handwired/dactyl_manuform/4x6_4_3/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/info.json b/keyboards/handwired/dactyl_manuform/4x6_4_3/info.json new file mode 100644 index 000000000000..60830dbf80af --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/info.json @@ -0,0 +1,111 @@ +{ + "keyboard_name": "Dactyl-Manuform (4x6 + 4 and 3 for thumbs)", + "manufacturer": "joshreve", + "url": "https://github.com/joshreve/dactyl-keyboard", + "maintainer": "rek", + "usb": { + "vid": "0x444D", + "pid": "0x3536", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "ws2812": { + "pin": "D3" + }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F6", "F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "soft_serial_pin": "D0" + }, + "development_board": "promicro", + "layouts": { + "LAYOUT": { + "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + {"matrix": [6, 4], "x": 15, "y": 0}, + {"matrix": [6, 5], "x": 16, "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": [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": 11, "y": 4}, + {"matrix": [10, 3], "x": 12, "y": 4}, + {"matrix": [10, 4], "x": 13, "y": 4}, + {"matrix": [10, 5], "x": 14, "y": 4}, + + {"matrix": [5, 3], "x": 3, "y": 5}, + {"matrix": [5, 4], "x": 4, "y": 5}, + {"matrix": [5, 5], "x": 5, "y": 5}, + + {"matrix": [11, 0], "x": 14, "y": 5}, + {"matrix": [11, 1], "x": 15, "y": 5}, + {"matrix": [11, 2], "x": 16, "y": 5} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/config.h new file mode 100644 index 000000000000..4d83c191f3c1 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#pragma once + +#define MASTER_LEFT +//#define MASTER_RIGHT + +//#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/keymap.c new file mode 100644 index 000000000000..d8fe94a59bfd --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +// Copyright 2023 Adam Tombleson (@rekarnar) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +enum layer_names { + _BASE, + _RAISE, + _LOWER +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, + 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_BSLS, + KC_LCTL , KC_TAB , KC_LSFT, KC_LALT, KC_COMMA,KC_DOT , KC_LBRC , KC_RBRC , + LOWER, KC_SPC , KC_BSPC, RAISE , KC_ENT , KC_DEL + ), + + [_LOWER] = LAYOUT( + _______ , KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL, + QK_BOOT , _______, _______, _______, _______, _______, _______, _______ , _______ , _______ , KC_TILD , KC_PLUS, + _______ , KC_HOME, KC_PGUP, KC_PGDN, KC_END , _______, _______, KC_LEFT , KC_UP , KC_DOWN , KC_RGHT , KC_PIPE, + _______ , _______, _______, _______, _______, _______, _______, _______ , _______ , _______ , KC_EQL , KC_UNDS, + _______ , _______, _______, _______, KC_TILD, _______ , KC_LPRN , KC_RPRN , + _______, KC_LGUI, LALT(KC_PSCR), C(S(KC_LEFT)), KC_GRAVE, C(S(KC_RIGHT)) + + ), + + [_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_HOME , KC_PGUP , KC_PGDN , KC_END , _______, + _______ , _______,_______ , _______, _______, _______, _______, _______ , _______ , _______ , _______ , _______, + _______ , _______,_______ , _______, _______, _______ , _______ , LALT(KC_TAB), + KC_VOLD, KC_MUTE, KC_VOLU, _______, _______ , _______ + ) +}; diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/readme.md b/keyboards/handwired/dactyl_manuform/4x6_4_3/readme.md new file mode 100644 index 000000000000..c3574c52bb8f --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/readme.md @@ -0,0 +1,9 @@ +# Dactyl-Manuform (4x6 + 4 and 3 for thumbs) + +This is a 4x6 manuform with a 4 key bottom row and 3 key thumb clusters. + +The result is a 62 key layout. + +## Description + +* Keyboard Maintainer: https://github.com/joshreve/dactyl-keyboard diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/rules.mk b/keyboards/handwired/dactyl_manuform/4x6_4_3/rules.mk new file mode 100644 index 000000000000..3bbd2614291a --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/rules.mk @@ -0,0 +1 @@ +# File intentionally blank