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

[Keyboard] Add Dactyl 6x5 68 keys #18679

Merged
merged 19 commits into from
Feb 10, 2023
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
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
1 change: 1 addition & 0 deletions keyboards/handwired/dactyl_manuform/5x6_68/5x6_68.c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "5x6_68.h"
waffle87 marked this conversation as resolved.
Show resolved Hide resolved
63 changes: 63 additions & 0 deletions keyboards/handwired/dactyl_manuform/5x6_68/5x6_68.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#pragma once
waffle87 marked this conversation as resolved.
Show resolved Hide resolved

#include "quantum.h"

#define XXX KC_NO

#define LAYOUT_5x6_68( \
L00, L01, L02, L03, L04, L05, \
L10, L11, L12, L13, L14, L15, \
L20, L21, L22, L23, L24, L25, \
L30, L31, L32, L33, L34, L35, \
L40, L41, L42, L43, \
L50, L51, L52, \
L53, L54, L55, \
\
R00, R01, R02, R03, R04, R05, \
R10, R11, R12, R13, R14, R15, \
R20, R21, R22, R23, R24, R25, \
R30, R31, R32, R33, R34, R35, \
R42, R43, R44, R45, \
R50, R51, R52, \
R53, R54, R55 \
) { \
{ L00, L01, L02, L03, L04, L05 }, \
{ L10, L11, L12, L13, L14, L15 }, \
{ L20, L21, L22, L23, L24, L25 }, \
{ L30, L31, L32, L33, L34, L35 }, \
{ L40, L41, L42, L43, XXX, XXX }, \
{ L50, L51, L52, L53, L54, L55 }, \
\
{ R00, R01, R02, R03, R04, R05 }, \
{ R10, R11, R12, R13, R14, R15 }, \
{ R20, R21, R22, R23, R24, R25 }, \
{ R30, R31, R32, R33, R34, R35 }, \
{ XXX, XXX, R42, R43, R44, R45 }, \
{ R50, R51, R52, R53, R54, R55 } \
}

/*
#define LAYOUT_5x6_68_PRETTY( \
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
L40, L41, L42, L43, R42, R43, R44, R45, \
L50, L51, L52, R50, R51, R52, \
L53, L54, L55, R53, R54, R55 \
) { \
{ L00, L01, L02, L03, L04, L05 }, \
{ L10, L11, L12, L13, L14, L15 }, \
{ L20, L21, L22, L23, L24, L25 }, \
{ L30, L31, L32, L33, L34, L35 }, \
{ L40, L41, L42, L43, XXX, XXX }, \
{ L50, L51, L52, L53, L54, L55 }, \
\
{ R00, R01, R02, R03, R04, R05 }, \
{ R10, R11, R12, R13, R14, R15 }, \
{ R20, R21, R22, R23, R24, R25 }, \
{ R30, R31, R32, R33, R34, R35 }, \
{ XXX, XXX, R42, R43, R44, R45 }, \
{ R50, R51, R52, R53, R54, R55 } \
}
*/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file should be deleted (assuming the matrix data in info.json file is correct)

46 changes: 46 additions & 0 deletions keyboards/handwired/dactyl_manuform/5x6_68/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert

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 <http://www.gnu.org/licenses/>.
*/

#pragma once

#include "config_common.h"

/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 12
#define MATRIX_COLS 6

// wiring of each half
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION ROW2COL
#define USE_SERIAL
#define SOFT_SERIAL_PIN D0
#define SPLIT_USB_DETECT
kpagratis marked this conversation as resolved.
Show resolved Hide resolved

drashna marked this conversation as resolved.
Show resolved Hide resolved

// WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN D3
#define RGBLED_NUM 12

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST

