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/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef CONFIG_USER_H
 | 
			
		||||
#define CONFIG_USER_H
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "../../config.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -33,5 +32,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// #define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
#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/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef CONFIG_USER_H
 | 
			
		||||
#define CONFIG_USER_H
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "../../config.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -33,5 +32,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// #define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
#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
 | 
			
		||||
 | 
			
		||||
#ifdef KEYBOARD_handwired_dactyl_manuform_6x6
 | 
			
		||||
    #include "6x6.h"
 | 
			
		||||
#ifdef KEYBOARD_handwired_dactyl_manuform_4x5
 | 
			
		||||
    #include "4x5.h"
 | 
			
		||||
#elif KEYBOARD_handwired_dactyl_manuform_4x6
 | 
			
		||||
    #include "4x6.h"
 | 
			
		||||
#elif KEYBOARD_handwired_dactyl_manuform_5x6
 | 
			
		||||
    #include "5x6.h"
 | 
			
		||||
#elif KEYBOARD_handwired_dactyl_manuform_4x5
 | 
			
		||||
    #include "4x5.h"
 | 
			
		||||
#elif KEYBOARD_handwired_dactyl_manuform_5x7
 | 
			
		||||
    #include "5x7.h"
 | 
			
		||||
#elif KEYBOARD_handwired_dactyl_manuform_6x6
 | 
			
		||||
    #include "6x6.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
//void promicro_bootloader_jmp(bool program);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue