Add Dilly keyboard
parent
d1ea398fb9
commit
2a5da62728
|
@ -0,0 +1,14 @@
|
||||||
|
Dilly
|
||||||
|
=====
|
||||||
|
|
||||||
|
A 3x10 ortholinear keyboard using Kailh PG1350 Lower Profile Choc switches.
|
||||||
|
|
||||||
|
Keyboard Maintainer: Keebio
|
||||||
|
Hardware Supported: Dilly PCB, Arduino Pro Micro
|
||||||
|
Hardware Availability: [Keebio](https://keeb.io)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make dilly:default
|
||||||
|
|
||||||
|
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
|
@ -0,0 +1,62 @@
|
||||||
|
#ifndef CONFIG_H
|
||||||
|
#define CONFIG_H
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xCB10
|
||||||
|
#define PRODUCT_ID 0x113a
|
||||||
|
#define DEVICE_VER 0x0100
|
||||||
|
#define MANUFACTURER Keebio
|
||||||
|
#define PRODUCT Dilly
|
||||||
|
#define DESCRIPTION 30 percent ortholinear keyboard
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 6
|
||||||
|
#define MATRIX_COLS 5
|
||||||
|
|
||||||
|
/* key matrix pins */
|
||||||
|
#define MATRIX_ROW_PINS { D7, E6, B4, B1, B3, B2 }
|
||||||
|
#define MATRIX_COL_PINS { D2, D4, C6, F6, F5 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* number of backlight levels */
|
||||||
|
#define BACKLIGHT_PIN B5
|
||||||
|
#ifdef BACKLIGHT_PIN
|
||||||
|
#define BACKLIGHT_LEVELS 3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCING_DELAY 5
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
/* key combination for command */
|
||||||
|
#define IS_COMMAND() ( \
|
||||||
|
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
||||||
|
)
|
||||||
|
|
||||||
|
/* prevent stuck modifiers */
|
||||||
|
#define PREVENT_STUCK_MODIFIERS
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef RGB_DI_PIN
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
|
#endif
|
||||||
|
#define RGB_DI_PIN D3
|
||||||
|
#define RGBLIGHT_TIMER
|
||||||
|
#define RGBLED_NUM 10
|
||||||
|
#define ws2812_PORTREG PORTD
|
||||||
|
#define ws2812_DDRREG DDRD
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1 @@
|
||||||
|
#include "dilly.h"
|
|
@ -0,0 +1,31 @@
|
||||||
|
#ifndef DILLY_H
|
||||||
|
#define DILLY_H
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define KEYMAP( \
|
||||||
|
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, \
|
||||||
|
B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, \
|
||||||
|
C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 \
|
||||||
|
) { \
|
||||||
|
{ A1, A2, A3, A4, A5 }, \
|
||||||
|
{ B1, B2, B3, B4, B5 }, \
|
||||||
|
{ C1, C2, C3, C4, C5 }, \
|
||||||
|
{ A10, A9, A8, A7, A6 }, \
|
||||||
|
{ B10, B9, B8, B7, B6 }, \
|
||||||
|
{ C10, C9, C8, C7, C6 } \
|
||||||
|
}
|
||||||
|
|
||||||
|
// Used to create a keymap using only KC_ prefixed keys
|
||||||
|
#define KC_KEYMAP( \
|
||||||
|
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, \
|
||||||
|
B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, \
|
||||||
|
C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 \
|
||||||
|
) \
|
||||||
|
KEYMAP( \
|
||||||
|
KC_##A1, KC_##A2, KC_##A3, KC_##A4, KC_##A5, KC_##A6, KC_##A7, KC_##A8, KC_##A9, KC_##A10, \
|
||||||
|
KC_##B1, KC_##B2, KC_##B3, KC_##B4, KC_##B5, KC_##B6, KC_##B7, KC_##B8, KC_##B9, KC_##B10, \
|
||||||
|
KC_##C1, KC_##C2, KC_##C3, KC_##C4, KC_##C5, KC_##C6, KC_##C7, KC_##C8, KC_##C9, KC_##C10 \
|
||||||
|
)
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,6 @@
|
||||||
|
#ifndef CONFIG_USER_H
|
||||||
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
|
#include "../../config.h"
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,101 @@
|
||||||
|
#include "dilly.h"
|
||||||
|
#include "action_layer.h"
|
||||||
|
|
||||||
|
extern keymap_config_t keymap_config;
|
||||||
|
|
||||||
|
#define _BASE 0
|
||||||
|
#define _FN1 1
|
||||||
|
#define _FN2 2
|
||||||
|
#define _FN3 3
|
||||||
|
#define _FN4 4
|
||||||
|
#define _FN5 5
|
||||||
|
|
||||||
|
#define KC_ KC_TRNS
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
|
#define KC_ZCTL MT(MOD_LCTL, KC_Z)
|
||||||
|
#define KC_XALT MT(MOD_LALT, KC_X)
|
||||||
|
#define KC_C_L3 LT(_FN3, KC_C)
|
||||||
|
#define KC_V_L4 LT(_FN4, KC_V)
|
||||||
|
#define KC_SPL2 LT(_FN2, KC_SPC)
|
||||||
|
#define KC_BSL1 LT(_FN1, KC_BSPC)
|
||||||
|
#define KC_B_L5 LT(_FN5, KC_B)
|
||||||
|
#define KC_NALT MT(MOD_RALT, KC_N)
|
||||||
|
#define KC_MCTL MT(MOD_RCTL, KC_M)
|
||||||
|
#define KC_ENTS MT(MOD_RSFT, KC_ENT)
|
||||||
|
|
||||||
|
#define KC_RST RESET
|
||||||
|
#define KC_BL_S BL_STEP
|
||||||
|
#define KC_DBUG DEBUG
|
||||||
|
#define KC_RTOG RGB_TOG
|
||||||
|
#define KC_RMOD RGB_MOD
|
||||||
|
#define KC_RHUI RGB_HUI
|
||||||
|
#define KC_RHUD RGB_HUD
|
||||||
|
#define KC_RSAI RGB_SAI
|
||||||
|
#define KC_RSAD RGB_SAD
|
||||||
|
#define KC_RVAI RGB_VAI
|
||||||
|
#define KC_RVAD RGB_VAD
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[_BASE] = KC_KEYMAP(
|
||||||
|
//,----+----+----+----+----+----+----+----+----+----.
|
||||||
|
Q , W , E , R , T , Y , U , I , O , P ,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
A , S , D , F , G , H , J , K , L ,ESC ,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
ZCTL,XALT,C_L3,V_L4,SPL2,BSL1,B_L5,NALT,MCTL,ENTS
|
||||||
|
//`----+----+----+----+----+----+----+----+----+----'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN1] = KC_KEYMAP(
|
||||||
|
//,----+----+----+----+----+----+----+----+----+----.
|
||||||
|
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
, , , , ,DEL , , , ,
|
||||||
|
//`----+----+----+----+----+----+----+----+----+----'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN2] = KC_KEYMAP(
|
||||||
|
//,----+----+----+----+----+----+----+----+----+----.
|
||||||
|
EXLM, AT ,HASH,DLR ,PERC,CIRC,AMPR,ASTR,LPRN,RPRN,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
F11 ,F12 , , , , , , , ,GRV ,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
, , , , , , , , ,
|
||||||
|
//`----+----+----+----+----+----+----+----+----+----'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN3] = KC_KEYMAP(
|
||||||
|
//,----+----+----+----+----+----+----+----+----+----.
|
||||||
|
, , , , ,MINS,EQL ,LBRC,RBRC,BSLS,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
TAB , , , , ,COMM,DOT ,SLSH,SCLN,QUOT,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
, , , , , ,LEFT,DOWN, UP ,RGHT
|
||||||
|
//`----+----+----+----+----+----+----+----+----+----'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN4] = KC_KEYMAP(
|
||||||
|
//,----+----+----+----+----+----+----+----+----+----.
|
||||||
|
, , , , ,UNDS,PLUS,LCBR,RCBR,PIPE,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
TAB , , , , , LT , GT ,QUES,COLN,DQUO,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
, , , , , ,HOME,PGDN,PGUP,END
|
||||||
|
//`----+----+----+----+----+----+----+----+----+----'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN5] = KC_KEYMAP(
|
||||||
|
//,----+----+----+----+----+----+----+----+----+----.
|
||||||
|
RTOG,RMOD, ,RST ,RHUI,RSAI,RVAI, , , ,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
, ,DBUG, ,RHUD,RSAD,RVAD, , , ,
|
||||||
|
//|----+----+----+----+----+----+----+----+----+----|
|
||||||
|
BL_S, , , , , , , , ,
|
||||||
|
//`----+----+----+----+----+----+----+----+----+----'
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
|
@ -0,0 +1 @@
|
||||||
|
RGBLIGHT_ENABLE = yes
|
|
@ -0,0 +1,56 @@
|
||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Processor frequency.
|
||||||
|
# This will define a symbol, F_CPU, in all source code files equal to the
|
||||||
|
# processor frequency in Hz. You can then use this symbol in your source code to
|
||||||
|
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
||||||
|
# automatically to create a 32-bit value in your source code.
|
||||||
|
#
|
||||||
|
# This will be an integer division of F_USB below, as it is sourced by
|
||||||
|
# F_USB after it has run through any CPU prescalers. Note that this value
|
||||||
|
# does not *change* the processor frequency - it should merely be updated to
|
||||||
|
# reflect the processor speed set externally so that the code can use accurate
|
||||||
|
# software delays.
|
||||||
|
F_CPU = 16000000
|
||||||
|
|
||||||
|
#
|
||||||
|
# LUFA specific
|
||||||
|
#
|
||||||
|
# Target architecture (see library "Board Types" documentation).
|
||||||
|
ARCH = AVR8
|
||||||
|
|
||||||
|
# Input clock frequency.
|
||||||
|
# This will define a symbol, F_USB, in all source code files equal to the
|
||||||
|
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
||||||
|
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
||||||
|
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
||||||
|
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
||||||
|
# at the end, this will be done automatically to create a 32-bit value in your
|
||||||
|
# source code.
|
||||||
|
#
|
||||||
|
# If no clock division is performed on the input clock inside the AVR (via the
|
||||||
|
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
||||||
|
F_USB = $(F_CPU)
|
||||||
|
|
||||||
|
# Interrupt driven control endpoint task(+60)
|
||||||
|
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
||||||
|
|
||||||
|
|
||||||
|
# Boot Section Size in *bytes*
|
||||||
|
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
||||||
|
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# comment out to disable the options.
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = yes # 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 = no # Commands for debug and configuration
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
|
AUDIO_ENABLE = no
|
||||||
|
RGBLIGHT_ENABLE = yes
|
Loading…
Reference in New Issue