/* number of backlight levels */
// #define BACKLIGHT_LEVELS 3
86 changes: 86 additions & 0 deletions keyboards/handwired/dactyl_manuform/5x6_68/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{
"keyboard_name": "Dactyl-Manuform (5x6) 68 Keys",
"manufacturer": "kpagratis",
"url": "",
"maintainer": "kpagratis",
"usb": {
"vid": "0xFEED",
"pid": "0x0016",
"device_version": "0.0.1"
},
waffle87 marked this conversation as resolved.
Show resolved Hide resolved
"layouts": {
"LAYOUT_5x6_68": {
"layout": [
{"x": 0, "y": 0, "matrix": [0,0]},
{"x": 1, "y": 0, "matrix": [1,0]},
{"x": 2, "y": 0, "matrix": [2,0]},
{"x": 3, "y": 0, "matrix": [3,0]},
{"x": 4, "y": 0, "matrix": [4,0]},
{"x": 5, "y": 0, "matrix": [5,0]},
{"x": 10, "y": 0, "matrix": [6,0]},
{"x": 11, "y": 0, "matrix": [7,0]},
{"x": 12, "y": 0, "matrix": [8,0]},
{"x": 13, "y": 0, "matrix": [9,0]},
{"x": 14, "y": 0, "matrix": [10,0]},
{"x": 15, "y": 0, "matrix": [11,0]},
{"x": 0, "y": 1, "matrix": [0,1]},
{"x": 1, "y": 1, "matrix": [1,1]},
{"x": 2, "y": 1, "matrix": [2,1]},
{"x": 3, "y": 1, "matrix": [3,1]},
{"x": 4, "y": 1, "matrix": [4,1]},
{"x": 5, "y": 1, "matrix": [5,1]},
{"x": 10, "y": 1, "matrix": [6,1]},
{"x": 11, "y": 1, "matrix": [7,1]},
{"x": 12, "y": 1, "matrix": [8,1]},
{"x": 13, "y": 1, "matrix": [9,1]},
{"x": 14, "y": 1, "matrix": [10,1]},
{"x": 15, "y": 1, "matrix": [11,1]},
{"x": 0, "y": 2, "matrix": [0,2]},
{"x": 1, "y": 2, "matrix": [1,2]},
{"x": 2, "y": 2, "matrix": [2,2]},
{"x": 3, "y": 2, "matrix": [3,2]},
{"x": 4, "y": 2, "matrix": [4,2]},
{"x": 5, "y": 2, "matrix": [5,2]},
{"x": 10, "y": 2, "matrix": [6,2]},
{"x": 11, "y": 2, "matrix": [7,2]},
{"x": 12, "y": 2, "matrix": [8,2]},
{"x": 13, "y": 2, "matrix": [9,2]},
{"x": 14, "y": 2, "matrix": [10,2]},
{"x": 15, "y": 2, "matrix": [11,2]},
{"x": 0, "y": 3, "matrix": [0,3]},
{"x": 1, "y": 3, "matrix": [1,3]},
{"x": 2, "y": 3, "matrix": [2,3]},
{"x": 3, "y": 3, "matrix": [3,3]},
{"x": 4, "y": 3, "matrix": [4,3]},
{"x": 5, "y": 3, "matrix": [5,3]},
{"x": 10, "y": 3, "matrix": [6,3]},
{"x": 11, "y": 3, "matrix": [7,3]},
{"x": 12, "y": 3, "matrix": [8,3]},
{"x": 13, "y": 3, "matrix": [9,3]},
{"x": 14, "y": 3, "matrix": [10,3]},
{"x": 15, "y": 3, "matrix": [11,3]},
{"x": 0, "y": 4, "matrix": [0,4]},
{"x": 1, "y": 4, "matrix": [1,4]},
{"x": 2, "y": 4, "matrix": [2,4]},
{"x": 3, "y": 4, "matrix": [3,4]},
{"x": 12, "y": 4, "matrix": [4,4]},
{"x": 13, "y": 4, "matrix": [5,4]},
{"x": 14, "y": 4, "matrix": [6,4]},
{"x": 15, "y": 4, "matrix": [7,4]},

{"x": 4, "y": 6, "matrix": [0,5]},
{"x": 5, "y": 6, "matrix": [1,5]},
{"x": 6, "y": 6, "matrix": [2,5]},
{"x": 9, "y": 6, "matrix": [3,5]},
{"x": 10, "y": 6, "matrix": [4,5]},
{"x": 11, "y": 6, "matrix": [5,5]},
{"x": 4, "y": 7, "matrix": [6,5]},
{"x": 5, "y": 7, "matrix": [7,5]},
{"x": 6, "y": 7, "matrix": [8,5]},
{"x": 9, "y": 7, "matrix": [9,5]},
{"x": 10, "y": 7, "matrix": [10,5]},
{"x": 11, "y": 7, "matrix": [11,5]}
]
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>

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 <http://www.gnu.org/licenses/>.
*/

#pragma once


#define MASTER_LEFT
kpagratis marked this conversation as resolved.
Show resolved Hide resolved
#define IGNORE_MOD_TAP_INTERRUPT
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#include QMK_KEYBOARD_H
waffle87 marked this conversation as resolved.
Show resolved Hide resolved

#define _QWERTY 0
#define _LAYER2 1
waffle87 marked this conversation as resolved.
Show resolved Hide resolved
#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
#define xxxxxxx KC_NO
drashna marked this conversation as resolved.
Show resolved Hide resolved

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_5x6_68(
KC_EQL , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 ,
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T ,
KC_ESC , SFT_A , CTL_S , ALT_D , GUI_F , KC_G ,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B ,
KC_GRV , KC_INS , KC_LEFT, KC_RGHT,
KC_LCTL , KC_LALT, KC_HOME,
KC_SPC , KC_DEL , KC_END ,

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 , GUI_J , ALT_K , CTL_L , SFT_SC , KC_QUOT,
KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
KC_DOWN, KC_UP , KC_LBRC, KC_RBRC,
KC_DEL, KC_PGUP, KC_BSPC,
MO(_LAYER2), KC_PGDN, KC_ENT
),
[_LAYER2] = LAYOUT_5x6_68(
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
xxxxxxx, IMPORTS, xxxxxxx, USAGES , RENAME , xxxxxxx,
xxxxxxx, LINES , 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, RESET,
xxxxxxx, KC_VOLD, KC_MUTE, KC_VOLU, 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
waffle87 marked this conversation as resolved.
Show resolved Hide resolved
)
};
5 changes: 5 additions & 0 deletions keyboards/handwired/dactyl_manuform/5x6_68/readme.md
Original file line number Diff line number Diff line change
@@ -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
19 changes: 19 additions & 0 deletions keyboards/handwired/dactyl_manuform/5x6_68/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# MCU name
MCU = atmega32u4

# Bootloader selection
BOOTLOADER = caterina

waffle87 marked this conversation as resolved.
Show resolved Hide resolved
# 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