aboutsummaryrefslogtreecommitdiff
path: root/keyboards/evyd13
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/evyd13')
-rw-r--r--keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c33
-rw-r--r--keyboards/evyd13/atom47/keymaps/LEdiodes/rules.mk64
-rw-r--r--keyboards/evyd13/atom47/keymaps/default/keymap.c50
-rw-r--r--keyboards/evyd13/atom47/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/atom47/keymaps/evyd13/keymap.c68
-rw-r--r--keyboards/evyd13/atom47/keymaps/evyd13/readme.md1
-rw-r--r--keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c150
-rw-r--r--keyboards/evyd13/atom47/keymaps/junonum_a47/readme.md1
-rw-r--r--keyboards/evyd13/atom47/readme.md26
-rw-r--r--keyboards/evyd13/atom47/rev2/config.h68
-rw-r--r--keyboards/evyd13/atom47/rev2/info.json12
-rw-r--r--keyboards/evyd13/atom47/rev2/readme.md23
-rw-r--r--keyboards/evyd13/atom47/rev2/rev2.c34
-rw-r--r--keyboards/evyd13/atom47/rev2/rev2.h25
-rw-r--r--keyboards/evyd13/atom47/rev2/rules.mk2
-rw-r--r--keyboards/evyd13/atom47/rev3/config.h63
-rw-r--r--keyboards/evyd13/atom47/rev3/info.json12
-rw-r--r--keyboards/evyd13/atom47/rev3/rev3.c27
-rw-r--r--keyboards/evyd13/atom47/rev3/rev3.h23
-rw-r--r--keyboards/evyd13/atom47/rev3/rules.mk2
-rw-r--r--keyboards/evyd13/atom47/rules.mk28
-rw-r--r--keyboards/evyd13/eon40/config.h226
-rw-r--r--keyboards/evyd13/eon40/eon40.c16
-rw-r--r--keyboards/evyd13/eon40/eon40.h67
-rw-r--r--keyboards/evyd13/eon40/info.json18
-rw-r--r--keyboards/evyd13/eon40/keymaps/default/keymap.c46
-rw-r--r--keyboards/evyd13/eon40/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/eon40/keymaps/via/keymap.c43
-rw-r--r--keyboards/evyd13/eon40/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/eon40/readme.md21
-rw-r--r--keyboards/evyd13/eon40/rules.mk36
-rw-r--r--keyboards/evyd13/eon65/config.h220
-rw-r--r--keyboards/evyd13/eon65/eon65.c16
-rw-r--r--keyboards/evyd13/eon65/eon65.h103
-rw-r--r--keyboards/evyd13/eon65/info.json392
-rw-r--r--keyboards/evyd13/eon65/keymaps/default/keymap.c32
-rw-r--r--keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c46
-rw-r--r--keyboards/evyd13/eon65/keymaps/mrsendyyk/readme.md38
-rw-r--r--keyboards/evyd13/eon65/keymaps/via/keymap.c43
-rw-r--r--keyboards/evyd13/eon65/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/eon65/readme.md13
-rw-r--r--keyboards/evyd13/eon65/rules.mk34
-rw-r--r--keyboards/evyd13/eon75/config.h221
-rw-r--r--keyboards/evyd13/eon75/eon75.c45
-rw-r--r--keyboards/evyd13/eon75/eon75.h97
-rw-r--r--keyboards/evyd13/eon75/info.json289
-rw-r--r--keyboards/evyd13/eon75/keymaps/default/keymap.c34
-rw-r--r--keyboards/evyd13/eon75/keymaps/via/keymap.c47
-rw-r--r--keyboards/evyd13/eon75/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/eon75/readme.md13
-rw-r--r--keyboards/evyd13/eon75/rules.mk32
-rw-r--r--keyboards/evyd13/eon87/config.h220
-rw-r--r--keyboards/evyd13/eon87/eon87.c16
-rw-r--r--keyboards/evyd13/eon87/eon87.h79
-rw-r--r--keyboards/evyd13/eon87/info.json319
-rw-r--r--keyboards/evyd13/eon87/keymaps/default/keymap.c42
-rw-r--r--keyboards/evyd13/eon87/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/eon87/keymaps/via/keymap.c50
-rw-r--r--keyboards/evyd13/eon87/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/eon87/readme.md13
-rw-r--r--keyboards/evyd13/eon87/rules.mk34
-rw-r--r--keyboards/evyd13/eon95/config.h222
-rw-r--r--keyboards/evyd13/eon95/eon95.c45
-rw-r--r--keyboards/evyd13/eon95/eon95.h96
-rw-r--r--keyboards/evyd13/eon95/info.json338
-rw-r--r--keyboards/evyd13/eon95/keymaps/default/keymap.c34
-rw-r--r--keyboards/evyd13/eon95/keymaps/via/keymap.c40
-rw-r--r--keyboards/evyd13/eon95/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/eon95/readme.md13
-rw-r--r--keyboards/evyd13/eon95/rules.mk32
-rw-r--r--keyboards/evyd13/gh80_1800/config.h143
-rw-r--r--keyboards/evyd13/gh80_1800/gh80_1800.c44
-rw-r--r--keyboards/evyd13/gh80_1800/gh80_1800.h94
-rw-r--r--keyboards/evyd13/gh80_1800/info.json356
-rw-r--r--keyboards/evyd13/gh80_1800/keymaps/default/keymap.c28
-rw-r--r--keyboards/evyd13/gh80_1800/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/gh80_1800/keymaps/via/keymap.c55
-rw-r--r--keyboards/evyd13/gh80_1800/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/gh80_1800/readme.md13
-rw-r--r--keyboards/evyd13/gh80_1800/rules.mk21
-rw-r--r--keyboards/evyd13/gh80_3700/config.h143
-rw-r--r--keyboards/evyd13/gh80_3700/gh80_3700.c46
-rw-r--r--keyboards/evyd13/gh80_3700/gh80_3700.h63
-rw-r--r--keyboards/evyd13/gh80_3700/info.json72
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/default/keymap.c26
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/ps2/config.h69
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/ps2/keymap.c26
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/ps2/readme.md1
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk5
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/rgb/config.h21
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/rgb/keymap.c26
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/rgb/readme.md1
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/rgb/rules.mk4
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/via/keymap.c50
-rw-r--r--keyboards/evyd13/gh80_3700/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/gh80_3700/readme.md15
-rw-r--r--keyboards/evyd13/gh80_3700/rules.mk24
-rw-r--r--keyboards/evyd13/minitomic/config.h224
-rw-r--r--keyboards/evyd13/minitomic/info.json15
-rw-r--r--keyboards/evyd13/minitomic/keymaps/default/keymap.c46
-rw-r--r--keyboards/evyd13/minitomic/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/minitomic/minitomic.c50
-rw-r--r--keyboards/evyd13/minitomic/minitomic.h53
-rw-r--r--keyboards/evyd13/minitomic/readme.md23
-rw-r--r--keyboards/evyd13/minitomic/rules.mk32
-rw-r--r--keyboards/evyd13/mx5160/config.h224
-rw-r--r--keyboards/evyd13/mx5160/info.json12
-rw-r--r--keyboards/evyd13/mx5160/keymaps/default/keymap.c41
-rw-r--r--keyboards/evyd13/mx5160/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/mx5160/mx5160.c58
-rw-r--r--keyboards/evyd13/mx5160/mx5160.h47
-rw-r--r--keyboards/evyd13/mx5160/readme.md15
-rw-r--r--keyboards/evyd13/mx5160/rules.mk32
-rw-r--r--keyboards/evyd13/nt660/config.h228
-rw-r--r--keyboards/evyd13/nt660/info.json234
-rw-r--r--keyboards/evyd13/nt660/keymaps/default/keymap.c26
-rw-r--r--keyboards/evyd13/nt660/keymaps/evyd13/config.h3
-rw-r--r--keyboards/evyd13/nt660/keymaps/evyd13/keymap.c58
-rw-r--r--keyboards/evyd13/nt660/keymaps/via/keymap.c44
-rw-r--r--keyboards/evyd13/nt660/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/nt660/nt660.c32
-rw-r--r--keyboards/evyd13/nt660/nt660.h73
-rw-r--r--keyboards/evyd13/nt660/readme.md19
-rw-r--r--keyboards/evyd13/nt660/rules.mk33
-rw-r--r--keyboards/evyd13/omrontkl/config.h220
-rw-r--r--keyboards/evyd13/omrontkl/info.json299
-rw-r--r--keyboards/evyd13/omrontkl/keymaps/default/keymap.c42
-rw-r--r--keyboards/evyd13/omrontkl/omrontkl.c16
-rw-r--r--keyboards/evyd13/omrontkl/omrontkl.h79
-rw-r--r--keyboards/evyd13/omrontkl/readme.md13
-rw-r--r--keyboards/evyd13/omrontkl/rules.mk32
-rw-r--r--keyboards/evyd13/plain60/config.h49
-rw-r--r--keyboards/evyd13/plain60/info.json502
-rw-r--r--keyboards/evyd13/plain60/keymaps/audio/config.h3
-rw-r--r--keyboards/evyd13/plain60/keymaps/audio/keymap.c27
-rw-r--r--keyboards/evyd13/plain60/keymaps/audio/rules.mk4
-rw-r--r--keyboards/evyd13/plain60/keymaps/default/keymap.c27
-rw-r--r--keyboards/evyd13/plain60/keymaps/kwerdenker/config.h26
-rw-r--r--keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c57
-rw-r--r--keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk22
-rw-r--r--keyboards/evyd13/plain60/keymaps/rgb/config.h8
-rw-r--r--keyboards/evyd13/plain60/keymaps/rgb/keymap.c27
-rw-r--r--keyboards/evyd13/plain60/keymaps/rgb/rules.mk3
-rw-r--r--keyboards/evyd13/plain60/keymaps/via/keymap.c32
-rw-r--r--keyboards/evyd13/plain60/keymaps/via/rules.mk1
-rw-r--r--keyboards/evyd13/plain60/plain60.c1
-rw-r--r--keyboards/evyd13/plain60/plain60.h114
-rw-r--r--keyboards/evyd13/plain60/readme.md14
-rw-r--r--keyboards/evyd13/plain60/rules.mk30
-rw-r--r--keyboards/evyd13/pockettype/config.h220
-rw-r--r--keyboards/evyd13/pockettype/info.json12
-rw-r--r--keyboards/evyd13/pockettype/keymaps/default/keymap.c46
-rw-r--r--keyboards/evyd13/pockettype/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/pockettype/pockettype.c39
-rw-r--r--keyboards/evyd13/pockettype/pockettype.h40
-rw-r--r--keyboards/evyd13/pockettype/readme.md13
-rw-r--r--keyboards/evyd13/pockettype/rules.mk31
-rw-r--r--keyboards/evyd13/quackfire/config.h147
-rw-r--r--keyboards/evyd13/quackfire/info.json212
-rw-r--r--keyboards/evyd13/quackfire/keymaps/default/keymap.c53
-rw-r--r--keyboards/evyd13/quackfire/keymaps/via/keymap.c46
-rw-r--r--keyboards/evyd13/quackfire/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/quackfire/quackfire.c44
-rw-r--r--keyboards/evyd13/quackfire/quackfire.h69
-rw-r--r--keyboards/evyd13/quackfire/readme.md19
-rw-r--r--keyboards/evyd13/quackfire/rules.mk24
-rw-r--r--keyboards/evyd13/solheim68/config.h143
-rw-r--r--keyboards/evyd13/solheim68/info.json397
-rw-r--r--keyboards/evyd13/solheim68/keymaps/default/keymap.c31
-rw-r--r--keyboards/evyd13/solheim68/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/solheim68/readme.md17
-rw-r--r--keyboards/evyd13/solheim68/rules.mk22
-rw-r--r--keyboards/evyd13/solheim68/solheim68.c16
-rw-r--r--keyboards/evyd13/solheim68/solheim68.h102
-rw-r--r--keyboards/evyd13/ta65/config.h68
-rw-r--r--keyboards/evyd13/ta65/info.json372
-rw-r--r--keyboards/evyd13/ta65/keymaps/default/keymap.c38
-rw-r--r--keyboards/evyd13/ta65/keymaps/default_ansi/keymap.c17
-rw-r--r--keyboards/evyd13/ta65/keymaps/default_ansi_tsangan/keymap.c17
-rw-r--r--keyboards/evyd13/ta65/keymaps/default_iso/keymap.c17
-rw-r--r--keyboards/evyd13/ta65/keymaps/default_iso_tsangan/keymap.c17
-rw-r--r--keyboards/evyd13/ta65/keymaps/evyd13/config.h3
-rw-r--r--keyboards/evyd13/ta65/keymaps/evyd13/keymap.c45
-rw-r--r--keyboards/evyd13/ta65/keymaps/via/keymap.c33
-rw-r--r--keyboards/evyd13/ta65/keymaps/via/rules.mk1
-rw-r--r--keyboards/evyd13/ta65/readme.md17
-rw-r--r--keyboards/evyd13/ta65/rules.mk34
-rw-r--r--keyboards/evyd13/ta65/ta65.c13
-rw-r--r--keyboards/evyd13/ta65/ta65.h82
-rw-r--r--keyboards/evyd13/wasdat/config.h230
-rw-r--r--keyboards/evyd13/wasdat/info.json459
-rw-r--r--keyboards/evyd13/wasdat/keymaps/default/keymap.c44
-rw-r--r--keyboards/evyd13/wasdat/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/wasdat/keymaps/default_iso/keymap.c44
-rw-r--r--keyboards/evyd13/wasdat/keymaps/default_iso/readme.md1
-rw-r--r--keyboards/evyd13/wasdat/keymaps/konstantin/config.h6
-rw-r--r--keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c79
-rw-r--r--keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk17
-rw-r--r--keyboards/evyd13/wasdat/keymaps/via/keymap.c96
-rw-r--r--keyboards/evyd13/wasdat/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/wasdat/matrix.c344
-rw-r--r--keyboards/evyd13/wasdat/readme.md21
-rw-r--r--keyboards/evyd13/wasdat/rules.mk36
-rw-r--r--keyboards/evyd13/wasdat/wasdat.c47
-rw-r--r--keyboards/evyd13/wasdat/wasdat.h123
-rw-r--r--keyboards/evyd13/wasdat_code/config.h230
-rw-r--r--keyboards/evyd13/wasdat_code/info.json459
-rw-r--r--keyboards/evyd13/wasdat_code/keymaps/default/keymap.c53
-rw-r--r--keyboards/evyd13/wasdat_code/keymaps/default/readme.md1
-rw-r--r--keyboards/evyd13/wasdat_code/keymaps/default_iso/keymap.c44
-rw-r--r--keyboards/evyd13/wasdat_code/keymaps/default_iso/readme.md1
-rw-r--r--keyboards/evyd13/wasdat_code/keymaps/via/keymap.c46
-rw-r--r--keyboards/evyd13/wasdat_code/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/wasdat_code/matrix.c369
-rw-r--r--keyboards/evyd13/wasdat_code/readme.md19
-rw-r--r--keyboards/evyd13/wasdat_code/rules.mk36
-rw-r--r--keyboards/evyd13/wasdat_code/wasdat_code.c47
-rw-r--r--keyboards/evyd13/wasdat_code/wasdat_code.h107
-rw-r--r--keyboards/evyd13/wonderland/config.h55
-rw-r--r--keyboards/evyd13/wonderland/info.json80
-rw-r--r--keyboards/evyd13/wonderland/keymaps/brandonschlack/config.h19
-rwxr-xr-xkeyboards/evyd13/wonderland/keymaps/brandonschlack/keymap.c170
-rwxr-xr-xkeyboards/evyd13/wonderland/keymaps/brandonschlack/rules.mk8
-rw-r--r--keyboards/evyd13/wonderland/keymaps/default/keymap.c54
-rw-r--r--keyboards/evyd13/wonderland/keymaps/keebs/keymap.c23
-rw-r--r--keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c42
-rw-r--r--keyboards/evyd13/wonderland/keymaps/rafael-azevedo/readme.md9
-rw-r--r--keyboards/evyd13/wonderland/keymaps/rys/keymap.c23
-rw-r--r--keyboards/evyd13/wonderland/keymaps/via/keymap.c33
-rw-r--r--keyboards/evyd13/wonderland/keymaps/via/rules.mk2
-rw-r--r--keyboards/evyd13/wonderland/readme.md14
-rw-r--r--keyboards/evyd13/wonderland/rules.mk31
-rw-r--r--keyboards/evyd13/wonderland/wonderland.c34
-rw-r--r--keyboards/evyd13/wonderland/wonderland.h22
235 files changed, 15236 insertions, 0 deletions
diff --git a/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c b/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c
new file mode 100644
index 000000000..87e124421
--- /dev/null
+++ b/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c
@@ -0,0 +1,33 @@
1#include QMK_KEYBOARD_H
2
3// These are all aliases for the function layers.
4#define _L0 0
5#define _L1 1
6#define _L2 2
7#define _L3 3
8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10[_L0] = LAYOUT(
11 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \
12 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \
13 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L1), \
14 KC_LCTL, KC_LGUI, KC_LALT, TG(_L3), KC_SPC, KC_SPC, MO(_L2), KC_RALT, KC_APP, KC_RCTRL), \
15
16[_L2] = LAYOUT(
17 _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \
18 KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \
19 _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \
20 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
21
22[_L1] = LAYOUT(
23 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
24 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \
25 _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \
26 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
27
28[_L3] = LAYOUT(
29 _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, \
30 _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______, \
31 _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, \
32 _______, _______, _______, _______, KC_0, KC_DOT, _______, _______, _______, RESET), \
33};
diff --git a/keyboards/evyd13/atom47/keymaps/LEdiodes/rules.mk b/keyboards/evyd13/atom47/keymaps/LEdiodes/rules.mk
new file mode 100644
index 000000000..9334aaf28
--- /dev/null
+++ b/keyboards/evyd13/atom47/keymaps/LEdiodes/rules.mk
@@ -0,0 +1,64 @@
1# MCU name
2MCU = atmega32u4
3
4# Processor frequency.
5# This will define a symbol, F_CPU, in all source code files equal to the
6# processor frequency in Hz. You can then use this symbol in your source code to
7# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
8# automatically to create a 32-bit value in your source code.
9#
10# This will be an integer division of F_USB below, as it is sourced by
11# F_USB after it has run through any CPU prescalers. Note that this value
12# does not *change* the processor frequency - it should merely be updated to
13# reflect the processor speed set externally so that the code can use accurate
14# software delays.
15F_CPU = 16000000
16
17
18#
19# LUFA specific
20#
21# Target architecture (see library "Board Types" documentation).
22ARCH = AVR8
23
24# Input clock frequency.
25# This will define a symbol, F_USB, in all source code files equal to the
26# input clock frequency (before any prescaling is performed) in Hz. This value may
27# differ from F_CPU if prescaling is used on the latter, and is required as the
28# raw input clock is fed directly to the PLL sections of the AVR for high speed
29# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
30# at the end, this will be done automatically to create a 32-bit value in your
31# source code.
32#
33# If no clock division is performed on the input clock inside the AVR (via the
34# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
35F_USB = $(F_CPU)
36
37# Interrupt driven control endpoint task(+60)
38OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
39
40
41# Boot Section Size in *bytes*
42# Teensy halfKay 512
43# Teensy++ halfKay 1024
44# Atmel DFU loader 4096
45# LUFA bootloader 4096
46# USBaspLoader 2048
47OPT_DEFS += -DBOOTLOADER_SIZE=4096
48
49
50# Build Options
51# comment out to disable the options.
52#
53BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
54MOUSEKEY_ENABLE = no # Mouse keys(+4700)
55EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
56CONSOLE_ENABLE = no # Console for debug(+400)
57COMMAND_ENABLE = no # Commands for debug and configuration
58NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
59RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870)
60BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality (+1150)
61MIDI_ENABLE = no # MIDI controls
62AUDIO_ENABLE = no
63UNICODE_ENABLE = no # Unicode
64BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/evyd13/atom47/keymaps/default/keymap.c b/keyboards/evyd13/atom47/keymaps/default/keymap.c
new file mode 100644
index 000000000..dc87b5a52
--- /dev/null
+++ b/keyboards/evyd13/atom47/keymaps/default/keymap.c
@@ -0,0 +1,50 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7
8#define _MA 0 //Main layer
9#define _FN 1 //Fn
10#define _FN1 2 //Fn1
11#define _PN 3 //Pn
12
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14[_MA] = LAYOUT(
15 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \
16 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \
17 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_FN1), \
18 KC_LCTL, KC_LGUI, KC_LALT, MO(_PN), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTRL), \
19
20[_FN] = LAYOUT(
21 _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \
22 KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \
23 _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
25
26[_FN1] = LAYOUT(
27 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
28 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \
29 _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
31
32[_PN] = LAYOUT(
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
34 RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, \
35 RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, \
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET),
37};
38
39void led_set_user(uint8_t usb_led) {
40 if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
41 // Turn capslock on
42 PORTE &= ~(1 << 6);
43
44
45 } else {
46 // Turn capslock off
47 PORTE |= (1 << 6);
48 }
49}
50
diff --git a/keyboards/evyd13/atom47/keymaps/default/readme.md b/keyboards/evyd13/atom47/keymaps/default/readme.md
new file mode 100644
index 000000000..679595385
--- /dev/null
+++ b/keyboards/evyd13/atom47/keymaps/default/readme.md
@@ -0,0 +1 @@
This is the default keymap as found on the Vortex Core, with some added buttons for RGB and backlight control.
diff --git a/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c b/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c
new file mode 100644
index 000000000..c01ace92a
--- /dev/null
+++ b/keyboards/evyd13/atom47/keymaps/evyd13/keymap.c
@@ -0,0 +1,68 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7
8#define _MA 0 //Main layer
9#define _LO 1 //FN1
10#define _RA 2 //FN
11
12enum custom_keycodes {
13 CTRLZ = SAFE_RANGE,
14 CTRLX,
15 CTRLC,
16 CTRLV
17};
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20[_MA] = LAYOUT(
21 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \
22 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \
23 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
24 KC_LCTL, KC_LGUI, KC_LALT, MO(_LO), KC_SPC, KC_SPC, MO(_RA), KC_RALT, KC_APP, KC_RCTRL), \
25
26[_LO] = LAYOUT(
27 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
28 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \
29 _______, CTRLZ, CTRLX, CTRLC, CTRLV, _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, \
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), \
31
32[_RA] = LAYOUT(
33 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, \
34 KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, \
35 _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, \
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
37
38};
39
40void led_set_user(uint8_t usb_led) {
41 if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
42 // Turn capslock on
43 PORTE &= ~(1 << 6);
44 } else {
45 // Turn capslock off
46 PORTE |= (1 << 6);
47 }
48}
49
50bool process_record_user(uint16_t keycode, keyrecord_t *record) {
51 if (record->event.pressed) {
52 switch(keycode) {
53 case CTRLZ:
54 SEND_STRING(SS_LCTRL("z"));
55 return false;
56 case CTRLX:
57 SEND_STRING(SS_LCTRL("x"));
58 return false;
59 case CTRLC:
60 SEND_STRING(SS_LCTRL("c"));
61 return false;
62 case CTRLV:
63 SEND_STRING(SS_LCTRL("v"));
64 return false;
65 }
66 }
67 return true;
68};
diff --git a/keyboards/evyd13/atom47/keymaps/evyd13/readme.md b/keyboards/evyd13/atom47/keymaps/evyd13/readme.md
new file mode 100644
index 000000000..679595385
--- /dev/null
+++ b/keyboards/evyd13/atom47/keymaps/evyd13/readme.md
@@ -0,0 +1 @@
This is the default keymap as found on the Vortex Core, with some added buttons for RGB and backlight control.
diff --git a/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c b/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c
new file mode 100644
index 000000000..ebd52ffd0
--- /dev/null
+++ b/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c
@@ -0,0 +1,150 @@
1#include QMK_KEYBOARD_H
2
3/* enum custom_keycodes {
4 SHIFTEN = SAFE_RANGE,
5 LOWER,
6 RAISE,
7 SPACFNL,
8 SPACFNR,
9 MAIN,
10 ADJUST
11}; */
12
13#define _MAIN 0
14#define _SPLEFT 1
15#define _SPRIGHT 2
16#define _LOWER 3
17#define _RAISE 4
18#define _ADJUST 5
19
20#define _DPAD 6
21#define _DPADNUM 7
22
23
24#define SHIFTEN RSFT_T(KC_ENT)
25#define LOWER MO(_LOWER)
26#define RAISE MO(_RAISE)
27#define SPACFNL LT(_SPLEFT, KC_SPC)
28#define SPACFNR LT(_SPRIGHT, KC_SPC)
29
30#define DP_ON TO(_DPAD)
31#define DP_OFF TO(_MAIN)
32#define DPADNUM MO(_DPADNUM)
33
34
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36
37 // Primary layer
38 [_MAIN] = LAYOUT(
39 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC,
40 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
41 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTEN,
42 KC_LCTL, KC_LGUI, KC_LALT, LOWER, SPACFNL, SPACFNR, RAISE, KC_RALT, KC_APP, KC_RCTRL
43 ),
44
45 // Main Fn navigation layer
46 [_SPLEFT] = LAYOUT(
47 _______, KC_VOLU, KC_PGUP, KC_UP, KC_PGDN, KC_INS, _______, _______, KC_UP, _______, KC_PSCR, _______, _______,
48 _______, KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL ,
49 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
51 ),
52
53 // Primary numeric layer using right Spacebar
54 [_SPRIGHT] = LAYOUT(
55 KC_GRV, _______, _______, KC_LBRC, KC_RBRC, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, _______,
56 _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, KC_MINUS, KC_BSLS,
57 _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_EQUAL, _______,
58 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
59 ),
60
61 // Secondary symbol layer, also Lower
62 [_LOWER] = LAYOUT(
63 KC_TILD, _______, _______, _______, _______, _______, _______, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_SLCK, KC_PAUS,
64 KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_DLR, KC_PERC, KC_CIRC, KC_UNDS, KC_PIPE,
65 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EXLM, KC_AT, KC_HASH, KC_PLUS, _______,
66 _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY
67 ),
68
69 // Numpad layer // Also a homage to Planck with the media player/pause button
70 [_RAISE] = LAYOUT(
71 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
74 _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY
75 ),
76
77 // Safety layer for special functions
78 [_ADJUST] = LAYOUT(
79 _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DP_ON,
82 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
83 ),
84
85 [_DPAD] = LAYOUT(
86 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC,
87 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
88 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
89 KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, DPADNUM, KC_SPC, DP_OFF, KC_LEFT, KC_DOWN, KC_RGHT
90 ),
91
92 [_DPADNUM] = LAYOUT(
93 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______,
94 _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______,
95 _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
96 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
97 ),
98};
99
100bool process_record_user(uint16_t keycode, keyrecord_t *record) {
101 switch (keycode) {
102/* case MAIN:
103 if (record->event.pressed) {
104 persistant_default_layer_set(1UL<<_MAIN);
105 }
106 return false;
107 break; */
108 case LOWER:
109 if (record->event.pressed) {
110 layer_on(_LOWER);
111 update_tri_layer(_LOWER, _RAISE, _ADJUST);
112 } else {
113 layer_off(_LOWER);
114 update_tri_layer(_LOWER, _RAISE, _ADJUST);
115 }
116 return false;
117 break;
118 case RAISE:
119 if (record->event.pressed) {
120 layer_on(_RAISE);
121 update_tri_layer(_LOWER, _RAISE, _ADJUST);
122 } else {
123 layer_off(_RAISE);
124 update_tri_layer(_LOWER, _RAISE, _ADJUST);
125 }
126 return false;
127 break;
128/* case ADJUST:
129 if (record->event.pressed) {
130 layer_on(_ADJUST);
131 } else {
132 layer_off(_ADJUST);
133 }
134 return false;
135 break; */
136 }
137 return true;
138}
139
140void led_set_user(uint8_t usb_led) {
141 if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
142 // Turn capslock on
143 writePinLow(E6);
144
145
146 } else {
147 // Turn capslock off
148 writePinHigh(E6);
149 }
150}
diff --git a/keyboards/evyd13/atom47/keymaps/junonum_a47/readme.md b/keyboards/evyd13/atom47/keymaps/junonum_a47/readme.md
new file mode 100644
index 000000000..42d837023
--- /dev/null
+++ b/keyboards/evyd13/atom47/keymaps/junonum_a47/readme.md
@@ -0,0 +1 @@
Juno's junonum keymap adapted for Atom47. \ No newline at end of file
diff --git a/keyboards/evyd13/atom47/readme.md b/keyboards/evyd13/atom47/readme.md
new file mode 100644
index 000000000..70171c04d
--- /dev/null
+++ b/keyboards/evyd13/atom47/readme.md
@@ -0,0 +1,26 @@
1# Atom47
2
3![Atom47](https://i.imgur.com/Wwflqvt.png)
4
5## Support
6Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
7Hardware Supported: Atom47 rev2/rev3
8Hardware Availability: [GeekHack.com Group Buy](https://geekhack.org/index.php?topic=93447.msg2545221)
9
10
11## Features (rev3 and up)
12- QMK Firmware
13- 6 Underglow RGB leds
14- In-switch leds
15- Through-hole micro usb connector (less likely to break off!)
16- South facing leds for the QMX/Zealencio users
17- Multiple layouts
18- Easily reachable reset button under the spacebar
19- CapsLock indicator
20
21## Build
22To build the default keymap for the latest revision, simply run `make atom47:default`. Specifiy the revision like so: `make atom47/rev3:default`.
23
24See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
25
26![Atom47](https://i.imgur.com/JfYnOba.jpg)
diff --git a/keyboards/evyd13/atom47/rev2/config.h b/keyboards/evyd13/atom47/rev2/config.h
new file mode 100644
index 000000000..74061726c
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev2/config.h
@@ -0,0 +1,68 @@
1/*
2Copyright 2012 Evy Dekkers
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef REV2_CONFIG_H
19#define REV2_CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x6060
26#define DEVICE_VER 0x0003
27#define MANUFACTURER Vortex
28#define PRODUCT Core
29#define DESCRIPTION Atom47 PCB for the Vortex Core Rev.2
30
31/* key matrix size */
32#define MATRIX_ROWS 4
33#define MATRIX_COLS 13
34
35// ROWS: Top to bottom, COLS: Left to right
36
37#define MATRIX_ROW_PINS {B1,B2,B3,B7}
38#define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4}
39#define UNUSED_PINS
40
41#define BACKLIGHT_PIN B6
42
43/* COL2ROW or ROW2COL */
44#define DIODE_DIRECTION COL2ROW
45
46/* define if matrix has ghost */
47//#define MATRIX_HAS_GHOST
48
49/* Set 0 if debouncing isn't needed */
50#define DEBOUNCE 5
51
52/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
53#define LOCKING_SUPPORT_ENABLE
54/* Locking resynchronize hack */
55#define LOCKING_RESYNC_ENABLE
56
57/* Backlight configuration
58 */
59#define BACKLIGHT_LEVELS 4
60
61#define RGB_DI_PIN D0 // The pin the LED strip is connected to
62#define RGBLED_NUM 1 // Number of LEDs in your strip
63
64#define QMK_ESC_OUTPUT D7 // usually COL
65#define QMK_ESC_INPUT B1 // usually ROW
66#define QMK_LED B6
67
68#endif
diff --git a/keyboards/evyd13/atom47/rev2/info.json b/keyboards/evyd13/atom47/rev2/info.json
new file mode 100644
index 000000000..aa15e7606
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev2/info.json
@@ -0,0 +1,12 @@
1{
2 "keyboard_name": "Atom47",
3 "url": "",
4 "maintainer": "evyd13",
5 "width": 13,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}]
10 }
11 }
12}
diff --git a/keyboards/evyd13/atom47/rev2/readme.md b/keyboards/evyd13/atom47/rev2/readme.md
new file mode 100644
index 000000000..b63e1bb44
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev2/readme.md
@@ -0,0 +1,23 @@
1# Atom47 rev2
2
3This is the keymap for rev2 of the Atom47. Only 9 of those have been sold for testing purposes. It had a slightly misaligned usb port and the pcb was too thick (should've been 1.2mm instead of 1.6mm). The pcb only supports the default hardware layout, although /u/ChrisSwires has [modified his](https://www.reddit.com/r/MechanicalKeyboards/comments/7n2dua/not_your_average_core_with_honeywell/) and put a big spacebar in it.
4
5## Support
6Keyboard Maintainer: [Matthew Kerfoot](https://github.com/mkerfoot)
7Hardware Supported: Atom47 rev2
8Hardware Availability: None
9
10
11## Features
12- QMK Firmware
13- In-switch leds
14- Through-hole micro usb connector (less likely to break off!)
15- Easily reachable reset button under the spacebar
16- In-switch CapsLock indicator
17
18## Build
19To build the default keymap, simply run `make atom47/rev2:default`.
20
21For an alternative, heavily modified layout you would just need to run `make atom47/rev2:LEdiodes`.
22
23See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
diff --git a/keyboards/evyd13/atom47/rev2/rev2.c b/keyboards/evyd13/atom47/rev2/rev2.c
new file mode 100644
index 000000000..06fce06da
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev2/rev2.c
@@ -0,0 +1,34 @@
1#include "rev2.h"
2#include "led.h"
3
4void matrix_init_kb(void) {
5 // put your keyboard start-up code here
6 // runs once when the firmware starts up
7 matrix_init_user();
8 led_init_ports();
9};
10
11void matrix_scan_kb(void) {
12 // put your looping keyboard code here
13 // runs every cycle (a lot)
14 matrix_scan_user();
15};
16
17void led_init_ports(void) {
18 // * Set our LED pins as output
19 DDRB &= ~(1<<5);
20
21 //Set output high, so the capslock led is off
22 PORTB |= (1 << 5);
23}
24
25void led_set_kb(uint8_t usb_led) {
26 if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
27 // Turn capslock on
28 PORTF |= (1<<5);
29 } else {
30 // Turn capslock off
31 PORTF &= ~(1<<5);
32 }
33 led_set_user(usb_led);
34}
diff --git a/keyboards/evyd13/atom47/rev2/rev2.h b/keyboards/evyd13/atom47/rev2/rev2.h
new file mode 100644
index 000000000..bfea34e06
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev2/rev2.h
@@ -0,0 +1,25 @@
1#ifndef ATOM47_H
2#define ATOM47_H
3
4#include "quantum.h"
5
6// readability
7#define XXX KC_NO
8
9#define LAYOUT( \
10 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
11 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \
12 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \
13 k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3c \
14) \
15{ \
16 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
17 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
18 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \
19 {k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c} \
20}
21
22void matrix_init_user(void);
23void matrix_scan_user(void);
24
25#endif
diff --git a/keyboards/evyd13/atom47/rev2/rules.mk b/keyboards/evyd13/atom47/rev2/rules.mk
new file mode 100644
index 000000000..0b6b87998
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev2/rules.mk
@@ -0,0 +1,2 @@
1NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
2RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
diff --git a/keyboards/evyd13/atom47/rev3/config.h b/keyboards/evyd13/atom47/rev3/config.h
new file mode 100644
index 000000000..f255ee5a7
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev3/config.h
@@ -0,0 +1,63 @@
1/*
2Copyright 2012 Evy Dekkers
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef REV3_CONFIG_H
19#define REV3_CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x6060
26#define DEVICE_VER 0x0003
27#define MANUFACTURER Vortex
28#define PRODUCT Core
29#define DESCRIPTION Atom47 PCB for the Vortex Core Rev.3
30
31/* key matrix size */
32#define MATRIX_ROWS 4
33#define MATRIX_COLS 13
34
35// ROWS: Top to bottom, COLS: Left to right
36
37#define MATRIX_ROW_PINS {B3,B2,B1,B0}
38#define MATRIX_COL_PINS {B7,F0,F1,F4,F6,D4,D6,D7,B4,B5,C6,C7,F7}
39#define UNUSED_PINS
40
41#define BACKLIGHT_PIN B6
42
43/* COL2ROW or ROW2COL */
44#define DIODE_DIRECTION COL2ROW
45
46/* define if matrix has ghost */
47//#define MATRIX_HAS_GHOST
48
49/* Set 0 if debouncing isn't needed */
50#define DEBOUNCE 5
51
52/* Backlight configuration
53 */
54#define BACKLIGHT_LEVELS 4
55
56#define RGB_DI_PIN F5 // The pin the LED strip is connected to
57#define RGBLED_NUM 6 // Number of LEDs in your strip
58#define RGBLIGHT_ANIMATIONS
59#define QMK_ESC_OUTPUT B7 // usually COL
60#define QMK_ESC_INPUT B3 // usually ROW
61#define QMK_LED E6
62
63#endif
diff --git a/keyboards/evyd13/atom47/rev3/info.json b/keyboards/evyd13/atom47/rev3/info.json
new file mode 100644
index 000000000..aa15e7606
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev3/info.json
@@ -0,0 +1,12 @@
1{
2 "keyboard_name": "Atom47",
3 "url": "",
4 "maintainer": "evyd13",
5 "width": 13,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}]
10 }
11 }
12}
diff --git a/keyboards/evyd13/atom47/rev3/rev3.c b/keyboards/evyd13/atom47/rev3/rev3.c
new file mode 100644
index 000000000..c541ed559
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev3/rev3.c
@@ -0,0 +1,27 @@
1#include "rev3.h"
2#include "led.h"
3
4void matrix_init_kb(void) {
5 // put your keyboard start-up code here
6 // runs once when the firmware starts up
7 matrix_init_user();
8 led_init_ports();
9};
10
11void matrix_scan_kb(void) {
12 // put your looping keyboard code here
13 // runs every cycle (a lot)
14 matrix_scan_user();
15};
16
17void led_init_ports(void) {
18 // * Set our LED pins as output
19 DDRE |= (1 << 6);
20
21 //Set output high, so the capslock led is off
22 PORTE |= (1 << 6);
23}
24
25void led_set_kb(uint8_t usb_led) {
26 led_set_user(usb_led);
27}
diff --git a/keyboards/evyd13/atom47/rev3/rev3.h b/keyboards/evyd13/atom47/rev3/rev3.h
new file mode 100644
index 000000000..ad875bb40
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev3/rev3.h
@@ -0,0 +1,23 @@
1#ifndef ATOM47_REV3_H
2#define ATOM47_REV3_H
3
4#include "quantum.h"
5
6// readability
7#define XXX KC_NO
8
9#define LAYOUT( \
10 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
11 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \
12 k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
13 k30, k31, k32, k33, k35, k37, k39, k3a, k3b, k3c \
14) \
15{ \
16 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
17 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
18 {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \
19 {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c} \
20}
21
22
23#endif
diff --git a/keyboards/evyd13/atom47/rev3/rules.mk b/keyboards/evyd13/atom47/rev3/rules.mk
new file mode 100644
index 000000000..2df225e38
--- /dev/null
+++ b/keyboards/evyd13/atom47/rev3/rules.mk
@@ -0,0 +1,2 @@
1NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
2RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
diff --git a/keyboards/evyd13/atom47/rules.mk b/keyboards/evyd13/atom47/rules.mk
new file mode 100644
index 000000000..72c0b219b
--- /dev/null
+++ b/keyboards/evyd13/atom47/rules.mk
@@ -0,0 +1,28 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# comment out to disable the options.
16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
23MIDI_ENABLE = no # MIDI controls
24AUDIO_ENABLE = no
25UNICODE_ENABLE = no # Unicode
26BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
27
28DEFAULT_FOLDER = evyd13/atom47/rev3
diff --git a/keyboards/evyd13/eon40/config.h b/keyboards/evyd13/eon40/config.h
new file mode 100644
index 000000000..0e16c5704
--- /dev/null
+++ b/keyboards/evyd13/eon40/config.h
@@ -0,0 +1,226 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0x0140
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT Eon40
27#define DESCRIPTION A 40% ortholinear PCB
28
29/* key matrix size */
30#define MATRIX_ROWS 4
31#define MATRIX_COLS 12
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {B7,D5,F5,F6}
44#define MATRIX_COL_PINS {F0,F1,F4,D3,D4,D6,D7,B4,B5,B6,C6,C7}
45#define UNUSED_PINS {B1,B2,B3}
46
47#define ENCODERS_PAD_A { E6, B0, D1 }
48#define ENCODERS_PAD_B { F7, D0, D2 }
49
50/* COL2ROW, ROW2COL*/
51#define DIODE_DIRECTION COL2ROW
52
53/*
54 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
55 */
56// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
57
58// #define BACKLIGHT_PIN B7
59// #define BACKLIGHT_BREATHING
60// #define BACKLIGHT_LEVELS 3
61
62// #define RGB_DI_PIN E2
63// #ifdef RGB_DI_PIN
64// #define RGBLED_NUM 16
65// #define RGBLIGHT_HUE_STEP 8
66// #define RGBLIGHT_SAT_STEP 8
67// #define RGBLIGHT_VAL_STEP 8
68// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
69// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
70// /*== all animations enable ==*/
71// #define RGBLIGHT_ANIMATIONS
72// /*== or choose animations ==*/
73// #define RGBLIGHT_EFFECT_BREATHING
74// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
75// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
76// #define RGBLIGHT_EFFECT_SNAKE
77// #define RGBLIGHT_EFFECT_KNIGHT
78// #define RGBLIGHT_EFFECT_CHRISTMAS
79// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
80// #define RGBLIGHT_EFFECT_RGB_TEST
81// #define RGBLIGHT_EFFECT_ALTERNATING
82// /*== customize breathing effect ==*/
83// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
84// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
85// /*==== use exp() and sin() ====*/
86// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
87// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
88// #endif
89
90/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
91#define DEBOUNCE 5
92
93/* define if matrix has ghost (lacks anti-ghosting diodes) */
94//#define MATRIX_HAS_GHOST
95
96/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
97#define LOCKING_SUPPORT_ENABLE
98/* Locking resynchronize hack */
99#define LOCKING_RESYNC_ENABLE
100
101/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
102 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
103 */
104// #define GRAVE_ESC_CTRL_OVERRIDE
105
106/*
107 * Force NKRO
108 *
109 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
110 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
111 * makefile for this to work.)
112 *
113 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
114 * until the next keyboard reset.
115 *
116 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
117 * fully operational during normal computer usage.
118 *
119 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
120 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
121 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
122 * power-up.
123 *
124 */
125//#define FORCE_NKRO
126
127/*
128 * Magic Key Options
129 *
130 * Magic keys are hotkey commands that allow control over firmware functions of
131 * the keyboard. They are best used in combination with the HID Listen program,
132 * found here: https://www.pjrc.com/teensy/hid_listen.html
133 *
134 * The options below allow the magic key functionality to be changed. This is
135 * useful if your keyboard/keypad is missing keys and you want magic key support.
136 *
137 */
138
139/* key combination for magic key command */
140/* defined by default; to change, uncomment and set to the combination you want */
141// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
142
143/* control how magic key switches layers */
144//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
145//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
146//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
147
148/* override magic key keymap */
149//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
150//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
151//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
152//#define MAGIC_KEY_HELP H
153//#define MAGIC_KEY_HELP_ALT SLASH
154//#define MAGIC_KEY_DEBUG D
155//#define MAGIC_KEY_DEBUG_MATRIX X
156//#define MAGIC_KEY_DEBUG_KBD K
157//#define MAGIC_KEY_DEBUG_MOUSE M
158//#define MAGIC_KEY_VERSION V
159//#define MAGIC_KEY_STATUS S
160//#define MAGIC_KEY_CONSOLE C
161//#define MAGIC_KEY_LAYER0 0
162//#define MAGIC_KEY_LAYER0_ALT GRAVE
163//#define MAGIC_KEY_LAYER1 1
164//#define MAGIC_KEY_LAYER2 2
165//#define MAGIC_KEY_LAYER3 3
166//#define MAGIC_KEY_LAYER4 4
167//#define MAGIC_KEY_LAYER5 5
168//#define MAGIC_KEY_LAYER6 6
169//#define MAGIC_KEY_LAYER7 7
170//#define MAGIC_KEY_LAYER8 8
171//#define MAGIC_KEY_LAYER9 9
172//#define MAGIC_KEY_BOOTLOADER B
173//#define MAGIC_KEY_BOOTLOADER_ALT ESC
174//#define MAGIC_KEY_LOCK CAPS
175//#define MAGIC_KEY_EEPROM E
176//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
177//#define MAGIC_KEY_NKRO N
178//#define MAGIC_KEY_SLEEP_LED Z
179
180/*
181 * Feature disable options
182 * These options are also useful to firmware size reduction.
183 */
184
185/* disable debug print */
186//#define NO_DEBUG
187
188/* disable print */
189//#define NO_PRINT
190
191/* disable action features */
192//#define NO_ACTION_LAYER
193//#define NO_ACTION_TAPPING
194//#define NO_ACTION_ONESHOT
195//#define NO_ACTION_MACRO
196//#define NO_ACTION_FUNCTION
197
198/*
199 * MIDI options
200 */
201
202/* Prevent use of disabled MIDI features in the keymap */
203//#define MIDI_ENABLE_STRICT 1
204
205/* enable basic MIDI features:
206 - MIDI notes can be sent when in Music mode is on
207*/
208//#define MIDI_BASIC
209
210/* enable advanced MIDI features:
211 - MIDI notes can be added to the keymap
212 - Octave shift and transpose
213 - Virtual sustain, portamento, and modulation wheel
214 - etc.
215*/
216//#define MIDI_ADVANCED
217
218/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
219//#define MIDI_TONE_KEYCODE_OCTAVES 1
220
221/* Bootmagic Lite key configuration */
222// #define BOOTMAGIC_LITE_ROW 0
223// #define BOOTMAGIC_LITE_COLUMN 0
224
225#define QMK_ESC_OUTPUT F0 // usually COL
226#define QMK_ESC_INPUT B7 // usually ROW
diff --git a/keyboards/evyd13/eon40/eon40.c b/keyboards/evyd13/eon40/eon40.c
new file mode 100644
index 000000000..014fca9d4
--- /dev/null
+++ b/keyboards/evyd13/eon40/eon40.c
@@ -0,0 +1,16 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "eon40.h"
diff --git a/keyboards/evyd13/eon40/eon40.h b/keyboards/evyd13/eon40/eon40.h
new file mode 100644
index 000000000..03e680d8b
--- /dev/null
+++ b/keyboards/evyd13/eon40/eon40.h
@@ -0,0 +1,67 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29
30#define LAYOUT_ortho_4x12( \
31 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
32 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
33 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
34 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
35) \
36{ \
37 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
38 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
39 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
40 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \
41}
42
43#define LAYOUT_planck_mit( \
44 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
45 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
46 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
47 k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b \
48) \
49{ \
50 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
51 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
52 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
53 { k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b } \
54}
55
56#define LAYOUT_ortho_4x12_2x2u( \
57 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
58 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
59 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
60 k30, k31, k32, k33, k34, k37, k38, k39, k3a, k3b \
61) \
62{ \
63 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
64 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
65 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
66 { k30, k31, k32, k33, k34, XXX, XXX, k37, k38, k39, k3a, k3b } \
67}
diff --git a/keyboards/evyd13/eon40/info.json b/keyboards/evyd13/eon40/info.json
new file mode 100644
index 000000000..056be65d0
--- /dev/null
+++ b/keyboards/evyd13/eon40/info.json
@@ -0,0 +1,18 @@
1{
2 "keyboard_name": "Eon40",
3 "url": "https://maartenwut.com/product/eon40/",
4 "maintainer": "qmk",
5 "width": 12,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_ortho_4x12": {
9 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
10 },
11 "LAYOUT_planck_mit": {
12 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3, "w":2}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
13 },
14 "LAYOUT_ortho_4x12_2x2u": {
15 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3, "w":2}, {"x":6, "y":3, "w":2}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
16 }
17 }
18}
diff --git a/keyboards/evyd13/eon40/keymaps/default/keymap.c b/keyboards/evyd13/eon40/keymaps/default/keymap.c
new file mode 100644
index 000000000..2cfb5744c
--- /dev/null
+++ b/keyboards/evyd13/eon40/keymaps/default/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22
23#define _MA 0 //Main layer
24#define _LO 1 //Low
25#define _HI 2 //High
26
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28[_MA] = LAYOUT_ortho_4x12(
29 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
30 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
31 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_RALT, MO(_LO), KC_SPC, KC_BSPC, MO(_HI), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
33
34[_LO] = LAYOUT_ortho_4x12(
35 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
36 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
37 _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET),
39
40[_HI] = LAYOUT_ortho_4x12(
41 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______,
42 KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
45
46}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon40/keymaps/default/readme.md b/keyboards/evyd13/eon40/keymaps/default/readme.md
new file mode 100644
index 000000000..7185afb0e
--- /dev/null
+++ b/keyboards/evyd13/eon40/keymaps/default/readme.md
@@ -0,0 +1 @@
This is the default keymap for the Eon40.
diff --git a/keyboards/evyd13/eon40/keymaps/via/keymap.c b/keyboards/evyd13/eon40/keymaps/via/keymap.c
new file mode 100644
index 000000000..3af6d609a
--- /dev/null
+++ b/keyboards/evyd13/eon40/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_ortho_4x12(
20 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
21 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
22 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
23 KC_LCTL, KC_LGUI, KC_LALT, KC_RALT, MO(1), KC_SPC, KC_BSPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_MPLY),
24
25[1] = LAYOUT_ortho_4x12(
26 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
27 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
28 _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET),
30
31[2] = LAYOUT_ortho_4x12(
32 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______,
33 KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
36
37[3] = LAYOUT_ortho_4x12(
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
42
43}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon40/keymaps/via/rules.mk b/keyboards/evyd13/eon40/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/eon40/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/eon40/readme.md b/keyboards/evyd13/eon40/readme.md
new file mode 100644
index 000000000..5a4e8e3f2
--- /dev/null
+++ b/keyboards/evyd13/eon40/readme.md
@@ -0,0 +1,21 @@
1# Eon40
2
3## Support
4* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
5* Hardware Supported: Eon40
6* Hardware Availability: [maartenwut.com](https://maartenwut.com)
7
8
9## Features
10- QMK Firmware
11- 19mm switch spacing
12- USB-C Connector
13- Up to three rotary encoders
14- No leds
15
16## Build
17Make example for this keyboard (after setting up your build environment):
18
19 make evyd13/eon40:default
20
21See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/eon40/rules.mk b/keyboards/evyd13/eon40/rules.mk
new file mode 100644
index 000000000..a1a2f76d4
--- /dev/null
+++ b/keyboards/evyd13/eon40/rules.mk
@@ -0,0 +1,36 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
33ENCODER_ENABLE = yes
34
35LAYOUTS = ortho_4x12 planck_mit
36LAYOUTS_HAS_RGB = no
diff --git a/keyboards/evyd13/eon65/config.h b/keyboards/evyd13/eon65/config.h
new file mode 100644
index 000000000..875ccb26b
--- /dev/null
+++ b/keyboards/evyd13/eon65/config.h
@@ -0,0 +1,220 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0xAEB4
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT Eon65
27#define DESCRIPTION A 65% PCB
28
29/* key matrix size */
30#define MATRIX_ROWS 5
31#define MATRIX_COLS 16
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {D3,D5,B1,B2,B3}
44#define MATRIX_COL_PINS {B0,D2,D4,D6,D7,B4,B5,B6,C6,C7,F7,F6,F5,F4,F1,F0}
45#define UNUSED_PINS {B7,D0,D1}
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55// #define BACKLIGHT_PIN B7
56// #define BACKLIGHT_BREATHING
57// #define BACKLIGHT_LEVELS 3
58
59 #define RGB_DI_PIN E6
60 #ifdef RGB_DI_PIN
61 #define RGBLED_NUM 10
62// #define RGBLIGHT_HUE_STEP 8
63// #define RGBLIGHT_SAT_STEP 8
64// #define RGBLIGHT_VAL_STEP 8
65// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67// /*== all animations enable ==*/
68 #define RGBLIGHT_ANIMATIONS
69// /*== or choose animations ==*/
70// #define RGBLIGHT_EFFECT_BREATHING
71// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
72// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73// #define RGBLIGHT_EFFECT_SNAKE
74// #define RGBLIGHT_EFFECT_KNIGHT
75// #define RGBLIGHT_EFFECT_CHRISTMAS
76// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
77// #define RGBLIGHT_EFFECT_RGB_TEST
78// #define RGBLIGHT_EFFECT_ALTERNATING
79// /*== customize breathing effect ==*/
80// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82// /*==== use exp() and sin() ====*/
83// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85 #endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
89
90/* define if matrix has ghost (lacks anti-ghosting diodes) */
91//#define MATRIX_HAS_GHOST
92
93/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
94#define LOCKING_SUPPORT_ENABLE
95/* Locking resynchronize hack */
96#define LOCKING_RESYNC_ENABLE
97
98/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
99 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
100 */
101// #define GRAVE_ESC_CTRL_OVERRIDE
102
103/*
104 * Force NKRO
105 *
106 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
107 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
108 * makefile for this to work.)
109 *
110 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
111 * until the next keyboard reset.
112 *
113 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
114 * fully operational during normal computer usage.
115 *
116 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
117 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
118 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
119 * power-up.
120 *
121 */
122//#define FORCE_NKRO
123
124/*
125 * Magic Key Options
126 *
127 * Magic keys are hotkey commands that allow control over firmware functions of
128 * the keyboard. They are best used in combination with the HID Listen program,
129 * found here: https://www.pjrc.com/teensy/hid_listen.html
130 *
131 * The options below allow the magic key functionality to be changed. This is
132 * useful if your keyboard/keypad is missing keys and you want magic key support.
133 *
134 */
135
136/* key combination for magic key command */
137/* defined by default; to change, uncomment and set to the combination you want */
138// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
139
140/* control how magic key switches layers */
141//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
142//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
143//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
144
145/* override magic key keymap */
146//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
147//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
148//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
149//#define MAGIC_KEY_HELP H
150//#define MAGIC_KEY_HELP_ALT SLASH
151//#define MAGIC_KEY_DEBUG D
152//#define MAGIC_KEY_DEBUG_MATRIX X
153//#define MAGIC_KEY_DEBUG_KBD K
154//#define MAGIC_KEY_DEBUG_MOUSE M
155//#define MAGIC_KEY_VERSION V
156//#define MAGIC_KEY_STATUS S
157//#define MAGIC_KEY_CONSOLE C
158//#define MAGIC_KEY_LAYER0 0
159//#define MAGIC_KEY_LAYER0_ALT GRAVE
160//#define MAGIC_KEY_LAYER1 1
161//#define MAGIC_KEY_LAYER2 2
162//#define MAGIC_KEY_LAYER3 3
163//#define MAGIC_KEY_LAYER4 4
164//#define MAGIC_KEY_LAYER5 5
165//#define MAGIC_KEY_LAYER6 6
166//#define MAGIC_KEY_LAYER7 7
167//#define MAGIC_KEY_LAYER8 8
168//#define MAGIC_KEY_LAYER9 9
169//#define MAGIC_KEY_BOOTLOADER B
170//#define MAGIC_KEY_BOOTLOADER_ALT ESC
171//#define MAGIC_KEY_LOCK CAPS
172//#define MAGIC_KEY_EEPROM E
173//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
174//#define MAGIC_KEY_NKRO N
175//#define MAGIC_KEY_SLEEP_LED Z
176
177/*
178 * Feature disable options
179 * These options are also useful to firmware size reduction.
180 */
181
182/* disable debug print */
183//#define NO_DEBUG
184
185/* disable print */
186//#define NO_PRINT
187
188/* disable action features */
189//#define NO_ACTION_LAYER
190//#define NO_ACTION_TAPPING
191//#define NO_ACTION_ONESHOT
192//#define NO_ACTION_MACRO
193//#define NO_ACTION_FUNCTION
194
195/*
196 * MIDI options
197 */
198
199/* Prevent use of disabled MIDI features in the keymap */
200//#define MIDI_ENABLE_STRICT 1
201
202/* enable basic MIDI features:
203 - MIDI notes can be sent when in Music mode is on
204*/
205//#define MIDI_BASIC
206
207/* enable advanced MIDI features:
208 - MIDI notes can be added to the keymap
209 - Octave shift and transpose
210 - Virtual sustain, portamento, and modulation wheel
211 - etc.
212*/
213//#define MIDI_ADVANCED
214
215/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
216//#define MIDI_TONE_KEYCODE_OCTAVES 1
217
218/* Bootmagic Lite key configuration */
219// #define BOOTMAGIC_LITE_ROW 0
220// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/evyd13/eon65/eon65.c b/keyboards/evyd13/eon65/eon65.c
new file mode 100644
index 000000000..cdbe987eb
--- /dev/null
+++ b/keyboards/evyd13/eon65/eon65.c
@@ -0,0 +1,16 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "eon65.h"
diff --git a/keyboards/evyd13/eon65/eon65.h b/keyboards/evyd13/eon65/eon65.h
new file mode 100644
index 000000000..21cfd0664
--- /dev/null
+++ b/keyboards/evyd13/eon65/eon65.h
@@ -0,0 +1,103 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29
30#define LAYOUT_all( \
31 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d, k0e, \
32 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
33 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
34 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
35 k40, k41, k42, k46, k49, k4a, k4b, k4c, k4d, k4e \
36) \
37{ \
38 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \
39 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, XXX }, \
40 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, XXX }, \
41 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \
42 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, k4a, k4b, k4c, k4d, k4e, XXX } \
43}
44
45#define LAYOUT_65_ansi( \
46 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
47 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
48 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \
49 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
50 k40, k41, k42, k46, k49, k4a, k4b, k4c, k4d, k4e \
51) \
52{ \
53 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, XXX }, \
54 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, XXX }, \
55 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, k2e, XXX }, \
56 { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \
57 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, k4a, k4b, k4c, k4d, k4e, XXX } \
58}
59
60#define LAYOUT_65_ansi_blocker( \
61 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
62 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
63 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \
64 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
65 k40, k41, k42, k46, k49, k4a, k4c, k4d, k4e \
66) \
67{ \
68 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, XXX }, \
69 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, XXX }, \
70 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, k2e, XXX }, \
71 { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \
72 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, k4a, XXX, k4c, k4d, k4e, XXX } \
73}
74
75#define LAYOUT_65_iso( \
76 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
77 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
78 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
79 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
80 k40, k41, k42, k46, k49, k4a, k4b, k4c, k4d, k4e \
81) \
82{ \
83 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, XXX }, \
84 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e, XXX }, \
85 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, XXX }, \
86 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \
87 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, k4a, k4b, k4c, k4d, k4e, XXX } \
88}
89
90#define LAYOUT_65_iso_blocker( \
91 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
92 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
93 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
94 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
95 k40, k41, k42, k46, k49, k4a, k4c, k4d, k4e \
96) \
97{ \
98 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, XXX }, \
99 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e, XXX }, \
100 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, XXX }, \
101 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \
102 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, k4a, XXX, k4c, k4d, k4e, XXX } \
103}
diff --git a/keyboards/evyd13/eon65/info.json b/keyboards/evyd13/eon65/info.json
new file mode 100644
index 000000000..1a9f74957
--- /dev/null
+++ b/keyboards/evyd13/eon65/info.json
@@ -0,0 +1,392 @@
1{
2 "keyboard_name": "Eon65",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 16,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0},
24 {"x":14, "y":0},
25 {"x":15, "y":0},
26
27 {"x":0, "y":1, "w":1.5},
28 {"x":1.5, "y":1},
29 {"x":2.5, "y":1},
30 {"x":3.5, "y":1},
31 {"x":4.5, "y":1},
32 {"x":5.5, "y":1},
33 {"x":6.5, "y":1},
34 {"x":7.5, "y":1},
35 {"x":8.5, "y":1},
36 {"x":9.5, "y":1},
37 {"x":10.5, "y":1},
38 {"x":11.5, "y":1},
39 {"x":12.5, "y":1},
40 {"x":13.5, "y":1, "w":1.5},
41 {"x":15, "y":1},
42
43 {"x":0, "y":2, "w":1.75},
44 {"x":1.75, "y":2},
45 {"x":2.75, "y":2},
46 {"x":3.75, "y":2},
47 {"x":4.75, "y":2},
48 {"x":5.75, "y":2},
49 {"x":6.75, "y":2},
50 {"x":7.75, "y":2},
51 {"x":8.75, "y":2},
52 {"x":9.75, "y":2},
53 {"x":10.75, "y":2},
54 {"x":11.75, "y":2},
55 {"x":12.75, "y":2},
56 {"x":13.75, "y":2, "w":1.25},
57 {"x":15, "y":2},
58
59 {"x":0, "y":3, "w":1.25},
60 {"x":1.25, "y":3},
61 {"x":2.25, "y":3},
62 {"x":3.25, "y":3},
63 {"x":4.25, "y":3},
64 {"x":5.25, "y":3},
65 {"x":6.25, "y":3},
66 {"x":7.25, "y":3},
67 {"x":8.25, "y":3},
68 {"x":9.25, "y":3},
69 {"x":10.25, "y":3},
70 {"x":11.25, "y":3},
71 {"x":12.25, "y":3, "w":1.75},
72 {"x":14, "y":3},
73 {"x":15, "y":3},
74
75 {"x":0, "y":4, "w":1.25},
76 {"x":1.25, "y":4, "w":1.25},
77 {"x":2.5, "y":4, "w":1.25},
78 {"x":3.75, "y":4, "w":6.25},
79 {"x":10, "y":4},
80 {"x":11, "y":4},
81 {"x":12, "y":4},
82 {"x":13, "y":4},
83 {"x":14, "y":4},
84 {"x":15, "y":4}
85 ]
86 },
87 "LAYOUT_65_ansi": {
88 "layout": [
89 {"x":0, "y":0},
90 {"x":1, "y":0},
91 {"x":2, "y":0},
92 {"x":3, "y":0},
93 {"x":4, "y":0},
94 {"x":5, "y":0},
95 {"x":6, "y":0},
96 {"x":7, "y":0},
97 {"x":8, "y":0},
98 {"x":9, "y":0},
99 {"x":10, "y":0},
100 {"x":11, "y":0},
101 {"x":12, "y":0},
102 {"x":13, "y":0, "w":2},
103 {"x":15, "y":0},
104
105 {"x":0, "y":1, "w":1.5},
106 {"x":1.5, "y":1},
107 {"x":2.5, "y":1},
108 {"x":3.5, "y":1},
109 {"x":4.5, "y":1},
110 {"x":5.5, "y":1},
111 {"x":6.5, "y":1},
112 {"x":7.5, "y":1},
113 {"x":8.5, "y":1},
114 {"x":9.5, "y":1},
115 {"x":10.5, "y":1},
116 {"x":11.5, "y":1},
117 {"x":12.5, "y":1},
118 {"x":13.5, "y":1, "w":1.5},
119 {"x":15, "y":1},
120
121 {"x":0, "y":2, "w":1.75},
122 {"x":1.75, "y":2},
123 {"x":2.75, "y":2},
124 {"x":3.75, "y":2},
125 {"x":4.75, "y":2},
126 {"x":5.75, "y":2},
127 {"x":6.75, "y":2},
128 {"x":7.75, "y":2},
129 {"x":8.75, "y":2},
130 {"x":9.75, "y":2},
131 {"x":10.75, "y":2},
132 {"x":11.75, "y":2},
133 {"x":12.75, "y":2, "w":2.25},
134 {"x":15, "y":2},
135
136 {"x":0, "y":3, "w":2.25},
137 {"x":2.25, "y":3},
138 {"x":3.25, "y":3},
139 {"x":4.25, "y":3},
140 {"x":5.25, "y":3},
141 {"x":6.25, "y":3},
142 {"x":7.25, "y":3},
143 {"x":8.25, "y":3},
144 {"x":9.25, "y":3},
145 {"x":10.25, "y":3},
146 {"x":11.25, "y":3},
147 {"x":12.25, "y":3, "w":1.75},
148 {"x":14, "y":3},
149 {"x":15, "y":3},
150
151 {"x":0, "y":4, "w":1.25},
152 {"x":1.25, "y":4, "w":1.25},
153 {"x":2.5, "y":4, "w":1.25},
154 {"x":3.75, "y":4, "w":6.25},
155 {"x":10, "y":4},
156 {"x":11, "y":4},
157 {"x":12, "y":4},
158 {"x":13, "y":4},
159 {"x":14, "y":4},
160 {"x":15, "y":4}
161 ]
162 },
163 "LAYOUT_65_ansi_blocker": {
164 "layout": [
165 {"x":0, "y":0},
166 {"x":1, "y":0},
167 {"x":2, "y":0},
168 {"x":3, "y":0},
169 {"x":4, "y":0},
170 {"x":5, "y":0},
171 {"x":6, "y":0},
172 {"x":7, "y":0},
173 {"x":8, "y":0},
174 {"x":9, "y":0},
175 {"x":10, "y":0},
176 {"x":11, "y":0},
177 {"x":12, "y":0},
178 {"x":13, "y":0, "w":2},
179 {"x":15, "y":0},
180
181 {"x":0, "y":1, "w":1.5},
182 {"x":1.5, "y":1},
183 {"x":2.5, "y":1},
184 {"x":3.5, "y":1},
185 {"x":4.5, "y":1},
186 {"x":5.5, "y":1},
187 {"x":6.5, "y":1},
188 {"x":7.5, "y":1},
189 {"x":8.5, "y":1},
190 {"x":9.5, "y":1},
191 {"x":10.5, "y":1},
192 {"x":11.5, "y":1},
193 {"x":12.5, "y":1},
194 {"x":13.5, "y":1, "w":1.5},
195 {"x":15, "y":1},
196
197 {"x":0, "y":2, "w":1.75},
198 {"x":1.75, "y":2},
199 {"x":2.75, "y":2},
200 {"x":3.75, "y":2},
201 {"x":4.75, "y":2},
202 {"x":5.75, "y":2},
203 {"x":6.75, "y":2},
204 {"x":7.75, "y":2},
205 {"x":8.75, "y":2},
206 {"x":9.75, "y":2},
207 {"x":10.75, "y":2},
208 {"x":11.75, "y":2},
209 {"x":12.75, "y":2, "w":2.25},
210 {"x":15, "y":2},
211
212 {"x":0, "y":3, "w":2.25},
213 {"x":2.25, "y":3},
214 {"x":3.25, "y":3},
215 {"x":4.25, "y":3},
216 {"x":5.25, "y":3},
217 {"x":6.25, "y":3},
218 {"x":7.25, "y":3},
219 {"x":8.25, "y":3},
220 {"x":9.25, "y":3},
221 {"x":10.25, "y":3},
222 {"x":11.25, "y":3},
223 {"x":12.25, "y":3, "w":1.75},
224 {"x":14, "y":3},
225 {"x":15, "y":3},
226
227 {"x":0, "y":4, "w":1.25},
228 {"x":1.25, "y":4, "w":1.25},
229 {"x":2.5, "y":4, "w":1.25},
230 {"x":3.75, "y":4, "w":6.25},
231 {"x":10, "y":4, "w":1.25},
232 {"x":11.25, "y":4, "w":1.25},
233 {"x":13, "y":4},
234 {"x":14, "y":4},
235 {"x":15, "y":4}
236 ]
237 },
238 "LAYOUT_65_iso": {
239 "layout": [
240 {"x":0, "y":0},
241 {"x":1, "y":0},
242 {"x":2, "y":0},
243 {"x":3, "y":0},
244 {"x":4, "y":0},
245 {"x":5, "y":0},
246 {"x":6, "y":0},
247 {"x":7, "y":0},
248 {"x":8, "y":0},
249 {"x":9, "y":0},
250 {"x":10, "y":0},
251 {"x":11, "y":0},
252 {"x":12, "y":0},
253 {"x":13, "y":0, "w":2},
254 {"x":15, "y":0},
255
256 {"x":0, "y":1, "w":1.5},
257 {"x":1.5, "y":1},
258 {"x":2.5, "y":1},
259 {"x":3.5, "y":1},
260 {"x":4.5, "y":1},
261 {"x":5.5, "y":1},
262 {"x":6.5, "y":1},
263 {"x":7.5, "y":1},
264 {"x":8.5, "y":1},
265 {"x":9.5, "y":1},
266 {"x":10.5, "y":1},
267 {"x":11.5, "y":1},
268 {"x":12.5, "y":1},
269 {"x":15, "y":1},
270
271 {"x":0, "y":2, "w":1.75},
272 {"x":1.75, "y":2},
273 {"x":2.75, "y":2},
274 {"x":3.75, "y":2},
275 {"x":4.75, "y":2},
276 {"x":5.75, "y":2},
277 {"x":6.75, "y":2},
278 {"x":7.75, "y":2},
279 {"x":8.75, "y":2},
280 {"x":9.75, "y":2},
281 {"x":10.75, "y":2},
282 {"x":11.75, "y":2},
283 {"x":12.75, "y":2},
284 {"x":13.75, "y":1, "w":1.25, "h":2},
285 {"x":15, "y":2},
286
287 {"x":0, "y":3, "w":1.25},
288 {"x":1.25, "y":3},
289 {"x":2.25, "y":3},
290 {"x":3.25, "y":3},
291 {"x":4.25, "y":3},
292 {"x":5.25, "y":3},
293 {"x":6.25, "y":3},
294 {"x":7.25, "y":3},
295 {"x":8.25, "y":3},
296 {"x":9.25, "y":3},
297 {"x":10.25, "y":3},
298 {"x":11.25, "y":3},
299 {"x":12.25, "y":3, "w":1.75},
300 {"x":14, "y":3},
301 {"x":15, "y":3},
302
303 {"x":0, "y":4, "w":1.25},
304 {"x":1.25, "y":4, "w":1.25},
305 {"x":2.5, "y":4, "w":1.25},
306 {"x":3.75, "y":4, "w":6.25},
307 {"x":10, "y":4},
308 {"x":11, "y":4},
309 {"x":12, "y":4},
310 {"x":13, "y":4},
311 {"x":14, "y":4},
312 {"x":15, "y":4}
313 ]
314 },
315 "LAYOUT_65_iso_blocker": {
316 "layout": [
317 {"x":0, "y":0},
318 {"x":1, "y":0},
319 {"x":2, "y":0},
320 {"x":3, "y":0},
321 {"x":4, "y":0},
322 {"x":5, "y":0},
323 {"x":6, "y":0},
324 {"x":7, "y":0},
325 {"x":8, "y":0},
326 {"x":9, "y":0},
327 {"x":10, "y":0},
328 {"x":11, "y":0},
329 {"x":12, "y":0},
330 {"x":13, "y":0, "w":2},
331 {"x":15, "y":0},
332
333 {"x":0, "y":1, "w":1.5},
334 {"x":1.5, "y":1},
335 {"x":2.5, "y":1},
336 {"x":3.5, "y":1},
337 {"x":4.5, "y":1},
338 {"x":5.5, "y":1},
339 {"x":6.5, "y":1},
340 {"x":7.5, "y":1},
341 {"x":8.5, "y":1},
342 {"x":9.5, "y":1},
343 {"x":10.5, "y":1},
344 {"x":11.5, "y":1},
345 {"x":12.5, "y":1},
346 {"x":15, "y":1},
347
348 {"x":0, "y":2, "w":1.75},
349 {"x":1.75, "y":2},
350 {"x":2.75, "y":2},
351 {"x":3.75, "y":2},
352 {"x":4.75, "y":2},
353 {"x":5.75, "y":2},
354 {"x":6.75, "y":2},
355 {"x":7.75, "y":2},
356 {"x":8.75, "y":2},
357 {"x":9.75, "y":2},
358 {"x":10.75, "y":2},
359 {"x":11.75, "y":2},
360 {"x":12.75, "y":2},
361 {"x":13.75, "y":1, "w":1.25, "h":2},
362 {"x":15, "y":2},
363
364 {"x":0, "y":3, "w":1.25},
365 {"x":1.25, "y":3},
366 {"x":2.25, "y":3},
367 {"x":3.25, "y":3},
368 {"x":4.25, "y":3},
369 {"x":5.25, "y":3},
370 {"x":6.25, "y":3},
371 {"x":7.25, "y":3},
372 {"x":8.25, "y":3},
373 {"x":9.25, "y":3},
374 {"x":10.25, "y":3},
375 {"x":11.25, "y":3},
376 {"x":12.25, "y":3, "w":1.75},
377 {"x":14, "y":3},
378 {"x":15, "y":3},
379
380 {"x":0, "y":4, "w":1.25},
381 {"x":1.25, "y":4, "w":1.25},
382 {"x":2.5, "y":4, "w":1.25},
383 {"x":3.75, "y":4, "w":6.25},
384 {"x":10, "y":4, "w":1.25},
385 {"x":11.25, "y":4, "w":1.25},
386 {"x":13, "y":4},
387 {"x":14, "y":4},
388 {"x":15, "y":4}
389 ]
390 }
391 }
392}
diff --git a/keyboards/evyd13/eon65/keymaps/default/keymap.c b/keyboards/evyd13/eon65/keymaps/default/keymap.c
new file mode 100644
index 000000000..d7fc26de0
--- /dev/null
+++ b/keyboards/evyd13/eon65/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_all(
20 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
21 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
22 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
23 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
25[1] = LAYOUT_all(
26 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
31
32}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c b/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c
new file mode 100644
index 000000000..f9c7178f6
--- /dev/null
+++ b/keyboards/evyd13/eon65/keymaps/mrsendyyk/keymap.c
@@ -0,0 +1,46 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5 /*
6 * Default Layer [0]
7 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
8 * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │Del│
9 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
10 * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │P U│
11 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
12 * │Caps L│A │S │D │F │G │H │J │K │L │; │' │Return │P D│
13 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
14 * │Shift │Z │X │C │V │B │N │M │, │. │/ │Shift │↑ │Fn │
15 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬┬┬───┼───┼───┤
16 * │Ctrl│Opt │Cmd │ Space │Cmd │Opt │█│← │↓ │→ │
17 * └────┴────┴────┴────────────────────────┴────┴────┴┴┴───┴───┴───┘
18 */
19 [0] = LAYOUT_65_ansi_blocker(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
20 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
21 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
22 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_UP, MO(1),
23 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
24 ),
25
26 /*
27 * Fn Layer [1]
28 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
29 * │` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │
30 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
31 * │Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│ │
32 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
33 * │Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │ │
34 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
35 * │Vol+ │ │ │Cal│ │ │N L│Ml │ │ │ │Pause │ │ │
36 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬┬┬───┼───┼───┤
37 * │Vol-│Rwd │F FD│ Play │Stp │ │█│Prv│ │Nxt│
38 * └────┴────┴────┴────────────────────────┴────┴────┴┴┴───┴───┴───┘
39 */
40 [1] = LAYOUT_65_ansi_blocker(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
41 KC_BRIU, KC_TRNS, KC_TRNS, KC_END, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_EJCT, KC_TRNS,
42 KC_BRID, KC_TRNS, KC_SLCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS,
43 KC_VOLU, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_NLCK, KC_MAIL, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_TRNS, KC_TRNS,
44 KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, KC_MSTP, KC_NO, KC_MPRV, KC_NO, KC_MNXT
45 )
46};
diff --git a/keyboards/evyd13/eon65/keymaps/mrsendyyk/readme.md b/keyboards/evyd13/eon65/keymaps/mrsendyyk/readme.md
new file mode 100644
index 000000000..333577030
--- /dev/null
+++ b/keyboards/evyd13/eon65/keymaps/mrsendyyk/readme.md
@@ -0,0 +1,38 @@
1# [Sendy YK](https://mr.sendyyk.com)'s Keymap
2`LAYOUT_65_ansi_blocker`
3
4### Default Layer [0]
5```
6┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
7│Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │Del│
8├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
9│Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │P U│
10├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
11│Caps L│A │S │D │F │G │H │J │K │L │; │' │Return │P D│
12├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
13│Shift │Z │X │C │V │B │N │M │, │. │/ │Shift │↑ │Fn │
14├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬┬┬───┼───┼───┤
15│Ctrl│Opt │Cmd │ Space │Cmd │Opt │█│← │↓ │→ │
16└────┴────┴────┴────────────────────────┴────┴────┴┴┴───┴───┴───┘
17```
18
19### Fn Layer [1]
20```
21┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
22│` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │ │
23├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
24│Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│ │
25├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
26│Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │ │
27├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
28│Vol+ │ │ │Cal│ │ │N L│Ml │ │ │ │Pause │ │ │
29├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬┬┬───┼───┼───┤
30│Vol-│Rwd │F FD│ Play │Stp │ │█│Prv│ │Nxt│
31└────┴────┴────┴────────────────────────┴────┴────┴┴┴───┴───┴───┘
32```
33
34## Build The Firmware
35You will need to build the firmware. To do so go to your terminal window and run the compile command:
36
37 qmk compile -kb evyd13/eon65 -km mrsendyyk
38See [The Complete Newbs Guide To QMK](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/evyd13/eon65/keymaps/via/keymap.c b/keyboards/evyd13/eon65/keymaps/via/keymap.c
new file mode 100644
index 000000000..d341f1040
--- /dev/null
+++ b/keyboards/evyd13/eon65/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_all(
20 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
21 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
22 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
23 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
25[1] = LAYOUT_all(
26 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
31[2] = LAYOUT_all(
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
37[3] = LAYOUT_all(
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
43}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon65/keymaps/via/rules.mk b/keyboards/evyd13/eon65/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/eon65/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/eon65/readme.md b/keyboards/evyd13/eon65/readme.md
new file mode 100644
index 000000000..e7487e4c8
--- /dev/null
+++ b/keyboards/evyd13/eon65/readme.md
@@ -0,0 +1,13 @@
1# Eon65
2
3## Support
4* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
5* Hardware Supported: Eon65
6* Hardware Availability: None
7
8## Build
9Make example for this keyboard (after setting up your build environment):
10
11 make evyd13/eon65:default
12
13See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/eon65/rules.mk b/keyboards/evyd13/eon65/rules.mk
new file mode 100644
index 000000000..e34ef7475
--- /dev/null
+++ b/keyboards/evyd13/eon65/rules.mk
@@ -0,0 +1,34 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = atmel-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
33
34LAYOUTS = 65_ansi 65_ansi_blocker 65_iso 65_iso_blocker
diff --git a/keyboards/evyd13/eon75/config.h b/keyboards/evyd13/eon75/config.h
new file mode 100644
index 000000000..504ed1182
--- /dev/null
+++ b/keyboards/evyd13/eon75/config.h
@@ -0,0 +1,221 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0x5C62
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT Eon75
27#define DESCRIPTION A 75% PCB
28
29/* key matrix size */
30#define MATRIX_ROWS 12
31#define MATRIX_COLS 8
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {D1,D0,D3,D2,D6,D4,D7,B4,B5,B6,C6,C7}
44#define MATRIX_COL_PINS {E6,F0,F1,F4,F5,F6,F7,B3}
45#define UNUSED_PINS {B2,B1}
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55// #define BACKLIGHT_PIN B7
56// #define BACKLIGHT_BREATHING
57// #define BACKLIGHT_LEVELS 3
58
59// #define RGB_DI_PIN D0
60// #ifdef RGB_DI_PIN
61// #define RGBLED_NUM 12
62// #define RGBLIGHT_HUE_STEP 8
63// #define RGBLIGHT_SAT_STEP 8
64// #define RGBLIGHT_VAL_STEP 8
65// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67// /*== all animations enable ==*/
68// #define RGBLIGHT_ANIMATIONS
69// /*== or choose animations ==*/
70// #define RGBLIGHT_EFFECT_BREATHING
71// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
72// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73// #define RGBLIGHT_EFFECT_SNAKE
74// #define RGBLIGHT_EFFECT_KNIGHT
75// #define RGBLIGHT_EFFECT_CHRISTMAS
76// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
77// #define RGBLIGHT_EFFECT_RGB_TEST
78// #define RGBLIGHT_EFFECT_ALTERNATING
79// /*== customize breathing effect ==*/
80// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82// /*==== use exp() and sin() ====*/
83// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85// #endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
89
90/* define if matrix has ghost (lacks anti-ghosting diodes) */
91//#define MATRIX_HAS_GHOST
92
93/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
94#define LOCKING_SUPPORT_ENABLE
95/* Locking resynchronize hack */
96#define LOCKING_RESYNC_ENABLE
97
98/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
99 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
100 */
101// #define GRAVE_ESC_CTRL_OVERRIDE
102
103/*
104 * Force NKRO
105 *
106 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
107 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
108 * makefile for this to work.)
109 *
110 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
111 * until the next keyboard reset.
112 *
113 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
114 * fully operational during normal computer usage.
115 *
116 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
117 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
118 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
119 * power-up.
120 *
121 */
122//#define FORCE_NKRO
123
124/*
125 * Magic Key Options
126 *
127 * Magic keys are hotkey commands that allow control over firmware functions of
128 * the keyboard. They are best used in combination with the HID Listen program,
129 * found here: https://www.pjrc.com/teensy/hid_listen.html
130 *
131 * The options below allow the magic key functionality to be changed. This is
132 * useful if your keyboard/keypad is missing keys and you want magic key support.
133 *
134 */
135
136/* key combination for magic key command */
137/* defined by default; to change, uncomment and set to the combination you want */
138// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
139
140/* control how magic key switches layers */
141//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
142//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
143//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
144
145/* override magic key keymap */
146//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
147//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
148//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
149//#define MAGIC_KEY_HELP H
150//#define MAGIC_KEY_HELP_ALT SLASH
151//#define MAGIC_KEY_DEBUG D
152//#define MAGIC_KEY_DEBUG_MATRIX X
153//#define MAGIC_KEY_DEBUG_KBD K
154//#define MAGIC_KEY_DEBUG_MOUSE M
155//#define MAGIC_KEY_VERSION V
156//#define MAGIC_KEY_STATUS S
157//#define MAGIC_KEY_CONSOLE C
158//#define MAGIC_KEY_LAYER0 0
159//#define MAGIC_KEY_LAYER0_ALT GRAVE
160//#define MAGIC_KEY_LAYER1 1
161//#define MAGIC_KEY_LAYER2 2
162//#define MAGIC_KEY_LAYER3 3
163//#define MAGIC_KEY_LAYER4 4
164//#define MAGIC_KEY_LAYER5 5
165//#define MAGIC_KEY_LAYER6 6
166//#define MAGIC_KEY_LAYER7 7
167//#define MAGIC_KEY_LAYER8 8
168//#define MAGIC_KEY_LAYER9 9
169//#define MAGIC_KEY_BOOTLOADER B
170//#define MAGIC_KEY_BOOTLOADER_ALT ESC
171//#define MAGIC_KEY_LOCK CAPS
172//#define MAGIC_KEY_EEPROM E
173//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
174//#define MAGIC_KEY_NKRO N
175//#define MAGIC_KEY_SLEEP_LED Z
176
177/*
178 * Feature disable options
179 * These options are also useful to firmware size reduction.
180 */
181
182/* disable debug print */
183//#define NO_DEBUG
184
185/* disable print */
186//#define NO_PRINT
187
188/* disable action features */
189//#define NO_ACTION_LAYER
190//#define NO_ACTION_TAPPING
191//#define NO_ACTION_ONESHOT
192//#define NO_ACTION_MACRO
193//#define NO_ACTION_FUNCTION
194
195/*
196 * MIDI options
197 */
198
199/* Prevent use of disabled MIDI features in the keymap */
200//#define MIDI_ENABLE_STRICT 1
201
202/* enable basic MIDI features:
203 - MIDI notes can be sent when in Music mode is on
204*/
205//#define MIDI_BASIC
206
207/* enable advanced MIDI features:
208 - MIDI notes can be added to the keymap
209 - Octave shift and transpose
210 - Virtual sustain, portamento, and modulation wheel
211 - etc.
212*/
213//#define MIDI_ADVANCED
214
215/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
216//#define MIDI_TONE_KEYCODE_OCTAVES 1
217
218/* Bootmagic Lite key configuration */
219// #define BOOTMAGIC_LITE_ROW 0
220// #define BOOTMAGIC_LITE_COLUMN 0
221
diff --git a/keyboards/evyd13/eon75/eon75.c b/keyboards/evyd13/eon75/eon75.c
new file mode 100644
index 000000000..67e9fe66a
--- /dev/null
+++ b/keyboards/evyd13/eon75/eon75.c
@@ -0,0 +1,45 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "eon75.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21 matrix_init_user();
22 led_init_ports();
23};
24
25void led_init_ports(void) {
26 // * Set our LED pins as output and high
27 setPinOutput(D5);
28 writePinHigh(D5);
29
30 setPinOutput(B7);
31 writePinHigh(B7);
32
33 setPinOutput(B0);
34 writePinHigh(B0);
35}
36
37bool led_update_kb(led_t led_state) {
38 if(led_update_user(led_state)) {
39 writePin(D5, !led_state.caps_lock);
40 writePin(B7, !led_state.num_lock);
41 writePin(B0, !led_state.scroll_lock);
42 }
43
44 return true;
45}
diff --git a/keyboards/evyd13/eon75/eon75.h b/keyboards/evyd13/eon75/eon75.h
new file mode 100644
index 000000000..ee4a91f7f
--- /dev/null
+++ b/keyboards/evyd13/eon75/eon75.h
@@ -0,0 +1,97 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29
30#define LAYOUT_all( \
31 k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
32 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, \
33 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
34 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, \
35 k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
36 ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7 \
37) \
38{ \
39 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
40 { k10, k11, XXX, k13, k14, k15, k16, k17 }, \
41 { k20, k21, k22, k23, k24, k25, k26, k27 }, \
42 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
43 { k40, k41, k42, k43, k44, k45, k46, k47 }, \
44 { k50, k51, k52, k53, k54, k55, XXX, k57 }, \
45 { k60, k61, k62, k63, k64, k65, k66, XXX }, \
46 { k70, k71, k72, k73, k74, k75, k76, k77 }, \
47 { k80, k81, k82, k83, k84, k85, k86, k87 }, \
48 { k90, k91, k92, k93, k94, k95, XXX, k97 }, \
49 { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7 }, \
50 { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7 } \
51}
52
53#define LAYOUT_ansi( \
54 k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
55 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k27, k37, \
56 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
57 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
58 k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
59 ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7 \
60) \
61{ \
62 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
63 { k10, k11, XXX, k13, k14, k15, k16, k17 }, \
64 { k20, k21, k22, k23, k24, k25, k26, k27 }, \
65 { k30, k31, k32, k33, k34, k35, XXX, k37 }, \
66 { k40, k41, k42, k43, k44, k45, k46, k47 }, \
67 { k50, k51, k52, k53, k54, k55, XXX, k57 }, \
68 { k60, k61, k62, k63, k64, k65, XXX, XXX }, \
69 { k70, k71, k72, k73, k74, k75, k76, k77 }, \
70 { k80, k81, k82, k83, k84, k85, k86, k87 }, \
71 { XXX, k91, k92, k93, k94, k95, XXX, k97 }, \
72 { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7 }, \
73 { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7 } \
74}
75
76#define LAYOUT_iso( \
77 k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, \
78 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k27, k37, \
79 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k57, \
80 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, \
81 k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
82 ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7 \
83) \
84{ \
85 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
86 { k10, k11, XXX, k13, k14, k15, k16, k17 }, \
87 { k20, k21, k22, k23, k24, k25, k26, k27 }, \
88 { k30, k31, k32, k33, k34, k35, XXX, k37 }, \
89 { k40, k41, k42, k43, k44, k45, k46, XXX }, \
90 { k50, k51, k52, k53, k54, k55, XXX, k57 }, \
91 { k60, k61, k62, k63, k64, k65, k66, XXX }, \
92 { k70, k71, k72, k73, k74, k75, k76, k77 }, \
93 { k80, k81, k82, k83, k84, k85, k86, k87 }, \
94 { k90, k91, k92, k93, k94, k95, XXX, k97 }, \
95 { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7 }, \
96 { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7 } \
97}
diff --git a/keyboards/evyd13/eon75/info.json b/keyboards/evyd13/eon75/info.json
new file mode 100644
index 000000000..9066542a1
--- /dev/null
+++ b/keyboards/evyd13/eon75/info.json
@@ -0,0 +1,289 @@
1{
2 "keyboard_name": "Eon75",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 16.5,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1.5, "y":0},
12 {"x":2.5, "y":0},
13 {"x":3.5, "y":0},
14 {"x":4.5, "y":0},
15 {"x":5.75, "y":0},
16 {"x":6.75, "y":0},
17 {"x":7.75, "y":0},
18 {"x":8.75, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14.5, "y":0},
24 {"x":15.5, "y":0},
25
26 {"x":0, "y":1.25},
27 {"x":1, "y":1.25},
28 {"x":2, "y":1.25},
29 {"x":3, "y":1.25},
30 {"x":4, "y":1.25},
31 {"x":5, "y":1.25},
32 {"x":6, "y":1.25},
33 {"x":7, "y":1.25},
34 {"x":8, "y":1.25},
35 {"x":9, "y":1.25},
36 {"x":10, "y":1.25},
37 {"x":11, "y":1.25},
38 {"x":12, "y":1.25},
39 {"x":13, "y":1.25},
40 {"x":14, "y":1.25},
41 {"x":15.5, "y":1.25},
42
43 {"x":0, "y":2.25, "w":1.5},
44 {"x":1.5, "y":2.25},
45 {"x":2.5, "y":2.25},
46 {"x":3.5, "y":2.25},
47 {"x":4.5, "y":2.25},
48 {"x":5.5, "y":2.25},
49 {"x":6.5, "y":2.25},
50 {"x":7.5, "y":2.25},
51 {"x":8.5, "y":2.25},
52 {"x":9.5, "y":2.25},
53 {"x":10.5, "y":2.25},
54 {"x":11.5, "y":2.25},
55 {"x":12.5, "y":2.25},
56 {"x":13.5, "y":2.25, "w":1.5},
57 {"x":15.5, "y":2.25},
58
59 {"x":0, "y":3.25, "w":1.75},
60 {"x":1.75, "y":3.25},
61 {"x":2.75, "y":3.25},
62 {"x":3.75, "y":3.25},
63 {"x":4.75, "y":3.25},
64 {"x":5.75, "y":3.25},
65 {"x":6.75, "y":3.25},
66 {"x":7.75, "y":3.25},
67 {"x":8.75, "y":3.25},
68 {"x":9.75, "y":3.25},
69 {"x":10.75, "y":3.25},
70 {"x":11.75, "y":3.25},
71 {"x":12.75, "y":3.25},
72 {"x":13.75, "y":3.25, "w":1.25},
73 {"x":15.5, "y":3.25},
74
75 {"x":0, "y":4.25, "w":1.25},
76 {"x":1.25, "y":4.25},
77 {"x":2.25, "y":4.25},
78 {"x":3.25, "y":4.25},
79 {"x":4.25, "y":4.25},
80 {"x":5.25, "y":4.25},
81 {"x":6.25, "y":4.25},
82 {"x":7.25, "y":4.25},
83 {"x":8.25, "y":4.25},
84 {"x":9.25, "y":4.25},
85 {"x":10.25, "y":4.25},
86 {"x":11.25, "y":4.25},
87 {"x":12.25, "y":4.25, "w":1.75},
88 {"x":14.25, "y":4.5},
89 {"x":15.5, "y":4.25},
90
91 {"x":0, "y":5.25, "w":1.25},
92 {"x":1.25, "y":5.25, "w":1.25},
93 {"x":2.5, "y":5.25, "w":1.25},
94 {"x":3.75, "y":5.25, "w":6.25},
95 {"x":10, "y":5.25},
96 {"x":11, "y":5.25},
97 {"x":12, "y":5.25},
98 {"x":13.25, "y":5.5},
99 {"x":14.25, "y":5.5},
100 {"x":15.25, "y":5.5}
101 ]
102 },
103 "LAYOUT_ansi": {
104 "layout": [
105 {"x":0, "y":0},
106 {"x":1.5, "y":0},
107 {"x":2.5, "y":0},
108 {"x":3.5, "y":0},
109 {"x":4.5, "y":0},
110 {"x":5.75, "y":0},
111 {"x":6.75, "y":0},
112 {"x":7.75, "y":0},
113 {"x":8.75, "y":0},
114 {"x":10, "y":0},
115 {"x":11, "y":0},
116 {"x":12, "y":0},
117 {"x":13, "y":0},
118 {"x":14.5, "y":0},
119 {"x":15.5, "y":0},
120
121 {"x":0, "y":1.25},
122 {"x":1, "y":1.25},
123 {"x":2, "y":1.25},
124 {"x":3, "y":1.25},
125 {"x":4, "y":1.25},
126 {"x":5, "y":1.25},
127 {"x":6, "y":1.25},
128 {"x":7, "y":1.25},
129 {"x":8, "y":1.25},
130 {"x":9, "y":1.25},
131 {"x":10, "y":1.25},
132 {"x":11, "y":1.25},
133 {"x":12, "y":1.25},
134 {"x":13, "y":1.25, "w":2},
135 {"x":15.5, "y":1.25},
136
137 {"x":0, "y":2.25, "w":1.5},
138 {"x":1.5, "y":2.25},
139 {"x":2.5, "y":2.25},
140 {"x":3.5, "y":2.25},
141 {"x":4.5, "y":2.25},
142 {"x":5.5, "y":2.25},
143 {"x":6.5, "y":2.25},
144 {"x":7.5, "y":2.25},
145 {"x":8.5, "y":2.25},
146 {"x":9.5, "y":2.25},
147 {"x":10.5, "y":2.25},
148 {"x":11.5, "y":2.25},
149 {"x":12.5, "y":2.25},
150 {"x":13.5, "y":2.25, "w":1.5},
151 {"x":15.5, "y":2.25},
152
153 {"x":0, "y":3.25, "w":1.75},
154 {"x":1.75, "y":3.25},
155 {"x":2.75, "y":3.25},
156 {"x":3.75, "y":3.25},
157 {"x":4.75, "y":3.25},
158 {"x":5.75, "y":3.25},
159 {"x":6.75, "y":3.25},
160 {"x":7.75, "y":3.25},
161 {"x":8.75, "y":3.25},
162 {"x":9.75, "y":3.25},
163 {"x":10.75, "y":3.25},
164 {"x":11.75, "y":3.25},
165 {"x":12.75, "y":3.25, "w":2.25},
166 {"x":15.5, "y":3.25},
167
168 {"x":0, "y":4.25, "w":2.25},
169 {"x":2.25, "y":4.25},
170 {"x":3.25, "y":4.25},
171 {"x":4.25, "y":4.25},
172 {"x":5.25, "y":4.25},
173 {"x":6.25, "y":4.25},
174 {"x":7.25, "y":4.25},
175 {"x":8.25, "y":4.25},
176 {"x":9.25, "y":4.25},
177 {"x":10.25, "y":4.25},
178 {"x":11.25, "y":4.25},
179 {"x":12.25, "y":4.25, "w":1.75},
180 {"x":14.25, "y":4.5},
181 {"x":15.5, "y":4.25},
182
183 {"x":0, "y":5.25, "w":1.25},
184 {"x":1.25, "y":5.25, "w":1.25},
185 {"x":2.5, "y":5.25, "w":1.25},
186 {"x":3.75, "y":5.25, "w":6.25},
187 {"x":10, "y":5.25},
188 {"x":11, "y":5.25},
189 {"x":12, "y":5.25},
190 {"x":13.25, "y":5.5},
191 {"x":14.25, "y":5.5},
192 {"x":15.25, "y":5.5}
193 ]
194 },
195 "LAYOUT_iso": {
196 "layout": [
197 {"x":0, "y":0},
198 {"x":1.5, "y":0},
199 {"x":2.5, "y":0},
200 {"x":3.5, "y":0},
201 {"x":4.5, "y":0},
202 {"x":5.75, "y":0},
203 {"x":6.75, "y":0},
204 {"x":7.75, "y":0},
205 {"x":8.75, "y":0},
206 {"x":10, "y":0},
207 {"x":11, "y":0},
208 {"x":12, "y":0},
209 {"x":13, "y":0},
210 {"x":14.5, "y":0},
211 {"x":15.5, "y":0},
212
213 {"x":0, "y":1.25},
214 {"x":1, "y":1.25},
215 {"x":2, "y":1.25},
216 {"x":3, "y":1.25},
217 {"x":4, "y":1.25},
218 {"x":5, "y":1.25},
219 {"x":6, "y":1.25},
220 {"x":7, "y":1.25},
221 {"x":8, "y":1.25},
222 {"x":9, "y":1.25},
223 {"x":10, "y":1.25},
224 {"x":11, "y":1.25},
225 {"x":12, "y":1.25},
226 {"x":13, "y":1.25, "w":2},
227 {"x":15.5, "y":1.25},
228
229 {"x":0, "y":2.25, "w":1.5},
230 {"x":1.5, "y":2.25},
231 {"x":2.5, "y":2.25},
232 {"x":3.5, "y":2.25},
233 {"x":4.5, "y":2.25},
234 {"x":5.5, "y":2.25},
235 {"x":6.5, "y":2.25},
236 {"x":7.5, "y":2.25},
237 {"x":8.5, "y":2.25},
238 {"x":9.5, "y":2.25},
239 {"x":10.5, "y":2.25},
240 {"x":11.5, "y":2.25},
241 {"x":12.5, "y":2.25},
242 {"x":15.5, "y":2.25},
243
244 {"x":0, "y":3.25, "w":1.75},
245 {"x":1.75, "y":3.25},
246 {"x":2.75, "y":3.25},
247 {"x":3.75, "y":3.25},
248 {"x":4.75, "y":3.25},
249 {"x":5.75, "y":3.25},
250 {"x":6.75, "y":3.25},
251 {"x":7.75, "y":3.25},
252 {"x":8.75, "y":3.25},
253 {"x":9.75, "y":3.25},
254 {"x":10.75, "y":3.25},
255 {"x":11.75, "y":3.25},
256 {"x":12.75, "y":3.25},
257 {"x":13.75, "y":2.25, "w":1.25, "h":2},
258 {"x":15.5, "y":3.25},
259
260 {"x":0, "y":4.25, "w":1.25},
261 {"x":1.25, "y":4.25},
262 {"x":2.25, "y":4.25},
263 {"x":3.25, "y":4.25},
264 {"x":4.25, "y":4.25},
265 {"x":5.25, "y":4.25},
266 {"x":6.25, "y":4.25},
267 {"x":7.25, "y":4.25},
268 {"x":8.25, "y":4.25},
269 {"x":9.25, "y":4.25},
270 {"x":10.25, "y":4.25},
271 {"x":11.25, "y":4.25},
272 {"x":12.25, "y":4.25, "w":1.75},
273 {"x":14.25, "y":4.5},
274 {"x":15.5, "y":4.25},
275
276 {"x":0, "y":5.25, "w":1.25},
277 {"x":1.25, "y":5.25, "w":1.25},
278 {"x":2.5, "y":5.25, "w":1.25},
279 {"x":3.75, "y":5.25, "w":6.25},
280 {"x":10, "y":5.25},
281 {"x":11, "y":5.25},
282 {"x":12, "y":5.25},
283 {"x":13.25, "y":5.5},
284 {"x":14.25, "y":5.5},
285 {"x":15.25, "y":5.5}
286 ]
287 }
288 }
289}
diff --git a/keyboards/evyd13/eon75/keymaps/default/keymap.c b/keyboards/evyd13/eon75/keymaps/default/keymap.c
new file mode 100644
index 000000000..535393cd9
--- /dev/null
+++ b/keyboards/evyd13/eon75/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_all(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_END,
21 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
24 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
26[1] = LAYOUT_all(
27 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
33
34}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon75/keymaps/via/keymap.c b/keyboards/evyd13/eon75/keymaps/via/keymap.c
new file mode 100644
index 000000000..106ee970d
--- /dev/null
+++ b/keyboards/evyd13/eon75/keymaps/via/keymap.c
@@ -0,0 +1,47 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_all(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_END,
21 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
24 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
26[1] = LAYOUT_all(
27 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
33[2] = LAYOUT_all(
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
40[3] = LAYOUT_all(
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
47}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon75/keymaps/via/rules.mk b/keyboards/evyd13/eon75/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/eon75/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/eon75/readme.md b/keyboards/evyd13/eon75/readme.md
new file mode 100644
index 000000000..7b3ee43f1
--- /dev/null
+++ b/keyboards/evyd13/eon75/readme.md
@@ -0,0 +1,13 @@
1# Eon75
2
3## Support
4* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
5* Hardware Supported: Eon75
6* Hardware Availability: None
7
8## Build
9Make example for this keyboard (after setting up your build environment):
10
11 make evyd13/eon75:default
12
13See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/eon75/rules.mk b/keyboards/evyd13/eon75/rules.mk
new file mode 100644
index 000000000..264e0ea67
--- /dev/null
+++ b/keyboards/evyd13/eon75/rules.mk
@@ -0,0 +1,32 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = atmel-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/evyd13/eon87/config.h b/keyboards/evyd13/eon87/config.h
new file mode 100644
index 000000000..2a03ec6c2
--- /dev/null
+++ b/keyboards/evyd13/eon87/config.h
@@ -0,0 +1,220 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0xAA6B
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT Eon87
27#define DESCRIPTION A TKL PCB
28
29/* key matrix size */
30#define MATRIX_ROWS 6
31#define MATRIX_COLS 17
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {B1,B2,B3,D4,D1,D5}
44#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,C7,C6,B6,B5,B4,D7,D6,E6,B7,D3,D2}
45#define UNUSED_PINS {B0}
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55// #define BACKLIGHT_PIN B7
56// #define BACKLIGHT_BREATHING
57// #define BACKLIGHT_LEVELS 3
58
59 #define RGB_DI_PIN D0
60// #ifdef RGB_DI_PIN
61 #define RGBLED_NUM 12
62// #define RGBLIGHT_HUE_STEP 8
63// #define RGBLIGHT_SAT_STEP 8
64// #define RGBLIGHT_VAL_STEP 8
65// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67// /*== all animations enable ==*/
68 #define RGBLIGHT_ANIMATIONS
69// /*== or choose animations ==*/
70// #define RGBLIGHT_EFFECT_BREATHING
71// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
72// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73// #define RGBLIGHT_EFFECT_SNAKE
74// #define RGBLIGHT_EFFECT_KNIGHT
75// #define RGBLIGHT_EFFECT_CHRISTMAS
76// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
77// #define RGBLIGHT_EFFECT_RGB_TEST
78// #define RGBLIGHT_EFFECT_ALTERNATING
79// /*== customize breathing effect ==*/
80// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82// /*==== use exp() and sin() ====*/
83// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85// #endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
89
90/* define if matrix has ghost (lacks anti-ghosting diodes) */
91//#define MATRIX_HAS_GHOST
92
93/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
94#define LOCKING_SUPPORT_ENABLE
95/* Locking resynchronize hack */
96#define LOCKING_RESYNC_ENABLE
97
98/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
99 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
100 */
101// #define GRAVE_ESC_CTRL_OVERRIDE
102
103/*
104 * Force NKRO
105 *
106 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
107 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
108 * makefile for this to work.)
109 *
110 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
111 * until the next keyboard reset.
112 *
113 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
114 * fully operational during normal computer usage.
115 *
116 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
117 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
118 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
119 * power-up.
120 *
121 */
122//#define FORCE_NKRO
123
124/*
125 * Magic Key Options
126 *
127 * Magic keys are hotkey commands that allow control over firmware functions of
128 * the keyboard. They are best used in combination with the HID Listen program,
129 * found here: https://www.pjrc.com/teensy/hid_listen.html
130 *
131 * The options below allow the magic key functionality to be changed. This is
132 * useful if your keyboard/keypad is missing keys and you want magic key support.
133 *
134 */
135
136/* key combination for magic key command */
137/* defined by default; to change, uncomment and set to the combination you want */
138// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
139
140/* control how magic key switches layers */
141//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
142//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
143//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
144
145/* override magic key keymap */
146//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
147//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
148//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
149//#define MAGIC_KEY_HELP H
150//#define MAGIC_KEY_HELP_ALT SLASH
151//#define MAGIC_KEY_DEBUG D
152//#define MAGIC_KEY_DEBUG_MATRIX X
153//#define MAGIC_KEY_DEBUG_KBD K
154//#define MAGIC_KEY_DEBUG_MOUSE M
155//#define MAGIC_KEY_VERSION V
156//#define MAGIC_KEY_STATUS S
157//#define MAGIC_KEY_CONSOLE C
158//#define MAGIC_KEY_LAYER0 0
159//#define MAGIC_KEY_LAYER0_ALT GRAVE
160//#define MAGIC_KEY_LAYER1 1
161//#define MAGIC_KEY_LAYER2 2
162//#define MAGIC_KEY_LAYER3 3
163//#define MAGIC_KEY_LAYER4 4
164//#define MAGIC_KEY_LAYER5 5
165//#define MAGIC_KEY_LAYER6 6
166//#define MAGIC_KEY_LAYER7 7
167//#define MAGIC_KEY_LAYER8 8
168//#define MAGIC_KEY_LAYER9 9
169//#define MAGIC_KEY_BOOTLOADER B
170//#define MAGIC_KEY_BOOTLOADER_ALT ESC
171//#define MAGIC_KEY_LOCK CAPS
172//#define MAGIC_KEY_EEPROM E
173//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
174//#define MAGIC_KEY_NKRO N
175//#define MAGIC_KEY_SLEEP_LED Z
176
177/*
178 * Feature disable options
179 * These options are also useful to firmware size reduction.
180 */
181
182/* disable debug print */
183//#define NO_DEBUG
184
185/* disable print */
186//#define NO_PRINT
187
188/* disable action features */
189//#define NO_ACTION_LAYER
190//#define NO_ACTION_TAPPING
191//#define NO_ACTION_ONESHOT
192//#define NO_ACTION_MACRO
193//#define NO_ACTION_FUNCTION
194
195/*
196 * MIDI options
197 */
198
199/* Prevent use of disabled MIDI features in the keymap */
200//#define MIDI_ENABLE_STRICT 1
201
202/* enable basic MIDI features:
203 - MIDI notes can be sent when in Music mode is on
204*/
205//#define MIDI_BASIC
206
207/* enable advanced MIDI features:
208 - MIDI notes can be added to the keymap
209 - Octave shift and transpose
210 - Virtual sustain, portamento, and modulation wheel
211 - etc.
212*/
213//#define MIDI_ADVANCED
214
215/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
216//#define MIDI_TONE_KEYCODE_OCTAVES 1
217
218/* Bootmagic Lite key configuration */
219// #define BOOTMAGIC_LITE_ROW 0
220// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/evyd13/eon87/eon87.c b/keyboards/evyd13/eon87/eon87.c
new file mode 100644
index 000000000..83a005225
--- /dev/null
+++ b/keyboards/evyd13/eon87/eon87.c
@@ -0,0 +1,16 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "eon87.h"
diff --git a/keyboards/evyd13/eon87/eon87.h b/keyboards/evyd13/eon87/eon87.h
new file mode 100644
index 000000000..9e850625e
--- /dev/null
+++ b/keyboards/evyd13/eon87/eon87.h
@@ -0,0 +1,79 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29
30#define LAYOUT_all( \
31 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
32 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k0d, k1d, k1e, k1f, k1g, \
33 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
34 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
35 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
36 k50, k51, k52, k54, k56, k58, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
37) \
38{ \
39 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
40 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
41 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
42 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
43 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, XXX, k4f, XXX }, \
44 { k50, k51, k52, XXX, k54, XXX, k56, XXX, k58, XXX, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
45}
46
47#define LAYOUT_tkl_ansi( \
48 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
49 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
50 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
51 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
52 k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
53 k50, k51, k52, k56, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
54) \
55{ \
56 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
57 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
58 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
59 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX, XXX, XXX }, \
60 { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
61 { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
62}
63
64#define LAYOUT_tkl_iso( \
65 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
66 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
67 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
68 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
69 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
70 k50, k51, k52, k56, k5a, k5b, k5c, k5d, k5e, k5f, k5g \
71) \
72{ \
73 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
74 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
75 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, k2e, k2f, k2g }, \
76 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
77 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
78 { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, k5a, k5b, k5c, k5d, k5e, k5f, k5g } \
79}
diff --git a/keyboards/evyd13/eon87/info.json b/keyboards/evyd13/eon87/info.json
new file mode 100644
index 000000000..b0ed86a7e
--- /dev/null
+++ b/keyboards/evyd13/eon87/info.json
@@ -0,0 +1,319 @@
1{
2 "keyboard_name": "Eon87",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 18.25,
6 "height": 6.25,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x": 0, "y": 0},
11 {"x": 2, "y": 0},
12 {"x": 3, "y": 0},
13 {"x": 4, "y": 0},
14 {"x": 5, "y": 0},
15 {"x": 6.5, "y": 0},
16 {"x": 7.5, "y": 0},
17 {"x": 8.5, "y": 0},
18 {"x": 9.5, "y": 0},
19 {"x": 11, "y": 0},
20 {"x": 12, "y": 0},
21 {"x": 13, "y": 0},
22 {"x": 14, "y": 0},
23
24 {"x": 15.25, "y": 0},
25 {"x": 16.25, "y": 0},
26 {"x": 17.25, "y": 0},
27
28 {"x": 0, "y": 1.25},
29 {"x": 1, "y": 1.25},
30 {"x": 2, "y": 1.25},
31 {"x": 3, "y": 1.25},
32 {"x": 4, "y": 1.25},
33 {"x": 5, "y": 1.25},
34 {"x": 6, "y": 1.25},
35 {"x": 7, "y": 1.25},
36 {"x": 8, "y": 1.25},
37 {"x": 9, "y": 1.25},
38 {"x": 10, "y": 1.25},
39 {"x": 11, "y": 1.25},
40 {"x": 12, "y": 1.25},
41 {"x": 13, "y": 1.25},
42 {"x": 14, "y": 1.25},
43
44 {"x": 15.25, "y": 1.25},
45 {"x": 16.25, "y": 1.25},
46 {"x": 17.25, "y": 1.25},
47
48 {"x": 0, "y": 2.25, "w": 1.5},
49 {"x": 1.5, "y": 2.25},
50 {"x": 2.5, "y": 2.25},
51 {"x": 3.5, "y": 2.25},
52 {"x": 4.5, "y": 2.25},
53 {"x": 5.5, "y": 2.25},
54 {"x": 6.5, "y": 2.25},
55 {"x": 7.5, "y": 2.25},
56 {"x": 8.5, "y": 2.25},
57 {"x": 9.5, "y": 2.25},
58 {"x": 10.5, "y": 2.25},
59 {"x": 11.5, "y": 2.25},
60 {"x": 12.5, "y": 2.25},
61 {"x": 13.5, "y": 2.25, "w": 1.5},
62
63 {"x": 15.25, "y": 2.25},
64 {"x": 16.25, "y": 2.25},
65 {"x": 17.25, "y": 2.25},
66
67 {"x": 0, "y": 3.25, "w": 1.75},
68 {"x": 1.75, "y": 3.25},
69 {"x": 2.75, "y": 3.25},
70 {"x": 3.75, "y": 3.25},
71 {"x": 4.75, "y": 3.25},
72 {"x": 5.75, "y": 3.25},
73 {"x": 6.75, "y": 3.25},
74 {"x": 7.75, "y": 3.25},
75 {"x": 8.75, "y": 3.25},
76 {"x": 9.75, "y": 3.25},
77 {"x": 10.75, "y": 3.25},
78 {"x": 11.75, "y": 3.25},
79 {"x": 12.75, "y": 3.25},
80 {"x": 13.75, "y": 3.25, "w": 1.25},
81
82 {"x": 0, "y": 4.25, "w": 1.25},
83 {"x": 1.25, "y": 4.25},
84 {"x": 2.25, "y": 4.25},
85 {"x": 3.25, "y": 4.25},
86 {"x": 4.25, "y": 4.25},
87 {"x": 5.25, "y": 4.25},
88 {"x": 6.25, "y": 4.25},
89 {"x": 7.25, "y": 4.25},
90 {"x": 8.25, "y": 4.25},
91 {"x": 9.25, "y": 4.25},
92 {"x": 10.25, "y": 4.25},
93 {"x": 11.25, "y": 4.25},
94 {"x": 12.25, "y": 4.25, "w": 1.75},
95 {"x": 14, "y": 4.25},
96
97 {"x": 16.25, "y": 4.25},
98
99 {"x": 0, "y": 5.25, "w": 1.25},
100 {"x": 1.25, "y": 5.25, "w": 1.25},
101 {"x": 2.5, "y": 5.25, "w": 1.25},
102 {"x": 3.75, "y": 5.25, "w": 2.25},
103 {"x": 6, "y": 5.25, "w": 1.25},
104 {"x": 7.25, "y": 5.25, "w": 2.75},
105 {"x": 10, "y": 5.25, "w": 1.25},
106 {"x": 11.25, "y": 5.25, "w": 1.25},
107 {"x": 12.5, "y": 5.25, "w": 1.25},
108 {"x": 13.75, "y": 5.25, "w": 1.25},
109
110 {"x": 15.25, "y": 5.25},
111 {"x": 16.25, "y": 5.25},
112 {"x": 17.25, "y": 5.25}
113 ]
114 },
115 "LAYOUT_tkl_ansi": {
116 "layout": [
117 {"x": 0, "y": 0},
118 {"x": 2, "y": 0},
119 {"x": 3, "y": 0},
120 {"x": 4, "y": 0},
121 {"x": 5, "y": 0},
122 {"x": 6.5, "y": 0},
123 {"x": 7.5, "y": 0},
124 {"x": 8.5, "y": 0},
125 {"x": 9.5, "y": 0},
126 {"x": 11, "y": 0},
127 {"x": 12, "y": 0},
128 {"x": 13, "y": 0},
129 {"x": 14, "y": 0},
130
131 {"x": 15.25, "y": 0},
132 {"x": 16.25, "y": 0},
133 {"x": 17.25, "y": 0},
134
135 {"x": 0, "y": 1.25},
136 {"x": 1, "y": 1.25},
137 {"x": 2, "y": 1.25},
138 {"x": 3, "y": 1.25},
139 {"x": 4, "y": 1.25},
140 {"x": 5, "y": 1.25},
141 {"x": 6, "y": 1.25},
142 {"x": 7, "y": 1.25},
143 {"x": 8, "y": 1.25},
144 {"x": 9, "y": 1.25},
145 {"x": 10, "y": 1.25},
146 {"x": 11, "y": 1.25},
147 {"x": 12, "y": 1.25},
148 {"x": 13, "y": 1.25, "w": 2},
149
150 {"x": 15.25, "y": 1.25},
151 {"x": 16.25, "y": 1.25},
152 {"x": 17.25, "y": 1.25},
153
154 {"x": 0, "y": 2.25, "w": 1.5},
155 {"x": 1.5, "y": 2.25},
156 {"x": 2.5, "y": 2.25},
157 {"x": 3.5, "y": 2.25},
158 {"x": 4.5, "y": 2.25},
159 {"x": 5.5, "y": 2.25},
160 {"x": 6.5, "y": 2.25},
161 {"x": 7.5, "y": 2.25},
162 {"x": 8.5, "y": 2.25},
163 {"x": 9.5, "y": 2.25},
164 {"x": 10.5, "y": 2.25},
165 {"x": 11.5, "y": 2.25},
166 {"x": 12.5, "y": 2.25},
167 {"x": 13.5, "y": 2.25, "w": 1.5},
168
169 {"x": 15.25, "y": 2.25},
170 {"x": 16.25, "y": 2.25},
171 {"x": 17.25, "y": 2.25},
172
173 {"x": 0, "y": 3.25, "w": 1.75},
174 {"x": 1.75, "y": 3.25},
175 {"x": 2.75, "y": 3.25},
176 {"x": 3.75, "y": 3.25},
177 {"x": 4.75, "y": 3.25},
178 {"x": 5.75, "y": 3.25},
179 {"x": 6.75, "y": 3.25},
180 {"x": 7.75, "y": 3.25},
181 {"x": 8.75, "y": 3.25},
182 {"x": 9.75, "y": 3.25},
183 {"x": 10.75, "y": 3.25},
184 {"x": 11.75, "y": 3.25},
185 {"x": 12.75, "y": 3.25, "w": 2.25},
186
187 {"x": 0, "y": 4.25, "w": 2.25},
188 {"x": 2.25, "y": 4.25},
189 {"x": 3.25, "y": 4.25},
190 {"x": 4.25, "y": 4.25},
191 {"x": 5.25, "y": 4.25},
192 {"x": 6.25, "y": 4.25},
193 {"x": 7.25, "y": 4.25},
194 {"x": 8.25, "y": 4.25},
195 {"x": 9.25, "y": 4.25},
196 {"x": 10.25, "y": 4.25},
197 {"x": 11.25, "y": 4.25},
198 {"x": 12.25, "y": 4.25, "w": 2.75},
199
200 {"x": 16.25, "y": 4.25},
201
202 {"x": 0, "y": 5.25, "w": 1.25},
203 {"x": 1.25, "y": 5.25, "w": 1.25},
204 {"x": 2.5, "y": 5.25, "w": 1.25},
205 {"x": 3.75, "y": 5.25, "w": 6.25},
206 {"x": 10, "y": 5.25, "w": 1.25},
207 {"x": 11.25, "y": 5.25, "w": 1.25},
208 {"x": 12.5, "y": 5.25, "w": 1.25},
209 {"x": 13.75, "y": 5.25, "w": 1.25},
210
211 {"x": 15.25, "y": 5.25},
212 {"x": 16.25, "y": 5.25},
213 {"x": 17.25, "y": 5.25}
214 ]
215 },
216 "LAYOUT_tkl_iso": {
217 "layout": [
218 {"x": 0, "y": 0},
219 {"x": 2, "y": 0},
220 {"x": 3, "y": 0},
221 {"x": 4, "y": 0},
222 {"x": 5, "y": 0},
223 {"x": 6.5, "y": 0},
224 {"x": 7.5, "y": 0},
225 {"x": 8.5, "y": 0},
226 {"x": 9.5, "y": 0},
227 {"x": 11, "y": 0},
228 {"x": 12, "y": 0},
229 {"x": 13, "y": 0},
230 {"x": 14, "y": 0},
231
232 {"x": 15.25, "y": 0},
233 {"x": 16.25, "y": 0},
234 {"x": 17.25, "y": 0},
235
236 {"x": 0, "y": 1.25},
237 {"x": 1, "y": 1.25},
238 {"x": 2, "y": 1.25},
239 {"x": 3, "y": 1.25},
240 {"x": 4, "y": 1.25},
241 {"x": 5, "y": 1.25},
242 {"x": 6, "y": 1.25},
243 {"x": 7, "y": 1.25},
244 {"x": 8, "y": 1.25},
245 {"x": 9, "y": 1.25},
246 {"x": 10, "y": 1.25},
247 {"x": 11, "y": 1.25},
248 {"x": 12, "y": 1.25},
249 {"x": 13, "y": 1.25, "w": 2},
250
251 {"x": 15.25, "y": 1.25},
252 {"x": 16.25, "y": 1.25},
253 {"x": 17.25, "y": 1.25},
254
255 {"x": 0, "y": 2.25, "w": 1.5},
256 {"x": 1.5, "y": 2.25},
257 {"x": 2.5, "y": 2.25},
258 {"x": 3.5, "y": 2.25},
259 {"x": 4.5, "y": 2.25},
260 {"x": 5.5, "y": 2.25},
261 {"x": 6.5, "y": 2.25},
262 {"x": 7.5, "y": 2.25},
263 {"x": 8.5, "y": 2.25},
264 {"x": 9.5, "y": 2.25},
265 {"x": 10.5, "y": 2.25},
266 {"x": 11.5, "y": 2.25},
267 {"x": 12.5, "y": 2.25},
268
269 {"x": 15.25, "y": 2.25},
270 {"x": 16.25, "y": 2.25},
271 {"x": 17.25, "y": 2.25},
272
273 {"x": 0, "y": 3.25, "w": 1.75},
274 {"x": 1.75, "y": 3.25},
275 {"x": 2.75, "y": 3.25},
276 {"x": 3.75, "y": 3.25},
277 {"x": 4.75, "y": 3.25},
278 {"x": 5.75, "y": 3.25},
279 {"x": 6.75, "y": 3.25},
280 {"x": 7.75, "y": 3.25},
281 {"x": 8.75, "y": 3.25},
282 {"x": 9.75, "y": 3.25},
283 {"x": 10.75, "y": 3.25},
284 {"x": 11.75, "y": 3.25},
285 {"x": 12.75, "y": 3.25},
286 {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
287
288 {"x": 0, "y": 4.25, "w": 1.25},
289 {"x": 1.25, "y": 4.25},
290 {"x": 2.25, "y": 4.25},
291 {"x": 3.25, "y": 4.25},
292 {"x": 4.25, "y": 4.25},
293 {"x": 5.25, "y": 4.25},
294 {"x": 6.25, "y": 4.25},
295 {"x": 7.25, "y": 4.25},
296 {"x": 8.25, "y": 4.25},
297 {"x": 9.25, "y": 4.25},
298 {"x": 10.25, "y": 4.25},
299 {"x": 11.25, "y": 4.25},
300 {"x": 12.25, "y": 4.25, "w": 2.75},
301
302 {"x": 16.25, "y": 4.25},
303
304 {"x": 0, "y": 5.25, "w": 1.25},
305 {"x": 1.25, "y": 5.25, "w": 1.25},
306 {"x": 2.5, "y": 5.25, "w": 1.25},
307 {"x": 3.75, "y": 5.25, "w": 6.25},
308 {"x": 10, "y": 5.25, "w": 1.25},
309 {"x": 11.25, "y": 5.25, "w": 1.25},
310 {"x": 12.5, "y": 5.25, "w": 1.25},
311 {"x": 13.75, "y": 5.25, "w": 1.25},
312
313 {"x": 15.25, "y": 5.25},
314 {"x": 16.25, "y": 5.25},
315 {"x": 17.25, "y": 5.25}
316 ]
317 }
318 }
319}
diff --git a/keyboards/evyd13/eon87/keymaps/default/keymap.c b/keyboards/evyd13/eon87/keymaps/default/keymap.c
new file mode 100644
index 000000000..c4ba5a86b
--- /dev/null
+++ b/keyboards/evyd13/eon87/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22
23#define _MA 0 //Main layer
24#define _FN 1 //Main layer
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27[_MA] = LAYOUT_all(
28 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
29 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
30 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
31 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
32 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP,
33 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
34[_FN] = LAYOUT_all(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
41
42}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon87/keymaps/default/readme.md b/keyboards/evyd13/eon87/keymaps/default/readme.md
new file mode 100644
index 000000000..a70270cfa
--- /dev/null
+++ b/keyboards/evyd13/eon87/keymaps/default/readme.md
@@ -0,0 +1 @@
This is the default keymap for the Eon87.
diff --git a/keyboards/evyd13/eon87/keymaps/via/keymap.c b/keyboards/evyd13/eon87/keymaps/via/keymap.c
new file mode 100644
index 000000000..1a6839fb9
--- /dev/null
+++ b/keyboards/evyd13/eon87/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_all(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
21 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
24 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
26[1] = LAYOUT_all(
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
33
34[2] = LAYOUT_all(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
41
42[3] = LAYOUT_all(
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
49
50}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon87/keymaps/via/rules.mk b/keyboards/evyd13/eon87/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/eon87/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/eon87/readme.md b/keyboards/evyd13/eon87/readme.md
new file mode 100644
index 000000000..6eea6c20e
--- /dev/null
+++ b/keyboards/evyd13/eon87/readme.md
@@ -0,0 +1,13 @@
1# Eon87
2
3## Support
4* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
5* Hardware Supported: Eon87
6* Hardware Availability: [maartenwut.com](https://maartenwut.com)
7
8## Build
9Make example for this keyboard (after setting up your build environment):
10
11 make evyd13/eon87:default
12
13See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/eon87/rules.mk b/keyboards/evyd13/eon87/rules.mk
new file mode 100644
index 000000000..65cfca7d4
--- /dev/null
+++ b/keyboards/evyd13/eon87/rules.mk
@@ -0,0 +1,34 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
33
34LAYOUTS = tkl_ansi tkl_iso
diff --git a/keyboards/evyd13/eon95/config.h b/keyboards/evyd13/eon95/config.h
new file mode 100644
index 000000000..1fabdd516
--- /dev/null
+++ b/keyboards/evyd13/eon95/config.h
@@ -0,0 +1,222 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0x8A18
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT Eon95
27#define DESCRIPTION A 95% PCB
28
29/* key matrix size */
30#define MATRIX_ROWS 12
31#define MATRIX_COLS 10
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {D1,D0,D3,D2,D6,D4,D7,B4,B5,B6,C6,C7}
44#define MATRIX_COL_PINS {E6,F0,F1,F4,F5,F6,F7,B3,B2,B1}
45#define UNUSED_PINS {}
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55// #define BACKLIGHT_PIN B7
56// #define BACKLIGHT_BREATHING
57// #define BACKLIGHT_LEVELS 3
58
59// #define RGB_DI_PIN D0
60// #ifdef RGB_DI_PIN
61// #define RGBLED_NUM 12
62// #define RGBLIGHT_HUE_STEP 8
63// #define RGBLIGHT_SAT_STEP 8
64// #define RGBLIGHT_VAL_STEP 8
65// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67// /*== all animations enable ==*/
68// #define RGBLIGHT_ANIMATIONS
69// /*== or choose animations ==*/
70// #define RGBLIGHT_EFFECT_BREATHING
71// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
72// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73// #define RGBLIGHT_EFFECT_SNAKE
74// #define RGBLIGHT_EFFECT_KNIGHT
75// #define RGBLIGHT_EFFECT_CHRISTMAS
76// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
77// #define RGBLIGHT_EFFECT_RGB_TEST
78// #define RGBLIGHT_EFFECT_ALTERNATING
79// /*== customize breathing effect ==*/
80// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82// /*==== use exp() and sin() ====*/
83// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85// #endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
89
90/* define if matrix has ghost (lacks anti-ghosting diodes) */
91//#define MATRIX_HAS_GHOST
92
93/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
94#define LOCKING_SUPPORT_ENABLE
95/* Locking resynchronize hack */
96#define LOCKING_RESYNC_ENABLE
97
98/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
99 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
100 */
101// #define GRAVE_ESC_CTRL_OVERRIDE
102
103/*
104 * Force NKRO
105 *
106 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
107 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
108 * makefile for this to work.)
109 *
110 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
111 * until the next keyboard reset.
112 *
113 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
114 * fully operational during normal computer usage.
115 *
116 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
117 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
118 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
119 * power-up.
120 *
121 */
122//#define FORCE_NKRO
123
124/*
125 * Magic Key Options
126 *
127 * Magic keys are hotkey commands that allow control over firmware functions of
128 * the keyboard. They are best used in combination with the HID Listen program,
129 * found here: https://www.pjrc.com/teensy/hid_listen.html
130 *
131 * The options below allow the magic key functionality to be changed. This is
132 * useful if your keyboard/keypad is missing keys and you want magic key support.
133 *
134 */
135
136/* key combination for magic key command */
137/* defined by default; to change, uncomment and set to the combination you want */
138// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
139
140/* control how magic key switches layers */
141//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
142//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
143//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
144
145/* override magic key keymap */
146//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
147//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
148//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
149//#define MAGIC_KEY_HELP H
150//#define MAGIC_KEY_HELP_ALT SLASH
151//#define MAGIC_KEY_DEBUG D
152//#define MAGIC_KEY_DEBUG_MATRIX X
153//#define MAGIC_KEY_DEBUG_KBD K
154//#define MAGIC_KEY_DEBUG_MOUSE M
155//#define MAGIC_KEY_VERSION V
156//#define MAGIC_KEY_STATUS S
157//#define MAGIC_KEY_CONSOLE C
158//#define MAGIC_KEY_LAYER0 0
159//#define MAGIC_KEY_LAYER0_ALT GRAVE
160//#define MAGIC_KEY_LAYER1 1
161//#define MAGIC_KEY_LAYER2 2
162//#define MAGIC_KEY_LAYER3 3
163//#define MAGIC_KEY_LAYER4 4
164//#define MAGIC_KEY_LAYER5 5
165//#define MAGIC_KEY_LAYER6 6
166//#define MAGIC_KEY_LAYER7 7
167//#define MAGIC_KEY_LAYER8 8
168//#define MAGIC_KEY_LAYER9 9
169//#define MAGIC_KEY_BOOTLOADER B
170//#define MAGIC_KEY_BOOTLOADER_ALT ESC
171//#define MAGIC_KEY_LOCK CAPS
172//#define MAGIC_KEY_EEPROM E
173//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
174//#define MAGIC_KEY_NKRO N
175//#define MAGIC_KEY_SLEEP_LED Z
176
177/*
178 * Feature disable options
179 * These options are also useful to firmware size reduction.
180 */
181
182/* disable debug print */
183//#define NO_DEBUG
184
185/* disable print */
186//#define NO_PRINT
187
188/* disable action features */
189//#define NO_ACTION_LAYER
190//#define NO_ACTION_TAPPING
191//#define NO_ACTION_ONESHOT
192//#define NO_ACTION_MACRO
193//#define NO_ACTION_FUNCTION
194
195/*
196 * MIDI options
197 */
198
199/* Prevent use of disabled MIDI features in the keymap */
200//#define MIDI_ENABLE_STRICT 1
201
202/* enable basic MIDI features:
203 - MIDI notes can be sent when in Music mode is on
204*/
205//#define MIDI_BASIC
206
207/* enable advanced MIDI features:
208 - MIDI notes can be added to the keymap
209 - Octave shift and transpose
210 - Virtual sustain, portamento, and modulation wheel
211 - etc.
212*/
213//#define MIDI_ADVANCED
214
215/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
216//#define MIDI_TONE_KEYCODE_OCTAVES 1
217
218/* Bootmagic Lite key configuration */
219// #define BOOTMAGIC_LITE_ROW 0
220// #define BOOTMAGIC_LITE_COLUMN 0
221
222#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/evyd13/eon95/eon95.c b/keyboards/evyd13/eon95/eon95.c
new file mode 100644
index 000000000..5eec86cc1
--- /dev/null
+++ b/keyboards/evyd13/eon95/eon95.c
@@ -0,0 +1,45 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "eon95.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21 matrix_init_user();
22 led_init_ports();
23}
24
25void led_init_ports(void) {
26 // * Set our LED pins as output and high
27 setPinOutput(D5);
28 writePinHigh(D5);
29
30 setPinOutput(B7);
31 writePinHigh(B7);
32
33 setPinOutput(B0);
34 writePinHigh(B0);
35}
36
37bool led_update_kb(led_t led_state) {
38 if(led_update_user(led_state)) {
39 writePin(D5, !led_state.caps_lock);
40 writePin(B7, !led_state.num_lock);
41 writePin(B0, !led_state.scroll_lock);
42 }
43
44 return true;
45}
diff --git a/keyboards/evyd13/eon95/eon95.h b/keyboards/evyd13/eon95/eon95.h
new file mode 100644
index 000000000..bf2713184
--- /dev/null
+++ b/keyboards/evyd13/eon95/eon95.h
@@ -0,0 +1,96 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29
30#define LAYOUT_all( \
31 k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, k09, \
32 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, k38, k29, \
33 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, k49, \
34 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, k68, k78, k69, \
35 k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, k88, k98, k89, \
36 ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7, ka8, kb8 \
37) \
38{ \
39 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
40 { k10, k11, XXX, k13, k14, k15, k16, k17, k18, XXX }, \
41 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
42 { k30, k31, k32, k33, k34, k35, k36, k37, k38, XXX }, \
43 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49 }, \
44 { k50, k51, k52, k53, k54, k55, XXX, k57, k58, XXX }, \
45 { k60, k61, k62, k63, k64, k65, k66, XXX, k68, k69 }, \
46 { k70, k71, k72, k73, k74, k75, k76, k77, k78, XXX }, \
47 { k80, k81, k82, k83, k84, k85, k86, k87, k88, k89 }, \
48 { k90, k91, k92, k93, k94, k95, XXX, k97, k98, XXX }, \
49 { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7, ka8, XXX }, \
50 { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7, kb8, XXX } \
51}
52
53#define LAYOUT_ansi( \
54 k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, k09, \
55 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k27, k37, k28, k38, k29, \
56 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, k48, k58, \
57 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, k68, k78, k69, \
58 k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, k88, k98, k89, \
59 ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7, ka8, kb8 \
60) \
61{ \
62 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
63 { k10, k11, XXX, k13, k14, k15, k16, k17, k18, XXX }, \
64 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
65 { k30, k31, k32, k33, k34, k35, XXX, k37, k38, XXX }, \
66 { k40, k41, k42, k43, k44, k45, k46, k47, k48, XXX }, \
67 { k50, k51, k52, k53, k54, k55, XXX, k57, k58, XXX }, \
68 { k60, k61, k62, k63, k64, k65, XXX, XXX, k68, k69 }, \
69 { k70, k71, k72, k73, k74, k75, k76, k77, k78, XXX }, \
70 { k80, k81, k82, k83, k84, k85, k86, k87, k88, k89 }, \
71 { XXX, k91, k92, k93, k94, k95, XXX, k97, k98, XXX }, \
72 { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7, ka8, XXX }, \
73 { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7, kb8, XXX } \
74}
75#define LAYOUT_iso( \
76 k00, k10, k01, k11, k02, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, k18, k09, \
77 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k27, k37, k28, k38, k29, \
78 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k57, k48, k58, \
79 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k77, k68, k78, k69, \
80 k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, k88, k98, k89, \
81 ka0, kb0, ka1, kb3, ka5, kb5, ka6, kb6, ka7, kb7, ka8, kb8 \
82) \
83{ \
84 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
85 { k10, k11, XXX, k13, k14, k15, k16, k17, k18, XXX }, \
86 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
87 { k30, k31, k32, k33, k34, k35, XXX, k37, k38, XXX }, \
88 { k40, k41, k42, k43, k44, k45, k46, XXX, k48, XXX }, \
89 { k50, k51, k52, k53, k54, k55, XXX, k57, k58, XXX }, \
90 { k60, k61, k62, k63, k64, k65, k66, XXX, k68, k69 }, \
91 { k70, k71, k72, k73, k74, k75, k76, k77, k78, XXX }, \
92 { k80, k81, k82, k83, k84, k85, k86, k87, k88, k89 }, \
93 { k90, k91, k92, k93, k94, k95, XXX, k97, k98, XXX }, \
94 { ka0, ka1, XXX, XXX, XXX, ka5, ka6, ka7, ka8, XXX }, \
95 { kb0, XXX, XXX, kb3, XXX, kb5, kb6, kb7, kb8, XXX } \
96}
diff --git a/keyboards/evyd13/eon95/info.json b/keyboards/evyd13/eon95/info.json
new file mode 100644
index 000000000..6580ef66e
--- /dev/null
+++ b/keyboards/evyd13/eon95/info.json
@@ -0,0 +1,338 @@
1{
2 "keyboard_name": "Eon95",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 19.5,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1.5, "y":0},
12 {"x":2.5, "y":0},
13 {"x":3.5, "y":0},
14 {"x":4.5, "y":0},
15 {"x":5.75, "y":0},
16 {"x":6.75, "y":0},
17 {"x":7.75, "y":0},
18 {"x":8.75, "y":0},
19 {"x":10, "y":0},
20 {"x":11, "y":0},
21 {"x":12, "y":0},
22 {"x":13, "y":0},
23 {"x":14.5, "y":0},
24 {"x":15.5, "y":0},
25 {"x":16.5, "y":0},
26 {"x":17.5, "y":0},
27 {"x":18.5, "y":0},
28
29 {"x":0, "y":1.25},
30 {"x":1, "y":1.25},
31 {"x":2, "y":1.25},
32 {"x":3, "y":1.25},
33 {"x":4, "y":1.25},
34 {"x":5, "y":1.25},
35 {"x":6, "y":1.25},
36 {"x":7, "y":1.25},
37 {"x":8, "y":1.25},
38 {"x":9, "y":1.25},
39 {"x":10, "y":1.25},
40 {"x":11, "y":1.25},
41 {"x":12, "y":1.25},
42 {"x":13, "y":1.25},
43 {"x":14, "y":1.25},
44 {"x":15.5, "y":1.25},
45 {"x":16.5, "y":1.25},
46 {"x":17.5, "y":1.25},
47 {"x":18.5, "y":1.25},
48
49 {"x":0, "y":2.25, "w":1.5},
50 {"x":1.5, "y":2.25},
51 {"x":2.5, "y":2.25},
52 {"x":3.5, "y":2.25},
53 {"x":4.5, "y":2.25},
54 {"x":5.5, "y":2.25},
55 {"x":6.5, "y":2.25},
56 {"x":7.5, "y":2.25},
57 {"x":8.5, "y":2.25},
58 {"x":9.5, "y":2.25},
59 {"x":10.5, "y":2.25},
60 {"x":11.5, "y":2.25},
61 {"x":12.5, "y":2.25},
62 {"x":13.5, "y":2.25, "w":1.5},
63 {"x":15.5, "y":2.25},
64 {"x":16.5, "y":2.25},
65 {"x":17.5, "y":2.25},
66 {"x":18.5, "y":2.25},
67
68 {"x":0, "y":3.25, "w":1.75},
69 {"x":1.75, "y":3.25},
70 {"x":2.75, "y":3.25},
71 {"x":3.75, "y":3.25},
72 {"x":4.75, "y":3.25},
73 {"x":5.75, "y":3.25},
74 {"x":6.75, "y":3.25},
75 {"x":7.75, "y":3.25},
76 {"x":8.75, "y":3.25},
77 {"x":9.75, "y":3.25},
78 {"x":10.75, "y":3.25},
79 {"x":11.75, "y":3.25},
80 {"x":12.75, "y":3.25},
81 {"x":13.75, "y":3.25, "w":1.25},
82 {"x":15.5, "y":3.25},
83 {"x":16.5, "y":3.25},
84 {"x":17.5, "y":3.25},
85 {"x":18.5, "y":3.25},
86
87 {"x":0, "y":4.25, "w":1.25},
88 {"x":1.25, "y":4.25},
89 {"x":2.25, "y":4.25},
90 {"x":3.25, "y":4.25},
91 {"x":4.25, "y":4.25},
92 {"x":5.25, "y":4.25},
93 {"x":6.25, "y":4.25},
94 {"x":7.25, "y":4.25},
95 {"x":8.25, "y":4.25},
96 {"x":9.25, "y":4.25},
97 {"x":10.25, "y":4.25},
98 {"x":11.25, "y":4.25},
99 {"x":12.25, "y":4.25, "w":1.75},
100 {"x":14.25, "y":4.5},
101 {"x":15.5, "y":4.25},
102 {"x":16.5, "y":4.25},
103 {"x":17.5, "y":4.25},
104 {"x":18.5, "y":4.25, "h":2},
105
106 {"x":0, "y":5.25, "w":1.25},
107 {"x":1.25, "y":5.25, "w":1.25},
108 {"x":2.5, "y":5.25, "w":1.25},
109 {"x":3.75, "y":5.25, "w":6.25},
110 {"x":10, "y":5.25},
111 {"x":11, "y":5.25},
112 {"x":12, "y":5.25},
113 {"x":13.25, "y":5.5},
114 {"x":14.25, "y":5.5},
115 {"x":15.25, "y":5.5},
116 {"x":16.5, "y":5.25},
117 {"x":17.5, "y":5.25}
118 ]
119 },
120 "LAYOUT_ansi": {
121 "layout": [
122 {"x":0, "y":0},
123 {"x":1.5, "y":0},
124 {"x":2.5, "y":0},
125 {"x":3.5, "y":0},
126 {"x":4.5, "y":0},
127 {"x":5.75, "y":0},
128 {"x":6.75, "y":0},
129 {"x":7.75, "y":0},
130 {"x":8.75, "y":0},
131 {"x":10, "y":0},
132 {"x":11, "y":0},
133 {"x":12, "y":0},
134 {"x":13, "y":0},
135 {"x":14.5, "y":0},
136 {"x":15.5, "y":0},
137 {"x":16.5, "y":0},
138 {"x":17.5, "y":0},
139 {"x":18.5, "y":0},
140
141 {"x":0, "y":1.25},
142 {"x":1, "y":1.25},
143 {"x":2, "y":1.25},
144 {"x":3, "y":1.25},
145 {"x":4, "y":1.25},
146 {"x":5, "y":1.25},
147 {"x":6, "y":1.25},
148 {"x":7, "y":1.25},
149 {"x":8, "y":1.25},
150 {"x":9, "y":1.25},
151 {"x":10, "y":1.25},
152 {"x":11, "y":1.25},
153 {"x":12, "y":1.25},
154 {"x":13, "y":1.25, "w":2},
155 {"x":15.5, "y":1.25},
156 {"x":16.5, "y":1.25},
157 {"x":17.5, "y":1.25},
158 {"x":18.5, "y":1.25},
159
160 {"x":0, "y":2.25, "w":1.5},
161 {"x":1.5, "y":2.25},
162 {"x":2.5, "y":2.25},
163 {"x":3.5, "y":2.25},
164 {"x":4.5, "y":2.25},
165 {"x":5.5, "y":2.25},
166 {"x":6.5, "y":2.25},
167 {"x":7.5, "y":2.25},
168 {"x":8.5, "y":2.25},
169 {"x":9.5, "y":2.25},
170 {"x":10.5, "y":2.25},
171 {"x":11.5, "y":2.25},
172 {"x":12.5, "y":2.25},
173 {"x":13.5, "y":2.25, "w":1.5},
174 {"x":15.5, "y":2.25},
175 {"x":16.5, "y":2.25},
176 {"x":17.5, "y":2.25},
177
178 {"x":0, "y":3.25, "w":1.75},
179 {"x":1.75, "y":3.25},
180 {"x":2.75, "y":3.25},
181 {"x":3.75, "y":3.25},
182 {"x":4.75, "y":3.25},
183 {"x":5.75, "y":3.25},
184 {"x":6.75, "y":3.25},
185 {"x":7.75, "y":3.25},
186 {"x":8.75, "y":3.25},
187 {"x":9.75, "y":3.25},
188 {"x":10.75, "y":3.25},
189 {"x":11.75, "y":3.25},
190 {"x":12.75, "y":3.25, "w":2.25},
191 {"x":15.5, "y":3.25},
192 {"x":16.5, "y":3.25},
193 {"x":17.5, "y":3.25},
194 {"x":18.5, "y":2.25, "h":2},
195
196 {"x":0, "y":4.25, "w":2.25},
197 {"x":2.25, "y":4.25},
198 {"x":3.25, "y":4.25},
199 {"x":4.25, "y":4.25},
200 {"x":5.25, "y":4.25},
201 {"x":6.25, "y":4.25},
202 {"x":7.25, "y":4.25},
203 {"x":8.25, "y":4.25},
204 {"x":9.25, "y":4.25},
205 {"x":10.25, "y":4.25},
206 {"x":11.25, "y":4.25},
207 {"x":12.25, "y":4.25, "w":1.75},
208 {"x":14.25, "y":4.5},
209 {"x":15.5, "y":4.25},
210 {"x":16.5, "y":4.25},
211 {"x":17.5, "y":4.25},
212 {"x":18.5, "y":4.25, "h":2},
213
214 {"x":0, "y":5.25, "w":1.25},
215 {"x":1.25, "y":5.25, "w":1.25},
216 {"x":2.5, "y":5.25, "w":1.25},
217 {"x":3.75, "y":5.25, "w":6.25},
218 {"x":10, "y":5.25},
219 {"x":11, "y":5.25},
220 {"x":12, "y":5.25},
221 {"x":13.25, "y":5.5},
222 {"x":14.25, "y":5.5},
223 {"x":15.25, "y":5.5},
224 {"x":16.5, "y":5.25},
225 {"x":17.5, "y":5.25}
226 ]
227 },
228 "LAYOUT_iso": {
229 "layout": [
230 {"x":0, "y":0},
231 {"x":1.5, "y":0},
232 {"x":2.5, "y":0},
233 {"x":3.5, "y":0},
234 {"x":4.5, "y":0},
235 {"x":5.75, "y":0},
236 {"x":6.75, "y":0},
237 {"x":7.75, "y":0},
238 {"x":8.75, "y":0},
239 {"x":10, "y":0},
240 {"x":11, "y":0},
241 {"x":12, "y":0},
242 {"x":13, "y":0},
243 {"x":14.5, "y":0},
244 {"x":15.5, "y":0},
245 {"x":16.5, "y":0},
246 {"x":17.5, "y":0},
247 {"x":18.5, "y":0},
248
249 {"x":0, "y":1.25},
250 {"x":1, "y":1.25},
251 {"x":2, "y":1.25},
252 {"x":3, "y":1.25},
253 {"x":4, "y":1.25},
254 {"x":5, "y":1.25},
255 {"x":6, "y":1.25},
256 {"x":7, "y":1.25},
257 {"x":8, "y":1.25},
258 {"x":9, "y":1.25},
259 {"x":10, "y":1.25},
260 {"x":11, "y":1.25},
261 {"x":12, "y":1.25},
262 {"x":13, "y":1.25, "w":2},
263 {"x":15.5, "y":1.25},
264 {"x":16.5, "y":1.25},
265 {"x":17.5, "y":1.25},
266 {"x":18.5, "y":1.25},
267
268 {"x":0, "y":2.25, "w":1.5},
269 {"x":1.5, "y":2.25},
270 {"x":2.5, "y":2.25},
271 {"x":3.5, "y":2.25},
272 {"x":4.5, "y":2.25},
273 {"x":5.5, "y":2.25},
274 {"x":6.5, "y":2.25},
275 {"x":7.5, "y":2.25},
276 {"x":8.5, "y":2.25},
277 {"x":9.5, "y":2.25},
278 {"x":10.5, "y":2.25},
279 {"x":11.5, "y":2.25},
280 {"x":12.5, "y":2.25},
281 {"x":15.5, "y":2.25},
282 {"x":16.5, "y":2.25},
283 {"x":17.5, "y":2.25},
284
285 {"x":0, "y":3.25, "w":1.75},
286 {"x":1.75, "y":3.25},
287 {"x":2.75, "y":3.25},
288 {"x":3.75, "y":3.25},
289 {"x":4.75, "y":3.25},
290 {"x":5.75, "y":3.25},
291 {"x":6.75, "y":3.25},
292 {"x":7.75, "y":3.25},
293 {"x":8.75, "y":3.25},
294 {"x":9.75, "y":3.25},
295 {"x":10.75, "y":3.25},
296 {"x":11.75, "y":3.25},
297 {"x":12.75, "y":3.25},
298 {"x":13.75, "y":2.25, "w":1.25, "h":2},
299 {"x":15.5, "y":3.25},
300 {"x":16.5, "y":3.25},
301 {"x":17.5, "y":3.25},
302 {"x":18.5, "y":2.25, "h":2},
303
304 {"x":0, "y":4.25, "w":1.25},
305 {"x":1.25, "y":4.25},
306 {"x":2.25, "y":4.25},
307 {"x":3.25, "y":4.25},
308 {"x":4.25, "y":4.25},
309 {"x":5.25, "y":4.25},
310 {"x":6.25, "y":4.25},
311 {"x":7.25, "y":4.25},
312 {"x":8.25, "y":4.25},
313 {"x":9.25, "y":4.25},
314 {"x":10.25, "y":4.25},
315 {"x":11.25, "y":4.25},
316 {"x":12.25, "y":4.25, "w":1.75},
317 {"x":14.25, "y":4.5},
318 {"x":15.5, "y":4.25},
319 {"x":16.5, "y":4.25},
320 {"x":17.5, "y":4.25},
321 {"x":18.5, "y":4.25, "h":2},
322
323 {"x":0, "y":5.25, "w":1.25},
324 {"x":1.25, "y":5.25, "w":1.25},
325 {"x":2.5, "y":5.25, "w":1.25},
326 {"x":3.75, "y":5.25, "w":6.25},
327 {"x":10, "y":5.25},
328 {"x":11, "y":5.25},
329 {"x":12, "y":5.25},
330 {"x":13.25, "y":5.5},
331 {"x":14.25, "y":5.5},
332 {"x":15.25, "y":5.5},
333 {"x":16.5, "y":5.25},
334 {"x":17.5, "y":5.25}
335 ]
336 }
337 }
338}
diff --git a/keyboards/evyd13/eon95/keymaps/default/keymap.c b/keyboards/evyd13/eon95/keymaps/default/keymap.c
new file mode 100644
index 000000000..1d61ca55e
--- /dev/null
+++ b/keyboards/evyd13/eon95/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_all(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_PSCR, KC_SLCK, KC_PAUS,
21 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
24 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
26[1] = LAYOUT_all(
27 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
33
34}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon95/keymaps/via/keymap.c b/keyboards/evyd13/eon95/keymaps/via/keymap.c
new file mode 100644
index 000000000..5ada354fa
--- /dev/null
+++ b/keyboards/evyd13/eon95/keymaps/via/keymap.c
@@ -0,0 +1,40 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_all(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_PSCR, KC_SLCK, KC_PAUS,
21 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
24 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
26[1] = LAYOUT_all(
27 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
33[2] = LAYOUT_all(
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
40}; \ No newline at end of file
diff --git a/keyboards/evyd13/eon95/keymaps/via/rules.mk b/keyboards/evyd13/eon95/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/eon95/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/eon95/readme.md b/keyboards/evyd13/eon95/readme.md
new file mode 100644
index 000000000..0bb43f651
--- /dev/null
+++ b/keyboards/evyd13/eon95/readme.md
@@ -0,0 +1,13 @@
1# Eon95
2
3## Support
4* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
5* Hardware Supported: Eon95
6* Hardware Availability: None
7
8## Build
9Make example for this keyboard (after setting up your build environment):
10
11 make evyd13/eon95:default
12
13See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/eon95/rules.mk b/keyboards/evyd13/eon95/rules.mk
new file mode 100644
index 000000000..264e0ea67
--- /dev/null
+++ b/keyboards/evyd13/eon95/rules.mk
@@ -0,0 +1,32 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = atmel-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/evyd13/gh80_1800/config.h b/keyboards/evyd13/gh80_1800/config.h
new file mode 100644
index 000000000..c230aa9af
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/config.h
@@ -0,0 +1,143 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0x8B23
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT GH80 1800
27
28/* key matrix size */
29#define MATRIX_ROWS 10
30#define MATRIX_COLS 11
31
32/*
33 * Keyboard Matrix Assignments
34 *
35 * Change this to how you wired your keyboard
36 * COLS: AVR pins used for columns, left to right
37 * ROWS: AVR pins used for rows, top to bottom
38 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
39 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
40 *
41*/
42#define MATRIX_ROW_PINS {D5,B4,B5,B6,C6,C7,B0,B2,B1,B3}
43#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,D3,D2,D1,D0,B7}
44#define UNUSED_PINS {E6}
45
46/* COL2ROW, ROW2COL*/
47#define DIODE_DIRECTION COL2ROW
48
49/*
50 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
51 */
52// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
53
54// #define BACKLIGHT_PIN B7
55// #define BACKLIGHT_BREATHING
56// #define BACKLIGHT_LEVELS 3
57
58// #define RGB_DI_PIN D0
59// #ifdef RGB_DI_PIN
60// #define RGBLED_NUM 12
61// #define RGBLIGHT_HUE_STEP 8
62// #define RGBLIGHT_SAT_STEP 8
63// #define RGBLIGHT_VAL_STEP 8
64// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
65// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
66// /*== all animations enable ==*/
67// #define RGBLIGHT_ANIMATIONS
68// /*== or choose animations ==*/
69// #define RGBLIGHT_EFFECT_BREATHING
70// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
71// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
72// #define RGBLIGHT_EFFECT_SNAKE
73// #define RGBLIGHT_EFFECT_KNIGHT
74// #define RGBLIGHT_EFFECT_CHRISTMAS
75// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
76// #define RGBLIGHT_EFFECT_RGB_TEST
77// #define RGBLIGHT_EFFECT_ALTERNATING
78// /*== customize breathing effect ==*/
79// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
80// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
81// /*==== use exp() and sin() ====*/
82// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
83// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
84// #endif
85
86/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
87#define DEBOUNCE 5
88
89/* define if matrix has ghost (lacks anti-ghosting diodes) */
90//#define MATRIX_HAS_GHOST
91
92/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
93#define LOCKING_SUPPORT_ENABLE
94/* Locking resynchronize hack */
95#define LOCKING_RESYNC_ENABLE
96
97/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
98 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
99 */
100// #define GRAVE_ESC_CTRL_OVERRIDE
101
102/*
103 * Force NKRO
104 *
105 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
106 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
107 * makefile for this to work.)
108 *
109 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
110 * until the next keyboard reset.
111 *
112 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
113 * fully operational during normal computer usage.
114 *
115 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
116 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
117 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
118 * power-up.
119 *
120 */
121//#define FORCE_NKRO
122
123/*
124 * Feature disable options
125 * These options are also useful to firmware size reduction.
126 */
127
128/* disable debug print */
129//#define NO_DEBUG
130
131/* disable print */
132//#define NO_PRINT
133
134/* disable action features */
135//#define NO_ACTION_LAYER
136//#define NO_ACTION_TAPPING
137//#define NO_ACTION_ONESHOT
138//#define NO_ACTION_MACRO
139//#define NO_ACTION_FUNCTION
140
141/* Bootmagic Lite key configuration */
142// #define BOOTMAGIC_LITE_ROW 0
143// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/evyd13/gh80_1800/gh80_1800.c b/keyboards/evyd13/gh80_1800/gh80_1800.c
new file mode 100644
index 000000000..770c6f78b
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/gh80_1800.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "gh80_1800.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23 led_init_ports();
24}
25
26void led_init_ports(void) {
27 setPinOutput(D6);
28 setPinOutput(D7);
29 setPinOutput(D4);
30
31 writePinHigh(D6);
32 writePinHigh(D7);
33 writePinHigh(D4);
34}
35
36bool led_update_kb(led_t led_state) {
37 if(led_update_user(led_state)) {
38 writePin(D6, !led_state.num_lock);
39 writePin(D7, !led_state.caps_lock);
40 writePin(D4, !led_state.scroll_lock);
41 }
42
43 return true;
44}
diff --git a/keyboards/evyd13/gh80_1800/gh80_1800.h b/keyboards/evyd13/gh80_1800/gh80_1800.h
new file mode 100644
index 000000000..920aaf373
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/gh80_1800.h
@@ -0,0 +1,94 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29
30#define LAYOUT_all( \
31 k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k07, k08, k09, k0a, \
32 k17, k18, k19, k1a, \
33 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k36, k26, k16, k27, k28, k29, k2a, \
34 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k37, k38, k39, k3a, \
35 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k66, k47, k48, k49, k4a, \
36 k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k97, k57, k58, k59, k5a, \
37 k77, k87, k78, k88, k79, k89, k7a, k8a, k98, k99, k9a, k68, k69, k6a \
38) \
39{ \
40 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a}, \
41 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a}, \
42 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a}, \
43 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a}, \
44 {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a}, \
45 {k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5a}, \
46 {k60, k61, k62, k63, k64, k65, k66, XXX, k68, k69, k6a}, \
47 {k70, k71, k72, k73, k74, k75, k76, k77, k78, k79, k7a}, \
48 {k80, k81, k82, k83, k84, k85, k86, k87, k88, k89, k8a}, \
49 {k90, k91, k92, k93, k94, k95, XXX, k97, k98, k99, k9a} \
50}
51
52#define LAYOUT_1800_ansi( \
53 k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k07, k08, k09, k0a, \
54 k17, k18, k19, k1a, \
55 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k36, k16, k27, k28, k29, k2a, \
56 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k37, k38, k39, k3a, \
57 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k47, k48, k49, k4a, \
58 k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k97, k57, k58, k59, \
59 k77, k87, k78, k88, k79, k89, k7a, k8a, k98, k99, k9a, k68, k69, k6a \
60) \
61{ \
62 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a}, \
63 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a}, \
64 {k20, k21, k22, k23, k24, k25, XXX, k27, k28, k29, k2a}, \
65 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a}, \
66 {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a}, \
67 {k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, XXX}, \
68 {k60, k61, k62, k63, k64, k65, k66, XXX, k68, k69, k6a}, \
69 {k70, k71, k72, k73, k74, k75, XXX, k77, k78, k79, k7a}, \
70 {k80, k81, k82, k83, k84, k85, k86, k87, k88, k89, k8a}, \
71 {XXX, k91, k92, k93, k94, k95, XXX, k97, k98, k99, k9a} \
72}
73
74#define LAYOUT_1800_iso( \
75 k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k07, k08, k09, k0a, \
76 k17, k18, k19, k1a, \
77 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k36, k16, k27, k28, k29, k2a, \
78 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k37, k38, k39, k3a, \
79 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k66, k47, k48, k49, k4a, \
80 k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k97, k57, k58, k59, \
81 k77, k87, k78, k88, k79, k89, k7a, k8a, k98, k99, k9a, k68, k69, k6a \
82) \
83{ \
84 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a}, \
85 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a}, \
86 {k20, k21, k22, k23, k24, k25, XXX, k27, k28, k29, k2a}, \
87 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a}, \
88 {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a}, \
89 {k50, k51, k52, k53, k54, k55, XXX, k57, k58, k59, XXX}, \
90 {k60, k61, k62, k63, k64, k65, k66, XXX, k68, k69, k6a}, \
91 {k70, k71, k72, k73, k74, k75, k76, k77, k78, k79, k7a}, \
92 {k80, k81, k82, k83, k84, k85, k86, k87, k88, k89, k8a}, \
93 {k90, k91, k92, k93, k94, k95, XXX, k97, k98, k99, k9a} \
94}
diff --git a/keyboards/evyd13/gh80_1800/info.json b/keyboards/evyd13/gh80_1800/info.json
new file mode 100644
index 000000000..b468320d8
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/info.json
@@ -0,0 +1,356 @@
1{
2 "keyboard_name": "GH80-1800",
3 "url": "https://github.com/evyd13/gh80-series/tree/master/GH80-1800",
4 "maintainer": "evyd13",
5 "width": 19.5,
6 "height": 7.25,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1.25, "y":0},
12 {"x":2.25, "y":0},
13 {"x":3.25, "y":0},
14 {"x":4.25, "y":0},
15 {"x":5.5, "y":0},
16 {"x":6.5, "y":0},
17 {"x":7.5, "y":0},
18 {"x":8.5, "y":0},
19 {"x":9.75, "y":0},
20 {"x":10.75, "y":0},
21 {"x":11.75, "y":0},
22 {"x":12.75, "y":0},
23 {"x":15.5, "y":0},
24 {"x":16.5, "y":0},
25 {"x":17.5, "y":0},
26 {"x":18.5, "y":0},
27
28 {"x":15.5, "y":1},
29 {"x":16.5, "y":1},
30 {"x":17.5, "y":1},
31 {"x":18.5, "y":1},
32
33 {"x":0, "y":2},
34 {"x":1, "y":2},
35 {"x":2, "y":2},
36 {"x":3, "y":2},
37 {"x":4, "y":2},
38 {"x":5, "y":2},
39 {"x":6, "y":2},
40 {"x":7, "y":2},
41 {"x":8, "y":2},
42 {"x":9, "y":2},
43 {"x":10, "y":2},
44 {"x":11, "y":2},
45 {"x":12, "y":2},
46 {"x":13, "y":2},
47 {"x":14, "y":2},
48 {"x":15.5, "y":2},
49 {"x":16.5, "y":2},
50 {"x":17.5, "y":2},
51 {"x":18.5, "y":2},
52
53 {"x":0, "y":3, "w":1.5},
54 {"x":1.5, "y":3},
55 {"x":2.5, "y":3},
56 {"x":3.5, "y":3},
57 {"x":4.5, "y":3},
58 {"x":5.5, "y":3},
59 {"x":6.5, "y":3},
60 {"x":7.5, "y":3},
61 {"x":8.5, "y":3},
62 {"x":9.5, "y":3},
63 {"x":10.5, "y":3},
64 {"x":11.5, "y":3},
65 {"x":12.5, "y":3},
66 {"x":13.5, "y":3, "w":1.5},
67 {"x":15.5, "y":3},
68 {"x":16.5, "y":3},
69 {"x":17.5, "y":3},
70 {"x":18.5, "y":3},
71
72 {"x":0, "y":4, "w":1.75},
73 {"x":1.75, "y":4},
74 {"x":2.75, "y":4},
75 {"x":3.75, "y":4},
76 {"x":4.75, "y":4},
77 {"x":5.75, "y":4},
78 {"x":6.75, "y":4},
79 {"x":7.75, "y":4},
80 {"x":8.75, "y":4},
81 {"x":9.75, "y":4},
82 {"x":10.75, "y":4},
83 {"x":11.75, "y":4},
84 {"x":12.75, "y":4},
85 {"x":13.75, "y":4, "w":1.25},
86 {"x":15.5, "y":4},
87 {"x":16.5, "y":4},
88 {"x":17.5, "y":4},
89 {"x":18.5, "y":4},
90
91 {"x":0, "y":5, "w":1.25},
92 {"x":1.25, "y":5},
93 {"x":2.25, "y":5},
94 {"x":3.25, "y":5},
95 {"x":4.25, "y":5},
96 {"x":5.25, "y":5},
97 {"x":6.25, "y":5},
98 {"x":7.25, "y":5},
99 {"x":8.25, "y":5},
100 {"x":9.25, "y":5},
101 {"x":10.25, "y":5},
102 {"x":11.25, "y":5},
103 {"x":12.25, "y":5, "w":1.75},
104 {"x":14.25, "y":5.25},
105 {"x":15.5, "y":5},
106 {"x":16.5, "y":5},
107 {"x":17.5, "y":5},
108 {"x":18.5, "y":5},
109
110 {"x":0, "y":6},
111 {"x":1, "y":6},
112 {"x":2, "y":6},
113 {"x":3, "y":6, "w":6},
114 {"x":9, "y":6},
115 {"x":10, "y":6},
116 {"x":11, "y":6},
117 {"x":12, "y":6},
118 {"x":13.25, "y":6.25},
119 {"x":14.25, "y":6.25},
120 {"x":15.25, "y":6.25},
121 {"x":16.5, "y":6},
122 {"x":17.5, "y":6},
123 {"x":18.5, "y":6}
124 ]
125 },
126 "LAYOUT_1800_ansi": {
127 "layout": [
128 {"x":0, "y":0},
129 {"x":1.25, "y":0},
130 {"x":2.25, "y":0},
131 {"x":3.25, "y":0},
132 {"x":4.25, "y":0},
133 {"x":5.5, "y":0},
134 {"x":6.5, "y":0},
135 {"x":7.5, "y":0},
136 {"x":8.5, "y":0},
137 {"x":9.75, "y":0},
138 {"x":10.75, "y":0},
139 {"x":11.75, "y":0},
140 {"x":12.75, "y":0},
141 {"x":15.5, "y":0},
142 {"x":16.5, "y":0},
143 {"x":17.5, "y":0},
144 {"x":18.5, "y":0},
145
146 {"x":15.5, "y":1},
147 {"x":16.5, "y":1},
148 {"x":17.5, "y":1},
149 {"x":18.5, "y":1},
150
151 {"x":0, "y":2},
152 {"x":1, "y":2},
153 {"x":2, "y":2},
154 {"x":3, "y":2},
155 {"x":4, "y":2},
156 {"x":5, "y":2},
157 {"x":6, "y":2},
158 {"x":7, "y":2},
159 {"x":8, "y":2},
160 {"x":9, "y":2},
161 {"x":10, "y":2},
162 {"x":11, "y":2},
163 {"x":12, "y":2},
164 {"x":13, "y":2, "w":2},
165 {"x":15.5, "y":2},
166 {"x":16.5, "y":2},
167 {"x":17.5, "y":2},
168 {"x":18.5, "y":2},
169
170 {"x":0, "y":3, "w":1.5},
171 {"x":1.5, "y":3},
172 {"x":2.5, "y":3},
173 {"x":3.5, "y":3},
174 {"x":4.5, "y":3},
175 {"x":5.5, "y":3},
176 {"x":6.5, "y":3},
177 {"x":7.5, "y":3},
178 {"x":8.5, "y":3},
179 {"x":9.5, "y":3},
180 {"x":10.5, "y":3},
181 {"x":11.5, "y":3},
182 {"x":12.5, "y":3},
183 {"x":13.5, "y":3, "w":1.5},
184 {"x":15.5, "y":3},
185 {"x":16.5, "y":3},
186 {"x":17.5, "y":3},
187 {"x":18.5, "y":3},
188
189 {"x":0, "y":4, "w":1.75},
190 {"x":1.75, "y":4},
191 {"x":2.75, "y":4},
192 {"x":3.75, "y":4},
193 {"x":4.75, "y":4},
194 {"x":5.75, "y":4},
195 {"x":6.75, "y":4},
196 {"x":7.75, "y":4},
197 {"x":8.75, "y":4},
198 {"x":9.75, "y":4},
199 {"x":10.75, "y":4},
200 {"x":11.75, "y":4},
201 {"x":12.75, "y":4, "w":2.25},
202 {"x":15.5, "y":4},
203 {"x":16.5, "y":4},
204 {"x":17.5, "y":4},
205 {"x":18.5, "y":4},
206
207 {"x":0, "y":5, "w":2.25},
208 {"x":2.25, "y":5},
209 {"x":3.25, "y":5},
210 {"x":4.25, "y":5},
211 {"x":5.25, "y":5},
212 {"x":6.25, "y":5},
213 {"x":7.25, "y":5},
214 {"x":8.25, "y":5},
215 {"x":9.25, "y":5},
216 {"x":10.25, "y":5},
217 {"x":11.25, "y":5},
218 {"x":12.25, "y":5, "w":1.75},
219 {"x":14.25, "y":5.25},
220 {"x":15.5, "y":5},
221 {"x":16.5, "y":5},
222 {"x":17.5, "y":5},
223
224 {"x":0, "y":6},
225 {"x":1, "y":6},
226 {"x":2, "y":6},
227 {"x":3, "y":6, "w":6},
228 {"x":9, "y":6},
229 {"x":10, "y":6},
230 {"x":11, "y":6},
231 {"x":12, "y":6},
232 {"x":13.25, "y":6.25},
233 {"x":14.25, "y":6.25},
234 {"x":15.25, "y":6.25},
235 {"x":16.5, "y":6},
236 {"x":17.5, "y":6},
237 {"x":18.5, "y":5, "h":2}
238 ]
239 },
240 "LAYOUT_1800_iso": {
241 "layout": [
242 {"x":0, "y":0},
243 {"x":1.25, "y":0},
244 {"x":2.25, "y":0},
245 {"x":3.25, "y":0},
246 {"x":4.25, "y":0},
247 {"x":5.5, "y":0},
248 {"x":6.5, "y":0},
249 {"x":7.5, "y":0},
250 {"x":8.5, "y":0},
251 {"x":9.75, "y":0},
252 {"x":10.75, "y":0},
253 {"x":11.75, "y":0},
254 {"x":12.75, "y":0},
255 {"x":15.5, "y":0},
256 {"x":16.5, "y":0},
257 {"x":17.5, "y":0},
258 {"x":18.5, "y":0},
259
260 {"x":15.5, "y":1},
261 {"x":16.5, "y":1},
262 {"x":17.5, "y":1},
263 {"x":18.5, "y":1},
264
265 {"x":0, "y":2},
266 {"x":1, "y":2},
267 {"x":2, "y":2},
268 {"x":3, "y":2},
269 {"x":4, "y":2},
270 {"x":5, "y":2},
271 {"x":6, "y":2},
272 {"x":7, "y":2},
273 {"x":8, "y":2},
274 {"x":9, "y":2},
275 {"x":10, "y":2},
276 {"x":11, "y":2},
277 {"x":12, "y":2},
278 {"x":13, "y":2, "w":2},
279 {"x":15.5, "y":2},
280 {"x":16.5, "y":2},
281 {"x":17.5, "y":2},
282 {"x":18.5, "y":2},
283
284 {"x":0, "y":3, "w":1.5},
285 {"x":1.5, "y":3},
286 {"x":2.5, "y":3},
287 {"x":3.5, "y":3},
288 {"x":4.5, "y":3},
289 {"x":5.5, "y":3},
290 {"x":6.5, "y":3},
291 {"x":7.5, "y":3},
292 {"x":8.5, "y":3},
293 {"x":9.5, "y":3},
294 {"x":10.5, "y":3},
295 {"x":11.5, "y":3},
296 {"x":12.5, "y":3},
297 {"x":15.5, "y":3},
298 {"x":16.5, "y":3},
299 {"x":17.5, "y":3},
300 {"x":18.5, "y":3},
301
302 {"x":0, "y":4, "w":1.75},
303 {"x":1.75, "y":4},
304 {"x":2.75, "y":4},
305 {"x":3.75, "y":4},
306 {"x":4.75, "y":4},
307 {"x":5.75, "y":4},
308 {"x":6.75, "y":4},
309 {"x":7.75, "y":4},
310 {"x":8.75, "y":4},
311 {"x":9.75, "y":4},
312 {"x":10.75, "y":4},
313 {"x":11.75, "y":4},
314 {"x":12.75, "y":4},
315 {"x":13.75, "y":3, "w":1.25, "h":2},
316 {"x":15.5, "y":4},
317 {"x":16.5, "y":4},
318 {"x":17.5, "y":4},
319 {"x":18.5, "y":4},
320
321 {"x":0, "y":5, "w":1.25},
322 {"x":1.25, "y":5},
323 {"x":2.25, "y":5},
324 {"x":3.25, "y":5},
325 {"x":4.25, "y":5},
326 {"x":5.25, "y":5},
327 {"x":6.25, "y":5},
328 {"x":7.25, "y":5},
329 {"x":8.25, "y":5},
330 {"x":9.25, "y":5},
331 {"x":10.25, "y":5},
332 {"x":11.25, "y":5},
333 {"x":12.25, "y":5, "w":1.75},
334 {"x":14.25, "y":5.25},
335 {"x":15.5, "y":5},
336 {"x":16.5, "y":5},
337 {"x":17.5, "y":5},
338
339 {"x":0, "y":6},
340 {"x":1, "y":6},
341 {"x":2, "y":6},
342 {"x":3, "y":6, "w":6},
343 {"x":9, "y":6},
344 {"x":10, "y":6},
345 {"x":11, "y":6},
346 {"x":12, "y":6},
347 {"x":13.25, "y":6.25},
348 {"x":14.25, "y":6.25},
349 {"x":15.25, "y":6.25},
350 {"x":16.5, "y":6},
351 {"x":17.5, "y":6},
352 {"x":18.5, "y":5, "h":2}
353 ]
354 }
355 }
356} \ No newline at end of file
diff --git a/keyboards/evyd13/gh80_1800/keymaps/default/keymap.c b/keyboards/evyd13/gh80_1800/keymaps/default/keymap.c
new file mode 100644
index 000000000..bbd878413
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/keymaps/default/keymap.c
@@ -0,0 +1,28 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_all(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR,
21 KC_DEL, KC_END, KC_PGDN, KC_SLCK,
22 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS,
23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
24 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
25 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PPLS,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
27 ),
28}; \ No newline at end of file
diff --git a/keyboards/evyd13/gh80_1800/keymaps/default/readme.md b/keyboards/evyd13/gh80_1800/keymaps/default/readme.md
new file mode 100644
index 000000000..c90376fe8
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/keymaps/default/readme.md
@@ -0,0 +1 @@
This is the default keymap for the GH80-1800.
diff --git a/keyboards/evyd13/gh80_1800/keymaps/via/keymap.c b/keyboards/evyd13/gh80_1800/keymaps/via/keymap.c
new file mode 100644
index 000000000..41795e1e0
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_all(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR,
21 KC_DEL, KC_END, KC_PGDN, KC_SLCK,
22 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS,
23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
24 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
25 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PPLS,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
27 ),
28 [1] = LAYOUT_all(
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
36 ),
37 [2] = LAYOUT_all(
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
45 ),
46 [3] = LAYOUT_all(
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
48 _______, _______, _______, _______,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
51 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
53 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
54 )
55}; \ No newline at end of file
diff --git a/keyboards/evyd13/gh80_1800/keymaps/via/rules.mk b/keyboards/evyd13/gh80_1800/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/gh80_1800/readme.md b/keyboards/evyd13/gh80_1800/readme.md
new file mode 100644
index 000000000..fd392988c
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/readme.md
@@ -0,0 +1,13 @@
1# GH80-1800
2
3## Support
4* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
5* Hardware Supported: GH80-1800
6* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/gh80-series/tree/master/GH80-1800)
7
8## Build
9Make example for this keyboard (after setting up your build environment):
10
11 make evyd13/gh80_1800:default
12
13See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/gh80_1800/rules.mk b/keyboards/evyd13/gh80_1800/rules.mk
new file mode 100644
index 000000000..eaca84433
--- /dev/null
+++ b/keyboards/evyd13/gh80_1800/rules.mk
@@ -0,0 +1,21 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = qmk-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
diff --git a/keyboards/evyd13/gh80_3700/config.h b/keyboards/evyd13/gh80_3700/config.h
new file mode 100644
index 000000000..200f179cf
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/config.h
@@ -0,0 +1,143 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0x633A
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT GH80 3700
27
28/* key matrix size */
29#define MATRIX_ROWS 6
30#define MATRIX_COLS 4
31
32/*
33 * Keyboard Matrix Assignments
34 *
35 * Change this to how you wired your keyboard
36 * COLS: AVR pins used for columns, left to right
37 * ROWS: AVR pins used for rows, top to bottom
38 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
39 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
40 *
41*/
42#define MATRIX_ROW_PINS {B3,C7,C6,B6,B5,B4}
43#define MATRIX_COL_PINS {B0,D7,D6,D4}
44#define UNUSED_PINS {}
45
46/* COL2ROW, ROW2COL*/
47#define DIODE_DIRECTION COL2ROW
48
49/*
50 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
51 */
52// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
53
54// #define BACKLIGHT_PIN B7
55// #define BACKLIGHT_BREATHING
56// #define BACKLIGHT_LEVELS 3
57
58// #define RGB_DI_PIN B2
59// #ifdef RGB_DI_PIN
60// #define RGBLED_NUM 8
61// #define RGBLIGHT_HUE_STEP 8
62// #define RGBLIGHT_SAT_STEP 8
63// #define RGBLIGHT_VAL_STEP 8
64// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
65// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
66// /*== all animations enable ==*/
67// #define RGBLIGHT_ANIMATIONS
68// /*== or choose animations ==*/
69// #define RGBLIGHT_EFFECT_BREATHING
70// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
71// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
72// #define RGBLIGHT_EFFECT_SNAKE
73// #define RGBLIGHT_EFFECT_KNIGHT
74// #define RGBLIGHT_EFFECT_CHRISTMAS
75// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
76// #define RGBLIGHT_EFFECT_RGB_TEST
77// #define RGBLIGHT_EFFECT_ALTERNATING
78// /*== customize breathing effect ==*/
79// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
80// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
81// /*==== use exp() and sin() ====*/
82// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
83// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
84// #endif
85
86/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
87#define DEBOUNCE 5
88
89/* define if matrix has ghost (lacks anti-ghosting diodes) */
90//#define MATRIX_HAS_GHOST
91
92/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
93#define LOCKING_SUPPORT_ENABLE
94/* Locking resynchronize hack */
95#define LOCKING_RESYNC_ENABLE
96
97/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
98 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
99 */
100// #define GRAVE_ESC_CTRL_OVERRIDE
101
102/*
103 * Force NKRO
104 *
105 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
106 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
107 * makefile for this to work.)
108 *
109 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
110 * until the next keyboard reset.
111 *
112 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
113 * fully operational during normal computer usage.
114 *
115 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
116 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
117 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
118 * power-up.
119 *
120 */
121//#define FORCE_NKRO
122
123/*
124 * Feature disable options
125 * These options are also useful to firmware size reduction.
126 */
127
128/* disable debug print */
129//#define NO_DEBUG
130
131/* disable print */
132//#define NO_PRINT
133
134/* disable action features */
135//#define NO_ACTION_LAYER
136//#define NO_ACTION_TAPPING
137//#define NO_ACTION_ONESHOT
138//#define NO_ACTION_MACRO
139//#define NO_ACTION_FUNCTION
140
141// Define rotary encoder
142#define ENCODERS_PAD_A { F1 }
143#define ENCODERS_PAD_B { F4 }
diff --git a/keyboards/evyd13/gh80_3700/gh80_3700.c b/keyboards/evyd13/gh80_3700/gh80_3700.c
new file mode 100644
index 000000000..f607a440e
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/gh80_3700.c
@@ -0,0 +1,46 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "gh80_3700.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23 led_init_ports();
24}
25
26void led_init_ports(void) {
27 setPinOutput(E6);
28 setPinOutput(B1);
29 setPinOutput(D0);
30 setPinOutput(D1);
31 setPinOutput(F0);
32
33 writePinHigh(E6);
34 writePinHigh(B1);
35 writePinHigh(D0);
36 writePinHigh(D1);
37 writePinHigh(F0);
38}
39
40bool led_update_kb(led_t led_state) {
41 if(led_update_user(led_state)) {
42 writePin(E6, !led_state.num_lock);
43 }
44
45 return true;
46} \ No newline at end of file
diff --git a/keyboards/evyd13/gh80_3700/gh80_3700.h b/keyboards/evyd13/gh80_3700/gh80_3700.h
new file mode 100644
index 000000000..4a350a955
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/gh80_3700.h
@@ -0,0 +1,63 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19
20/* This a shortcut to help you visually see your layout.
21 *
22 * The first section contains all of the arguments representing the physical
23 * layout of the board and position of the keys.
24 *
25 * The second converts the arguments into a two-dimensional array which
26 * represents the switch matrix.
27 */
28
29#define LAYOUT_all LAYOUT_ortho_6x4
30
31#define LAYOUT_ortho_6x4( \
32 k00, k01, k02, k03, \
33 k10, k11, k12, k13, \
34 k20, k21, k22, k23, \
35 k30, k31, k32, k33, \
36 k40, k41, k42, k43, \
37 k50, k51, k52, k53 \
38) \
39{ \
40 { k00, k01, k02, k03 }, \
41 { k10, k11, k12, k13 }, \
42 { k20, k21, k22, k23 }, \
43 { k30, k31, k32, k33 }, \
44 { k40, k41, k42, k43 }, \
45 { k50, k51, k52, k53 } \
46}
47
48#define LAYOUT_numpad_6x4( \
49 k00, k01, k02, k03, \
50 k10, k11, k12, k13, \
51 k20, k21, k22, \
52 k30, k31, k32, k33, \
53 k40, k41, k42, \
54 k50, k52, k53 \
55) \
56{ \
57 { k00, k01, k02, k03 }, \
58 { k10, k11, k12, k13 }, \
59 { k20, k21, k22, KC_NO }, \
60 { k30, k31, k32, k33 }, \
61 { k40, k41, k42, KC_NO }, \
62 { k50, KC_NO, k52, k53 } \
63}
diff --git a/keyboards/evyd13/gh80_3700/info.json b/keyboards/evyd13/gh80_3700/info.json
new file mode 100644
index 000000000..9f3ff6e5e
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/info.json
@@ -0,0 +1,72 @@
1{
2 "keyboard_name": "GH80-3700",
3 "url": "https://github.com/evyd13/gh80-series/tree/master/GH80-3700",
4 "maintainer": "evyd13",
5 "width": 4,
6 "height": 7,
7 "layouts": {
8 "LAYOUT_ortho_6x4": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14
15 {"x":0, "y":2},
16 {"x":1, "y":2},
17 {"x":2, "y":2},
18 {"x":3, "y":2},
19
20 {"x":0, "y":3},
21 {"x":1, "y":3},
22 {"x":2, "y":3},
23 {"x":3, "y":3},
24
25 {"x":0, "y":4},
26 {"x":1, "y":4},
27 {"x":2, "y":4},
28 {"x":3, "y":4},
29
30 {"x":0, "y":5},
31 {"x":1, "y":5},
32 {"x":2, "y":5},
33 {"x":3, "y":5},
34
35 {"x":0, "y":6},
36 {"x":1, "y":6},
37 {"x":2, "y":6},
38 {"x":3, "y":6}
39 ]
40 },
41 "LAYOUT_numpad_6x4": {
42 "layout": [
43 {"x":0, "y":0},
44 {"x":1, "y":0},
45 {"x":2, "y":0},
46 {"x":3, "y":0},
47
48 {"x":0, "y":2},
49 {"x":1, "y":2},
50 {"x":2, "y":2},
51 {"x":3, "y":2},
52
53 {"x":0, "y":3},
54 {"x":1, "y":3},
55 {"x":2, "y":3},
56
57 {"x":0, "y":4},
58 {"x":1, "y":4},
59 {"x":2, "y":4},
60 {"x":3, "y":3, "h":2},
61
62 {"x":0, "y":5},
63 {"x":1, "y":5},
64 {"x":2, "y":5},
65
66 {"x":0, "y":6, "w":2},
67 {"x":2, "y":6},
68 {"x":3, "y":5, "h":2}
69 ]
70 }
71 }
72}
diff --git a/keyboards/evyd13/gh80_3700/keymaps/default/keymap.c b/keyboards/evyd13/gh80_3700/keymaps/default/keymap.c
new file mode 100644
index 000000000..52dc48215
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_ortho_6x4(
20 KC_ESC, KC_TAB, KC_EQL, KC_BSPC,
21 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_P7, KC_P8, KC_P9, KC_PPLS,
23 KC_P4, KC_P5, KC_P6, KC_PPLS,
24 KC_P1, KC_P2, KC_P3, KC_PENT,
25 KC_P0, KC_P0, KC_PDOT, KC_PENT),
26};
diff --git a/keyboards/evyd13/gh80_3700/keymaps/default/readme.md b/keyboards/evyd13/gh80_3700/keymaps/default/readme.md
new file mode 100644
index 000000000..8e1232190
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/default/readme.md
@@ -0,0 +1 @@
This is the default keymap for the GH80-3700.
diff --git a/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h b/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h
new file mode 100644
index 000000000..44ac7dcd0
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h
@@ -0,0 +1,69 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#ifdef PS2_USE_USART
20#define PS2_CLOCK_PORT PORTD
21#define PS2_CLOCK_PIN PIND
22#define PS2_CLOCK_DDR DDRD
23#define PS2_CLOCK_BIT 5
24#define PS2_DATA_PORT PORTD
25#define PS2_DATA_PIN PIND
26#define PS2_DATA_DDR DDRD
27#define PS2_DATA_BIT 2
28
29/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
30/* set DDR of CLOCK as input to be slave */
31#define PS2_USART_INIT() do { \
32 PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \
33 PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \
34 UCSR1C = ((1 << UMSEL10) | \
35 (3 << UPM10) | \
36 (0 << USBS1) | \
37 (3 << UCSZ10) | \
38 (0 << UCPOL1)); \
39 UCSR1A = 0; \
40 UBRR1H = 0; \
41 UBRR1L = 0; \
42} while (0)
43#define PS2_USART_RX_INT_ON() do { \
44 UCSR1B = ((1 << RXCIE1) | \
45 (1 << RXEN1)); \
46} while (0)
47#define PS2_USART_RX_POLL_ON() do { \
48 UCSR1B = (1 << RXEN1); \
49} while (0)
50#define PS2_USART_OFF() do { \
51 UCSR1C = 0; \
52 UCSR1B &= ~((1 << RXEN1) | \
53 (1 << TXEN1)); \
54} while (0)
55#define PS2_USART_RX_READY (UCSR1A & (1<<RXC1))
56#define PS2_USART_RX_DATA UDR1
57#define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1)))
58#define PS2_USART_RX_VECT USART1_RX_vect
59#define PS2_MOUSE_ENABLE_SCROLLING
60#define PS2_MOUSE_INIT_DELAY 1000
61#define PS2_MOUSE_BTN_LEFT 0
62#define PS2_MOUSE_BTN_RIGHT 1
63#define PS2_MOUSE_BTN_MIDDLE 2
64#define PS2_MOUSE_X_MULTIPLIER 2
65#define PS2_MOUSE_Y_MULTIPLIER 2
66#define PS2_MOUSE_V_MULTIPLIER 1
67#define PS2_MOUSE_SCROLL_BTN_MASK 0
68#define PS2_MOUSE_USE_REMOTE_MODE
69#endif
diff --git a/keyboards/evyd13/gh80_3700/keymaps/ps2/keymap.c b/keyboards/evyd13/gh80_3700/keymaps/ps2/keymap.c
new file mode 100644
index 000000000..52dc48215
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/ps2/keymap.c
@@ -0,0 +1,26 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_ortho_6x4(
20 KC_ESC, KC_TAB, KC_EQL, KC_BSPC,
21 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_P7, KC_P8, KC_P9, KC_PPLS,
23 KC_P4, KC_P5, KC_P6, KC_PPLS,
24 KC_P1, KC_P2, KC_P3, KC_PENT,
25 KC_P0, KC_P0, KC_PDOT, KC_PENT),
26};
diff --git a/keyboards/evyd13/gh80_3700/keymaps/ps2/readme.md b/keyboards/evyd13/gh80_3700/keymaps/ps2/readme.md
new file mode 100644
index 000000000..d434753b1
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/ps2/readme.md
@@ -0,0 +1 @@
This is a keymap for the GH80-3700 with PS/2 mouse functionality enabled. \ No newline at end of file
diff --git a/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk b/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk
new file mode 100644
index 000000000..c58a93b73
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk
@@ -0,0 +1,5 @@
1# Build Options
2# change yes to no to disable
3#
4PS2_MOUSE_ENABLE = yes
5PS2_USE_USART = yes
diff --git a/keyboards/evyd13/gh80_3700/keymaps/rgb/config.h b/keyboards/evyd13/gh80_3700/keymaps/rgb/config.h
new file mode 100644
index 000000000..1def6cc3f
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/rgb/config.h
@@ -0,0 +1,21 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define RGB_DI_PIN B2
20#define RGBLED_NUM 8
21#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/evyd13/gh80_3700/keymaps/rgb/keymap.c b/keyboards/evyd13/gh80_3700/keymaps/rgb/keymap.c
new file mode 100644
index 000000000..52dc48215
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/rgb/keymap.c
@@ -0,0 +1,26 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_ortho_6x4(
20 KC_ESC, KC_TAB, KC_EQL, KC_BSPC,
21 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_P7, KC_P8, KC_P9, KC_PPLS,
23 KC_P4, KC_P5, KC_P6, KC_PPLS,
24 KC_P1, KC_P2, KC_P3, KC_PENT,
25 KC_P0, KC_P0, KC_PDOT, KC_PENT),
26};
diff --git a/keyboards/evyd13/gh80_3700/keymaps/rgb/readme.md b/keyboards/evyd13/gh80_3700/keymaps/rgb/readme.md
new file mode 100644
index 000000000..cac017f42
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/rgb/readme.md
@@ -0,0 +1 @@
This is a keymap for the GH80-3700 with RGB enabled.
diff --git a/keyboards/evyd13/gh80_3700/keymaps/rgb/rules.mk b/keyboards/evyd13/gh80_3700/keymaps/rgb/rules.mk
new file mode 100644
index 000000000..06d70d581
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/rgb/rules.mk
@@ -0,0 +1,4 @@
1# Build Options
2# change yes to no to disable
3#
4RGBLIGHT_ENABLE = yes
diff --git a/keyboards/evyd13/gh80_3700/keymaps/via/keymap.c b/keyboards/evyd13/gh80_3700/keymaps/via/keymap.c
new file mode 100644
index 000000000..aaf461e79
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_ortho_6x4(
20 KC_ESC, KC_TAB, KC_EQL, KC_BSPC,
21 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
22 KC_P7, KC_P8, KC_P9, KC_PPLS,
23 KC_P4, KC_P5, KC_P6, KC_PPLS,
24 KC_P1, KC_P2, KC_P3, KC_PENT,
25 KC_P0, KC_P0, KC_PDOT, KC_PENT),
26
27[1] = LAYOUT_ortho_6x4(
28 _______, _______, _______, _______,
29 _______, _______, _______, _______,
30 _______, _______, _______, _______,
31 _______, _______, _______, _______,
32 _______, _______, _______, _______,
33 _______, _______, _______, _______),
34
35[2] = LAYOUT_ortho_6x4(
36 _______, _______, _______, _______,
37 _______, _______, _______, _______,
38 _______, _______, _______, _______,
39 _______, _______, _______, _______,
40 _______, _______, _______, _______,
41 _______, _______, _______, _______),
42
43[3] = LAYOUT_ortho_6x4(
44 _______, _______, _______, _______,
45 _______, _______, _______, _______,
46 _______, _______, _______, _______,
47 _______, _______, _______, _______,
48 _______, _______, _______, _______,
49 _______, _______, _______, _______),
50};
diff --git a/keyboards/evyd13/gh80_3700/keymaps/via/rules.mk b/keyboards/evyd13/gh80_3700/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/gh80_3700/readme.md b/keyboards/evyd13/gh80_3700/readme.md
new file mode 100644
index 000000000..11366f9a1
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/readme.md
@@ -0,0 +1,15 @@
1# GH80-3700
2
3![GH80-3700](https://i.imgur.com/xMCzb8vl.jpg)
4
5## Support
6* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
7* Hardware Supported: GH80-3700 PCB
8* Hardware Availability: [maartenwut.com](https://maartenwut.com/product/gh80-3700-numpad-pcb/)
9
10## Build
11Make example for this keyboard (after setting up your build environment):
12
13 make evyd13/gh80_3700:default
14
15See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/gh80_3700/rules.mk b/keyboards/evyd13/gh80_3700/rules.mk
new file mode 100644
index 000000000..01ea4754f
--- /dev/null
+++ b/keyboards/evyd13/gh80_3700/rules.mk
@@ -0,0 +1,24 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = qmk-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22ENCODER_ENABLE = yes # Enable support for rotary encoders
23
24LAYOUTS = numpad_6x4 ortho_6x4
diff --git a/keyboards/evyd13/minitomic/config.h b/keyboards/evyd13/minitomic/config.h
new file mode 100644
index 000000000..e6b9c80c5
--- /dev/null
+++ b/keyboards/evyd13/minitomic/config.h
@@ -0,0 +1,224 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0x0145
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT Minitomic
27#define DESCRIPTION A 45% staggered keyboard
28
29/* key matrix size */
30#define MATRIX_ROWS 4
31#define MATRIX_COLS 13
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {B1,B3,D4,D6}
44#define MATRIX_COL_PINS {C6,B6,B5,B4,D7,F0,F1,F4,F5,F6,F7,B7,E6}
45#define UNUSED_PINS {B2,D0,D1,D2,D3,D5}
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55// #define BACKLIGHT_PIN B7
56// #define BACKLIGHT_BREATHING
57// #define BACKLIGHT_LEVELS 3
58
59// #define RGB_DI_PIN E2
60// #ifdef RGB_DI_PIN
61// #define RGBLED_NUM 16
62// #define RGBLIGHT_HUE_STEP 8
63// #define RGBLIGHT_SAT_STEP 8
64// #define RGBLIGHT_VAL_STEP 8
65// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67// /*== all animations enable ==*/
68// #define RGBLIGHT_ANIMATIONS
69// /*== or choose animations ==*/
70// #define RGBLIGHT_EFFECT_BREATHING
71// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
72// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73// #define RGBLIGHT_EFFECT_SNAKE
74// #define RGBLIGHT_EFFECT_KNIGHT
75// #define RGBLIGHT_EFFECT_CHRISTMAS
76// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
77// #define RGBLIGHT_EFFECT_RGB_TEST
78// #define RGBLIGHT_EFFECT_ALTERNATING
79// /*== customize breathing effect ==*/
80// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82// /*==== use exp() and sin() ====*/
83// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85// #endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
89
90/* define if matrix has ghost (lacks anti-ghosting diodes) */
91//#define MATRIX_HAS_GHOST
92
93/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
94#define LOCKING_SUPPORT_ENABLE
95/* Locking resynchronize hack */
96#define LOCKING_RESYNC_ENABLE
97
98/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
99 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
100 */
101// #define GRAVE_ESC_CTRL_OVERRIDE
102
103/*
104 * Force NKRO
105 *
106 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
107 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
108 * makefile for this to work.)
109 *
110 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
111 * until the next keyboard reset.
112 *
113 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
114 * fully operational during normal computer usage.
115 *
116 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
117 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
118 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
119 * power-up.
120 *
121 */
122//#define FORCE_NKRO
123
124/*
125 * Magic Key Options
126 *
127 * Magic keys are hotkey commands that allow control over firmware functions of
128 * the keyboard. They are best used in combination with the HID Listen program,
129 * found here: https://www.pjrc.com/teensy/hid_listen.html
130 *
131 * The options below allow the magic key functionality to be changed. This is
132 * useful if your keyboard/keypad is missing keys and you want magic key support.
133 *
134 */
135
136/* key combination for magic key command */
137/* defined by default; to change, uncomment and set to the combination you want */
138// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
139
140/* control how magic key switches layers */
141//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
142//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
143//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
144
145/* override magic key keymap */
146//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
147//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
148//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
149//#define MAGIC_KEY_HELP H
150//#define MAGIC_KEY_HELP_ALT SLASH
151//#define MAGIC_KEY_DEBUG D
152//#define MAGIC_KEY_DEBUG_MATRIX X
153//#define MAGIC_KEY_DEBUG_KBD K
154//#define MAGIC_KEY_DEBUG_MOUSE M
155//#define MAGIC_KEY_VERSION V
156//#define MAGIC_KEY_STATUS S
157//#define MAGIC_KEY_CONSOLE C
158//#define MAGIC_KEY_LAYER0 0
159//#define MAGIC_KEY_LAYER0_ALT GRAVE
160//#define MAGIC_KEY_LAYER1 1
161//#define MAGIC_KEY_LAYER2 2
162//#define MAGIC_KEY_LAYER3 3
163//#define MAGIC_KEY_LAYER4 4
164//#define MAGIC_KEY_LAYER5 5
165//#define MAGIC_KEY_LAYER6 6
166//#define MAGIC_KEY_LAYER7 7
167//#define MAGIC_KEY_LAYER8 8
168//#define MAGIC_KEY_LAYER9 9
169//#define MAGIC_KEY_BOOTLOADER B
170//#define MAGIC_KEY_BOOTLOADER_ALT ESC
171//#define MAGIC_KEY_LOCK CAPS
172//#define MAGIC_KEY_EEPROM E
173//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
174//#define MAGIC_KEY_NKRO N
175//#define MAGIC_KEY_SLEEP_LED Z
176
177/*
178 * Feature disable options
179 * These options are also useful to firmware size reduction.
180 */
181
182/* disable debug print */
183//#define NO_DEBUG
184
185/* disable print */
186//#define NO_PRINT
187
188/* disable action features */
189//#define NO_ACTION_LAYER
190//#define NO_ACTION_TAPPING
191//#define NO_ACTION_ONESHOT
192//#define NO_ACTION_MACRO
193//#define NO_ACTION_FUNCTION
194
195/*
196 * MIDI options
197 */
198
199/* Prevent use of disabled MIDI features in the keymap */
200//#define MIDI_ENABLE_STRICT 1
201
202/* enable basic MIDI features:
203 - MIDI notes can be sent when in Music mode is on
204*/
205//#define MIDI_BASIC
206
207/* enable advanced MIDI features:
208 - MIDI notes can be added to the keymap
209 - Octave shift and transpose
210 - Virtual sustain, portamento, and modulation wheel
211 - etc.
212*/
213//#define MIDI_ADVANCED
214
215/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
216//#define MIDI_TONE_KEYCODE_OCTAVES 1
217
218/* Bootmagic Lite key configuration */
219// #define BOOTMAGIC_LITE_ROW 0
220// #define BOOTMAGIC_LITE_COLUMN 0
221
222#define QMK_ESC_OUTPUT C6 // usually COL
223#define QMK_ESC_INPUT B1 // usually ROW
224#define QMK_LED C7
diff --git a/keyboards/evyd13/minitomic/info.json b/keyboards/evyd13/minitomic/info.json
new file mode 100644
index 000000000..4af72b36e
--- /dev/null
+++ b/keyboards/evyd13/minitomic/info.json
@@ -0,0 +1,15 @@
1{
2 "keyboard_name": "Minitomic",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 13,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_split_space": {
9 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2, "w":1.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3, "w":1.25}, {"x":2.5, "y":3}, {"x":3.5, "y":3}, {"x":4.5, "y":3, "w":1.75}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3}, {"x":9.25, "y":3, "w":1.25}, {"x":10.5, "y":3, "w":1.25}, {"x":11.75, "y":3, "w":1.25}]
10 },
11 "LAYOUT_full_space": {
12 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2, "w":1.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3, "w":6.25}, {"x":9.5, "y":3}, {"x":10.5, "y":3, "w":1.25}, {"x":11.75, "y":3, "w":1.25}]
13 }
14 }
15}
diff --git a/keyboards/evyd13/minitomic/keymaps/default/keymap.c b/keyboards/evyd13/minitomic/keymaps/default/keymap.c
new file mode 100644
index 000000000..74c1e5023
--- /dev/null
+++ b/keyboards/evyd13/minitomic/keymaps/default/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22
23#define _MA 0 //Main layer
24#define _LO 1 //Low
25#define _HI 2 //High
26
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28[_MA] = LAYOUT_split_space(
29 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \
30 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \
31 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
32 KC_LCTL, KC_LGUI, KC_LALT, MO(_LO), KC_SPC, KC_SPC, MO(_HI), KC_RALT, KC_APP, KC_RCTRL), \
33
34[_LO] = LAYOUT_split_space(
35 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
36 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \
37 _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, \
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), \
39
40[_HI] = LAYOUT_split_space(
41 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, \
42 KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, \
43 _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, \
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
45
46}; \ No newline at end of file
diff --git a/keyboards/evyd13/minitomic/keymaps/default/readme.md b/keyboards/evyd13/minitomic/keymaps/default/readme.md
new file mode 100644
index 000000000..0ec508ffa
--- /dev/null
+++ b/keyboards/evyd13/minitomic/keymaps/default/readme.md
@@ -0,0 +1 @@
This is the default keymap for the Minitomic.
diff --git a/keyboards/evyd13/minitomic/minitomic.c b/keyboards/evyd13/minitomic/minitomic.c
new file mode 100644
index 000000000..8d5f11a50
--- /dev/null
+++ b/keyboards/evyd13/minitomic/minitomic.c
@@ -0,0 +1,50 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "minitomic.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23 led_init_ports();
24}
25
26void matrix_scan_kb(void) {
27 // put your looping keyboard code here
28 // runs every cycle (a lot)
29
30 matrix_scan_user();
31}
32
33void led_init_ports(void) {
34 //Set led pin as output, then high (off)
35 writePinHigh(C7);
36}
37
38bool led_update_kb(led_t led_state) {
39 bool res = led_update_user(led_state);
40 if(res) {
41 // writePin sets the pin high for 1 and low for 0.
42 // In this example the pins are inverted, setting
43 // it low/0 turns it on, and high/1 turns the LED off.
44 // This behavior depends on whether the LED is between the pin
45 // and VCC or the pin and GND.
46 writePin(C7, !led_state.caps_lock);
47 }
48 return res;
49}
50
diff --git a/keyboards/evyd13/minitomic/minitomic.h b/keyboards/evyd13/minitomic/minitomic.h
new file mode 100644
index 000000000..da98ebcf1
--- /dev/null
+++ b/keyboards/evyd13/minitomic/minitomic.h
@@ -0,0 +1,53 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT_split_space( \
30 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
31 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
32 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
33 k30, k31, k32, k33, k34, k36, k37, k39, k3a, k3b \
34) \
35{ \
36 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c }, \
37 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, XXX }, \
38 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX }, \
39 { k30, k31, k32, k33, k34, XXX, k36, k37, XXX, k39, k3a, k3b, XXX } \
40}
41
42#define LAYOUT_full_space( \
43 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
44 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
45 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
46 k30, k31, k32, k36, k39, k3a, k3b \
47) \
48{ \
49 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c }, \
50 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, XXX }, \
51 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX }, \
52 { k30, k31, k32, XXX, XXX, XXX, k36, XXX, XXX, k39, k3a, k3b, XXX } \
53}
diff --git a/keyboards/evyd13/minitomic/readme.md b/keyboards/evyd13/minitomic/readme.md
new file mode 100644
index 000000000..f4330d4d5
--- /dev/null
+++ b/keyboards/evyd13/minitomic/readme.md
@@ -0,0 +1,23 @@
1# Minitomic
2
3![Minitomic](https://i.imgur.com/wGtNokW.jpg)
4
5## Support
6* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
7* Hardware Supported: Minitomic
8* Hardware Availability: [maartenwut.com](https://maartenwut.com)
9
10
11## Features
12- QMK Firmware
13- European switch spacing (19mm)
14- USB-C Connector
15- Capslock indicator under tab key
16- Reset button under left shift key
17
18## Build
19Make example for this keyboard (after setting up your build environment):
20
21 make evyd13/minitomic:default
22
23See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/minitomic/rules.mk b/keyboards/evyd13/minitomic/rules.mk
new file mode 100644
index 000000000..aac492de0
--- /dev/null
+++ b/keyboards/evyd13/minitomic/rules.mk
@@ -0,0 +1,32 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/evyd13/mx5160/config.h b/keyboards/evyd13/mx5160/config.h
new file mode 100644
index 000000000..0b403e3a4
--- /dev/null
+++ b/keyboards/evyd13/mx5160/config.h
@@ -0,0 +1,224 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0x5160
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT MX-5160
27#define DESCRIPTION Replacement PCB for the Chicony 5160c
28
29/* key matrix size */
30#define MATRIX_ROWS 10
31#define MATRIX_COLS 10
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {C6,C7,B5,B6,D7,B4,D4,D6,D5,D3}
44#define MATRIX_COL_PINS {D0,D1,D2,F7,F6,F5,F4,F1,F0,E6}
45#define UNUSED_PINS {B7,B0}
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION ROW2COL
49
50// For QMK DFU
51#define QMK_ESC_OUTPUT C6
52#define QMK_ESC_INPUT D1
53#define QMK_LED B1
54/*
55 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
56 */
57// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
58
59// #define BACKLIGHT_PIN B7
60// #define BACKLIGHT_BREATHING
61// #define BACKLIGHT_LEVELS 3
62
63// #define RGB_DI_PIN E2
64// #ifdef RGB_DI_PIN
65// #define RGBLED_NUM 16
66// #define RGBLIGHT_HUE_STEP 8
67// #define RGBLIGHT_SAT_STEP 8
68// #define RGBLIGHT_VAL_STEP 8
69// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
70// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
71// /*== all animations enable ==*/
72// #define RGBLIGHT_ANIMATIONS
73// /*== or choose animations ==*/
74// #define RGBLIGHT_EFFECT_BREATHING
75// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
76// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
77// #define RGBLIGHT_EFFECT_SNAKE
78// #define RGBLIGHT_EFFECT_KNIGHT
79// #define RGBLIGHT_EFFECT_CHRISTMAS
80// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
81// #define RGBLIGHT_EFFECT_RGB_TEST
82// #define RGBLIGHT_EFFECT_ALTERNATING
83// /*== customize breathing effect ==*/
84// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
85// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
86// /*==== use exp() and sin() ====*/
87// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
88// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
89// #endif
90
91/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
92#define DEBOUNCE 5
93
94/* define if matrix has ghost (lacks anti-ghosting diodes) */
95//#define MATRIX_HAS_GHOST
96
97/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
98#define LOCKING_SUPPORT_ENABLE
99/* Locking resynchronize hack */
100#define LOCKING_RESYNC_ENABLE
101
102/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
103 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
104 */
105// #define GRAVE_ESC_CTRL_OVERRIDE
106
107/*
108 * Force NKRO
109 *
110 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
111 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
112 * makefile for this to work.)
113 *
114 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
115 * until the next keyboard reset.
116 *
117 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
118 * fully operational during normal computer usage.
119 *
120 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
121 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
122 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
123 * power-up.
124 *
125 */
126//#define FORCE_NKRO
127
128/*
129 * Magic Key Options
130 *
131 * Magic keys are hotkey commands that allow control over firmware functions of
132 * the keyboard. They are best used in combination with the HID Listen program,
133 * found here: https://www.pjrc.com/teensy/hid_listen.html
134 *
135 * The options below allow the magic key functionality to be changed. This is
136 * useful if your keyboard/keypad is missing keys and you want magic key support.
137 *
138 */
139
140/* key combination for magic key command */
141/* defined by default; to change, uncomment and set to the combination you want */
142// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
143
144/* control how magic key switches layers */
145//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
146//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
147//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
148
149/* override magic key keymap */
150//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
151//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
152//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
153//#define MAGIC_KEY_HELP H
154//#define MAGIC_KEY_HELP_ALT SLASH
155//#define MAGIC_KEY_DEBUG D
156//#define MAGIC_KEY_DEBUG_MATRIX X
157//#define MAGIC_KEY_DEBUG_KBD K
158//#define MAGIC_KEY_DEBUG_MOUSE M
159//#define MAGIC_KEY_VERSION V
160//#define MAGIC_KEY_STATUS S
161//#define MAGIC_KEY_CONSOLE C
162//#define MAGIC_KEY_LAYER0 0
163//#define MAGIC_KEY_LAYER0_ALT GRAVE
164//#define MAGIC_KEY_LAYER1 1
165//#define MAGIC_KEY_LAYER2 2
166//#define MAGIC_KEY_LAYER3 3
167//#define MAGIC_KEY_LAYER4 4
168//#define MAGIC_KEY_LAYER5 5
169//#define MAGIC_KEY_LAYER6 6
170//#define MAGIC_KEY_LAYER7 7
171//#define MAGIC_KEY_LAYER8 8
172//#define MAGIC_KEY_LAYER9 9
173//#define MAGIC_KEY_BOOTLOADER B
174//#define MAGIC_KEY_BOOTLOADER_ALT ESC
175//#define MAGIC_KEY_LOCK CAPS
176//#define MAGIC_KEY_EEPROM E
177//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
178//#define MAGIC_KEY_NKRO N
179//#define MAGIC_KEY_SLEEP_LED Z
180
181/*
182 * Feature disable options
183 * These options are also useful to firmware size reduction.
184 */
185
186/* disable debug print */
187//#define NO_DEBUG
188
189/* disable print */
190//#define NO_PRINT
191
192/* disable action features */
193//#define NO_ACTION_LAYER
194//#define NO_ACTION_TAPPING
195//#define NO_ACTION_ONESHOT
196//#define NO_ACTION_MACRO
197//#define NO_ACTION_FUNCTION
198
199/*
200 * MIDI options
201 */
202
203/* Prevent use of disabled MIDI features in the keymap */
204//#define MIDI_ENABLE_STRICT 1
205
206/* enable basic MIDI features:
207 - MIDI notes can be sent when in Music mode is on
208*/
209//#define MIDI_BASIC
210
211/* enable advanced MIDI features:
212 - MIDI notes can be added to the keymap
213 - Octave shift and transpose
214 - Virtual sustain, portamento, and modulation wheel
215 - etc.
216*/
217//#define MIDI_ADVANCED
218
219/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
220//#define MIDI_TONE_KEYCODE_OCTAVES 1
221
222/* Bootmagic Lite key configuration */
223// #define BOOTMAGIC_LITE_ROW 0
224// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/evyd13/mx5160/info.json b/keyboards/evyd13/mx5160/info.json
new file mode 100644
index 000000000..af35cd70d
--- /dev/null
+++ b/keyboards/evyd13/mx5160/info.json
@@ -0,0 +1,12 @@
1{
2 "keyboard_name": "mx5160",
3 "url": "https://github.com/evyd13/mx-5160",
4 "maintainer": "qmk",
5 "width": 22,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, {"x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":18, "y":0}, {"x":19, "y":0}, {"x":20, "y":0}, {"x":21, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.5, "y":1, "w":1.5}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":16, "y":1, "w":1.5}, {"x":18, "y":1}, {"x":19, "y":1}, {"x":20, "y":1}, {"x":21, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.5, "y":2, "w":1.75}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2}, {"x":15.25, "y":2}, {"x":16.25, "y":2, "w":1.25}, {"x":18, "y":2}, {"x":19, "y":2}, {"x":20, "y":2}, {"x":21, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.75}, {"x":16.5, "y":3}, {"x":18, "y":3}, {"x":19, "y":3}, {"x":20, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":5, "y":4, "w":1.5}, {"x":6.5, "y":4, "w":7}, {"x":13.5, "y":4, "w":1.5}, {"x":16, "y":4, "w":1.5}, {"x":18, "y":4}, {"x":19, "y":4}, {"x":20, "y":4}, {"x":21, "y":3, "h":2}]
10 }
11 }
12} \ No newline at end of file
diff --git a/keyboards/evyd13/mx5160/keymaps/default/keymap.c b/keyboards/evyd13/mx5160/keymaps/default/keymap.c
new file mode 100644
index 000000000..ad198fe29
--- /dev/null
+++ b/keyboards/evyd13/mx5160/keymaps/default/keymap.c
@@ -0,0 +1,41 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22
23#define _MA 0 //Main layer
24#define _FN 1 //Main layer
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27[_MA] = LAYOUT_all(
28 KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, _______, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
29 KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, _______, \
30 KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
31 KC_F7, KC_F8, 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_P1, KC_P2, KC_P3, \
32 KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_P0, _______, KC_PDOT, KC_PENT), \
33
34[_FN] = LAYOUT_all(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_PSCR, _______, _______, _______, \
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, \
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, \
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______, _______, \
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
40
41};
diff --git a/keyboards/evyd13/mx5160/keymaps/default/readme.md b/keyboards/evyd13/mx5160/keymaps/default/readme.md
new file mode 100644
index 000000000..c93867735
--- /dev/null
+++ b/keyboards/evyd13/mx5160/keymaps/default/readme.md
@@ -0,0 +1 @@
This is the default keymap for the mx-5160 PCB. \ No newline at end of file
diff --git a/keyboards/evyd13/mx5160/mx5160.c b/keyboards/evyd13/mx5160/mx5160.c
new file mode 100644
index 000000000..c9e412da2
--- /dev/null
+++ b/keyboards/evyd13/mx5160/mx5160.c
@@ -0,0 +1,58 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "mx5160.h"
17
18
19void matrix_init_kb(void) {
20 // put your keyboard start-up code here
21 // runs once when the firmware starts up
22
23 matrix_init_user();
24 led_init_ports();
25}
26
27void matrix_scan_kb(void) {
28 // put your looping keyboard code here
29 // runs every cycle (a lot)
30
31 matrix_scan_user();
32}
33
34void led_init_ports(void) {
35 //Set led pin as output, then high (off)
36
37 //Caps lock
38 setPinOutput(B1);
39 writePinHigh(B1);
40
41 //Num lock
42 setPinOutput(B2);
43 writePinHigh(B2);
44
45 //Scroll lock
46 setPinOutput(B3);
47 writePinHigh(B3);
48}
49
50bool led_update_kb(led_t led_state) {
51 bool res = led_update_user(led_state);
52 if (res) {
53 writePin(B2, !led_state.num_lock);
54 writePin(B1, !led_state.caps_lock);
55 writePin(B3, !led_state.scroll_lock);
56 }
57 return res;
58}
diff --git a/keyboards/evyd13/mx5160/mx5160.h b/keyboards/evyd13/mx5160/mx5160.h
new file mode 100644
index 000000000..7486e6266
--- /dev/null
+++ b/keyboards/evyd13/mx5160/mx5160.h
@@ -0,0 +1,47 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT_all( \
30 k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k87, k17, k08, k18, k09, k19, \
31 k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, k38, k29, k39, \
32 k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, k57, k48, k58, k49, k59, \
33 k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k67, k77, k68, k78, k69, \
34 k80, k90, k81, k82, k94, k96, k97, k88, k98, k89, k99 \
35) \
36{ \
37 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
38 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
39 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
40 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \
41 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49 }, \
42 { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 }, \
43 { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69 }, \
44 { k70, k71, k72, k73, k74, k75, k76, k77, k78, XXX }, \
45 { k80, k81, k82, XXX, XXX, XXX, XXX, k87, k88, k89 }, \
46 { k90, XXX, XXX, XXX, k94, XXX, k96, k97, k98, k99 } \
47}
diff --git a/keyboards/evyd13/mx5160/readme.md b/keyboards/evyd13/mx5160/readme.md
new file mode 100644
index 000000000..677b16072
--- /dev/null
+++ b/keyboards/evyd13/mx5160/readme.md
@@ -0,0 +1,15 @@
1# mx5160
2
3![mx5160](https://i.imgur.com/XZ9xUeq.jpg)
4
5## Support
6* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
7* Hardware Supported: mx-5160 (Chicony 5160c case)
8* Hardware Availability: [GitHub](https://github.com/evyd13/mx-5160)
9
10## Build
11Make example for this keyboard (after setting up your build environment):
12
13 make evyd13/mx5160:default
14
15See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/mx5160/rules.mk b/keyboards/evyd13/mx5160/rules.mk
new file mode 100644
index 000000000..400781b07
--- /dev/null
+++ b/keyboards/evyd13/mx5160/rules.mk
@@ -0,0 +1,32 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/evyd13/nt660/config.h b/keyboards/evyd13/nt660/config.h
new file mode 100644
index 000000000..b29d0d532
--- /dev/null
+++ b/keyboards/evyd13/nt660/config.h
@@ -0,0 +1,228 @@
1/*
2Copyright 2020 Evy Dekkers
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4705
24#define PRODUCT_ID 0x1F02
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Evyd13
27#define PRODUCT nt660
28#define DESCRIPTION Replacement PCB for Leopold FC660M
29
30/* key matrix size */
31#define MATRIX_ROWS 5
32#define MATRIX_COLS 15
33
34/*
35 * Keyboard Matrix Assignments
36 *
37 * Change this to how you wired your keyboard
38 * COLS: AVR pins used for columns, left to right
39 * ROWS: AVR pins used for rows, top to bottom
40 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
41 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
42 *
43 */
44#define MATRIX_ROW_PINS {B7,E6,F6,F7,C7}
45#define MATRIX_COL_PINS {D6,D7,B4,B5,B6,C6,B0,B1,B2,B3,F0,F1,F4,F5,D4}
46#define UNUSED_PINS
47
48/* COL2ROW or ROW2COL */
49#define DIODE_DIRECTION COL2ROW
50
51
52/*
53 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
54 */
55// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
56
57// #define BACKLIGHT_PIN B7
58// #define BACKLIGHT_BREATHING
59// #define BACKLIGHT_LEVELS 3
60
61// #define RGB_DI_PIN E2
62// #ifdef RGB_DI_PIN
63// #define RGBLED_NUM 16
64// #define RGBLIGHT_HUE_STEP 8
65// #define RGBLIGHT_SAT_STEP 8
66// #define RGBLIGHT_VAL_STEP 8
67// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
68// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
69// /*== all animations enable ==*/
70// #define RGBLIGHT_ANIMATIONS
71// /*== or choose animations ==*/
72// #define RGBLIGHT_EFFECT_BREATHING
73// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
74// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
75// #define RGBLIGHT_EFFECT_SNAKE
76// #define RGBLIGHT_EFFECT_KNIGHT
77// #define RGBLIGHT_EFFECT_CHRISTMAS
78// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
79// #define RGBLIGHT_EFFECT_RGB_TEST
80// #define RGBLIGHT_EFFECT_ALTERNATING
81// /*== customize breathing effect ==*/
82// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
83// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
84// /*==== use exp() and sin() ====*/
85// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
86// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
87// #endif
88
89/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
90#define DEBOUNCE 5
91
92/* define if matrix has ghost (lacks anti-ghosting diodes) */
93//#define MATRIX_HAS_GHOST
94
95/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
96#define LOCKING_SUPPORT_ENABLE
97/* Locking resynchronize hack */
98#define LOCKING_RESYNC_ENABLE
99
100/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
101 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
102 */
103// #define GRAVE_ESC_CTRL_OVERRIDE
104
105/*
106 * Force NKRO
107 *
108 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
109 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
110 * makefile for this to work.)
111 *
112 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
113 * until the next keyboard reset.
114 *
115 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
116 * fully operational during normal computer usage.
117 *
118 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
119 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
120 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
121 * power-up.
122 *
123 */
124//#define FORCE_NKRO
125
126/*
127 * Magic Key Options
128 *
129 * Magic keys are hotkey commands that allow control over firmware functions of
130 * the keyboard. They are best used in combination with the HID Listen program,
131 * found here: https://www.pjrc.com/teensy/hid_listen.html
132 *
133 * The options below allow the magic key functionality to be changed. This is
134 * useful if your keyboard/keypad is missing keys and you want magic key support.
135 *
136 */
137
138/* key combination for magic key command */
139/* defined by default; to change, uncomment and set to the combination you want */
140// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
141
142/* control how magic key switches layers */
143//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
144//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
145//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
146
147/* override magic key keymap */
148//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
149//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
150//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
151//#define MAGIC_KEY_HELP H
152//#define MAGIC_KEY_HELP_ALT SLASH
153//#define MAGIC_KEY_DEBUG D
154//#define MAGIC_KEY_DEBUG_MATRIX X
155//#define MAGIC_KEY_DEBUG_KBD K
156//#define MAGIC_KEY_DEBUG_MOUSE M
157//#define MAGIC_KEY_VERSION V
158//#define MAGIC_KEY_STATUS S
159//#define MAGIC_KEY_CONSOLE C
160//#define MAGIC_KEY_LAYER0 0
161//#define MAGIC_KEY_LAYER0_ALT GRAVE
162//#define MAGIC_KEY_LAYER1 1
163//#define MAGIC_KEY_LAYER2 2
164//#define MAGIC_KEY_LAYER3 3
165//#define MAGIC_KEY_LAYER4 4
166//#define MAGIC_KEY_LAYER5 5
167//#define MAGIC_KEY_LAYER6 6
168//#define MAGIC_KEY_LAYER7 7
169//#define MAGIC_KEY_LAYER8 8
170//#define MAGIC_KEY_LAYER9 9
171//#define MAGIC_KEY_BOOTLOADER B
172//#define MAGIC_KEY_BOOTLOADER_ALT ESC
173//#define MAGIC_KEY_LOCK CAPS
174//#define MAGIC_KEY_EEPROM E
175//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
176//#define MAGIC_KEY_NKRO N
177//#define MAGIC_KEY_SLEEP_LED Z
178
179/*
180 * Feature disable options
181 * These options are also useful to firmware size reduction.
182 */
183
184/* disable debug print */
185//#define NO_DEBUG
186
187/* disable print */
188//#define NO_PRINT
189
190/* disable action features */
191//#define NO_ACTION_LAYER
192//#define NO_ACTION_TAPPING
193//#define NO_ACTION_ONESHOT
194
195/* disable these deprecated features by default */
196#define NO_ACTION_MACRO
197#define NO_ACTION_FUNCTION
198
199/*
200 * MIDI options
201 */
202
203/* Prevent use of disabled MIDI features in the keymap */
204//#define MIDI_ENABLE_STRICT 1
205
206/* enable basic MIDI features:
207 - MIDI notes can be sent when in Music mode is on
208*/
209//#define MIDI_BASIC
210
211/* enable advanced MIDI features:
212 - MIDI notes can be added to the keymap
213 - Octave shift and transpose
214 - Virtual sustain, portamento, and modulation wheel
215 - etc.
216*/
217//#define MIDI_ADVANCED
218
219/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
220//#define MIDI_TONE_KEYCODE_OCTAVES 1
221
222/* Bootmagic Lite key configuration */
223// #define BOOTMAGIC_LITE_ROW 0
224// #define BOOTMAGIC_LITE_COLUMN 0
225
226#define QMK_ESC_OUTPUT D6 // usually COL
227#define QMK_ESC_INPUT B7 // usually ROW
228#define QMK_LED D0
diff --git a/keyboards/evyd13/nt660/info.json b/keyboards/evyd13/nt660/info.json
new file mode 100644
index 000000000..371fd9a05
--- /dev/null
+++ b/keyboards/evyd13/nt660/info.json
@@ -0,0 +1,234 @@
1{
2 "keyboard_name": "nt660",
3 "url": "",
4 "maintainer": "evyd13",
5 "width": 16.5,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"label":"k00", "x":0, "y":0},
11 {"label":"k01", "x":1, "y":0},
12 {"label":"k02", "x":2, "y":0},
13 {"label":"k03", "x":3, "y":0},
14 {"label":"k04", "x":4, "y":0},
15 {"label":"k05", "x":5, "y":0},
16 {"label":"k06", "x":6, "y":0},
17 {"label":"k07", "x":7, "y":0},
18 {"label":"k08", "x":8, "y":0},
19 {"label":"k09", "x":9, "y":0},
20 {"label":"k0a", "x":10, "y":0},
21 {"label":"k0b", "x":11, "y":0},
22 {"label":"k0c", "x":12, "y":0},
23 {"label":"k0f", "x":13, "y":0, "w":2},
24 {"label":"k0d", "x":15.5, "y":0},
25
26 {"label":"k10", "x":0, "y":1, "w":1.5},
27 {"label":"k11", "x":1.5, "y":1},
28 {"label":"k12", "x":2.5, "y":1},
29 {"label":"k13", "x":3.5, "y":1},
30 {"label":"k14", "x":4.5, "y":1},
31 {"label":"k15", "x":5.5, "y":1},
32 {"label":"k16", "x":6.5, "y":1},
33 {"label":"k17", "x":7.5, "y":1},
34 {"label":"k18", "x":8.5, "y":1},
35 {"label":"k19", "x":9.5, "y":1},
36 {"label":"k1a", "x":10.5, "y":1},
37 {"label":"k1b", "x":11.5, "y":1},
38 {"label":"k1c", "x":12.5, "y":1},
39 {"label":"k1f", "x":13.5, "y":1, "w":1.5},
40 {"label":"k1d", "x":15.5, "y":1},
41
42 {"label":"k20", "x":0, "y":2, "w":1.75},
43 {"label":"k21", "x":1.75, "y":2},
44 {"label":"k22", "x":2.75, "y":2},
45 {"label":"k23", "x":3.75, "y":2},
46 {"label":"k24", "x":4.75, "y":2},
47 {"label":"k25", "x":5.75, "y":2},
48 {"label":"k26", "x":6.75, "y":2},
49 {"label":"k27", "x":7.75, "y":2},
50 {"label":"k28", "x":8.75, "y":2},
51 {"label":"k29", "x":9.75, "y":2},
52 {"label":"k2a", "x":10.75, "y":2},
53 {"label":"k2b", "x":11.75, "y":2},
54 {"label":"k2c", "x":12.75, "y":2},
55 {"label":"k2f", "x":13.75, "y":2, "w":1.25},
56
57 {"label":"k30", "x":0, "y":3, "w":1.25},
58 {"label":"k31", "x":1.25, "y":3},
59 {"label":"k32", "x":2.25, "y":3},
60 {"label":"k33", "x":3.25, "y":3},
61 {"label":"k34", "x":4.25, "y":3},
62 {"label":"k35", "x":5.25, "y":3},
63 {"label":"k36", "x":6.25, "y":3},
64 {"label":"k37", "x":7.25, "y":3},
65 {"label":"k38", "x":8.25, "y":3},
66 {"label":"k39", "x":9.25, "y":3},
67 {"label":"k3a", "x":10.25, "y":3},
68 {"label":"k3b", "x":11.25, "y":3},
69 {"label":"k3c", "x":12.25, "y":3, "w":2.25},
70 {"label":"k3f", "x":14.5, "y":3},
71
72 {"label":"k40", "x":0, "y":4, "w":1.25},
73 {"label":"k41", "x":1.25, "y":4},
74 {"label":"k42", "x":2.25, "y":4, "w":1.25},
75 {"label":"k46", "x":3.5, "y":4, "w":6.25},
76 {"label":"k49", "x":9.75, "y":4, "w":1.25},
77 {"label":"k4a", "x":11, "y":4, "w":1.25},
78 {"label":"k4b", "x":12.25, "y":4, "w":1.25},
79 {"label":"k4c", "x":13.5, "y":4},
80 {"label":"k4f", "x":14.5, "y":4},
81 {"label":"k4d", "x":15.5, "y":4}
82 ]
83 },
84 "LAYOUT_66_ansi": {
85 "layout": [
86 {"label":"Esc", "x":0, "y":0},
87 {"label":"!", "x":1, "y":0},
88 {"label":"@", "x":2, "y":0},
89 {"label":"#", "x":3, "y":0},
90 {"label":"$", "x":4, "y":0},
91 {"label":"%", "x":5, "y":0},
92 {"label":"^", "x":6, "y":0},
93 {"label":"&", "x":7, "y":0},
94 {"label":"*", "x":8, "y":0},
95 {"label":"(", "x":9, "y":0},
96 {"label":")", "x":10, "y":0},
97 {"label":"_", "x":11, "y":0},
98 {"label":"+", "x":12, "y":0},
99 {"label":"Backspace", "x":13, "y":0, "w":2},
100 {"label":"Insert", "x":15.5, "y":0},
101
102 {"label":"Tab", "x":0, "y":1, "w":1.5},
103 {"label":"Q", "x":1.5, "y":1},
104 {"label":"W", "x":2.5, "y":1},
105 {"label":"E", "x":3.5, "y":1},
106 {"label":"R", "x":4.5, "y":1},
107 {"label":"T", "x":5.5, "y":1},
108 {"label":"Y", "x":6.5, "y":1},
109 {"label":"U", "x":7.5, "y":1},
110 {"label":"I", "x":8.5, "y":1},
111 {"label":"O", "x":9.5, "y":1},
112 {"label":"P", "x":10.5, "y":1},
113 {"label":"{", "x":11.5, "y":1},
114 {"label":"}", "x":12.5, "y":1},
115 {"label":"|", "x":13.5, "y":1, "w":1.5},
116 {"label":"Delete", "x":15.5, "y":1},
117
118 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
119 {"label":"A", "x":1.75, "y":2},
120 {"label":"S", "x":2.75, "y":2},
121 {"label":"D", "x":3.75, "y":2},
122 {"label":"F", "x":4.75, "y":2},
123 {"label":"G", "x":5.75, "y":2},
124 {"label":"H", "x":6.75, "y":2},
125 {"label":"J", "x":7.75, "y":2},
126 {"label":"K", "x":8.75, "y":2},
127 {"label":"L", "x":9.75, "y":2},
128 {"label":":", "x":10.75, "y":2},
129 {"label":"\"", "x":11.75, "y":2},
130 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
131
132 {"label":"Shift", "x":0, "y":3, "w":2.25},
133 {"label":"Z", "x":2.25, "y":3},
134 {"label":"X", "x":3.25, "y":3},
135 {"label":"C", "x":4.25, "y":3},
136 {"label":"V", "x":5.25, "y":3},
137 {"label":"B", "x":6.25, "y":3},
138 {"label":"N", "x":7.25, "y":3},
139 {"label":"M", "x":8.25, "y":3},
140 {"label":"<", "x":9.25, "y":3},
141 {"label":">", "x":10.25, "y":3},
142 {"label":"?", "x":11.25, "y":3},
143 {"label":"Shift", "x":12.25, "y":3, "w":2.25},
144 {"label":"\u2191", "x":14.5, "y":3},
145
146 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
147 {"label":"Win", "x":1.25, "y":4},
148 {"label":"Alt", "x":2.25, "y":4, "w":1.25},
149 {"x":3.5, "y":4, "w":6.25},
150 {"label":"Alt", "x":9.75, "y":4, "w":1.25},
151 {"label":"Win", "x":11, "y":4, "w":1.25},
152 {"label":"Menu", "x":12.25, "y":4, "w":1.25},
153 {"label":"\u2190", "x":13.5, "y":4},
154 {"label":"\u2193", "x":14.5, "y":4},
155 {"label":"\u2192", "x":15.5, "y":4}
156 ]
157 },
158 "LAYOUT_66_iso": {
159 "layout": [
160 {"label":"Esc", "x":0, "y":0},
161 {"label":"!", "x":1, "y":0},
162 {"label":"@", "x":2, "y":0},
163 {"label":"#", "x":3, "y":0},
164 {"label":"$", "x":4, "y":0},
165 {"label":"%", "x":5, "y":0},
166 {"label":"^", "x":6, "y":0},
167 {"label":"&", "x":7, "y":0},
168 {"label":"*", "x":8, "y":0},
169 {"label":"(", "x":9, "y":0},
170 {"label":")", "x":10, "y":0},
171 {"label":"_", "x":11, "y":0},
172 {"label":"+", "x":12, "y":0},
173 {"label":"Backspace", "x":13, "y":0, "w":2},
174 {"label":"Insert", "x":15.5, "y":0},
175
176 {"label":"Tab", "x":0, "y":1, "w":1.5},
177 {"label":"Q", "x":1.5, "y":1},
178 {"label":"W", "x":2.5, "y":1},
179 {"label":"E", "x":3.5, "y":1},
180 {"label":"R", "x":4.5, "y":1},
181 {"label":"T", "x":5.5, "y":1},
182 {"label":"Y", "x":6.5, "y":1},
183 {"label":"U", "x":7.5, "y":1},
184 {"label":"I", "x":8.5, "y":1},
185 {"label":"O", "x":9.5, "y":1},
186 {"label":"P", "x":10.5, "y":1},
187 {"label":"{", "x":11.5, "y":1},
188 {"label":"}", "x":12.5, "y":1},
189 {"label":"Delete", "x":15.5, "y":1},
190
191 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
192 {"label":"A", "x":1.75, "y":2},
193 {"label":"S", "x":2.75, "y":2},
194 {"label":"D", "x":3.75, "y":2},
195 {"label":"F", "x":4.75, "y":2},
196 {"label":"G", "x":5.75, "y":2},
197 {"label":"H", "x":6.75, "y":2},
198 {"label":"J", "x":7.75, "y":2},
199 {"label":"K", "x":8.75, "y":2},
200 {"label":"L", "x":9.75, "y":2},
201 {"label":":", "x":10.75, "y":2},
202 {"label":"\"", "x":11.75, "y":2},
203 {"label":"|", "x":12.75, "y":2},
204 {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
205
206 {"label":"Shift", "x":0, "y":3, "w":1.25},
207 {"label":"NUBS", "x":1.25, "y":3},
208 {"label":"Z", "x":2.25, "y":3},
209 {"label":"X", "x":3.25, "y":3},
210 {"label":"C", "x":4.25, "y":3},
211 {"label":"V", "x":5.25, "y":3},
212 {"label":"B", "x":6.25, "y":3},
213 {"label":"N", "x":7.25, "y":3},
214 {"label":"M", "x":8.25, "y":3},
215 {"label":"<", "x":9.25, "y":3},
216 {"label":">", "x":10.25, "y":3},
217 {"label":"?", "x":11.25, "y":3},
218 {"label":"Shift", "x":12.25, "y":3, "w":2.25},
219 {"label":"\u2191", "x":14.5, "y":3},
220
221 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
222 {"label":"Win", "x":1.25, "y":4},
223 {"label":"Alt", "x":2.25, "y":4, "w":1.25},
224 {"x":3.5, "y":4, "w":6.25},
225 {"label":"Alt", "x":9.75, "y":4, "w":1.25},
226 {"label":"Win", "x":11, "y":4, "w":1.25},
227 {"label":"Menu", "x":12.25, "y":4, "w":1.25},
228 {"label":"\u2190", "x":13.5, "y":4},
229 {"label":"\u2193", "x":14.5, "y":4},
230 {"label":"\u2192", "x":15.5, "y":4}
231 ]
232 }
233 }
234}
diff --git a/keyboards/evyd13/nt660/keymaps/default/keymap.c b/keyboards/evyd13/nt660/keymaps/default/keymap.c
new file mode 100644
index 000000000..5c9e1b22f
--- /dev/null
+++ b/keyboards/evyd13/nt660/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20[0] = LAYOUT_all(
21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
24 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTRL,KC_LEFT, KC_DOWN, KC_RGHT),
26};
diff --git a/keyboards/evyd13/nt660/keymaps/evyd13/config.h b/keyboards/evyd13/nt660/keymaps/evyd13/config.h
new file mode 100644
index 000000000..9b18f5826
--- /dev/null
+++ b/keyboards/evyd13/nt660/keymaps/evyd13/config.h
@@ -0,0 +1,3 @@
1#pragma once
2
3#define RETRO_TAPPING
diff --git a/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c b/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c
new file mode 100644
index 000000000..b7eaa5d6c
--- /dev/null
+++ b/keyboards/evyd13/nt660/keymaps/evyd13/keymap.c
@@ -0,0 +1,58 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22#define _MA 0
23#define _GA 1
24#define _FL 2
25#define _SP 3
26
27#define SPACE LT(_SP, KC_SPC)
28
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30
31[_MA] = LAYOUT_all(
32 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MPLY,
33 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
34 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, KC_ENT,
35 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_UP,
36 KC_LCTL, KC_LGUI, KC_LALT, SPACE, KC_RALT, KC_RCTRL,MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
37
38[_GA] = LAYOUT_all(
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______),
44
45[_FL] = LAYOUT_all(
46 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET, KC_PSCR,
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
48 _______, _______, _______, _______, _______, TG(_GA), _______, _______, _______, _______, _______, _______, _______, _______,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
51
52[_SP] = LAYOUT_all(
53 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
54 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______,
55 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
56 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
57 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
58};
diff --git a/keyboards/evyd13/nt660/keymaps/via/keymap.c b/keyboards/evyd13/nt660/keymaps/via/keymap.c
new file mode 100644
index 000000000..39d37390f
--- /dev/null
+++ b/keyboards/evyd13/nt660/keymaps/via/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19
20[0] = LAYOUT_all(
21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
24 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTRL,KC_LEFT, KC_DOWN, KC_RGHT),
26[1] = LAYOUT_all(
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
32[2] = LAYOUT_all(
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
38[3] = LAYOUT_all(
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
44};
diff --git a/keyboards/evyd13/nt660/keymaps/via/rules.mk b/keyboards/evyd13/nt660/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/nt660/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/nt660/nt660.c b/keyboards/evyd13/nt660/nt660.c
new file mode 100644
index 000000000..2a8ebfb46
--- /dev/null
+++ b/keyboards/evyd13/nt660/nt660.c
@@ -0,0 +1,32 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "nt660.h"
17void matrix_init_kb(void) {
18 matrix_init_user();
19 led_init_ports();
20}
21
22void led_init_ports(void) {
23 setPinOutput(D0);
24}
25
26bool led_update_kb(led_t led_state) {
27 if(led_update_user(led_state)) {
28 writePin(D0, !led_state.caps_lock);
29 }
30
31 return true;
32}
diff --git a/keyboards/evyd13/nt660/nt660.h b/keyboards/evyd13/nt660/nt660.h
new file mode 100644
index 000000000..ce9f98f54
--- /dev/null
+++ b/keyboards/evyd13/nt660/nt660.h
@@ -0,0 +1,73 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19
20#define XXX KC_NO
21
22/* This is a shortcut to help you visually see your layout.
23 *
24 * The first section contains all of the arguments representing the physical
25 * layout of the board and position of the keys.
26 *
27 * The second converts the arguments into a two-dimensional array which
28 * represents the switch matrix.
29 */
30
31#define LAYOUT_all( \
32 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d, \
33 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1f, k1d, \
34 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2f, \
35 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3f, \
36 k40, k41, k42, k46, k49, k4a, k4b, k4c, k4f, k4d \
37) \
38{ \
39 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d}, \
40 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1f, k1d}, \
41 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2f, XXX}, \
42 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3f, XXX}, \
43 {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, k4a, k4b, k4c, k4f, k4d} \
44}
45#define LAYOUT_66_ansi( \
46 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d, \
47 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1f, k1d, \
48 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2f, \
49 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3f, \
50 k40, k41, k42, k46, k49, k4a, k4b, k4c, k4f, k4d \
51) \
52{ \
53 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d}, \
54 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1f, k1d}, \
55 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2f, XXX}, \
56 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3f, XXX}, \
57 {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, k4a, k4b, k4c, k4f, k4d} \
58}
59
60#define LAYOUT_66_iso( \
61 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d, \
62 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
63 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2f, \
64 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3f, \
65 k40, k41, k42, k46, k49, k4a, k4b, k4c, k4f, k4d \
66) \
67{ \
68 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d}, \
69 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1d}, \
70 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2f, XXX}, \
71 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3f, XXX}, \
72 {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, k4a, k4b, k4c, k4f, k4d} \
73}
diff --git a/keyboards/evyd13/nt660/readme.md b/keyboards/evyd13/nt660/readme.md
new file mode 100644
index 000000000..ddd2cc713
--- /dev/null
+++ b/keyboards/evyd13/nt660/readme.md
@@ -0,0 +1,19 @@
1# nt660
2
3A drop-in replacement PCB for the Leopold FC660M.
4
5* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
6* Hardware Supported: nt660 PCB
7* Hardware Availability: [maartenwut.com](https://maartenwut.com/product/nt-660/)
8
9## Flashing
10
11In place of the DIP switches on the original PCB there is a small button. Press that to jump to the bootloader.
12
13---
14
15Make example for this keyboard (after setting up your build environment):
16
17 make evyd13/nt660:default
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/evyd13/nt660/rules.mk b/keyboards/evyd13/nt660/rules.mk
new file mode 100644
index 000000000..9f8f0cd89
--- /dev/null
+++ b/keyboards/evyd13/nt660/rules.mk
@@ -0,0 +1,33 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
30AUDIO_ENABLE = no # Audio output on port C6
31FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
32
33LAYOUTS = 66_ansi 66_iso
diff --git a/keyboards/evyd13/omrontkl/config.h b/keyboards/evyd13/omrontkl/config.h
new file mode 100644
index 000000000..a72a6ce5c
--- /dev/null
+++ b/keyboards/evyd13/omrontkl/config.h
@@ -0,0 +1,220 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0xEA78
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT OmronTKL
27#define DESCRIPTION A TKL PCB for Omron switches
28
29/* key matrix size */
30#define MATRIX_ROWS 6
31#define MATRIX_COLS 17
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {D0,D1,D2,D3,D4,B7}
44#define MATRIX_COL_PINS {F0,C7,F1,C6,F4,B6,F5,B5,F6,B4,F7,D7,D6,D5,B3,B1,B2}
45#define UNUSED_PINS {E6,B0}
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55// #define BACKLIGHT_PIN B7
56// #define BACKLIGHT_BREATHING
57// #define BACKLIGHT_LEVELS 3
58
59// #define RGB_DI_PIN D0
60// #ifdef RGB_DI_PIN
61// #define RGBLED_NUM 12
62// #define RGBLIGHT_HUE_STEP 8
63// #define RGBLIGHT_SAT_STEP 8
64// #define RGBLIGHT_VAL_STEP 8
65// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67// /*== all animations enable ==*/
68// #define RGBLIGHT_ANIMATIONS
69// /*== or choose animations ==*/
70// #define RGBLIGHT_EFFECT_BREATHING
71// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
72// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73// #define RGBLIGHT_EFFECT_SNAKE
74// #define RGBLIGHT_EFFECT_KNIGHT
75// #define RGBLIGHT_EFFECT_CHRISTMAS
76// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
77// #define RGBLIGHT_EFFECT_RGB_TEST
78// #define RGBLIGHT_EFFECT_ALTERNATING
79// /*== customize breathing effect ==*/
80// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82// /*==== use exp() and sin() ====*/
83// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85// #endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
89
90/* define if matrix has ghost (lacks anti-ghosting diodes) */
91//#define MATRIX_HAS_GHOST
92
93/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
94#define LOCKING_SUPPORT_ENABLE
95/* Locking resynchronize hack */
96#define LOCKING_RESYNC_ENABLE
97
98/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
99 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
100 */
101// #define GRAVE_ESC_CTRL_OVERRIDE
102
103/*
104 * Force NKRO
105 *
106 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
107 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
108 * makefile for this to work.)
109 *
110 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
111 * until the next keyboard reset.
112 *
113 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
114 * fully operational during normal computer usage.
115 *
116 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
117 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
118 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
119 * power-up.
120 *
121 */
122//#define FORCE_NKRO
123
124/*
125 * Magic Key Options
126 *
127 * Magic keys are hotkey commands that allow control over firmware functions of
128 * the keyboard. They are best used in combination with the HID Listen program,
129 * found here: https://www.pjrc.com/teensy/hid_listen.html
130 *
131 * The options below allow the magic key functionality to be changed. This is
132 * useful if your keyboard/keypad is missing keys and you want magic key support.
133 *
134 */
135
136/* key combination for magic key command */
137/* defined by default; to change, uncomment and set to the combination you want */
138// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
139
140/* control how magic key switches layers */
141//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
142//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
143//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
144
145/* override magic key keymap */
146//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
147//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
148//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
149//#define MAGIC_KEY_HELP H
150//#define MAGIC_KEY_HELP_ALT SLASH
151//#define MAGIC_KEY_DEBUG D
152//#define MAGIC_KEY_DEBUG_MATRIX X
153//#define MAGIC_KEY_DEBUG_KBD K
154//#define MAGIC_KEY_DEBUG_MOUSE M
155//#define MAGIC_KEY_VERSION V
156//#define MAGIC_KEY_STATUS S
157//#define MAGIC_KEY_CONSOLE C
158//#define MAGIC_KEY_LAYER0 0
159//#define MAGIC_KEY_LAYER0_ALT GRAVE
160//#define MAGIC_KEY_LAYER1 1
161//#define MAGIC_KEY_LAYER2 2
162//#define MAGIC_KEY_LAYER3 3
163//#define MAGIC_KEY_LAYER4 4
164//#define MAGIC_KEY_LAYER5 5
165//#define MAGIC_KEY_LAYER6 6
166//#define MAGIC_KEY_LAYER7 7
167//#define MAGIC_KEY_LAYER8 8
168//#define MAGIC_KEY_LAYER9 9
169//#define MAGIC_KEY_BOOTLOADER B
170//#define MAGIC_KEY_BOOTLOADER_ALT ESC
171//#define MAGIC_KEY_LOCK CAPS
172//#define MAGIC_KEY_EEPROM E
173//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
174//#define MAGIC_KEY_NKRO N
175//#define MAGIC_KEY_SLEEP_LED Z
176
177/*
178 * Feature disable options
179 * These options are also useful to firmware size reduction.
180 */
181
182/* disable debug print */
183//#define NO_DEBUG
184
185/* disable print */
186//#define NO_PRINT
187
188/* disable action features */
189//#define NO_ACTION_LAYER
190//#define NO_ACTION_TAPPING
191//#define NO_ACTION_ONESHOT
192//#define NO_ACTION_MACRO
193//#define NO_ACTION_FUNCTION
194
195/*
196 * MIDI options
197 */
198
199/* Prevent use of disabled MIDI features in the keymap */
200//#define MIDI_ENABLE_STRICT 1
201
202/* enable basic MIDI features:
203 - MIDI notes can be sent when in Music mode is on
204*/
205//#define MIDI_BASIC
206
207/* enable advanced MIDI features:
208 - MIDI notes can be added to the keymap
209 - Octave shift and transpose
210 - Virtual sustain, portamento, and modulation wheel
211 - etc.
212*/
213//#define MIDI_ADVANCED
214
215/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
216//#define MIDI_TONE_KEYCODE_OCTAVES 1
217
218/* Bootmagic Lite key configuration */
219// #define BOOTMAGIC_LITE_ROW 0
220// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/evyd13/omrontkl/info.json b/keyboards/evyd13/omrontkl/info.json
new file mode 100644
index 000000000..faf956964
--- /dev/null
+++ b/keyboards/evyd13/omrontkl/info.json
@@ -0,0 +1,299 @@
1{
2 "keyboard_name": "OmronTKL",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 18.25,
6 "height": 6.25,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":2, "y":0},
12 {"x":3, "y":0},
13 {"x":4, "y":0},
14 {"x":5, "y":0},
15 {"x":6.5, "y":0},
16 {"x":7.5, "y":0},
17 {"x":8.5, "y":0},
18 {"x":9.5, "y":0},
19 {"x":11, "y":0},
20 {"x":12, "y":0},
21 {"x":13, "y":0},
22 {"x":14, "y":0},
23 {"x":15.25, "y":0},
24 {"x":16.25, "y":0},
25 {"x":17.25, "y":0},
26
27 {"x":0, "y":1.25},
28 {"x":1, "y":1.25},
29 {"x":2, "y":1.25},
30 {"x":3, "y":1.25},
31 {"x":4, "y":1.25},
32 {"x":5, "y":1.25},
33 {"x":6, "y":1.25},
34 {"x":7, "y":1.25},
35 {"x":8, "y":1.25},
36 {"x":9, "y":1.25},
37 {"x":10, "y":1.25},
38 {"x":11, "y":1.25},
39 {"x":12, "y":1.25},
40 {"x":13, "y":1.25},
41 {"x":14, "y":1.25},
42 {"x":15.25, "y":1.25},
43 {"x":16.25, "y":1.25},
44 {"x":17.25, "y":1.25},
45
46 {"x":0, "y":2.25, "w":1.5},
47 {"x":1.5, "y":2.25},
48 {"x":2.5, "y":2.25},
49 {"x":3.5, "y":2.25},
50 {"x":4.5, "y":2.25},
51 {"x":5.5, "y":2.25},
52 {"x":6.5, "y":2.25},
53 {"x":7.5, "y":2.25},
54 {"x":8.5, "y":2.25},
55 {"x":9.5, "y":2.25},
56 {"x":10.5, "y":2.25},
57 {"x":11.5, "y":2.25},
58 {"x":12.5, "y":2.25},
59 {"x":13.5, "y":2.25, "w":1.5},
60 {"x":15.25, "y":2.25},
61 {"x":16.25, "y":2.25},
62 {"x":17.25, "y":2.25},
63
64 {"x":0, "y":3.25, "w":1.75},
65 {"x":1.75, "y":3.25},
66 {"x":2.75, "y":3.25},
67 {"x":3.75, "y":3.25},
68 {"x":4.75, "y":3.25},
69 {"x":5.75, "y":3.25},
70 {"x":6.75, "y":3.25},
71 {"x":7.75, "y":3.25},
72 {"x":8.75, "y":3.25},
73 {"x":9.75, "y":3.25},
74 {"x":10.75, "y":3.25},
75 {"x":11.75, "y":3.25},
76 {"x":12.75, "y":3.25},
77 {"x":13.75, "y":3.25, "w":1.25},
78
79 {"x":0, "y":4.25, "w":1.25},
80 {"x":1.25, "y":4.25},
81 {"x":2.25, "y":4.25},
82 {"x":3.25, "y":4.25},
83 {"x":4.25, "y":4.25},
84 {"x":5.25, "y":4.25},
85 {"x":6.25, "y":4.25},
86 {"x":7.25, "y":4.25},
87 {"x":8.25, "y":4.25},
88 {"x":9.25, "y":4.25},
89 {"x":10.25, "y":4.25},
90 {"x":11.25, "y":4.25},
91 {"x":12.25, "y":4.25, "w":1.75},
92 {"x":14, "y":4.25},
93 {"x":16.25, "y":4.25},
94
95 {"x":0, "y":5.25, "w":1.5},
96 {"x":1.5, "y":5.25, "w":1.25},
97 {"x":2.75, "y":5.25, "w":1.5},
98 {"x":4.25, "y":5.25, "w":6.5},
99 {"x":10.75, "y":5.25, "w":1.5},
100 {"x":12.25, "y":5.25, "w":1.25},
101 {"x":13.5, "y":5.25, "w":1.5},
102 {"x":15.25, "y":5.25},
103 {"x":16.25, "y":5.25},
104 {"x":17.25, "y":5.25}
105 ]
106 },
107 "LAYOUT_ansi": {
108 "layout": [
109 {"x":0, "y":0},
110 {"x":2, "y":0},
111 {"x":3, "y":0},
112 {"x":4, "y":0},
113 {"x":5, "y":0},
114 {"x":6.5, "y":0},
115 {"x":7.5, "y":0},
116 {"x":8.5, "y":0},
117 {"x":9.5, "y":0},
118 {"x":11, "y":0},
119 {"x":12, "y":0},
120 {"x":13, "y":0},
121 {"x":14, "y":0},
122 {"x":15.25, "y":0},
123 {"x":16.25, "y":0},
124 {"x":17.25, "y":0},
125
126 {"x":0, "y":1.25},
127 {"x":1, "y":1.25},
128 {"x":2, "y":1.25},
129 {"x":3, "y":1.25},
130 {"x":4, "y":1.25},
131 {"x":5, "y":1.25},
132 {"x":6, "y":1.25},
133 {"x":7, "y":1.25},
134 {"x":8, "y":1.25},
135 {"x":9, "y":1.25},
136 {"x":10, "y":1.25},
137 {"x":11, "y":1.25},
138 {"x":12, "y":1.25},
139 {"x":13, "y":1.25, "w":2},
140 {"x":15.25, "y":1.25},
141 {"x":16.25, "y":1.25},
142 {"x":17.25, "y":1.25},
143
144 {"x":0, "y":2.25, "w":1.5},
145 {"x":1.5, "y":2.25},
146 {"x":2.5, "y":2.25},
147 {"x":3.5, "y":2.25},
148 {"x":4.5, "y":2.25},
149 {"x":5.5, "y":2.25},
150 {"x":6.5, "y":2.25},
151 {"x":7.5, "y":2.25},
152 {"x":8.5, "y":2.25},
153 {"x":9.5, "y":2.25},
154 {"x":10.5, "y":2.25},
155 {"x":11.5, "y":2.25},
156 {"x":12.5, "y":2.25},
157 {"x":13.5, "y":2.25, "w":1.5},
158 {"x":15.25, "y":2.25},
159 {"x":16.25, "y":2.25},
160 {"x":17.25, "y":2.25},
161
162 {"x":0, "y":3.25, "w":1.75},
163 {"x":1.75, "y":3.25},
164 {"x":2.75, "y":3.25},
165 {"x":3.75, "y":3.25},
166 {"x":4.75, "y":3.25},
167 {"x":5.75, "y":3.25},
168 {"x":6.75, "y":3.25},
169 {"x":7.75, "y":3.25},
170 {"x":8.75, "y":3.25},
171 {"x":9.75, "y":3.25},
172 {"x":10.75, "y":3.25},
173 {"x":11.75, "y":3.25},
174 {"x":12.75, "y":3.25, "w":2.25},
175
176 {"x":0, "y":4.25, "w":2.25},
177 {"x":2.25, "y":4.25},
178 {"x":3.25, "y":4.25},
179 {"x":4.25, "y":4.25},
180 {"x":5.25, "y":4.25},
181 {"x":6.25, "y":4.25},
182 {"x":7.25, "y":4.25},
183 {"x":8.25, "y":4.25},
184 {"x":9.25, "y":4.25},
185 {"x":10.25, "y":4.25},
186 {"x":11.25, "y":4.25},
187 {"x":12.25, "y":4.25, "w":2.75},
188 {"x":16.25, "y":4.25},
189
190 {"x":0, "y":5.25, "w":1.5},
191 {"x":1.5, "y":5.25, "w":1.25},
192 {"x":2.75, "y":5.25, "w":1.5},
193 {"x":4.25, "y":5.25, "w":6.5},
194 {"x":10.75, "y":5.25, "w":1.5},
195 {"x":12.25, "y":5.25, "w":1.25},
196 {"x":13.5, "y":5.25, "w":1.5},
197 {"x":15.25, "y":5.25},
198 {"x":16.25, "y":5.25},
199 {"x":17.25, "y":5.25}
200 ]
201 },
202 "LAYOUT_iso": {
203 "layout": [
204 {"x":0, "y":0},
205 {"x":2, "y":0},
206 {"x":3, "y":0},
207 {"x":4, "y":0},
208 {"x":5, "y":0},
209 {"x":6.5, "y":0},
210 {"x":7.5, "y":0},
211 {"x":8.5, "y":0},
212 {"x":9.5, "y":0},
213 {"x":11, "y":0},
214 {"x":12, "y":0},
215 {"x":13, "y":0},
216 {"x":14, "y":0},
217 {"x":15.25, "y":0},
218 {"x":16.25, "y":0},
219 {"x":17.25, "y":0},
220
221 {"x":0, "y":1.25},
222 {"x":1, "y":1.25},
223 {"x":2, "y":1.25},
224 {"x":3, "y":1.25},
225 {"x":4, "y":1.25},
226 {"x":5, "y":1.25},
227 {"x":6, "y":1.25},
228 {"x":7, "y":1.25},
229 {"x":8, "y":1.25},
230 {"x":9, "y":1.25},
231 {"x":10, "y":1.25},
232 {"x":11, "y":1.25},
233 {"x":12, "y":1.25},
234 {"x":13, "y":1.25, "w":2},
235 {"x":15.25, "y":1.25},
236 {"x":16.25, "y":1.25},
237 {"x":17.25, "y":1.25},
238
239 {"x":0, "y":2.25, "w":1.5},
240 {"x":1.5, "y":2.25},
241 {"x":2.5, "y":2.25},
242 {"x":3.5, "y":2.25},
243 {"x":4.5, "y":2.25},
244 {"x":5.5, "y":2.25},
245 {"x":6.5, "y":2.25},
246 {"x":7.5, "y":2.25},
247 {"x":8.5, "y":2.25},
248 {"x":9.5, "y":2.25},
249 {"x":10.5, "y":2.25},
250 {"x":11.5, "y":2.25},
251 {"x":12.5, "y":2.25},
252 {"x":15.25, "y":2.25},
253 {"x":16.25, "y":2.25},
254 {"x":17.25, "y":2.25},
255
256 {"x":0, "y":3.25, "w":1.75},
257 {"x":1.75, "y":3.25},
258 {"x":2.75, "y":3.25},
259 {"x":3.75, "y":3.25},
260 {"x":4.75, "y":3.25},
261 {"x":5.75, "y":3.25},
262 {"x":6.75, "y":3.25},
263 {"x":7.75, "y":3.25},
264 {"x":8.75, "y":3.25},
265 {"x":9.75, "y":3.25},
266 {"x":10.75, "y":3.25},
267 {"x":11.75, "y":3.25},
268 {"x":12.75, "y":3.25},
269 {"x":13.75, "y":2.25, "w":1.25, "h":2},
270
271 {"x":0, "y":4.25, "w":1.25},
272 {"x":1.25, "y":4.25},
273 {"x":2.25, "y":4.25},
274 {"x":3.25, "y":4.25},
275 {"x":4.25, "y":4.25},
276 {"x":5.25, "y":4.25},
277 {"x":6.25, "y":4.25},
278 {"x":7.25, "y":4.25},
279 {"x":8.25, "y":4.25},
280 {"x":9.25, "y":4.25},
281 {"x":10.25, "y":4.25},
282 {"x":11.25, "y":4.25},
283 {"x":12.25, "y":4.25, "w":2.75},
284 {"x":16.25, "y":4.25},
285
286 {"x":0, "y":5.25, "w":1.5},
287 {"x":1.5, "y":5.25, "w":1.25},
288 {"x":2.75, "y":5.25, "w":1.5},
289 {"x":4.25, "y":5.25, "w":6.5},
290 {"x":10.75, "y":5.25, "w":1.5},
291 {"x":12.25, "y":5.25, "w":1.25},
292 {"x":13.5, "y":5.25, "w":1.5},
293 {"x":15.25, "y":5.25},
294 {"x":16.25, "y":5.25},
295 {"x":17.25, "y":5.25}
296 ]
297 }
298 }
299}
diff --git a/keyboards/evyd13/omrontkl/keymaps/default/keymap.c b/keyboards/evyd13/omrontkl/keymaps/default/keymap.c
new file mode 100644
index 000000000..c532d60ae
--- /dev/null
+++ b/keyboards/evyd13/omrontkl/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22
23#define _MA 0 //Main layer
24#define _FN 1 //Main layer
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27[_MA] = LAYOUT_all(
28 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
29 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
30 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
31 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
32 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP,
33 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
34[_FN] = LAYOUT_all(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
41
42}; \ No newline at end of file
diff --git a/keyboards/evyd13/omrontkl/omrontkl.c b/keyboards/evyd13/omrontkl/omrontkl.c
new file mode 100644
index 000000000..26d0344d3
--- /dev/null
+++ b/keyboards/evyd13/omrontkl/omrontkl.c
@@ -0,0 +1,16 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "omrontkl.h"
diff --git a/keyboards/evyd13/omrontkl/omrontkl.h b/keyboards/evyd13/omrontkl/omrontkl.h
new file mode 100644
index 000000000..207eedfb4
--- /dev/null
+++ b/keyboards/evyd13/omrontkl/omrontkl.h
@@ -0,0 +1,79 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29
30#define LAYOUT_all( \
31 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
32 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k0d, k1d, k1e, k1f, k1g, \
33 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
34 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
35 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
36 k50, k51, k52, k56, k5b, k5c, k5d, k5e, k5f, k5g \
37) \
38{ \
39 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
40 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
41 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
42 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
43 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, XXX, k4f, XXX }, \
44 { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, XXX, k5b, k5c, k5d, k5e, k5f, k5g } \
45}
46
47#define LAYOUT_ansi( \
48 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
49 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
50 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
51 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
52 k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
53 k50, k51, k52, k56, k5b, k5c, k5d, k5e, k5f, k5g \
54) \
55{ \
56 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
57 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
58 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
59 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX, XXX, XXX }, \
60 { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
61 { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, XXX, k5b, k5c, k5d, k5e, k5f, k5g } \
62}
63
64#define LAYOUT_iso( \
65 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0f, k0g, \
66 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
67 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
68 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
69 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4f, \
70 k50, k51, k52, k56, k5b, k5c, k5d, k5e, k5f, k5g \
71) \
72{ \
73 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e, k0f, k0g }, \
74 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
75 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, k2e, k2f, k2g }, \
76 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX, XXX, XXX }, \
77 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, XXX, XXX, k4f, XXX }, \
78 { k50, k51, k52, XXX, XXX, XXX, k56, XXX, XXX, XXX, XXX, k5b, k5c, k5d, k5e, k5f, k5g } \
79}
diff --git a/keyboards/evyd13/omrontkl/readme.md b/keyboards/evyd13/omrontkl/readme.md
new file mode 100644
index 000000000..e45117c27
--- /dev/null
+++ b/keyboards/evyd13/omrontkl/readme.md
@@ -0,0 +1,13 @@
1# OmronTKL
2
3## Support
4* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
5* Hardware Supported: OmronTKL
6* Hardware Availability: none
7
8## Build
9Make example for this keyboard (after setting up your build environment):
10
11 make evyd13/omrontkl:default
12
13See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/omrontkl/rules.mk b/keyboards/evyd13/omrontkl/rules.mk
new file mode 100644
index 000000000..8fc9b9c73
--- /dev/null
+++ b/keyboards/evyd13/omrontkl/rules.mk
@@ -0,0 +1,32 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/evyd13/plain60/config.h b/keyboards/evyd13/plain60/config.h
new file mode 100644
index 000000000..9eb5d6307
--- /dev/null
+++ b/keyboards/evyd13/plain60/config.h
@@ -0,0 +1,49 @@
1/*
2Copyright 2019 Evy Dekkers
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4705
24#define PRODUCT_ID 0x0160
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Evyd13
27#define PRODUCT Plain60
28#define DESCRIPTION A plain 60% PCB
29
30/* key matrix size */
31#define MATRIX_ROWS 5
32#define MATRIX_COLS 15
33
34// ROWS: Top to bottom, COLS: Left to right
35
36#define MATRIX_ROW_PINS {B4,D7,D6,D4,E6}
37#define MATRIX_COL_PINS {D2,D1,D0,D3,D5,B5,F0,B6,C6,C7,F1,F4,F5,F6,F7}
38
39/* COL2ROW or ROW2COL */
40#define DIODE_DIRECTION COL2ROW
41
42/* define if matrix has ghost */
43//#define MATRIX_HAS_GHOST
44
45/* Set 0 if debouncing isn't needed */
46#define DEBOUNCE 5
47
48#define QMK_ESC_OUTPUT D2 // usually COL
49#define QMK_ESC_INPUT B4 // usually ROW
diff --git a/keyboards/evyd13/plain60/info.json b/keyboards/evyd13/plain60/info.json
new file mode 100644
index 000000000..48aad441f
--- /dev/null
+++ b/keyboards/evyd13/plain60/info.json
@@ -0,0 +1,502 @@
1{
2 "keyboard_name": "Plain60",
3 "url": "",
4 "maintainer": "evyd13",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x": 0, "y": 0},
11 {"x": 1, "y": 0},
12 {"x": 2, "y": 0},
13 {"x": 3, "y": 0},
14 {"x": 4, "y": 0},
15 {"x": 5, "y": 0},
16 {"x": 6, "y": 0},
17 {"x": 7, "y": 0},
18 {"x": 8, "y": 0},
19 {"x": 9, "y": 0},
20 {"x": 10, "y": 0},
21 {"x": 11, "y": 0},
22 {"x": 12, "y": 0},
23 {"x": 13, "y": 0},
24 {"x": 14, "y": 0},
25
26 {"x": 0, "y": 1, "w": 1.5},
27 {"x": 1.5, "y": 1},
28 {"x": 2.5, "y": 1},
29 {"x": 3.5, "y": 1},
30 {"x": 4.5, "y": 1},
31 {"x": 5.5, "y": 1},
32 {"x": 6.5, "y": 1},
33 {"x": 7.5, "y": 1},
34 {"x": 8.5, "y": 1},
35 {"x": 9.5, "y": 1},
36 {"x": 10.5, "y": 1},
37 {"x": 11.5, "y": 1},
38 {"x": 12.5, "y": 1},
39 {"x": 13.5, "y": 1, "w": 1.5},
40
41 {"x": 0, "y": 2, "w": 1.75},
42 {"x": 1.75, "y": 2},
43 {"x": 2.75, "y": 2},
44 {"x": 3.75, "y": 2},
45 {"x": 4.75, "y": 2},
46 {"x": 5.75, "y": 2},
47 {"x": 6.75, "y": 2},
48 {"x": 7.75, "y": 2},
49 {"x": 8.75, "y": 2},
50 {"x": 9.75, "y": 2},
51 {"x": 10.75, "y": 2},
52 {"x": 11.75, "y": 2},
53 {"x": 12.75, "y": 2},
54 {"x": 13.75, "y": 2, "w": 1.25},
55
56 {"x": 0, "y": 3, "w": 1.25},
57 {"x": 1.25, "y": 3},
58 {"x": 2.25, "y": 3},
59 {"x": 3.25, "y": 3},
60 {"x": 4.25, "y": 3},
61 {"x": 5.25, "y": 3},
62 {"x": 6.25, "y": 3},
63 {"x": 7.25, "y": 3},
64 {"x": 8.25, "y": 3},
65 {"x": 9.25, "y": 3},
66 {"x": 10.25, "y": 3},
67 {"x": 11.25, "y": 3},
68 {"x": 12.25, "y": 3, "w": 1.75},
69 {"x": 14, "y": 3},
70
71 {"x": 0, "y": 4, "w": 1.25},
72 {"x": 1.25, "y": 4, "w": 1.25},
73 {"x": 2.5, "y": 4, "w": 1.25},
74 {"x": 3.75, "y": 4, "w": 6.25},
75 {"x": 10, "y": 4, "w": 1.25},
76 {"x": 11.25, "y": 4, "w": 1.25},
77 {"x": 12.5, "y": 4, "w": 1.25},
78 {"x": 13.75, "y": 4, "w": 1.25}
79 ]
80 },
81 "LAYOUT_60_ansi": {
82 "layout": [
83 {"x": 0, "y": 0},
84 {"x": 1, "y": 0},
85 {"x": 2, "y": 0},
86 {"x": 3, "y": 0},
87 {"x": 4, "y": 0},
88 {"x": 5, "y": 0},
89 {"x": 6, "y": 0},
90 {"x": 7, "y": 0},
91 {"x": 8, "y": 0},
92 {"x": 9, "y": 0},
93 {"x": 10, "y": 0},
94 {"x": 11, "y": 0},
95 {"x": 12, "y": 0},
96 {"x": 13, "y": 0, "w": 2},
97
98 {"x": 0, "y": 1, "w": 1.5},
99 {"x": 1.5, "y": 1},
100 {"x": 2.5, "y": 1},
101 {"x": 3.5, "y": 1},
102 {"x": 4.5, "y": 1},
103 {"x": 5.5, "y": 1},
104 {"x": 6.5, "y": 1},
105 {"x": 7.5, "y": 1},
106 {"x": 8.5, "y": 1},
107 {"x": 9.5, "y": 1},
108 {"x": 10.5, "y": 1},
109 {"x": 11.5, "y": 1},
110 {"x": 12.5, "y": 1},
111 {"x": 13.5, "y": 1, "w": 1.5},
112
113 {"x": 0, "y": 2, "w": 1.75},
114 {"x": 1.75, "y": 2},
115 {"x": 2.75, "y": 2},
116 {"x": 3.75, "y": 2},
117 {"x": 4.75, "y": 2},
118 {"x": 5.75, "y": 2},
119 {"x": 6.75, "y": 2},
120 {"x": 7.75, "y": 2},
121 {"x": 8.75, "y": 2},
122 {"x": 9.75, "y": 2},
123 {"x": 10.75, "y": 2},
124 {"x": 11.75, "y": 2},
125 {"x": 12.75, "y": 2, "w": 2.25},
126
127 {"x": 0, "y": 3, "w": 2.25},
128 {"x": 2.25, "y": 3},
129 {"x": 3.25, "y": 3},
130 {"x": 4.25, "y": 3},
131 {"x": 5.25, "y": 3},
132 {"x": 6.25, "y": 3},
133 {"x": 7.25, "y": 3},
134 {"x": 8.25, "y": 3},
135 {"x": 9.25, "y": 3},
136 {"x": 10.25, "y": 3},
137 {"x": 11.25, "y": 3},
138 {"x": 12.25, "y": 3, "w": 2.75},
139
140 {"x": 0, "y": 4, "w": 1.25},
141 {"x": 1.25, "y": 4, "w": 1.25},
142 {"x": 2.5, "y": 4, "w": 1.25},
143 {"x": 3.75, "y": 4, "w": 6.25},
144 {"x": 10, "y": 4, "w": 1.25},
145 {"x": 11.25, "y": 4, "w": 1.25},
146 {"x": 12.5, "y": 4, "w": 1.25},
147 {"x": 13.75, "y": 4, "w": 1.25}
148 ]
149 },
150 "LAYOUT_60_ansi_split_bs_rshift": {
151 "layout": [
152 {"x": 0, "y": 0},
153 {"x": 1, "y": 0},
154 {"x": 2, "y": 0},
155 {"x": 3, "y": 0},
156 {"x": 4, "y": 0},
157 {"x": 5, "y": 0},
158 {"x": 6, "y": 0},
159 {"x": 7, "y": 0},
160 {"x": 8, "y": 0},
161 {"x": 9, "y": 0},
162 {"x": 10, "y": 0},
163 {"x": 11, "y": 0},
164 {"x": 12, "y": 0},
165 {"x": 13, "y": 0},
166 {"x": 14, "y": 0},
167
168 {"x": 0, "y": 1, "w": 1.5},
169 {"x": 1.5, "y": 1},
170 {"x": 2.5, "y": 1},
171 {"x": 3.5, "y": 1},
172 {"x": 4.5, "y": 1},
173 {"x": 5.5, "y": 1},
174 {"x": 6.5, "y": 1},
175 {"x": 7.5, "y": 1},
176 {"x": 8.5, "y": 1},
177 {"x": 9.5, "y": 1},
178 {"x": 10.5, "y": 1},
179 {"x": 11.5, "y": 1},
180 {"x": 12.5, "y": 1},
181 {"x": 13.5, "y": 1, "w": 1.5},
182
183 {"x": 0, "y": 2, "w": 1.75},
184 {"x": 1.75, "y": 2},
185 {"x": 2.75, "y": 2},
186 {"x": 3.75, "y": 2},
187 {"x": 4.75, "y": 2},
188 {"x": 5.75, "y": 2},
189 {"x": 6.75, "y": 2},
190 {"x": 7.75, "y": 2},
191 {"x": 8.75, "y": 2},
192 {"x": 9.75, "y": 2},
193 {"x": 10.75, "y": 2},
194 {"x": 11.75, "y": 2},
195 {"x": 12.75, "y": 2, "w": 2.25},
196
197 {"x": 0, "y": 3, "w": 2.25},
198 {"x": 2.25, "y": 3},
199 {"x": 3.25, "y": 3},
200 {"x": 4.25, "y": 3},
201 {"x": 5.25, "y": 3},
202 {"x": 6.25, "y": 3},
203 {"x": 7.25, "y": 3},
204 {"x": 8.25, "y": 3},
205 {"x": 9.25, "y": 3},
206 {"x": 10.25, "y": 3},
207 {"x": 11.25, "y": 3},
208 {"x": 12.25, "y": 3, "w": 1.75},
209 {"x": 14, "y": 3},
210
211 {"x": 0, "y": 4, "w": 1.25},
212 {"x": 1.25, "y": 4, "w": 1.25},
213 {"x": 2.5, "y": 4, "w": 1.25},
214 {"x": 3.75, "y": 4, "w": 6.25},
215 {"x": 10, "y": 4, "w": 1.25},
216 {"x": 11.25, "y": 4, "w": 1.25},
217 {"x": 12.5, "y": 4, "w": 1.25},
218 {"x": 13.75, "y": 4, "w": 1.25}
219 ]
220 },
221 "LAYOUT_60_hhkb": {
222 "layout": [
223 {"x": 0, "y": 0},
224 {"x": 1, "y": 0},
225 {"x": 2, "y": 0},
226 {"x": 3, "y": 0},
227 {"x": 4, "y": 0},
228 {"x": 5, "y": 0},
229 {"x": 6, "y": 0},
230 {"x": 7, "y": 0},
231 {"x": 8, "y": 0},
232 {"x": 9, "y": 0},
233 {"x": 10, "y": 0},
234 {"x": 11, "y": 0},
235 {"x": 12, "y": 0},
236 {"x": 13, "y": 0},
237 {"x": 14, "y": 0},
238
239 {"x": 0, "y": 1, "w": 1.5},
240 {"x": 1.5, "y": 1},
241 {"x": 2.5, "y": 1},
242 {"x": 3.5, "y": 1},
243 {"x": 4.5, "y": 1},
244 {"x": 5.5, "y": 1},
245 {"x": 6.5, "y": 1},
246 {"x": 7.5, "y": 1},
247 {"x": 8.5, "y": 1},
248 {"x": 9.5, "y": 1},
249 {"x": 10.5, "y": 1},
250 {"x": 11.5, "y": 1},
251 {"x": 12.5, "y": 1},
252 {"x": 13.5, "y": 1, "w": 1.5},
253
254 {"x": 0, "y": 2, "w": 1.75},
255 {"x": 1.75, "y": 2},
256 {"x": 2.75, "y": 2},
257 {"x": 3.75, "y": 2},
258 {"x": 4.75, "y": 2},
259 {"x": 5.75, "y": 2},
260 {"x": 6.75, "y": 2},
261 {"x": 7.75, "y": 2},
262 {"x": 8.75, "y": 2},
263 {"x": 9.75, "y": 2},
264 {"x": 10.75, "y": 2},
265 {"x": 11.75, "y": 2},
266 {"x": 12.75, "y": 2, "w": 2.25},
267
268 {"x": 0, "y": 3, "w": 2.25},
269 {"x": 2.25, "y": 3},
270 {"x": 3.25, "y": 3},
271 {"x": 4.25, "y": 3},
272 {"x": 5.25, "y": 3},
273 {"x": 6.25, "y": 3},
274 {"x": 7.25, "y": 3},
275 {"x": 8.25, "y": 3},
276 {"x": 9.25, "y": 3},
277 {"x": 10.25, "y": 3},
278 {"x": 11.25, "y": 3},
279 {"x": 12.25, "y": 3, "w": 1.75},
280 {"x": 14, "y": 3},
281
282 {"x": 1.5, "y": 4},
283 {"x": 2.5, "y": 4, "w": 1.5},
284 {"x": 4, "y": 4, "w": 7},
285 {"x": 11, "y": 4, "w": 1.5},
286 {"x": 12.5, "y": 4}
287 ]
288 },
289 "LAYOUT_60_iso": {
290 "layout": [
291 {"x": 0, "y": 0},
292 {"x": 1, "y": 0},
293 {"x": 2, "y": 0},
294 {"x": 3, "y": 0},
295 {"x": 4, "y": 0},
296 {"x": 5, "y": 0},
297 {"x": 6, "y": 0},
298 {"x": 7, "y": 0},
299 {"x": 8, "y": 0},
300 {"x": 9, "y": 0},
301 {"x": 10, "y": 0},
302 {"x": 11, "y": 0},
303 {"x": 12, "y": 0},
304 {"x": 13, "y": 0, "w": 2},
305
306 {"x": 0, "y": 1, "w": 1.5},
307 {"x": 1.5, "y": 1},
308 {"x": 2.5, "y": 1},
309 {"x": 3.5, "y": 1},
310 {"x": 4.5, "y": 1},
311 {"x": 5.5, "y": 1},
312 {"x": 6.5, "y": 1},
313 {"x": 7.5, "y": 1},
314 {"x": 8.5, "y": 1},
315 {"x": 9.5, "y": 1},
316 {"x": 10.5, "y": 1},
317 {"x": 11.5, "y": 1},
318 {"x": 12.5, "y": 1},
319
320 {"x": 0, "y": 2, "w": 1.75},
321 {"x": 1.75, "y": 2},
322 {"x": 2.75, "y": 2},
323 {"x": 3.75, "y": 2},
324 {"x": 4.75, "y": 2},
325 {"x": 5.75, "y": 2},
326 {"x": 6.75, "y": 2},
327 {"x": 7.75, "y": 2},
328 {"x": 8.75, "y": 2},
329 {"x": 9.75, "y": 2},
330 {"x": 10.75, "y": 2},
331 {"x": 11.75, "y": 2},
332 {"x": 12.75, "y": 2},
333 {"x": 13.75, "y": 1, "w": 1.25, "h": 2},
334
335 {"x": 0, "y": 3, "w": 1.25},
336 {"x": 1.25, "y": 3},
337 {"x": 2.25, "y": 3},
338 {"x": 3.25, "y": 3},
339 {"x": 4.25, "y": 3},
340 {"x": 5.25, "y": 3},
341 {"x": 6.25, "y": 3},
342 {"x": 7.25, "y": 3},
343 {"x": 8.25, "y": 3},
344 {"x": 9.25, "y": 3},
345 {"x": 10.25, "y": 3},
346 {"x": 11.25, "y": 3},
347 {"x": 12.25, "y": 3, "w": 2.75},
348
349 {"x": 0, "y": 4, "w": 1.25},
350 {"x": 1.25, "y": 4, "w": 1.25},
351 {"x": 2.5, "y": 4, "w": 1.25},
352 {"x": 3.75, "y": 4, "w": 6.25},
353 {"x": 10, "y": 4, "w": 1.25},
354 {"x": 11.25, "y": 4, "w": 1.25},
355 {"x": 12.5, "y": 4, "w": 1.25},
356 {"x": 13.75, "y": 4, "w": 1.25}
357 ]
358 },
359 "LAYOUT_60_iso_split_bs_rshift": {
360 "layout": [
361 {"x": 0, "y": 0},
362 {"x": 1, "y": 0},
363 {"x": 2, "y": 0},
364 {"x": 3, "y": 0},
365 {"x": 4, "y": 0},
366 {"x": 5, "y": 0},
367 {"x": 6, "y": 0},
368 {"x": 7, "y": 0},
369 {"x": 8, "y": 0},
370 {"x": 9, "y": 0},
371 {"x": 10, "y": 0},
372 {"x": 11, "y": 0},
373 {"x": 12, "y": 0},
374 {"x": 13, "y": 0},
375 {"x": 14, "y": 0},
376
377 {"x": 0, "y": 1, "w": 1.5},
378 {"x": 1.5, "y": 1},
379 {"x": 2.5, "y": 1},
380 {"x": 3.5, "y": 1},
381 {"x": 4.5, "y": 1},
382 {"x": 5.5, "y": 1},
383 {"x": 6.5, "y": 1},
384 {"x": 7.5, "y": 1},
385 {"x": 8.5, "y": 1},
386 {"x": 9.5, "y": 1},
387 {"x": 10.5, "y": 1},
388 {"x": 11.5, "y": 1},
389 {"x": 12.5, "y": 1},
390
391 {"x": 0, "y": 2, "w": 1.75},
392 {"x": 1.75, "y": 2},
393 {"x": 2.75, "y": 2},
394 {"x": 3.75, "y": 2},
395 {"x": 4.75, "y": 2},
396 {"x": 5.75, "y": 2},
397 {"x": 6.75, "y": 2},
398 {"x": 7.75, "y": 2},
399 {"x": 8.75, "y": 2},
400 {"x": 9.75, "y": 2},
401 {"x": 10.75, "y": 2},
402 {"x": 11.75, "y": 2},
403 {"x": 12.75, "y": 2},
404 {"x": 13.75, "y": 1, "w": 1.25, "h": 2},
405
406 {"x": 0, "y": 3, "w": 1.25},
407 {"x": 1.25, "y": 3},
408 {"x": 2.25, "y": 3},
409 {"x": 3.25, "y": 3},
410 {"x": 4.25, "y": 3},
411 {"x": 5.25, "y": 3},
412 {"x": 6.25, "y": 3},
413 {"x": 7.25, "y": 3},
414 {"x": 8.25, "y": 3},
415 {"x": 9.25, "y": 3},
416 {"x": 10.25, "y": 3},
417 {"x": 11.25, "y": 3},
418 {"x": 12.25, "y": 3, "w": 1.75},
419 {"x": 14, "y": 3},
420
421 {"x": 0, "y": 4, "w": 1.25},
422 {"x": 1.25, "y": 4, "w": 1.25},
423 {"x": 2.5, "y": 4, "w": 1.25},
424 {"x": 3.75, "y": 4, "w": 6.25},
425 {"x": 10, "y": 4, "w": 1.25},
426 {"x": 11.25, "y": 4, "w": 1.25},
427 {"x": 12.5, "y": 4, "w": 1.25},
428 {"x": 13.75, "y": 4, "w": 1.25}
429 ]
430 },
431 "LAYOUT_60_tsangan_hhkb": {
432 "layout": [
433 {"x": 0, "y": 0},
434 {"x": 1, "y": 0},
435 {"x": 2, "y": 0},
436 {"x": 3, "y": 0},
437 {"x": 4, "y": 0},
438 {"x": 5, "y": 0},
439 {"x": 6, "y": 0},
440 {"x": 7, "y": 0},
441 {"x": 8, "y": 0},
442 {"x": 9, "y": 0},
443 {"x": 10, "y": 0},
444 {"x": 11, "y": 0},
445 {"x": 12, "y": 0},
446 {"x": 13, "y": 0},
447 {"x": 14, "y": 0},
448
449 {"x": 0, "y": 1, "w": 1.5},
450 {"x": 1.5, "y": 1},
451 {"x": 2.5, "y": 1},
452 {"x": 3.5, "y": 1},
453 {"x": 4.5, "y": 1},
454 {"x": 5.5, "y": 1},
455 {"x": 6.5, "y": 1},
456 {"x": 7.5, "y": 1},
457 {"x": 8.5, "y": 1},
458 {"x": 9.5, "y": 1},
459 {"x": 10.5, "y": 1},
460 {"x": 11.5, "y": 1},
461 {"x": 12.5, "y": 1},
462 {"x": 13.5, "y": 1, "w": 1.5},
463
464 {"x": 0, "y": 2, "w": 1.75},
465 {"x": 1.75, "y": 2},
466 {"x": 2.75, "y": 2},
467 {"x": 3.75, "y": 2},
468 {"x": 4.75, "y": 2},
469 {"x": 5.75, "y": 2},
470 {"x": 6.75, "y": 2},
471 {"x": 7.75, "y": 2},
472 {"x": 8.75, "y": 2},
473 {"x": 9.75, "y": 2},
474 {"x": 10.75, "y": 2},
475 {"x": 11.75, "y": 2},
476 {"x": 12.75, "y": 2, "w": 2.25},
477
478 {"x": 0, "y": 3, "w": 2.25},
479 {"x": 2.25, "y": 3},
480 {"x": 3.25, "y": 3},
481 {"x": 4.25, "y": 3},
482 {"x": 5.25, "y": 3},
483 {"x": 6.25, "y": 3},
484 {"x": 7.25, "y": 3},
485 {"x": 8.25, "y": 3},
486 {"x": 9.25, "y": 3},
487 {"x": 10.25, "y": 3},
488 {"x": 11.25, "y": 3},
489 {"x": 12.25, "y": 3, "w": 1.75},
490 {"x": 14, "y": 3},
491
492 {"x": 0, "y": 4, "w": 1.5},
493 {"x": 1.5, "y": 4},
494 {"x": 2.5, "y": 4, "w": 1.5},
495 {"x": 4, "y": 4, "w": 7},
496 {"x": 11, "y": 4, "w": 1.5},
497 {"x": 12.5, "y": 4},
498 {"x": 13.5, "y": 4, "w": 1.5}
499 ]
500 }
501 }
502}
diff --git a/keyboards/evyd13/plain60/keymaps/audio/config.h b/keyboards/evyd13/plain60/keymaps/audio/config.h
new file mode 100644
index 000000000..9a43b7fbe
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/audio/config.h
@@ -0,0 +1,3 @@
1#pragma once
2
3#define B7_AUDIO
diff --git a/keyboards/evyd13/plain60/keymaps/audio/keymap.c b/keyboards/evyd13/plain60/keymaps/audio/keymap.c
new file mode 100644
index 000000000..91ac37501
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/audio/keymap.c
@@ -0,0 +1,27 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7enum _layers {
8 _MA,
9 _FN
10};
11
12const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13
14[_MA] = LAYOUT(
15 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, \
16 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
17 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, \
18 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, LT(_FN, KC_UP), \
19 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(_FN, KC_APP), KC_RCTRL),
20
21[_FN] = LAYOUT(
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
26 AU_TOG, MU_TOG, MU_MOD, CK_TOGG, _______, _______, _______, _______)
27};
diff --git a/keyboards/evyd13/plain60/keymaps/audio/rules.mk b/keyboards/evyd13/plain60/keymaps/audio/rules.mk
new file mode 100644
index 000000000..600978d17
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/audio/rules.mk
@@ -0,0 +1,4 @@
1AUDIO_ENABLE = yes
2RAW_ENABLE = no
3DYNAMIC_KEYMAP_ENABLE = no
4
diff --git a/keyboards/evyd13/plain60/keymaps/default/keymap.c b/keyboards/evyd13/plain60/keymaps/default/keymap.c
new file mode 100644
index 000000000..2e23dece0
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7enum _layer {
8 _MA,
9 _FN
10};
11
12const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13
14[_MA] = LAYOUT(
15 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, \
16 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
17 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, \
18 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, LT(_FN, KC_UP), \
19 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(_FN, KC_APP), KC_RCTRL),
20
21[_FN] = LAYOUT(
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
26 _______, _______, _______, _______, _______, _______, _______, _______)
27};
diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/config.h b/keyboards/evyd13/plain60/keymaps/kwerdenker/config.h
new file mode 100644
index 000000000..5fadcf821
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/kwerdenker/config.h
@@ -0,0 +1,26 @@
1/*
2Copyright 2019 Sebastian Spindler <sebastian.spindler@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20/* RGB Underglow */
21#define RGB_DI_PIN B7
22#define RGBLIGHT_ANIMATIONS
23#define RGBLED_NUM 30 // Number of LEDs
24#define RGBLIGHT_HUE_STEP 8
25#define RGBLIGHT_SAT_STEP 8
26#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c b/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c
new file mode 100644
index 000000000..25370823d
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c
@@ -0,0 +1,57 @@
1/*
2Copyright 2019 Sebastian Spindler <sebastian.spindler@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20#include "keymap_extras/keymap_german.h"
21
22//Layer renaming
23#define _DL 0 //default
24#define _FUN 1 //function layer
25#define _LED 2 //LED configurations
26
27//Keymapping renaming
28#define ______ KC_TRNS //renaming KC_TRNS for readability in keymaps
29#define RGB_MI RGB_MODE_FORWARD //increase RGB mode
30#define RGB_MD RGB_MODE_REVERSE //decrease RGB mode
31#define RGB_ST RGB_M_P //rgb static
32#define MONKEY LCTL(LALT(KC_DEL)) //ctrl+alt+del == monkey grip
33#define SPECIAL LT(_FUN, DE_CIRC) //
34
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36
37 [_DL] = LAYOUT(
38 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, ______, KC_BSPC, \
39 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, ______, \
40 SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, \
41 KC_LSFT, DE_LESS, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, MONKEY, \
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , ______, KC_ALGR, TG(_LED), KC_RCTL ),
43
44 [_FUN] = LAYOUT(
45 ______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ______, KC_DEL, \
46 ______, KC_PGUP, KC_UP, KC_PGDN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
47 ______, KC_LEFT, KC_DOWN, KC_RIGHT, KC_HOME, ______, ______, KC_END, ______, ______, ______, ______, ______, ______, \
48 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_UP, ______, \
49 ______, ______, ______, ______ , ______, KC_LEFT, KC_DOWN, KC_RIGHT ),
50
51 [_LED] = LAYOUT(
52 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, \
53 ______, RGB_TOG, RGB_MI, RGB_MD, RGB_ST, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
54 ______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
55 ______, ______, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
56 ______, ______, ______, ______ , ______, ______, TG(_LED), ______ ),
57};
diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk b/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk
new file mode 100644
index 000000000..facc9dc7e
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk
@@ -0,0 +1,22 @@
1#Copyright 2019 Sebastian Spindler <sebastian.spindler@gmail.com>
2
3#This program is free software: you can redistribute it and/or modify
4#it under the terms of the GNU General Public License as published by
5#the Free Software Foundation, either version 2 of the License, or
6#(at your option) any later version.
7
8#This program is distributed in the hope that it will be useful,
9#but WITHOUT ANY WARRANTY; without even the implied warranty of
10#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11#GNU General Public License for more details.
12
13#You should have received a copy of the GNU General Public License
14#along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16# Build Options
17# comment out to disable the options.
18#
19BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
20NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
21RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality (+4870)
22
diff --git a/keyboards/evyd13/plain60/keymaps/rgb/config.h b/keyboards/evyd13/plain60/keymaps/rgb/config.h
new file mode 100644
index 000000000..842693812
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/rgb/config.h
@@ -0,0 +1,8 @@
1#pragma once
2
3#define RGB_DI_PIN B0
4#define RGBLIGHT_ANIMATIONS
5#define RGBLED_NUM 20 // limit to 20 otherwise brownouts
6#define RGBLIGHT_HUE_STEP 8
7#define RGBLIGHT_SAT_STEP 8
8#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/evyd13/plain60/keymaps/rgb/keymap.c b/keyboards/evyd13/plain60/keymaps/rgb/keymap.c
new file mode 100644
index 000000000..abfb5f6b1
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/rgb/keymap.c
@@ -0,0 +1,27 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7enum _layers {
8 _MA,
9 _FN
10};
11
12const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
13
14[_MA] = LAYOUT(
15 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, \
16 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
17 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, \
18 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, LT(_FN, KC_UP), \
19 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(_FN, KC_APP), KC_RCTRL),
20
21[_FN] = LAYOUT(
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
26 RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______)
27};
diff --git a/keyboards/evyd13/plain60/keymaps/rgb/rules.mk b/keyboards/evyd13/plain60/keymaps/rgb/rules.mk
new file mode 100644
index 000000000..b6cd87b7d
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/rgb/rules.mk
@@ -0,0 +1,3 @@
1RGBLIGHT_ENABLE = yes
2RAW_ENABLE = no
3DYNAMIC_KEYMAP_ENABLE = no
diff --git a/keyboards/evyd13/plain60/keymaps/via/keymap.c b/keyboards/evyd13/plain60/keymaps/via/keymap.c
new file mode 100644
index 000000000..a500f2389
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/via/keymap.c
@@ -0,0 +1,32 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5[0] = LAYOUT(
6 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
7 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
8 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
9 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
10 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL),
11
12[1] = LAYOUT(
13 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
14 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
15 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
16 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
17 _______, _______, _______, _______, _______, _______, _______, _______),
18
19[2] = LAYOUT(
20 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
21 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
24 _______, _______, _______, _______, _______, _______, _______, _______),
25
26[3] = LAYOUT(
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______),
32};
diff --git a/keyboards/evyd13/plain60/keymaps/via/rules.mk b/keyboards/evyd13/plain60/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/evyd13/plain60/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/evyd13/plain60/plain60.c b/keyboards/evyd13/plain60/plain60.c
new file mode 100644
index 000000000..d81606410
--- /dev/null
+++ b/keyboards/evyd13/plain60/plain60.c
@@ -0,0 +1 @@
#include "plain60.h"
diff --git a/keyboards/evyd13/plain60/plain60.h b/keyboards/evyd13/plain60/plain60.h
new file mode 100644
index 000000000..87688e9ed
--- /dev/null
+++ b/keyboards/evyd13/plain60/plain60.h
@@ -0,0 +1,114 @@
1#pragma once
2
3#include "quantum.h"
4
5// readability
6#define XXX KC_NO
7
8#define LAYOUT( \
9 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
10 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
11 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
12 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
13 k40, k41, k42, k46, k4a, k4b, k4c, k4d \
14) \
15{ \
16 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
17 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \
18 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX}, \
19 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
20 {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX} \
21}
22
23#define LAYOUT_60_ansi( \
24 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
25 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
26 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
27 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
28 k40, k41, k42, k46, k4a, k4b, k4c, k4d \
29) \
30{ \
31 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e}, \
32 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \
33 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \
34 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX}, \
35 {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX} \
36}
37
38#define LAYOUT_60_ansi_split_bs_rshift( \
39 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
40 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
41 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
42 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
43 k40, k41, k42, k46, k4a, k4b, k4c, k4d \
44) \
45{ \
46 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
47 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \
48 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \
49 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
50 {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX} \
51}
52
53#define LAYOUT_60_hhkb( \
54 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
55 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
56 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
57 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
58 k41, k42, k46, k4b, k4c \
59) \
60{ \
61 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
62 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \
63 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \
64 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
65 {XXX, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, k4c, XXX, XXX} \
66}
67
68#define LAYOUT_60_tsangan_hhkb( \
69 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
70 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
71 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
72 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
73 k40, k41, k42, k46, k4b, k4c, k4d \
74) \
75{ \
76 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
77 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \
78 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \
79 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
80 {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, k4c, k4d, XXX} \
81}
82
83#define LAYOUT_60_iso( \
84 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
85 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
86 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
87 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
88 k40, k41, k42, k46, k4a, k4b, k4c, k4d \
89) \
90{ \
91 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, XXX, k0e}, \
92 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, XXX}, \
93 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX}, \
94 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX}, \
95 {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX} \
96}
97
98#define LAYOUT_60_iso_split_bs_rshift( \
99 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
100 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
101 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
102 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
103 k40, k41, k42, k46, k4a, k4b, k4c, k4d \
104) \
105{ \
106 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
107 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, XXX}, \
108 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX}, \
109 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \
110 {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX} \
111}
112
113void matrix_init_user(void);
114void matrix_scan_user(void);
diff --git a/keyboards/evyd13/plain60/readme.md b/keyboards/evyd13/plain60/readme.md
new file mode 100644
index 000000000..5ed19f0e7
--- /dev/null
+++ b/keyboards/evyd13/plain60/readme.md
@@ -0,0 +1,14 @@
1Plain60-C and Plain60-B
2======
3
4A plain 60% PCB with USB-C.
5
6Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
7Hardware Supported: Plain60-C and Plain60-B
8Hardware Availability: https://github.com/evyd13/plain60-c
9
10Make example for this keyboard (after setting up your build environment):
11
12 make plain60:default
13
14See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/evyd13/plain60/rules.mk b/keyboards/evyd13/plain60/rules.mk
new file mode 100644
index 000000000..398b59227
--- /dev/null
+++ b/keyboards/evyd13/plain60/rules.mk
@@ -0,0 +1,30 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# comment out to disable the options.
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
23RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
24BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
25MIDI_ENABLE = no # MIDI controls
26AUDIO_ENABLE = no
27UNICODE_ENABLE = no # Unicode
28BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
29
30LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_hhkb 60_iso 60_tsangan_hhkb
diff --git a/keyboards/evyd13/pockettype/config.h b/keyboards/evyd13/pockettype/config.h
new file mode 100644
index 000000000..fd2e0a8d0
--- /dev/null
+++ b/keyboards/evyd13/pockettype/config.h
@@ -0,0 +1,220 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0xFA7D
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT PocketType
27#define DESCRIPTION A small 4x12 ortholinear keyboard
28
29/* key matrix size */
30#define MATRIX_ROWS 4
31#define MATRIX_COLS 12
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {D3,D1,D7,B5}
44#define MATRIX_COL_PINS {F6,F7,B1,B3,B2,B6,B4,E6,C6,D4,D0,D2}
45#define UNUSED_PINS {B1,B2,B3}
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55// #define BACKLIGHT_PIN B7
56// #define BACKLIGHT_BREATHING
57// #define BACKLIGHT_LEVELS 3
58
59// #define RGB_DI_PIN E2
60// #ifdef RGB_DI_PIN
61// #define RGBLED_NUM 16
62// #define RGBLIGHT_HUE_STEP 8
63// #define RGBLIGHT_SAT_STEP 8
64// #define RGBLIGHT_VAL_STEP 8
65// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67// /*== all animations enable ==*/
68// #define RGBLIGHT_ANIMATIONS
69// /*== or choose animations ==*/
70// #define RGBLIGHT_EFFECT_BREATHING
71// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
72// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73// #define RGBLIGHT_EFFECT_SNAKE
74// #define RGBLIGHT_EFFECT_KNIGHT
75// #define RGBLIGHT_EFFECT_CHRISTMAS
76// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
77// #define RGBLIGHT_EFFECT_RGB_TEST
78// #define RGBLIGHT_EFFECT_ALTERNATING
79// /*== customize breathing effect ==*/
80// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82// /*==== use exp() and sin() ====*/
83// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85// #endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
89
90/* define if matrix has ghost (lacks anti-ghosting diodes) */
91//#define MATRIX_HAS_GHOST
92
93/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
94#define LOCKING_SUPPORT_ENABLE
95/* Locking resynchronize hack */
96#define LOCKING_RESYNC_ENABLE
97
98/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
99 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
100 */
101// #define GRAVE_ESC_CTRL_OVERRIDE
102
103/*
104 * Force NKRO
105 *
106 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
107 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
108 * makefile for this to work.)
109 *
110 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
111 * until the next keyboard reset.
112 *
113 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
114 * fully operational during normal computer usage.
115 *
116 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
117 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
118 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
119 * power-up.
120 *
121 */
122//#define FORCE_NKRO
123
124/*
125 * Magic Key Options
126 *
127 * Magic keys are hotkey commands that allow control over firmware functions of
128 * the keyboard. They are best used in combination with the HID Listen program,
129 * found here: https://www.pjrc.com/teensy/hid_listen.html
130 *
131 * The options below allow the magic key functionality to be changed. This is
132 * useful if your keyboard/keypad is missing keys and you want magic key support.
133 *
134 */
135
136/* key combination for magic key command */
137/* defined by default; to change, uncomment and set to the combination you want */
138// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
139
140/* control how magic key switches layers */
141//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
142//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
143//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
144
145/* override magic key keymap */
146//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
147//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
148//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
149//#define MAGIC_KEY_HELP H
150//#define MAGIC_KEY_HELP_ALT SLASH
151//#define MAGIC_KEY_DEBUG D
152//#define MAGIC_KEY_DEBUG_MATRIX X
153//#define MAGIC_KEY_DEBUG_KBD K
154//#define MAGIC_KEY_DEBUG_MOUSE M
155//#define MAGIC_KEY_VERSION V
156//#define MAGIC_KEY_STATUS S
157//#define MAGIC_KEY_CONSOLE C
158//#define MAGIC_KEY_LAYER0 0
159//#define MAGIC_KEY_LAYER0_ALT GRAVE
160//#define MAGIC_KEY_LAYER1 1
161//#define MAGIC_KEY_LAYER2 2
162//#define MAGIC_KEY_LAYER3 3
163//#define MAGIC_KEY_LAYER4 4
164//#define MAGIC_KEY_LAYER5 5
165//#define MAGIC_KEY_LAYER6 6
166//#define MAGIC_KEY_LAYER7 7
167//#define MAGIC_KEY_LAYER8 8
168//#define MAGIC_KEY_LAYER9 9
169//#define MAGIC_KEY_BOOTLOADER B
170//#define MAGIC_KEY_BOOTLOADER_ALT ESC
171//#define MAGIC_KEY_LOCK CAPS
172//#define MAGIC_KEY_EEPROM E
173//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
174//#define MAGIC_KEY_NKRO N
175//#define MAGIC_KEY_SLEEP_LED Z
176
177/*
178 * Feature disable options
179 * These options are also useful to firmware size reduction.
180 */
181
182/* disable debug print */
183//#define NO_DEBUG
184
185/* disable print */
186//#define NO_PRINT
187
188/* disable action features */
189//#define NO_ACTION_LAYER
190//#define NO_ACTION_TAPPING
191//#define NO_ACTION_ONESHOT
192//#define NO_ACTION_MACRO
193//#define NO_ACTION_FUNCTION
194
195/*
196 * MIDI options
197 */
198
199/* Prevent use of disabled MIDI features in the keymap */
200//#define MIDI_ENABLE_STRICT 1
201
202/* enable basic MIDI features:
203 - MIDI notes can be sent when in Music mode is on
204*/
205//#define MIDI_BASIC
206
207/* enable advanced MIDI features:
208 - MIDI notes can be added to the keymap
209 - Octave shift and transpose
210 - Virtual sustain, portamento, and modulation wheel
211 - etc.
212*/
213//#define MIDI_ADVANCED
214
215/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
216//#define MIDI_TONE_KEYCODE_OCTAVES 1
217
218/* Bootmagic Lite key configuration */
219// #define BOOTMAGIC_LITE_ROW 0
220// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/evyd13/pockettype/info.json b/keyboards/evyd13/pockettype/info.json
new file mode 100644
index 000000000..d1999273f
--- /dev/null
+++ b/keyboards/evyd13/pockettype/info.json
@@ -0,0 +1,12 @@
1{
2 "keyboard_name": "PocketType",
3 "url": "https://mechboards.co.uk/shop/kits/pockettype/",
4 "maintainer": "evyd13",
5 "width": 12,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_ortho_4x12": {
9 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
10 }
11 }
12}
diff --git a/keyboards/evyd13/pockettype/keymaps/default/keymap.c b/keyboards/evyd13/pockettype/keymaps/default/keymap.c
new file mode 100644
index 000000000..5ca7326c0
--- /dev/null
+++ b/keyboards/evyd13/pockettype/keymaps/default/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22
23#define _MA 0 //Main layer
24#define _LO 1 //Low
25#define _HI 2 //High
26
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28[_MA] = LAYOUT_ortho_4x12(
29 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
30 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
31 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_RALT, MO(_LO), KC_SPC, KC_BSPC, MO(_HI), KC_LEFT, KC_DOWN, KC_UP, KC_MPLY),
33
34[_LO] = LAYOUT_ortho_4x12(
35 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
36 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
37 _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET),
39
40[_HI] = LAYOUT_ortho_4x12(
41 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______,
42 KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
45
46};
diff --git a/keyboards/evyd13/pockettype/keymaps/default/readme.md b/keyboards/evyd13/pockettype/keymaps/default/readme.md
new file mode 100644
index 000000000..281fa6485
--- /dev/null
+++ b/keyboards/evyd13/pockettype/keymaps/default/readme.md
@@ -0,0 +1 @@
This is the default keymap for the PocketType.
diff --git a/keyboards/evyd13/pockettype/pockettype.c b/keyboards/evyd13/pockettype/pockettype.c
new file mode 100644
index 000000000..7404ac82b
--- /dev/null
+++ b/keyboards/evyd13/pockettype/pockettype.c
@@ -0,0 +1,39 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "pockettype.h"
17
18void matrix_init_kb(void) {
19 led_init_ports();
20
21 matrix_init_user();
22};
23
24void led_init_ports(void) {
25 // * Set our LED pins as output and high
26 setPinOutput(F5);
27 writePinHigh(F5);
28
29 setPinOutput(F4);
30 writePinLow(F4);
31}
32
33bool led_update_kb(led_t led_state) {
34 if(led_update_user(led_state)) {
35 writePin(F5, !led_state.caps_lock);
36 }
37
38 return true;
39}
diff --git a/keyboards/evyd13/pockettype/pockettype.h b/keyboards/evyd13/pockettype/pockettype.h
new file mode 100644
index 000000000..8c103dcc8
--- /dev/null
+++ b/keyboards/evyd13/pockettype/pockettype.h
@@ -0,0 +1,40 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19
20/* This a shortcut to help you visually see your layout.
21 *
22 * The first section contains all of the arguments representing the physical
23 * layout of the board and position of the keys.
24 *
25 * The second converts the arguments into a two-dimensional array which
26 * represents the switch matrix.
27 */
28
29#define LAYOUT_ortho_4x12( \
30 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
31 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
32 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
33 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
34) \
35{ \
36 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
37 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
38 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
39 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \
40}
diff --git a/keyboards/evyd13/pockettype/readme.md b/keyboards/evyd13/pockettype/readme.md
new file mode 100644
index 000000000..c32568a80
--- /dev/null
+++ b/keyboards/evyd13/pockettype/readme.md
@@ -0,0 +1,13 @@
1# PocketType
2
3## Support
4* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
5* Hardware Supported: PocketType
6* Hardware Availability: [mechboards.co.uk](https://mechboards.co.uk/shop/kits/pockettype/)
7
8## Build
9Make example for this keyboard (after setting up your build environment):
10
11 make evyd13/pockettype:default
12
13See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/evyd13/pockettype/rules.mk b/keyboards/evyd13/pockettype/rules.mk
new file mode 100644
index 000000000..164bf9cef
--- /dev/null
+++ b/keyboards/evyd13/pockettype/rules.mk
@@ -0,0 +1,31 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = atmel-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28BLUETOOTH_ENABLE = no # Enable Bluetooth
29AUDIO_ENABLE = no # Audio output
30
31LAYOUTS = ortho_4x12
diff --git a/keyboards/evyd13/quackfire/config.h b/keyboards/evyd13/quackfire/config.h
new file mode 100644
index 000000000..22083e811
--- /dev/null
+++ b/keyboards/evyd13/quackfire/config.h
@@ -0,0 +1,147 @@
1/*
2Copyright 2020 Evy Dekkers
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4705
24#define PRODUCT_ID 0x87C9
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Evyd13
27#define PRODUCT Quackfire
28
29/* key matrix size */
30#define MATRIX_ROWS 8
31#define MATRIX_COLS 15
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS {D3,F5,F4,F0,B7,B2,E6,B0}
44#define MATRIX_COL_PINS {B3,F1,B1,D5,D2,D1,D0,D4,D6,D7,B4,B5,B6,C6,C7}
45#define UNUSED_PINS
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION ROW2COL
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55// #define BACKLIGHT_PIN B7
56// #define BACKLIGHT_BREATHING
57// #define BACKLIGHT_LEVELS 5
58
59// #define RGB_DI_PIN E2
60// #ifdef RGB_DI_PIN
61// #define RGBLED_NUM 16
62// #define RGBLIGHT_HUE_STEP 8
63// #define RGBLIGHT_SAT_STEP 8
64// #define RGBLIGHT_VAL_STEP 8
65// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67// /*== all animations enable ==*/
68// #define RGBLIGHT_ANIMATIONS
69// /*== or choose animations ==*/
70// #define RGBLIGHT_EFFECT_BREATHING
71// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
72// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73// #define RGBLIGHT_EFFECT_SNAKE
74// #define RGBLIGHT_EFFECT_KNIGHT
75// #define RGBLIGHT_EFFECT_CHRISTMAS
76// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
77// #define RGBLIGHT_EFFECT_RGB_TEST
78// #define RGBLIGHT_EFFECT_ALTERNATING
79// /*== customize breathing effect ==*/
80// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82// /*==== use exp() and sin() ====*/
83// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85// #endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
89
90/* define if matrix has ghost (lacks anti-ghosting diodes) */
91//#define MATRIX_HAS_GHOST
92
93/* number of backlight levels */
94
95/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
96#define LOCKING_SUPPORT_ENABLE
97/* Locking resynchronize hack */
98#define LOCKING_RESYNC_ENABLE
99
100/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
101 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
102 */
103// #define GRAVE_ESC_CTRL_OVERRIDE
104
105/*
106 * Force NKRO
107 *
108 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
109 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
110 * makefile for this to work.)
111 *
112 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
113 * until the next keyboard reset.
114 *
115 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
116 * fully operational during normal computer usage.
117 *
118 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
119 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
120 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
121 * power-up.
122 *
123 */
124//#define FORCE_NKRO
125/*
126 * Feature disable options
127 * These options are also useful to firmware size reduction.
128 */
129
130/* disable debug print */
131//#define NO_DEBUG
132
133/* disable print */
134//#define NO_PRINT
135
136/* disable action features */
137//#define NO_ACTION_LAYER
138//#define NO_ACTION_TAPPING
139//#define NO_ACTION_ONESHOT
140//#define NO_ACTION_MACRO
141//#define NO_ACTION_FUNCTION
142
143/* Bootmagic Lite key configuration */
144#define BOOTMAGIC_LITE_ROW 6
145#define BOOTMAGIC_LITE_COLUMN 5
146
147#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/evyd13/quackfire/info.json b/keyboards/evyd13/quackfire/info.json
new file mode 100644
index 000000000..de7c9384c
--- /dev/null
+++ b/keyboards/evyd13/quackfire/info.json
@@ -0,0 +1,212 @@
1{
2 "keyboard_name": "Quackfire",
3 "url": "https://github.com/evyd13/quackfire-controller",
4 "maintainer": "evyd13",
5 "width": 18.5,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT_tkl_ansi": {
9 "layout": [
10 {"label":"Esc", "x":0, "y":0},
11 {"label":"F1", "x":2, "y":0},
12 {"label":"F2", "x":3, "y":0},
13 {"label":"F3", "x":4, "y":0},
14 {"label":"F4", "x":5, "y":0},
15 {"label":"F5", "x":6.5, "y":0},
16 {"label":"F6", "x":7.5, "y":0},
17 {"label":"F7", "x":8.5, "y":0},
18 {"label":"F8", "x":9.5, "y":0},
19 {"label":"F9", "x":11, "y":0},
20 {"label":"F10", "x":12, "y":0},
21 {"label":"F11", "x":13, "y":0},
22 {"label":"F12", "x":14, "y":0},
23
24 {"label":"PrtSc", "x":15.25, "y":0},
25 {"label":"Scroll Lock", "x":16.25, "y":0},
26 {"label":"Pause", "x":17.25, "y":0},
27
28 {"label":"~", "x":0, "y":1.5},
29 {"label":"1", "x":1, "y":1.5},
30 {"label":"2", "x":2, "y":1.5},
31 {"label":"3", "x":3, "y":1.5},
32 {"label":"4", "x":4, "y":1.5},
33 {"label":"5", "x":5, "y":1.5},
34 {"label":"6", "x":6, "y":1.5},
35 {"label":"7", "x":7, "y":1.5},
36 {"label":"8", "x":8, "y":1.5},
37 {"label":"9", "x":9, "y":1.5},
38 {"label":"0", "x":10, "y":1.5},
39 {"label":"_", "x":11, "y":1.5},
40 {"label":"+", "x":12, "y":1.5},
41 {"label":"Backspace", "x":13, "y":1.5, "w":2},
42
43 {"label":"Insert", "x":15.25, "y":1.5},
44 {"label":"Home", "x":16.25, "y":1.5},
45 {"label":"Page Up", "x":17.25, "y":1.5},
46
47 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
48 {"label":"Q", "x":1.5, "y":2.5},
49 {"label":"W", "x":2.5, "y":2.5},
50 {"label":"E", "x":3.5, "y":2.5},
51 {"label":"R", "x":4.5, "y":2.5},
52 {"label":"T", "x":5.5, "y":2.5},
53 {"label":"Y", "x":6.5, "y":2.5},
54 {"label":"U", "x":7.5, "y":2.5},
55 {"label":"I", "x":8.5, "y":2.5},
56 {"label":"O", "x":9.5, "y":2.5},
57 {"label":"P", "x":10.5, "y":2.5},
58 {"label":"{", "x":11.5, "y":2.5},
59 {"label":"}", "x":12.5, "y":2.5},
60 {"label":"|", "x":13.5, "y":2.5, "w":1.5},
61
62 {"label":"Delete", "x":15.25, "y":2.5},
63 {"label":"End", "x":16.25, "y":2.5},
64 {"label":"PgDn", "x":17.25, "y":2.5},
65
66 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
67 {"label":"A", "x":1.75, "y":3.5},
68 {"label":"S", "x":2.75, "y":3.5},
69 {"label":"D", "x":3.75, "y":3.5},
70 {"label":"F", "x":4.75, "y":3.5},
71 {"label":"G", "x":5.75, "y":3.5},
72 {"label":"H", "x":6.75, "y":3.5},
73 {"label":"J", "x":7.75, "y":3.5},
74 {"label":"K", "x":8.75, "y":3.5},
75 {"label":"L", "x":9.75, "y":3.5},
76 {"label":":", "x":10.75, "y":3.5},
77 {"label":"\"", "x":11.75, "y":3.5},
78 {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
79
80 {"label":"Shift", "x":0, "y":4.5, "w":2.25},
81 {"label":"Z", "x":2.25, "y":4.5},
82 {"label":"X", "x":3.25, "y":4.5},
83 {"label":"C", "x":4.25, "y":4.5},
84 {"label":"V", "x":5.25, "y":4.5},
85 {"label":"B", "x":6.25, "y":4.5},
86 {"label":"N", "x":7.25, "y":4.5},
87 {"label":"M", "x":8.25, "y":4.5},
88 {"label":"<", "x":9.25, "y":4.5},
89 {"label":">", "x":10.25, "y":4.5},
90 {"label":"?", "x":11.25, "y":4.5},
91 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
92
93 {"label":"\u2191", "x":16.25, "y":4.5},
94
95 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
96 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
97 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
98 {"x":3.75, "y":5.5, "w":6.25},
99 {"label":"Alt", "x":10, "y":5.5, "w":1.25},
100 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
101 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
102 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
103
104 {"label":"\u2190", "x":15.25, "y":5.5},
105 {"label":"\u2193", "x":16.25, "y":5.5},
106 {"label":"\u2192", "x":17.25, "y":5.5}
107 ]
108 },
109 "LAYOUT_tkl_iso": {
110 "layout": [
111 {"label":"Esc", "x":0, "y":0},
112 {"label":"F1", "x":2, "y":0},
113 {"label":"F2", "x":3, "y":0},
114 {"label":"F3", "x":4, "y":0},
115 {"label":"F4", "x":5, "y":0},
116 {"label":"F5", "x":6.5, "y":0},
117 {"label":"F6", "x":7.5, "y":0},
118 {"label":"F7", "x":8.5, "y":0},
119 {"label":"F8", "x":9.5, "y":0},
120 {"label":"F9", "x":11, "y":0},
121 {"label":"F10", "x":12, "y":0},
122 {"label":"F11", "x":13, "y":0},
123 {"label":"F12", "x":14, "y":0},
124
125 {"label":"PrtSc", "x":15.25, "y":0},
126 {"label":"Scroll Lock", "x":16.25, "y":0},
127 {"label":"Pause", "x":17.25, "y":0},
128
129 {"label":"\u00ac", "x":0, "y":1.5},
130 {"label":"!", "x":1, "y":1.5},
131 {"label":"\"", "x":2, "y":1.5},
132 {"label":"\u00a3", "x":3, "y":1.5},
133 {"label":"$", "x":4, "y":1.5},
134 {"label":"%", "x":5, "y":1.5},
135 {"label":"^", "x":6, "y":1.5},
136 {"label":"&", "x":7, "y":1.5},
137 {"label":"*", "x":8, "y":1.5},
138 {"label":"(", "x":9, "y":1.5},
139 {"label":")", "x":10, "y":1.5},
140 {"label":"_", "x":11, "y":1.5},
141 {"label":"+", "x":12, "y":1.5},
142 {"label":"Backspace", "x":13, "y":1.5, "w":2},
143
144 {"label":"Insert", "x":15.25, "y":1.5},
145 {"label":"Home", "x":16.25, "y":1.5},
146 {"label":"PgUp", "x":17.25, "y":1.5},
147
148 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
149 {"label":"Q", "x":1.5, "y":2.5},
150 {"label":"W", "x":2.5, "y":2.5},
151 {"label":"E", "x":3.5, "y":2.5},
152 {"label":"R", "x":4.5, "y":2.5},
153 {"label":"T", "x":5.5, "y":2.5},
154 {"label":"Y", "x":6.5, "y":2.5},
155 {"label":"U", "x":7.5, "y":2.5},
156 {"label":"I", "x":8.5, "y":2.5},
157 {"label":"O", "x":9.5, "y":2.5},
158 {"label":"P", "x":10.5, "y":2.5},
159 {"label":"{", "x":11.5, "y":2.5},
160 {"label":"}", "x":12.5, "y":2.5},
161
162 {"label":"Delete", "x":15.25, "y":2.5},
163 {"label":"End", "x":16.25, "y":2.5},
164 {"label":"PgDn", "x":17.25, "y":2.5},
165
166 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
167 {"label":"A", "x":1.75, "y":3.5},
168 {"label":"S", "x":2.75, "y":3.5},
169 {"label":"D", "x":3.75, "y":3.5},
170 {"label":"F", "x":4.75, "y":3.5},
171 {"label":"G", "x":5.75, "y":3.5},
172 {"label":"H", "x":6.75, "y":3.5},
173 {"label":"J", "x":7.75, "y":3.5},
174 {"label":"K", "x":8.75, "y":3.5},
175 {"label":"L", "x":9.75, "y":3.5},
176 {"label":":", "x":10.75, "y":3.5},
177 {"label":"@", "x":11.75, "y":3.5},
178 {"label":"~", "x":12.75, "y":3.5},
179 {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
180
181 {"label":"Shift", "x":0, "y":4.5, "w":1.25},
182 {"label":"|", "x":1.25, "y":4.5},
183 {"label":"Z", "x":2.25, "y":4.5},
184 {"label":"X", "x":3.25, "y":4.5},
185 {"label":"C", "x":4.25, "y":4.5},
186 {"label":"V", "x":5.25, "y":4.5},
187 {"label":"B", "x":6.25, "y":4.5},
188 {"label":"N", "x":7.25, "y":4.5},
189 {"label":"M", "x":8.25, "y":4.5},
190 {"label":"<", "x":9.25, "y":4.5},
191 {"label":">", "x":10.25, "y":4.5},
192 {"label":"?", "x":11.25, "y":4.5},
193 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
194
195 {"label":"\u2191", "x":16.25, "y":4.5},
196
197 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
198 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
199 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
200 {"x":3.75, "y":5.5, "w":6.25},
201 {"label":"AltGr", "x":10, "y":5.5, "w":1.25},
202 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
203 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
204 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
205
206 {"label":"\u2190", "x":15.25, "y":5.5},
207 {"label":"\u2193", "x":16.25, "y":5.5},
208 {"label":"\u2192", "x":17.25, "y":5.5}
209 ]
210 }
211 }
212}
diff --git a/keyboards/evyd13/quackfire/keymaps/default/keymap.c b/keyboards/evyd13/quackfire/keymaps/default/keymap.c
new file mode 100644
index 000000000..79b0a7ebd
--- /dev/null
+++ b/keyboards/evyd13/quackfire/keymaps/default/keymap.c
@@ -0,0 +1,53 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /*
20 * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
21 * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│
22 * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
23 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
24 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│
25 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
26 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│End│PgD│
27 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
28 * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │  Enter │
29 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐
30 * │ Shift  │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │
31 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐
32 * │Ctrl│GUI │Alt │                        │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │
33 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
34 */
35 LAYOUT_tkl_ansi(
36 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
37
38 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
39 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
40 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
41 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_UP,
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
43 ),
44 LAYOUT_tkl_ansi(
45 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE,
46
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
51 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
52 )
53};
diff --git a/keyboards/evyd13/quackfire/keymaps/via/keymap.c b/keyboards/evyd13/quackfire/keymaps/via/keymap.c
new file mode 100644
index 000000000..623e8fdc2
--- /dev/null
+++ b/keyboards/evyd13/quackfire/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_all(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
21
22 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,
24 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
25 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
27 ),
28 [1] = LAYOUT_all(
29 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE,
30
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
36 ),
37 [2] = LAYOUT_all(
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
45 )
46};
diff --git a/keyboards/evyd13/quackfire/keymaps/via/rules.mk b/keyboards/evyd13/quackfire/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/quackfire/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/quackfire/quackfire.c b/keyboards/evyd13/quackfire/quackfire.c
new file mode 100644
index 000000000..ab233bd6d
--- /dev/null
+++ b/keyboards/evyd13/quackfire/quackfire.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "quackfire.h"
17
18// Optional override functions below.
19// You can leave any or all of these undefined.
20// These are only required if you want to perform custom actions.
21
22void matrix_init_kb(void) {
23 // put your keyboard start-up code here
24 // runs once when the firmware starts up
25
26 matrix_init_user();
27 led_init_ports();
28}
29
30void led_init_ports(void) {
31 setPinOutput(F6);
32 setPinOutput(F7);
33 writePinHigh(F6);
34 writePinHigh(F7);
35}
36
37bool led_update_kb(led_t led_state) {
38 if(led_update_user(led_state)) {
39 writePin(F7, !led_state.caps_lock);
40 writePin(F6, !led_state.scroll_lock);
41 }
42
43 return true;
44}
diff --git a/keyboards/evyd13/quackfire/quackfire.h b/keyboards/evyd13/quackfire/quackfire.h
new file mode 100644
index 000000000..8746f356f
--- /dev/null
+++ b/keyboards/evyd13/quackfire/quackfire.h
@@ -0,0 +1,69 @@
1/* Copyright 2020 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19
20#define XXX KC_NO
21
22/* This is a shortcut to help you visually see your layout.
23 *
24 * The first section contains all of the arguments representing the physical
25 * layout of the board and position of the keys.
26 *
27 * The second converts the arguments into a two-dimensional array which
28 * represents the switch matrix.
29 */
30
31#define LAYOUT_all LAYOUT_tkl_iso
32
33#define LAYOUT_tkl_ansi( \
34 k3e, k0d, k0b, k4b, k3b, k21, k36, k45, k05, k03, k23, k33, k63, k28, k18, k11, \
35 k0e, k2e, k2d, k2b, k29, k09, k07, k27, k26, k25, k24, k04, k06, k43, k02, k0a, k0c, \
36 k4e, k1e, k1d, k1b, k19, k49, k47, k17, k16, k15, k14, k44, k46, k73, k00, k2a, k2c, \
37 k4d, k7e, k7d, k7b, k79, k39, k37, k77, k76, k75, k74, k34, k53, \
38 k4c, k5e, k5d, k5b, k59, k69, k67, k57, k56, k55, k64, k7c, k3a, \
39 k01, k4a, k38, k30, k68, k71, k65, k51, k6a, k60, k62 \
40) \
41{ \
42 { k00, k01, k02, k03, k04, k05, k06, k07, XXX, k09, k0a, k0b, k0c, k0d, k0e }, \
43 { XXX, k11, XXX, XXX, k14, k15, k16, k17, k18, k19, XXX, k1b, XXX, k1d, k1e }, \
44 { XXX, k21, XXX, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \
45 { k30, XXX, XXX, k33, k34, XXX, k36, k37, k38, k39, k3a, k3b, XXX, XXX, k3e }, \
46 { XXX, XXX, XXX, k43, k44, k45, k46, k47, XXX, k49, k4a, k4b, k4c, k4d, k4e }, \
47 { XXX, k51, XXX, k53, XXX, k55, k56, k57, XXX, k59, XXX, k5b, XXX, k5d, k5e }, \
48 { k60, XXX, k62, k63, k64, k65, XXX, k67, k68, k69, k6a, XXX, XXX, XXX, XXX }, \
49 { XXX, k71, XXX, k73, k74, k75, k76, k77, XXX, k79, XXX, k7b, k7c, k7d, k7e } \
50}
51
52#define LAYOUT_tkl_iso( \
53 k3e, k0d, k0b, k4b, k3b, k21, k36, k45, k05, k03, k23, k33, k63, k28, k18, k11, \
54 k0e, k2e, k2d, k2b, k29, k09, k07, k27, k26, k25, k24, k04, k06, k43, k02, k0a, k0c, \
55 k4e, k1e, k1d, k1b, k19, k49, k47, k17, k16, k15, k14, k44, k46, k00, k2a, k2c, \
56 k4d, k7e, k7d, k7b, k79, k39, k37, k77, k76, k75, k74, k34, k73, k53, \
57 k4c, k3d, k5e, k5d, k5b, k59, k69, k67, k57, k56, k55, k64, k7c, k3a, \
58 k01, k4a, k38, k30, k68, k71, k65, k51, k6a, k60, k62 \
59) \
60{ \
61 { k00, k01, k02, k03, k04, k05, k06, k07, XXX, k09, k0a, k0b, k0c, k0d, k0e }, \
62 { XXX, k11, XXX, XXX, k14, k15, k16, k17, k18, k19, XXX, k1b, XXX, k1d, k1e }, \
63 { XXX, k21, XXX, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \
64 { k30, XXX, XXX, k33, k34, XXX, k36, k37, k38, k39, k3a, k3b, XXX, k3d, k3e }, \
65 { XXX, XXX, XXX, k43, k44, k45, k46, k47, XXX, k49, k4a, k4b, k4c, k4d, k4e }, \
66 { XXX, k51, XXX, k53, XXX, k55, k56, k57, XXX, k59, XXX, k5b, XXX, k5d, k5e }, \
67 { k60, XXX, k62, k63, k64, k65, XXX, k67, k68, k69, k6a, XXX, XXX, XXX, XXX }, \
68 { XXX, k71, XXX, k73, k74, k75, k76, k77, XXX, k79, XXX, k7b, k7c, k7d, k7e } \
69}
diff --git a/keyboards/evyd13/quackfire/readme.md b/keyboards/evyd13/quackfire/readme.md
new file mode 100644
index 000000000..384416962
--- /dev/null
+++ b/keyboards/evyd13/quackfire/readme.md
@@ -0,0 +1,19 @@
1# Quackfire
2
3A drop-in replacement controller for the CM Quickfire Rapid. Not for the Quickfire Rapid-I!
4
5* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
6* Hardware Supported: Quackfire controller
7* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/quackfire-controller)
8
9## Flashing
10
11To get to the bootloader, hold Fn while plugging in the keyboard. You can also press Fn + Esc on the default layout.
12
13---
14
15Make example for this keyboard (after setting up your build environment):
16
17 make evyd13/quackfire:default
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/evyd13/quackfire/rules.mk b/keyboards/evyd13/quackfire/rules.mk
new file mode 100644
index 000000000..f29136f74
--- /dev/null
+++ b/keyboards/evyd13/quackfire/rules.mk
@@ -0,0 +1,24 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = qmk-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23
24LAYOUTS = tkl_ansi tkl_iso
diff --git a/keyboards/evyd13/solheim68/config.h b/keyboards/evyd13/solheim68/config.h
new file mode 100644
index 000000000..d61e095f1
--- /dev/null
+++ b/keyboards/evyd13/solheim68/config.h
@@ -0,0 +1,143 @@
1/* Copyright 2020 Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4705
23#define PRODUCT_ID 0x7BFF
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Evyd13
26#define PRODUCT Solheim68
27
28/* key matrix size */
29#define MATRIX_ROWS 5
30#define MATRIX_COLS 16
31
32/*
33 * Keyboard Matrix Assignments
34 *
35 * Change this to how you wired your keyboard
36 * COLS: AVR pins used for columns, left to right
37 * ROWS: AVR pins used for rows, top to bottom
38 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
39 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
40 *
41*/
42#define MATRIX_ROW_PINS {E6,B0,B1,B2,B3}
43#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,C7,C6,B6,B5,B4,D7,D6,D4,D5,D3}
44#define UNUSED_PINS {B7,D0,D1,D2}
45
46/* COL2ROW, ROW2COL*/
47#define DIODE_DIRECTION COL2ROW
48
49/*
50 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
51 */
52// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
53
54// #define BACKLIGHT_PIN B7
55// #define BACKLIGHT_BREATHING
56// #define BACKLIGHT_LEVELS 3
57
58// #define RGB_DI_PIN E2
59// #ifdef RGB_DI_PIN
60// #define RGBLED_NUM 16
61// #define RGBLIGHT_HUE_STEP 8
62// #define RGBLIGHT_SAT_STEP 8
63// #define RGBLIGHT_VAL_STEP 8
64// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
65// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
66// /*== all animations enable ==*/
67// #define RGBLIGHT_ANIMATIONS
68// /*== or choose animations ==*/
69// #define RGBLIGHT_EFFECT_BREATHING
70// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
71// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
72// #define RGBLIGHT_EFFECT_SNAKE
73// #define RGBLIGHT_EFFECT_KNIGHT
74// #define RGBLIGHT_EFFECT_CHRISTMAS
75// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
76// #define RGBLIGHT_EFFECT_RGB_TEST
77// #define RGBLIGHT_EFFECT_ALTERNATING
78// /*== customize breathing effect ==*/
79// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
80// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
81// /*==== use exp() and sin() ====*/
82// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
83// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
84// #endif
85
86/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
87#define DEBOUNCE 5
88
89/* define if matrix has ghost (lacks anti-ghosting diodes) */
90//#define MATRIX_HAS_GHOST
91
92/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
93#define LOCKING_SUPPORT_ENABLE
94/* Locking resynchronize hack */
95#define LOCKING_RESYNC_ENABLE
96
97/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
98 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
99 */
100// #define GRAVE_ESC_CTRL_OVERRIDE
101
102/*
103 * Force NKRO
104 *
105 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
106 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
107 * makefile for this to work.)
108 *
109 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
110 * until the next keyboard reset.
111 *
112 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
113 * fully operational during normal computer usage.
114 *
115 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
116 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
117 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
118 * power-up.
119 *
120 */
121//#define FORCE_NKRO
122
123/*
124 * Feature disable options
125 * These options are also useful to firmware size reduction.
126 */
127
128/* disable debug print */
129//#define NO_DEBUG
130
131/* disable print */
132//#define NO_PRINT
133
134/* disable action features */
135//#define NO_ACTION_LAYER
136//#define NO_ACTION_TAPPING
137//#define NO_ACTION_ONESHOT
138//#define NO_ACTION_MACRO
139//#define NO_ACTION_FUNCTION
140
141/* Bootmagic Lite key configuration */
142// #define BOOTMAGIC_LITE_ROW 0
143// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/evyd13/solheim68/info.json b/keyboards/evyd13/solheim68/info.json
new file mode 100644
index 000000000..dbafbc0d4
--- /dev/null
+++ b/keyboards/evyd13/solheim68/info.json
@@ -0,0 +1,397 @@
1{
2 "keyboard_name": "Solheim68",
3 "url": "https://github.com/evyd13/solheim68",
4 "maintainer": "evyd13",
5 "width": 17.25,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22 {"x":12, "y":0},
23 {"x":13, "y":0},
24 {"x":14, "y":0},
25 {"x":15.25, "y":0},
26 {"x":16.25, "y":0},
27
28 {"x":0, "y":1, "w":1.5},
29 {"x":1.5, "y":1},
30 {"x":2.5, "y":1},
31 {"x":3.5, "y":1},
32 {"x":4.5, "y":1},
33 {"x":5.5, "y":1},
34 {"x":6.5, "y":1},
35 {"x":7.5, "y":1},
36 {"x":8.5, "y":1},
37 {"x":9.5, "y":1},
38 {"x":10.5, "y":1},
39 {"x":11.5, "y":1},
40 {"x":12.5, "y":1},
41 {"x":13.5, "y":1, "w":1.5},
42 {"x":15.25, "y":1},
43 {"x":16.25, "y":1},
44
45 {"x":0, "y":2, "w":1.75},
46 {"x":1.75, "y":2},
47 {"x":2.75, "y":2},
48 {"x":3.75, "y":2},
49 {"x":4.75, "y":2},
50 {"x":5.75, "y":2},
51 {"x":6.75, "y":2},
52 {"x":7.75, "y":2},
53 {"x":8.75, "y":2},
54 {"x":9.75, "y":2},
55 {"x":10.75, "y":2},
56 {"x":11.75, "y":2},
57 {"x":12.75, "y":2},
58 {"x":13.75, "y":2, "w":1.25},
59
60 {"x":0, "y":3, "w":1.25},
61 {"x":1.25, "y":3},
62 {"x":2.25, "y":3},
63 {"x":3.25, "y":3},
64 {"x":4.25, "y":3},
65 {"x":5.25, "y":3},
66 {"x":6.25, "y":3},
67 {"x":7.25, "y":3},
68 {"x":8.25, "y":3},
69 {"x":9.25, "y":3},
70 {"x":10.25, "y":3},
71 {"x":11.25, "y":3},
72 {"x":12.25, "y":3, "w":1.75},
73 {"x":14, "y":3},
74 {"x":15.25, "y":3},
75
76 {"x":0, "y":4, "w":1.25},
77 {"x":1.25, "y":4, "w":1.25},
78 {"x":2.5, "y":4, "w":1.25},
79 {"x":3.75, "y":4, "w":6.25},
80 {"x":10, "y":4, "w":1.25},
81 {"x":11.25, "y":4, "w":1.25},
82 {"x":12.5, "y":4, "w":1.25},
83 {"x":14.25, "y":4},
84 {"x":15.25, "y":4},
85 {"x":16.25, "y":4}
86 ]
87 },
88 "LAYOUT_68_ansi": {
89 "layout": [
90 {"x":0, "y":0},
91 {"x":1, "y":0},
92 {"x":2, "y":0},
93 {"x":3, "y":0},
94 {"x":4, "y":0},
95 {"x":5, "y":0},
96 {"x":6, "y":0},
97 {"x":7, "y":0},
98 {"x":8, "y":0},
99 {"x":9, "y":0},
100 {"x":10, "y":0},
101 {"x":11, "y":0},
102 {"x":12, "y":0},
103 {"x":13, "y":0, "w":2},
104 {"x":15.25, "y":0},
105 {"x":16.25, "y":0},
106
107 {"x":0, "y":1, "w":1.5},
108 {"x":1.5, "y":1},
109 {"x":2.5, "y":1},
110 {"x":3.5, "y":1},
111 {"x":4.5, "y":1},
112 {"x":5.5, "y":1},
113 {"x":6.5, "y":1},
114 {"x":7.5, "y":1},
115 {"x":8.5, "y":1},
116 {"x":9.5, "y":1},
117 {"x":10.5, "y":1},
118 {"x":11.5, "y":1},
119 {"x":12.5, "y":1},
120 {"x":13.5, "y":1, "w":1.5},
121 {"x":15.25, "y":1},
122 {"x":16.25, "y":1},
123
124 {"x":0, "y":2, "w":1.75},
125 {"x":1.75, "y":2},
126 {"x":2.75, "y":2},
127 {"x":3.75, "y":2},
128 {"x":4.75, "y":2},
129 {"x":5.75, "y":2},
130 {"x":6.75, "y":2},
131 {"x":7.75, "y":2},
132 {"x":8.75, "y":2},
133 {"x":9.75, "y":2},
134 {"x":10.75, "y":2},
135 {"x":11.75, "y":2},
136 {"x":12.75, "y":2, "w":2.25},
137
138 {"x":0, "y":3, "w":2.25},
139 {"x":2.25, "y":3},
140 {"x":3.25, "y":3},
141 {"x":4.25, "y":3},
142 {"x":5.25, "y":3},
143 {"x":6.25, "y":3},
144 {"x":7.25, "y":3},
145 {"x":8.25, "y":3},
146 {"x":9.25, "y":3},
147 {"x":10.25, "y":3},
148 {"x":11.25, "y":3},
149 {"x":12.25, "y":3, "w":2.75},
150 {"x":15.25, "y":3},
151
152 {"x":0, "y":4, "w":1.25},
153 {"x":1.25, "y":4, "w":1.25},
154 {"x":2.5, "y":4, "w":1.25},
155 {"x":3.75, "y":4, "w":6.25},
156 {"x":10, "y":4, "w":1.25},
157 {"x":11.25, "y":4, "w":1.25},
158 {"x":12.5, "y":4, "w":1.25},
159 {"x":14.25, "y":4},
160 {"x":15.25, "y":4},
161 {"x":16.25, "y":4}
162 ]
163 },
164 "LAYOUT_68_iso": {
165 "layout": [
166 {"x":0, "y":0},
167 {"x":1, "y":0},
168 {"x":2, "y":0},
169 {"x":3, "y":0},
170 {"x":4, "y":0},
171 {"x":5, "y":0},
172 {"x":6, "y":0},
173 {"x":7, "y":0},
174 {"x":8, "y":0},
175 {"x":9, "y":0},
176 {"x":10, "y":0},
177 {"x":11, "y":0},
178 {"x":12, "y":0},
179 {"x":13, "y":0, "w":2},
180 {"x":15.25, "y":0},
181 {"x":16.25, "y":0},
182
183 {"x":0, "y":1, "w":1.5},
184 {"x":1.5, "y":1},
185 {"x":2.5, "y":1},
186 {"x":3.5, "y":1},
187 {"x":4.5, "y":1},
188 {"x":5.5, "y":1},
189 {"x":6.5, "y":1},
190 {"x":7.5, "y":1},
191 {"x":8.5, "y":1},
192 {"x":9.5, "y":1},
193 {"x":10.5, "y":1},
194 {"x":11.5, "y":1},
195 {"x":12.5, "y":1},
196 {"x":15.25, "y":1},
197 {"x":16.25, "y":1},
198
199 {"x":0, "y":2, "w":1.75},
200 {"x":1.75, "y":2},
201 {"x":2.75, "y":2},
202 {"x":3.75, "y":2},
203 {"x":4.75, "y":2},
204 {"x":5.75, "y":2},
205 {"x":6.75, "y":2},
206 {"x":7.75, "y":2},
207 {"x":8.75, "y":2},
208 {"x":9.75, "y":2},
209 {"x":10.75, "y":2},
210 {"x":11.75, "y":2},
211 {"x":12.75, "y":2},
212 {"x":13.75, "y":1, "w":1.25, "h":2},
213
214 {"x":0, "y":3, "w":1.25},
215 {"x":1.25, "y":3},
216 {"x":2.25, "y":3},
217 {"x":3.25, "y":3},
218 {"x":4.25, "y":3},
219 {"x":5.25, "y":3},
220 {"x":6.25, "y":3},
221 {"x":7.25, "y":3},
222 {"x":8.25, "y":3},
223 {"x":9.25, "y":3},
224 {"x":10.25, "y":3},
225 {"x":11.25, "y":3},
226 {"x":12.25, "y":3, "w":2.75},
227 {"x":15.25, "y":3},
228
229 {"x":0, "y":4, "w":1.25},
230 {"x":1.25, "y":4, "w":1.25},
231 {"x":2.5, "y":4, "w":1.25},
232 {"x":3.75, "y":4, "w":6.25},
233 {"x":10, "y":4, "w":1.25},
234 {"x":11.25, "y":4, "w":1.25},
235 {"x":12.5, "y":4, "w":1.25},
236 {"x":14.25, "y":4},
237 {"x":15.25, "y":4},
238 {"x":16.25, "y":4}
239 ]
240 },
241 "LAYOUT_68_ansi_split_rshift": {
242 "layout": [
243 {"x":0, "y":0},
244 {"x":1, "y":0},
245 {"x":2, "y":0},
246 {"x":3, "y":0},
247 {"x":4, "y":0},
248 {"x":5, "y":0},
249 {"x":6, "y":0},
250 {"x":7, "y":0},
251 {"x":8, "y":0},
252 {"x":9, "y":0},
253 {"x":10, "y":0},
254 {"x":11, "y":0},
255 {"x":12, "y":0},
256 {"x":13, "y":0, "w":2},
257 {"x":15.25, "y":0},
258 {"x":16.25, "y":0},
259
260 {"x":0, "y":1, "w":1.5},
261 {"x":1.5, "y":1},
262 {"x":2.5, "y":1},
263 {"x":3.5, "y":1},
264 {"x":4.5, "y":1},
265 {"x":5.5, "y":1},
266 {"x":6.5, "y":1},
267 {"x":7.5, "y":1},
268 {"x":8.5, "y":1},
269 {"x":9.5, "y":1},
270 {"x":10.5, "y":1},
271 {"x":11.5, "y":1},
272 {"x":12.5, "y":1},
273 {"x":13.5, "y":1, "w":1.5},
274 {"x":15.25, "y":1},
275 {"x":16.25, "y":1},
276
277 {"x":0, "y":2, "w":1.75},
278 {"x":1.75, "y":2},
279 {"x":2.75, "y":2},
280 {"x":3.75, "y":2},
281 {"x":4.75, "y":2},
282 {"x":5.75, "y":2},
283 {"x":6.75, "y":2},
284 {"x":7.75, "y":2},
285 {"x":8.75, "y":2},
286 {"x":9.75, "y":2},
287 {"x":10.75, "y":2},
288 {"x":11.75, "y":2},
289 {"x":12.75, "y":2, "w":2.25},
290
291 {"x":0, "y":3, "w":2.25},
292 {"x":2.25, "y":3},
293 {"x":3.25, "y":3},
294 {"x":4.25, "y":3},
295 {"x":5.25, "y":3},
296 {"x":6.25, "y":3},
297 {"x":7.25, "y":3},
298 {"x":8.25, "y":3},
299 {"x":9.25, "y":3},
300 {"x":10.25, "y":3},
301 {"x":11.25, "y":3},
302 {"x":12.25, "y":3, "w":1.75},
303 {"x":14, "y":3},
304 {"x":15.25, "y":3},
305
306 {"x":0, "y":4, "w":1.25},
307 {"x":1.25, "y":4, "w":1.25},
308 {"x":2.5, "y":4, "w":1.25},
309 {"x":3.75, "y":4, "w":6.25},
310 {"x":10, "y":4, "w":1.25},
311 {"x":11.25, "y":4, "w":1.25},
312 {"x":12.5, "y":4, "w":1.25},
313 {"x":14.25, "y":4},
314 {"x":15.25, "y":4},
315 {"x":16.25, "y":4}
316 ]
317 },
318 "LAYOUT_68_iso_split_rshift": {
319 "layout": [
320 {"x":0, "y":0},
321 {"x":1, "y":0},
322 {"x":2, "y":0},
323 {"x":3, "y":0},
324 {"x":4, "y":0},
325 {"x":5, "y":0},
326 {"x":6, "y":0},
327 {"x":7, "y":0},
328 {"x":8, "y":0},
329 {"x":9, "y":0},
330 {"x":10, "y":0},
331 {"x":11, "y":0},
332 {"x":12, "y":0},
333 {"x":13, "y":0, "w":2},
334 {"x":15.25, "y":0},
335 {"x":16.25, "y":0},
336
337 {"x":0, "y":1, "w":1.5},
338 {"x":1.5, "y":1},
339 {"x":2.5, "y":1},
340 {"x":3.5, "y":1},
341 {"x":4.5, "y":1},
342 {"x":5.5, "y":1},
343 {"x":6.5, "y":1},
344 {"x":7.5, "y":1},
345 {"x":8.5, "y":1},
346 {"x":9.5, "y":1},
347 {"x":10.5, "y":1},
348 {"x":11.5, "y":1},
349 {"x":12.5, "y":1},
350 {"x":15.25, "y":1},
351 {"x":16.25, "y":1},
352
353 {"x":0, "y":2, "w":1.75},
354 {"x":1.75, "y":2},
355 {"x":2.75, "y":2},
356 {"x":3.75, "y":2},
357 {"x":4.75, "y":2},
358 {"x":5.75, "y":2},
359 {"x":6.75, "y":2},
360 {"x":7.75, "y":2},
361 {"x":8.75, "y":2},
362 {"x":9.75, "y":2},
363 {"x":10.75, "y":2},
364 {"x":11.75, "y":2},
365 {"x":12.75, "y":2},
366 {"x":13.75, "y":1, "w":1.25, "h":2},
367
368 {"x":0, "y":3, "w":1.25},
369 {"x":1.25, "y":3},
370 {"x":2.25, "y":3},
371 {"x":3.25, "y":3},
372 {"x":4.25, "y":3},
373 {"x":5.25, "y":3},
374 {"x":6.25, "y":3},
375 {"x":7.25, "y":3},
376 {"x":8.25, "y":3},
377 {"x":9.25, "y":3},
378 {"x":10.25, "y":3},
379 {"x":11.25, "y":3},
380 {"x":12.25, "y":3, "w":1.75},
381 {"x":14, "y":3},
382 {"x":15.25, "y":3},
383
384 {"x":0, "y":4, "w":1.25},
385 {"x":1.25, "y":4, "w":1.25},
386 {"x":2.5, "y":4, "w":1.25},
387 {"x":3.75, "y":4, "w":6.25},
388 {"x":10, "y":4, "w":1.25},
389 {"x":11.25, "y":4, "w":1.25},
390 {"x":12.5, "y":4, "w":1.25},
391 {"x":14.25, "y":4},
392 {"x":15.25, "y":4},
393 {"x":16.25, "y":4}
394 ]
395 }
396 }
397} \ No newline at end of file
diff --git a/keyboards/evyd13/solheim68/keymaps/default/keymap.c b/keyboards/evyd13/solheim68/keymaps/default/keymap.c
new file mode 100644
index 000000000..728e8019a
--- /dev/null
+++ b/keyboards/evyd13/solheim68/keymaps/default/keymap.c
@@ -0,0 +1,31 @@
1/* Copyright 2020 Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_all(
20 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_MPLY, KC_HOME,
21 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END,
22 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
23 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
25 [1] = LAYOUT_all(
26 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_PSCR, KC_PGUP,
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
31};
diff --git a/keyboards/evyd13/solheim68/keymaps/default/readme.md b/keyboards/evyd13/solheim68/keymaps/default/readme.md
new file mode 100644
index 000000000..6e9745403
--- /dev/null
+++ b/keyboards/evyd13/solheim68/keymaps/default/readme.md
@@ -0,0 +1 @@
This is the default keymap for the Solheim68. \ No newline at end of file
diff --git a/keyboards/evyd13/solheim68/readme.md b/keyboards/evyd13/solheim68/readme.md
new file mode 100644
index 000000000..5d1d84c80
--- /dev/null
+++ b/keyboards/evyd13/solheim68/readme.md
@@ -0,0 +1,17 @@
1# Solheim68
2
3A replacement PCB for the VA68M (v2) with Mini-USB.
4
5* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
6* Hardware Supported: Solheim68 PCB
7* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/solheim68)
8
9Make example for this keyboard (after setting up your build environment):
10
11 make evyd13/solheim68:default
12
13Flashing example for this keyboard:
14
15 make evyd13/solheim68:default:flash
16
17See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/evyd13/solheim68/rules.mk b/keyboards/evyd13/solheim68/rules.mk
new file mode 100644
index 000000000..a90eef1fc
--- /dev/null
+++ b/keyboards/evyd13/solheim68/rules.mk
@@ -0,0 +1,22 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/evyd13/solheim68/solheim68.c b/keyboards/evyd13/solheim68/solheim68.c
new file mode 100644
index 000000000..27f90f4e8
--- /dev/null
+++ b/keyboards/evyd13/solheim68/solheim68.c
@@ -0,0 +1,16 @@
1/* Copyright 2020 Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "solheim68.h"
diff --git a/keyboards/evyd13/solheim68/solheim68.h b/keyboards/evyd13/solheim68/solheim68.h
new file mode 100644
index 000000000..2f6339bd1
--- /dev/null
+++ b/keyboards/evyd13/solheim68/solheim68.h
@@ -0,0 +1,102 @@
1/* Copyright 2020 Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19#define XXX KC_NO
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT_all( \
30 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k2e, k0d, k0e, k0f, \
31 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \
32 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
33 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
34 k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \
35) \
36{ \
37 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \
38 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \
39 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, XXX }, \
40 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \
41 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \
42}
43
44#define LAYOUT_68_ansi( \
45 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \
46 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \
47 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
48 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3e, \
49 k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \
50) \
51{ \
52 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \
53 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \
54 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX, XXX }, \
55 { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, k3e, XXX }, \
56 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \
57}
58
59#define LAYOUT_68_iso( \
60 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \
61 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, \
62 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
63 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3e, \
64 k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \
65) \
66{ \
67 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \
68 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e, k1f }, \
69 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX, XXX }, \
70 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, k3e, XXX }, \
71 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \
72}
73
74#define LAYOUT_68_ansi_split_rshift( \
75 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \
76 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \
77 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
78 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
79 k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \
80) \
81{ \
82 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \
83 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \
84 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX, XXX }, \
85 { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \
86 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \
87}
88
89#define LAYOUT_68_iso_split_rshift( \
90 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \
91 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, \
92 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
93 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
94 k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \
95) \
96{ \
97 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \
98 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e, k1f }, \
99 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX, XXX }, \
100 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \
101 { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \
102}
diff --git a/keyboards/evyd13/ta65/config.h b/keyboards/evyd13/ta65/config.h
new file mode 100644
index 000000000..b73505c01
--- /dev/null
+++ b/keyboards/evyd13/ta65/config.h
@@ -0,0 +1,68 @@
1/*
2Copyright 2019 Evy Dekkers
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4705
24#define PRODUCT_ID 0x7465
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Evyd13
27#define PRODUCT ta-65
28#define DESCRIPTION A universal 65% PCB with underglow.
29
30/* key matrix size */
31#define MATRIX_ROWS 5
32#define MATRIX_COLS 16
33
34// ROWS: Top to bottom, COLS: Left to right
35
36#define MATRIX_ROW_PINS {B4,D7,D6,D4,B3}
37#define MATRIX_COL_PINS {D2,D1,D0,D3,D5,C7,C6,B6,B5,F0,F1,F4,F5,F6,F7,B0}
38#define UNUSED_PINS
39
40#define ENCODERS_PAD_A { B2 }
41#define ENCODERS_PAD_B { B1 }
42
43/* Uncomment if your encoder doesn't react to every turn or skips */
44//#define ENCODER_RESOLUTION 2
45
46/* COL2ROW or ROW2COL */
47#define DIODE_DIRECTION COL2ROW
48
49/* define if matrix has ghost */
50//#define MATRIX_HAS_GHOST
51
52/* Set 0 if debouncing isn't needed */
53#define DEBOUNCE 5
54
55/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
56#define LOCKING_SUPPORT_ENABLE
57/* Locking resynchronize hack */
58#define LOCKING_RESYNC_ENABLE
59
60/* Backlight configuration
61 */
62#define RGB_DI_PIN E6
63#define RGBLIGHT_ANIMATIONS
64#define RGBLED_NUM 8
65
66#define QMK_ESC_OUTPUT D2 // usually COL
67#define QMK_ESC_INPUT B4 // usually ROW
68#define QMK_LED E6
diff --git a/keyboards/evyd13/ta65/info.json b/keyboards/evyd13/ta65/info.json
new file mode 100644
index 000000000..e509521d4
--- /dev/null
+++ b/keyboards/evyd13/ta65/info.json
@@ -0,0 +1,372 @@
1{
2 "keyboard_name": "ta65",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 16,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"label":"Esc", "x":0, "y":0},
11 {"label":"!", "x":1, "y":0},
12 {"label":"@", "x":2, "y":0},
13 {"label":"#", "x":3, "y":0},
14 {"label":"$", "x":4, "y":0},
15 {"label":"%", "x":5, "y":0},
16 {"label":"^", "x":6, "y":0},
17 {"label":"&", "x":7, "y":0},
18 {"label":"*", "x":8, "y":0},
19 {"label":"(", "x":9, "y":0},
20 {"label":")", "x":10, "y":0},
21 {"label":"_", "x":11, "y":0},
22 {"label":"+", "x":12, "y":0},
23 {"label":"|", "x":13, "y":0},
24 {"label":"Backspace", "x":14, "y":0},
25 {"label":"~", "x":15, "y":0},
26 {"label":"Tab", "x":0, "y":1, "w":1.5},
27 {"label":"Q", "x":1.5, "y":1},
28 {"label":"W", "x":2.5, "y":1},
29 {"label":"E", "x":3.5, "y":1},
30 {"label":"R", "x":4.5, "y":1},
31 {"label":"T", "x":5.5, "y":1},
32 {"label":"Y", "x":6.5, "y":1},
33 {"label":"U", "x":7.5, "y":1},
34 {"label":"I", "x":8.5, "y":1},
35 {"label":"O", "x":9.5, "y":1},
36 {"label":"P", "x":10.5, "y":1},
37 {"label":"{", "x":11.5, "y":1},
38 {"label":"}", "x":12.5, "y":1},
39 {"label":"|", "x":13.5, "y":1, "w":1.5},
40 {"label":"Delete", "x":15, "y":1},
41 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
42 {"label":"A", "x":1.75, "y":2},
43 {"label":"S", "x":2.75, "y":2},
44 {"label":"D", "x":3.75, "y":2},
45 {"label":"F", "x":4.75, "y":2},
46 {"label":"G", "x":5.75, "y":2},
47 {"label":"H", "x":6.75, "y":2},
48 {"label":"J", "x":7.75, "y":2},
49 {"label":"K", "x":8.75, "y":2},
50 {"label":"L", "x":9.75, "y":2},
51 {"label":":", "x":10.75, "y":2},
52 {"label":"\"", "x":11.75, "y":2},
53 {"label":"Non-US Hash", "x":12.75, "y":2},
54 {"label":"Enter", "x":13.75, "y":2, "w":1.25},
55 {"label":"PgUp", "x":15, "y":2},
56 {"label":"Shift", "x":0, "y":3, "w":1.25},
57 {"label":"Non-US Backslash", "x":1.25, "y":3},
58 {"label":"Z", "x":2.25, "y":3},
59 {"label":"X", "x":3.25, "y":3},
60 {"label":"C", "x":4.25, "y":3},
61 {"label":"V", "x":5.25, "y":3},
62 {"label":"B", "x":6.25, "y":3},
63 {"label":"N", "x":7.25, "y":3},
64 {"label":"M", "x":8.25, "y":3},
65 {"label":"<", "x":9.25, "y":3},
66 {"label":">", "x":10.25, "y":3},
67 {"label":"?", "x":11.25, "y":3},
68 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
69 {"label":"Up", "x":14, "y":3},
70 {"label":"PgDn", "x":15, "y":3},
71 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
72 {"label":"Win", "x":1.25, "y":4, "w":1.25},
73 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
74 {"label":"Space", "x":3.75, "y":4, "w":6.25},
75 {"label":"Alt", "x":10, "y":4},
76 {"label":"Win", "x":11, "y":4},
77 {"label":"Ctrl", "x":12, "y":4},
78 {"label":"Left", "x":13, "y":4},
79 {"label":"Down", "x":14, "y":4},
80 {"label":"Right", "x":15, "y":4}
81 ]
82 },
83 "LAYOUT_65_ansi": {
84 "layout": [
85 {"label":"Esc", "x":0, "y":0},
86 {"label":"!", "x":1, "y":0},
87 {"label":"@", "x":2, "y":0},
88 {"label":"#", "x":3, "y":0},
89 {"label":"$", "x":4, "y":0},
90 {"label":"%", "x":5, "y":0},
91 {"label":"^", "x":6, "y":0},
92 {"label":"&", "x":7, "y":0},
93 {"label":"*", "x":8, "y":0},
94 {"label":"(", "x":9, "y":0},
95 {"label":")", "x":10, "y":0},
96 {"label":"_", "x":11, "y":0},
97 {"label":"+", "x":12, "y":0},
98 {"label":"Backspace", "x":13, "y":0, "w":2},
99 {"label":"~", "x":15, "y":0},
100 {"label":"Tab", "x":0, "y":1, "w":1.5},
101 {"label":"Q", "x":1.5, "y":1},
102 {"label":"W", "x":2.5, "y":1},
103 {"label":"E", "x":3.5, "y":1},
104 {"label":"R", "x":4.5, "y":1},
105 {"label":"T", "x":5.5, "y":1},
106 {"label":"Y", "x":6.5, "y":1},
107 {"label":"U", "x":7.5, "y":1},
108 {"label":"I", "x":8.5, "y":1},
109 {"label":"O", "x":9.5, "y":1},
110 {"label":"P", "x":10.5, "y":1},
111 {"label":"{", "x":11.5, "y":1},
112 {"label":"}", "x":12.5, "y":1},
113 {"label":"|", "x":13.5, "y":1, "w":1.5},
114 {"label":"Delete", "x":15, "y":1},
115 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
116 {"label":"A", "x":1.75, "y":2},
117 {"label":"S", "x":2.75, "y":2},
118 {"label":"D", "x":3.75, "y":2},
119 {"label":"F", "x":4.75, "y":2},
120 {"label":"G", "x":5.75, "y":2},
121 {"label":"H", "x":6.75, "y":2},
122 {"label":"J", "x":7.75, "y":2},
123 {"label":"K", "x":8.75, "y":2},
124 {"label":"L", "x":9.75, "y":2},
125 {"label":":", "x":10.75, "y":2},
126 {"label":"\"", "x":11.75, "y":2},
127 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
128 {"label":"PgUp", "x":15, "y":2},
129 {"label":"Shift", "x":0, "y":3, "w":2.25},
130 {"label":"Z", "x":2.25, "y":3},
131 {"label":"X", "x":3.25, "y":3},
132 {"label":"C", "x":4.25, "y":3},
133 {"label":"V", "x":5.25, "y":3},
134 {"label":"B", "x":6.25, "y":3},
135 {"label":"N", "x":7.25, "y":3},
136 {"label":"M", "x":8.25, "y":3},
137 {"label":"<", "x":9.25, "y":3},
138 {"label":">", "x":10.25, "y":3},
139 {"label":"?", "x":11.25, "y":3},
140 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
141 {"label":"Up", "x":14, "y":3},
142 {"label":"PgDn", "x":15, "y":3},
143 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
144 {"label":"Win", "x":1.25, "y":4, "w":1.25},
145 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
146 {"label":"Space", "x":3.75, "y":4, "w":6.25},
147 {"label":"Alt", "x":10, "y":4},
148 {"label":"Win", "x":11, "y":4},
149 {"label":"Ctrl", "x":12, "y":4},
150 {"label":"Left", "x":13, "y":4},
151 {"label":"Down", "x":14, "y":4},
152 {"label":"Right", "x":15, "y":4}
153 ]
154 },
155 "LAYOUT_ansi_tsangan": {
156 "layout": [
157 {"label":"Esc", "x":0, "y":0},
158 {"label":"!", "x":1, "y":0},
159 {"label":"@", "x":2, "y":0},
160 {"label":"#", "x":3, "y":0},
161 {"label":"$", "x":4, "y":0},
162 {"label":"%", "x":5, "y":0},
163 {"label":"^", "x":6, "y":0},
164 {"label":"&", "x":7, "y":0},
165 {"label":"*", "x":8, "y":0},
166 {"label":"(", "x":9, "y":0},
167 {"label":")", "x":10, "y":0},
168 {"label":"_", "x":11, "y":0},
169 {"label":"+", "x":12, "y":0},
170 {"label":"|", "x":13, "y":0},
171 {"label":"Backspace", "x":14, "y":0},
172 {"label":"~", "x":15, "y":0},
173 {"label":"Tab", "x":0, "y":1, "w":1.5},
174 {"label":"Q", "x":1.5, "y":1},
175 {"label":"W", "x":2.5, "y":1},
176 {"label":"E", "x":3.5, "y":1},
177 {"label":"R", "x":4.5, "y":1},
178 {"label":"T", "x":5.5, "y":1},
179 {"label":"Y", "x":6.5, "y":1},
180 {"label":"U", "x":7.5, "y":1},
181 {"label":"I", "x":8.5, "y":1},
182 {"label":"O", "x":9.5, "y":1},
183 {"label":"P", "x":10.5, "y":1},
184 {"label":"{", "x":11.5, "y":1},
185 {"label":"}", "x":12.5, "y":1},
186 {"label":"|", "x":13.5, "y":1, "w":1.5},
187 {"label":"Delete", "x":15, "y":1},
188 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
189 {"label":"A", "x":1.75, "y":2},
190 {"label":"S", "x":2.75, "y":2},
191 {"label":"D", "x":3.75, "y":2},
192 {"label":"F", "x":4.75, "y":2},
193 {"label":"G", "x":5.75, "y":2},
194 {"label":"H", "x":6.75, "y":2},
195 {"label":"J", "x":7.75, "y":2},
196 {"label":"K", "x":8.75, "y":2},
197 {"label":"L", "x":9.75, "y":2},
198 {"label":":", "x":10.75, "y":2},
199 {"label":"\"", "x":11.75, "y":2},
200 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
201 {"label":"PgUp", "x":15, "y":2},
202 {"label":"Shift", "x":0, "y":3, "w":2.25},
203 {"label":"Z", "x":2.25, "y":3},
204 {"label":"X", "x":3.25, "y":3},
205 {"label":"C", "x":4.25, "y":3},
206 {"label":"V", "x":5.25, "y":3},
207 {"label":"B", "x":6.25, "y":3},
208 {"label":"N", "x":7.25, "y":3},
209 {"label":"M", "x":8.25, "y":3},
210 {"label":"<", "x":9.25, "y":3},
211 {"label":">", "x":10.25, "y":3},
212 {"label":"?", "x":11.25, "y":3},
213 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
214 {"label":"Up", "x":14, "y":3},
215 {"label":"PgDn", "x":15, "y":3},
216 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
217 {"label":"Win", "x":1.5, "y":4},
218 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
219 {"label":"Space", "x":4, "y":4, "w":7},
220 {"label":"Alt", "x":11, "y":4, "w":1.5},
221 {"label":"Left", "x":13, "y":4},
222 {"label":"Down", "x":14, "y":4},
223 {"label":"Right", "x":15, "y":4}
224 ]
225 },
226 "LAYOUT_65_iso": {
227 "layout": [
228 {"label":"Esc", "x":0, "y":0},
229 {"label":"!", "x":1, "y":0},
230 {"label":"\"", "x":2, "y":0},
231 {"label":"\u00a3", "x":3, "y":0},
232 {"label":"$", "x":4, "y":0},
233 {"label":"%", "x":5, "y":0},
234 {"label":"^", "x":6, "y":0},
235 {"label":"&", "x":7, "y":0},
236 {"label":"*", "x":8, "y":0},
237 {"label":"(", "x":9, "y":0},
238 {"label":")", "x":10, "y":0},
239 {"label":"_", "x":11, "y":0},
240 {"label":"+", "x":12, "y":0},
241 {"label":"Backspace", "x":13, "y":0, "w":2},
242 {"label":"\u00ac", "x":15, "y":0},
243 {"label":"Tab", "x":0, "y":1, "w":1.5},
244 {"label":"Q", "x":1.5, "y":1},
245 {"label":"W", "x":2.5, "y":1},
246 {"label":"E", "x":3.5, "y":1},
247 {"label":"R", "x":4.5, "y":1},
248 {"label":"T", "x":5.5, "y":1},
249 {"label":"Y", "x":6.5, "y":1},
250 {"label":"U", "x":7.5, "y":1},
251 {"label":"I", "x":8.5, "y":1},
252 {"label":"O", "x":9.5, "y":1},
253 {"label":"P", "x":10.5, "y":1},
254 {"label":"{", "x":11.5, "y":1},
255 {"label":"}", "x":12.5, "y":1},
256 {"label":"Delete", "x":15, "y":1},
257 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
258 {"label":"A", "x":1.75, "y":2},
259 {"label":"S", "x":2.75, "y":2},
260 {"label":"D", "x":3.75, "y":2},
261 {"label":"F", "x":4.75, "y":2},
262 {"label":"G", "x":5.75, "y":2},
263 {"label":"H", "x":6.75, "y":2},
264 {"label":"J", "x":7.75, "y":2},
265 {"label":"K", "x":8.75, "y":2},
266 {"label":"L", "x":9.75, "y":2},
267 {"label":":", "x":10.75, "y":2},
268 {"label":"@", "x":11.75, "y":2},
269 {"label":"~", "x":12.75, "y":2},
270 {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
271 {"label":"PgUp", "x":15, "y":2},
272 {"label":"Shift", "x":0, "y":3, "w":1.25},
273 {"label":"|", "x":1.25, "y":3},
274 {"label":"Z", "x":2.25, "y":3},
275 {"label":"X", "x":3.25, "y":3},
276 {"label":"C", "x":4.25, "y":3},
277 {"label":"V", "x":5.25, "y":3},
278 {"label":"B", "x":6.25, "y":3},
279 {"label":"N", "x":7.25, "y":3},
280 {"label":"M", "x":8.25, "y":3},
281 {"label":"<", "x":9.25, "y":3},
282 {"label":">", "x":10.25, "y":3},
283 {"label":"?", "x":11.25, "y":3},
284 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
285 {"label":"Up", "x":14, "y":3},
286 {"label":"PgDn", "x":15, "y":3},
287 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
288 {"label":"Win", "x":1.25, "y":4, "w":1.25},
289 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
290 {"label":"Space", "x":3.75, "y":4, "w":6.25},
291 {"label":"AltGr", "x":10, "y":4},
292 {"label":"Win", "x":11, "y":4},
293 {"label":"Ctrl", "x":12, "y":4},
294 {"label":"Left", "x":13, "y":4},
295 {"label":"Down", "x":14, "y":4},
296 {"label":"Right", "x":15, "y":4}
297 ]
298 },
299 "LAYOUT_iso_tsangan": {
300 "layout": [
301 {"label":"Esc", "x":0, "y":0},
302 {"label":"!", "x":1, "y":0},
303 {"label":"\"", "x":2, "y":0},
304 {"label":"\u00a3", "x":3, "y":0},
305 {"label":"$", "x":4, "y":0},
306 {"label":"%", "x":5, "y":0},
307 {"label":"^", "x":6, "y":0},
308 {"label":"&", "x":7, "y":0},
309 {"label":"*", "x":8, "y":0},
310 {"label":"(", "x":9, "y":0},
311 {"label":")", "x":10, "y":0},
312 {"label":"_", "x":11, "y":0},
313 {"label":"+", "x":12, "y":0},
314 {"label":"~", "x":13, "y":0},
315 {"label":"Backspace", "x":14, "y":0},
316 {"label":"\u00ac", "x":15, "y":0},
317 {"label":"Tab", "x":0, "y":1, "w":1.5},
318 {"label":"Q", "x":1.5, "y":1},
319 {"label":"W", "x":2.5, "y":1},
320 {"label":"E", "x":3.5, "y":1},
321 {"label":"R", "x":4.5, "y":1},
322 {"label":"T", "x":5.5, "y":1},
323 {"label":"Y", "x":6.5, "y":1},
324 {"label":"U", "x":7.5, "y":1},
325 {"label":"I", "x":8.5, "y":1},
326 {"label":"O", "x":9.5, "y":1},
327 {"label":"P", "x":10.5, "y":1},
328 {"label":"{", "x":11.5, "y":1},
329 {"label":"}", "x":12.5, "y":1},
330 {"label":"Delete", "x":15, "y":1},
331 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
332 {"label":"A", "x":1.75, "y":2},
333 {"label":"S", "x":2.75, "y":2},
334 {"label":"D", "x":3.75, "y":2},
335 {"label":"F", "x":4.75, "y":2},
336 {"label":"G", "x":5.75, "y":2},
337 {"label":"H", "x":6.75, "y":2},
338 {"label":"J", "x":7.75, "y":2},
339 {"label":"K", "x":8.75, "y":2},
340 {"label":"L", "x":9.75, "y":2},
341 {"label":":", "x":10.75, "y":2},
342 {"label":"@", "x":11.75, "y":2},
343 {"label":"~", "x":12.75, "y":2},
344 {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
345 {"label":"PgUp", "x":15, "y":2},
346 {"label":"Shift", "x":0, "y":3, "w":1.25},
347 {"label":"|", "x":1.25, "y":3},
348 {"label":"Z", "x":2.25, "y":3},
349 {"label":"X", "x":3.25, "y":3},
350 {"label":"C", "x":4.25, "y":3},
351 {"label":"V", "x":5.25, "y":3},
352 {"label":"B", "x":6.25, "y":3},
353 {"label":"N", "x":7.25, "y":3},
354 {"label":"M", "x":8.25, "y":3},
355 {"label":"<", "x":9.25, "y":3},
356 {"label":">", "x":10.25, "y":3},
357 {"label":"?", "x":11.25, "y":3},
358 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
359 {"label":"Up", "x":14, "y":3},
360 {"label":"PgDn", "x":15, "y":3},
361 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
362 {"label":"Win", "x":1.5, "y":4},
363 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
364 {"label":"Space", "x":4, "y":4, "w":7},
365 {"label":"AltGr", "x":11, "y":4, "w":1.5},
366 {"label":"Left", "x":13, "y":4},
367 {"label":"Down", "x":14, "y":4},
368 {"label":"Right", "x":15, "y":4}
369 ]
370 }
371 }
372}
diff --git a/keyboards/evyd13/ta65/keymaps/default/keymap.c b/keyboards/evyd13/ta65/keymaps/default/keymap.c
new file mode 100644
index 000000000..8bb8a14ba
--- /dev/null
+++ b/keyboards/evyd13/ta65/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5[0] = LAYOUT_all(
6 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS,
7 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
8 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGUP,
9 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
10 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT),
11
12[1] = LAYOUT_all(
13 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
14 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
15 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
16 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
17 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
18
19};
20
21void encoder_update_user(uint8_t index, bool clockwise) {
22 switch(get_highest_layer(layer_state)){
23 case 1: //Layer 1
24 if (!clockwise) { // Remove ! to reverse direction
25 tap_code(KC_WH_U);
26 } else {
27 tap_code(KC_WH_D);
28 }
29 break;
30 default: //Layer 0
31 if (!clockwise) {
32 tap_code(KC_VOLU);
33 } else {
34 tap_code(KC_VOLD);
35 }
36 break;
37 }
38}
diff --git a/keyboards/evyd13/ta65/keymaps/default_ansi/keymap.c b/keyboards/evyd13/ta65/keymaps/default_ansi/keymap.c
new file mode 100644
index 000000000..9319d5bba
--- /dev/null
+++ b/keyboards/evyd13/ta65/keymaps/default_ansi/keymap.c
@@ -0,0 +1,17 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7#define _MA 0
8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10
11[_MA] = LAYOUT_65_ansi(
12 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
13 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
14 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
15 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_UP, KC_PGDN,
16 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
17};
diff --git a/keyboards/evyd13/ta65/keymaps/default_ansi_tsangan/keymap.c b/keyboards/evyd13/ta65/keymaps/default_ansi_tsangan/keymap.c
new file mode 100644
index 000000000..5e0cd0b55
--- /dev/null
+++ b/keyboards/evyd13/ta65/keymaps/default_ansi_tsangan/keymap.c
@@ -0,0 +1,17 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7#define _MA 0
8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10
11[_MA] = LAYOUT_ansi_tsangan(
12 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_GRV,
13 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
14 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
15 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_UP, KC_PGDN,
16 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT)
17};
diff --git a/keyboards/evyd13/ta65/keymaps/default_iso/keymap.c b/keyboards/evyd13/ta65/keymaps/default_iso/keymap.c
new file mode 100644
index 000000000..1d11ff958
--- /dev/null
+++ b/keyboards/evyd13/ta65/keymaps/default_iso/keymap.c
@@ -0,0 +1,17 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7#define _MA 0
8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10
11[_MA] = LAYOUT_65_iso(
12 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
13 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
14 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGUP,
15 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
16 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
17};
diff --git a/keyboards/evyd13/ta65/keymaps/default_iso_tsangan/keymap.c b/keyboards/evyd13/ta65/keymaps/default_iso_tsangan/keymap.c
new file mode 100644
index 000000000..8505d73af
--- /dev/null
+++ b/keyboards/evyd13/ta65/keymaps/default_iso_tsangan/keymap.c
@@ -0,0 +1,17 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7#define _MA 0
8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10
11[_MA] = LAYOUT_iso_tsangan(
12 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_GRV,
13 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
14 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGUP,
15 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
16 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT)
17};
diff --git a/keyboards/evyd13/ta65/keymaps/evyd13/config.h b/keyboards/evyd13/ta65/keymaps/evyd13/config.h
new file mode 100644
index 000000000..9b18f5826
--- /dev/null
+++ b/keyboards/evyd13/ta65/keymaps/evyd13/config.h
@@ -0,0 +1,3 @@
1#pragma once
2
3#define RETRO_TAPPING
diff --git a/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c b/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c
new file mode 100644
index 000000000..a8ce0f180
--- /dev/null
+++ b/keyboards/evyd13/ta65/keymaps/evyd13/keymap.c
@@ -0,0 +1,45 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7enum {
8 _MA,
9 _GA,
10 _FL,
11 _SP
12};
13
14#define SPACE LT(_SP, KC_SPC)
15
16const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
17
18[_MA] = LAYOUT_65_ansi(
19 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MPLY,
20 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
21 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
22 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_UP, KC_PGDN,
23 KC_CAPS, KC_LGUI, KC_LALT, SPACE, KC_RALT, KC_RCTRL,MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
24
25[_GA] = LAYOUT_65_ansi(
26 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______),
31
32[_FL] = LAYOUT_65_ansi(
33 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET, KC_PSCR,
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
35 _______, _______, _______, _______, _______, TG(_GA), _______, _______, _______, _______, _______, _______, _______, KC_HOME,
36 _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_END,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
38
39[_SP] = LAYOUT_65_ansi(
40 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
45};
diff --git a/keyboards/evyd13/ta65/keymaps/via/keymap.c b/keyboards/evyd13/ta65/keymaps/via/keymap.c
new file mode 100644
index 000000000..e2d96eb9c
--- /dev/null
+++ b/keyboards/evyd13/ta65/keymaps/via/keymap.c
@@ -0,0 +1,33 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5[0] = LAYOUT_all(
6 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, KC_INS,
7 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
8 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGUP,
9 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
10 KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL,MO(2), KC_LEFT, KC_DOWN, KC_RGHT),
11
12[1] = LAYOUT_all(
13 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PSCR,
14 _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS,
15 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME,
16 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_END,
17 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
18
19[2] = LAYOUT_all(
20 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
21 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
25
26[3] = LAYOUT_all(
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
32
33};
diff --git a/keyboards/evyd13/ta65/keymaps/via/rules.mk b/keyboards/evyd13/ta65/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/evyd13/ta65/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/evyd13/ta65/readme.md b/keyboards/evyd13/ta65/readme.md
new file mode 100644
index 000000000..ea98161bb
--- /dev/null
+++ b/keyboards/evyd13/ta65/readme.md
@@ -0,0 +1,17 @@
1TA-65
2=====
3
4A 65% PCB designed to fit the TADA68, Kayak and others by [Evyd13](https://github.com/evyd13).
5
6![kle](https://maartenwut.com/wp-content/uploads/2019/02/ta-65-layouts-768x420.png)
7
8Keyboard Maintainer: QMK Community<br>
9Hardware Supported: TA-65 PCB<br>
10Hardware Availability: [maartenwut.com](https://maartenwut.com/product/ta-65/)<br>
11
12Make example for this keyboard (after setting up your build environment):
13
14 make ta65:default
15
16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
17
diff --git a/keyboards/evyd13/ta65/rules.mk b/keyboards/evyd13/ta65/rules.mk
new file mode 100644
index 000000000..9984f2767
--- /dev/null
+++ b/keyboards/evyd13/ta65/rules.mk
@@ -0,0 +1,34 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
30AUDIO_ENABLE = no # Audio output on port C6
31FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
32ENCODER_ENABLE = yes
33
34LAYOUTS = 65_ansi 65_iso
diff --git a/keyboards/evyd13/ta65/ta65.c b/keyboards/evyd13/ta65/ta65.c
new file mode 100644
index 000000000..4f67a0203
--- /dev/null
+++ b/keyboards/evyd13/ta65/ta65.c
@@ -0,0 +1,13 @@
1#include "ta65.h"
2
3void matrix_init_kb(void) {
4 // put your keyboard start-up code here
5 // runs once when the firmware starts up
6 matrix_init_user();
7};
8
9void matrix_scan_kb(void) {
10 // put your looping keyboard code here
11 // runs every cycle (a lot)
12 matrix_scan_user();
13};
diff --git a/keyboards/evyd13/ta65/ta65.h b/keyboards/evyd13/ta65/ta65.h
new file mode 100644
index 000000000..40a763b99
--- /dev/null
+++ b/keyboards/evyd13/ta65/ta65.h
@@ -0,0 +1,82 @@
1#pragma once
2#include "quantum.h"
3
4// readability
5#define ___ KC_NO
6#define LAYOUT_all( \
7 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d, k0e, \
8 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
9 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
10 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
11 k40, k41, k42, k46, k49, k4a, k4b, k4c, k4d, k4e \
12) \
13{ \
14 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f}, \
15 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, ___}, \
16 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, ___}, \
17 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, ___}, \
18 {k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d, k4e, ___} \
19}
20
21#define LAYOUT_65_ansi( \
22 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
23 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
24 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \
25 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
26 k40, k41, k42, k46, k49, k4a, k4b, k4c, k4d, k4e \
27) \
28{ \
29 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, ___}, \
30 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, ___}, \
31 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d, k2e, ___}, \
32 {k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, ___}, \
33 {k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d, k4e, ___} \
34}
35
36#define LAYOUT_ansi_tsangan( \
37 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d, k0e, \
38 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
39 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \
40 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
41 k40, k41, k42, k46, k4a, k4c, k4d, k4e \
42) \
43{ \
44 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f}, \
45 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, ___}, \
46 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d, k2e, ___}, \
47 {k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, ___}, \
48 {k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, ___, k4c, k4d, k4e, ___} \
49}
50
51#define LAYOUT_iso_tsangan( \
52 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0f, k0d, k0e, \
53 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
54 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
55 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
56 k40, k41, k42, k46, k4a, k4c, k4d, k4e \
57) \
58{ \
59 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f}, \
60 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, ___, k1e, ___}, \
61 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, ___}, \
62 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, ___}, \
63 {k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, ___, k4c, k4d, k4e, ___} \
64}
65
66#define LAYOUT_65_iso( \
67 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
68 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
69 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
70 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
71 k40, k41, k42, k46, k49, k4a, k4b, k4c, k4d, k4e \
72) \
73{ \
74 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, ___}, \
75 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, ___}, \
76 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, ___}, \
77 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, ___}, \
78 {k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d, k4e, ___} \
79}
80
81void matrix_init_user(void);
82void matrix_scan_user(void);
diff --git a/keyboards/evyd13/wasdat/config.h b/keyboards/evyd13/wasdat/config.h
new file mode 100644
index 000000000..534ae71a5
--- /dev/null
+++ b/keyboards/evyd13/wasdat/config.h
@@ -0,0 +1,230 @@
1/*
2Copyright 2019 Evy Dekkers
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4705
24#define PRODUCT_ID 0xC474
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Evyd13
27#define PRODUCT Wasdat
28#define DESCRIPTION Custom controller for the WASD v2 TKL and 104
29
30/* key matrix size */
31#define MATRIX_ROWS 8
32#define MATRIX_COLS 16
33
34/*
35 * Keyboard Matrix Assignments
36 *
37 * Change this to how you wired your keyboard
38 * COLS: AVR pins used for columns, left to right
39 * ROWS: AVR pins used for rows, top to bottom
40 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
41 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
42 *
43*/
44#define MATRIX_ROW_PINS { D6, D4, F6, F7, F4, F5, F0, F1 }
45#define MATRIX_COL_PINS { }
46#define UNUSED_PINS
47
48/* COL2ROW, ROW2COL*/
49#define DIODE_DIRECTION ROW2COL
50
51// For QMK DFU
52#define QMK_ESC_OUTPUT D6
53#define QMK_ESC_INPUT D7
54#define QMK_LED B0
55
56/*
57 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
58 */
59//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
60
61// #define BACKLIGHT_PIN B7
62// #define BACKLIGHT_BREATHING
63// #define BACKLIGHT_LEVELS 3
64
65// #define RGB_DI_PIN E2
66// #ifdef RGB_DI_PIN
67// #define RGBLED_NUM 16
68// #define RGBLIGHT_HUE_STEP 8
69// #define RGBLIGHT_SAT_STEP 8
70// #define RGBLIGHT_VAL_STEP 8
71// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
72// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
73// /*== all animations enable ==*/
74// #define RGBLIGHT_ANIMATIONS
75// /*== or choose animations ==*/
76// #define RGBLIGHT_EFFECT_BREATHING
77// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
78// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
79// #define RGBLIGHT_EFFECT_SNAKE
80// #define RGBLIGHT_EFFECT_KNIGHT
81// #define RGBLIGHT_EFFECT_CHRISTMAS
82// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
83// #define RGBLIGHT_EFFECT_RGB_TEST
84// #define RGBLIGHT_EFFECT_ALTERNATING
85// /*== customize breathing effect ==*/
86// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
87// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
88// /*==== use exp() and sin() ====*/
89// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
90// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
91// #endif
92
93/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
94#define DEBOUNCE 5
95
96/* define if matrix has ghost (lacks anti-ghosting diodes) */
97//#define MATRIX_HAS_GHOST
98
99/* number of backlight levels */
100
101/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
102#define LOCKING_SUPPORT_ENABLE
103/* Locking resynchronize hack */
104#define LOCKING_RESYNC_ENABLE
105
106/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
107 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
108 */
109// #define GRAVE_ESC_CTRL_OVERRIDE
110
111/*
112 * Force NKRO
113 *
114 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
115 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
116 * makefile for this to work.)
117 *
118 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
119 * until the next keyboard reset.
120 *
121 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
122 * fully operational during normal computer usage.
123 *
124 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
125 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
126 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
127 * power-up.
128 *
129 */
130//#define FORCE_NKRO
131
132/*
133 * Magic Key Options
134 *
135 * Magic keys are hotkey commands that allow control over firmware functions of
136 * the keyboard. They are best used in combination with the HID Listen program,
137 * found here: https://www.pjrc.com/teensy/hid_listen.html
138 *
139 * The options below allow the magic key functionality to be changed. This is
140 * useful if your keyboard/keypad is missing keys and you want magic key support.
141 *
142 */
143
144/* key combination for magic key command */
145/* defined by default; to change, uncomment and set to the combination you want */
146// #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
147
148/* control how magic key switches layers */
149//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
150//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
151//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
152
153/* override magic key keymap */
154//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
155//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
156//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
157//#define MAGIC_KEY_HELP H
158//#define MAGIC_KEY_HELP_ALT SLASH
159//#define MAGIC_KEY_DEBUG D
160//#define MAGIC_KEY_DEBUG_MATRIX X
161//#define MAGIC_KEY_DEBUG_KBD K
162//#define MAGIC_KEY_DEBUG_MOUSE M
163//#define MAGIC_KEY_VERSION V
164//#define MAGIC_KEY_STATUS S
165//#define MAGIC_KEY_CONSOLE C
166//#define MAGIC_KEY_LAYER0 0
167//#define MAGIC_KEY_LAYER0_ALT GRAVE
168//#define MAGIC_KEY_LAYER1 1
169//#define MAGIC_KEY_LAYER2 2
170//#define MAGIC_KEY_LAYER3 3
171//#define MAGIC_KEY_LAYER4 4
172//#define MAGIC_KEY_LAYER5 5
173//#define MAGIC_KEY_LAYER6 6
174//#define MAGIC_KEY_LAYER7 7
175//#define MAGIC_KEY_LAYER8 8
176//#define MAGIC_KEY_LAYER9 9
177//#define MAGIC_KEY_BOOTLOADER B
178//#define MAGIC_KEY_BOOTLOADER_ALT ESC
179//#define MAGIC_KEY_LOCK CAPS
180//#define MAGIC_KEY_EEPROM E
181//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
182//#define MAGIC_KEY_NKRO N
183//#define MAGIC_KEY_SLEEP_LED Z
184
185/*
186 * Feature disable options
187 * These options are also useful to firmware size reduction.
188 */
189
190/* disable debug print */
191//#define NO_DEBUG
192
193/* disable print */
194//#define NO_PRINT
195
196/* disable action features */
197//#define NO_ACTION_LAYER
198//#define NO_ACTION_TAPPING
199//#define NO_ACTION_ONESHOT
200//#define NO_ACTION_MACRO
201//#define NO_ACTION_FUNCTION
202
203/*
204 * MIDI options
205 */
206
207/* Prevent use of disabled MIDI features in the keymap */
208//#define MIDI_ENABLE_STRICT 1
209
210/* enable basic MIDI features:
211 - MIDI notes can be sent when in Music mode is on
212*/
213//#define MIDI_BASIC
214
215/* enable advanced MIDI features:
216 - MIDI notes can be added to the keymap
217 - Octave shift and transpose
218 - Virtual sustain, portamento, and modulation wheel
219 - etc.
220*/
221//#define MIDI_ADVANCED
222
223/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
224//#define MIDI_TONE_KEYCODE_OCTAVES 1
225
226/* Bootmagic Lite key configuration */
227#define BOOTMAGIC_LITE_ROW 0
228#define BOOTMAGIC_LITE_COLUMN 5
229
230#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/evyd13/wasdat/info.json b/keyboards/evyd13/wasdat/info.json
new file mode 100644
index 000000000..83c413eda
--- /dev/null
+++ b/keyboards/evyd13/wasdat/info.json
@@ -0,0 +1,459 @@
1{
2 "keyboard_name": "Wasdat",
3 "url": "https://maartenwut.com/product/wasdat/",
4 "maintainer": "evyd13",
5 "width": 22.5,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT_fullsize_ansi": {
9 "layout": [
10 {"label":"Esc", "x":0, "y":0},
11 {"label":"F1", "x":2, "y":0},
12 {"label":"F2", "x":3, "y":0},
13 {"label":"F3", "x":4, "y":0},
14 {"label":"F4", "x":5, "y":0},
15 {"label":"F5", "x":6.5, "y":0},
16 {"label":"F6", "x":7.5, "y":0},
17 {"label":"F7", "x":8.5, "y":0},
18 {"label":"F8", "x":9.5, "y":0},
19 {"label":"F9", "x":11, "y":0},
20 {"label":"F10", "x":12, "y":0},
21 {"label":"F11", "x":13, "y":0},
22 {"label":"F12", "x":14, "y":0},
23
24 {"label":"PrtSc", "x":15.25, "y":0},
25 {"label":"Scroll Lock", "x":16.25, "y":0},
26 {"label":"Pause", "x":17.25, "y":0},
27
28 {"label":"~", "x":0, "y":1.5},
29 {"label":"1", "x":1, "y":1.5},
30 {"label":"2", "x":2, "y":1.5},
31 {"label":"3", "x":3, "y":1.5},
32 {"label":"4", "x":4, "y":1.5},
33 {"label":"5", "x":5, "y":1.5},
34 {"label":"6", "x":6, "y":1.5},
35 {"label":"7", "x":7, "y":1.5},
36 {"label":"8", "x":8, "y":1.5},
37 {"label":"9", "x":9, "y":1.5},
38 {"label":"0", "x":10, "y":1.5},
39 {"label":"_", "x":11, "y":1.5},
40 {"label":"+", "x":12, "y":1.5},
41 {"label":"Backspace", "x":13, "y":1.5, "w":2},
42
43 {"label":"Insert", "x":15.25, "y":1.5},
44 {"label":"Home", "x":16.25, "y":1.5},
45 {"label":"PgUp", "x":17.25, "y":1.5},
46
47 {"label":"Num Lock", "x":18.5, "y":1.5},
48 {"label":"/", "x":19.5, "y":1.5},
49 {"label":"*", "x":20.5, "y":1.5},
50 {"label":"-", "x":21.5, "y":1.5},
51
52 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
53 {"label":"Q", "x":1.5, "y":2.5},
54 {"label":"W", "x":2.5, "y":2.5},
55 {"label":"E", "x":3.5, "y":2.5},
56 {"label":"R", "x":4.5, "y":2.5},
57 {"label":"T", "x":5.5, "y":2.5},
58 {"label":"Y", "x":6.5, "y":2.5},
59 {"label":"U", "x":7.5, "y":2.5},
60 {"label":"I", "x":8.5, "y":2.5},
61 {"label":"O", "x":9.5, "y":2.5},
62 {"label":"P", "x":10.5, "y":2.5},
63 {"label":"{", "x":11.5, "y":2.5},
64 {"label":"}", "x":12.5, "y":2.5},
65 {"label":"|", "x":13.5, "y":2.5, "w":1.5},
66
67 {"label":"Delete", "x":15.25, "y":2.5},
68 {"label":"End", "x":16.25, "y":2.5},
69 {"label":"PgDn", "x":17.25, "y":2.5},
70
71 {"label":"7", "x":18.5, "y":2.5},
72 {"label":"8", "x":19.5, "y":2.5},
73 {"label":"9", "x":20.5, "y":2.5},
74 {"label":"+", "x":21.5, "y":2.5, "h":2},
75
76 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
77 {"label":"A", "x":1.75, "y":3.5},
78 {"label":"S", "x":2.75, "y":3.5},
79 {"label":"D", "x":3.75, "y":3.5},
80 {"label":"F", "x":4.75, "y":3.5},
81 {"label":"G", "x":5.75, "y":3.5},
82 {"label":"H", "x":6.75, "y":3.5},
83 {"label":"J", "x":7.75, "y":3.5},
84 {"label":"K", "x":8.75, "y":3.5},
85 {"label":"L", "x":9.75, "y":3.5},
86 {"label":":", "x":10.75, "y":3.5},
87 {"label":"\"", "x":11.75, "y":3.5},
88 {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
89
90 {"label":"4", "x":18.5, "y":3.5},
91 {"label":"5", "x":19.5, "y":3.5},
92 {"label":"6", "x":20.5, "y":3.5},
93
94 {"label":"Shift", "x":0, "y":4.5, "w":2.25},
95 {"label":"Z", "x":2.25, "y":4.5},
96 {"label":"X", "x":3.25, "y":4.5},
97 {"label":"C", "x":4.25, "y":4.5},
98 {"label":"V", "x":5.25, "y":4.5},
99 {"label":"B", "x":6.25, "y":4.5},
100 {"label":"N", "x":7.25, "y":4.5},
101 {"label":"M", "x":8.25, "y":4.5},
102 {"label":"<", "x":9.25, "y":4.5},
103 {"label":">", "x":10.25, "y":4.5},
104 {"label":"?", "x":11.25, "y":4.5},
105 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
106
107 {"label":"\u2191", "x":16.25, "y":4.5},
108
109 {"label":"1", "x":18.5, "y":4.5},
110 {"label":"2", "x":19.5, "y":4.5},
111 {"label":"3", "x":20.5, "y":4.5},
112 {"label":"Enter", "x":21.5, "y":4.5, "h":2},
113
114 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
115 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
116 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
117 {"x":3.75, "y":5.5, "w":6.25},
118 {"label":"Alt", "x":10, "y":5.5, "w":1.25},
119 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
120 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
121 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
122
123 {"label":"\u2190", "x":15.25, "y":5.5},
124 {"label":"\u2193", "x":16.25, "y":5.5},
125 {"label":"\u2192", "x":17.25, "y":5.5},
126
127 {"label":"0", "x":18.5, "y":5.5, "w":2},
128 {"label":".", "x":20.5, "y":5.5}
129 ]
130 },
131 "LAYOUT_fullsize_iso": {
132 "layout": [
133 {"label":"Esc", "x":0, "y":0},
134 {"label":"F1", "x":2, "y":0},
135 {"label":"F2", "x":3, "y":0},
136 {"label":"F3", "x":4, "y":0},
137 {"label":"F4", "x":5, "y":0},
138 {"label":"F5", "x":6.5, "y":0},
139 {"label":"F6", "x":7.5, "y":0},
140 {"label":"F7", "x":8.5, "y":0},
141 {"label":"F8", "x":9.5, "y":0},
142 {"label":"F9", "x":11, "y":0},
143 {"label":"F10", "x":12, "y":0},
144 {"label":"F11", "x":13, "y":0},
145 {"label":"F12", "x":14, "y":0},
146
147 {"label":"PrtSc", "x":15.25, "y":0},
148 {"label":"Scroll Lock", "x":16.25, "y":0},
149 {"label":"Pause", "x":17.25, "y":0},
150
151 {"label":"\u00ac", "x":0, "y":1.5},
152 {"label":"!", "x":1, "y":1.5},
153 {"label":"\"", "x":2, "y":1.5},
154 {"label":"\u00a3", "x":3, "y":1.5},
155 {"label":"$", "x":4, "y":1.5},
156 {"label":"%", "x":5, "y":1.5},
157 {"label":"^", "x":6, "y":1.5},
158 {"label":"&", "x":7, "y":1.5},
159 {"label":"*", "x":8, "y":1.5},
160 {"label":"(", "x":9, "y":1.5},
161 {"label":")", "x":10, "y":1.5},
162 {"label":"_", "x":11, "y":1.5},
163 {"label":"+", "x":12, "y":1.5},
164 {"label":"Backspace", "x":13, "y":1.5, "w":2},
165
166 {"label":"Insert", "x":15.25, "y":1.5},
167 {"label":"Home", "x":16.25, "y":1.5},
168 {"label":"PgUp", "x":17.25, "y":1.5},
169
170 {"label":"Num Lock", "x":18.5, "y":1.5},
171 {"label":"/", "x":19.5, "y":1.5},
172 {"label":"*", "x":20.5, "y":1.5},
173 {"label":"-", "x":21.5, "y":1.5},
174
175 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
176 {"label":"Q", "x":1.5, "y":2.5},
177 {"label":"W", "x":2.5, "y":2.5},
178 {"label":"E", "x":3.5, "y":2.5},
179 {"label":"R", "x":4.5, "y":2.5},
180 {"label":"T", "x":5.5, "y":2.5},
181 {"label":"Y", "x":6.5, "y":2.5},
182 {"label":"U", "x":7.5, "y":2.5},
183 {"label":"I", "x":8.5, "y":2.5},
184 {"label":"O", "x":9.5, "y":2.5},
185 {"label":"P", "x":10.5, "y":2.5},
186 {"label":"{", "x":11.5, "y":2.5},
187 {"label":"}", "x":12.5, "y":2.5},
188
189 {"label":"Delete", "x":15.25, "y":2.5},
190 {"label":"End", "x":16.25, "y":2.5},
191 {"label":"PgDn", "x":17.25, "y":2.5},
192
193 {"label":"7", "x":18.5, "y":2.5},
194 {"label":"8", "x":19.5, "y":2.5},
195 {"label":"9", "x":20.5, "y":2.5},
196 {"label":"+", "x":21.5, "y":2.5, "h":2},
197
198 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
199 {"label":"A", "x":1.75, "y":3.5},
200 {"label":"S", "x":2.75, "y":3.5},
201 {"label":"D", "x":3.75, "y":3.5},
202 {"label":"F", "x":4.75, "y":3.5},
203 {"label":"G", "x":5.75, "y":3.5},
204 {"label":"H", "x":6.75, "y":3.5},
205 {"label":"J", "x":7.75, "y":3.5},
206 {"label":"K", "x":8.75, "y":3.5},
207 {"label":"L", "x":9.75, "y":3.5},
208 {"label":":", "x":10.75, "y":3.5},
209 {"label":"@", "x":11.75, "y":3.5},
210 {"label":"~", "x":12.75, "y":3.5},
211 {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
212
213 {"label":"4", "x":18.5, "y":3.5},
214 {"label":"5", "x":19.5, "y":3.5},
215 {"label":"6", "x":20.5, "y":3.5},
216
217 {"label":"Shift", "x":0, "y":4.5, "w":1.25},
218 {"label":"|", "x":1.25, "y":4.5},
219 {"label":"Z", "x":2.25, "y":4.5},
220 {"label":"X", "x":3.25, "y":4.5},
221 {"label":"C", "x":4.25, "y":4.5},
222 {"label":"V", "x":5.25, "y":4.5},
223 {"label":"B", "x":6.25, "y":4.5},
224 {"label":"N", "x":7.25, "y":4.5},
225 {"label":"M", "x":8.25, "y":4.5},
226 {"label":"<", "x":9.25, "y":4.5},
227 {"label":">", "x":10.25, "y":4.5},
228 {"label":"?", "x":11.25, "y":4.5},
229 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
230
231 {"label":"\u2191", "x":16.25, "y":4.5},
232
233 {"label":"1", "x":18.5, "y":4.5},
234 {"label":"2", "x":19.5, "y":4.5},
235 {"label":"3", "x":20.5, "y":4.5},
236 {"label":"Enter", "x":21.5, "y":4.5, "h":2},
237
238 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
239 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
240 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
241 {"x":3.75, "y":5.5, "w":6.25},
242 {"label":"AltGr", "x":10, "y":5.5, "w":1.25},
243 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
244 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
245 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
246
247 {"label":"\u2190", "x":15.25, "y":5.5},
248 {"label":"\u2193", "x":16.25, "y":5.5},
249 {"label":"\u2192", "x":17.25, "y":5.5},
250
251 {"label":"0", "x":18.5, "y":5.5, "w":2},
252 {"label":".", "x":20.5, "y":5.5}
253 ]
254 },
255 "LAYOUT_tkl_ansi": {
256 "layout": [
257 {"label":"Esc", "x":0, "y":0},
258 {"label":"F1", "x":2, "y":0},
259 {"label":"F2", "x":3, "y":0},
260 {"label":"F3", "x":4, "y":0},
261 {"label":"F4", "x":5, "y":0},
262 {"label":"F5", "x":6.5, "y":0},
263 {"label":"F6", "x":7.5, "y":0},
264 {"label":"F7", "x":8.5, "y":0},
265 {"label":"F8", "x":9.5, "y":0},
266 {"label":"F9", "x":11, "y":0},
267 {"label":"F10", "x":12, "y":0},
268 {"label":"F11", "x":13, "y":0},
269 {"label":"F12", "x":14, "y":0},
270
271 {"label":"PrtSc", "x":15.25, "y":0},
272 {"label":"Scroll Lock", "x":16.25, "y":0},
273 {"label":"Pause", "x":17.25, "y":0},
274
275 {"label":"~", "x":0, "y":1.5},
276 {"label":"1", "x":1, "y":1.5},
277 {"label":"2", "x":2, "y":1.5},
278 {"label":"3", "x":3, "y":1.5},
279 {"label":"4", "x":4, "y":1.5},
280 {"label":"5", "x":5, "y":1.5},
281 {"label":"6", "x":6, "y":1.5},
282 {"label":"7", "x":7, "y":1.5},
283 {"label":"8", "x":8, "y":1.5},
284 {"label":"9", "x":9, "y":1.5},
285 {"label":"0", "x":10, "y":1.5},
286 {"label":"_", "x":11, "y":1.5},
287 {"label":"+", "x":12, "y":1.5},
288 {"label":"Backspace", "x":13, "y":1.5, "w":2},
289
290 {"label":"Insert", "x":15.25, "y":1.5},
291 {"label":"Home", "x":16.25, "y":1.5},
292 {"label":"Page Up", "x":17.25, "y":1.5},
293
294 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
295 {"label":"Q", "x":1.5, "y":2.5},
296 {"label":"W", "x":2.5, "y":2.5},
297 {"label":"E", "x":3.5, "y":2.5},
298 {"label":"R", "x":4.5, "y":2.5},
299 {"label":"T", "x":5.5, "y":2.5},
300 {"label":"Y", "x":6.5, "y":2.5},
301 {"label":"U", "x":7.5, "y":2.5},
302 {"label":"I", "x":8.5, "y":2.5},
303 {"label":"O", "x":9.5, "y":2.5},
304 {"label":"P", "x":10.5, "y":2.5},
305 {"label":"{", "x":11.5, "y":2.5},
306 {"label":"}", "x":12.5, "y":2.5},
307 {"label":"|", "x":13.5, "y":2.5, "w":1.5},
308
309 {"label":"Delete", "x":15.25, "y":2.5},
310 {"label":"End", "x":16.25, "y":2.5},
311 {"label":"PgDn", "x":17.25, "y":2.5},
312
313 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
314 {"label":"A", "x":1.75, "y":3.5},
315 {"label":"S", "x":2.75, "y":3.5},
316 {"label":"D", "x":3.75, "y":3.5},
317 {"label":"F", "x":4.75, "y":3.5},
318 {"label":"G", "x":5.75, "y":3.5},
319 {"label":"H", "x":6.75, "y":3.5},
320 {"label":"J", "x":7.75, "y":3.5},
321 {"label":"K", "x":8.75, "y":3.5},
322 {"label":"L", "x":9.75, "y":3.5},
323 {"label":":", "x":10.75, "y":3.5},
324 {"label":"\"", "x":11.75, "y":3.5},
325 {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
326
327 {"label":"Shift", "x":0, "y":4.5, "w":2.25},
328 {"label":"Z", "x":2.25, "y":4.5},
329 {"label":"X", "x":3.25, "y":4.5},
330 {"label":"C", "x":4.25, "y":4.5},
331 {"label":"V", "x":5.25, "y":4.5},
332 {"label":"B", "x":6.25, "y":4.5},
333 {"label":"N", "x":7.25, "y":4.5},
334 {"label":"M", "x":8.25, "y":4.5},
335 {"label":"<", "x":9.25, "y":4.5},
336 {"label":">", "x":10.25, "y":4.5},
337 {"label":"?", "x":11.25, "y":4.5},
338 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
339
340 {"label":"\u2191", "x":16.25, "y":4.5},
341
342 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
343 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
344 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
345 {"x":3.75, "y":5.5, "w":6.25},
346 {"label":"Alt", "x":10, "y":5.5, "w":1.25},
347 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
348 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
349 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
350
351 {"label":"\u2190", "x":15.25, "y":5.5},
352 {"label":"\u2193", "x":16.25, "y":5.5},
353 {"label":"\u2192", "x":17.25, "y":5.5}
354 ]
355 },
356 "LAYOUT_tkl_iso": {
357 "layout": [
358 {"label":"Esc", "x":0, "y":0},
359 {"label":"F1", "x":2, "y":0},
360 {"label":"F2", "x":3, "y":0},
361 {"label":"F3", "x":4, "y":0},
362 {"label":"F4", "x":5, "y":0},
363 {"label":"F5", "x":6.5, "y":0},
364 {"label":"F6", "x":7.5, "y":0},
365 {"label":"F7", "x":8.5, "y":0},
366 {"label":"F8", "x":9.5, "y":0},
367 {"label":"F9", "x":11, "y":0},
368 {"label":"F10", "x":12, "y":0},
369 {"label":"F11", "x":13, "y":0},
370 {"label":"F12", "x":14, "y":0},
371
372 {"label":"PrtSc", "x":15.25, "y":0},
373 {"label":"Scroll Lock", "x":16.25, "y":0},
374 {"label":"Pause", "x":17.25, "y":0},
375
376 {"label":"\u00ac", "x":0, "y":1.5},
377 {"label":"!", "x":1, "y":1.5},
378 {"label":"\"", "x":2, "y":1.5},
379 {"label":"\u00a3", "x":3, "y":1.5},
380 {"label":"$", "x":4, "y":1.5},
381 {"label":"%", "x":5, "y":1.5},
382 {"label":"^", "x":6, "y":1.5},
383 {"label":"&", "x":7, "y":1.5},
384 {"label":"*", "x":8, "y":1.5},
385 {"label":"(", "x":9, "y":1.5},
386 {"label":")", "x":10, "y":1.5},
387 {"label":"_", "x":11, "y":1.5},
388 {"label":"+", "x":12, "y":1.5},
389 {"label":"Backspace", "x":13, "y":1.5, "w":2},
390
391 {"label":"Insert", "x":15.25, "y":1.5},
392 {"label":"Home", "x":16.25, "y":1.5},
393 {"label":"PgUp", "x":17.25, "y":1.5},
394
395 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
396 {"label":"Q", "x":1.5, "y":2.5},
397 {"label":"W", "x":2.5, "y":2.5},
398 {"label":"E", "x":3.5, "y":2.5},
399 {"label":"R", "x":4.5, "y":2.5},
400 {"label":"T", "x":5.5, "y":2.5},
401 {"label":"Y", "x":6.5, "y":2.5},
402 {"label":"U", "x":7.5, "y":2.5},
403 {"label":"I", "x":8.5, "y":2.5},
404 {"label":"O", "x":9.5, "y":2.5},
405 {"label":"P", "x":10.5, "y":2.5},
406 {"label":"{", "x":11.5, "y":2.5},
407 {"label":"}", "x":12.5, "y":2.5},
408
409 {"label":"Delete", "x":15.25, "y":2.5},
410 {"label":"End", "x":16.25, "y":2.5},
411 {"label":"PgDn", "x":17.25, "y":2.5},
412
413 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
414 {"label":"A", "x":1.75, "y":3.5},
415 {"label":"S", "x":2.75, "y":3.5},
416 {"label":"D", "x":3.75, "y":3.5},
417 {"label":"F", "x":4.75, "y":3.5},
418 {"label":"G", "x":5.75, "y":3.5},
419 {"label":"H", "x":6.75, "y":3.5},
420 {"label":"J", "x":7.75, "y":3.5},
421 {"label":"K", "x":8.75, "y":3.5},
422 {"label":"L", "x":9.75, "y":3.5},
423 {"label":":", "x":10.75, "y":3.5},
424 {"label":"@", "x":11.75, "y":3.5},
425 {"label":"~", "x":12.75, "y":3.5},
426 {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
427
428 {"label":"Shift", "x":0, "y":4.5, "w":1.25},
429 {"label":"|", "x":1.25, "y":4.5},
430 {"label":"Z", "x":2.25, "y":4.5},
431 {"label":"X", "x":3.25, "y":4.5},
432 {"label":"C", "x":4.25, "y":4.5},
433 {"label":"V", "x":5.25, "y":4.5},
434 {"label":"B", "x":6.25, "y":4.5},
435 {"label":"N", "x":7.25, "y":4.5},
436 {"label":"M", "x":8.25, "y":4.5},
437 {"label":"<", "x":9.25, "y":4.5},
438 {"label":">", "x":10.25, "y":4.5},
439 {"label":"?", "x":11.25, "y":4.5},
440 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
441
442 {"label":"\u2191", "x":16.25, "y":4.5},
443
444 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
445 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
446 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
447 {"x":3.75, "y":5.5, "w":6.25},
448 {"label":"AltGr", "x":10, "y":5.5, "w":1.25},
449 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
450 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
451 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
452
453 {"label":"\u2190", "x":15.25, "y":5.5},
454 {"label":"\u2193", "x":16.25, "y":5.5},
455 {"label":"\u2192", "x":17.25, "y":5.5}
456 ]
457 }
458 }
459}
diff --git a/keyboards/evyd13/wasdat/keymaps/default/keymap.c b/keyboards/evyd13/wasdat/keymaps/default/keymap.c
new file mode 100644
index 000000000..89de85c49
--- /dev/null
+++ b/keyboards/evyd13/wasdat/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /*
20 * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
21 * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│
22 * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
23 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
24 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
25 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
26 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │
27 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
28 * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │  Enter │               │ 4 │ 5 │ 6 │   │
29 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
30 * │ Shift  │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │
31 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
32 * │Ctrl│GUI │Alt │                        │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │
33 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
34 */
35 LAYOUT_fullsize_ansi(
36 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
37
38 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
39 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
40 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
41 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
43 )
44};
diff --git a/keyboards/evyd13/wasdat/keymaps/default/readme.md b/keyboards/evyd13/wasdat/keymaps/default/readme.md
new file mode 100644
index 000000000..66cf59389
--- /dev/null
+++ b/keyboards/evyd13/wasdat/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default ANSI keymap for the Wasdat
diff --git a/keyboards/evyd13/wasdat/keymaps/default_iso/keymap.c b/keyboards/evyd13/wasdat/keymaps/default_iso/keymap.c
new file mode 100644
index 000000000..fdc61cea4
--- /dev/null
+++ b/keyboards/evyd13/wasdat/keymaps/default_iso/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /*
20 * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
21 * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│
22 * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
23 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
24 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
25 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
26 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │     │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │
27 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │
28 * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │    │               │ 4 │ 5 │ 6 │   │
29 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤     ┌───┐     ├───┼───┼───┼───┤
30 * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │
31 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
32 * │Ctrl│GUI │Alt │                        │AlGr│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │
33 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
34 */
35 LAYOUT_fullsize_iso(
36 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
37
38 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
39 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
40 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
41 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
43 )
44};
diff --git a/keyboards/evyd13/wasdat/keymaps/default_iso/readme.md b/keyboards/evyd13/wasdat/keymaps/default_iso/readme.md
new file mode 100644
index 000000000..e36d76420
--- /dev/null
+++ b/keyboards/evyd13/wasdat/keymaps/default_iso/readme.md
@@ -0,0 +1 @@
# The default ISO keymap for the Wasdat
diff --git a/keyboards/evyd13/wasdat/keymaps/konstantin/config.h b/keyboards/evyd13/wasdat/keymaps/konstantin/config.h
new file mode 100644
index 000000000..1d12c7db3
--- /dev/null
+++ b/keyboards/evyd13/wasdat/keymaps/konstantin/config.h
@@ -0,0 +1,6 @@
1#pragma once
2
3#define DYNAMIC_KEYMAP_LAYER_COUNT 3
4
5#define LAYER_FN
6#define LAYER_NUMPAD
diff --git a/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c b/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c
new file mode 100644
index 000000000..481c5fd1f
--- /dev/null
+++ b/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c
@@ -0,0 +1,79 @@
1#include QMK_KEYBOARD_H
2#include "konstantin.h"
3
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 /* Base layer
6 * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐
7 * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12││PSc│SLk│Pau│
8 * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘
9 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐
10 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bspace ││Ins│Hom│PgU│
11 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
12 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ ││Del│End│PgD│
13 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐Ent │└───┴───┴───┘
14 * │FnCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │
15 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐
16 * │LSft│RAG│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ RShift │ │ ↑ │
17 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐
18 * │LCtl│LGui│LAlt│ Space │RAlt│RGui│FnFL│RCtl││ ← │ ↓ │ → │
19 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
20 */
21 [L_BASE] = LAYOUT_tkl_iso(
22 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
23 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
24 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,
25 FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
26 KC_LSFT, RAL_RGU, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
27 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, FN_FNLK, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
28 ),
29
30 /* Fn layer
31 * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐
32 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │Num│Mut│
33 * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘
34 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐
35 * │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Clear ││Ply│Stp│Vo+│
36 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
37 * │ M4 │M2 │M↑ │M1 │M3 │M5 │ │UCM│ │ │ │ │ │ ││Prv│Nxt│Vo-│
38 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │└───┴───┴───┘
39 * │ │M← │M↓ │M→ │MW↑│ │ │ │ │ │ │ │ │ │
40 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐
41 * │ │ │MA0│MA2│MW←│MW→│ │ │App│ │ │ │ │ │PgU│
42 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐
43 * │ │DtPR│DtNA│ MW↓ │ │ │ │ ││Hom│PgD│End│
44 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
45 */
46 [L_FN] = LAYOUT_tkl_iso(
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NUMPAD, KC_MUTE,
48 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, CLEAR, KC_MPLY, KC_MSTP, KC_VOLU,
49 KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_MOD, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
50 _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______,
51 _______, _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP, _______, _______, _______, _______, KC_PGUP,
52 _______, DST_P_R, DST_N_A, KC_WH_D, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
53 ),
54
55 /* Numpad layer
56 * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐
57 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │Num│ │
58 * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘
59 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐
60 * │ │ │ │ │ │ │ │P7 │P8 │P9 │P- │ − │ = │ ││ │ │ │
61 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤
62 * │ │ │ │ │ │ │ │P4 │P5 │P6 │P+ │ ( │ ) │ ││ │ │ │
63 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐PEnt│└───┴───┴───┘
64 * │ │ │ │ │ │ │ │P1 │P2 │P3 │P* │ × │ │ │
65 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐
66 * │ │ │ │ │ │ │ │P0 │P0 │ , │P. │P/ │ ÷ │ │ │
67 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐
68 * │ │ │ │ │ │ │ │ ││ │ │ │
69 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
70 */
71 [L_NUMPAD] = LAYOUT_tkl_iso(
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NUMPAD, _______,
73 _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, MINUS, EQUALS, _______, _______, _______, _______,
74 _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, L_PAREN, R_PAREN, _______, _______, _______,
75 _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PAST, TIMES, _______, KC_PENT,
76 _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_P0, COMMA, KC_PDOT, KC_PSLS, DIVIDE, _______,
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
78 ),
79};
diff --git a/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk b/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk
new file mode 100644
index 000000000..f70005d3f
--- /dev/null
+++ b/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk
@@ -0,0 +1,17 @@
1# Generic features
2BOOTMAGIC_ENABLE = lite
3COMMAND_ENABLE = yes
4CONSOLE_ENABLE = yes
5EXTRAKEY_ENABLE = yes
6MOUSEKEY_ENABLE = yes
7NKRO_ENABLE = yes
8TAP_DANCE_ENABLE = yes
9UNICODEMAP_ENABLE = yes
10
11# Keyboard-specific features
12VIA_ENABLE = yes
13
14# Firmware size reduction
15GRAVE_ESC_ENABLE = no
16MAGIC_ENABLE = no
17SPACE_CADET_ENABLE = no
diff --git a/keyboards/evyd13/wasdat/keymaps/via/keymap.c b/keyboards/evyd13/wasdat/keymaps/via/keymap.c
new file mode 100644
index 000000000..9ad78d60d
--- /dev/null
+++ b/keyboards/evyd13/wasdat/keymaps/via/keymap.c
@@ -0,0 +1,96 @@
1/* Copyright 2020
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /*
20 * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
21 * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│
22 * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
23 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
24 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
25 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
26 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │
27 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
28 * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │  Enter │               │ 4 │ 5 │ 6 │   │
29 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
30 * │Shft│ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │
31 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
32 * │Ctrl│GUI │Alt │                        │ Alt│ GUI│FnMn│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │
33 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
34 */
35 LAYOUT_all(
36 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
37
38 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
39 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
40 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
41 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_APP), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
43 ),
44
45 /*
46 * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
47 * │Rst│   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │
48 * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
49 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
50 * │   │   │   │   │   │   │   │   │   │   │   │   │   │       │ │   │   │   │ │   │   │   │   │
51 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
52 * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │ │   │   │   │   │
53 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤   │
54 * │      │   │   │   │   │   │   │   │   │   │   │   │        │               │   │   │   │   │
55 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
56 * │    │   │   │   │   │   │   │   │   │   │   │   │          │     │   │     │   │   │   │   │
57 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤   │
58 * │    │    │    │                        │    │    │    │    │ │   │   │   │ │       │   │   │
59 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
60 */
61 LAYOUT_all(
62 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
63
64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
69 ),
70
71 /*
72 * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
73 * │   │   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │
74 * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
75 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
76 * │   │   │   │   │   │   │   │   │   │   │   │   │   │       │ │   │   │   │ │   │   │   │   │
77 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
78 * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │ │   │   │   │   │
79 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤   │
80 * │      │   │   │   │   │   │   │   │   │   │   │   │        │               │   │   │   │   │
81 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
82 * │    │   │   │   │   │   │   │   │   │   │   │   │          │     │   │     │   │   │   │   │
83 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤   │
84 * │    │    │    │                        │    │    │    │    │ │   │   │   │ │       │   │   │
85 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
86 */
87 LAYOUT_all(
88 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
89
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
91 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
93 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
95 )
96};
diff --git a/keyboards/evyd13/wasdat/keymaps/via/rules.mk b/keyboards/evyd13/wasdat/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/wasdat/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/wasdat/matrix.c b/keyboards/evyd13/wasdat/matrix.c
new file mode 100644
index 000000000..6dd79b533
--- /dev/null
+++ b/keyboards/evyd13/wasdat/matrix.c
@@ -0,0 +1,344 @@
1/*
2Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include <stdint.h>
18#include <stdbool.h>
19#include "wait.h"
20#include "util.h"
21#include "matrix.h"
22#include "debounce.h"
23#include "quantum.h"
24
25#ifdef DIRECT_PINS
26static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
27#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW)
28static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
29//static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
30#endif
31
32// matrix code
33
34#ifdef DIRECT_PINS
35
36static void init_pins(void) {
37 for (int row = 0; row < MATRIX_ROWS; row++) {
38 for (int col = 0; col < MATRIX_COLS; col++) {
39 pin_t pin = direct_pins[row][col];
40 if (pin != NO_PIN) {
41 setPinInputHigh(pin);
42 }
43 }
44 }
45}
46
47static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
48 matrix_row_t last_row_value = current_matrix[current_row];
49 current_matrix[current_row] = 0;
50
51 for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
52 pin_t pin = direct_pins[current_row][col_index];
53 if (pin != NO_PIN) {
54 current_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
55 }
56 }
57
58 return (last_row_value != current_matrix[current_row]);
59}
60
61#elif (DIODE_DIRECTION == COL2ROW)
62
63static void select_row(uint8_t row) {
64 setPinOutput(row_pins[row]);
65 writePinLow(row_pins[row]);
66}
67
68static void unselect_row(uint8_t row) { setPinInputHigh(row_pins[row]); }
69
70static void unselect_rows(void) {
71 for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
72 setPinInputHigh(row_pins[x]);
73 }
74}
75
76static void init_pins(void) {
77 unselect_rows();
78 for (uint8_t x = 0; x < MATRIX_COLS; x++) {
79 setPinInputHigh(col_pins[x]);
80 }
81}
82
83static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
84 // Store last value of row prior to reading
85 matrix_row_t last_row_value = current_matrix[current_row];
86
87 // Clear data in matrix row
88 current_matrix[current_row] = 0;
89
90 // Select row and wait for row selecton to stabilize
91 select_row(current_row);
92 wait_us(30);
93
94 // For each col...
95 for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
96
97 // Select the col pin to read (active low)
98 uint8_t pin_state = readPin(col_pins[col_index]);
99
100 // Populate the matrix row with the state of the col pin
101 current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index);
102 }
103
104 // Unselect row
105 unselect_row(current_row);
106
107 return (last_row_value != current_matrix[current_row]);
108}
109
110#elif (DIODE_DIRECTION == ROW2COL)
111
112/* Cols 0 - 15
113 * col 0: C7
114 * col 1: B6
115 * col 2: C6
116 * col 3: B4
117 * col 4: B5
118 * col 5: D7
119 * These columns use a 74HC237D 3 to 8 bit demultiplexer.
120 * A0 A1 A2
121 * col / pin: PD2 PD1 PD0
122 * 6: 1 1 1
123 * 7: 0 1 1
124 * 8: 1 0 1
125 * 9: 0 0 1
126 * 10: 1 1 0
127 * 11: 0 1 0
128 * 12: 1 0 0
129 * col 13: D3
130 * col 14: B7
131 * col 15: B3
132 */
133static void select_col(uint8_t col) {
134 switch (col) {
135 case 0:
136 writePinLow(C7);
137 break;
138 case 1:
139 writePinLow(B6);
140 break;
141 case 2:
142 writePinLow(C6);
143 break;
144 case 3:
145 writePinLow(B4);
146 break;
147 case 4:
148 writePinLow(B5);
149 break;
150 case 5:
151 writePinLow(D7);
152 break;
153 case 6:
154 writePinHigh(D0);
155 writePinHigh(D1);
156 writePinHigh(D2);
157 break;
158 case 7:
159 writePinHigh(D0);
160 writePinHigh(D1);
161 break;
162 case 8:
163 writePinHigh(D0);
164 writePinHigh(D2);
165 break;
166 case 9:
167 writePinHigh(D0);
168 break;
169 case 10:
170 writePinHigh(D1);
171 writePinHigh(D2);
172 break;
173 case 11:
174 writePinHigh(D1);
175 break;
176 case 12:
177 writePinHigh(D2);
178 break;
179 case 13:
180 writePinLow(D3);
181 break;
182 case 14:
183 writePinLow(B7);
184 break;
185 case 15:
186 writePinLow(B3);
187 break;
188 }
189}
190
191static void unselect_col(uint8_t col) {
192 switch (col) {
193 case 0:
194 writePinHigh(C7);
195 break;
196 case 1:
197 writePinHigh(B6);
198 break;
199 case 2:
200 writePinHigh(C6);
201 break;
202 case 3:
203 writePinHigh(B4);
204 break;
205 case 4:
206 writePinHigh(B5);
207 break;
208 case 5:
209 writePinHigh(D7);
210 break;
211 case 6:
212 writePinLow(D0);
213 writePinLow(D1);
214 writePinLow(D2);
215 break;
216 case 7:
217 writePinLow(D0);
218 writePinLow(D1);
219 break;
220 case 8:
221 writePinLow(D0);
222 writePinLow(D2);
223 break;
224 case 9:
225 writePinLow(D0);
226 break;
227 case 10:
228 writePinLow(D1);
229 writePinLow(D2);
230 break;
231 case 11:
232 writePinLow(D1);
233 break;
234 case 12:
235 writePinLow(D2);
236 break;
237 case 13:
238 writePinHigh(D3);
239 break;
240 case 14:
241 writePinHigh(B7);
242 break;
243 case 15:
244 writePinHigh(B3);
245 break;
246 }
247}
248
249static void unselect_cols(void) {
250 //Native
251 setPinOutput(D3);
252 setPinOutput(D7);
253 writePinHigh(D3);
254 writePinHigh(D7);
255
256 setPinOutput(C6);
257 setPinOutput(C7);
258 writePinHigh(C6);
259 writePinHigh(C7);
260
261 setPinOutput(B3);
262 setPinOutput(B4);
263 setPinOutput(B5);
264 setPinOutput(B6);
265 setPinOutput(B7);
266 writePinHigh(B3);
267 writePinHigh(B4);
268 writePinHigh(B5);
269 writePinHigh(B6);
270 writePinHigh(B7);
271
272 //Demultiplexer
273 setPinOutput(D0);
274 setPinOutput(D1);
275 setPinOutput(D2);
276 writePinLow(D0);
277 writePinLow(D1);
278 writePinLow(D2);
279}
280
281static void init_pins(void) {
282 unselect_cols();
283 for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
284 setPinInputHigh(row_pins[x]);
285 }
286}
287
288static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) {
289 bool matrix_changed = false;
290
291 // Select col and wait for col selecton to stabilize
292 select_col(current_col);
293 wait_us(30);
294
295 // For each row...
296 for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) {
297 // Store last value of row prior to reading
298 matrix_row_t last_row_value = current_matrix[row_index];
299
300 // Check row pin state
301 if (readPin(row_pins[row_index]) == 0) {
302 // Pin LO, set col bit
303 current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col);
304 } else {
305 // Pin HI, clear col bit
306 current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col);
307 }
308
309 // Determine if the matrix changed state
310 if ((last_row_value != current_matrix[row_index]) && !(matrix_changed)) {
311 matrix_changed = true;
312 }
313 }
314
315 // Unselect col
316 unselect_col(current_col);
317
318 return matrix_changed;
319}
320
321#endif
322
323void matrix_init_custom(void) {
324 // initialize key pins
325 init_pins();
326}
327
328bool matrix_scan_custom(matrix_row_t current_matrix[]) {
329 bool changed = false;
330
331#if defined(DIRECT_PINS) || (DIODE_DIRECTION == COL2ROW)
332 // Set row, read cols
333 for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
334 changed |= read_cols_on_row(current_matrix, current_row);
335 }
336#elif (DIODE_DIRECTION == ROW2COL)
337 // Set col, read rows
338 for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) {
339 changed |= read_rows_on_col(current_matrix, current_col);
340 }
341#endif
342
343 return changed;
344}
diff --git a/keyboards/evyd13/wasdat/readme.md b/keyboards/evyd13/wasdat/readme.md
new file mode 100644
index 000000000..40a06b593
--- /dev/null
+++ b/keyboards/evyd13/wasdat/readme.md
@@ -0,0 +1,21 @@
1# Wasdat
2
3![wasdat](https://maartenwut.com/wp-content/uploads/2019/02/by72xkc5-600x600.jpg)
4
5A drop-in replacement controller for the WASD v2 TKL and fullsize models.
6
7* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
8* Hardware Supported: WASD v2 TKL/Fullsize ANSI & ISO with Wasdat controller
9* Hardware Availability: [maartenwut.com](https://maartenwut.com/product/wasdat/)
10
11## Flashing
12
13The WASD has no reset button, but it does have a bank of DIP switches on the bottom, so to enter the bootloader on this board, simply toggle the first one on and off.
14
15---
16
17Make example for this keyboard (after setting up your build environment):
18
19 make evyd13/wasdat:default
20
21See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/evyd13/wasdat/rules.mk b/keyboards/evyd13/wasdat/rules.mk
new file mode 100644
index 000000000..575e63f5b
--- /dev/null
+++ b/keyboards/evyd13/wasdat/rules.mk
@@ -0,0 +1,36 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = yes # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
30AUDIO_ENABLE = no # Audio output on port C6
31FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
32
33CUSTOM_MATRIX = lite
34SRC += matrix.c
35
36LAYOUTS = fullsize_ansi fullsize_iso tkl_ansi tkl_iso
diff --git a/keyboards/evyd13/wasdat/wasdat.c b/keyboards/evyd13/wasdat/wasdat.c
new file mode 100644
index 000000000..2d0e999c4
--- /dev/null
+++ b/keyboards/evyd13/wasdat/wasdat.c
@@ -0,0 +1,47 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "wasdat.h"
17
18// Optional override functions below.
19// You can leave any or all of these undefined.
20// These are only required if you want to perform custom actions.
21
22void matrix_init_kb(void) {
23 // put your keyboard start-up code here
24 // runs once when the firmware starts up
25
26 matrix_init_user();
27 led_init_ports();
28}
29
30void led_init_ports(void) {
31 setPinOutput(B0);
32 writePinHigh(B0);
33 setPinOutput(B1);
34 writePinHigh(B1);
35 setPinOutput(B2);
36 writePinHigh(B2);
37}
38
39bool led_update_kb(led_t led_state) {
40 if(led_update_user(led_state)) {
41 writePin(B0, !led_state.caps_lock);
42 writePin(B1, !led_state.scroll_lock);
43 writePin(B2, !led_state.num_lock);
44 }
45
46 return true;
47}
diff --git a/keyboards/evyd13/wasdat/wasdat.h b/keyboards/evyd13/wasdat/wasdat.h
new file mode 100644
index 000000000..be0472f39
--- /dev/null
+++ b/keyboards/evyd13/wasdat/wasdat.h
@@ -0,0 +1,123 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19
20#define XXX KC_NO
21
22/* This is a shortcut to help you visually see your layout.
23 *
24 * The first section contains all of the arguments representing the physical
25 * layout of the board and position of the keys.
26 *
27 * The second converts the arguments into a two-dimensional array which
28 * represents the switch matrix.
29 */
30#define LAYOUT_all( \
31 K05, K44, K42, K32, K02, K21, K0A, K3E, K4E, K4D, K2D, K0D, K7D, K23, K53, K51, \
32 K45, K25, K24, K22, K20, K40, K48, K28, K2A, K2E, K2F, K4F, K4A, K3D, K47, K4C, K46, K69, K67, K66, K76, \
33 K35, K55, K54, K52, K50, K30, K38, K58, K5A, K5E, K5F, K3F, K3A, K1D, K49, K2C, K26, K59, K57, K56, K5C, \
34 K34, K15, K14, K12, K10, K00, K08, K18, K1A, K1E, K1F, K0F, K6D, K39, K37, K36, \
35 K3B, K04, K65, K64, K62, K60, K70, K78, K68, K6A, K6E, K7F, K1B, K0C, K19, K17, K16, K1C, \
36 K41, K31, K03, K09, K73, K11, K33, K61, K7C, K79, K77, K07, K06 \
37) \
38{ \
39 { K00, XXX, K02, K03, K04, K05, K06, K07, K08, K09, K0A, XXX, K0C, K0D, XXX, K0F }, \
40 { K10, K11, K12, XXX, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
41 { K20, K21, K22, K23, K24, K25, K26, XXX, K28, XXX, K2A, XXX, K2C, K2D, K2E, K2F }, \
42 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \
43 { K40, K41, K42, XXX, K44, K45, K46, K47, K48, K49, K4A, XXX, K4C, K4D, K4E, K4F }, \
44 { K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, XXX, K5C, XXX, K5E, K5F }, \
45 { K60, K61, K62, XXX, K64, K65, K66, K67, K68, K69, K6A, XXX, XXX, K6D, K6E, XXX }, \
46 { K70, XXX, XXX, K73, XXX, XXX, K76, K77, K78, K79, XXX, XXX, K7C, K7D, XXX, K7F } \
47}
48
49#define LAYOUT_fullsize_ansi( \
50 K05, K44, K42, K32, K02, K21, K0A, K3E, K4E, K4D, K2D, K0D, K7D, K23, K53, K51, \
51 K45, K25, K24, K22, K20, K40, K48, K28, K2A, K2E, K2F, K4F, K4A, K3D, K47, K4C, K46, K69, K67, K66, K76, \
52 K35, K55, K54, K52, K50, K30, K38, K58, K5A, K5E, K5F, K3F, K3A, K1D, K49, K2C, K26, K59, K57, K56, K5C, \
53 K34, K15, K14, K12, K10, K00, K08, K18, K1A, K1E, K1F, K0F, K6D, K39, K37, K36, \
54 K3B, K65, K64, K62, K60, K70, K78, K68, K6A, K6E, K7F, K1B, K0C, K19, K17, K16, K1C, \
55 K41, K31, K03, K09, K73, K11, K33, K61, K7C, K79, K77, K07, K06 \
56) \
57{ \
58 { K00, XXX, K02, K03, XXX, K05, K06, K07, K08, K09, K0A, XXX, K0C, K0D, XXX, K0F }, \
59 { K10, K11, K12, XXX, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
60 { K20, K21, K22, K23, K24, K25, K26, XXX, K28, XXX, K2A, XXX, K2C, K2D, K2E, K2F }, \
61 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \
62 { K40, K41, K42, XXX, K44, K45, K46, K47, K48, K49, K4A, XXX, K4C, K4D, K4E, K4F }, \
63 { K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, XXX, K5C, XXX, K5E, K5F }, \
64 { K60, K61, K62, XXX, K64, K65, K66, K67, K68, K69, K6A, XXX, XXX, K6D, K6E, XXX }, \
65 { K70, XXX, XXX, K73, XXX, XXX, K76, K77, K78, K79, XXX, XXX, K7C, K7D, XXX, K7F } \
66}
67
68#define LAYOUT_fullsize_iso( \
69 K05, K44, K42, K32, K02, K21, K0A, K3E, K4E, K4D, K2D, K0D, K7D, K23, K53, K51, \
70 K45, K25, K24, K22, K20, K40, K48, K28, K2A, K2E, K2F, K4F, K4A, K3D, K47, K4C, K46, K69, K67, K66, K76, \
71 K35, K55, K54, K52, K50, K30, K38, K58, K5A, K5E, K5F, K3F, K3A, K49, K2C, K26, K59, K57, K56, K5C, \
72 K34, K15, K14, K12, K10, K00, K08, K18, K1A, K1E, K1F, K0F, K1D, K6D, K39, K37, K36, \
73 K3B, K04, K65, K64, K62, K60, K70, K78, K68, K6A, K6E, K7F, K1B, K0C, K19, K17, K16, K1C, \
74 K41, K31, K03, K09, K73, K11, K33, K61, K7C, K79, K77, K07, K06 \
75) \
76{ \
77 { K00, XXX, K02, K03, K04, K05, K06, K07, K08, K09, K0A, XXX, K0C, K0D, XXX, K0F }, \
78 { K10, K11, K12, XXX, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
79 { K20, K21, K22, K23, K24, K25, K26, XXX, K28, XXX, K2A, XXX, K2C, K2D, K2E, K2F }, \
80 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \
81 { K40, K41, K42, XXX, K44, K45, K46, K47, K48, K49, K4A, XXX, K4C, K4D, K4E, K4F }, \
82 { K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, XXX, K5C, XXX, K5E, K5F }, \
83 { K60, K61, K62, XXX, K64, K65, K66, K67, K68, K69, K6A, XXX, XXX, K6D, K6E, XXX }, \
84 { K70, XXX, XXX, K73, XXX, XXX, K76, K77, K78, K79, XXX, XXX, K7C, K7D, XXX, K7F } \
85}
86
87#define LAYOUT_tkl_ansi( \
88 K05, K44, K42, K32, K02, K21, K0A, K3E, K4E, K4D, K2D, K0D, K7D, K23, K53, K51, \
89 K45, K25, K24, K22, K20, K40, K48, K28, K2A, K2E, K2F, K4F, K4A, K3D, K47, K4C, K46, \
90 K35, K55, K54, K52, K50, K30, K38, K58, K5A, K5E, K5F, K3F, K3A, K1D, K49, K2C, K26, \
91 K34, K15, K14, K12, K10, K00, K08, K18, K1A, K1E, K1F, K0F, K6D, \
92 K3B, K65, K64, K62, K60, K70, K78, K68, K6A, K6E, K7F, K1B, K0C, \
93 K41, K31, K03, K09, K73, K11, K33, K61, K7C, K79, K77 \
94) \
95{ \
96 { K00, XXX, K02, K03, XXX, K05, XXX, XXX, K08, K09, K0A, XXX, K0C, K0D, XXX, K0F }, \
97 { K10, K11, K12, XXX, K14, K15, XXX, XXX, K18, XXX, K1A, K1B, XXX, K1D, K1E, K1F }, \
98 { K20, K21, K22, K23, K24, K25, K26, XXX, K28, XXX, K2A, XXX, K2C, K2D, K2E, K2F }, \
99 { K30, K31, K32, K33, K34, K35, XXX, XXX, K38, XXX, K3A, K3B, XXX, K3D, K3E, K3F }, \
100 { K40, K41, K42, XXX, K44, K45, K46, K47, K48, K49, K4A, XXX, K4C, K4D, K4E, K4F }, \
101 { K50, K51, K52, K53, K54, K55, XXX, XXX, K58, XXX, K5A, XXX, XXX, XXX, K5E, K5F }, \
102 { K60, K61, K62, XXX, K64, K65, XXX, XXX, K68, XXX, K6A, XXX, XXX, K6D, K6E, XXX }, \
103 { K70, XXX, XXX, K73, XXX, XXX, XXX, K77, K78, K79, XXX, XXX, K7C, K7D, XXX, K7F } \
104}
105
106#define LAYOUT_tkl_iso( \
107 K05, K44, K42, K32, K02, K21, K0A, K3E, K4E, K4D, K2D, K0D, K7D, K23, K53, K51, \
108 K45, K25, K24, K22, K20, K40, K48, K28, K2A, K2E, K2F, K4F, K4A, K3D, K47, K4C, K46, \
109 K35, K55, K54, K52, K50, K30, K38, K58, K5A, K5E, K5F, K3F, K3A, K49, K2C, K26, \
110 K34, K15, K14, K12, K10, K00, K08, K18, K1A, K1E, K1F, K0F, K1D, K6D, \
111 K3B, K04, K65, K64, K62, K60, K70, K78, K68, K6A, K6E, K7F, K1B, K0C, \
112 K41, K31, K03, K09, K73, K11, K33, K61, K7C, K79, K77 \
113) \
114{ \
115 { K00, XXX, K02, K03, K04, K05, XXX, XXX, K08, K09, K0A, XXX, K0C, K0D, XXX, K0F }, \
116 { K10, K11, K12, XXX, K14, K15, XXX, XXX, K18, XXX, K1A, K1B, XXX, K1D, K1E, K1F }, \
117 { K20, K21, K22, K23, K24, K25, K26, XXX, K28, XXX, K2A, XXX, K2C, K2D, K2E, K2F }, \
118 { K30, K31, K32, K33, K34, K35, XXX, XXX, K38, XXX, K3A, K3B, XXX, K3D, K3E, K3F }, \
119 { K40, K41, K42, XXX, K44, K45, K46, K47, K48, K49, K4A, XXX, K4C, K4D, K4E, K4F }, \
120 { K50, K51, K52, K53, K54, K55, XXX, XXX, K58, XXX, K5A, XXX, XXX, XXX, K5E, K5F }, \
121 { K60, K61, K62, XXX, K64, K65, XXX, XXX, K68, XXX, K6A, XXX, XXX, K6D, K6E, XXX }, \
122 { K70, XXX, XXX, K73, XXX, XXX, XXX, K77, K78, K79, XXX, XXX, K7C, K7D, XXX, K7F } \
123}
diff --git a/keyboards/evyd13/wasdat_code/config.h b/keyboards/evyd13/wasdat_code/config.h
new file mode 100644
index 000000000..f4b15ced3
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/config.h
@@ -0,0 +1,230 @@
1/*
2Copyright 2019 Evy Dekkers
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4705
24#define PRODUCT_ID 0xB00E
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Evyd13
27#define PRODUCT Wasdat Code
28#define DESCRIPTION Custom controller for the WASD CODE TKL and 104-key keyboards
29
30/* key matrix size */
31#define MATRIX_ROWS 8
32#define MATRIX_COLS 16
33
34/*
35 * Keyboard Matrix Assignments
36 *
37 * Change this to how you wired your keyboard
38 * COLS: AVR pins used for columns, left to right
39 * ROWS: AVR pins used for rows, top to bottom
40 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
41 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
42 *
43*/
44#define MATRIX_ROW_PINS { E6, C7, C6, B6, B5, B4, D7, D6 }
45#define MATRIX_COL_PINS { }
46#define UNUSED_PINS
47
48/* COL2ROW, ROW2COL*/
49#define DIODE_DIRECTION ROW2COL
50
51// For QMK DFU
52#define QMK_ESC_OUTPUT E6
53#define QMK_ESC_INPUT F0
54#define QMK_LED B1
55
56/*
57 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
58 */
59//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
60
61#define BACKLIGHT_PIN B7
62#define BACKLIGHT_BREATHING
63#define BACKLIGHT_LEVELS 5
64
65// #define RGB_DI_PIN E2
66// #ifdef RGB_DI_PIN
67// #define RGBLED_NUM 16
68// #define RGBLIGHT_HUE_STEP 8
69// #define RGBLIGHT_SAT_STEP 8
70// #define RGBLIGHT_VAL_STEP 8
71// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
72// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
73// /*== all animations enable ==*/
74// #define RGBLIGHT_ANIMATIONS
75// /*== or choose animations ==*/
76// #define RGBLIGHT_EFFECT_BREATHING
77// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
78// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
79// #define RGBLIGHT_EFFECT_SNAKE
80// #define RGBLIGHT_EFFECT_KNIGHT
81// #define RGBLIGHT_EFFECT_CHRISTMAS
82// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
83// #define RGBLIGHT_EFFECT_RGB_TEST
84// #define RGBLIGHT_EFFECT_ALTERNATING
85// /*== customize breathing effect ==*/
86// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
87// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
88// /*==== use exp() and sin() ====*/
89// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
90// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
91// #endif
92
93/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
94#define DEBOUNCE 5
95
96/* define if matrix has ghost (lacks anti-ghosting diodes) */
97//#define MATRIX_HAS_GHOST
98
99/* number of backlight levels */
100
101/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
102#define LOCKING_SUPPORT_ENABLE
103/* Locking resynchronize hack */
104#define LOCKING_RESYNC_ENABLE
105
106/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
107 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
108 */
109// #define GRAVE_ESC_CTRL_OVERRIDE
110
111/*
112 * Force NKRO
113 *
114 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
115 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
116 * makefile for this to work.)
117 *
118 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
119 * until the next keyboard reset.
120 *
121 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
122 * fully operational during normal computer usage.
123 *
124 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
125 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
126 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
127 * power-up.
128 *
129 */
130//#define FORCE_NKRO
131
132/*
133 * Magic Key Options
134 *
135 * Magic keys are hotkey commands that allow control over firmware functions of
136 * the keyboard. They are best used in combination with the HID Listen program,
137 * found here: https://www.pjrc.com/teensy/hid_listen.html
138 *
139 * The options below allow the magic key functionality to be changed. This is
140 * useful if your keyboard/keypad is missing keys and you want magic key support.
141 *
142 */
143
144/* key combination for magic key command */
145/* defined by default; to change, uncomment and set to the combination you want */
146// #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
147
148/* control how magic key switches layers */
149//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
150//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
151//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
152
153/* override magic key keymap */
154//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
155//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
156//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
157//#define MAGIC_KEY_HELP H
158//#define MAGIC_KEY_HELP_ALT SLASH
159//#define MAGIC_KEY_DEBUG D
160//#define MAGIC_KEY_DEBUG_MATRIX X
161//#define MAGIC_KEY_DEBUG_KBD K
162//#define MAGIC_KEY_DEBUG_MOUSE M
163//#define MAGIC_KEY_VERSION V
164//#define MAGIC_KEY_STATUS S
165//#define MAGIC_KEY_CONSOLE C
166//#define MAGIC_KEY_LAYER0 0
167//#define MAGIC_KEY_LAYER0_ALT GRAVE
168//#define MAGIC_KEY_LAYER1 1
169//#define MAGIC_KEY_LAYER2 2
170//#define MAGIC_KEY_LAYER3 3
171//#define MAGIC_KEY_LAYER4 4
172//#define MAGIC_KEY_LAYER5 5
173//#define MAGIC_KEY_LAYER6 6
174//#define MAGIC_KEY_LAYER7 7
175//#define MAGIC_KEY_LAYER8 8
176//#define MAGIC_KEY_LAYER9 9
177//#define MAGIC_KEY_BOOTLOADER B
178//#define MAGIC_KEY_BOOTLOADER_ALT ESC
179//#define MAGIC_KEY_LOCK CAPS
180//#define MAGIC_KEY_EEPROM E
181//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
182//#define MAGIC_KEY_NKRO N
183//#define MAGIC_KEY_SLEEP_LED Z
184
185/*
186 * Feature disable options
187 * These options are also useful to firmware size reduction.
188 */
189
190/* disable debug print */
191//#define NO_DEBUG
192
193/* disable print */
194//#define NO_PRINT
195
196/* disable action features */
197//#define NO_ACTION_LAYER
198//#define NO_ACTION_TAPPING
199//#define NO_ACTION_ONESHOT
200//#define NO_ACTION_MACRO
201//#define NO_ACTION_FUNCTION
202
203/*
204 * MIDI options
205 */
206
207/* Prevent use of disabled MIDI features in the keymap */
208//#define MIDI_ENABLE_STRICT 1
209
210/* enable basic MIDI features:
211 - MIDI notes can be sent when in Music mode is on
212*/
213//#define MIDI_BASIC
214
215/* enable advanced MIDI features:
216 - MIDI notes can be added to the keymap
217 - Octave shift and transpose
218 - Virtual sustain, portamento, and modulation wheel
219 - etc.
220*/
221//#define MIDI_ADVANCED
222
223/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
224//#define MIDI_TONE_KEYCODE_OCTAVES 1
225
226/* Bootmagic Lite key configuration */
227#define BOOTMAGIC_LITE_ROW 2
228#define BOOTMAGIC_LITE_COLUMN 3
229
230#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/evyd13/wasdat_code/info.json b/keyboards/evyd13/wasdat_code/info.json
new file mode 100644
index 000000000..4e6ed630c
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/info.json
@@ -0,0 +1,459 @@
1{
2 "keyboard_name": "Wasdat Code",
3 "url": "https://maartenwut.com/product/wasdat-code/",
4 "maintainer": "evyd13",
5 "width": 22.5,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT_fullsize_ansi": {
9 "layout": [
10 {"label":"Esc", "x":0, "y":0},
11 {"label":"F1", "x":2, "y":0},
12 {"label":"F2", "x":3, "y":0},
13 {"label":"F3", "x":4, "y":0},
14 {"label":"F4", "x":5, "y":0},
15 {"label":"F5", "x":6.5, "y":0},
16 {"label":"F6", "x":7.5, "y":0},
17 {"label":"F7", "x":8.5, "y":0},
18 {"label":"F8", "x":9.5, "y":0},
19 {"label":"F9", "x":11, "y":0},
20 {"label":"F10", "x":12, "y":0},
21 {"label":"F11", "x":13, "y":0},
22 {"label":"F12", "x":14, "y":0},
23
24 {"label":"PrtSc", "x":15.25, "y":0},
25 {"label":"Scroll Lock", "x":16.25, "y":0},
26 {"label":"Pause", "x":17.25, "y":0},
27
28 {"label":"~", "x":0, "y":1.5},
29 {"label":"1", "x":1, "y":1.5},
30 {"label":"2", "x":2, "y":1.5},
31 {"label":"3", "x":3, "y":1.5},
32 {"label":"4", "x":4, "y":1.5},
33 {"label":"5", "x":5, "y":1.5},
34 {"label":"6", "x":6, "y":1.5},
35 {"label":"7", "x":7, "y":1.5},
36 {"label":"8", "x":8, "y":1.5},
37 {"label":"9", "x":9, "y":1.5},
38 {"label":"0", "x":10, "y":1.5},
39 {"label":"_", "x":11, "y":1.5},
40 {"label":"+", "x":12, "y":1.5},
41 {"label":"Backspace", "x":13, "y":1.5, "w":2},
42
43 {"label":"Insert", "x":15.25, "y":1.5},
44 {"label":"Home", "x":16.25, "y":1.5},
45 {"label":"PgUp", "x":17.25, "y":1.5},
46
47 {"label":"Num Lock", "x":18.5, "y":1.5},
48 {"label":"/", "x":19.5, "y":1.5},
49 {"label":"*", "x":20.5, "y":1.5},
50 {"label":"-", "x":21.5, "y":1.5},
51
52 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
53 {"label":"Q", "x":1.5, "y":2.5},
54 {"label":"W", "x":2.5, "y":2.5},
55 {"label":"E", "x":3.5, "y":2.5},
56 {"label":"R", "x":4.5, "y":2.5},
57 {"label":"T", "x":5.5, "y":2.5},
58 {"label":"Y", "x":6.5, "y":2.5},
59 {"label":"U", "x":7.5, "y":2.5},
60 {"label":"I", "x":8.5, "y":2.5},
61 {"label":"O", "x":9.5, "y":2.5},
62 {"label":"P", "x":10.5, "y":2.5},
63 {"label":"{", "x":11.5, "y":2.5},
64 {"label":"}", "x":12.5, "y":2.5},
65 {"label":"|", "x":13.5, "y":2.5, "w":1.5},
66
67 {"label":"Delete", "x":15.25, "y":2.5},
68 {"label":"End", "x":16.25, "y":2.5},
69 {"label":"PgDn", "x":17.25, "y":2.5},
70
71 {"label":"7", "x":18.5, "y":2.5},
72 {"label":"8", "x":19.5, "y":2.5},
73 {"label":"9", "x":20.5, "y":2.5},
74 {"label":"+", "x":21.5, "y":2.5, "h":2},
75
76 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
77 {"label":"A", "x":1.75, "y":3.5},
78 {"label":"S", "x":2.75, "y":3.5},
79 {"label":"D", "x":3.75, "y":3.5},
80 {"label":"F", "x":4.75, "y":3.5},
81 {"label":"G", "x":5.75, "y":3.5},
82 {"label":"H", "x":6.75, "y":3.5},
83 {"label":"J", "x":7.75, "y":3.5},
84 {"label":"K", "x":8.75, "y":3.5},
85 {"label":"L", "x":9.75, "y":3.5},
86 {"label":":", "x":10.75, "y":3.5},
87 {"label":"\"", "x":11.75, "y":3.5},
88 {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
89
90 {"label":"4", "x":18.5, "y":3.5},
91 {"label":"5", "x":19.5, "y":3.5},
92 {"label":"6", "x":20.5, "y":3.5},
93
94 {"label":"Shift", "x":0, "y":4.5, "w":2.25},
95 {"label":"Z", "x":2.25, "y":4.5},
96 {"label":"X", "x":3.25, "y":4.5},
97 {"label":"C", "x":4.25, "y":4.5},
98 {"label":"V", "x":5.25, "y":4.5},
99 {"label":"B", "x":6.25, "y":4.5},
100 {"label":"N", "x":7.25, "y":4.5},
101 {"label":"M", "x":8.25, "y":4.5},
102 {"label":"<", "x":9.25, "y":4.5},
103 {"label":">", "x":10.25, "y":4.5},
104 {"label":"?", "x":11.25, "y":4.5},
105 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
106
107 {"label":"\u2191", "x":16.25, "y":4.5},
108
109 {"label":"1", "x":18.5, "y":4.5},
110 {"label":"2", "x":19.5, "y":4.5},
111 {"label":"3", "x":20.5, "y":4.5},
112 {"label":"Enter", "x":21.5, "y":4.5, "h":2},
113
114 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
115 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
116 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
117 {"x":3.75, "y":5.5, "w":6.25},
118 {"label":"Alt", "x":10, "y":5.5, "w":1.25},
119 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
120 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
121 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
122
123 {"label":"\u2190", "x":15.25, "y":5.5},
124 {"label":"\u2193", "x":16.25, "y":5.5},
125 {"label":"\u2192", "x":17.25, "y":5.5},
126
127 {"label":"0", "x":18.5, "y":5.5, "w":2},
128 {"label":".", "x":20.5, "y":5.5}
129 ]
130 },
131 "LAYOUT_fullsize_iso": {
132 "layout": [
133 {"label":"Esc", "x":0, "y":0},
134 {"label":"F1", "x":2, "y":0},
135 {"label":"F2", "x":3, "y":0},
136 {"label":"F3", "x":4, "y":0},
137 {"label":"F4", "x":5, "y":0},
138 {"label":"F5", "x":6.5, "y":0},
139 {"label":"F6", "x":7.5, "y":0},
140 {"label":"F7", "x":8.5, "y":0},
141 {"label":"F8", "x":9.5, "y":0},
142 {"label":"F9", "x":11, "y":0},
143 {"label":"F10", "x":12, "y":0},
144 {"label":"F11", "x":13, "y":0},
145 {"label":"F12", "x":14, "y":0},
146
147 {"label":"PrtSc", "x":15.25, "y":0},
148 {"label":"Scroll Lock", "x":16.25, "y":0},
149 {"label":"Pause", "x":17.25, "y":0},
150
151 {"label":"\u00ac", "x":0, "y":1.5},
152 {"label":"!", "x":1, "y":1.5},
153 {"label":"\"", "x":2, "y":1.5},
154 {"label":"\u00a3", "x":3, "y":1.5},
155 {"label":"$", "x":4, "y":1.5},
156 {"label":"%", "x":5, "y":1.5},
157 {"label":"^", "x":6, "y":1.5},
158 {"label":"&", "x":7, "y":1.5},
159 {"label":"*", "x":8, "y":1.5},
160 {"label":"(", "x":9, "y":1.5},
161 {"label":")", "x":10, "y":1.5},
162 {"label":"_", "x":11, "y":1.5},
163 {"label":"+", "x":12, "y":1.5},
164 {"label":"Backspace", "x":13, "y":1.5, "w":2},
165
166 {"label":"Insert", "x":15.25, "y":1.5},
167 {"label":"Home", "x":16.25, "y":1.5},
168 {"label":"PgUp", "x":17.25, "y":1.5},
169
170 {"label":"Num Lock", "x":18.5, "y":1.5},
171 {"label":"/", "x":19.5, "y":1.5},
172 {"label":"*", "x":20.5, "y":1.5},
173 {"label":"-", "x":21.5, "y":1.5},
174
175 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
176 {"label":"Q", "x":1.5, "y":2.5},
177 {"label":"W", "x":2.5, "y":2.5},
178 {"label":"E", "x":3.5, "y":2.5},
179 {"label":"R", "x":4.5, "y":2.5},
180 {"label":"T", "x":5.5, "y":2.5},
181 {"label":"Y", "x":6.5, "y":2.5},
182 {"label":"U", "x":7.5, "y":2.5},
183 {"label":"I", "x":8.5, "y":2.5},
184 {"label":"O", "x":9.5, "y":2.5},
185 {"label":"P", "x":10.5, "y":2.5},
186 {"label":"{", "x":11.5, "y":2.5},
187 {"label":"}", "x":12.5, "y":2.5},
188
189 {"label":"Delete", "x":15.25, "y":2.5},
190 {"label":"End", "x":16.25, "y":2.5},
191 {"label":"PgDn", "x":17.25, "y":2.5},
192
193 {"label":"7", "x":18.5, "y":2.5},
194 {"label":"8", "x":19.5, "y":2.5},
195 {"label":"9", "x":20.5, "y":2.5},
196 {"label":"+", "x":21.5, "y":2.5, "h":2},
197
198 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
199 {"label":"A", "x":1.75, "y":3.5},
200 {"label":"S", "x":2.75, "y":3.5},
201 {"label":"D", "x":3.75, "y":3.5},
202 {"label":"F", "x":4.75, "y":3.5},
203 {"label":"G", "x":5.75, "y":3.5},
204 {"label":"H", "x":6.75, "y":3.5},
205 {"label":"J", "x":7.75, "y":3.5},
206 {"label":"K", "x":8.75, "y":3.5},
207 {"label":"L", "x":9.75, "y":3.5},
208 {"label":":", "x":10.75, "y":3.5},
209 {"label":"@", "x":11.75, "y":3.5},
210 {"label":"~", "x":12.75, "y":3.5},
211 {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
212
213 {"label":"4", "x":18.5, "y":3.5},
214 {"label":"5", "x":19.5, "y":3.5},
215 {"label":"6", "x":20.5, "y":3.5},
216
217 {"label":"Shift", "x":0, "y":4.5, "w":1.25},
218 {"label":"|", "x":1.25, "y":4.5},
219 {"label":"Z", "x":2.25, "y":4.5},
220 {"label":"X", "x":3.25, "y":4.5},
221 {"label":"C", "x":4.25, "y":4.5},
222 {"label":"V", "x":5.25, "y":4.5},
223 {"label":"B", "x":6.25, "y":4.5},
224 {"label":"N", "x":7.25, "y":4.5},
225 {"label":"M", "x":8.25, "y":4.5},
226 {"label":"<", "x":9.25, "y":4.5},
227 {"label":">", "x":10.25, "y":4.5},
228 {"label":"?", "x":11.25, "y":4.5},
229 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
230
231 {"label":"\u2191", "x":16.25, "y":4.5},
232
233 {"label":"1", "x":18.5, "y":4.5},
234 {"label":"2", "x":19.5, "y":4.5},
235 {"label":"3", "x":20.5, "y":4.5},
236 {"label":"Enter", "x":21.5, "y":4.5, "h":2},
237
238 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
239 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
240 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
241 {"x":3.75, "y":5.5, "w":6.25},
242 {"label":"AltGr", "x":10, "y":5.5, "w":1.25},
243 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
244 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
245 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
246
247 {"label":"\u2190", "x":15.25, "y":5.5},
248 {"label":"\u2193", "x":16.25, "y":5.5},
249 {"label":"\u2192", "x":17.25, "y":5.5},
250
251 {"label":"0", "x":18.5, "y":5.5, "w":2},
252 {"label":".", "x":20.5, "y":5.5}
253 ]
254 },
255 "LAYOUT_tkl_ansi": {
256 "layout": [
257 {"label":"Esc", "x":0, "y":0},
258 {"label":"F1", "x":2, "y":0},
259 {"label":"F2", "x":3, "y":0},
260 {"label":"F3", "x":4, "y":0},
261 {"label":"F4", "x":5, "y":0},
262 {"label":"F5", "x":6.5, "y":0},
263 {"label":"F6", "x":7.5, "y":0},
264 {"label":"F7", "x":8.5, "y":0},
265 {"label":"F8", "x":9.5, "y":0},
266 {"label":"F9", "x":11, "y":0},
267 {"label":"F10", "x":12, "y":0},
268 {"label":"F11", "x":13, "y":0},
269 {"label":"F12", "x":14, "y":0},
270
271 {"label":"PrtSc", "x":15.25, "y":0},
272 {"label":"Scroll Lock", "x":16.25, "y":0},
273 {"label":"Pause", "x":17.25, "y":0},
274
275 {"label":"~", "x":0, "y":1.5},
276 {"label":"1", "x":1, "y":1.5},
277 {"label":"2", "x":2, "y":1.5},
278 {"label":"3", "x":3, "y":1.5},
279 {"label":"4", "x":4, "y":1.5},
280 {"label":"5", "x":5, "y":1.5},
281 {"label":"6", "x":6, "y":1.5},
282 {"label":"7", "x":7, "y":1.5},
283 {"label":"8", "x":8, "y":1.5},
284 {"label":"9", "x":9, "y":1.5},
285 {"label":"0", "x":10, "y":1.5},
286 {"label":"_", "x":11, "y":1.5},
287 {"label":"+", "x":12, "y":1.5},
288 {"label":"Backspace", "x":13, "y":1.5, "w":2},
289
290 {"label":"Insert", "x":15.25, "y":1.5},
291 {"label":"Home", "x":16.25, "y":1.5},
292 {"label":"Page Up", "x":17.25, "y":1.5},
293
294 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
295 {"label":"Q", "x":1.5, "y":2.5},
296 {"label":"W", "x":2.5, "y":2.5},
297 {"label":"E", "x":3.5, "y":2.5},
298 {"label":"R", "x":4.5, "y":2.5},
299 {"label":"T", "x":5.5, "y":2.5},
300 {"label":"Y", "x":6.5, "y":2.5},
301 {"label":"U", "x":7.5, "y":2.5},
302 {"label":"I", "x":8.5, "y":2.5},
303 {"label":"O", "x":9.5, "y":2.5},
304 {"label":"P", "x":10.5, "y":2.5},
305 {"label":"{", "x":11.5, "y":2.5},
306 {"label":"}", "x":12.5, "y":2.5},
307 {"label":"|", "x":13.5, "y":2.5, "w":1.5},
308
309 {"label":"Delete", "x":15.25, "y":2.5},
310 {"label":"End", "x":16.25, "y":2.5},
311 {"label":"PgDn", "x":17.25, "y":2.5},
312
313 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
314 {"label":"A", "x":1.75, "y":3.5},
315 {"label":"S", "x":2.75, "y":3.5},
316 {"label":"D", "x":3.75, "y":3.5},
317 {"label":"F", "x":4.75, "y":3.5},
318 {"label":"G", "x":5.75, "y":3.5},
319 {"label":"H", "x":6.75, "y":3.5},
320 {"label":"J", "x":7.75, "y":3.5},
321 {"label":"K", "x":8.75, "y":3.5},
322 {"label":"L", "x":9.75, "y":3.5},
323 {"label":":", "x":10.75, "y":3.5},
324 {"label":"\"", "x":11.75, "y":3.5},
325 {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
326
327 {"label":"Shift", "x":0, "y":4.5, "w":2.25},
328 {"label":"Z", "x":2.25, "y":4.5},
329 {"label":"X", "x":3.25, "y":4.5},
330 {"label":"C", "x":4.25, "y":4.5},
331 {"label":"V", "x":5.25, "y":4.5},
332 {"label":"B", "x":6.25, "y":4.5},
333 {"label":"N", "x":7.25, "y":4.5},
334 {"label":"M", "x":8.25, "y":4.5},
335 {"label":"<", "x":9.25, "y":4.5},
336 {"label":">", "x":10.25, "y":4.5},
337 {"label":"?", "x":11.25, "y":4.5},
338 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
339
340 {"label":"\u2191", "x":16.25, "y":4.5},
341
342 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
343 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
344 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
345 {"x":3.75, "y":5.5, "w":6.25},
346 {"label":"Alt", "x":10, "y":5.5, "w":1.25},
347 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
348 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
349 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
350
351 {"label":"\u2190", "x":15.25, "y":5.5},
352 {"label":"\u2193", "x":16.25, "y":5.5},
353 {"label":"\u2192", "x":17.25, "y":5.5}
354 ]
355 },
356 "LAYOUT_tkl_iso": {
357 "layout": [
358 {"label":"Esc", "x":0, "y":0},
359 {"label":"F1", "x":2, "y":0},
360 {"label":"F2", "x":3, "y":0},
361 {"label":"F3", "x":4, "y":0},
362 {"label":"F4", "x":5, "y":0},
363 {"label":"F5", "x":6.5, "y":0},
364 {"label":"F6", "x":7.5, "y":0},
365 {"label":"F7", "x":8.5, "y":0},
366 {"label":"F8", "x":9.5, "y":0},
367 {"label":"F9", "x":11, "y":0},
368 {"label":"F10", "x":12, "y":0},
369 {"label":"F11", "x":13, "y":0},
370 {"label":"F12", "x":14, "y":0},
371
372 {"label":"PrtSc", "x":15.25, "y":0},
373 {"label":"Scroll Lock", "x":16.25, "y":0},
374 {"label":"Pause", "x":17.25, "y":0},
375
376 {"label":"\u00ac", "x":0, "y":1.5},
377 {"label":"!", "x":1, "y":1.5},
378 {"label":"\"", "x":2, "y":1.5},
379 {"label":"\u00a3", "x":3, "y":1.5},
380 {"label":"$", "x":4, "y":1.5},
381 {"label":"%", "x":5, "y":1.5},
382 {"label":"^", "x":6, "y":1.5},
383 {"label":"&", "x":7, "y":1.5},
384 {"label":"*", "x":8, "y":1.5},
385 {"label":"(", "x":9, "y":1.5},
386 {"label":")", "x":10, "y":1.5},
387 {"label":"_", "x":11, "y":1.5},
388 {"label":"+", "x":12, "y":1.5},
389 {"label":"Backspace", "x":13, "y":1.5, "w":2},
390
391 {"label":"Insert", "x":15.25, "y":1.5},
392 {"label":"Home", "x":16.25, "y":1.5},
393 {"label":"PgUp", "x":17.25, "y":1.5},
394
395 {"label":"Tab", "x":0, "y":2.5, "w":1.5},
396 {"label":"Q", "x":1.5, "y":2.5},
397 {"label":"W", "x":2.5, "y":2.5},
398 {"label":"E", "x":3.5, "y":2.5},
399 {"label":"R", "x":4.5, "y":2.5},
400 {"label":"T", "x":5.5, "y":2.5},
401 {"label":"Y", "x":6.5, "y":2.5},
402 {"label":"U", "x":7.5, "y":2.5},
403 {"label":"I", "x":8.5, "y":2.5},
404 {"label":"O", "x":9.5, "y":2.5},
405 {"label":"P", "x":10.5, "y":2.5},
406 {"label":"{", "x":11.5, "y":2.5},
407 {"label":"}", "x":12.5, "y":2.5},
408
409 {"label":"Delete", "x":15.25, "y":2.5},
410 {"label":"End", "x":16.25, "y":2.5},
411 {"label":"PgDn", "x":17.25, "y":2.5},
412
413 {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
414 {"label":"A", "x":1.75, "y":3.5},
415 {"label":"S", "x":2.75, "y":3.5},
416 {"label":"D", "x":3.75, "y":3.5},
417 {"label":"F", "x":4.75, "y":3.5},
418 {"label":"G", "x":5.75, "y":3.5},
419 {"label":"H", "x":6.75, "y":3.5},
420 {"label":"J", "x":7.75, "y":3.5},
421 {"label":"K", "x":8.75, "y":3.5},
422 {"label":"L", "x":9.75, "y":3.5},
423 {"label":":", "x":10.75, "y":3.5},
424 {"label":"@", "x":11.75, "y":3.5},
425 {"label":"~", "x":12.75, "y":3.5},
426 {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
427
428 {"label":"Shift", "x":0, "y":4.5, "w":1.25},
429 {"label":"|", "x":1.25, "y":4.5},
430 {"label":"Z", "x":2.25, "y":4.5},
431 {"label":"X", "x":3.25, "y":4.5},
432 {"label":"C", "x":4.25, "y":4.5},
433 {"label":"V", "x":5.25, "y":4.5},
434 {"label":"B", "x":6.25, "y":4.5},
435 {"label":"N", "x":7.25, "y":4.5},
436 {"label":"M", "x":8.25, "y":4.5},
437 {"label":"<", "x":9.25, "y":4.5},
438 {"label":">", "x":10.25, "y":4.5},
439 {"label":"?", "x":11.25, "y":4.5},
440 {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
441
442 {"label":"\u2191", "x":16.25, "y":4.5},
443
444 {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
445 {"label":"Win", "x":1.25, "y":5.5, "w":1.25},
446 {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
447 {"x":3.75, "y":5.5, "w":6.25},
448 {"label":"AltGr", "x":10, "y":5.5, "w":1.25},
449 {"label":"Win", "x":11.25, "y":5.5, "w":1.25},
450 {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
451 {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
452
453 {"label":"\u2190", "x":15.25, "y":5.5},
454 {"label":"\u2193", "x":16.25, "y":5.5},
455 {"label":"\u2192", "x":17.25, "y":5.5}
456 ]
457 }
458 }
459}
diff --git a/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c b/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c
new file mode 100644
index 000000000..c73a2ecec
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c
@@ -0,0 +1,53 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /*
20 * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
21 * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│
22 * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
23 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
24 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
25 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
26 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │
27 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
28 * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │  Enter │               │ 4 │ 5 │ 6 │   │
29 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
30 * │ Shift  │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │
31 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
32 * │Ctrl│GUI │Alt │                        │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │
33 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
34 */
35 LAYOUT_fullsize_ansi(
36 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
37
38 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
39 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
40 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
41 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
43 ),
44 LAYOUT_fullsize_ansi(
45 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE,
46
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, _______, _______, _______, _______,
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
51 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
52 )
53};
diff --git a/keyboards/evyd13/wasdat_code/keymaps/default/readme.md b/keyboards/evyd13/wasdat_code/keymaps/default/readme.md
new file mode 100644
index 000000000..66cf59389
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default ANSI keymap for the Wasdat
diff --git a/keyboards/evyd13/wasdat_code/keymaps/default_iso/keymap.c b/keyboards/evyd13/wasdat_code/keymaps/default_iso/keymap.c
new file mode 100644
index 000000000..fdc61cea4
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/keymaps/default_iso/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /*
20 * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
21 * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│
22 * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
23 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
24 * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
25 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
26 * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │     │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │
27 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │
28 * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │    │               │ 4 │ 5 │ 6 │   │
29 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤     ┌───┐     ├───┼───┼───┼───┤
30 * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │
31 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
32 * │Ctrl│GUI │Alt │                        │AlGr│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │
33 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
34 */
35 LAYOUT_fullsize_iso(
36 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
37
38 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
39 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
40 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
41 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
43 )
44};
diff --git a/keyboards/evyd13/wasdat_code/keymaps/default_iso/readme.md b/keyboards/evyd13/wasdat_code/keymaps/default_iso/readme.md
new file mode 100644
index 000000000..e36d76420
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/keymaps/default_iso/readme.md
@@ -0,0 +1 @@
# The default ISO keymap for the Wasdat
diff --git a/keyboards/evyd13/wasdat_code/keymaps/via/keymap.c b/keyboards/evyd13/wasdat_code/keymaps/via/keymap.c
new file mode 100644
index 000000000..35445812b
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_all(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
21
22 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
24 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_P4, KC_P5, KC_P6,
25 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
26 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
27 ),
28 [1] = LAYOUT_all(
29 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, BL_TOGG, _______, _______, KC_MUTE,
30
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, _______, _______, _______, _______,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, _______, _______, _______, _______,
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
36 ),
37 [2] = LAYOUT_all(
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
45 )
46};
diff --git a/keyboards/evyd13/wasdat_code/keymaps/via/rules.mk b/keyboards/evyd13/wasdat_code/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/wasdat_code/matrix.c b/keyboards/evyd13/wasdat_code/matrix.c
new file mode 100644
index 000000000..7844db7ab
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/matrix.c
@@ -0,0 +1,369 @@
1/*
2Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include <stdint.h>
18#include <stdbool.h>
19#include "wait.h"
20#include "util.h"
21#include "matrix.h"
22#include "debounce.h"
23#include "quantum.h"
24
25#ifdef DIRECT_PINS
26static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
27#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW)
28static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
29//static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
30#endif
31
32// matrix code
33
34#ifdef DIRECT_PINS
35
36static void init_pins(void) {
37 for (int row = 0; row < MATRIX_ROWS; row++) {
38 for (int col = 0; col < MATRIX_COLS; col++) {
39 pin_t pin = direct_pins[row][col];
40 if (pin != NO_PIN) {
41 setPinInputHigh(pin);
42 }
43 }
44 }
45}
46
47static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
48 matrix_row_t last_row_value = current_matrix[current_row];
49 current_matrix[current_row] = 0;
50
51 for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
52 pin_t pin = direct_pins[current_row][col_index];
53 if (pin != NO_PIN) {
54 current_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
55 }
56 }
57
58 return (last_row_value != current_matrix[current_row]);
59}
60
61#elif (DIODE_DIRECTION == COL2ROW)
62
63static void select_row(uint8_t row) {
64 setPinOutput(row_pins[row]);
65 writePinLow(row_pins[row]);
66}
67
68static void unselect_row(uint8_t row) { setPinInputHigh(row_pins[row]); }
69
70static void unselect_rows(void) {
71 for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
72 setPinInputHigh(row_pins[x]);
73 }
74}
75
76static void init_pins(void) {
77 unselect_rows();
78 for (uint8_t x = 0; x < MATRIX_COLS; x++) {
79 setPinInputHigh(col_pins[x]);
80 }
81}
82
83static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
84 // Store last value of row prior to reading
85 matrix_row_t last_row_value = current_matrix[current_row];
86
87 // Clear data in matrix row
88 current_matrix[current_row] = 0;
89
90 // Select row and wait for row selecton to stabilize
91 select_row(current_row);
92 wait_us(30);
93
94 // For each col...
95 for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
96
97 // Select the col pin to read (active low)
98 uint8_t pin_state = readPin(col_pins[col_index]);
99
100 // Populate the matrix row with the state of the col pin
101 current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index);
102 }
103
104 // Unselect row
105 unselect_row(current_row);
106
107 return (last_row_value != current_matrix[current_row]);
108}
109
110#elif (DIODE_DIRECTION == ROW2COL)
111
112/* Cols 0 - 15
113 * col 0: F7
114 * col 1: F5
115 * col 2: F6
116 * col 3: F1
117 * col 4: F4
118 * col 5: F0
119 * These columns use a 74HC237D 3 to 8 bit demultiplexer. D4 is the enable pin, must be set high to use it.
120 * A0 A1 A2
121 * col / pin: PD2 PD1 PD0
122 * 6: 1 1 1
123 * col 7: D3
124 * col 8: B7
125 * 9: 0 1 1
126 * 10: 1 0 1
127 * 11: 0 0 1
128 * 12: 1 1 0
129 * 13: 0 1 0
130 * 14: 1 0 0
131 * 15: 0 0 0
132 */
133static void select_col(uint8_t col) {
134 switch (col) {
135 case 0:
136 writePinLow(F7);
137 break;
138 case 1:
139 writePinLow(F5);
140 break;
141 case 2:
142 writePinLow(F6);
143 break;
144 case 3:
145 writePinLow(F1);
146 break;
147 case 4:
148 writePinLow(F4);
149 break;
150 case 5:
151 writePinLow(F0);
152 break;
153 case 6:
154 writePinHigh(D4);
155 writePinHigh(D2);
156 writePinHigh(D1);
157 writePinHigh(D0);
158 break;
159 case 7:
160 writePinLow(D5);
161 break;
162 case 8:
163 writePinLow(D3);
164 break;
165 case 9:
166 writePinHigh(D4);
167 writePinHigh(D1);
168 writePinHigh(D0);
169 break;
170 case 10:
171 writePinHigh(D4);
172 writePinHigh(D2);
173 writePinHigh(D0);
174 break;
175 case 11:
176 writePinHigh(D4);
177 writePinHigh(D0);
178 break;
179 case 12:
180 writePinHigh(D4);
181 writePinHigh(D2);
182 writePinHigh(D1);
183 break;
184 case 13:
185 writePinHigh(D4);
186 writePinHigh(D1);
187 break;
188 case 14:
189 writePinHigh(D4);
190 writePinHigh(D2);
191 break;
192 case 15:
193 writePinHigh(D4);
194 break;
195 }
196}
197
198static void unselect_col(uint8_t col) {
199 switch (col) {
200 case 0:
201 writePinHigh(F7);
202 break;
203 case 1:
204 writePinHigh(F5);
205 break;
206 case 2:
207 writePinHigh(F6);
208 break;
209 case 3:
210 writePinHigh(F1);
211 break;
212 case 4:
213 writePinHigh(F4);
214 break;
215 case 5:
216 writePinHigh(F0);
217 break;
218 case 6:
219 writePinLow(D4);
220 writePinLow(D2);
221 writePinLow(D1);
222 writePinLow(D0);
223 break;
224 case 7:
225 writePinHigh(D5);
226 break;
227 case 8:
228 writePinHigh(D3);
229 break;
230 case 9:
231 writePinLow(D4);
232 writePinLow(D2);
233 writePinLow(D1);
234 writePinLow(D0);
235 break;
236 case 10:
237 writePinLow(D4);
238 writePinLow(D2);
239 writePinLow(D1);
240 writePinLow(D0);
241 break;
242 case 11:
243 writePinLow(D4);
244 writePinLow(D2);
245 writePinLow(D1);
246 writePinLow(D0);
247 break;
248 case 12:
249 writePinLow(D4);
250 writePinLow(D2);
251 writePinLow(D1);
252 writePinLow(D0);
253 break;
254 case 13:
255 writePinLow(D4);
256 writePinLow(D2);
257 writePinLow(D1);
258 writePinLow(D0);
259 break;
260 case 14:
261 writePinLow(D4);
262 writePinLow(D2);
263 writePinLow(D1);
264 writePinLow(D0);
265 break;
266 case 15:
267 writePinLow(D4);
268 writePinLow(D2);
269 writePinLow(D1);
270 writePinLow(D0);
271 break;
272 }
273}
274
275static void unselect_cols(void) {
276 //Native
277 writePinHigh(F7);
278 writePinHigh(F5);
279 writePinHigh(F6);
280 writePinHigh(F1);
281 writePinHigh(F4);
282 writePinHigh(F0);
283 writePinHigh(D3);
284 writePinHigh(D5);
285
286 //Demultiplexer
287 writePinLow(D4);
288 writePinLow(D2);
289 writePinLow(D1);
290 writePinLow(D0);
291}
292
293static void init_pins(void) {
294 unselect_cols();
295 for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
296 setPinInputHigh(row_pins[x]);
297 }
298 setPinOutput(D0);
299 setPinOutput(D1);
300 setPinOutput(D2);
301 setPinOutput(D3);
302 setPinOutput(F7);
303 setPinOutput(F5);
304 setPinOutput(F6);
305 setPinOutput(F1);
306 setPinOutput(F4);
307 setPinOutput(F0);
308 setPinOutput(D3);
309 setPinOutput(D5);
310 setPinOutput(D4);
311}
312
313static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) {
314 bool matrix_changed = false;
315
316 // Select col and wait for col selecton to stabilize
317 select_col(current_col);
318 wait_us(30);
319
320 // For each row...
321 for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) {
322 // Store last value of row prior to reading
323 matrix_row_t last_row_value = current_matrix[row_index];
324
325 // Check row pin state
326 if (readPin(row_pins[row_index]) == 0) {
327 // Pin LO, set col bit
328 current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col);
329 } else {
330 // Pin HI, clear col bit
331 current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col);
332 }
333
334 // Determine if the matrix changed state
335 if ((last_row_value != current_matrix[row_index]) && !(matrix_changed)) {
336 matrix_changed = true;
337 }
338 }
339
340 // Unselect col
341 unselect_col(current_col);
342
343 return matrix_changed;
344}
345
346#endif
347
348void matrix_init_custom(void) {
349 // initialize key pins
350 init_pins();
351}
352
353bool matrix_scan_custom(matrix_row_t current_matrix[]) {
354 bool changed = false;
355
356#if defined(DIRECT_PINS) || (DIODE_DIRECTION == COL2ROW)
357 // Set row, read cols
358 for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
359 changed |= read_cols_on_row(current_matrix, current_row);
360 }
361#elif (DIODE_DIRECTION == ROW2COL)
362 // Set col, read rows
363 for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) {
364 changed |= read_rows_on_col(current_matrix, current_col);
365 }
366#endif
367
368 return changed;
369}
diff --git a/keyboards/evyd13/wasdat_code/readme.md b/keyboards/evyd13/wasdat_code/readme.md
new file mode 100644
index 000000000..0467069fc
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/readme.md
@@ -0,0 +1,19 @@
1# Wasdat Code
2
3A drop-in replacement controller for the WASD CODE TKL and fullsize models.
4
5* Keyboard Maintainer: [Evyd13](https://github.com/evyd13)
6* Hardware Supported: WASD CODE TKL/Fullsize ANSI & ISO with Wasdat Code controller
7* Hardware Availability: [maartenwut.com](https://maartenwut.com/product/wasdat-code/)
8
9## Flashing
10
11The WASD has no reset button, so to put the controller in flashing mode, simply unplug the USB cable and plug it back in while holding the ESC key on the keyboard.
12
13---
14
15Make example for this keyboard (after setting up your build environment):
16
17 make evyd13/wasdat_code:default
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/evyd13/wasdat_code/rules.mk b/keyboards/evyd13/wasdat_code/rules.mk
new file mode 100644
index 000000000..1ff76bab2
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/rules.mk
@@ -0,0 +1,36 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = yes # USB Nkey Rollover
26BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
30AUDIO_ENABLE = no # Audio output on port C6
31FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
32
33CUSTOM_MATRIX = lite
34SRC += matrix.c
35
36LAYOUTS = fullsize_ansi fullsize_iso tkl_ansi tkl_iso
diff --git a/keyboards/evyd13/wasdat_code/wasdat_code.c b/keyboards/evyd13/wasdat_code/wasdat_code.c
new file mode 100644
index 000000000..33551c2d0
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/wasdat_code.c
@@ -0,0 +1,47 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include "wasdat_code.h"
17
18// Optional override functions below.
19// You can leave any or all of these undefined.
20// These are only required if you want to perform custom actions.
21
22void matrix_init_kb(void) {
23 // put your keyboard start-up code here
24 // runs once when the firmware starts up
25
26 matrix_init_user();
27 led_init_ports();
28}
29
30void led_init_ports(void) {
31 setPinOutput(B1);
32 setPinOutput(B2);
33 setPinOutput(B3);
34 writePinHigh(B1);
35 writePinHigh(B2);
36 writePinHigh(B3);
37}
38
39bool led_update_kb(led_t led_state) {
40 if(led_update_user(led_state)) {
41 writePin(B1, !led_state.caps_lock);
42 writePin(B2, !led_state.scroll_lock);
43 writePin(B3, !led_state.num_lock);
44 }
45
46 return true;
47}
diff --git a/keyboards/evyd13/wasdat_code/wasdat_code.h b/keyboards/evyd13/wasdat_code/wasdat_code.h
new file mode 100644
index 000000000..b586f4aad
--- /dev/null
+++ b/keyboards/evyd13/wasdat_code/wasdat_code.h
@@ -0,0 +1,107 @@
1/* Copyright 2019 Evy Dekkers
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#include "quantum.h"
19
20#define XXX KC_NO
21
22/* This is a shortcut to help you visually see your layout.
23 *
24 * The first section contains all of the arguments representing the physical
25 * layout of the board and position of the keys.
26 *
27 * The second converts the arguments into a two-dimensional array which
28 * represents the switch matrix.
29 */
30
31#define LAYOUT_all LAYOUT_fullsize_iso
32
33#define LAYOUT_fullsize_ansi( \
34 k05, k64, k62, k22, k02, k31, k0c, k2f, k6f, k6b, k3b, k0b, k5b, k33, k43, k41, \
35 k65, k35, k34, k32, k30, k60, k6a, k3a, k3c, k3f, k3d, k6d, k6c, k2b, k67, k6e, k66, k78, k77, k76, k56, \
36 k25, k45, k44, k42, k40, k20, k2a, k4a, k4c, k4f, k4d, k2d, k2c, k1b, k68, k3e, k36, k48, k47, k46, k4e, \
37 k24, k15, k14, k12, k10, k00, k0a, k1a, k1c, k1f, k1d, k0d, k7b, k28, k27, k26, \
38 k29, k75, k74, k72, k70, k50, k5a, k7a, k7c, k7f, k5d, k19, k0e, k18, k17, k16, k1e, \
39 k61, k21, k03, k08, k53, k11, k23, k71, k5e, k58, k57, k07, k06 \
40) \
41{ \
42 { k00, XXX, k02, k03, XXX, k05, k06, k07, k08, XXX, k0a, k0b, k0c, k0d, k0e, XXX }, \
43 { k10, k11, k12, XXX, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \
44 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX, k2f }, \
45 { k30, k31, k32, k33, k34, k35, k36, XXX, XXX, XXX, k3a, k3b, k3c, k3d, k3e, k3f }, \
46 { k40, k41, k42, k43, k44, k45, k46, k47, k48, XXX, k4a, XXX, k4c, k4d, k4e, k4f }, \
47 { k50, XXX, XXX, k53, XXX, XXX, k56, k57, k58, XXX, k5a, k5b, XXX, k5d, k5e, XXX }, \
48 { k60, k61, k62, XXX, k64, k65, k66, k67, k68, XXX, k6a, k6b, k6c, k6d, k6e, k6f }, \
49 { k70, k71, k72, XXX, k74, k75, k76, k77, k78, XXX, k7a, k7b, k7c, XXX, XXX, k7f } \
50}
51
52#define LAYOUT_fullsize_iso( \
53 k05, k64, k62, k22, k02, k31, k0c, k2f, k6f, k6b, k3b, k0b, k5b, k33, k43, k41, \
54 k65, k35, k34, k32, k30, k60, k6a, k3a, k3c, k3f, k3d, k6d, k6c, k2b, k67, k6e, k66, k78, k77, k76, k56, \
55 k25, k45, k44, k42, k40, k20, k2a, k4a, k4c, k4f, k4d, k2d, k2c, k68, k3e, k36, k48, k47, k46, k4e, \
56 k24, k15, k14, k12, k10, k00, k0a, k1a, k1c, k1f, k1d, k0d, k1b, k7b, k28, k27, k26, \
57 k29, k04, k75, k74, k72, k70, k50, k5a, k7a, k7c, k7f, k5d, k19, k0e, k18, k17, k16, k1e, \
58 k61, k21, k03, k08, k53, k11, k23, k71, k5e, k58, k57, k07, k06 \
59) \
60{ \
61 { k00, XXX, k02, k03, k04, k05, k06, k07, k08, XXX, k0a, k0b, k0c, k0d, k0e, XXX }, \
62 { k10, k11, k12, XXX, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \
63 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX, k2f }, \
64 { k30, k31, k32, k33, k34, k35, k36, XXX, XXX, XXX, k3a, k3b, k3c, k3d, k3e, k3f }, \
65 { k40, k41, k42, k43, k44, k45, k46, k47, k48, XXX, k4a, XXX, k4c, k4d, k4e, k4f }, \
66 { k50, XXX, XXX, k53, XXX, XXX, k56, k57, k58, XXX, k5a, k5b, XXX, k5d, k5e, XXX }, \
67 { k60, k61, k62, XXX, k64, k65, k66, k67, k68, XXX, k6a, k6b, k6c, k6d, k6e, k6f }, \
68 { k70, k71, k72, XXX, k74, k75, k76, k77, k78, XXX, k7a, k7b, k7c, XXX, XXX, k7f } \
69}
70
71#define LAYOUT_tkl_ansi( \
72 k05, k64, k62, k22, k02, k31, k0c, k2f, k6f, k6b, k3b, k0b, k5b, k33, k43, k41, \
73 k65, k35, k34, k32, k30, k60, k6a, k3a, k3c, k3f, k3d, k6d, k6c, k2b, k67, k6e, k66, \
74 k25, k45, k44, k42, k40, k20, k2a, k4a, k4c, k4f, k4d, k2d, k2c, k1b, k68, k3e, k36, \
75 k24, k15, k14, k12, k10, k00, k0a, k1a, k1c, k1f, k1d, k0d, k7b, \
76 k29, k75, k74, k72, k70, k50, k5a, k7a, k7c, k7f, k5d, k19, k0e, \
77 k61, k21, k03, k08, k53, k11, k23, k71, k5e, k58, k57 \
78) \
79{ \
80 { k00, XXX, k02, k03, XXX, k05, XXX, XXX, k08, XXX, k0a, k0b, k0c, k0d, k0e, XXX }, \
81 { k10, k11, k12, XXX, k14, k15, XXX, XXX, XXX, k19, k1a, k1b, k1c, k1d, XXX, k1f }, \
82 { k20, k21, k22, k23, k24, k25, XXX, XXX, XXX, k29, k2a, k2b, k2c, k2d, XXX, k2f }, \
83 { k30, k31, k32, k33, k34, k35, k36, XXX, XXX, XXX, k3a, k3b, k3c, k3d, k3e, k3f }, \
84 { k40, k41, k42, k43, k44, k45, XXX, XXX, XXX, XXX, k4a, XXX, k4c, k4d, XXX, k4f }, \
85 { k50, XXX, XXX, k53, XXX, XXX, XXX, k57, k58, XXX, k5a, k5b, XXX, k5d, k5e, XXX }, \
86 { k60, k61, k62, XXX, k64, k65, k66, k67, k68, XXX, k6a, k6b, k6c, k6d, k6e, k6f }, \
87 { k70, k71, k72, XXX, k74, k75, XXX, XXX, XXX, XXX, k7a, k7b, k7c, XXX, XXX, k7f } \
88}
89
90#define LAYOUT_tkl_iso( \
91 k05, k64, k62, k22, k02, k31, k0c, k2f, k6f, k6b, k3b, k0b, k5b, k33, k43, k41, \
92 k65, k35, k34, k32, k30, k60, k6a, k3a, k3c, k3f, k3d, k6d, k6c, k2b, k67, k6e, k66, \
93 k25, k45, k44, k42, k40, k20, k2a, k4a, k4c, k4f, k4d, k2d, k2c, k68, k3e, k36, \
94 k24, k15, k14, k12, k10, k00, k0a, k1a, k1c, k1f, k1d, k0d, k1b, k7b, \
95 k29, k04, k75, k74, k72, k70, k50, k5a, k7a, k7c, k7f, k5d, k19, k0e, \
96 k61, k21, k03, k08, k53, k11, k23, k71, k5e, k58, k57 \
97) \
98{ \
99 { k00, XXX, k02, k03, k04, k05, XXX, XXX, k08, XXX, k0a, k0b, k0c, k0d, k0e, XXX }, \
100 { k10, k11, k12, XXX, k14, k15, XXX, XXX, XXX, k19, k1a, k1b, k1c, k1d, XXX, k1f }, \
101 { k20, k21, k22, k23, k24, k25, XXX, XXX, XXX, k29, k2a, k2b, k2c, k2d, XXX, k2f }, \
102 { k30, k31, k32, k33, k34, k35, k36, XXX, XXX, XXX, k3a, k3b, k3c, k3d, k3e, k3f }, \
103 { k40, k41, k42, k43, k44, k45, XXX, XXX, XXX, XXX, k4a, XXX, k4c, k4d, XXX, k4f }, \
104 { k50, XXX, XXX, k53, XXX, XXX, XXX, k57, k58, XXX, k5a, k5b, XXX, k5d, k5e, XXX }, \
105 { k60, k61, k62, XXX, k64, k65, k66, k67, k68, XXX, k6a, k6b, k6c, k6d, k6e, k6f }, \
106 { k70, k71, k72, XXX, k74, k75, XXX, XXX, XXX, XXX, k7a, k7b, k7c, XXX, XXX, k7f } \
107}
diff --git a/keyboards/evyd13/wonderland/config.h b/keyboards/evyd13/wonderland/config.h
new file mode 100644
index 000000000..a75394b01
--- /dev/null
+++ b/keyboards/evyd13/wonderland/config.h
@@ -0,0 +1,55 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4705
24#define PRODUCT_ID 0xA71C
25#define DEVICE_VER 0x0003
26#define MANUFACTURER Evyd13
27#define PRODUCT Wonderland
28#define DESCRIPTION "QMK Firmware for the Wonderland"
29
30/* key matrix size */
31#define MATRIX_ROWS 5
32#define MATRIX_COLS 15
33
34// ROWS: Top to bottom, COLS: Left to right
35
36#define MATRIX_ROW_PINS {B0,D1,D2,D3,D5}
37#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,E6,C7,C6,B6,B5,B4,D7,D6,D4}
38#define UNUSED_PINS
39
40
41/* COL2ROW or ROW2COL */
42#define DIODE_DIRECTION COL2ROW
43
44/* Set 0 if debouncing isn't needed */
45#define DEBOUNCE 5
46
47/* Backlight configuration
48 */
49#define RGB_DI_PIN B7
50#define RGBLIGHT_ANIMATIONS
51#define RGBLED_NUM 12
52
53#define QMK_ESC_OUTPUT F0 // usually COL
54#define QMK_ESC_INPUT B0 // usually ROW
55#define QMK_LED B1
diff --git a/keyboards/evyd13/wonderland/info.json b/keyboards/evyd13/wonderland/info.json
new file mode 100644
index 000000000..678b08142
--- /dev/null
+++ b/keyboards/evyd13/wonderland/info.json
@@ -0,0 +1,80 @@
1{
2 "keyboard_name": "Wonderland",
3 "url": "",
4 "maintainer": "evyd13",
5 "width": 18.25,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "key_count": 66,
10 "layout": [
11 {"label":"k10", "x":0, "y":0},
12 {"label":"k00", "x":1.25, "y":0},
13 {"label":"k01", "x":2.25, "y":0},
14 {"label":"k02", "x":3.25, "y":0},
15 {"label":"k03", "x":4.25, "y":0},
16 {"label":"k04", "x":5.25, "y":0},
17 {"label":"k05", "x":6.25, "y":0},
18 {"label":"k06", "x":7.25, "y":0},
19 {"label":"k07", "x":10.25, "y":0},
20 {"label":"k08", "x":11.25, "y":0},
21 {"label":"k09", "x":12.25, "y":0},
22 {"label":"k0a", "x":13.25, "y":0},
23 {"label":"k0b", "x":14.25, "y":0},
24 {"label":"k0c", "x":15.25, "y":0},
25 {"label":"k0d", "x":16.25, "y":0},
26 {"label":"k0e", "x":17.25, "y":0},
27 {"label":"k20", "x":0, "y":1},
28 {"label":"k11", "x":1.25, "y":1, "w":1.5},
29 {"label":"k12", "x":2.75, "y":1},
30 {"label":"k13", "x":3.75, "y":1},
31 {"label":"k14", "x":4.75, "y":1},
32 {"label":"k15", "x":5.75, "y":1},
33 {"label":"k16", "x":6.75, "y":1},
34 {"label":"k17", "x":9.75, "y":1},
35 {"label":"k18", "x":10.75, "y":1},
36 {"label":"k19", "x":11.75, "y":1},
37 {"label":"k1a", "x":12.75, "y":1},
38 {"label":"k1b", "x":13.75, "y":1},
39 {"label":"k1c", "x":14.75, "y":1},
40 {"label":"k1d", "x":15.75, "y":1},
41 {"label":"k1e", "x":16.75, "y":1, "w":1.5},
42 {"label":"k30", "x":0, "y":2},
43 {"label":"k21", "x":1.25, "y":2, "w":1.75},
44 {"label":"k22", "x":3, "y":2},
45 {"label":"k23", "x":4, "y":2},
46 {"label":"k24", "x":5, "y":2},
47 {"label":"k25", "x":6, "y":2},
48 {"label":"k26", "x":7, "y":2},
49 {"label":"k27", "x":10, "y":2},
50 {"label":"k28", "x":11, "y":2},
51 {"label":"k29", "x":12, "y":2},
52 {"label":"k2a", "x":13, "y":2},
53 {"label":"k2b", "x":14, "y":2},
54 {"label":"k2c", "x":15, "y":2},
55 {"label":"k2e", "x":16, "y":2, "w":2.25},
56 {"label":"k31", "x":1.25, "y":3, "w":2.25},
57 {"label":"k32", "x":3.5, "y":3},
58 {"label":"k33", "x":4.5, "y":3},
59 {"label":"k34", "x":5.5, "y":3},
60 {"label":"k35", "x":6.5, "y":3},
61 {"label":"k36", "x":7.5, "y":3},
62 {"label":"k37", "x":9.5, "y":3},
63 {"label":"k38", "x":10.5, "y":3},
64 {"label":"k39", "x":11.5, "y":3},
65 {"label":"k3a", "x":12.5, "y":3},
66 {"label":"k3b", "x":13.5, "y":3},
67 {"label":"k3c", "x":14.5, "y":3},
68 {"label":"k3d", "x":15.5, "y":3, "w":1.75},
69 {"label":"k3e", "x":17.25, "y":3},
70 {"label":"k41", "x":1.25, "y":4, "w":1.5},
71 {"label":"k43", "x":4.25, "y":4, "w":1.5},
72 {"label":"k45", "x":5.75, "y":4, "w":2},
73 {"label":"k46", "x":7.75, "y":4, "w":1.25},
74 {"label":"k48", "x":9.5, "y":4, "w":2.75},
75 {"label":"k4a", "x":12.25, "y":4, "w":1.5},
76 {"label":"k4e", "x":16.75, "y":4, "w":1.5}
77 ]
78 }
79 }
80}
diff --git a/keyboards/evyd13/wonderland/keymaps/brandonschlack/config.h b/keyboards/evyd13/wonderland/keymaps/brandonschlack/config.h
new file mode 100644
index 000000000..38383cffc
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/brandonschlack/config.h
@@ -0,0 +1,19 @@
1/* Copyright 2019 Brandon Schlack
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18#define USE_LEDS_FOR_LAYERS
19#define STOPLIGHT_LED
diff --git a/keyboards/evyd13/wonderland/keymaps/brandonschlack/keymap.c b/keyboards/evyd13/wonderland/keymaps/brandonschlack/keymap.c
new file mode 100755
index 000000000..ca7bd773c
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/brandonschlack/keymap.c
@@ -0,0 +1,170 @@
1/* Copyright 2019 Brandon Schlack
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17#include "brandonschlack.h"
18
19// LEDs
20#define TOP_LED B1
21#define MIDDLE_LED B2
22#define BOTTOM_LED B3
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25[_BASE] = LAYOUT( \
26 KC_HOME, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
27 KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
28 KC_PGDN, HY_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
29 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, PLY_FN1, \
30 KC_LOPT, KC_LCMD, SPC_RAI, KC_LCTL, SPC_RAI, KC_RCMD, KC_ROPT \
31),
32[_FN1] = LAYOUT( \
33 KC_MUTE, QM_MAKE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MC_LHPD, MC_SLPD, \
34 KC_VOLU, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_DELT, \
35 KC_VOLD, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, KC_MPRV, KC_MNXT, KC_PGDN, KC_UP, KC_MPLY, \
36 _______, RGB_LYR, RGB_THM, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, RGT_SFT, _______, \
37 _______, _______, _______, _______, _______, _______, _______ \
38
39),
40[_FN2] = LAYOUT( \
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
45 _______, _______, _______, _______, _______, _______, _______ \
46
47),
48[_ADJUST] = LAYOUT( \
49 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
51 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
53 _______, _______, _______, _______, _______, _______, _______ \
54
55)
56/*
57[_BLANK] = LAYOUT( \
58 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
59 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
60 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
61 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
62 _______, _______, _______, _______, _______, _______, _______ \
63
64)
65*/
66};
67
68#ifdef STOPLIGHT_LED
69bool is_led_stoplight_active = false;
70uint8_t led_stoplight_index = 0;
71uint16_t led_stoplight_timer = 0;
72void matrix_scan_led_stoplight(void);
73
74void led_stoplight_start(void) {
75 writePinHigh(TOP_LED);
76 writePinHigh(MIDDLE_LED);
77 writePinHigh(BOTTOM_LED);
78
79 is_led_stoplight_active = true;
80 led_stoplight_timer = timer_read();
81};
82
83void led_stoplight_set(pin_t pin) {
84 writePinLow(pin);
85};
86
87void led_stoplight_end(void) {
88 // Reset timer and status variables
89 led_stoplight_index = 0;
90 is_led_stoplight_active = false;
91 led_stoplight_timer = 0;
92 led_update_kb(host_keyboard_led_state());
93};
94
95void matrix_scan_led_stoplight(void) {
96 if (is_led_stoplight_active) {
97 if (timer_elapsed(led_stoplight_timer) > (1000 * (led_stoplight_index + 1))) {
98 switch (led_stoplight_index){
99 case 0:
100 led_stoplight_set(TOP_LED);
101 led_stoplight_index++;
102 break;
103 case 1:
104 led_stoplight_set(MIDDLE_LED);
105 led_stoplight_index++;
106 break;
107 case 2:
108 led_stoplight_set(BOTTOM_LED);
109 led_stoplight_index++;
110 break;
111 default:
112 led_stoplight_index = 0;
113 is_led_stoplight_active = false;
114 led_stoplight_timer = 0;
115 led_update_kb(host_keyboard_led_state());
116 break;
117 }
118 }
119 }
120};
121#endif
122
123void keyboard_post_init_keymap(void) {
124#ifdef STOPLIGHT_LED
125 led_stoplight_start();
126#endif
127};
128
129void matrix_scan_keymap(void) {
130#ifdef STOPLIGHT_LED
131 matrix_scan_led_stoplight();
132#endif
133};
134
135#ifdef USE_LEDS_FOR_LAYERS
136// example of how to use LEDs as layer indicators
137static uint8_t top = 0;
138static uint8_t middle = 0;
139
140layer_state_t layer_state_set_keymap(layer_state_t state) {
141 top = middle = 0;
142 state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
143
144 switch (get_highest_layer(state)) {
145 case _FN1:
146 top = 1;
147 break;
148 case _FN2:
149 middle = 1;
150 break;
151 case _ADJUST:
152 top = 1;
153 middle = 1;
154 break;
155 default: // for any other layers, or the default layer
156 break;
157 }
158 return state;
159}
160
161// override kb level function
162bool led_update_user(led_t usb_led) {
163 if (!is_led_stoplight_active) {
164 writePin(TOP_LED, !top);
165 writePin(MIDDLE_LED, !middle);
166 writePin(BOTTOM_LED, !usb_led.caps_lock); // still use bottom for Caps Lock
167 };
168 return false; // we are using LEDs for something else override kb
169}
170#endif
diff --git a/keyboards/evyd13/wonderland/keymaps/brandonschlack/rules.mk b/keyboards/evyd13/wonderland/keymaps/brandonschlack/rules.mk
new file mode 100755
index 000000000..80361c34f
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/brandonschlack/rules.mk
@@ -0,0 +1,8 @@
1# Build Options
2# comment out to disable the options.
3#
4MOUSEKEY_ENABLE = yes # Mouse keys
5CONSOLE_ENABLE = no # Console for debug
6COMMAND_ENABLE = no # Commands for debug and configuration
7VELOCIKEY_ENABLE = no
8
diff --git a/keyboards/evyd13/wonderland/keymaps/default/keymap.c b/keyboards/evyd13/wonderland/keymaps/default/keymap.c
new file mode 100644
index 000000000..da03d7615
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/default/keymap.c
@@ -0,0 +1,54 @@
1#include QMK_KEYBOARD_H
2
3enum layers {
4 _BASE,
5 _FUNC
6};
7
8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10[_BASE] = LAYOUT(
11 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, \
12 KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
13 KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
14 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), \
15 KC_LCTL, KC_LAPO, KC_BSPC, KC_LGUI, KC_SPC, KC_RAPC, KC_RCTRL \
16 ),
17[_FUNC] = LAYOUT(
18 RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET, \
19 RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
20RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, \
21 KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, \
22 _______, KC_LALT, _______, _______, _______, KC_RALT, _______ \
23 )
24};
25
26#ifdef USE_LEDS_FOR_LAYERS
27// example of how to use LEDs as layer indicators
28static uint8_t top = 1;
29static uint8_t middle = 0;
30static uint8_t bottom = 0;
31
32layer_state_t layer_state_set_user(layer_state_t state) {
33 top = middle = bottom = 0;
34 switch (get_highest_layer(state)) {
35 case _BASE:
36 top = 1;
37 break;
38 case _FUNC:
39 middle = 1;
40 break;
41 default: // for any other layers, or the default layer
42 break;
43 }
44 return state;
45}
46
47// override kb level function
48bool led_update_user(led_t usb_led) {
49 writePin(B1, !top);
50 writePin(B2, !middle);
51 writePin(B3, !bottom);
52 return false; // we are using LEDs for something else override kb
53}
54#endif
diff --git a/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c b/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c
new file mode 100644
index 000000000..ceb985606
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/keebs/keymap.c
@@ -0,0 +1,23 @@
1#include QMK_KEYBOARD_H
2
3enum layers {
4 _BASE,
5 _FUNC
6};
7
8const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
9[_BASE] = LAYOUT(
10 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, \
11 KC_F10, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
12 KC_F11, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
13 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), \
14 KC_LCTL, KC_LAPO, KC_LGUI, RGUI(KC_SPC), KC_SPC, KC_RAPC, KC_RCTRL \
15 ),
16[_FUNC] = LAYOUT(
17 RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET, \
18 RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
19RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, \
20 KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, \
21 _______, KC_LALT, _______, _______, _______, KC_RALT, _______ \
22 )
23};
diff --git a/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c b/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c
new file mode 100644
index 000000000..5c59d53a7
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/keymap.c
@@ -0,0 +1,42 @@
1#include QMK_KEYBOARD_H
2
3#define CAPSTL CTL_T(KC_CAPS)
4
5enum layers {
6 _BASE,
7 _GAME,
8 _FUNC,
9 _RGB
10};
11
12
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14[_BASE] = LAYOUT(
15 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_PGUP, KC_PGDN,
16 KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
17 KC_END, CAPSTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
18 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_DEL, MO(2),
19 TG(1), KC_LAPO, KC_BSPC, KC_LGUI, KC_SPC, KC_RAPC, MO(3)
20 ),
21[_GAME] = LAYOUT(
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC, _______,
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
26 _______, _______, KC_SPC, _______, _______, _______, _______
27 ),
28[_FUNC] = LAYOUT(
29 KC_PSCR, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX,
30 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
31 _______, _______, KC_VOLU, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX,
32 KC_LSFT, KC_BRIU, KC_BRID, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX,
33 KC_MPLY, KC_LALT, _______, _______, _______, KC_RALT, XXXXXXX
34 ),
35[_RGB] = LAYOUT(
36 RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET,
37 RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
38RGB_RMOD, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX,
39 KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX,
40 _______, KC_LALT, _______, _______, _______, KC_RALT, XXXXXXX
41 )
42};
diff --git a/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/readme.md b/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/readme.md
new file mode 100644
index 000000000..a5381fff3
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/rafael-azevedo/readme.md
@@ -0,0 +1,9 @@
1## Rafael-Azevedo a layout for everyday use and gaming
2
3### This layout was designed for everyday work with all necessary keys reachable from the home row, while having a toggle layer moving the space and backspace to a more traditional location.
4
5* The main layer gives you access to home, end, pgup and pgdn. While keeping control, delete, backspace, and enter reachable when your fingers are in the home row.
6* The main layer also includes capslock key while tapped and it becomes control when pressed.
7* **Toggle(1)[Game]:** Toggles into a gaming layout that gives you space on your left hand thumb and moves the backspace to the traditional location. That way you can game one handed while using a mouse.
8* **MO(2)[_FUNC]:** Is a momentary layer for all special functions including F keys , volume control, and print screen. It also keys character C and V, allowing you to copy and paste while using arrow keys. This is an easy to reach location for all special funtionality that is not normally used.
9* **M(3)[_RGB]:** Is a momentary layer that gives you all the RGB control and keyboard Reset. This moves the funtionality not normally used to a place you won't accidently hit and get annoyed at.
diff --git a/keyboards/evyd13/wonderland/keymaps/rys/keymap.c b/keyboards/evyd13/wonderland/keymaps/rys/keymap.c
new file mode 100644
index 000000000..7669df535
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/rys/keymap.c
@@ -0,0 +1,23 @@
1#include QMK_KEYBOARD_H
2
3enum layers {
4 _BASE,
5 _FUNC
6};
7
8const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
9[_BASE] = LAYOUT(
10 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, KC_BSPC,
11 KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
12 KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
13 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
14 KC_LCTL, KC_LGUI, KC_NUBS, KC_LALT, KC_SPC, KC_NUHS, KC_RCTRL
15 ),
16[_FUNC] = LAYOUT(
17 RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, RESET,
18 RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
19RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX,
20 RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX,
21 _______, KC_LALT, _______, _______, _______, KC_RALT, _______
22 )
23};
diff --git a/keyboards/evyd13/wonderland/keymaps/via/keymap.c b/keyboards/evyd13/wonderland/keymaps/via/keymap.c
new file mode 100644
index 000000000..85fde41a2
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/via/keymap.c
@@ -0,0 +1,33 @@
1#include QMK_KEYBOARD_H
2
3
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 [0] = LAYOUT(
6 KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
7 KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
8 KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
9 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
10 KC_LCTL, KC_LAPO, KC_BSPC, KC_LGUI, KC_SPC, KC_RAPC, KC_RCTL
11 ),
12 [1] = LAYOUT(
13 RGB_TOG, VLK_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, RESET,
14 RGB_MOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
15 RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO,
16 _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, _______,
17 _______, KC_LALT, _______, _______, _______, KC_RALT, _______
18 ),
19 [2] = LAYOUT(
20 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
21 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
24 _______, _______, _______, _______, _______, _______, _______
25 ),
26 [3] = LAYOUT(
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______
32 )
33};
diff --git a/keyboards/evyd13/wonderland/keymaps/via/rules.mk b/keyboards/evyd13/wonderland/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/evyd13/wonderland/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/evyd13/wonderland/readme.md b/keyboards/evyd13/wonderland/readme.md
new file mode 100644
index 000000000..8520908db
--- /dev/null
+++ b/keyboards/evyd13/wonderland/readme.md
@@ -0,0 +1,14 @@
1Wonderland USB-c and USB-mini
2======
3
4Only the USB-mini part is compatible with the original Alice case. The USB-c version was created for the Lubrigante, a case designed by Zambumon and a GB run by homerowco.
5
6Keyboard Maintainer: [Evyd13](https://github.com/evyd13)<br>
7Hardware Supported: Wonderland-C and Wonderland-Mini<br>
8Hardware Availability: https://maartenwut.com/product/wonderland-mini-usb-only/<br>
9
10Make example for this keyboard (after setting up your build environment):
11
12 make evyd13/wonderland:default
13
14See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/evyd13/wonderland/rules.mk b/keyboards/evyd13/wonderland/rules.mk
new file mode 100644
index 000000000..3a7e92f4d
--- /dev/null
+++ b/keyboards/evyd13/wonderland/rules.mk
@@ -0,0 +1,31 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu
13
14# Build Options
15# comment out to disable the options.
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration
22NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
23RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
24BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
25MIDI_ENABLE = no # MIDI controls
26AUDIO_ENABLE = no
27UNICODE_ENABLE = no # Unicode
28BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
29AUTO_SHIFT_ENABLE = no
30VELOCIKEY_ENABLE = yes
31
diff --git a/keyboards/evyd13/wonderland/wonderland.c b/keyboards/evyd13/wonderland/wonderland.c
new file mode 100644
index 000000000..441544381
--- /dev/null
+++ b/keyboards/evyd13/wonderland/wonderland.c
@@ -0,0 +1,34 @@
1#include "wonderland.h"
2
3__attribute__ ((weak))
4void matrix_init_kb(void) {
5 // put your keyboard start-up code here
6 // runs once when the firmware starts up
7 matrix_init_user();
8 led_init_ports();
9};
10
11__attribute__ ((weak))
12void matrix_scan_kb(void) {
13 // put your looping keyboard code here
14 // runs every cycle (a lot)
15 matrix_scan_user();
16};
17
18__attribute__ ((weak))
19void led_init_ports(void) {
20 // * Set our LED pins as output
21 setPinOutput(B1);
22 setPinOutput(B2);
23 setPinOutput(B3);
24}
25
26bool led_update_kb(led_t led_state) {
27 bool runDefault = led_update_user(led_state);
28 if (runDefault) {
29 writePin(B1, !led_state.num_lock);
30 writePin(B2, !led_state.caps_lock);
31 writePin(B3, !led_state.scroll_lock);
32 }
33 return runDefault;
34}
diff --git a/keyboards/evyd13/wonderland/wonderland.h b/keyboards/evyd13/wonderland/wonderland.h
new file mode 100644
index 000000000..075e3f64b
--- /dev/null
+++ b/keyboards/evyd13/wonderland/wonderland.h
@@ -0,0 +1,22 @@
1#pragma once
2#include "quantum.h"
3
4// readability
5#define XXX KC_NO
6#define LAYOUT( \
7 k10, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
8 k20, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
9 k30, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
10 k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
11 k41, k43, k45, k46, k48, k4a, k4e \
12) \
13{ \
14 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
15 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e}, \
16 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, k2e}, \
17 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e}, \
18 {XXX, k41, XXX, k43, XXX, k45, k46, XXX, k48, XXX, k4a, XXX, XXX, XXX, k4e} \
19}
20
21void matrix_init_user(void);
22void matrix_scan_user(void);