Keyboard: Added dactyl-manuform 4x6 and keymap. (#4058)
* Added dactyl-manuform 4x6 and keymap. * Did changes recommended by drashna.
This commit is contained in:
parent
f01133d089
commit
d55468c18d
9 changed files with 237 additions and 12 deletions
|
@ -18,8 +18,7 @@ You should have received a copy of the GNU General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_USER_H
|
#pragma once
|
||||||
#define CONFIG_USER_H
|
|
||||||
|
|
||||||
#include "../../config.h"
|
#include "../../config.h"
|
||||||
|
|
||||||
|
@ -33,5 +32,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// #define MASTER_LEFT
|
// #define MASTER_LEFT
|
||||||
// #define MASTER_RIGHT
|
// #define MASTER_RIGHT
|
||||||
#define EE_HANDS
|
#define EE_HANDS
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -18,8 +18,7 @@ You should have received a copy of the GNU General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_USER_H
|
#pragma once
|
||||||
#define CONFIG_USER_H
|
|
||||||
|
|
||||||
#include "../../config.h"
|
#include "../../config.h"
|
||||||
|
|
||||||
|
@ -33,5 +32,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// #define MASTER_LEFT
|
// #define MASTER_LEFT
|
||||||
// #define MASTER_RIGHT
|
// #define MASTER_RIGHT
|
||||||
#define EE_HANDS
|
#define EE_HANDS
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
14
keyboards/handwired/dactyl_manuform/4x6/4x6.c
Normal file
14
keyboards/handwired/dactyl_manuform/4x6/4x6.c
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#include "4x6.h"
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef SSD1306OLED
|
||||||
|
void led_set_kb(uint8_t usb_led) {
|
||||||
|
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
||||||
|
led_set_user(usb_led);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void matrix_init_kb(void) {
|
||||||
|
matrix_init_user();
|
||||||
|
};
|
||||||
|
|
36
keyboards/handwired/dactyl_manuform/4x6/4x6.h
Normal file
36
keyboards/handwired/dactyl_manuform/4x6/4x6.h
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "dactyl_manuform.h"
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#ifdef USE_I2C
|
||||||
|
#include <stddef.h>
|
||||||
|
#ifdef __AVR__
|
||||||
|
#include <avr/io.h>
|
||||||
|
#include <avr/interrupt.h>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LAYOUT(\
|
||||||
|
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, \
|
||||||
|
L32, L33, R32, R33, \
|
||||||
|
L34, L35, R30, R31, \
|
||||||
|
L44, L45, R40, R41, \
|
||||||
|
L42, L43, R42, R43 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ L00, L01, L02, L03, L04, L05 }, \
|
||||||
|
{ L10, L11, L12, L13, L14, L15 }, \
|
||||||
|
{ L20, L21, L22, L23, L24, L25 }, \
|
||||||
|
{ KC_NO, KC_NO, L32, L33, L34, L35 }, \
|
||||||
|
{ KC_NO, KC_NO, L42, L43, L44, L45 }, \
|
||||||
|
\
|
||||||
|
{ R00, R01, R02, R03, R04, R05 }, \
|
||||||
|
{ R10, R11, R12, R13, R14, R15 }, \
|
||||||
|
{ R20, R21, R22, R23, R24, R25 }, \
|
||||||
|
{ R30, R31, R32, R33, KC_NO, KC_NO }, \
|
||||||
|
{ R40, R41, R42, R43, KC_NO, KC_NO } \
|
||||||
|
\
|
||||||
|
}
|
40
keyboards/handwired/dactyl_manuform/4x6/config.h
Normal file
40
keyboards/handwired/dactyl_manuform/4x6/config.h
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
/*
|
||||||
|
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"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xFEED
|
||||||
|
#define PRODUCT_ID 0x3060
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER tshort
|
||||||
|
#define DESCRIPTION A split keyboard for the cheap makers
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
// Rows are doubled-up
|
||||||
|
#define MATRIX_ROWS 10
|
||||||
|
#define MATRIX_COLS 6
|
||||||
|
|
||||||
|
// row-driven
|
||||||
|
#define MATRIX_ROW_PINS { F7, B1, B3, B2, B6 }
|
||||||
|
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
This is the c configuration file for the keymap
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
/* Use I2C or Serial, not both */
|
||||||
|
#define USE_SERIAL
|
||||||
|
// #define USE_I2C
|
||||||
|
|
||||||
|
/* Select hand configuration */
|
||||||
|
|
||||||
|
// #define MASTER_LEFT
|
||||||
|
// #define MASTER_RIGHT
|
||||||
|
#define EE_HANDS
|
|
@ -0,0 +1,87 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
extern keymap_config_t keymap_config;
|
||||||
|
|
||||||
|
#define _BASE 0
|
||||||
|
#define _RAISE 1
|
||||||
|
#define _LOWER 2
|
||||||
|
|
||||||
|
// Fillers to make layering more clear
|
||||||
|
|
||||||
|
#define ____ KC_TRNS
|
||||||
|
|
||||||
|
#define SFT_ESC SFT_T(KC_ESC)
|
||||||
|
#define CTL_BSPC CTL_T(KC_BSPC)
|
||||||
|
#define ALT_SPC ALT_T(KC_SPC)
|
||||||
|
#define SFT_ENT SFT_T(KC_ENT)
|
||||||
|
|
||||||
|
#define KC_ML KC_MS_LEFT
|
||||||
|
#define KC_MR KC_MS_RIGHT
|
||||||
|
#define KC_MU KC_MS_UP
|
||||||
|
#define KC_MD KC_MS_DOWN
|
||||||
|
#define KC_MB1 KC_MS_BTN1
|
||||||
|
#define KC_MB2 KC_MS_BTN1
|
||||||
|
|
||||||
|
#define RAISE MO(_RAISE)
|
||||||
|
#define LOWER MO(_LOWER)
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/* Base (qwerty)
|
||||||
|
* +-----------------------------------------+ +-----------------------------------------+
|
||||||
|
* | ESC | q | w | e | r | t | | y | u | i | o | p | |
|
||||||
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
|
* | TAB | a | s | d | f | g | | h | j | k | l | ; | |
|
||||||
|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
|
* | SHFT | z | x | c | v | b | | n | m | , | . | / | |
|
||||||
|
* +------+------+------+------+-------------+ +-------------+------+------+------+------+
|
||||||
|
* | [ | ] | | | |
|
||||||
|
* +-------------+-------------+ +-------------+-------------+
|
||||||
|
* | | | | | |
|
||||||
|
* |------+------| |------+------|
|
||||||
|
* | | | | | |
|
||||||
|
* +-------------+ +-------------+
|
||||||
|
* +-------------+ +-------------+
|
||||||
|
* | | | | | |
|
||||||
|
* |------+------| |------+------|
|
||||||
|
* | | | | | |
|
||||||
|
* +-------------+ +-------------+
|
||||||
|
*/
|
||||||
|
|
||||||
|
[_BASE] = LAYOUT( \
|
||||||
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, \
|
||||||
|
KC_TAB, 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_BSLASH, \
|
||||||
|
KC_LBRC,KC_RBRC, KC_PLUS,KC_EQL, \
|
||||||
|
RAISE, KC_SPC, KC_ENT, LOWER, \
|
||||||
|
KC_TAB, KC_HOME, KC_END, KC_DEL, \
|
||||||
|
KC_BSPC,KC_GRV, KC_LGUI,KC_LALT \
|
||||||
|
),
|
||||||
|
|
||||||
|
[_LOWER] = LAYOUT(
|
||||||
|
_______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS, \
|
||||||
|
_______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS,KC_PIPE, \
|
||||||
|
_______,_______,_______,_______,_______,_______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, \
|
||||||
|
_______,KC_PSCR, _______, KC_P0, \
|
||||||
|
_______,_______, _______,_______, \
|
||||||
|
_______,_______, _______,_______, \
|
||||||
|
_______,_______, _______,_______ \
|
||||||
|
),
|
||||||
|
|
||||||
|
[_RAISE] = LAYOUT(
|
||||||
|
_______,RESET, _______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS, KC_SLCK,KC_MUTE, \
|
||||||
|
_______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, \
|
||||||
|
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, \
|
||||||
|
_______,_______, KC_EQL, _______, \
|
||||||
|
_______,_______, _______,_______, \
|
||||||
|
_______,_______, _______,_______, \
|
||||||
|
_______,_______, _______,_______ \
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void persistent_default_layer_set(uint16_t default_layer) {
|
||||||
|
eeconfig_update_default_layer(default_layer);
|
||||||
|
default_layer_set(default_layer);
|
||||||
|
}
|
||||||
|
|
21
keyboards/handwired/dactyl_manuform/4x6/rules.mk
Normal file
21
keyboards/handwired/dactyl_manuform/4x6/rules.mk
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change to "no" to disable the options, or define them in the Makefile in
|
||||||
|
# the appropriate keymap folder that will get included automatically
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
|
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||||
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
|
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
MIDI_ENABLE = no # MIDI controls
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||||
|
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef KEYBOARD_handwired_dactyl_manuform_6x6
|
#ifdef KEYBOARD_handwired_dactyl_manuform_4x5
|
||||||
#include "6x6.h"
|
#include "4x5.h"
|
||||||
|
#elif KEYBOARD_handwired_dactyl_manuform_4x6
|
||||||
|
#include "4x6.h"
|
||||||
#elif KEYBOARD_handwired_dactyl_manuform_5x6
|
#elif KEYBOARD_handwired_dactyl_manuform_5x6
|
||||||
#include "5x6.h"
|
#include "5x6.h"
|
||||||
#elif KEYBOARD_handwired_dactyl_manuform_4x5
|
|
||||||
#include "4x5.h"
|
|
||||||
#elif KEYBOARD_handwired_dactyl_manuform_5x7
|
#elif KEYBOARD_handwired_dactyl_manuform_5x7
|
||||||
#include "5x7.h"
|
#include "5x7.h"
|
||||||
|
#elif KEYBOARD_handwired_dactyl_manuform_6x6
|
||||||
|
#include "6x6.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//void promicro_bootloader_jmp(bool program);
|
//void promicro_bootloader_jmp(bool program);
|
||||||
|
|
Loading…
Reference in a new issue