From b444e8298511ac53257b4a02973f2a82a6220a57 Mon Sep 17 00:00:00 2001 From: kpagratis Date: Fri, 10 Feb 2023 10:28:39 -0700 Subject: [PATCH] [Keyboard] Add Dactyl 6x5 68 keys (#18679) --- .../dactyl_manuform/5x6_68/info.json | 98 +++++++++++++++++++ .../5x6_68/keymaps/default/config.h | 9 ++ .../5x6_68/keymaps/default/keymap.c | 43 ++++++++ .../dactyl_manuform/5x6_68/readme.md | 5 + .../handwired/dactyl_manuform/5x6_68/rules.mk | 13 +++ 5 files changed, 168 insertions(+) create mode 100644 keyboards/handwired/dactyl_manuform/5x6_68/info.json create mode 100644 keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/5x6_68/readme.md create mode 100644 keyboards/handwired/dactyl_manuform/5x6_68/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/info.json b/keyboards/handwired/dactyl_manuform/5x6_68/info.json new file mode 100644 index 0000000000..efa9a11aef --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_68/info.json @@ -0,0 +1,98 @@ +{ + "keyboard_name": "Dactyl-Manuform (5x6) 68 Keys", + "manufacturer": "kpagratis", + "url": "", + "maintainer": "kpagratis", + "bootloader": "caterina", + "processor": "atmega32u4", + "usb": { + "vid": "0xFEED", + "pid": "0x0016", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F6", "F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "ROW2COL", + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0, "matrix": [0,0]}, + {"x": 1, "y": 0, "matrix": [0,1]}, + {"x": 2, "y": 0, "matrix": [0,2]}, + {"x": 3, "y": 0, "matrix": [0,3]}, + {"x": 4, "y": 0, "matrix": [0,4]}, + {"x": 5, "y": 0, "matrix": [0,5]}, + {"x": 14, "y": 0, "matrix": [6,0]}, + {"x": 15, "y": 0, "matrix": [6,1]}, + {"x": 16, "y": 0, "matrix": [6,2]}, + {"x": 17, "y": 0, "matrix": [6,3]}, + {"x": 18, "y": 0, "matrix": [6,4]}, + {"x": 19, "y": 0, "matrix": [6,5]}, + + {"x": 0, "y": 1, "matrix": [1,0]}, + {"x": 1, "y": 1, "matrix": [1,1]}, + {"x": 2, "y": 1, "matrix": [1,2]}, + {"x": 3, "y": 1, "matrix": [1,3]}, + {"x": 4, "y": 1, "matrix": [1,4]}, + {"x": 5, "y": 1, "matrix": [1,5]}, + {"x": 14, "y": 1, "matrix": [7,0]}, + {"x": 15, "y": 1, "matrix": [7,1]}, + {"x": 16, "y": 1, "matrix": [7,2]}, + {"x": 17, "y": 1, "matrix": [7,3]}, + {"x": 18, "y": 1, "matrix": [7,4]}, + {"x": 19, "y": 1, "matrix": [7,5]}, + + {"x": 0, "y": 2, "matrix": [2,0]}, + {"x": 1, "y": 2, "matrix": [2,1]}, + {"x": 2, "y": 2, "matrix": [2,2]}, + {"x": 3, "y": 2, "matrix": [2,3]}, + {"x": 4, "y": 2, "matrix": [2,4]}, + {"x": 5, "y": 2, "matrix": [2,5]}, + {"x": 14, "y": 2, "matrix": [8,0]}, + {"x": 15, "y": 2, "matrix": [8,1]}, + {"x": 16, "y": 2, "matrix": [8,2]}, + {"x": 17, "y": 2, "matrix": [8,3]}, + {"x": 18, "y": 2, "matrix": [8,4]}, + {"x": 19, "y": 2, "matrix": [8,5]}, + + {"x": 0, "y": 3, "matrix": [3,0]}, + {"x": 1, "y": 3, "matrix": [3,1]}, + {"x": 2, "y": 3, "matrix": [3,2]}, + {"x": 3, "y": 3, "matrix": [3,3]}, + {"x": 4, "y": 3, "matrix": [3,4]}, + {"x": 5, "y": 3, "matrix": [3,5]}, + {"x": 14, "y": 3, "matrix": [9,0]}, + {"x": 15, "y": 3, "matrix": [9,1]}, + {"x": 16, "y": 3, "matrix": [9,2]}, + {"x": 17, "y": 3, "matrix": [9,3]}, + {"x": 18, "y": 3, "matrix": [9,4]}, + {"x": 19, "y": 3, "matrix": [9,5]}, + + {"x": 0, "y": 4, "matrix": [4,0]}, + {"x": 1, "y": 4, "matrix": [4,1]}, + {"x": 2, "y": 4, "matrix": [4,2]}, + {"x": 3, "y": 4, "matrix": [4,3]}, + {"x": 16, "y": 4, "matrix": [10,2]}, + {"x": 17, "y": 4, "matrix": [10,3]}, + {"x": 18, "y": 4, "matrix": [10,4]}, + {"x": 19, "y": 4, "matrix": [10,5]}, + + {"x": 5, "y": 5, "matrix": [5,0]}, + {"x": 6, "y": 5, "matrix": [5,1]}, + {"x": 7, "y": 5, "matrix": [5,2]}, + {"x": 13, "y": 5, "matrix": [11,0]}, + {"x": 14, "y": 5, "matrix": [11,1]}, + {"x": 15, "y": 5, "matrix": [11,2]}, + + {"x": 5, "y": 6, "matrix": [5,3]}, + {"x": 6, "y": 6, "matrix": [5,4]}, + {"x": 7, "y": 6, "matrix": [5,5]}, + {"x": 13, "y": 6, "matrix": [11,3]}, + {"x": 14, "y": 6, "matrix": [11,4]}, + {"x": 15, "y": 6, "matrix": [11,5]} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/config.h new file mode 100644 index 0000000000..44fe0587fc --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/config.h @@ -0,0 +1,9 @@ +// Copyright 2023 Kostas Pagratis (@kpagratis) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + + +#define SPLIT_USB_DETECT +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_TERM 250 diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c new file mode 100644 index 0000000000..20699ed2e1 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_68/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +// Copyright 2023 Kostas Pagratis (@kpagratis) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _QWERTY, + _LAYER2, +}; + +#define GUI_J RGUI_T(KC_J) +#define GUI_F LGUI_T(KC_F) +#define SFT_A LSFT_T(KC_A) +#define CTL_S LCTL_T(KC_S) +#define ALT_D LALT_T(KC_D) +#define ALT_K RALT_T(KC_K) +#define CTL_L RCTL_T(KC_L) +#define SFT_SC RSFT_T(KC_SCLN) +#define IMPORTS LALT(LCTL(KC_O)) //Intellij Organize Imports +#define LINES LALT(LGUI(KC_L)) //Intellij Reformat Code +#define USAGES LALT(KC_F7) //Intelllj Find Usages +#define RENAME LSFT(KC_F6) //Intellij Refactor Rename + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_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_MINS, + 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_ESC , SFT_A , CTL_S , ALT_D , GUI_F , KC_G , KC_H , GUI_J , ALT_K , CTL_L , SFT_SC , 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_GRV , KC_INS , KC_LEFT, KC_RGHT, KC_DOWN, KC_UP , KC_LBRC, KC_RBRC, + KC_LCTL, KC_LALT, KC_HOME, KC_DEL , KC_PGUP, KC_BSPC, + KC_SPC , KC_DEL , KC_END , MO(_LAYER2), KC_PGDN, KC_ENT + ), + [_LAYER2] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, + XXXXXXX, IMPORTS, XXXXXXX, USAGES , RENAME , XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, + XXXXXXX, LINES , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, _______,XXXXXXX, XXXXXXX + ) +}; diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/readme.md b/keyboards/handwired/dactyl_manuform/5x6_68/readme.md new file mode 100644 index 0000000000..69f68bbfb8 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_68/readme.md @@ -0,0 +1,5 @@ +# Dactyl Manuform + +This is a 5x6 manuform with a 4 key bottom row and 6 key thumb clusters. + +This results in a 68 key 5x6 \ No newline at end of file diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_68/rules.mk new file mode 100644 index 0000000000..5ef0d2fdb9 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_68/rules.mk @@ -0,0 +1,13 @@ +# 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 = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes