aboutsummaryrefslogtreecommitdiff
path: root/keyboards/thevankeyboards
diff options
context:
space:
mode:
authorMechMerlin <30334081+mechmerlin@users.noreply.github.com>2018-09-13 09:40:43 -0700
committerDrashna Jaelre <drashna@live.com>2018-09-13 09:40:43 -0700
commitce122c4981c71d33a85db94c787d5ec7a823acc6 (patch)
tree82693003e0e6f4191bd34362025e5ed5bb6ee9db /keyboards/thevankeyboards
parentcd3518b802071a915ff11659a32bf0a124687ea3 (diff)
downloadqmk_firmware-ce122c4981c71d33a85db94c787d5ec7a823acc6.tar.gz
qmk_firmware-ce122c4981c71d33a85db94c787d5ec7a823acc6.zip
Keyboard: Shuffle keyboards into thevankeyboards directory (#3895)
* move tv44 to thevankeyboards directory * move bananasplit to thevankeyboards * move roadkit to thevankeyboards directory * add a basic readme * update readmes to correct the make instructions and add more help text * rename tv44 to minivan as per Jack's suggestions * update readme * rename tv44 to minivan * update tv44 to minivan * change includes for tv44 to minivan * remove extra includes
Diffstat (limited to 'keyboards/thevankeyboards')
-rw-r--r--keyboards/thevankeyboards/bananasplit/README.md14
-rw-r--r--keyboards/thevankeyboards/bananasplit/bananasplit.c28
-rw-r--r--keyboards/thevankeyboards/bananasplit/bananasplit.h142
-rw-r--r--keyboards/thevankeyboards/bananasplit/config.h84
-rw-r--r--keyboards/thevankeyboards/bananasplit/info.json32
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/0010/config.h24
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c73
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/0010/rules.mk37
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/config.h27
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c96
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/readme.md33
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/rules.mk37
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/default/config.h24
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/default/keymap.c25
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/default/readme.md1
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/default/rules.mk37
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/hhkbanana/keymap.c25
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c92
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md66
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c105
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md61
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/kamon/config.h25
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/kamon/keymap.c96
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/kamon/readme.md34
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/kamon/rules.mk37
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c45
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/rask/README.md53
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/rask/keymap.c72
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/talljoe/config.h23
-rw-r--r--keyboards/thevankeyboards/bananasplit/keymaps/talljoe/keymap.c1
-rw-r--r--keyboards/thevankeyboards/bananasplit/rules.mk66
-rw-r--r--keyboards/thevankeyboards/minivan/config.h162
-rw-r--r--keyboards/thevankeyboards/minivan/info.json24
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/config.h8
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c102
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/readme.md14
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/belak/rules.mk12
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/budi/config.h22
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c229
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/budi/readme.md17
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/core/keymap.c32
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/core/readme.md18
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/core/rules.mk3
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/default/config.h8
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/default/keymap.c99
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/default/readme.md1
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/default/rules.mk21
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jeebak/keymap.c423
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jeebak/readme.md129
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jeebak/rules.mk21
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/config.h7
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c39
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/readme.md49
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/rules.mk17
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/mjt/config.h14
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/mjt/keymap.c197
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/mjt/readme.md26
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/mjt/rules.mk21
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/smt/keymap.c230
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/smt/readme.md126
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/smt/rules.mk21
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/tong92/config.h12
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c203
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/tong92/readme.md52
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/tong92/rules.mk21
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/xyverz/config.h8
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c124
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/xyverz/readme.md1
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/xyverz/rules.mk21
-rw-r--r--keyboards/thevankeyboards/minivan/minivan.c28
-rw-r--r--keyboards/thevankeyboards/minivan/minivan.h67
-rw-r--r--keyboards/thevankeyboards/minivan/readme.md13
-rw-r--r--keyboards/thevankeyboards/minivan/rules.mk69
-rw-r--r--keyboards/thevankeyboards/readme.md3
-rw-r--r--keyboards/thevankeyboards/roadkit/config.h162
-rw-r--r--keyboards/thevankeyboards/roadkit/info.json15
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/default/config.h8
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/default/keymap.c48
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/default/readme.md1
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/default/rules.mk21
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h8
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c219
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md26
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk21
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/khord/config.h15
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/khord/keymap.c112
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/khord/rules.mk22
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/mjt/config.h8
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/mjt/keymap.c239
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/mjt/readme.md22
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/mjt/rules.mk21
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/singles/config.h8
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/singles/keymap.c61
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/singles/readme.md3
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/singles/rules.mk21
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/config.h15
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/keymap.c242
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/readme.md3
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/rules.mk22
-rw-r--r--keyboards/thevankeyboards/roadkit/readme.md13
-rw-r--r--keyboards/thevankeyboards/roadkit/roadkit.c28
-rw-r--r--keyboards/thevankeyboards/roadkit/roadkit.h33
-rw-r--r--keyboards/thevankeyboards/roadkit/rules.mk71
103 files changed, 5717 insertions, 0 deletions
diff --git a/keyboards/thevankeyboards/bananasplit/README.md b/keyboards/thevankeyboards/bananasplit/README.md
new file mode 100644
index 000000000..41d0d407d
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/README.md
@@ -0,0 +1,14 @@
1# BananaSplit60
2
3A 60% PCB featuring a split spacebar.
4
5Keyboard Maintainer: QMK Community
6Hardware Supported: BananaSplit60 PCB
7Hardware Availability: https://thevankeyboards.com/products/gb-bananasplit-60-keyboard-kit?variant=42149104910
8
9Make example for this keyboard (after setting up your build environment):
10
11 make thevankeyboards/bananasplit: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).
14
diff --git a/keyboards/thevankeyboards/bananasplit/bananasplit.c b/keyboards/thevankeyboards/bananasplit/bananasplit.c
new file mode 100644
index 000000000..1aa8fb174
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/bananasplit.c
@@ -0,0 +1,28 @@
1#include "bananasplit.h"
2
3void matrix_init_kb(void) {
4 // put your keyboard start-up code here
5 // runs once when the firmware starts up
6
7 matrix_init_user();
8}
9
10void matrix_scan_kb(void) {
11 // put your looping keyboard code here
12 // runs every cycle (a lot)
13
14 matrix_scan_user();
15}
16
17bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
18 // put your per-action keyboard code here
19 // runs for every action, just before processing by the firmware
20
21 return process_record_user(keycode, record);
22}
23
24void led_set_kb(uint8_t usb_led) {
25 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
26
27 led_set_user(usb_led);
28}
diff --git a/keyboards/thevankeyboards/bananasplit/bananasplit.h b/keyboards/thevankeyboards/bananasplit/bananasplit.h
new file mode 100644
index 000000000..8d545c1f9
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/bananasplit.h
@@ -0,0 +1,142 @@
1/*
2Copyright 2012,2013 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#ifndef BANANASPLIT_H
18#define BANANASPLIT_H
19
20#include "quantum.h"
21
22/*
23-------------------------------------------------------------------------------------------
24| K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D |
25-------------------------------------------------------------------------------------------
26| K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D |
27-------------------------------------------------------------------------------------------
28| K20 | K21 | K22 | K23 | K24 | K25 | K26 | K27 | K28 | K29 | K2A | K2B | K2C |
29-------------------------------------------------------------------------------------------
30| K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | K3D |
31-------------------------------------------------------------------------------------------
32| K40 | K41 | K42 | K44 | K45 | K46 | K48 | K49 | K4A | K4B | K4C |
33-------------------------------------------------------------------------------------------
34*/
35#define LAYOUT_base( \
36 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
37 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
38 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
39 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
40 K40, K41, K42, K44, K45, K46, K48, K49, K4A, K4B, K4C \
41) { \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \
45 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
46 { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, KC_NO } \
47}
48/* Here is the above keymap filled with KC_TRNS. It's a useful starting point when defining layers.
49KEYMAP( \
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
51 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
53 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
54 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
55)
56*/
57
58#define LAYOUT_hhkbanana( \
59 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
60 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
61 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
62 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
63 K40, K41, K42, K44, K45, K46, K48, K49, K4A, K4B, K4C \
64) { \
65 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
66 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
67 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
68 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
69 { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, KC_NO } \
70}
71
72#define LAYOUT_60_ansi( \
73 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
74 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
75 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
76 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
77 K40, K41, K42, K45, K48, K49, K4B, K4C \
78) { \
79 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
80 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
81 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \
82 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
83 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, K48, K49, KC_NO, K4B, K4C, KC_NO } \
84}
85
86#define LAYOUT_60_iso( \
87 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
88 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
89 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
90 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
91 K40, K41, K42, K45, K48, K49, K4B, K4C \
92) { \
93 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
94 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
95 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \
96 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
97 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, K48, K49, KC_NO, K4B, K4C, KC_NO } \
98}
99
100/*
101-------------------------------------------------------------------------------------------
102| K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D | K2D |
103-------------------------------------------------------------------------------------------
104| K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D |
105-------------------------------------------------------------------------------------------
106| K20 | K21 | K22 | K23 | K24 | K25 | K26 | K27 | K28 | K29 | K2A | K2B | K2C |
107-------------------------------------------------------------------------------------------
108| K30 | K31 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | K3D |
109-------------------------------------------------------------------------------------------
110| K40 | K41 | K42 | K44 | K45 | K46 | K48 | K49 | K4A | K4B | K4C |
111-------------------------------------------------------------------------------------------
112*/
113#define LAYOUT_all( \
114 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
115 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
116 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
117 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
118 K40, K41, K42, K44, K45, K46, K48, K49, K4A, K4B, K4C \
119) { \
120 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
121 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
122 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
123 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
124 { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, KC_NO } \
125}
126
127#define LAYOUT_hhkb_arrow( \
128 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
129 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
130 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
131 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,\
132 K40, K41, K42, K44, K45, K46, K48, K49, K4A, K4B, K4C \
133) { \
134 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
135 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
136 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
137 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
138 { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, KC_NO } \
139}
140
141
142#endif
diff --git a/keyboards/thevankeyboards/bananasplit/config.h b/keyboards/thevankeyboards/bananasplit/config.h
new file mode 100644
index 000000000..5649ab4aa
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/config.h
@@ -0,0 +1,84 @@
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#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEAE
25#define PRODUCT_ID 0x8870
26#define DEVICE_VER 0x0001
27#define MANUFACTURER TheVan Keyboards
28#define PRODUCT BananaSplit 60
29#define DESCRIPTION keyboard firmware for BananaSplit 60
30
31/* key matrix size */
32#define MATRIX_ROWS 5
33#define MATRIX_COLS 14
34
35#define MATRIX_ROW_PINS { B0, B2, B4, B5, B6 }
36#define MATRIX_COL_PINS { F5, B1, F0, F1, F4, B3, D7, D6, D4, D5, D3, D2, D1, D0 }
37#define UNUSED_PINS
38
39#define DIODE_DIRECTION ROW2COL
40
41/* define if matrix has ghost */
42//#define MATRIX_HAS_GHOST
43
44/* number of backlight levels */
45#define BACKLIGHT_LEVELS 3
46
47/* mapping backlight LEDs to correct Pin */
48#define BACKLIGHT_PIN B7
49
50/* Set 0 if debouncing isn't needed */
51#define DEBOUNCING_DELAY 5
52#define TAPPING_TERM 175
53
54/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
55#define LOCKING_SUPPORT_ENABLE
56/* Locking resynchronize hack */
57#define LOCKING_RESYNC_ENABLE
58
59/* key combination for command */
60#define IS_COMMAND() ( \
61 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
62)
63
64
65
66/*
67 * Feature disable options
68 * These options are also useful to firmware size reduction.
69 */
70
71/* disable debug print */
72//#define NO_DEBUG
73
74/* disable print */
75//#define NO_PRINT
76
77/* disable action features */
78//#define NO_ACTION_LAYER
79//#define NO_ACTION_TAPPING
80//#define NO_ACTION_ONESHOT
81//#define NO_ACTION_MACRO
82//#define NO_ACTION_FUNCTION
83
84#endif
diff --git a/keyboards/thevankeyboards/bananasplit/info.json b/keyboards/thevankeyboards/bananasplit/info.json
new file mode 100644
index 000000000..6741c6cdb
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/info.json
@@ -0,0 +1,32 @@
1{
2 "keyboard_name": "bananasplit",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_base": {
9 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"Alt", "x":10, "y":4}, {"x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}]
10 },
11
12 "LAYOUT_hhkbanana": {
13 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}]
14 },
15
16 "LAYOUT_60_ansi": {
17 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
18 },
19
20 "LAYOUT_60_iso": {
21 "layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
22 },
23
24 "LAYOUT_all": {
25 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"Alt", "x":10, "y":4}, {"x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}]
26 },
27
28 "LAYOUT_hhkb_arrow": {
29 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"Alt", "x":10, "y":4}, {"x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}]
30 }
31 }
32} \ No newline at end of file
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/0010/config.h b/keyboards/thevankeyboards/bananasplit/keymaps/0010/config.h
new file mode 100644
index 000000000..060f5922f
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/0010/config.h
@@ -0,0 +1,24 @@
1/* Copyright 2017 Balz Guenat
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#ifndef CONFIG_USER_H
18#define CONFIG_USER_H
19
20#include "../../config.h"
21
22// place overrides here
23
24#endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c
new file mode 100644
index 000000000..617812149
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/0010/keymap.c
@@ -0,0 +1,73 @@
1/* Copyright 2017 Balz Guenat
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#include QMK_KEYBOARD_H
18
19#define ______ KC_TRNS
20
21/*
22 This switch layout is ANSI with the following modifications:
23 Split right shift
24 225 125 275 spacebar
25 Bottom right singles
26*/
27
28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29/*
30-------------------------------------------------------------------------------------------
31|Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
32-------------------------------------------------------------------------------------------
33| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
34-------------------------------------------------------------------------------------------
35| Cpslock | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
36-------------------------------------------------------------------------------------------
37| Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up |
38-------------------------------------------------------------------------------------------
39| Ctrl | GUI | Alt | L1(Space) | LED | Space | Home | End | Left |Rght |Down |
40-------------------------------------------------------------------------------------------
41*/
42[0] = LAYOUT_base( \
43 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, \
44 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, \
45 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, \
46 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,\
47 KC_LCTL, KC_LGUI, KC_LALT, LT(1,KC_SPACE), BL_TOGG, KC_SPC, KC_HOME, KC_END, KC_LEFT, KC_RGHT, KC_DOWN \
48),
49/*
50-------------------------------------------------------------------------------------------
51| ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
52-------------------------------------------------------------------------------------------
53| | | UP | | | | | | | | | | | PrtSc |
54-------------------------------------------------------------------------------------------
55| |Left | Down |Right | | | | | | | | | | SLEEP |
56-------------------------------------------------------------------------------------------
57| | | | | | | | | | | | | | |
58-------------------------------------------------------------------------------------------
59| | | | | Reset | | | | | |
60-------------------------------------------------------------------------------------------
61*/
62[1] = LAYOUT_base( \
63 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_DEL, \
64 ______, ______, KC_UP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, \
65 ______, KC_LEFT, KC_DOWN, KC_RGHT, ______, ______, ______, ______, ______, ______, ______, ______, KC_SLEP, \
66 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PGUP, \
67 ______, ______, ______, ______, RESET, ______, ______, ______, ______, ______, KC_PGDN \
68),
69};
70
71
72const uint16_t PROGMEM fn_actions[] = {
73};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/0010/rules.mk b/keyboards/thevankeyboards/bananasplit/keymaps/0010/rules.mk
new file mode 100644
index 000000000..7d09c322e
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/0010/rules.mk
@@ -0,0 +1,37 @@
1# Copyright 2017 Balz Guenat
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# QMK Build Options
18# change to "no" to disable the options, or define them in the Makefile in
19# the appropriate keymap folder that will get included automatically
20#
21# BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
22# MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
23# EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
24# CONSOLE_ENABLE = no # Console for debug(+400)
25# COMMAND_ENABLE = yes # Commands for debug and configuration
26# NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
27# BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
28# MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
29# AUDIO_ENABLE = no # Audio output on port C6
30# UNICODE_ENABLE = no # Unicode
31# BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
32# RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
33# SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
34
35ifndef QUANTUM_DIR
36 include ../../../../Makefile
37endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/config.h b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/config.h
new file mode 100644
index 000000000..92a67f647
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/config.h
@@ -0,0 +1,27 @@
1/* Copyright 2017 Balz Guenat
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#ifndef CONFIG_USER_H
18#define CONFIG_USER_H
19
20#include "config_common.h"
21
22// place overrides here
23#define GRAVE_ESC_CTRL_OVERRIDE
24#define BACKLIGHT_BREATHING
25#define BREATHING_PERIOD 8
26
27#endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c
new file mode 100644
index 000000000..275bfe32a
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/keymap.c
@@ -0,0 +1,96 @@
1/* Copyright 2017 Balz Guenat
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
18enum custom_keycodes {
19 WIN_SWITCH_LAYOUT = SAFE_RANGE,
20};
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23/*
24-------------------------------------------------------------------------------------------
25|GvEsc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
26-------------------------------------------------------------------------------------------
27| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
28-------------------------------------------------------------------------------------------
29| Fn1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
30-------------------------------------------------------------------------------------------
31| Shift | Z | X | C | V | B | N | M | , | . | / | Shift |M(0) |
32-------------------------------------------------------------------------------------------
33| Ctrl | GUI | Alt | Space | Fn1 | Space | Alt | GUI | App | Ctrl |
34-------------------------------------------------------------------------------------------
35*/
36[0] = LAYOUT_base( \
37 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, \
38 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, \
39 MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
40 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, WIN_SWITCH_LAYOUT,\
41 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, KC_RCTL \
42),
43/*
44-------------------------------------------------------------------------------------------
45| | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
46-------------------------------------------------------------------------------------------
47| CpsLck |Prev |Vol+ |Next |PgUp | Ins |Home |WrdL |WrdR | End | | | | PrtSc |
48-------------------------------------------------------------------------------------------
49| TRNS |Mute |Vol- |Play |PgDn | Del |Left |Down | Up |Right| | | |
50-------------------------------------------------------------------------------------------
51| | | | | | |DelWL|DelWR| | | | | |
52-------------------------------------------------------------------------------------------
53| | | | | TRNS | | | | | Reset |
54-------------------------------------------------------------------------------------------
55*/
56[1] = LAYOUT_base( \
57 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, \
58 KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, KC_PGUP, KC_INS, KC_HOME, LCTL(KC_LEFT), LCTL(KC_RGHT), KC_END, _______, _______, _______, KC_PSCR, \
59 _______, KC_MUTE, KC_VOLD, KC_MPLY, KC_PGDN, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, \
60 _______, BL_STEP, BL_BRTG, _______, _______,_______, LCTL(KC_BSPC), LCTL(KC_DEL), _______, _______, _______, _______, _______, \
61 _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, RESET \
62),
63};
64
65const uint16_t PROGMEM fn_actions[] = {
66
67};
68
69void matrix_init_user(void) {
70
71}
72
73void matrix_scan_user(void) {
74
75}
76
77bool process_record_user(uint16_t keycode, keyrecord_t *record) {
78 switch (keycode) {
79
80 case WIN_SWITCH_LAYOUT: {
81 // Sends Alt+Shift on both key down and key up.
82 // Designed to switch between two keyboard layouts on Windows using a locking switch.
83 // Does nothing if right shift is pressed for easy resync.
84 if (!(get_mods() & MOD_BIT(KC_RSFT)))
85 SEND_STRING(SS_DOWN(X_LALT)SS_TAP(X_LSHIFT)SS_UP(X_LALT));
86 return false;
87 }
88
89 default:
90 return true;
91 }
92}
93
94void led_set_user(uint8_t usb_led) {
95
96}
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/readme.md b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/readme.md
new file mode 100644
index 000000000..b9ce5f44a
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/readme.md
@@ -0,0 +1,33 @@
1# /u/Coloneljesus's keymap for the Bananasplit
2
3Default layer:
4
5```
6-------------------------------------------------------------------------------------------
7|GvEsc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
8-------------------------------------------------------------------------------------------
9| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
10-------------------------------------------------------------------------------------------
11| Fn1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
12-------------------------------------------------------------------------------------------
13| Shift | Z | X | C | V | B | N | M | , | . | / | Shift |
14-------------------------------------------------------------------------------------------
15| Ctrl | GUI | Alt | Space | Fn1 | Space | Alt | GUI | App | Ctrl |
16-------------------------------------------------------------------------------------------
17```
18
19Fn1 layer:
20
21```
22-------------------------------------------------------------------------------------------
23| | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
24-------------------------------------------------------------------------------------------
25| CpsLck |Prev |Vol+ |Next |PgUp | Ins |Home |WrdL |WrdR | End | | | | PrtSc |
26-------------------------------------------------------------------------------------------
27| TRNS |Mute |Vol- |Play |PgDn | Del |Left |Down | Up |Right| | | |
28-------------------------------------------------------------------------------------------
29| | | | | | |DelWL|DelWR| | | | |
30-------------------------------------------------------------------------------------------
31| | | | | TRNS | | | | | Reset |
32-------------------------------------------------------------------------------------------
33``` \ No newline at end of file
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/rules.mk b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/rules.mk
new file mode 100644
index 000000000..7d09c322e
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/coloneljesus/rules.mk
@@ -0,0 +1,37 @@
1# Copyright 2017 Balz Guenat
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# QMK Build Options
18# change to "no" to disable the options, or define them in the Makefile in
19# the appropriate keymap folder that will get included automatically
20#
21# BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
22# MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
23# EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
24# CONSOLE_ENABLE = no # Console for debug(+400)
25# COMMAND_ENABLE = yes # Commands for debug and configuration
26# NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
27# BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
28# MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
29# AUDIO_ENABLE = no # Audio output on port C6
30# UNICODE_ENABLE = no # Unicode
31# BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
32# RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
33# SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
34
35ifndef QUANTUM_DIR
36 include ../../../../Makefile
37endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/default/config.h b/keyboards/thevankeyboards/bananasplit/keymaps/default/config.h
new file mode 100644
index 000000000..060f5922f
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/default/config.h
@@ -0,0 +1,24 @@
1/* Copyright 2017 Balz Guenat
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#ifndef CONFIG_USER_H
18#define CONFIG_USER_H
19
20#include "../../config.h"
21
22// place overrides here
23
24#endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/default/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/default/keymap.c
new file mode 100644
index 000000000..dcef38bca
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/default/keymap.c
@@ -0,0 +1,25 @@
1#include QMK_KEYBOARD_H
2
3#define DEFAULT_LAYER 0
4#define LAYER_1 1
5
6const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7 [DEFAULT_LAYER] = LAYOUT_base(
8 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, \
9 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, \
10 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, \
11 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, _______, \
12 KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(LAYER_1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
13 ),
14
15 [LAYER_1] = LAYOUT_base( \
16 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
17 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
18 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
19 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
20 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
21 ),
22};
23
24const uint16_t PROGMEM fn_actions[] = {
25};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/default/readme.md b/keyboards/thevankeyboards/bananasplit/keymaps/default/readme.md
new file mode 100644
index 000000000..aaf6daa08
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for the Bananasplit
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/default/rules.mk b/keyboards/thevankeyboards/bananasplit/keymaps/default/rules.mk
new file mode 100644
index 000000000..7d09c322e
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/default/rules.mk
@@ -0,0 +1,37 @@
1# Copyright 2017 Balz Guenat
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# QMK Build Options
18# change to "no" to disable the options, or define them in the Makefile in
19# the appropriate keymap folder that will get included automatically
20#
21# BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
22# MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
23# EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
24# CONSOLE_ENABLE = no # Console for debug(+400)
25# COMMAND_ENABLE = yes # Commands for debug and configuration
26# NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
27# BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
28# MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
29# AUDIO_ENABLE = no # Audio output on port C6
30# UNICODE_ENABLE = no # Unicode
31# BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
32# RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
33# SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
34
35ifndef QUANTUM_DIR
36 include ../../../../Makefile
37endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/hhkbanana/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/hhkbanana/keymap.c
new file mode 100644
index 000000000..f2f829f93
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/hhkbanana/keymap.c
@@ -0,0 +1,25 @@
1#include QMK_KEYBOARD_H
2
3#define DEFAULT_LAYER 0
4#define LAYER_1 1
5
6const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7 [DEFAULT_LAYER] = LAYOUT_hhkbanana( \
8 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_PSCR, \
9 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, \
10 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, \
11 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
12 KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(LAYER_1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT \
13 ),
14
15 [LAYER_1] = LAYOUT_hhkbanana( \
16 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
17 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
18 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
19 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
20 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
21 ),
22};
23
24const uint16_t PROGMEM fn_actions[] = {
25};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c
new file mode 100644
index 000000000..89e275daf
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c
@@ -0,0 +1,92 @@
1/*
2 Author: jockyxu1122
3
4 Hightlight: split backspace, split space, arrows on bottom right,
5 and backlighting support (capslock's backlighting cannot be controlled separately).
6
7 Note that "Previous track" and "next track" might only work with Windows.
8*/
9
10#include QMK_KEYBOARD_H
11
12#define DEFAULT_LAYER 0
13#define LAYER_1 1
14
15const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /*
17 -------------------------------------------------------------
18 |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
19 -------------------------------------------------------------
20 | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
21 -------------------------------------------------------------
22 | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
23 -------------------------------------------------------------
24 | Shift | Z | X | C | V | B | N | M | , | . | / | Shift| Up|
25 -------------------------------------------------------------
26 |Ctrl| GUI| Alt| Space |MoL1| Backspc| Hm|End| <-|Dwn| ->|
27 -------------------------------------------------------------
28 Hm: Home
29 MoL1: Mo(L1)
30 */
31 [DEFAULT_LAYER] = LAYOUT_hhkb_arrow(
32 // row 1
33 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_GRV, \
34 KC_DEL, \
35 // row 2
36 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, \
37 // row 3
38 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, \
39 // row 4
40 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, \
41 // row 5
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(LAYER_1), KC_BSPC, KC_HOME, KC_END, KC_LEFT, KC_DOWN, \
43 KC_RIGHT
44 ),
45
46 /*
47 -------------------------------------------------------------
48 |LED| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |Ins|
49 -------------------------------------------------------------
50 | | | | @ | | | | | | | |BDn|BUp| |
51 -------------------------------------------------------------
52 | | | | | | | | | | | | | |
53 -------------------------------------------------------------
54 | | | |Cal| |www| |Mut| | | | |VUp|
55 -------------------------------------------------------------
56 | | | | Pause | | |PUp|PDn|PTk|VDn|NTk|
57 -------------------------------------------------------------
58 @: Email
59 BDn: LED brightness down
60 BUp: LED brightness up
61 Cal: Calculator
62 Ins: Insert
63 Mut: Mute
64 NTk: Next track
65 PDn: Page down
66 PTk: Previous track
67 PUp: Page up
68 VDn: Volume down
69 VUp: Volume up
70 www: Browser home page
71 */
72 [LAYER_1] = LAYOUT_hhkb_arrow(
73 // row 1
74 BL_TOGG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \
75 KC_F12, KC_TRNS, KC_INS, \
76 // row 2
77 KC_TRNS, KC_TRNS, KC_TRNS, KC_MAIL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
78 KC_TRNS, BL_DEC, BL_INC, KC_TRNS, \
79 // row 3
80 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
81 KC_TRNS, KC_TRNS, KC_TRNS, \
82 // row 4
83 KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_WHOM, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, \
84 KC_TRNS, KC_TRNS, KC_VOLU, \
85 // row 5
86 KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_MPRV, KC_VOLD, \
87 KC_MNXT
88 )
89};
90
91const uint16_t PROGMEM fn_actions[] = {
92};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md
new file mode 100644
index 000000000..664a0a048
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md
@@ -0,0 +1,66 @@
1Yida's keymap for BananaSplit
2===
3
4Hightlight: split backspace, split space, arrows on bottom right, and
5backlighting support (capslock's backlighting cannot be controlled separately).
6
7Note that "Previous track" and "next track" might only work with Windows.
8
9Default layer:
10
11```
12 -------------------------------------------------------------
13 |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
14 -------------------------------------------------------------
15 | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
16 -------------------------------------------------------------
17 | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
18 -------------------------------------------------------------
19 | Shift | Z | X | C | V | B | N | M | , | . | / | Shift| Up|
20 -------------------------------------------------------------
21 |Ctrl| GUI| Alt| Space |MoL1| Backspc| Hm|End| <-|Dwn| ->|
22 -------------------------------------------------------------
23 Hm: Home
24 MoL1: Mo(L1)
25```
26
27Layer_1:
28
29```
30 -------------------------------------------------------------
31 |LED| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |Ins|
32 -------------------------------------------------------------
33 | | | | @ | | | | | | | |BDn|BUp| |
34 -------------------------------------------------------------
35 | | | | | | | | | | | | | |
36 -------------------------------------------------------------
37 | | | |Cal| |www| |Mut| | | | |VUp|
38 -------------------------------------------------------------
39 | | | | Pause | | |PUp|PDn|PTk|VDn|NTk|
40 -------------------------------------------------------------
41 @: Email
42 BDn: LED brightness down
43 BUp: LED brightness up
44 Cal: Calculator
45 Ins: Insert
46 Mut: Mute
47 NTk: Next track
48 PDn: Page down
49 PTk: Previous track
50 PUp: Page up
51 VDn: Volume down
52 VUp: Volume up
53 www: Browser home page
54```
55
56Compile and flash:
57
58`cd` to `/qmk_firmware` folder, then
59```
60make bananasplit:jockyxu1122_ansi
61```
62
63A .hex file will be generated under `/qmk_firmware` folder.
64
65
66To flash, use QMK Toolbox.
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c
new file mode 100644
index 000000000..859944991
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c
@@ -0,0 +1,105 @@
1/*
2 Author: jockyxu1122
3
4 Hightlight: split backspace, ISO Enter, split space, arrows on bottom right,
5 and toggable capslock backlight.
6
7 Note that "Previous track" and "next track" might only work with Windows.
8*/
9
10#include QMK_KEYBOARD_H
11
12#define DEFAULT_LAYER 0
13#define LAYER_1 1
14
15const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /*
17 -------------------------------------------------------------
18 |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
19 -------------------------------------------------------------
20 | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Ent |
21 -------------------------------------------------------- -
22 | Caps | A | S | D | F | G | H | J | K | L | ; | ' | \ | |
23 -------------------------------------------------------------
24 | Shift | Z | X | C | V | B | N | M | , | . | Shift| Up| / |
25 -------------------------------------------------------------
26 |Ctrl| GUI| Alt| Space |MoL1| Backspc| Hm|End| <-|Dwn| ->|
27 -------------------------------------------------------------
28 Hm: Home
29 MoL1: Mo(L1)
30 */
31 [DEFAULT_LAYER] = LAYOUT_hhkb_arrow(
32 // row 1
33 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_GRV, \
34 KC_DEL, \
35 // row 2
36 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_ENT, \
37 // row 3
38 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, \
39 // row 4
40 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH, \
41 // row 5
42 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(LAYER_1), KC_BSPC, KC_HOME, KC_END, KC_LEFT, KC_DOWN, \
43 KC_RIGHT
44 ),
45
46 /*
47 -------------------------------------------------------------
48 | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |Ins|
49 -------------------------------------------------------------
50 | | | | @ | | | | | | | | | | |
51 -------------------------------------------------------- -
52 | | | | | | | | | | | | | | |
53 -------------------------------------------------------------
54 | | | |Cal| |www| |Mut| | | |VUp| |
55 -------------------------------------------------------------
56 | | | | Pause | | |PUp|PDn|PTk|VDn|NTk|
57 -------------------------------------------------------------
58 @: Email
59 Cal: Calculator
60 Ins: Insert
61 Mut: Mute
62 NTk: Next track
63 PDn: Page down
64 PTk: Previous track
65 PUp: Page up
66 VDn: Volume down
67 VUp: Volume up
68 www: Browser home page
69 */
70 [LAYER_1] = LAYOUT_hhkb_arrow(
71 // row 1
72 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \
73 KC_F12, KC_TRNS, KC_INS, \
74 // row 2
75 KC_TRNS, KC_TRNS, KC_TRNS, KC_MAIL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
76 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
77 // row 3
78 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
79 KC_TRNS, KC_TRNS, KC_TRNS, \
80 // row 4
81 KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_WHOM, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, \
82 KC_TRNS, KC_VOLU, KC_TRNS, \
83 // row 5
84 KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_MPRV, KC_VOLD, \
85 KC_MNXT
86 )
87};
88
89const uint16_t PROGMEM fn_actions[] = {
90};
91
92/*
93Capslock's led cannot be controlled separately on bananasplit and you can only turn on/off all
94 leds at once. If you only install led for capslock, it will look like capslock has toggable
95 backlight.
96*/
97void led_set_user(uint8_t usb_led) {
98 if (usb_led && (1 << USB_LED_CAPS_LOCK)) {
99 DDRB |= (1 << 7);
100 PORTB |= (1 << 7);
101 } else {
102 DDRB &= ~(1 << 7);
103 PORTB &= ~(1 << 7);
104 }
105}
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md
new file mode 100644
index 000000000..e135f73e3
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md
@@ -0,0 +1,61 @@
1Yida's keymap for BananaSplit
2===
3
4Hightlight: split backspace, ISO Enter, split space, arrows on bottom right, and toggable capslock backlight.
5
6Note that "Previous track" and "next track" might only work with Windows.
7
8Default layer:
9```
10 -------------------------------------------------------------
11 |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
12 -------------------------------------------------------------
13 | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Ent |
14 -------------------------------------------------------- -
15 | Caps | A | S | D | F | G | H | J | K | L | ; | ' | \ | |
16 -------------------------------------------------------------
17 | Shift | Z | X | C | V | B | N | M | , | . | Shift| Up| / |
18 -------------------------------------------------------------
19 |Ctrl| GUI| Alt| Space |MoL1| Backspc| Hm|End| <-|Dwn| ->|
20 -------------------------------------------------------------
21 Hm: Home
22 MoL1: Mo(L1)
23```
24
25Layer_1:
26```
27 -------------------------------------------------------------
28 | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |Ins|
29 -------------------------------------------------------------
30 | | | | @ | | | | | | | | | | |
31 -------------------------------------------------------- -
32 | | | | | | | | | | | | | | |
33 -------------------------------------------------------------
34 | | | |Cal| |www| |Mut| | | |VUp| |
35 -------------------------------------------------------------
36 | | | | Pause | | |PUp|PDn|PTk|VDn|NTk|
37 -------------------------------------------------------------
38 @: Email
39 Cal: Calculator
40 Ins: Insert
41 Mut: Mute
42 NTk: Next track
43 PDn: Page down
44 PTk: Previous track
45 PUp: Page up
46 VDn: Volume down
47 VUp: Volume up
48 www: Browser home page
49```
50
51Compile and flash:
52
53`cd` to `/qmk_firmware` folder, then
54```
55make bananasplit:jockyxu1122_iso
56```
57
58A .hex file will be generated under `/qmk_firmware` folder.
59
60
61To flash, use QMK Toolbox.
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/kamon/config.h b/keyboards/thevankeyboards/bananasplit/keymaps/kamon/config.h
new file mode 100644
index 000000000..af6cf8ef1
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/kamon/config.h
@@ -0,0 +1,25 @@
1/* Copyright 2017 Balz Guenat
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#ifndef CONFIG_USER_H
18#define CONFIG_USER_H
19
20#include "../../config.h"
21
22// place overrides here
23#define GRAVE_ESC_CTRL_OVERRIDE
24
25#endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/kamon/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/kamon/keymap.c
new file mode 100644
index 000000000..34306e183
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/kamon/keymap.c
@@ -0,0 +1,96 @@
1/* Copyright 2017 Balz Guenat
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#define ______ KC_TRNS
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21/*
22-------------------------------------------------------------------------------------------
23|GvEsc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
24-------------------------------------------------------------------------------------------
25| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
26-------------------------------------------------------------------------------------------
27| Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
28-------------------------------------------------------------------------------------------
29| Shift | Z | X | C | V | B | N | M | , | . | / | Shift | |
30-------------------------------------------------------------------------------------------
31| Fn1 | GUI | Alt | Space | Space | Space | Alt | Fn1 | Fn1 | Ctrl |
32-------------------------------------------------------------------------------------------
33*/
34[0] = LAYOUT_base( \
35 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, \
36 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, \
37 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, \
38 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, M(0),\
39 MO(1), KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_NO, MO(1), KC_RCTL \
40),
41/*
42-------------------------------------------------------------------------------------------
43| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete |
44-------------------------------------------------------------------------------------------
45| TAB |Home | Up | End |PgUp | | | | | | | | | PrtSc |
46-------------------------------------------------------------------------------------------
47| Ctrl |Left |Down |Right |PgDn | | | | | | | | Enter |
48-------------------------------------------------------------------------------------------
49| Shift | | | | | | | | | | | Shift | |
50-------------------------------------------------------------------------------------------
51| Fn1 | GUI | Alt | Space | Space | Space | Alt | | | Ctrl |
52-------------------------------------------------------------------------------------------
53*/
54[1] = LAYOUT_base( \
55 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_DEL, \
56 KC_TAB, KC_HOME, KC_UP, KC_END, KC_PGUP, ______, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, \
57 KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ______, ______, ______, ______, ______, ______, ______, ______, \
58 KC_LSFT, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_RSFT, ______, \
59 ______, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, ______, ______, ______, KC_RCTL \
60),
61};
62
63const uint16_t PROGMEM fn_actions[] = {
64
65};
66
67const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
68 switch(id) {
69 case 0:
70 // Sends Alt+Shift on both key down and key up.
71 // Fesigned to switch between two keyboard layouts on Windows using a locking switch.
72 // Does nothing if right shift is pressed for easier resync.
73 if (!(get_mods() & MOD_BIT(KC_RSFT)))
74 return MACRO(D(LALT), T(LSFT), U(LALT), END);
75 else
76 return MACRO_NONE;
77 }
78 return MACRO_NONE;
79};
80
81
82void matrix_init_user(void) {
83
84}
85
86void matrix_scan_user(void) {
87
88}
89
90bool process_record_user(uint16_t keycode, keyrecord_t *record) {
91 return true;
92}
93
94void led_set_user(uint8_t usb_led) {
95
96}
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/kamon/readme.md b/keyboards/thevankeyboards/bananasplit/keymaps/kamon/readme.md
new file mode 100644
index 000000000..a08bea519
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/kamon/readme.md
@@ -0,0 +1,34 @@
1# Kamon's keymap for the Bananasplit
2A simple layout to get you started with the BananaSplit60.
3
4Default layer:
5
6```
7-------------------------------------------------------------------------------------------
8|GvEsc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
9-------------------------------------------------------------------------------------------
10| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
11-------------------------------------------------------------------------------------------
12| Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
13-------------------------------------------------------------------------------------------
14| Shift | Z | X | C | V | B | N | M | , | . | / | Shift | |
15-------------------------------------------------------------------------------------------
16| Fn1 | GUI | Alt | Space | Space | Space | Alt | Fn1 | Fn1 | Ctrl |
17-------------------------------------------------------------------------------------------
18```
19
20Fn1 layer:
21
22```
23-------------------------------------------------------------------------------------------
24| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete |
25-------------------------------------------------------------------------------------------
26| TAB |Home | Up | End |PgUp | | | | | | | | | PrtSc |
27-------------------------------------------------------------------------------------------
28| Ctrl |Left |Down |Right |PgDn | | | | | | | | Enter |
29-------------------------------------------------------------------------------------------
30| Shift | | | | | | | | | | | Shift | |
31-------------------------------------------------------------------------------------------
32| Fn1 | GUI | Alt | Space | Space | Space | Alt | | | Ctrl |
33-------------------------------------------------------------------------------------------
34``` \ No newline at end of file
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/kamon/rules.mk b/keyboards/thevankeyboards/bananasplit/keymaps/kamon/rules.mk
new file mode 100644
index 000000000..7d09c322e
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/kamon/rules.mk
@@ -0,0 +1,37 @@
1# Copyright 2017 Balz Guenat
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# QMK Build Options
18# change to "no" to disable the options, or define them in the Makefile in
19# the appropriate keymap folder that will get included automatically
20#
21# BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
22# MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
23# EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
24# CONSOLE_ENABLE = no # Console for debug(+400)
25# COMMAND_ENABLE = yes # Commands for debug and configuration
26# NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
27# BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
28# MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
29# AUDIO_ENABLE = no # Audio output on port C6
30# UNICODE_ENABLE = no # Unicode
31# BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
32# RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
33# SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
34
35ifndef QUANTUM_DIR
36 include ../../../../Makefile
37endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c
new file mode 100644
index 000000000..5ed1c65e9
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/nic/keymap.c
@@ -0,0 +1,45 @@
1#include QMK_KEYBOARD_H
2
3#define DEFAULT_LAYER 0
4#define THUMB_LAYER 1
5#define NORMAN_LAYER 2
6#define MOD_LAYER 3
7
8#define HYPER_TAB ALL_T(KC_TAB)
9
10const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
11 [DEFAULT_LAYER] = LAYOUT_hhkb_arrow( \
12 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_DEL, \
13 HYPER_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, \
14 CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
15 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, TG(NORMAN_LAYER), \
16 KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, MO(THUMB_LAYER), KC_SPC, KC_LGUI, KC_LALT, KC_LEFT, KC_DOWN, KC_RIGHT \
17 ),
18
19 [THUMB_LAYER] = LAYOUT_hhkb_arrow( \
20 MO(MOD_LAYER), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, \
21 _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, _______, \
22 _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, _______, \
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
25 ),
26
27 [NORMAN_LAYER] = LAYOUT_hhkb_arrow( \
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
29 _______, _______, _______, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, _______, _______, _______, \
30 _______, _______, _______, KC_E, KC_T, _______, KC_Y, KC_N, KC_I, KC_O, KC_H, _______, _______, \
31 _______, _______, _______, _______, _______, _______, KC_P, _______, _______, _______, _______, _______, _______, \
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
33 ),
34
35 [MOD_LAYER] = LAYOUT_hhkb_arrow( \
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
37 _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
41 ),
42};
43
44const uint16_t PROGMEM fn_actions[] = {
45};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/rask/README.md b/keyboards/thevankeyboards/bananasplit/keymaps/rask/README.md
new file mode 100644
index 000000000..ec19d3935
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/rask/README.md
@@ -0,0 +1,53 @@
1# rask's BananaSplit60
2
3![BS60 layout](http://i.imgur.com/Q7so1py.png)
4
5## Notes
6
7### Layers
8
9Base layer is a regular HHKBish ANSI layer. Toggling the
10alternate base layer (Fn3) makes it simpler to play games with
11the left space being set to be an actual Space.
12
13Layer 1 (Fn1) contains usual 60% functionalities such as the
14F-row, while Layer 2 (Fn2) contains media controls.
15
16The final layer (Fn4) is a special layer that acts as a lock
17layer, meaning the keyboard is locked while the layer
18is active. This firmware assumes a lock switch (read below).
19
20### Lock switches
21
221.25u between the split space halves and the 1u key right
23left of LeftArrow are to be operated with a lock switch.
24If you don't have lock switches you should swap the `MO()`
25calls with `TG()` calls to make the layer toggles work
26with regular non/locking switches.
27
28## How to make and flash
29
30(These instructions are for Linux-based operating systems
31with `dfu-programmer` available.)
32
33`cd` into the `bananasplit` keyboard's directory and run
34
35 make rask
36
37which should result in a file called `bananasplit_rask.hex` appearing
38in your QMK root directory.
39
40Now plug in your BananaSplit60 keyboard via USB. Verify
41with `lsusb` that it appears. At least my PCB did not have
42anything preflashed so you should see `atmega32u4` or similar
43in the `lsusb` output.
44
45Now you can flash the firmware by
46
47 $ sudo dfu-programmer atmega32u4 erase
48 $ cd /qmk_firmware/root/directory
49 $ sudo dfu-programmer atmega32u4 flash bananasplit_rask.hex
50
51_If_ you happen to have some other `atmega32u4` based device
52I suggest you plug it out before flashing your BS60 just to
53prevent accidentally flashing your old device.
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/rask/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/rask/keymap.c
new file mode 100644
index 000000000..6c7544cc8
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/rask/keymap.c
@@ -0,0 +1,72 @@
1#include QMK_KEYBOARD_H
2
3// rask's BananaSplit60 layout
4
5#define L_BASE 0
6#define L_BASE_ALT 1
7#define L_ONE 2
8#define L_TWO 3
9#define L_LOCK 4
10
11#define ______ KC_TRNS
12#define XXXXXX KC_NO
13
14// L_BASE
15// Initial layer with default keymap
16//
17// L_BASE_ALT
18// Layer with some standardisation e.g. make
19// space key "full" to make gaming less of a
20// chore
21//
22// L_ONE
23// General things like F-row and navigation
24//
25// L_TWO
26// Media controls and more exotic keybinds
27//
28// L_LOCK
29// Lock the keyboard, release to unlock
30
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 [L_BASE] = LAYOUT_hhkb_arrow( \
33 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_DEL, \
34 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, \
35 MO(L_ONE), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
36 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RSFT, KC_SLSH), KC_UP, MO(L_TWO), \
37 KC_LCTRL, KC_LGUI, KC_LALT, KC_BSPC, MO(L_BASE_ALT), KC_SPACE, KC_RALT, MO(L_LOCK), KC_LEFT, KC_DOWN, KC_RIGHT \
38 ),
39
40 [L_BASE_ALT] = LAYOUT_hhkb_arrow( \
41 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
42 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
43 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
44 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
45 ______, ______, ______, KC_SPACE, ______, ______, ______, ______, ______, ______, ______ \
46 ),
47
48 [L_ONE] = LAYOUT_hhkb_arrow( \
49 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_INS, \
50 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
51 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
52 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PGUP, ______, \
53 ______, ______, ______, ______, ______, ______, ______, ______, KC_HOME, KC_PGDN, KC_END \
54
55 ),
56
57 [L_TWO] = LAYOUT_hhkb_arrow( \
58 ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
59 ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, \
60 KC_CAPS, ______, ______, ______, ______, ______, ______, ______, ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, \
61 ______, ______, ______, ______, ______, ______, ______, ______, KC_MSTP, ______, ______, ______, ______, \
62 ______, KC_APP, ______, ______, ______, ______, ______, ______, ______, ______, ______ \
63 ),
64
65 [L_LOCK] = LAYOUT_hhkb_arrow( \
66 XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \
67 XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \
68 XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \
69 XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, \
70 XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, ______, XXXXXX, XXXXXX, XXXXXX \
71 ),
72};
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/talljoe/config.h b/keyboards/thevankeyboards/bananasplit/keymaps/talljoe/config.h
new file mode 100644
index 000000000..bb2aadfa6
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/talljoe/config.h
@@ -0,0 +1,23 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include QMK_KEYBOARD_CONFIG_H
5
6#define PREVENT_STUCK_MODIFIERS
7#define SPACE_COUNT 3
8
9#define TEMPLATE( \
10 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
11 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
12 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
13 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
14 K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
15) { \
16 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
17 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
18 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
19 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
20 { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, KC_NO, K4B, K4C, KC_NO }\
21}
22
23#endif
diff --git a/keyboards/thevankeyboards/bananasplit/keymaps/talljoe/keymap.c b/keyboards/thevankeyboards/bananasplit/keymaps/talljoe/keymap.c
new file mode 100644
index 000000000..7812add81
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/keymaps/talljoe/keymap.c
@@ -0,0 +1 @@
// This space intentionally left blank
diff --git a/keyboards/thevankeyboards/bananasplit/rules.mk b/keyboards/thevankeyboards/bananasplit/rules.mk
new file mode 100644
index 000000000..81570c493
--- /dev/null
+++ b/keyboards/thevankeyboards/bananasplit/rules.mk
@@ -0,0 +1,66 @@
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 = yes # Virtual DIP switch configuration(+1000)
54MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
55EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
56CONSOLE_ENABLE = yes # Console for debug(+400)
57COMMAND_ENABLE = yes # Commands for debug and configuration
58#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
59NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
60BACKLIGHT_ENABLE = yes
61
62
63# Optimize size but this may cause error "relocation truncated to fit"
64#EXTRALDFLAGS = -Wl,--relax
65
66LAYOUTS = 60_ansi 60_iso
diff --git a/keyboards/thevankeyboards/minivan/config.h b/keyboards/thevankeyboards/minivan/config.h
new file mode 100644
index 000000000..726768e0e
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/config.h
@@ -0,0 +1,162 @@
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#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEAE
25#define PRODUCT_ID 0x8844
26#define DEVICE_VER 0x0002
27#define MANUFACTURER Evan Sailer
28#define PRODUCT Minivan
29#define DESCRIPTION keyboard firmware for Minivan
30
31/* key matrix size */
32#define MATRIX_ROWS 4
33#define MATRIX_COLS 12
34
35/*
36 * Keyboard Matrix Assignments
37 *
38 * Change this to how you wired your keyboard
39 * COLS: AVR pins used for columns, left to right
40 * ROWS: AVR pins used for rows, top to bottom
41 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
42 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
43 *
44*/
45#define MATRIX_ROW_PINS { D7, B5, F7, D4 }
46#define MATRIX_COL_PINS { D2, D3, D5, D6, B4, B6, F6, F5, F4, F1, F0, B3 }
47#define UNUSED_PINS
48
49/* COL2ROW or ROW2COL */
50#define DIODE_DIRECTION COL2ROW
51
52// #define BACKLIGHT_PIN B7
53// #define BACKLIGHT_BREATHING
54// #define BACKLIGHT_LEVELS 3
55
56
57/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
58#define DEBOUNCING_DELAY 5
59
60/* define if matrix has ghost (lacks anti-ghosting diodes) */
61//#define MATRIX_HAS_GHOST
62
63/* number of backlight levels */
64
65/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
66#define LOCKING_SUPPORT_ENABLE
67/* Locking resynchronize hack */
68#define LOCKING_RESYNC_ENABLE
69
70/*
71 * Force NKRO
72 *
73 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
74 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
75 * makefile for this to work.)
76 *
77 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
78 * until the next keyboard reset.
79 *
80 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
81 * fully operational during normal computer usage.
82 *
83 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
84 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
85 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
86 * power-up.
87 *
88 */
89//#define FORCE_NKRO
90
91/*
92 * Magic Key Options
93 *
94 * Magic keys are hotkey commands that allow control over firmware functions of
95 * the keyboard. They are best used in combination with the HID Listen program,
96 * found here: https://www.pjrc.com/teensy/hid_listen.html
97 *
98 * The options below allow the magic key functionality to be changed. This is
99 * useful if your keyboard/keypad is missing keys and you want magic key support.
100 *
101 */
102
103/* key combination for magic key command */
104#define IS_COMMAND() ( \
105 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
106)
107
108/* control how magic key switches layers */
109//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
110//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
111//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
112
113/* override magic key keymap */
114//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
115//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
116//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
117//#define MAGIC_KEY_HELP1 H
118//#define MAGIC_KEY_HELP2 SLASH
119//#define MAGIC_KEY_DEBUG D
120//#define MAGIC_KEY_DEBUG_MATRIX X
121//#define MAGIC_KEY_DEBUG_KBD K
122//#define MAGIC_KEY_DEBUG_MOUSE M
123//#define MAGIC_KEY_VERSION V
124//#define MAGIC_KEY_STATUS S
125//#define MAGIC_KEY_CONSOLE C
126//#define MAGIC_KEY_LAYER0_ALT1 ESC
127//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
128//#define MAGIC_KEY_LAYER0 0
129//#define MAGIC_KEY_LAYER1 1
130//#define MAGIC_KEY_LAYER2 2
131//#define MAGIC_KEY_LAYER3 3
132//#define MAGIC_KEY_LAYER4 4
133//#define MAGIC_KEY_LAYER5 5
134//#define MAGIC_KEY_LAYER6 6
135//#define MAGIC_KEY_LAYER7 7
136//#define MAGIC_KEY_LAYER8 8
137//#define MAGIC_KEY_LAYER9 9
138//#define MAGIC_KEY_BOOTLOADER PAUSE
139//#define MAGIC_KEY_LOCK CAPS
140//#define MAGIC_KEY_EEPROM E
141//#define MAGIC_KEY_NKRO N
142//#define MAGIC_KEY_SLEEP_LED Z
143
144/*
145 * Feature disable options
146 * These options are also useful to firmware size reduction.
147 */
148
149/* disable debug print */
150//#define NO_DEBUG
151
152/* disable print */
153//#define NO_PRINT
154
155/* disable action features */
156//#define NO_ACTION_LAYER
157//#define NO_ACTION_TAPPING
158//#define NO_ACTION_ONESHOT
159//#define NO_ACTION_MACRO
160//#define NO_ACTION_FUNCTION
161
162#endif
diff --git a/keyboards/thevankeyboards/minivan/info.json b/keyboards/thevankeyboards/minivan/info.json
new file mode 100644
index 000000000..355701fee
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/info.json
@@ -0,0 +1,24 @@
1{
2 "keyboard_name": "tv44",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 12.75,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.5}, {"label":"Alt", "x":2.75, "y":3, "w":1.25}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"label":"Win", "x":9.5, "y":3, "w":1.5}, {"label":"Menu", "x":11, "y":3, "w":1.75}]
10 },
11
12 "LAYOUT_arrow": {
13 "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3, "w":1.5}, {"label":"Alt", "x":2.75, "y":3, "w":1.25}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3, "w":1.5}, {"label":"Alt", "x":9.75, "y":3}, {"label":"Win", "x":10.75, "y":3}, {"label":"Menu", "x":11.75, "y":3}]
14 },
15
16 "LAYOUT_command": {
17 "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3, "w":1.5}, {"label":"Alt", "x":9.75, "y":3, "w":1.5}, {"label":"Win", "x":11.25, "y":3, "w":1.5}]
18 },
19
20 "LAYOUT_arrow_command": {
21 "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"|", "x":11, "y":0, "w":1.75}, {"label":"Caps Lock", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"\"", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"?", "x":10.75, "y":2}, {"x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3, "w":2.25}, {"x":6.25, "y":3, "w":2}, {"x":8.25, "y":3, "w":1.5}, {"label":"Alt", "x":9.75, "y":3}, {"label":"Win", "x":10.75, "y":3}, {"label":"Menu", "x":11.75, "y":3}]
22 }
23 }
24}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/config.h b/keyboards/thevankeyboards/minivan/keymaps/belak/config.h
new file mode 100644
index 000000000..47d96a29d
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/belak/config.h
@@ -0,0 +1,8 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6#define TAPPING_TERM 500
7
8#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c
new file mode 100644
index 000000000..19051574a
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/belak/keymap.c
@@ -0,0 +1,102 @@
1#include QMK_KEYBOARD_H
2
3// Layer names. We stick to 3 letters if possible so MO(NAME) fits in 7
4// characters and doesn't mess with the grid.
5#define _QW 0
6#define _L1 1
7#define _L2 2
8#define _L3 3
9
10// Curly braces have their own keys. These are defined so they don't mess up the
11// grid in layer 2.
12#define L_CURBR LSFT(KC_LBRC)
13#define R_CURBR LSFT(KC_RBRC)
14
15#define L1_TAB LT(_L1, KC_TAB)
16#define L2_ESC LT(_L2, KC_ESC)
17#define L2_SLSH LT(_L2, KC_SLSH)
18#define L3_QUOT LT(_L3, KC_QUOT)
19
20// Tap dance magic
21#define TD_LGUI TD(BE_TD_GUI)
22#define TD_LCTL TD(BE_TD_CTL)
23#define TD_LALT TD(BE_TD_ALT)
24
25enum belak_td {
26 BE_TD_GUI = 0,
27 BE_TD_CTL,
28 BE_TD_ALT,
29};
30
31void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data);
32void mod_reset_fn(qk_tap_dance_state_t *state, void *user_data);
33
34qk_tap_dance_action_t tap_dance_actions[] = {
35 [BE_TD_GUI] = ACTION_TAP_DANCE_FN_ADVANCED(mod_tap_fn, NULL, mod_reset_fn),
36 [BE_TD_CTL] = ACTION_TAP_DANCE_FN_ADVANCED(mod_tap_fn, NULL, mod_reset_fn),
37 [BE_TD_ALT] = ACTION_TAP_DANCE_FN_ADVANCED(mod_tap_fn, NULL, mod_reset_fn),
38};
39
40uint16_t tap_dance_keys[] = {
41 [BE_TD_GUI] = KC_LGUI,
42 [BE_TD_CTL] = KC_LCTL,
43 [BE_TD_ALT] = KC_LALT,
44};
45
46// Fillers to make layering more clear
47#define _______ KC_TRNS
48
49const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 [_QW] = LAYOUT_arrow_command( /* Qwerty */
51 L2_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
52 L1_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
53 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, L2_SLSH,
54 TD_LCTL, MO(_L3), TD_LALT, TD_LGUI, KC_SPC, KC_SPC, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT
55 ),
56 [_L1] = LAYOUT_arrow_command( /* LAYER 1 */
57 KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
58 _______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, KC_QUOT,
59 _______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT,
60 _______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______
61 ),
62 [_L2] = LAYOUT_arrow_command( /* LAYER 2 */
63 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
64 KC_ESC, KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, L_CURBR, R_CURBR, KC_4, KC_5, KC_6, KC_VOLU, _______,
65 _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______,
66 _______, _______, _______, _______, _______, _______, KC_RALT, _______, _______, _______
67 ),
68 [_L3] = LAYOUT_arrow_command( /* LAYER 3 */
69 _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______,
70 KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______,
71 _______, _______, _______, _______, _______, _______, _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_RSFT,
72 _______, _______, _______, _______, _______, _______, KC_RALT, _______, _______, _______
73 )
74};
75
76const uint16_t PROGMEM fn_actions[] = {};
77
78// Tap dance functions
79void mod_tap_fn(qk_tap_dance_state_t *state, void *user_data) {
80 switch (state->count) {
81 case 1:
82 register_mods(MOD_BIT(tap_dance_keys[state->keycode - QK_TAP_DANCE]));
83 send_keyboard_report();
84 break;
85 case 2:
86 layer_on(_L2);
87 break;
88 case 3:
89 layer_off(_L2);
90 layer_on(_L1);
91 break;
92 default:
93 reset_tap_dance(state);
94 }
95}
96
97void mod_reset_fn(qk_tap_dance_state_t *state, void *user_data) {
98 layer_off(_L1);
99 layer_off(_L2);
100 unregister_mods(MOD_BIT(tap_dance_keys[state->keycode - QK_TAP_DANCE]));
101 send_keyboard_report();
102}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/readme.md b/keyboards/thevankeyboards/minivan/keymaps/belak/readme.md
new file mode 100644
index 000000000..b0a505c4a
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/belak/readme.md
@@ -0,0 +1,14 @@
1# Belak's TV44 (TV46?) layout
2
3This layout is roughly based on the low-rider arrow-southpaw layout from [the
4configurator](http://minivan.config.thevankeyboards.com) with a number of
5changes to make it easier to use and add in missing keys (like adding / and '
6to the main layer)
7
8## Rev1
9
10* Moved enter to a more standard location to have a full spacebar
11* Quote is now on L1
12* Small tweaks to make modifiers work a little more consistently
13* Greatly increase the tapping term to make the tap-dance mods easier to use
14
diff --git a/keyboards/thevankeyboards/minivan/keymaps/belak/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/belak/rules.mk
new file mode 100644
index 000000000..611241124
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/belak/rules.mk
@@ -0,0 +1,12 @@
1#BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
2MOUSEKEY_ENABLE = no # Mouse keys(+4700)
3#EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
4#CONSOLE_ENABLE = yes # Console for debug(+400)
5#DEBUG_ENABLE = yes
6#COMMAND_ENABLE = yes # Commands for debug and configuration
7NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
8TAP_DANCE_ENABLE = yes
9
10ifndef QUANTUM_DIR
11 include ../../../../Makefile
12endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/budi/config.h b/keyboards/thevankeyboards/minivan/keymaps/budi/config.h
new file mode 100644
index 000000000..67bcf3546
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/budi/config.h
@@ -0,0 +1,22 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7#ifdef DEBOUNCING_DELAY
8#undef DEBOUNCING_DELAY
9#endif
10#define DEBOUNCING_DELAY 2
11#define MOUSEKEY_INTERVAL 10
12#define MOUSEKEY_DELAY 0
13#define MOUSEKEY_TIME_TO_MAX 120
14#define MOUSEKEY_MAX_SPEED 9
15#define MOUSEKEY_WHEEL_DELAY 0
16#define MOUSEKEY_WHEEL_MAX_SPEED 2
17#define MOUSEKEY_WHEEL_TIME_TO_MAX 120
18#define TAPPING_TOGGLE 1
19#define TAPPING_TERM 200
20#define IGNORE_MOD_TAP_INTERRUPT
21#define FORCE_NKRO
22#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c
new file mode 100644
index 000000000..baa266e63
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/budi/keymap.c
@@ -0,0 +1,229 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9#define _DV 0
10#define _NM 1
11#define _NV 2
12#define _MN 3
13#define _FN 4
14
15// Requires KC_TRNS/_______ for the trigger key in the destination layer
16#define NM_SP LT(_NM, KC_SPC)
17#define NV_SP LT(_NV, KC_SPC)
18#define MN_EN LT(_MN, KC_ENT)
19#define FN_EX LT(_FN, KC_ESC)
20
21// Curly braces have their own keys. These are defined to make them not mess up
22// the grid in layer 2.
23#define L_CURB LSFT(KC_LBRC)
24#define R_CURB LSFT(KC_RBRC)
25
26// Hypers
27#define HYP0 HYPR(KC_0)
28#define HYP1 HYPR(KC_1)
29#define HYP2 HYPR(KC_2)
30#define HYP3 HYPR(KC_3)
31#define HYP4 HYPR(KC_4)
32#define HYP5 HYPR(KC_5)
33#define HYP6 HYPR(KC_6)
34#define HYP7 HYPR(KC_7)
35#define HYP8 HYPR(KC_8)
36#define HYP9 HYPR(KC_9)
37
38// MEH
39#define MEH0 MEH(KC_0)
40#define MEH1 MEH(KC_1)
41#define MEH2 MEH(KC_2)
42#define MEH3 MEH(KC_3)
43#define MEH4 MEH(KC_4)
44#define MEH5 MEH(KC_5)
45#define MEH6 MEH(KC_6)
46#define MEH7 MEH(KC_7)
47#define MEH8 MEH(KC_8)
48#define MEH9 MEH(KC_9)
49
50// CAG
51#define CAG0 LCAG(KC_0)
52#define CAG1 LCAG(KC_1)
53#define CAG2 LCAG(KC_2)
54#define CAG3 LCAG(KC_3)
55#define CAG4 LCAG(KC_4)
56#define CAG5 LCAG(KC_5)
57#define CAG6 LCAG(KC_6)
58#define CAG7 LCAG(KC_7)
59#define CAG8 LCAG(KC_8)
60#define CAG9 LCAG(KC_9)
61
62// ALTS
63#define ALT0 LALT(KC_0)
64#define ALT1 LALT(KC_1)
65#define ALT2 LALT(KC_2)
66#define ALT3 LALT(KC_3)
67#define ALT4 LALT(KC_4)
68#define ALT5 LALT(KC_5)
69#define ALT6 LALT(KC_6)
70#define ALT7 LALT(KC_7)
71#define ALT8 LALT(KC_8)
72#define ALT9 LALT(KC_9)
73#define ALTX LALT(KC_GRV)
74#define ALTL LALT(KC_LEFT)
75#define ALTR LALT(KC_RIGHT)
76#define ALTESC LALT(KC_ESC)
77#define ALTEQL LALT(KC_EQL)
78#define ALTMIN LALT(KC_MINS)
79
80// BACK AND FORWARD
81#define XBACK LGUI(LALT(KC_LEFT))
82#define XFFWD LGUI(LALT(KC_RIGHT))
83
84// Fillers to make layering more clear
85#define _______ KC_TRNS
86#define xxxxxxx KC_NO
87
88enum custom_keycodes {
89 PLACEHOLDER = SAFE_RANGE, // can always be here
90 SWTCH
91};
92
93const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
94
95
96/* DVORAK
97 * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
98 * | TAB | ' | , | . | P | Y | F | G | C | R | L | BACKSPACE |
99 * |---------`------`------`------`------`------`------`------`------`------`------`------------|
100 * | LCTL | A | O | E | U | I | D | H | T | N | S | MN/ENTER |
101 * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
102 * | LSHFT | ; | Q | J | K | X | B | M | W | V | Z | RSHFT |
103 * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
104 * | FN EX | GUI | ALT | NM / SPACE | NV / SPACE | RALT | - | = | ESC |
105 * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
106 */
107 [_DV] = LAYOUT_arrow(
108 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
109 KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MN_EN,
110 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
111 FN_EX, KC_LGUI, KC_LALT, NM_SP, NV_SP, KC_RALT, KC_MINS, KC_EQL, KC_ESC
112 ),
113
114
115
116/* NUMBERS
117 * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
118 * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | DELETE |
119 * |---------`------`------`------`------`------`------`------`------`------`------`------------|
120 * | LCTL | ! | @ | [ | { | ( | ) | } | ] | | | ? | ENTER |
121 * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
122 * | LSFT | ` | ~ | # | $ | % | ^ | & | * | _ | + | = |
123 * | LSFT | ` | ~ | # | $ | % | ^ | & | * | _ | + | / |
124 * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
125 * | | GUI | LALT |-----TRNS-----| SPACE | RALT | - | = | \ |
126 * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
127 */
128 [_NM] = LAYOUT_arrow(
129 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
130 _______, KC_EXLM, KC_AT, KC_LBRC, L_CURB, KC_LPRN, KC_RPRN, R_CURB, KC_RBRC, KC_PIPE, KC_QUES, _______,
131 _______, KC_GRV, KC_TILD, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_PLUS, KC_SLSH,
132 _______, _______, _______, _______, KC_SPC, _______, KC_MINS, KC_EQL, KC_BSLS
133 ),
134
135
136
137/* NAVIGATION
138 * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
139 * | ESC | MWU | MWL | MU | MWR | MPRV | MNXT | HOME | UP | END | PGUP | DELETE |
140 * |---------`------`------`------`------`------`------`------`------`------`------`------------|
141 * | LCTL | MWD | ML | MD | MR | MRWD | MFFD | LEFT | DOWN | RIGHT| PGDN | MB2 |
142 * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
143 * | LSFT | HYP1 | HYP2 | HYP3 | HYP4 | HYP5 | HYP6 | HYP7 | HYP8 | HYP9 | HYP0 | VOLUP |
144 * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
145 * | | GUI | LALT | MB1 |----TRNS----| MUTE | PLAY | STOP | VOLDN |
146 * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
147 */
148 [_NV] = LAYOUT_arrow(
149 KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_MPRV, KC_MNXT, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL,
150 _______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_MRWD, KC_MFFD, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BTN2,
151 _______, HYP1, HYP2, HYP3, HYP4, HYP5, HYP6, HYP7, HYP8, HYP9, HYP0, KC_VOLU,
152 _______, _______, _______, KC_BTN1, _______, KC_MUTE, KC_MPLY, KC_MSTP, KC_VOLD
153 ),
154
155
156
157/* MODIFIED NUMBERS
158 * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
159 * | ALTESC | CAG1 | CAG2 | CAG3 | CAG4 | CAG5 | CAG6 | CAG7 | CAG8 | CAG9 | CAG0 | SWTCH |
160 * |---------`------`------`------`------`------`------`------`------`------`------`------------|
161 * | ALT ` | ALT1 | ALT2 | ALT3 | ALT4 | ALT5 | ALT6 | ALT7 | ALT8 | ALT9 | ALT0 |----TRNS---|
162 * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
163 * | ALT = | MEH1 | MEH2 | MEH3 | MEH4 | MEH5 | MEH6 | MEH7 | MEH8 | MEH9 | MEH0 | |
164 * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
165 * | ALT - | | XBACK | ALT LEFT | ALT RIGHT | XFFWD | | | |
166 * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
167 */
168 [_MN] = LAYOUT_arrow(
169 ALTESC, CAG1, CAG2, CAG3, CAG4, CAG5, CAG6, CAG7, CAG8, CAG9, CAG0, SWTCH,
170 ALTX, ALT1, ALT2, ALT3, ALT4, ALT5, ALT6, ALT7, ALT8, ALT9, ALT0, _______,
171 ALTEQL, MEH1, MEH2, MEH3, MEH4, MEH5, MEH6, MEH7, MEH8, MEH9, MEH0, xxxxxxx,
172 ALTMIN, xxxxxxx, XBACK, ALTL, ALTR, XFFWD, xxxxxxx, xxxxxxx, xxxxxxx
173 ),
174
175
176
177/* FUNCTIONS
178 * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
179 * | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | DELETE |
180 * |---------`------`------`------`------`------`------`------`------`------`------`------------|
181 * | LCTL | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | |
182 * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
183 * | LSFT | | | | | | | | | | | |
184 * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
185 * |---TRNS---| CAPS | LALT | | SWTCH | RALT | | RESET |--TRNS-|
186 * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
187 */
188 [_FN] = LAYOUT_arrow(
189 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
190 _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, xxxxxxx,
191 _______, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC_PWR, KC_SLEP, KC_WAKE, xxxxxxx, xxxxxxx, xxxxxxx,
192 _______, KC_CAPS, _______, xxxxxxx, SWTCH, KC_RALT, xxxxxxx, RESET, _______
193 )
194
195
196
197/* Transparent placeholder for more layers
198 * ,---------+------+------+------+------+------+------+------+------+------+------+------------.
199 * | | | | | | | | | | | | |
200 * |---------`------`------`------`------`------`------`------`------`------`------`------------|
201 * | | | | | | | | | | | | |
202 * |----------`------`------`------`------`------`------`------`------`------`------`-----------|
203 * | | | | | | | | | | | | |
204 * |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
205 * | | | | | | | | | |
206 * `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
207 */
208// [_TR] = LAYOUT_arrow(
209// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
210// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
211// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
212// _______, _______, _______, _______, _______, _______, _______, _______, _______
213// )
214};
215
216bool process_record_user(uint16_t keycode, keyrecord_t *record) {
217 if (record->event.pressed) {
218 switch (keycode) {
219 case SWTCH:
220 SEND_STRING(SS_DOWN(X_LGUI));
221 SEND_STRING(SS_DOWN(X_LSHIFT));
222 SEND_STRING(SS_TAP(X_ENTER));
223 SEND_STRING(SS_UP(X_LSHIFT));
224 SEND_STRING(SS_UP(X_LGUI));
225 return false;
226 }
227 }
228 return true;
229}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/budi/readme.md b/keyboards/thevankeyboards/minivan/keymaps/budi/readme.md
new file mode 100644
index 000000000..e5de86ef8
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/budi/readme.md
@@ -0,0 +1,17 @@
1# Budi's TV44 Arrow layout
2
3- Dvorak main layer
4- Somewhat easy bracket access for easy devs, happy :)
5- Dedicated gaming layers cuz u don't wanna mess with apm
6- Mainly for windows, but with translated alt/cmd on os, it's good to go
7
8ASCII graphics shamelessly stolen from tong92's layout :)
9
10Updates August 2018:
11- Escape both ways
12- Only include QMK_KEYBOARD_H
13
14Updates July 2018:
15- I guess I don't play games that much anymore
16- SUGDW modifiers
17- Somehow LALT(LSFT(KC_RET)) does not register correctly on my mac
diff --git a/keyboards/thevankeyboards/minivan/keymaps/core/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/core/keymap.c
new file mode 100644
index 000000000..cf1e0d3f5
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/core/keymap.c
@@ -0,0 +1,32 @@
1#include QMK_KEYBOARD_H
2
3#define _QW 0
4#define _L1 1
5#define _L2 2
6
7// Fillers to make layering more clear
8#define _______ KC_TRNS
9
10const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
11 [_QW] = LAYOUT( /* Qwerty */
12 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
13 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
14 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L2),
15 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, MO(_L1), KC_RALT, KC_RCTL
16 ),
17 [_L1] = LAYOUT( /* LAYER 1 */
18 KC_GRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_PAUS,
19 KC_TAB, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, _______,
20 _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______,
21 _______, _______, _______, _______, _______, _______, _______, _______
22 ),
23 [_L2] = LAYOUT( /* LAYER 2 */
24 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
25 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_UNDS, KC_PLUS,
26 _______, _______, _______, _______, _______, KC_COMM, KC_SLSH, KC_RBRC, KC_LBRC, KC_BSLS, _______, _______,
27 _______, _______, _______, _______, _______, _______, _______, _______
28 ),
29};
30
31const uint16_t PROGMEM fn_actions[] = {
32};
diff --git a/keyboards/thevankeyboards/minivan/keymaps/core/readme.md b/keyboards/thevankeyboards/minivan/keymaps/core/readme.md
new file mode 100644
index 000000000..3ec503b21
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/core/readme.md
@@ -0,0 +1,18 @@
1# A minivan keymap based off the Vertex Core
2
3## Main differences
4
5* There are only 3 keys on the bottom right, so menu was dropped
6* There are only 3 keys on the bottom left, so Pn was dropped because there is
7 no programmable layer.
8* There are only 12 keys in the first row, so the delete key (along with scroll
9 lock) has been dropped.
10* The F1-F12 keys have been shifted by 1 so they all fit in the first row of
11 layer 2.
12* Moved the grave/tilde to layer 1 (because in layer 2 it's now taken up by F1).
13* Keys relating to speed have been removed
14* The `L_Win + L_Alt + R_spacebar = R_Shift, R_Alt, Menu and R_Ctrl as arrow
15 keys` as mentioned in the manual does not work.
16* The layer 2 plus shift should have support for symbols in the first row (where
17 the F1-F12 keys are) but this has not been implemented, so you need to use the
18 second row (where the numbers are).
diff --git a/keyboards/thevankeyboards/minivan/keymaps/core/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/core/rules.mk
new file mode 100644
index 000000000..457a3d01d
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/core/rules.mk
@@ -0,0 +1,3 @@
1ifndef QUANTUM_DIR
2 include ../../../../Makefile
3endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/default/config.h b/keyboards/thevankeyboards/minivan/keymaps/default/config.h
new file mode 100644
index 000000000..df06a2620
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/default/config.h
@@ -0,0 +1,8 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7
8#endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/default/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/default/keymap.c
new file mode 100644
index 000000000..90b188b55
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/default/keymap.c
@@ -0,0 +1,99 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9
10#define _QW 0
11#define _DV 1
12#define _CM 2
13#define _L1 3
14#define _L2 4
15#define _L3 5
16
17// Macro name shortcuts
18#define QWERTY M(_QW)
19#define DVORAK M(_DV)
20#define COLEMAK M(_CM)
21
22// Curly braces have their own keys. These are defined to make them not mess up
23// the grid in layer 2.
24#define L_CURBR LSFT(KC_LBRC)
25#define R_CURBR LSFT(KC_RBRC)
26
27// Fillers to make layering more clear
28#define _______ KC_TRNS
29
30
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 [_QW] = LAYOUT( /* Qwerty */
33 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
34 MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MO(_L1),
35 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2),
36 KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, KC_SPC, KC_RALT, KC_ESC, TG(_L3)
37 ),
38 [_DV] = LAYOUT( /* Dvorak */
39 KC_TAB, KC_SLSH, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
40 MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MO(_L1),
41 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, MO(_L2),
42 KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, KC_SPC, KC_RALT, KC_ESC, TG(_L3)
43 ),
44 [_CM] = LAYOUT( /* Colemak */
45 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
46 MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, MO(_L1),
47 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2),
48 KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, KC_SPC, KC_RALT, KC_ESC, TG(_L3)
49 ),
50 [_L1] = LAYOUT( /* LAYER 1 */
51 KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
52 _______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______,
53 _______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT,
54 _______, KC_LGUI, _______, _______, _______, _______, _______, _______
55 ),
56 [_L2] = LAYOUT( /* LAYER 2 */
57 _______, QWERTY, DVORAK, COLEMAK, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______,
58 KC_ESC, KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, L_CURBR, R_CURBR, KC_4, KC_5, KC_6, KC_VOLU, KC_ENT,
59 _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______,
60 _______, _______, _______, _______, _______, _______, _______, _______
61 ),
62 [_L3] = LAYOUT( /* LAYER 3 */
63 _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______,
64 KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______,
65 KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_F11, KC_F12, _______,
66 _______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______
67 )
68};
69
70const uint16_t PROGMEM fn_actions[] = {
71
72};
73
74void persistent_default_layer_set(uint16_t default_layer) {
75 eeconfig_update_default_layer(default_layer);
76 default_layer_set(default_layer);
77}
78
79const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
80{
81 switch(id) {
82 case _DV:
83 if (record->event.pressed) {
84 persistent_default_layer_set(1UL<<_DV);
85 }
86 break;
87 case _QW:
88 if (record->event.pressed) {
89 persistent_default_layer_set(1UL<<_QW);
90 }
91 break;
92 case _CM:
93 if (record->event.pressed) {
94 persistent_default_layer_set(1UL<<_CM);
95 }
96 break;
97 }
98 return MACRO_NONE;
99};
diff --git a/keyboards/thevankeyboards/minivan/keymaps/default/readme.md b/keyboards/thevankeyboards/minivan/keymaps/default/readme.md
new file mode 100644
index 000000000..ac84c08cf
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for tv44 \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/default/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/default/rules.mk
new file mode 100644
index 000000000..f4671a9d1
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/default/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jeebak/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/jeebak/keymap.c
new file mode 100644
index 000000000..0ec9485c7
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/jeebak/keymap.c
@@ -0,0 +1,423 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9#define _QWERTY 0
10#define _COLEMAK 1
11#define _DVORAK 2
12#define _LOWER 3
13#define _RAISE 4
14#define _PLOVER 5
15#define _TOUCHCURSOR 6
16#define _MOUSECURSOR 7
17#define _ADJUST 16
18
19// Keycodes
20enum planck_keycodes {
21 QWERTY = SAFE_RANGE,
22 COLEMAK,
23 DVORAK,
24 PLOVER,
25 LOWER,
26 RAISE,
27 BACKLIT,
28 EXT_PLV
29};
30
31enum macro_keycodes {
32 KC_ALT_TAB,
33 KC_CMD_TAB,
34 KC_CTL_TAB,
35 KC_CMD_SLSH,
36 KC_AG_FIND,
37 KC_AG_AGAIN,
38 KC_AG_UNDO,
39 KC_AG_CUT,
40 KC_AG_COPY,
41 KC_AG_PASTE,
42 KC_AG_DESK_L,
43 KC_AG_DESK_R,
44 KC_AG_TAB_C,
45 KC_AG_TAB_N,
46 KC_AG_TAB_R,
47};
48
49// Fillers to make layering more clear
50#define _______ KC_TRNS
51#define XXXXXXX KC_NO
52
53// Custom macros
54#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
55#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
56#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper
57#define GUI_SEM GUI_T(KC_SCLN) // Tap for Semicolon, hold for GUI
58#define ALT_QUO ALT_T(KC_QUOT) // Tap for Quote, hold for Alt
59// Requires KC_TRNS/_______ for the trigger key in the destination layer
60#define LT_TC LT(_TOUCHCURSOR, KC_SPC) // L-ayer T-ap T-ouch C-ursor
61#define LT_MC(kc) LT(_MOUSECURSOR, kc) // L-ayer T-ap M-ouse C-ursor
62#define ALT_TAB M(KC_ALT_TAB) // Macro for Alt-Tab
63#define CMD_TAB M(KC_CMD_TAB) // Macro for Cmd-Tab
64#define CTL_TAB M(KC_CTL_TAB) // Macro for Ctl-Tab
65#define CMD_SLSH M(KC_CMD_SLSH) // Macro for Cmd-Slash (personal shortcut to toggle iTerm2 visibility)
66#define AG_FIND M(KC_AG_FIND) // Macros for Cmd-[x] vs Ctrl-[x] based on current AG_NORM or AG_SWAP settings
67#define AG_AGAIN M(KC_AG_AGAIN)
68#define AG_UNDO M(KC_AG_UNDO)
69#define AG_CUT M(KC_AG_CUT)
70#define AG_COPY M(KC_AG_COPY)
71#define AG_PASTE M(KC_AG_PASTE)
72#define AG_D_L M(KC_AG_DESK_L) // For Virtual Desktop Switching: Left, and
73#define AG_D_R M(KC_AG_DESK_R) // Right
74#define AG_T_C M(KC_AG_TAB_C) // For Chrome, etc. Tab Close,
75#define AG_T_N M(KC_AG_TAB_N) // Tab New, and
76#define AG_T_R M(KC_AG_TAB_R) // Tab Reopen Closed
77
78const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
79
80/* Qwerty
81 *
82 * ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
83 * |Hyper/Tab| Q | W | E | R | T | Y | U | I | O | P | Bksp |
84 * |---------`------`------`------`------`------`------`------`------`------`------`-------------|
85 * | Ctrl/Esc | A | S | MC/D | F | G | H | J | K | L |GUI/; | Alt/" |
86 * |----------`------`------`------`------`------`------`------`------`------`------`------------|
87 * | Shift | Z | X | C | V | B | N | M | , | . | / | Sft/Ent |
88 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
89 * | Alt | GUI | Lower | TC/Space | TC/Space | Raise | Vol+ | Play |
90 * `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
91 */
92[_QWERTY] = LAYOUT(
93/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
94 HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,
95/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
96 CTL_ESC , KC_A, KC_S,LT_MC(KC_D), KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, GUI_SEM, ALT_QUO ,
97/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
98 KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT ,
99/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
100 KC_LALT , KC_LGUI , LOWER , LT_TC , LT_TC , RAISE , KC_VOLU , KC_MPLY ),
101/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
102
103/* Colemak
104 * ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
105 * |Hyper/Tab| Q | W | F | P | G | J | L | U | Y | ; | Bksp |
106 * |---------`------`------`------`------`------`------`------`------`------`------`-------------|
107 * | Ctrl/Esc | A | R | MC/S | T | D | H | N | E | I | O | " |
108 * |----------`------`------`------`------`------`------`------`------`------`------`------------|
109 * | Shift | Z | X | C | V | B | K | M | , | . | / | Sft/Ent |
110 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
111 * | Alt | GUI | Lower | TC/Space | TC/Space | Raise | Vol+ | Play |
112 * `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
113 */
114[_COLEMAK] = LAYOUT(
115/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
116 HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC ,
117/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
118 CTL_ESC , KC_A, KC_R,LT_MC(KC_S), KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT ,
119/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
120 KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT ,
121/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
122 KC_LALT , KC_LGUI , LOWER , LT_TC , LT_TC , RAISE , KC_VOLU , KC_MPLY ),
123/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
124
125/* Dvorak
126 * ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
127 * |Hyper/Tab| " | , | . | P | Y | F | G | C | R | L | Bksp |
128 * |---------`------`------`------`------`------`------`------`------`------`------`-------------|
129 * | Ctrl/Esc | A | O | MC/E | U | I | D | H | T | N | S | / |
130 * |----------`------`------`------`------`------`------`------`------`------`------`------------|
131 * | Shift | ; | Q | J | K | X | B | M | W | V | Z | Sft/Ent |
132 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
133 * | Alt | GUI | Lower | TC/Space | TC/Space | Raise | Vol+ | Play |
134 * `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
135 */
136[_DVORAK] = LAYOUT(
137/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
138 HPR_TAB,KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC ,
139/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
140 CTL_ESC , KC_A, KC_O,LT_MC(KC_E), KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH ,
141/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
142 KC_LSFT , KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT ,
143/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
144 KC_LALT , KC_LGUI , LOWER , LT_TC , LT_TC , RAISE , KC_VOLU , KC_MPLY ),
145/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
146
147/* Lower
148 * ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
149 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
150 * |---------`------`------`------`------`------`------`------`------`------`------`-------------|
151 * | [ | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | "|" |
152 * |----------`------`------`------`------`------`------`------`------`------`------`------------|
153 * | ] | F7 | F8 | F9 | F10 | F11 | F12 | - | = | [ | ] | \ |
154 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
155 * | Brite | | | | | | Vol- | Mute |
156 * `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
157 */
158[_LOWER] = LAYOUT(
159/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
160 KC_TILD,KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC ,
161/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
162 KC_LBRC , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE ,
163/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
164 KC_RBRC , KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS ,
165/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
166 BACKLIT , _______ , _______ , _______ , _______ , _______ , KC_VOLD , KC_MUTE ),
167/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
168
169/* Raise
170 * ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
171 * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
172 * |---------`------`------`------`------`------`------`------`------`------`------`-------------|
173 * | $ | 4 | 5 | 6 | . | + | . | 4 | 5 | 6 | * | "|" |
174 * |----------`------`------`------`------`------`------`------`------`------`------`------------|
175 * | = | 7 | 8 | 9 | 0 | - | . | 1 | 2 | 3 | / | \ |
176 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
177 * | Brite | | | | | | Vol- | Mute |
178 * `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
179 */
180[_RAISE] = LAYOUT(
181/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
182 KC_0 , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC ,
183/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
184 KC_DLR , KC_4, KC_5, KC_6, KC_DOT, KC_PLUS, KC_DOT, KC_4, KC_5, KC_6, KC_ASTR, KC_PIPE ,
185/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
186 KC_EQL , KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_DOT, KC_1, KC_2, KC_3, KC_SLSH, KC_BSLS ,
187/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
188 BACKLIT , _______ , _______ , _______ , _______ , _______ , KC_VOLD , KC_MUTE ),
189/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
190
191/* TouchCursor layer (http://martin-stone.github.io/touchcursor/) plus personal customizations
192 * ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
193 * | AltTab |CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | |
194 * |---------`------`------`------`------`------`------`------`------`------`------`-------------|
195 * | | Alt |Space |Tab_C | Find |Again | PgUp | Left | Down |Right |Desk_L| Desk_R |
196 * |----------`------`------`------`------`------`------`------`------`------`------`------------|
197 * | | Undo | Cut | Copy |Paste | ` | PgDn | Del |Tab_N |Tab_R |iTerm2| |
198 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
199 * | | | | | | | | |
200 * `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
201 *
202 * The KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND, and KC_AGAIN keycodes don't
203 * seem to work on Mac. Presumably they'll work under Windows.
204 */
205
206[_TOUCHCURSOR] = LAYOUT(
207/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
208 ALT_TAB,CMD_TAB, CTL_TAB, KC_LGUI, KC_LSFT, KC_TILD, KC_INS, KC_HOME, KC_UP, KC_END, KC_BSPC, _______ ,
209/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
210 _______ ,KC_LALT, KC_SPC, AG_T_C, AG_FIND,AG_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, AG_D_L, AG_D_R ,
211/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
212 _______ ,AG_UNDO, AG_CUT, AG_COPY,AG_PASTE, KC_GRV, KC_PGDN, KC_DEL, AG_T_N, AG_T_R,CMD_SLSH, _______ ,
213/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
214 _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ),
215/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
216
217/* Mouse Layer
218 * ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
219 * | | |ACCL0 | | | | |WHL_L | Up |WHL_R | BTN2 | |
220 * |---------`------`------`------`------`------`------`------`------`------`------`-------------|
221 * | |ACCL2 | BTN2 | | BTN1 |ACCL1 |WHL_Up| Left | Down |Right | BTN4 | BTN5 |
222 * |----------`------`------`------`------`------`------`------`------`------`------`------------|
223 * | | | | | BTN3 | |WHL_Dn| BTN1 | | | BTN3 | |
224 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
225 * | | | | | | | | |
226 * `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
227 */
228
229[_MOUSECURSOR] = LAYOUT(
230/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
231 _______,_______, KC_ACL0, _______, _______, _______, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, _______ ,
232/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
233 _______ ,KC_ACL2, KC_BTN2, _______, KC_BTN1, KC_ACL1, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN4, KC_BTN5 ,
234/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
235 _______ ,_______, _______, _______, KC_BTN3, _______, KC_WH_D, KC_BTN1, _______, _______, KC_BTN3, _______ ,
236/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
237 _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ),
238/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
239
240/* Plover layer (http://opensteno.org)
241 * ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
242 * | # | # | # | # | # | # | # | # | # | # | # | # |
243 * |---------`------`------`------`------`------`------`------`------`------`------`-------------|
244 * | | S | T | P | H | * | * | F | P | L | T | D |
245 * |----------`------`------`------`------`------`------`------`------`------`------`------------|
246 * | TogOut | S | K | W | R | * | * | R | B | G | S | Z |
247 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
248 * | Exit | A | O | | | E | U | |
249 * `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
250 */
251
252[_PLOVER] = LAYOUT(
253/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
254 KC_1 , KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
255/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
256 XXXXXXX , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC ,
257/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
258 XXXXXXX , KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT ,
259/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
260 EXT_PLV , KC_C , KC_V , XXXXXXX , XXXXXXX , KC_N , KC_M , XXXXXXX ),
261/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
262
263/* Adjust (Lower + Raise)
264 * ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
265 * | | | | | | | | | | | | Del |
266 * |---------`------`------`------`------`------`------`------`------`------`------`-------------|
267 * | | | | | |AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
268 * |----------`------`------`------`------`------`------`------`------`------`------`------------|
269 * | | | | | | | | | | | | |
270 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
271 * | | | | | | | | Reset |
272 * `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
273 */
274[_ADJUST] = LAYOUT(
275/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
276 _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
277/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
278 _______ ,_______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______ ,
279/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
280 _______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
281/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
282 _______ , _______ , _______ , _______ , _______ , _______ , _______ , RESET )
283/*`-----------+---------------+---------+-------^^^------+-------^^^-------+---------+-----------------+--------------'*/
284};
285
286void persistent_default_layer_set(uint16_t default_layer) {
287 eeconfig_update_default_layer(default_layer);
288 default_layer_set(default_layer);
289}
290
291bool process_record_user(uint16_t keycode, keyrecord_t *record) {
292 switch (keycode) {
293 case QWERTY:
294 if (record->event.pressed) {
295 default_layer_set(1UL<<_QWERTY);
296 }
297 return false;
298 break;
299 case COLEMAK:
300 if (record->event.pressed) {
301 default_layer_set(1UL<<_COLEMAK);
302 }
303 return false;
304 break;
305 case DVORAK:
306 if (record->event.pressed) {
307 default_layer_set(1UL<<_DVORAK);
308 }
309 return false;
310 break;
311 case LOWER:
312 if (record->event.pressed) {
313 layer_on(_LOWER);
314 update_tri_layer(_LOWER, _RAISE, _ADJUST);
315 } else {
316 layer_off(_LOWER);
317 update_tri_layer(_LOWER, _RAISE, _ADJUST);
318 }
319 return false;
320 break;
321 case RAISE:
322 if (record->event.pressed) {
323 layer_on(_RAISE);
324 update_tri_layer(_LOWER, _RAISE, _ADJUST);
325 } else {
326 layer_off(_RAISE);
327 update_tri_layer(_LOWER, _RAISE, _ADJUST);
328 }
329 return false;
330 break;
331 case BACKLIT:
332 if (record->event.pressed) {
333 register_code(KC_RSFT);
334 #ifdef BACKLIGHT_ENABLE
335 backlight_step();
336 #endif
337 } else {
338 unregister_code(KC_RSFT);
339 }
340 return false;
341 break;
342 case PLOVER:
343 if (record->event.pressed) {
344 layer_off(_RAISE);
345 layer_off(_LOWER);
346 layer_off(_ADJUST);
347 layer_on(_PLOVER);
348 if (!eeconfig_is_enabled()) {
349 eeconfig_init();
350 }
351 keymap_config.raw = eeconfig_read_keymap();
352 keymap_config.nkro = 1;
353 eeconfig_update_keymap(keymap_config.raw);
354 }
355 return false;
356 break;
357 case EXT_PLV:
358 if (record->event.pressed) {
359 layer_off(_PLOVER);
360 }
361 return false;
362 break;
363 }
364 return true;
365}
366
367/*
368 * Macro definition
369 */
370const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
371{
372 if (!eeconfig_is_enabled()) {
373 eeconfig_init();
374 }
375
376 bool use_cmd = true; // Use, for example, Cmd-Tab, Cmd-C, Cmd-V, etc.
377 // Compare to MAGIC_SWAP_ALT_GUI and MAGIC_UNSWAP_ALT_GUI configs, set in:
378 // quantum/quantum.c
379 if(keymap_config.swap_lalt_lgui == 1 && keymap_config.swap_ralt_rgui == 1) {
380 use_cmd = false; // ... or, Alt-Tab, Ctrl-C, Ctrl-V, etc.
381 }
382
383 switch (id) {
384 case KC_ALT_TAB:
385 if(use_cmd) { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); }
386 else { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); }
387 case KC_CMD_TAB:
388 if(use_cmd) { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); }
389 else { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); }
390
391 case KC_CTL_TAB:
392 return (record->event.pressed ? MACRO( D(LCTRL), D(TAB), END ) : MACRO( U(TAB), END ));
393 case KC_CMD_SLSH:
394 return (record->event.pressed ? MACRO( D(LGUI), D(SLSH),END ) : MACRO( U(SLSH),END ));
395
396 case KC_AG_FIND:
397 return use_cmd ? MACRODOWN( D(LGUI), T(F), END ) : MACRODOWN( D(LCTRL), T(F), END );
398 case KC_AG_AGAIN:
399 return use_cmd ? MACRODOWN( D(LGUI), T(G), END ) : MACRODOWN( D(LCTRL), T(G), END );
400 case KC_AG_UNDO:
401 return use_cmd ? MACRODOWN( D(LGUI), T(Z), END ) : MACRODOWN( D(LCTRL), T(Z), END );
402 case KC_AG_CUT:
403 return use_cmd ? MACRODOWN( D(LGUI), T(X), END ) : MACRODOWN( D(LCTRL), T(X), END );
404 case KC_AG_COPY:
405 return use_cmd ? MACRODOWN( D(LGUI), T(C), END ) : MACRODOWN( D(LCTRL), T(C), END );
406 case KC_AG_PASTE:
407 return use_cmd ? MACRODOWN( D(LGUI), T(V), END ) : MACRODOWN( D(LCTRL), T(V), END );
408
409 case KC_AG_DESK_L:
410 return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(SCLN), END ) : MACRODOWN( D(LALT), D(LCTRL), T(SCLN), END );
411 case KC_AG_DESK_R:
412 return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(QUOT), END ) : MACRODOWN( D(LALT), D(LCTRL), T(QUOT), END );
413
414 case KC_AG_TAB_C:
415 return use_cmd ? MACRODOWN( D(LGUI), T(W), END ) : MACRODOWN( D(LCTRL), T(W), END );
416 case KC_AG_TAB_N:
417 return use_cmd ? MACRODOWN( D(LGUI), T(T), END ) : MACRODOWN( D(LCTRL), T(T), END );
418 case KC_AG_TAB_R:
419 return use_cmd ? MACRODOWN( D(LGUI), D(LSHIFT), T(T), END ) : MACRODOWN( D(LCTRL), D(LSHIFT), T(T), END );
420 }
421
422 return MACRO_NONE;
423}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jeebak/readme.md b/keyboards/thevankeyboards/minivan/keymaps/jeebak/readme.md
new file mode 100644
index 000000000..f781d5555
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/jeebak/readme.md
@@ -0,0 +1,129 @@
1jeebak's TV44 layout
2=======================
3NOTE: This is a port of jeebak's planck layout, for tv44.
4
5This WIP keymap attempts to minimize fingers straying away from the home row.
6To aid in this endeavor, when additional modifyer keys to switch layers are
7needed, they will be mapped to home row keys. The `keymap.c` file will contain
8the exact changes. The diagrams in this README shows the highlights of the
9changes from the default mappings.
10
11I also decided to change all calls to `persistent_default_layer_set()` to
12`default_layer_set()` since this is my personal perference.
13
14## Macros
15```
16#define ALT_TAB M(KC_ALT_TAB)
17```
18
19## Base Layers (Qwerty/Colemak/Dvorak)
20These base layers are mostly the same as the default mappings. The interesting
21changes are shown below.
22
23- The `Ctrl/Esc`, will emit an `Escape` when tapped, and act as a `Control` key when held,
24- `GUI/;` as `;` and `GUI`,
25- `Alt/"` as `"` and `Alt`,
26- `Sft/Ent` as `Enter` and `Shift`, and
27- `Hyper/Tab` as `Tab` and `Hyper`
28
29A `TODO` item is to see if it can also act as a `CapsLock` when double-tapped.
30The arrow keys, which have been moved to the
31[TouchCursor](http://martin-stone.github.io/touchcursor/) layer, have been
32replaced with the Media keys as shown. The `MC/kc` key activates the
33`MouseCursor` layer when held, and emits the corresponding `kc` for its layer,
34when tapped.
35```
36 ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
37 |Hyper/Tab| Q | W | E | R | T | Y | U | I | O | P | Bksp |
38 |---------`------`------`------`------`------`------`------`------`------`------`-------------|
39 | Ctrl/Esc | A | S | MC/D | F | G | H | J | K | L |GUI/; | Alt/" |
40 |----------`------`------`------`------`------`------`------`------`------`------`------------|
41 | Shift | Z | X | C | V | B | N | M | , | . | / | Sft/Ent |
42 |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
43 | Alt | GUI | Lower | TC/Space | TC/Space | Raise | Vol+ | Play |
44 `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
45```
46
47## Lower Layer (Symbols and Function Keys)
48The symbols and functions keys are essentially the same as the default mapping.
49The most notable changes are that the symbol keys from the `RAISE` layer have
50been moved here. The remaining Media keys replace those that are now on the
51base layers. The `BACKLIT` key has also been moved here.
52```
53 ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
54 | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
55 |---------`------`------`------`------`------`------`------`------`------`------`-------------|
56 | [ | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | "|" |
57 |----------`------`------`------`------`------`------`------`------`------`------`------------|
58 | ] | F7 | F8 | F9 | F10 | F11 | F12 | - | = | [ | ] | \ |
59 |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
60 | Brite | | | | | | Vol- | Mute |
61 `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
62```
63
64## Raise Layer (Numbers and Arithmetic Operators)
65All of the numbers and arithmetic operators are available on this layer. Some
66keys are duplicated for the convenience of their positions. The `0` and `$`
67keys at the far left are for quick access to beginning and end of line in vim.
68```
69 ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
70 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
71 |---------`------`------`------`------`------`------`------`------`------`------`-------------|
72 | $ | 4 | 5 | 6 | . | + | . | 4 | 5 | 6 | * | "|" |
73 |----------`------`------`------`------`------`------`------`------`------`------`------------|
74 | = | 7 | 8 | 9 | 0 | - | . | 1 | 2 | 3 | / | \ |
75 |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
76 | Brite | | | | | | Vol- | Mute |
77 `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
78```
79
80## TouchCursor layer plus personal customizations
81[TouchCursor](http://martin-stone.github.io/touchcursor/) uses the `Space` key
82as the modifier, with the `IJKL` home row keys representing the inverted-T of
83the arrow keys. All of the default TouchCursor keymappings for the right hand
84are represented below. My personalizations include all of the keys shown for
85the left hand. Having the `Alt` and `Shift` keys (as well as the `Control` key
86from the base layers) readily accessible from the home row allows quick word
87jumps and highlighting when used in conjunction with the arrow keys. The
88`Alt-Tab` macro is not only useful under Windows, but also under Mac when used
89with alternative switchers like [HyperSwitch](https://bahoom.com/hyperswitch).
90The `Cmd-Tab` and `Ctrl-Tab` sequences are duplicated for easy access while in
91this layer. The `KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND,` and `KC_AGAIN`
92keycodes do not seem to work. There are macros in place that'll "automatically"
93choose the correct version (`Cmd-Tab` vs. `Alt-Tab`, `Cmd-C` vs. `Ctrl-C`,
94etc.) depending on which layout you've currently selected (`AG_NORM` or
95`AG_SWAP`) in the `_ADJUST` layer. The `Desk_L` and `Desk_R` macros are what I
96use to switch between Virtual Desktops Left/Right. The `Tab_C`, `Tab_N` and
97`Tab_R` are for "Close Tab," "New Tab" and "Reopen Closed Tab" for apps such as
98Google Chrome.
99```
100 ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
101 | AltTab |CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | |
102 |---------`------`------`------`------`------`------`------`------`------`------`-------------|
103 | | Alt |Space |Tab_C | Find |Again | PgUp | Left | Down |Right |Desk_L| Desk_R |
104 |----------`------`------`------`------`------`------`------`------`------`------`------------|
105 | | Undo | Cut | Copy |Paste | ` | PgDn | Del |Tab_N |Tab_R |iTerm2| |
106 |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
107 | | | | | | | | |
108 `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
109```
110
111## Mouse Layer
112The Mouse layer, closely mimics the layout/behaviour of the TouchCursor layer.
113The `D` key (on QWERTY) is used to activate this layer. All 16 keycodes for the
114mouse from the `doc/keycode.txt` file are represented, and logically located,
115IMHO. The left and right click buttons are duplicated; on the right hand side,
116for a quick click here and there, and again on the left hand side for when the
117buttons need to be held for dragging things or highlighting text, thus allowing
118the right hand to be free to use the up/down/left/right actions.
119```
120 ,---------+------+------+------+------+------+------+------+------+------+------+-------------.
121 | | |ACCL0 | | | | |WHL_L | Up |WHL_R | BTN2 | |
122 |---------`------`------`------`------`------`------`------`------`------`------`-------------|
123 | |ACCL2 | BTN2 | | BTN1 |ACCL1 |WHL_Up| Left | Down |Right | BTN4 | BTN5 |
124 |----------`------`------`------`------`------`------`------`------`------`------`------------|
125 | | | | | BTN3 | |WHL_Dn| BTN1 | | | BTN3 | |
126 |-----------`------`------`------`------`-----'-------`------`------`------`------`-----------|
127 | | | | | | | | |
128 `--------+---------+---------+------^^^-------+-----^^^--------+---------+---------+---------'
129```
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jeebak/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/jeebak/rules.mk
new file mode 100644
index 000000000..f4671a9d1
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/jeebak/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/config.h b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/config.h
new file mode 100644
index 000000000..5f5872bec
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/config.h
@@ -0,0 +1,7 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6#define PERMISSIVE_HOLD
7#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
new file mode 100644
index 000000000..02ba68421
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
@@ -0,0 +1,39 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
6 [0] = LAYOUT_arrow_command( /* Qwerty */
7 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
8 LT(2, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(2, KC_ENT),
9 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, MT(MOD_RSFT, KC_SLSH),
10 KC_LCTL, KC_LGUI, KC_LALT, MO(3), LT(1, KC_SPC), LT(1, KC_SPC), MO(4), KC_LEFT, KC_DOWN, KC_RIGHT
11 ),
12 [1] = LAYOUT_arrow_command( /* LAYER 2 */
13 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
14 KC_TRNS, KC_MINS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_QUOT, KC_TRNS,
15 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_PGUP, KC_BSLS,
16 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
17 ),
18 [2] = LAYOUT_arrow_command( /* LAYER 1 */
19 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
20 KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_DQUO, KC_TRNS,
21 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_PGUP, KC_PIPE,
22 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
23 ),
24 [3] = LAYOUT_arrow_command( /* LAYER 3 */
25 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
26 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
28 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
29 ),
30 [4] = LAYOUT_arrow_command( /* Gaming Layer*/
31 KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS,
32 KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS,
33 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
35 )
36};
37
38const uint16_t PROGMEM fn_actions[] = {
39};
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/readme.md b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/readme.md
new file mode 100644
index 000000000..fd95b56ab
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/readme.md
@@ -0,0 +1,49 @@
1# Jetpacktuxedo's minivan layout
2
3This differs quite a bit from the stock layout but leaves keys in a more familiar position in my opinion. It is designed to use the arrow+command layout, but I used a fairly similar layout for the normal arrow layout. Additionally, I use an mx lock switch on the key between the right space key and the arrow cluster. If you don't want to use a lock switch you should change MO(4) on the base layer to use TG(4) instead for a similar effect.
4
5## Base Layer (0)
6
7The base layer is pretty simple, straight qwerty layout where available. Of note: /? is to the right of the arrow keys. Yes this is kinda weird sometimes, but you get used to it. Tab is tab when pressed and fn2 when held, Enter is the same. GESC is esc when used alone, but ~ when shifted. Tapping FN 1 is space
8```
9|GESC| Q | W | E | R | T | Y | U | I | O | P | BSPC |
10| TAB | A | S | D | F | G | H | J | K | L | ; |ENTER|
11|SHIFT | Z | X | C | V | B | N | M | , | . | UP | / |
12|CTRL|WIN |ALT |FN 3| FN 1 | SPACE | FN 4 |LEFT|DOWN|RIGH|
13```
14## Numeric Layer (1)
15
16This layer has the numrow as well as swapping the arrow keys for a nav cluster, and swapping ;: for '" and /? for \|. With that almost all of the missing keys are accounted for.
17```
18| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | DEL |
19| | | | | | | | | - | = | ' | |
20| | | | | | | | | [ | ] |PGUP| \ |
21| | | | | | | |HOME|PGDN|END |
22```
23## Symbolic Layer (2)
24
25I don't want to be using two key combos constantly, so I also added this symbol layer that is basically shift+numeric layer
26```
27| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | DEL |
28| | | | | | | | | _ | + | " | |
29| | | | | | | | | { | } |PGUP| | |
30| | | | | | | |HOME|PGDN|END |
31```
32## Fkeys (3)
33
34I very rarely use Fkeys, but figured I'd throw them on anyway just in case. The setup basically mimics the way Fkeys are usually done on a 60%, with F11 and F12 still on - and =, even though the location of those keys has moved.
35```
36| | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |F10 | |
37| | | | | | | | |F11 |F12 | | |
38| | | | | | | | | | | | |
39| | | | | | | | | | |
40```
41## Gaming Layer (4)
42
43Originally this was just going to be a gaming layer (make esc just esc, make tab just tab, move space to the left side), but I ended up in a hotel without a usb mouse, so I added mousekeys to it as well.
44```
45|ESC | | | | | |MWUP|MRCK|M_UP|MLCK| | |
46| TAB | | | | | |MWDN|M_LF|M_DN|M_RG| | |
47| | | | | | | | | | | | |
48| | | | | SPACE | | | | | |
49```
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/rules.mk
new file mode 100644
index 000000000..ebc9f810f
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/rules.mk
@@ -0,0 +1,17 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = no # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/thevankeyboards/minivan/keymaps/mjt/config.h b/keyboards/thevankeyboards/minivan/keymaps/mjt/config.h
new file mode 100644
index 000000000..e89a3ea12
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/mjt/config.h
@@ -0,0 +1,14 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7#ifdef BACKLIGHT_ENABLE
8 #define BACKLIGHT_PIN B2
9 #define BACKLIGHT_LEVELS 7
10#endif
11
12#define USB_MAX_POWER_CONSUMPTION 50
13
14#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/mjt/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/mjt/keymap.c
new file mode 100644
index 000000000..8f0fba11d
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/mjt/keymap.c
@@ -0,0 +1,197 @@
1//Author: mike terhar
2#include QMK_KEYBOARD_H
3
4#ifdef BACKLIGHT_ENABLE
5 #include "backlight.h"
6#endif
7
8enum minivan_layers {
9 _QWERTY,
10 _NUMSYM,
11 _FKEYS,
12 _FKEYGRV,
13 _PLOVER,
14 _ADJUST
15};
16
17enum planck_keycodes {
18 QWERTY = SAFE_RANGE,
19 DYNKEY,
20 DYNAMIC_MACRO_RANGE,
21};
22
23// Fillers to make layering more clear
24#define _______ KC_TRNS
25#define FKEYS F(_FKEYS)
26#define NUMSYM F(_NUMSYM)
27#define FKEYGRV F(_FKEYGRV)
28#define MACSLEEP M(5)
29#define PLOVER M(6)
30#define LAYERRESET M(7)
31#define BACKLIT M(8)
32#define ADJUST M(9)
33#define XXXXXXX KC_NO
34
35#include "dynamic_macro.h"
36
37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38[_QWERTY] = {
39 {FKEYS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
40 {KC_ESC, 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,SFT_T(KC_ENT) },
42 {KC_LCTL,KC_LALT,KC_LGUI, KC_SPC,XXXXXXX,XXXXXXX,XXXXXXX,NUMSYM,KC_LEFT,KC_DOWN,KC_UP ,KC_RIGHT}
43},
44[_NUMSYM] = {
45 {FKEYGRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______},
46 {KC_DEL,KC_EXLM, KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN, ADJUST },
47 { _______, KC_UNDS,KC_PLUS, KC_LCBR,KC_RCBR,KC_PIPE , KC_MINS,KC_EQL,KC_LBRC, KC_RBRC, KC_BSLS, _______},
48 {_______,_______,_______,_______,XXXXXXX,XXXXXXX,XXXXXXX,_______, KC_HOME, KC_PGDN, KC_PGUP, KC_END}
49},
50[_FKEYS] ={
51 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______},
52 {KC_DEL, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, _______, _______, _______, MACSLEEP, DYN_REC_START1, DYN_REC_START2 },
53 {KC_CAPS, _______, _______, _______, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2,_______,DYN_REC_STOP},
54 {_______,_______,_______,LAYERRESET,XXXXXXX,XXXXXXX,XXXXXXX,LAYERRESET, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY}
55},
56[_PLOVER] = {
57 {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 },
58 {XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC},
59 {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
60 {LAYERRESET, XXXXXXX, KC_C, KC_V, XXXXXXX , XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX}
61},
62[_ADJUST] = {
63 {_______ , RESET, _______, _______, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_PSCR, KC_DEL },
64 {_______ , _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, _______, MACSLEEP, PLOVER, _______},
65 {_______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
66 {BACKLIT, _______, _______, LAYERRESET, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______}
67}
68};
69
70#ifdef AUDIO_ENABLE
71
72float tone_startup[][2] = SONG(STARTUP_SOUND);
73float tone_qwerty[][2] = SONG(QWERTY_SOUND);
74float tone_dyn_macro_rec[][2] = SONG(DVORAK_SOUND);
75float tone_dyn_macro_play[][2] = SONG(COLEMAK_SOUND);
76float tone_plover[][2] = SONG(PLOVER_SOUND);
77float tone_adjust[][2] = SONG(PLOVER_GOODBYE_SOUND);
78float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
79
80float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
81#endif
82
83void persistant_default_layer_set(uint16_t default_layer) {
84 eeconfig_update_default_layer(default_layer);
85 default_layer_set(default_layer);
86}
87
88const uint16_t PROGMEM fn_actions[] = {
89 [_FKEYS] = ACTION_LAYER_TAP_KEY(_FKEYS, KC_TAB),
90 [_FKEYGRV] = ACTION_LAYER_TAP_KEY(_FKEYS, KC_GRV),
91 [_NUMSYM] = ACTION_LAYER_TAP_TOGGLE(_NUMSYM),
92};
93
94const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
95{
96 switch(id) {
97 case 5: // MACSLEEP
98 if (record->event.pressed) {
99 register_code(KC_RSFT);
100 register_code(KC_RCTL);
101 register_code(KC_POWER);
102 unregister_code(KC_POWER);
103 unregister_code(KC_RCTL);
104 unregister_code(KC_RSFT);
105 }
106 break;
107 case 6: // PLOVER
108 if (record->event.pressed) {
109 #ifdef AUDIO_ENABLE
110 stop_all_notes();
111 PLAY_NOTE_ARRAY(tone_plover, false, 0);
112 #endif
113 layer_off(_NUMSYM);
114 layer_off(_FKEYS);
115 layer_off(_ADJUST);
116 layer_on(_PLOVER);
117 }
118 break;
119 case 7: // LAYERRESET
120 if (record->event.pressed) {
121 #ifdef AUDIO_ENABLE
122 PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
123 #endif
124 layer_off(_NUMSYM);
125 layer_off(_FKEYS);
126 layer_off(_PLOVER);
127 layer_off(_ADJUST);
128 }
129 break;
130 case 8: // BACKLIT
131 if (record->event.pressed) {
132 register_code(KC_RSFT);
133 #ifdef BACKLIGHT_ENABLE
134 backlight_step();
135 #endif
136 } else {
137 unregister_code(KC_RSFT);
138 }
139 break;
140 case 9: // ADJUST
141 if(record->event.pressed) {
142 #ifdef AUDIO_ENABLE
143 stop_all_notes();
144 PLAY_NOTE_ARRAY(tone_adjust, false, 0);
145 #endif
146 layer_off(_NUMSYM);
147 layer_off(_FKEYS);
148 layer_off(_PLOVER);
149 layer_on(_ADJUST);
150 }
151 }
152 return MACRO_NONE;
153};
154
155bool process_record_user(uint16_t keycode, keyrecord_t *record) {
156 uint16_t macro_kc = keycode;
157 if (keycode == FKEYS || keycode == ADJUST || keycode == FKEYGRV ){
158 macro_kc = DYN_REC_STOP;
159 }
160 if (!process_record_dynamic_macro(macro_kc, record)) {
161 return false;
162 }
163
164 return true;
165}
166
167void matrix_init_user(void) {
168 #ifdef AUDIO_ENABLE
169 startup_user();
170 #endif
171}
172
173#ifdef AUDIO_ENABLE
174
175void startup_user()
176{
177 _delay_ms(20); // gets rid of tick
178 PLAY_NOTE_ARRAY(tone_startup, false, 0);
179}
180
181void shutdown_user()
182{
183 PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
184 _delay_ms(150);
185 stop_all_notes();
186}
187
188void music_on_user(void)
189{
190 music_scale_user();
191}
192
193void music_scale_user(void)
194{
195 PLAY_NOTE_ARRAY(music_scale, false, 0);
196}
197#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/mjt/readme.md b/keyboards/thevankeyboards/minivan/keymaps/mjt/readme.md
new file mode 100644
index 000000000..c86985f6c
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/mjt/readme.md
@@ -0,0 +1,26 @@
1# Mike's Minivan
2
3- Arrow Layout (45key)
4- Dynamic Macros
5- Media Keys
6- Works with iPhone Camera Adapter
7
8## Layers
9
10Qwerty for letters and mods.
11
12Numsym for all numbers and symbols used in typing. Follows a similar approach to
13planck but puts both on the same layer eschewing the F-keys.
14
15Fkeys layer is for the seldom used stuff like F-keys and some additional features
16such as dynamic macros, media keys, and a sleep shortcut for OS X.
17
18Adjust layer is tough to get to so it is only for keyboard configuration stuff.
19
20## Dynamic Macros
21
22Hold TAB key, then press ";" to record macro 1 and "'" to record macro 2.
23
24When you are done recording, press TAB again.
25
26For playback of macros, TAB+"," plays macro 1 and TAB+","plays macro 2.
diff --git a/keyboards/thevankeyboards/minivan/keymaps/mjt/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/mjt/rules.mk
new file mode 100644
index 000000000..41afd9a55
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/mjt/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = yes # Console for debug(+400)
9COMMAND_ENABLE = no # Commands for debug and configuration
10NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/smt/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/smt/keymap.c
new file mode 100644
index 000000000..ee117e47b
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/smt/keymap.c
@@ -0,0 +1,230 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9#define _QWERTY 0
10#define _COLEMAK 1
11#define _DVORAK 2
12#define _LOWER 3
13#define _RAISE 4
14#define _ADJUST 16
15
16// Keycodes
17enum planck_keycodes {
18 QWERTY = SAFE_RANGE,
19 COLEMAK,
20 DVORAK,
21 LOWER,
22 RAISE,
23 BACKLIT
24};
25
26// Fillers to make layering more clear
27#define _______ KC_TRNS
28#define XXXXXXX KC_NO
29
30// Custom macros
31#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
32#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
33#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift)
34#define ALT_GRV ALT_T(KC_GRV) // Tap for Backtick, hold for Alt (Ctrl+Alt+Shift)
35
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37
38/* Qwerty
39 *
40 * ,---------+------+------+------+------+------+------+------+------+------+------+---------.
41 * |Hyper/Tab| Q | W | E | R | T | Y | U | I | O | P | Bksp |
42 * |---------`------`------`------`------`------`------`------`------`------`------`---------|
43 * | Ctrl/Esc | A | S | D | F | G | H | J | K | L | ; | ' |
44 * |----------`------`------`------`------`------`------`------`------`------`------`--------|
45 * | Shift | Z | X | C | V | B | N | M | , | . | / |Sft/Ent|
46 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
47 * | Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl |
48 * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
49 */
50[_QWERTY] = LAYOUT_arrow(
51/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
52 HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,
53/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
54 CTL_ESC , KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT ,
55/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
56 KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT ,
57/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
58 ALT_GRV , KC_LGUI , LOWER , KC_SPC , KC_SPC , RAISE , KC_RGUI, KC_RALT, KC_RCTL ),
59/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/
60
61/* Colemak
62 * ,---------+------+------+------+------+------+------+------+------+------+------+---------.
63 * |Hyper/Tab| Q | W | F | P | G | J | L | U | Y | ; | Bksp |
64 * |---------`------`------`------`------`------`------`------`------`------`------`---------|
65 * | Ctrl/Esc | A | R | S | T | D | H | N | E | I | O | ' |
66 * |----------`------`------`------`------`------`------`------`------`------`------`--------|
67 * | Shift | Z | X | C | V | B | K | M | , | . | / |Sft/Ent|
68 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
69 * | Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl |
70 * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
71 */
72[_COLEMAK] = LAYOUT_arrow(
73/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
74 HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC ,
75/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
76 CTL_ESC , KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT ,
77/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
78 KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT ,
79/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
80 ALT_GRV , KC_LGUI , LOWER , KC_SPC , KC_SPC , RAISE , KC_RGUI, KC_RALT, KC_RCTL ),
81/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/
82
83/* Dvorak
84 * ,---------+------+------+------+------+------+------+------+------+------+------+---------.
85 * |Hyper/Tab| ' | , | . | P | Y | F | G | C | R | L | Bksp |
86 * |---------`------`------`------`------`------`------`------`------`------`------`---------|
87 * | Ctrl/Esc | A | O | E | U | I | D | H | T | N | S | - |
88 * |----------`------`------`------`------`------`------`------`------`------`------`--------|
89 * | Shift | ; | Q | J | K | X | B | M | W | V | Z |Sft/Ent|
90 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
91 * | Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl |
92 * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
93 */
94[_DVORAK] = LAYOUT_arrow(
95/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
96 HPR_TAB,KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC ,
97/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
98 CTL_ESC , KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS ,
99/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
100 KC_LSFT , KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT ,
101/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
102 ALT_GRV , KC_LGUI , LOWER , KC_SPC , KC_SPC , RAISE , KC_RGUI, KC_RALT, KC_RCTL ),
103/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/
104
105/* Lower
106 * ,---------+------+------+------+------+------+------+------+------+------+------+---------.
107 * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
108 * |---------`------`------`------`------`------`------`------`------`------`------`---------|
109 * | $ | 4 | 5 | 6 | . | + | * | 4 | 5 | 6 | . | PageUp |
110 * |----------`------`------`------`------`------`------`------`------`------`------`--------|
111 * | = | 7 | 8 | 9 | 0 | - | / | 1 | 2 | 3 | Up |PageDn |
112 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
113 * | Brite | | | Home | End | | Left | Down | Right |
114 * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
115 */
116[_LOWER] = LAYOUT_arrow(
117/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
118ALL_T(KC_0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL ,
119/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
120CTL_T(KC_DLR), KC_4, KC_5, KC_6, KC_DOT, KC_PLUS, KC_ASTR, KC_4, KC_5, KC_6, KC_DOT, KC_PGUP ,
121/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
122SFT_T(KC_EQL), KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_SLSH, KC_1, KC_2, KC_3, KC_UP, SFT_T(KC_PGDN),
123/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
124ALT_T(BACKLIT), _______ , _______ , KC_HOME , KC_END , _______ , KC_LEFT, KC_DOWN, KC_RGHT ),
125/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/
126
127/* Raise
128 * ,---------+------+------+------+------+------+------+------+------+------+------+---------.
129 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
130 * |---------`------`------`------`------`------`------`------`------`------`------`---------|
131 * | F1 | F2 | F3 | F4 | F5 | F6 | _ | ? | + | { | } | |
132 * |----------`------`------`------`------`------`------`------`------`------`------`--------|
133 * | F7 | F8 | F9 | F10 | F11 | F12 | - | / | = | [ | ] | |
134 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
135 * | Brite | | | Play | Next | | Mute | Vol- | Vol+ |
136 * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
137 */
138[_RAISE] = LAYOUT_arrow(
139/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
140ALL_T(KC_TILD),KC_EXLM,KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL ,
141/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
142CTL_T(KC_F1), KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_QUES, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE ,
143/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
144 SFT_T(KC_F7), KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MINS, KC_SLSH, KC_EQL, KC_LBRC, KC_RBRC, SFT_T(KC_BSLS),
145/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
146ALT_T(BACKLIT), _______ , _______ , KC_MPLY , KC_MNXT , _______ , KC_MUTE, KC_VOLD, KC_VOLU ),
147/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/
148
149/* Adjust (Lower + Raise)
150 * ,---------+------+------+------+------+------+------+------+------+------+------+---------.
151 * | | Reset| | | | | | | | | | Reset |
152 * |---------`------`------`------`------`------`------`------`------`------`------`---------|
153 * | | | | | |AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
154 * |----------`------`------`------`------`------`------`------`------`------`------`--------|
155 * | | | | | | | | | | | | |
156 * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
157 * | | | | | | | | | |
158 * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
159 */
160[_ADJUST] = LAYOUT_arrow(
161/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/
162 _______, RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET ,
163/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/
164 _______ ,_______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______ ,
165/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
166 _______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
167/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
168 _______ , _______ , _______ , _______ , _______ , _______ , _______, _______, _______ ),
169/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/
170};
171
172void persistent_default_layer_set(uint16_t default_layer) {
173 eeconfig_update_default_layer(default_layer);
174 default_layer_set(default_layer);
175}
176
177bool process_record_user(uint16_t keycode, keyrecord_t *record) {
178 switch (keycode) {
179 case QWERTY:
180 if (record->event.pressed) {
181 persistent_default_layer_set(1UL<<_QWERTY);
182 }
183 return false;
184 break;
185 case COLEMAK:
186 if (record->event.pressed) {
187 persistent_default_layer_set(1UL<<_COLEMAK);
188 }
189 return false;
190 break;
191 case DVORAK:
192 if (record->event.pressed) {
193 persistent_default_layer_set(1UL<<_DVORAK);
194 }
195 return false;
196 break;
197 case LOWER:
198 if (record->event.pressed) {
199 layer_on(_LOWER);
200 update_tri_layer(_LOWER, _RAISE, _ADJUST);
201 } else {
202 layer_off(_LOWER);
203 update_tri_layer(_LOWER, _RAISE, _ADJUST);
204 }
205 return false;
206 break;
207 case RAISE:
208 if (record->event.pressed) {
209 layer_on(_RAISE);
210 update_tri_layer(_LOWER, _RAISE, _ADJUST);
211 } else {
212 layer_off(_RAISE);
213 update_tri_layer(_LOWER, _RAISE, _ADJUST);
214 }
215 return false;
216 break;
217 case BACKLIT:
218 if (record->event.pressed) {
219 register_code(KC_RSFT);
220 #ifdef BACKLIGHT_ENABLE
221 backlight_step();
222 #endif
223 } else {
224 unregister_code(KC_RSFT);
225 }
226 return false;
227 break;
228 }
229 return true;
230}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/smt/readme.md b/keyboards/thevankeyboards/minivan/keymaps/smt/readme.md
new file mode 100644
index 000000000..059fd1bbd
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/smt/readme.md
@@ -0,0 +1,126 @@
1# smt's TV44 keymap
2
3This keymap is based on a combination of my Planck keymap and [jeebak's TV44 layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/tv44/keymaps/jeebak). I removed the macros and TouchCursor/MouseCursor layers, because I'm just not ready for that level of mind-mapping.
4
5I had been using something close to the default Minivan layout, but after spending a bit of time with the Planck and Preonic, I decided it would be better for me to try to standardize to some degree, where possible.
6
7Also, it's worth noting that my Minivan is one with the "arrows" layout, which has a 45th key. In spite of this, the 45-key Minivan is still technically considered a "TV44" as far as I know.
8
9![smt's TV44 keymap](https://i.imgur.com/Y4n6eHj.png)
10
11## Notable features (most of which can be found in my or jeebak's respective keymap file):
12
131. **Shift/Enter**
14
15 I use both the left and right shift keys when I type. When I want to modify a key with shift, I hold shift with the hand opposite the one typing the key. In the default keymap, Enter is where shift would be on a standard keyboard layout. Oh, muscle memory.
16
17 Thankfully, QMK supports [mod-tap](https://github.com/jackhumbert/qmk_firmware/wiki#fun-with-modifier-keys) keys, and this allows me to set the Enter key to send a modifier (MOD_LSFT) when held, and KC_ENT when tapped. Awesome!
18
192. **Hyper/Tab**
20
21 This key modifies with "Hyper" (see [Brett Terpstra's post](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/) on this) when held, and outputs the code for Tab when tapped. On the Mac, I use KeyboardMaestro to remap my hyper-keys to do a lot of crazy things.
22
233. **Ctrl/Escape**
24
25 I set up another mod-tap, this time for the Escape key that would act as a Control modifier when held.
26
274. **Alt/Backtick**
28
29 I don't currently have LEDs on most of my keyboards, and I certainly don't want LED controls on the base layer of a 40%.
30
31 So, why use backtick in the lower left corner? I use it as my tmux prefix key, so I need to type it more frequently than most people. Putting it on the base layer works well for my use case, and it's consistent with where I place it in my Planck and Preonic keymaps.
32
33 I also like Alt in that position, so it works well as yet another mod-tap key.
34
35
36## Layers
37
38### Qwerty
39
40```
41,---------+------+------+------+------+------+------+------+------+------+------+---------.
42|Hyper/Tab| Q | W | E | R | T | Y | U | I | O | P | Bksp |
43|---------`------`------`------`------`------`------`------`------`------`------`---------|
44| Ctrl/Esc | A | S | D | F | G | H | J | K | L | ; | ' |
45|----------`------`------`------`------`------`------`------`------`------`------`--------|
46| Shift | Z | X | C | V | B | N | M | , | . | / |Sft/Ent|
47|-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
48| Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl |
49 `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
50```
51
52### Colemak
53
54```
55,---------+------+------+------+------+------+------+------+------+------+------+---------.
56|Hyper/Tab| Q | W | F | P | G | J | L | U | Y | ; | Bksp |
57|---------`------`------`------`------`------`------`------`------`------`------`---------|
58| Ctrl/Esc | A | R | S | T | D | H | N | E | I | O | ' |
59|----------`------`------`------`------`------`------`------`------`------`------`--------|
60| Shift | Z | X | C | V | B | K | M | , | . | / |Sft/Ent|
61|-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
62| Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl |
63 `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
64```
65
66### Dvorak
67
68```
69,---------+------+------+------+------+------+------+------+------+------+------+---------.
70|Hyper/Tab| ' | , | . | P | Y | F | G | C | R | L | Bksp |
71|---------`------`------`------`------`------`------`------`------`------`------`---------|
72| Ctrl/Esc | A | O | E | U | I | D | H | T | N | S | - |
73|----------`------`------`------`------`------`------`------`------`------`------`--------|
74| Shift | ; | Q | J | K | X | B | M | W | V | Z |Sft/Ent|
75|-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
76| Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl |
77 `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
78```
79
80### Lower
81
82This is where I put the number row, two numpad clusters, common arithmetic operators, and cursorkeys: Arrow cluster, Home/End, Page Up/Page Down. `0` and `$` are also placed on the left side for convenient access to beginning-of-line and end-of-line Vim commands. BRITE has been moved here from the base layer.
83
84```
85,---------+------+------+------+------+------+------+------+------+------+------+---------.
86| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
87|---------`------`------`------`------`------`------`------`------`------`------`---------|
88| $ | 4 | 5 | 6 | . | + | * | 4 | 5 | 6 | . | PageUp |
89|----------`------`------`------`------`------`------`------`------`------`------`--------|
90| = | 7 | 8 | 9 | 0 | - | / | 1 | 2 | 3 | Up |PageDn |
91|-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
92| Brite | | | Home | End | | Left | Down | Right |
93 `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
94```
95
96### Raise
97
98As a developer, it makes the most sense for me to group all the commonly-used symbols that don't fit on the main layer. In particular, having the dual-column of parens-braces-brackets helps me keep them straight. I've dropped basic media controls onto this layer as well.
99
100```
101,---------+------+------+------+------+------+------+------+------+------+------+---------.
102| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
103|---------`------`------`------`------`------`------`------`------`------`------`---------|
104| F1 | F2 | F3 | F4 | F5 | F6 | _ | ? | + | { | } | | |
105|----------`------`------`------`------`------`------`------`------`------`------`--------|
106| F7 | F8 | F9 | F10 | F11 | F12 | - | / | = | [ | ] | \ |
107|-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
108| Brite | | | Play | Next | | Mute | Vol- | Vol+ |
109 `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
110```
111
112### Adjust (Lower + Raise)
113
114Utility layer. There isn't much here; it's mainly for swapping the default keymap between Qwerty and Dvorak, or putting the keyboard into flash mode via the Reset key.
115
116```
117,---------+------+------+------+------+------+------+------+------+------+------+---------.
118| | Reset| | | | | | | | | | Del |
119|---------`------`------`------`------`------`------`------`------`------`------`---------|
120| | | | | |AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
121|----------`------`------`------`------`------`------`------`------`------`------`--------|
122| | | | | | | | | | | | |
123|-----------`------`------`------`------`-----'-------`------`------`------`------`-------|
124| | | | | | | | | |
125 `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------'
126```
diff --git a/keyboards/thevankeyboards/minivan/keymaps/smt/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/smt/rules.mk
new file mode 100644
index 000000000..f4671a9d1
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/smt/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/tong92/config.h b/keyboards/thevankeyboards/minivan/keymaps/tong92/config.h
new file mode 100644
index 000000000..be959a823
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/tong92/config.h
@@ -0,0 +1,12 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7#ifdef BACKLIGHT_ENABLE
8 #define BACKLIGHT_PIN B2
9 #define BACKLIGHT_LEVELS 7
10#endif
11
12#endif
diff --git a/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c
new file mode 100644
index 000000000..220cc8c61
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/tong92/keymap.c
@@ -0,0 +1,203 @@
1//Author: tong92 <tong92power@gmail.com>
2#include QMK_KEYBOARD_H
3
4#ifdef BACKLIGHT_ENABLE
5 #include "backlight.h"
6#endif
7
8extern keymap_config_t keymap_config;
9
10enum tv44_layers {
11 _WINDOW,
12 _MAC,
13 _LOWER,
14 _RAISE,
15 _WINDOW_SHORTCUT,
16 _MAC_SHORTCUT,
17 _MOUSE
18};
19
20enum tv44_keycodes {
21 WINDOW = SAFE_RANGE,
22 MAC,
23 MOUSE,
24 BACKLIT,
25 EXT_MOUSE
26};
27
28// Fillers to make layering more clear
29#define _______ KC_TRNS
30#define LOWER F(_LOWER)
31#define RAISE F(_RAISE)
32#define XXXXXXX KC_NO
33#define WINDOW_SHORTCUT MO(_WINDOW_SHORTCUT)
34#define MAC_SHORTCUT MO(_MAC_SHORTCUT)
35
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37
38/* Window - Qwerty
39 * ,--------------------------------------------------------------------------.
40 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
41 * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
42 * | Ctrl | A | S | D | F | G | H | J | K | L | ; | Enter|
43 * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
44 * | Shift | Z | X | C | V | B | N | M | , | . | / |Shift|
45 * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
46 * | Ft | GUI | Alt | Space/LOWER | Space/RAISE | ' | [ | ] | Alt |
47 * `--------------------------------------------------------------------------'
48 */
49[_WINDOW] = LAYOUT_arrow(
50KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
51KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_ENT,
52KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
53WINDOW_SHORTCUT, KC_LGUI,KC_LALT, LOWER, RAISE, KC_QUOT,KC_LBRC,KC_RBRC,KC_RALT
54),
55/* Mac - Qwerty
56 * ,--------------------------------------------------------------------------.
57 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
58 * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
59 * | Cmd | A | S | D | F | G | H | J | K | L | ; | Enter|
60 * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
61 * | Shift | Z | X | C | V | B | N | M | , | . | / |Shift|
62 * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
63 * | Ft | Alt | Ctrl | Space/LOWER | Space/RAISE | ' | [ | ] | Alt |
64 * `--------------------------------------------------------------------------'
65 */
66[_MAC] = LAYOUT_arrow(
67KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
68KC_LGUI,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_ENT,
69KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
70MAC_SHORTCUT, KC_LALT, KC_LCTRL, LOWER, RAISE, KC_QUOT,KC_LBRC,KC_RBRC,KC_RALT
71),
72/* LOWER
73 * ,--------------------------------------------------------------------------.
74 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
75 * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
76 * | | F1 | F2 | F3 | F4 | F5 | F6 | - | + | [ | ] | \ |
77 * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
78 * | | F7 | F8 | F9 | F10 | F11 | F12 | | HOME| PgUp| UP | PgDo|
79 * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
80 * | | | | | | END | LEFT| Down|RIGHT|
81 * `--------------------------------------------------------------------------'
82 */
83[_LOWER] = LAYOUT_arrow(
84KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
85_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS,KC_PLUS,KC_LBRC,KC_RBRC,KC_BSLS,
86_______,KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX,KC_HOME,KC_PGUP,KC_UP ,KC_PGDN,
87XXXXXXX,_______,_______, _______,XXXXXXX, KC_END, KC_LEFT,KC_DOWN,KC_RIGHT
88),
89/* RAISE
90 * ,--------------------------------------------------------------------------.
91 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
92 * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
93 * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | = | { | } | | |
94 * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
95 * | | F7 | F8 | F9 | F10 | F11 | F12 | | HOME| PgUp| UP | PgDo|
96 * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
97 * | | | | | | END | LEFT| Down|RIGHT|
98 * `--------------------------------------------------------------------------'
99 */
100[_RAISE] = LAYOUT_arrow(
101KC_TILD,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,_______,
102_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS,KC_EQL, KC_LCBR,KC_RCBR,KC_PIPE,
103_______,KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,KC_HOME,KC_PGUP,KC_UP ,KC_PGDN,
104XXXXXXX,_______,_______, _______,_______, KC_END, KC_LEFT,KC_DOWN,KC_RIGHT
105),
106/* Window Shortcut
107 * ,--------------------------------------------------------------------------.
108 * | ESC |WinOf|WinUp| | |Sh+Ca| | PgUp| UP | PgDo|PrtSc| DELET |
109 * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
110 * | |WinLe|WinDo|WinRi| |Al+Ca|CapsL| LEFT| DOWN|RIGHT| | |
111 * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
112 * | |WinLW|WinRW| | |Ct+Ca|ScroL| HOME| | END | | Ctrl|
113 * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
114 * | | DeskL | DeskR| Task Manager| DeskX | MOUSE| | | LED |
115 * `--------------------------------------------------------------------------'
116 */
117[_WINDOW_SHORTCUT] = LAYOUT_arrow(
118KC_ESC ,LALT(KC_F4) ,LGUI(KC_UP) ,XXXXXXX ,XXXXXXX,S(KC_CAPS) ,XXXXXXX ,KC_PGUP,KC_UP ,KC_PGDN ,KC_PSCR,KC_DELT,
119_______,LGUI(KC_LEFT) ,LGUI(KC_DOWN) ,LGUI(KC_RIGHT),XXXXXXX,LALT(KC_CAPS) ,KC_CAPS ,KC_LEFT,KC_DOWN,KC_RIGHT,XXXXXXX,XXXXXXX,
120_______,LGUI(LSFT(KC_LEFT)),LGUI(LSFT(KC_RIGHT)),XXXXXXX ,XXXXXXX,LCTL(KC_CAPS) ,KC_SLCK ,KC_HOME,XXXXXXX,KC_END ,XXXXXXX,KC_RCTL,
121_______,LGUI(LCTL(KC_LEFT)),LGUI(LCTL(KC_RIGHT)), LCTL(LALT(KC_DELT)),LGUI(LCTL(KC_F4)), MOUSE ,XXXXXXX ,XXXXXXX,BACKLIT
122),
123/* Mac Shortcut
124 * ,--------------------------------------------------------------------------.
125 * | ESC |CmdUp|CmdDo| | | | | PgUp| UP | PgDo|PrtSc| DELET |
126 * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
127 * | |WBlkL|WBlkR| |ScrFu| |CapsL| LEFT| DOWN|RIGHT| | |
128 * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
129 * | |BlckL|BlckR| | | | | HOME| | END | | Ctrl|
130 * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
131 * | | | | | | MOUSE| | | LED |
132 * `--------------------------------------------------------------------------'
133 */
134[_MAC_SHORTCUT] = LAYOUT_arrow(
135KC_ESC ,LGUI(KC_UP) ,LGUI(KC_DOWN) ,XXXXXXX ,XXXXXXX,XXXXXXX ,XXXXXXX ,KC_PGUP,KC_UP ,KC_PGDN ,KC_PSCR,KC_DELT,
136_______,LALT(LSFT(KC_LEFT)) ,LALT(LSFT(KC_RIGHT)) ,XXXXXXX,LGUI(LCTL(KC_F)),XXXXXXX ,KC_CAPS ,KC_LEFT,KC_DOWN,KC_RIGHT,XXXXXXX,XXXXXXX,
137_______,LGUI(LSFT(KC_LEFT)),LGUI(LSFT(KC_RIGHT)),XXXXXXX ,XXXXXXX,XXXXXXX ,XXXXXXX ,KC_HOME,XXXXXXX,KC_END ,XXXXXXX,KC_RCTL,
138_______,_______,_______, _______,_______, MOUSE ,XXXXXXX ,XXXXXXX,BACKLIT
139),
140/* MOUSE
141 * ,--------------------------------------------------------------------------.
142 * | | | |Mo_Up| | | |M_WhL|M_WhU|M_WhR| | RESET |
143 * |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
144 * | | |Mo_Le|Mo_Do|Mo_Ri| | |M_Bt1|M_WhD|M_Bt2| | |
145 * |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
146 * | | | | | | | |M_AC0|M_AC1|M_AC2| |WINDO|
147 * |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
148 * | | | | GO_DEFAULT | GO_DEFAULT | | | | MAC |
149 * `--------------------------------------------------------------------------'
150 */
151[_MOUSE] = LAYOUT_arrow(
152XXXXXXX,XXXXXXX,XXXXXXX,KC_MS_U,XXXXXXX,XXXXXXX,XXXXXXX,KC_WH_L,KC_WH_U,KC_WH_R,XXXXXXX,RESET,
153XXXXXXX,XXXXXXX,KC_MS_L,KC_MS_D,KC_MS_R,XXXXXXX,XXXXXXX,KC_BTN1,KC_WH_D,KC_BTN2,XXXXXXX,XXXXXXX,
154XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,KC_ACL0,KC_ACL1,KC_ACL2,XXXXXXX,WINDOW,
155XXXXXXX,XXXXXXX,XXXXXXX, EXT_MOUSE,EXT_MOUSE, XXXXXXX,XXXXXXX,XXXXXXX,MAC
156)
157};
158
159const uint16_t PROGMEM fn_actions[] = {
160 [_LOWER] = ACTION_LAYER_TAP_KEY(_LOWER, KC_SPC),
161 [_RAISE] = ACTION_LAYER_TAP_KEY(_RAISE, KC_SPC)
162};
163
164bool process_record_user(uint16_t keycode, keyrecord_t *record) {
165 switch(keycode) {
166 case WINDOW:
167 if (record->event.pressed) {
168 set_single_persistent_default_layer(_WINDOW);
169 }
170 return false;
171 break;
172 case MAC:
173 if (record->event.pressed) {
174 set_single_persistent_default_layer(_MAC);
175 }
176 return false;
177 break;
178 case BACKLIT:
179 if (record->event.pressed) {
180 #ifdef BACKLIGHT_ENABLE
181 backlight_step();
182 #endif
183 }
184 return false;
185 break;
186 case MOUSE:
187 if (record->event.pressed) {
188 layer_on(_MOUSE);
189 }
190 return false;
191 break;
192 case EXT_MOUSE:
193 if (record->event.pressed) {
194 layer_off(_MOUSE);
195 layer_off(_WINDOW_SHORTCUT);
196 layer_off(_MAC_SHORTCUT);
197 }
198 return false;
199 break;
200 }
201 return true;
202};
203
diff --git a/keyboards/thevankeyboards/minivan/keymaps/tong92/readme.md b/keyboards/thevankeyboards/minivan/keymaps/tong92/readme.md
new file mode 100644
index 000000000..820857256
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/tong92/readme.md
@@ -0,0 +1,52 @@
1# The tong92's keymap for tv44
2
3- Arrow Layout (45key)
4- my keymap for Window User
5- Mouse Layer : space -> Default Layer
6
7## Qwerty
8 ,--------------------------------------------------------------------------.
9 | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
10 |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
11 | Ctrl | A | S | D | F | G | H | J | K | L | ; | Enter|
12 |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
13 | Shift | Z | X | C | V | B | N | M | , | . | / |Shift|
14 |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
15 | Ftn1 | GUI | Alt | Space/LOWER | Space/RAISE | ' | [ | ] | Alt |
16 `--------------------------------------------------------------------------'
17
18
19## RAISE
20 ,--------------------------------------------------------------------------.
21 | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
22 |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
23 | | F1 | F2 | F3 | F4 | F5 | F6 | _ | = | { | } | | |
24 |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
25 | | F7 | F8 | F9 | F10 | F11 | F12 | | HOME| PgUp| UP | PgDo|
26 |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
27 | | | | | | END | LEFT| Down|RIGHT|
28 `--------------------------------------------------------------------------'
29
30
31## FTN
32 ,--------------------------------------------------------------------------.
33 | ESC |WinOf|WinUp| | |Sh+Ca| | PgUp| UP | PgDo|PrtSc| DELET |
34 |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
35 | |WinLe|WinDo|WinRi| |Al+Ca|CapsL| LEFT| DOWN|RIGHT| | |
36 |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
37 | |WinLW|WinRW| | |Ct+Ca|ScroL| HOME| | END | | Ctrl|
38 |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
39 | | DeskL | DeskR| Task Manager| DeskX | MOUSE| | | LED |
40 `--------------------------------------------------------------------------'
41
42
43## MOUSE
44 ,--------------------------------------------------------------------------.
45 | | | |Mo_Up| | | |M_WhL|M_WhU|M_WhR| | RESET |
46 |------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-------|
47 | | |Mo_Le|Mo_Do|Mo_Ri| | |M_Bt1|M_WhD|M_Bt2| | |
48 |-------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`------|
49 | | | | | | | |M_AC0|M_AC1|M_AC2| | |
50 |--------`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----`-----|
51 | | | | GO_DEFAULT | GO_DEFAULT | | | | |
52 `--------------------------------------------------------------------------'
diff --git a/keyboards/thevankeyboards/minivan/keymaps/tong92/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/tong92/rules.mk
new file mode 100644
index 000000000..e60e3c5c5
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/tong92/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = no # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = no # Commands for debug and configuration
10NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/xyverz/config.h b/keyboards/thevankeyboards/minivan/keymaps/xyverz/config.h
new file mode 100644
index 000000000..df06a2620
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/xyverz/config.h
@@ -0,0 +1,8 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7
8#endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..ec0d27007
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c
@@ -0,0 +1,124 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5enum planck_layers {
6 _QWERTY,
7 _COLEMAK,
8 _DVORAK,
9 _LOWER,
10 _RAISE,
11 _ADJUST
12};
13
14enum planck_keycodes {
15 DVORAK = SAFE_RANGE,
16 QWERTY,
17 COLEMAK,
18 LOWER,
19 RAISE,
20 ADJUST
21};
22
23// Fillers to make layering more clear
24#define _______ KC_TRNS
25#define XXXXXXX KC_NO
26
27// Aliases for some other things I want to try out
28#define RAI_ESC LT(_RAISE, KC_ESC)
29#define LOW_QUQ LT(_LOWER, KC_QUOT)
30#define LOW_MIN LT(_LOWER, KC_MINS) // Same as above, but for Dvorak layer
31#define GUIBSPC GUI_T(KC_BSPC)
32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 [_DVORAK] = LAYOUT( /* 0: Dvorak */
35 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
36 RAI_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, LOW_MIN,
37 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
38 KC_LCTL, KC_LALT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_LGUI, KC_ENT
39 ),
40
41 [_QWERTY] = LAYOUT( /* 1: Qwerty */
42 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
43 RAI_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LOW_QUQ,
44 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
45 KC_LCTL, KC_LALT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LGUI, KC_ENT
46 ),
47
48 [_COLEMAK] = LAYOUT( /* 2: Colemak */
49 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
50 RAI_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, LOW_QUQ,
51 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
52 KC_LCTL, KC_LALT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LGUI, KC_ENT
53 ),
54
55 [_LOWER] = LAYOUT( /* 1: FN 1 */
56 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
57 _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
58 KC_CAPS, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
59 KC_LEFT, KC_RGHT, _______, KC_DEL, KC_INS, _______, KC_UP, KC_DOWN
60 ),
61
62 [_RAISE] = LAYOUT( /* 2: FN 2 */
63 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
64 _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
65 KC_CAPS, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______,
66 KC_LEFT, KC_RGHT, _______, KC_DEL, KC_INS, _______, KC_UP, KC_DOWN
67 ),
68
69 [_ADJUST] = LAYOUT(
70 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
71 _______, RESET, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
73 KC_HOME, KC_END, _______, _______, _______, _______, KC_PGUP, KC_PGDN
74 )
75};
76
77void persistent_default_layer_set(uint16_t default_layer) {
78 eeconfig_update_default_layer(default_layer);
79 default_layer_set(default_layer);
80}
81
82bool process_record_user(uint16_t keycode, keyrecord_t *record) {
83 switch (keycode) {
84 case QWERTY:
85 if (record->event.pressed) {
86 persistent_default_layer_set(1UL<<_QWERTY);
87 }
88 return false;
89 break;
90 case COLEMAK:
91 if (record->event.pressed) {
92 persistent_default_layer_set(1UL<<_COLEMAK);
93 }
94 return false;
95 break;
96 case DVORAK:
97 if (record->event.pressed) {
98 persistent_default_layer_set(1UL<<_DVORAK);
99 }
100 return false;
101 break;
102 case LOWER:
103 if (record->event.pressed) {
104 layer_on(_LOWER);
105 update_tri_layer(_LOWER, _RAISE, _ADJUST);
106 } else {
107 layer_off(_LOWER);
108 update_tri_layer(_LOWER, _RAISE, _ADJUST);
109 }
110 return false;
111 break;
112 case RAISE:
113 if (record->event.pressed) {
114 layer_on(_RAISE);
115 update_tri_layer(_LOWER, _RAISE, _ADJUST);
116 } else {
117 layer_off(_RAISE);
118 update_tri_layer(_LOWER, _RAISE, _ADJUST);
119 }
120 return false;
121 break;
122 }
123 return true;
124}
diff --git a/keyboards/thevankeyboards/minivan/keymaps/xyverz/readme.md b/keyboards/thevankeyboards/minivan/keymaps/xyverz/readme.md
new file mode 100644
index 000000000..ac84c08cf
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/xyverz/readme.md
@@ -0,0 +1 @@
# The default keymap for tv44 \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/xyverz/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/xyverz/rules.mk
new file mode 100644
index 000000000..f4671a9d1
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/xyverz/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/minivan.c b/keyboards/thevankeyboards/minivan/minivan.c
new file mode 100644
index 000000000..b260195ce
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/minivan.c
@@ -0,0 +1,28 @@
1#include "minivan.h"
2
3void matrix_init_kb(void) {
4 // put your keyboard start-up code here
5 // runs once when the firmware starts up
6
7 matrix_init_user();
8}
9
10void matrix_scan_kb(void) {
11 // put your looping keyboard code here
12 // runs every cycle (a lot)
13
14 matrix_scan_user();
15}
16
17bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
18 // put your per-action keyboard code here
19 // runs for every action, just before processing by the firmware
20
21 return process_record_user(keycode, record);
22}
23
24void led_set_kb(uint8_t usb_led) {
25 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
26
27 led_set_user(usb_led);
28}
diff --git a/keyboards/thevankeyboards/minivan/minivan.h b/keyboards/thevankeyboards/minivan/minivan.h
new file mode 100644
index 000000000..27a358365
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/minivan.h
@@ -0,0 +1,67 @@
1#ifndef MINIVAN_H
2#define MINIVAN_H
3
4#include "quantum.h"
5
6// This a shortcut to help you visually see your layout.
7// There are a number of variations depending on the layout of your bottom row.
8// The arrow variant adds an additional key on the bottom-right, while the
9// command variant adds an additional key on the bottom-left. arrow-command is a
10// combination of both of those, having an additional key on both sides.
11//
12// Please note that the numbering of the macro arguments are based on the
13// numbers of the keys on the PCB.
14
15#define LAYOUT( \
16 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
17 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
18 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
19 K30, K31, K32, K33, K37, K38, K39, K3B \
20) \
21{ \
22 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \
23 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \
24 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \
25 { K30, K31, K32, K33, KC_NO, KC_NO, KC_NO, K37, K38, K39, KC_NO, K3B } \
26}
27
28#define LAYOUT_arrow( \
29 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
30 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
31 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
32 K30, K31, K32, K33, K37, K38, K39, K3A, K3B \
33) \
34{ \
35 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \
36 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \
37 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \
38 { K30, K31, K32, K33, KC_NO, KC_NO, KC_NO, K37, K38, K39, K3A, K3B } \
39}
40
41#define LAYOUT_command( \
42 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
43 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
44 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
45 K30, K31, K34, K32, K33, K37, K38, K39, K3B \
46) \
47{ \
48 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \
49 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \
50 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \
51 { K30, K31, K32, K33, K34, KC_NO, KC_NO, K37, K38, K39, KC_NO, K3B } \
52}
53
54#define LAYOUT_arrow_command( \
55 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
56 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
57 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
58 K30, K31, K34, K32, K33, K37, K38, K39, K3A, K3B \
59) \
60{ \
61 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \
62 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \
63 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \
64 { K30, K31, K32, K33, K34, KC_NO, KC_NO, K37, K38, K39, K3A, K3B } \
65}
66
67#endif
diff --git a/keyboards/thevankeyboards/minivan/readme.md b/keyboards/thevankeyboards/minivan/readme.md
new file mode 100644
index 000000000..03a868a16
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/readme.md
@@ -0,0 +1,13 @@
1# Minivan (tv44)
2
3A compact 44% keyboard.
4
5Keyboard Maintainer: QMK Community
6Hardware Supported: Minivan PCB
7Hardware Availability: https://thevankeyboards.com/collections/catalog/products/minivan-diy?variant=609138376718
8
9Make example for this keyboard (after setting up your build environment):
10
11 make thevankeyboards/minivan: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).
diff --git a/keyboards/thevankeyboards/minivan/rules.mk b/keyboards/thevankeyboards/minivan/rules.mk
new file mode 100644
index 000000000..786c9dc3e
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/rules.mk
@@ -0,0 +1,69 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
59CONSOLE_ENABLE = yes # Console for debug(+400)
60COMMAND_ENABLE = yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE = yes # USB Nkey Rollover
65BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
66MIDI_ENABLE = no # MIDI controls
67UNICODE_ENABLE = no # Unicode
68BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
69AUDIO_ENABLE = no # Audio output on port C6
diff --git a/keyboards/thevankeyboards/readme.md b/keyboards/thevankeyboards/readme.md
new file mode 100644
index 000000000..5dfd74e57
--- /dev/null
+++ b/keyboards/thevankeyboards/readme.md
@@ -0,0 +1,3 @@
1# TheVan Keyboards
2
3[TheVan Keyboards](https://thevankeyboards.com/) is based in the United States and is responsible for boards such as the minivan. \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/config.h b/keyboards/thevankeyboards/roadkit/config.h
new file mode 100644
index 000000000..9596f7f3b
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/config.h
@@ -0,0 +1,162 @@
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#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEAE
25#define PRODUCT_ID 0x8846
26#define DEVICE_VER 0x0001
27#define MANUFACTURER TheVan Keyboards
28#define PRODUCT Roadkit Micro
29#define DESCRIPTION keyboard firmware for Roadkit Micro
30
31/* key matrix size */
32#define MATRIX_ROWS 4
33#define MATRIX_COLS 4
34
35/*
36 * Keyboard Matrix Assignments
37 *
38 * Change this to how you wired your keyboard
39 * COLS: AVR pins used for columns, left to right
40 * ROWS: AVR pins used for rows, top to bottom
41 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
42 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
43 *
44*/
45#define MATRIX_ROW_PINS { F0, F5, D7, B4 }
46#define MATRIX_COL_PINS { F1, F4, D6, D4 }
47#define UNUSED_PINS
48
49/* COL2ROW or ROW2COL */
50#define DIODE_DIRECTION COL2ROW
51
52// #define BACKLIGHT_PIN B7
53// #define BACKLIGHT_BREATHING
54// #define BACKLIGHT_LEVELS 3
55
56
57/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
58#define DEBOUNCING_DELAY 5
59
60/* define if matrix has ghost (lacks anti-ghosting diodes) */
61//#define MATRIX_HAS_GHOST
62
63/* number of backlight levels */
64
65/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
66#define LOCKING_SUPPORT_ENABLE
67/* Locking resynchronize hack */
68#define LOCKING_RESYNC_ENABLE
69
70/*
71 * Force NKRO
72 *
73 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
74 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
75 * makefile for this to work.)
76 *
77 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
78 * until the next keyboard reset.
79 *
80 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
81 * fully operational during normal computer usage.
82 *
83 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
84 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
85 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
86 * power-up.
87 *
88 */
89//#define FORCE_NKRO
90
91/*
92 * Magic Key Options
93 *
94 * Magic keys are hotkey commands that allow control over firmware functions of
95 * the keyboard. They are best used in combination with the HID Listen program,
96 * found here: https://www.pjrc.com/teensy/hid_listen.html
97 *
98 * The options below allow the magic key functionality to be changed. This is
99 * useful if your keyboard/keypad is missing keys and you want magic key support.
100 *
101 */
102
103/* key combination for magic key command */
104#define IS_COMMAND() ( \
105 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
106)
107
108/* control how magic key switches layers */
109//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
110//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
111//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
112
113/* override magic key keymap */
114//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
115//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
116//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
117//#define MAGIC_KEY_HELP1 H
118//#define MAGIC_KEY_HELP2 SLASH
119//#define MAGIC_KEY_DEBUG D
120//#define MAGIC_KEY_DEBUG_MATRIX X
121//#define MAGIC_KEY_DEBUG_KBD K
122//#define MAGIC_KEY_DEBUG_MOUSE M
123//#define MAGIC_KEY_VERSION V
124//#define MAGIC_KEY_STATUS S
125//#define MAGIC_KEY_CONSOLE C
126//#define MAGIC_KEY_LAYER0_ALT1 ESC
127//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
128//#define MAGIC_KEY_LAYER0 0
129//#define MAGIC_KEY_LAYER1 1
130//#define MAGIC_KEY_LAYER2 2
131//#define MAGIC_KEY_LAYER3 3
132//#define MAGIC_KEY_LAYER4 4
133//#define MAGIC_KEY_LAYER5 5
134//#define MAGIC_KEY_LAYER6 6
135//#define MAGIC_KEY_LAYER7 7
136//#define MAGIC_KEY_LAYER8 8
137//#define MAGIC_KEY_LAYER9 9
138//#define MAGIC_KEY_BOOTLOADER PAUSE
139//#define MAGIC_KEY_LOCK CAPS
140//#define MAGIC_KEY_EEPROM E
141//#define MAGIC_KEY_NKRO N
142//#define MAGIC_KEY_SLEEP_LED Z
143
144/*
145 * Feature disable options
146 * These options are also useful to firmware size reduction.
147 */
148
149/* disable debug print */
150//#define NO_DEBUG
151
152/* disable print */
153//#define NO_PRINT
154
155/* disable action features */
156//#define NO_ACTION_LAYER
157//#define NO_ACTION_TAPPING
158//#define NO_ACTION_ONESHOT
159//#define NO_ACTION_MACRO
160//#define NO_ACTION_FUNCTION
161
162#endif
diff --git a/keyboards/thevankeyboards/roadkit/info.json b/keyboards/thevankeyboards/roadkit/info.json
new file mode 100644
index 000000000..839ac73fb
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/info.json
@@ -0,0 +1,15 @@
1{
2 "keyboard_name": "Roadkit",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 4,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_numpad_4x4": {
9 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0, "h":2}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "h":2}, {"x":0, "y":3, "w":2}, {"x":2, "y":3}]
10 },
11 "LAYOUT_ortho_4x4": {
12 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}]
13 }
14 }
15}
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/default/config.h b/keyboards/thevankeyboards/roadkit/keymaps/default/config.h
new file mode 100644
index 000000000..df06a2620
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/default/config.h
@@ -0,0 +1,8 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7
8#endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/default/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/default/keymap.c
new file mode 100644
index 000000000..4ec0f6cfd
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/default/keymap.c
@@ -0,0 +1,48 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9
10#define _NP 0
11
12// Macro name shortcuts
13#define NUMPAD M(_NP)
14
15// Fillers to make layering more clear
16#define _______ KC_TRNS
17#define XXXXXXX KC_NO
18
19
20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 [_NP] = LAYOUT_numpad_4x4( /* Numpad */
22 KC_P7, KC_P8, KC_P9, KC_PPLS, \
23 KC_P4, KC_P5, KC_P6, \
24 KC_P1, KC_P2, KC_P3, KC_PENT, \
25 KC_P0, KC_PDOT \
26 ),
27};
28
29const uint16_t PROGMEM fn_actions[] = {
30
31};
32
33void persistent_default_layer_set(uint16_t default_layer) {
34 eeconfig_update_default_layer(default_layer);
35 default_layer_set(default_layer);
36}
37
38const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
39{
40 switch(id) {
41 case _NP:
42 if (record->event.pressed) {
43 persistent_default_layer_set(1UL<<_NP);
44 }
45 break;
46 }
47 return MACRO_NONE;
48};
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/default/readme.md b/keyboards/thevankeyboards/roadkit/keymaps/default/readme.md
new file mode 100644
index 000000000..5984a71d1
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for roadkit
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/default/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/default/rules.mk
new file mode 100644
index 000000000..f4671a9d1
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/default/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h
new file mode 100644
index 000000000..df06a2620
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h
@@ -0,0 +1,8 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7
8#endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
new file mode 100644
index 000000000..fed9d0270
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c
@@ -0,0 +1,219 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5#ifdef BACKLIGHT_ENABLE
6 #include "backlight.h"
7#endif
8
9#ifdef AUDIO_ENABLE
10 #include "audio.h"
11#endif
12
13void backlight_toggle(void){
14};
15
16enum roadkit_layers {
17 _NUMPAD,
18 _FPH,
19 _FPHNOISY,
20 _ADJUST,
21 _DYN
22};
23
24enum roadkit_keycodes {
25 NUMPAD = SAFE_RANGE,
26 FPH_1,
27 FPH_2,
28 FPH_3,
29 FPH_4,
30 FPH_5,
31 FPH_6,
32 FPH_7,
33 FPH_8,
34 FPH_9,
35 FN_0,
36 BACKLIT,
37 MACSLEEP,
38 DYNAMIC_MACRO_RANGE,
39};
40
41#include "dynamic_macro.h"
42
43// Fillers to make keymaps cleaner looking
44#define _______ KC_TRNS
45#define XXXXXXX KC_NO
46
47const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 [_NUMPAD] = LAYOUT_numpad_4x4( /* Numpad */
49 KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, \
50 KC_KP_4, KC_KP_5, KC_KP_6, \
51 KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, \
52 LT(_ADJUST, KC_KP_0), KC_KP_DOT \
53 ),
54 [_FPH] = LAYOUT_numpad_4x4( /* Quiet T9 */
55 FPH_7, FPH_8, FPH_9, KC_KP_PLUS, \
56 FPH_4, FPH_5, FPH_6, \
57 FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER), \
58 LT(_ADJUST, KC_SPACE), KC_KP_DOT \
59 ),
60 [_FPHNOISY] = LAYOUT_numpad_4x4( /* Noisy T9 */
61 FPH_7, FPH_8, FPH_9, KC_KP_PLUS, \
62 FPH_4, FPH_5, FPH_6, \
63 FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER), \
64 LT(_ADJUST, KC_SPACE), KC_KP_DOT \
65 ),
66 [_ADJUST] = LAYOUT_numpad_4x4( /* Adjustments */
67 KC_NUMLOCK, TG(_FPHNOISY), TG(_FPH), TG(_NUMPAD), \
68 KC_BSPC, BACKLIT, KC_DEL, \
69 MACSLEEP, _______, _______, _______, \
70 _______, MO(_DYN) \
71 ),
72 [_DYN] = LAYOUT_numpad_4x4( /* DYNAMIC MACRO */
73 DYN_REC_START1, DYN_REC_START2, _______, DYN_REC_STOP, \
74 _______, _______, _______, \
75 DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, \
76 _______, _______ \
77 ),
78};
79
80const uint16_t PROGMEM fn_actions[] = {
81
82};
83
84void persistant_default_layer_set(uint16_t default_layer) {
85 eeconfig_update_default_layer(default_layer);
86 default_layer_set(default_layer);
87}
88
89uint16_t fph_tap_qty = false;
90uint16_t fph_keycode = 0; // stores which spacebar was used, either raise or lower...
91
92uint16_t get_render_keycode(uint16_t keycode, uint16_t tap_qty){ // maybe replace shift with "mods"
93 tap_qty--; // reduce by one to match array indexes.
94 switch(keycode){
95 case FPH_2:
96 {uint16_t kc[] = {KC_A, KC_B, KC_C};
97 if(tap_qty % 6 > 2)
98 return LSFT(kc[tap_qty % 3]);
99 return kc[tap_qty % 3];}
100 break;
101 case FPH_3:
102 {uint16_t kc[] = {KC_D, KC_E, KC_F};
103 if(tap_qty % 6 > 2)
104 return LSFT(kc[tap_qty % 3]);
105 return kc[tap_qty % 3];}
106 break;
107 case FPH_4:
108 {uint16_t kc[] = {KC_G, KC_H, KC_I};
109 if(tap_qty % 6 > 2)
110 return LSFT(kc[tap_qty % 3]);
111 return kc[tap_qty % 3];}
112 break;
113 case FPH_5:
114 {uint16_t kc[] = {KC_J, KC_K, KC_L};
115 if(tap_qty % 6 > 2)
116 return LSFT(kc[tap_qty % 3]);
117 return kc[tap_qty % 3];}
118 break;
119 case FPH_6:
120 {uint16_t kc[] = {KC_M, KC_N, KC_O};
121 if(tap_qty % 6 > 2)
122 return LSFT(kc[tap_qty % 3]);
123 return kc[tap_qty % 3];}
124 break;
125 case FPH_7:
126 {uint16_t kc[] = {KC_P, KC_Q, KC_R, KC_S};
127 if(tap_qty % 8 > 2)
128 return LSFT(kc[tap_qty % 4]);
129 return kc[tap_qty % 4];}
130 break;
131 case FPH_8:
132 {uint16_t kc[] = {KC_T, KC_U, KC_V};
133 if(tap_qty % 8 > 2)
134 return LSFT(kc[tap_qty % 4]);
135 return kc[tap_qty % 4];}
136 break;
137 case FPH_9:
138 {uint16_t kc[] = {KC_W, KC_X, KC_Y, KC_Z};
139 if(tap_qty % 8 > 2)
140 return LSFT(kc[tap_qty % 4]);
141 return kc[tap_qty % 4];}
142 break;
143 case FPH_1:
144 {uint16_t kc[] = {KC_COMM, LSFT(KC_SLSH), KC_EXLM, KC_AT, KC_MINS, KC_UNDS, KC_PLUS, \
145 KC_SCLN, LSFT(KC_SCLN), KC_QUOT, LSFT(KC_QUOT), KC_TILD, \
146 KC_PIPE, KC_BSLS, KC_HASH, LSFT(KC_4), KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, \
147 KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, LSFT(KC_COMM), LSFT(KC_DOT)};
148 return kc[tap_qty % 26];}
149 }
150 return KC_NO;
151}
152
153bool process_record_user(uint16_t keycode, keyrecord_t *record) {
154 if (!process_record_dynamic_macro(keycode, record)) {
155 return false;
156 }
157 uint8_t layer;
158 layer = biton32(layer_state);
159
160 switch (keycode) {
161 case FPH_1 ... FPH_9:
162 if(layer == _FPHNOISY){
163 if (record->event.pressed) {
164 if(fph_keycode != keycode) { // key change
165 fph_tap_qty = 0;
166 fph_keycode = keycode;
167 } else { // same key tapped again so erase and increment.
168 register_code(KC_BSPC);
169 unregister_code(KC_BSPC);
170 fph_tap_qty++;
171 }
172 uint16_t render_keycode = get_render_keycode(keycode, fph_tap_qty);
173 // find mods? Apply mods..
174 register_code(render_keycode);
175 unregister_code(render_keycode);
176 } else {
177 // do we need to do anything on key-release?
178 }
179 } else { // not noisy, be demure .
180 if (record->event.pressed) {
181 if(fph_keycode != keycode) { // key change, kill everything.
182 uint16_t render_keycode = get_render_keycode(fph_keycode, fph_tap_qty);
183 // find mods? Apply mods..
184 register_code(render_keycode);
185 unregister_code(render_keycode);
186 fph_keycode = keycode;
187 fph_tap_qty = 0;
188 } else { // same key tapped again so increment counter silently
189 fph_tap_qty++;
190 }
191 } else {
192 // do we need to do anything on key-release?
193 // maybe start a timer on this one?
194 }
195 }
196 return false;
197 break;
198 case BACKLIT:
199 if (record->event.pressed) {
200 #ifdef BACKLIGHT_ENABLE
201 backlight_step();
202 #endif
203 }
204 return false;
205 break;
206 case MACSLEEP:
207 if (record->event.pressed) {
208 register_code(KC_RSFT);
209 register_code(KC_RCTL);
210 register_code(KC_POWER);
211 unregister_code(KC_POWER);
212 unregister_code(KC_RCTL);
213 unregister_code(KC_RSFT);
214 }
215 return false;
216 break;
217 }
218 return true;
219}
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md
new file mode 100644
index 000000000..ad630be19
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md
@@ -0,0 +1,26 @@
1# Flip Phone layout for Roadkit
2
3BEWARE, THIS DOES NOT WORK YET.
4
5Uses the numpad with classic cellular phone style letters assigned to the numbers.
6
7# LAYERS
8
9* Numpad - The layer that matches the caps mostly
10* FPH - Base layer for text
11* FPHNOISY - Text layer that outputs every character and then backspaces as they're replaced
12* DYN - dynamic macro layer for recording and playing macros
13
14## FPH
15
16Poke the "2" key twice and it makes "B".
17
18## FPHNOISY
19
20Poke the "2" key twice and it makes "A"+backspace+"B" so you can see it cycle through.
21
22## MACROS
23
24May be able to record macros with the T9 layer because the "KC_*"s are only sent
25at the end. Trying to do a macro with T9NOISY would probably fill up the buffer
26in just a few characters.
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk
new file mode 100644
index 000000000..f4671a9d1
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/khord/config.h b/keyboards/thevankeyboards/roadkit/keymaps/khord/config.h
new file mode 100644
index 000000000..da6ed7189
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/khord/config.h
@@ -0,0 +1,15 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7#define TAPPING_TERM 175
8
9#ifdef BACKLIGHT_ENABLE
10 #define BACKLIGHT_PIN B5
11 #define BACKLIGHT_LEVELS 3
12 #define BACKLIGHT_ON_STATE 0
13#endif
14
15#endif
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/khord/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/khord/keymap.c
new file mode 100644
index 000000000..9111f4f89
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/khord/keymap.c
@@ -0,0 +1,112 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5#define _NP 0
6#define _L1 1
7#define _L2 2
8
9// Fillers to make layering more clear
10#define _______ KC_TRNS
11#define XXXXXXX KC_NO
12
13enum custom_keycodes {
14 NUMPAD = SAFE_RANGE,
15 ADMIN,
16 SMSPC1,
17 STR192,
18 STR255
19};
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22
23 /* Numpad
24 * ,-----------------------.
25 * | 7 | 8 | 9 |Bksp |
26 * |-----`-----`-----`-----|
27 * | 4 | 5 | 6 | Tab |
28 * |-----`-----`-----`-----|
29 * | 1 | 2 | 3 |Enter|
30 * |-----`-----`-----`-----|
31 * | 0 |Space| . | / |
32 * `-----`-----`-----`-----'
33 * | L1 | L2 | | | Layer hold
34 */
35 [_NP] = LAYOUT_ortho_4x4( /* Numpad */
36 KC_P7, KC_P8, KC_P9, KC_BSPC, \
37 KC_P4, KC_P5, KC_P6, KC_TAB, \
38 KC_P1, KC_P2, KC_P3, KC_PENT, \
39 LT(1, KC_P0), LT(2, KC_SPC), KC_PDOT, KC_PSLS
40 ),
41
42 /* L1
43 * ,-----------------------.
44 * |Reset| | | Del |
45 * |-----`-----`-----`-----|
46 * | Left| Down| Up |Right|
47 * |-----`-----`-----`-----|
48 * | 192.| 255 | | |
49 * |-----`-----`-----`-----|
50 * |_____| LED | . | |
51 * `-----`-----`-----`-----'
52 */
53 [_L1] = LAYOUT_ortho_4x4( /* LAYER 1 */
54 RESET, XXXXXXX, XXXXXXX, KC_DEL, \
55 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
56 STR192, STR255, XXXXXXX, XXXXXXX, \
57 _______, BL_STEP, _______, XXXXXXX
58 ),
59
60 /* L2
61 * ,-----------------------.
62 * | | | str | str |
63 * |-----`-----`-----`-----|
64 * | | | | |
65 * |-----`-----`-----`-----|
66 * | | | | |
67 * |-----`-----`-----`-----|
68 * | |_____| | |
69 * `-----`-----`-----`-----'
70 */
71 [_L2] = LAYOUT_ortho_4x4( /* LAYER 2 */
72 XXXXXXX, XXXXXXX, ADMIN, SMSPC1, \
73 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
74 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
75 XXXXXXX, _______, XXXXXXX, XXXXXXX
76 )
77};
78
79void persistent_default_layer_set(uint16_t default_layer) {
80 eeconfig_update_default_layer(default_layer);
81 default_layer_set(default_layer);
82}
83
84bool process_record_user(uint16_t keycode, keyrecord_t *record) {
85 switch (keycode) {
86 case ADMIN:
87 if (record->event.pressed) {
88 SEND_STRING("Administrator");
89 }
90 return false;
91 break;
92 case SMSPC1:
93 if (record->event.pressed) {
94 SEND_STRING("Simspace1!");
95 }
96 return false;
97 break;
98 case STR192:
99 if (record->event.pressed) {
100 SEND_STRING("192.168.");
101 }
102 return false;
103 break;
104 case STR255:
105 if (record->event.pressed) {
106 SEND_STRING("255");
107 }
108 return false;
109 break;
110 }
111 return true;
112};
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/khord/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/khord/rules.mk
new file mode 100644
index 000000000..9f3c958bd
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/khord/rules.mk
@@ -0,0 +1,22 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18TAP_DANCE_ENABLE = no # Enable Tap Dance functionality
19
20ifndef QUANTUM_DIR
21 include ../../../../Makefile
22endif
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/mjt/config.h b/keyboards/thevankeyboards/roadkit/keymaps/mjt/config.h
new file mode 100644
index 000000000..df06a2620
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/mjt/config.h
@@ -0,0 +1,8 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7
8#endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/mjt/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/mjt/keymap.c
new file mode 100644
index 000000000..a1af5b1f2
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/mjt/keymap.c
@@ -0,0 +1,239 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5#ifdef BACKLIGHT_ENABLE
6 #include "backlight.h"
7#endif
8
9#ifdef AUDIO_ENABLE
10 #include "audio.h"
11#endif
12
13void backlight_toggle(void){
14};
15
16enum roadkit_layers {
17 _NUMPAD,
18 _NAVIGATION,
19 _EXCEL,
20 _ADJUST,
21 _DYN
22};
23
24enum minivan_keycodes {
25 NUMPAD = SAFE_RANGE,
26 NAVIGATION,
27 EXCEL,
28 NUMPAD_LOCK,
29 NAVIGATION_LOCK,
30 EXCEL_LOCK,
31 PARENS,
32 BRACKETS,
33 BRACES,
34 BACKLIT,
35 MACSLEEP,
36 DYNAMIC_MACRO_RANGE,
37};
38
39#include "dynamic_macro.h"
40
41// Fillers to make keymaps cleaner looking
42#define _______ KC_TRNS
43#define XXXXXXX KC_NO
44
45
46const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47 [_NUMPAD] = LAYOUT_numpad_4x4( /* Numpad */
48 KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, \
49 KC_KP_4, KC_KP_5, KC_KP_6, \
50 KC_KP_1, KC_KP_2, KC_KP_3, NAVIGATION, \
51 EXCEL, KC_KP_DOT
52 ),
53 [_EXCEL] = LAYOUT_numpad_4x4( /* Excel related */
54 KC_KP_SLASH, KC_KP_ASTERISK, KC_MINS, KC_TAB, \
55 KC_QUOT, KC_KP_EQUAL, PARENS, \
56 KC_DQT, BRACKETS, BRACES, _______, \
57 _______, MO(_DYN)
58 ),
59 [_NAVIGATION] = LAYOUT_numpad_4x4( /* Navigation */
60 KC_HOME, _______, KC_PGUP, KC_TAB, \
61 KC_END, KC_UP, KC_PGDN, \
62 KC_LEFT, KC_DOWN, KC_RIGHT, _______, \
63 _______, MO(_DYN)
64 ),
65 [_ADJUST] = LAYOUT_numpad_4x4( /* Adjustments */
66 KC_NUMLOCK, MACSLEEP, BACKLIT, _______, \
67 KC_BSPC, _______, KC_DEL, \
68 EXCEL_LOCK, NUMPAD_LOCK, NAVIGATION_LOCK, _______, \
69 _______, _______
70 ),
71 [_DYN] = LAYOUT_numpad_4x4( /* DYNAMIC MACRO */
72 DYN_REC_START1, DYN_REC_START2, _______, _______, \
73 _______, _______, _______, \
74 DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, \
75 _______, _______
76 ),
77};
78
79const uint16_t PROGMEM fn_actions[] = {
80
81};
82
83#ifdef AUDIO_ENABLE
84
85float tone_startup[][2] = SONG(STARTUP_SOUND);
86float tone_numpad[][2] = SONG(QWERTY_SOUND);
87float tone_excel[][2] = SONG(DVORAK_SOUND);
88float tone_navigation[][2] = SONG(COLEMAK_SOUND);
89float tone_plover[][2] = SONG(PLOVER_SOUND);
90float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
91float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
92
93float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
94#endif
95
96void persistant_default_layer_set(uint16_t default_layer) {
97 eeconfig_update_default_layer(default_layer);
98 default_layer_set(default_layer);
99}
100
101bool fn_tap_used = false; // sets to false when space is pressed,
102 // sets to true when any other key is pressed,
103 //when space is lifted, if another key was prssed, don't send space.
104uint16_t fn_keycode = 0; // stores which spacebar was used, either raise or lower...
105
106bool process_record_user(uint16_t keycode, keyrecord_t *record) {
107 if (!process_record_dynamic_macro(keycode, record)) {
108 return false;
109 }
110
111 switch (keycode) {
112 case NAVIGATION: // This key is enter if tapped, navigation if held
113 if (record->event.pressed) {
114 fn_keycode = NAVIGATION; // these two lines figure out if the next action is
115 fn_tap_used = false;
116 layer_on(_NAVIGATION);
117 update_tri_layer(_EXCEL, _NAVIGATION, _ADJUST);
118 } else {
119 layer_off(_NAVIGATION);
120 update_tri_layer(_EXCEL, _NAVIGATION, _ADJUST);
121 if(!fn_tap_used && fn_keycode == NAVIGATION ){
122 register_code(KC_KP_ENTER);
123 unregister_code(KC_KP_ENTER);
124 fn_keycode = 0;
125 fn_tap_used = false;
126 }
127 }
128 return false;
129 break;
130 case EXCEL:
131 if (record->event.pressed) {
132 fn_keycode = EXCEL;
133 fn_tap_used = false;
134 layer_on(_EXCEL);
135 update_tri_layer(_EXCEL, _NAVIGATION, _ADJUST);
136 } else {
137 layer_off(_EXCEL);
138 update_tri_layer(_EXCEL, _NAVIGATION, _ADJUST);
139 if(!fn_tap_used && fn_keycode == EXCEL ){
140 register_code(KC_KP_0);
141 unregister_code(KC_KP_0);
142 fn_keycode = 0;
143 fn_tap_used = false;
144 }
145 }
146 return false;
147 break;
148 default:
149 fn_tap_used = true;
150 break; // don't return because this just handles the spacebars.
151 }
152 // this is the normal keycode processing switch from Planck default layout.
153 switch (keycode) {
154 case NUMPAD_LOCK:
155 if (record->event.pressed) {
156 #ifdef AUDIO_ENABLE
157 PLAY_NOTE_ARRAY(tone_numpad, false, 0);
158 #endif
159 persistant_default_layer_set(1UL<<_NUMPAD);
160 }
161 return false;
162 break;
163 case NAVIGATION_LOCK:
164 if (record->event.pressed) {
165 #ifdef AUDIO_ENABLE
166 PLAY_NOTE_ARRAY(tone_navigation, false, 0);
167 #endif
168 persistant_default_layer_set(1UL<<_NAVIGATION);
169 }
170 return false;
171 break;
172 case EXCEL_LOCK:
173 if (record->event.pressed) {
174 #ifdef AUDIO_ENABLE
175 PLAY_NOTE_ARRAY(tone_excel, false, 0);
176 #endif
177 persistant_default_layer_set(1UL<<_EXCEL);
178 }
179 return false;
180 break;
181 case PARENS:
182 if (record->event.pressed) {
183 register_code(KC_RSFT);
184 register_code(KC_9);
185 unregister_code(KC_9);
186 register_code(KC_0);
187 unregister_code(KC_0);
188 register_code(KC_RSFT);
189 register_code(KC_LEFT);
190 unregister_code(KC_LEFT);
191 }
192 return false;
193 break;
194 case BRACKETS:
195 if (record->event.pressed) {
196 register_code(KC_LBRC);
197 unregister_code(KC_LBRC);
198 register_code(KC_RBRC);
199 unregister_code(KC_RBRC);
200 register_code(KC_LEFT);
201 unregister_code(KC_LEFT);
202 }
203 return false;
204 break;
205 case BRACES:
206 if (record->event.pressed) {
207 register_code(KC_RSFT);
208 register_code(KC_LBRC);
209 unregister_code(KC_LBRC);
210 register_code(KC_RBRC);
211 unregister_code(KC_RBRC);
212 unregister_code(KC_RSFT);
213 register_code(KC_LEFT);
214 unregister_code(KC_LEFT);
215 }
216 return false;
217 break;
218 case BACKLIT:
219 if (record->event.pressed) {
220 #ifdef BACKLIGHT_ENABLE
221 backlight_step();
222 #endif
223 }
224 return false;
225 break;
226 case MACSLEEP:
227 if (record->event.pressed) {
228 register_code(KC_RSFT);
229 register_code(KC_RCTL);
230 register_code(KC_POWER);
231 unregister_code(KC_POWER);
232 unregister_code(KC_RCTL);
233 unregister_code(KC_RSFT);
234 }
235 return false;
236 break;
237 }
238 return true;
239}
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/mjt/readme.md b/keyboards/thevankeyboards/roadkit/keymaps/mjt/readme.md
new file mode 100644
index 000000000..80c0e5240
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/mjt/readme.md
@@ -0,0 +1,22 @@
1# Mike's custom keymap for roadkit
2
3Based on the 13 key layout.
4
5## LAYERS
6
7* Numpad - The layer that matches the caps
8* Excel - / * - = and () [] {} macros
9* Navigation - arrow keys and home/end
10* ADJUST - just like planck adjust, lets you set default layer.
11* DYN - dynamic macro layer for recording and playing macros
12
13## MACROS
14
15Sadly, the dynamic macros are probably going worthless because they keys that
16they record have to be pressed on this keyboard. This keyboard doesn't have
17most letters...
18
19## LEADER KEYS
20
21This board would probably be better with the user of leader keys instead of
22complex layers with a raise/lower setup... Something to look into for later.
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/mjt/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/mjt/rules.mk
new file mode 100644
index 000000000..f4671a9d1
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/mjt/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/singles/config.h b/keyboards/thevankeyboards/roadkit/keymaps/singles/config.h
new file mode 100644
index 000000000..df06a2620
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singles/config.h
@@ -0,0 +1,8 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7
8#endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/singles/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/singles/keymap.c
new file mode 100644
index 000000000..4c246f513
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singles/keymap.c
@@ -0,0 +1,61 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9
10#define _NP 0
11#define _L1 1
12
13// Macro name shortcuts
14#define NUMPAD M(_NP)
15#define LAYER1 M(_L1)
16
17// Fillers to make layering more clear
18#define _______ KC_TRNS
19#define XXXXXXX KC_NO
20
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23 [_NP] = LAYOUT_ortho_4x4( /* Numpad */
24 KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, \
25 KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_MINUS, \
26 KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, \
27 KC_KP_0, KC_KP_DOT, TG(_L1), KC_BSPC
28 ),
29 [_L1] = LAYOUT_ortho_4x4( /* LAYER 1 */
30 KC_NUMLOCK, _______, _______, KC_VOLU, \
31 _______, KC_UP, _______, KC_VOLD, \
32 KC_LEFT, KC_DOWN, KC_RIGHT, _______, \
33 _______, _______, _______, _______
34 )
35};
36
37const uint16_t PROGMEM fn_actions[] = {
38
39};
40
41void persistent_default_layer_set(uint16_t default_layer) {
42 eeconfig_update_default_layer(default_layer);
43 default_layer_set(default_layer);
44}
45
46const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
47{
48 switch(id) {
49 case _L1:
50 if (record->event.pressed) {
51 persistent_default_layer_set(1UL<<_L1);
52 }
53 break;
54 case _NP:
55 if (record->event.pressed) {
56 persistent_default_layer_set(1UL<<_NP);
57 }
58 break;
59 }
60 return MACRO_NONE;
61};
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/singles/readme.md b/keyboards/thevankeyboards/roadkit/keymaps/singles/readme.md
new file mode 100644
index 000000000..48ea4a8b3
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singles/readme.md
@@ -0,0 +1,3 @@
1# The singles keymap for roadkit
2
3This keymap has a base layer with numpad functionality, and then a second layer with some additional keys. The user is encouraged to develop their own keymap using this as a starting point.
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/singles/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/singles/rules.mk
new file mode 100644
index 000000000..f4671a9d1
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singles/rules.mk
@@ -0,0 +1,21 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/config.h b/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/config.h
new file mode 100644
index 000000000..57468e122
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/config.h
@@ -0,0 +1,15 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7#define TAPPING_TERM 175
8
9#ifdef BACKLIGHT_ENABLE
10 #define BACKLIGHT_PIN B5
11 #define BACKLIGHT_LEVELS 3
12 #define BACKLIGHT_ON_STATE 0
13#endif
14
15#endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/keymap.c
new file mode 100644
index 000000000..b4da80e28
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/keymap.c
@@ -0,0 +1,242 @@
1#include QMK_KEYBOARD_H
2
3extern keymap_config_t keymap_config;
4
5// Each layer gets a name for readability, which is then used in the keymap matrix below.
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9
10#define _NP 0
11#define _L1 1
12#define _L2 2
13#define _L3 3
14
15// Macro name shortcuts
16#define NUMPAD M(_NP)
17#define LAYER1 M(_L1)
18#define LAYER2 M(_L2)
19#define LAYER3 M(_L3)
20
21// Fillers to make layering more clear
22#define _______ KC_TRNS
23#define XXXXXXX KC_NO
24
25void matrix_init_user(void) {
26 backlight_level(4);
27}
28
29
30
31//Tap Dance Declarations
32
33enum {
34
35 TD_EQUAL_NP = 0,
36 TD_KP_PLUS_L1,
37 TD_DOT_L2,
38 TD_0_L3
39
40};
41
42//Tap Dance Definitions
43
44
45 //TD equal to turn on layer NP
46void _td_equal_tg_finished (qk_tap_dance_state_t *state, void *user_data) {
47 if (state->count == 1) {
48 register_code(KC_EQUAL);
49 } else if (state->count == 2) {
50 backlight_set(3);
51 layer_on(_NP);
52 layer_off(_L1);
53 layer_off(_L2);
54 layer_off(_L3);
55 }
56}
57
58void _td_equal_tg_reset (qk_tap_dance_state_t *state, void *user_data) {
59 if (state->count == 1) {
60 unregister_code(KC_EQUAL);
61 }
62}
63
64
65 //TD kp plus to toggle layer 1
66void _td_kp_plus_tg_finished (qk_tap_dance_state_t *state, void *user_data) {
67 if (state->count == 1) {
68 register_code(KC_KP_PLUS);
69 } else if (state->count == 2) {
70// layer_invert(_L1);
71 backlight_set(2);
72 layer_on(_L1);
73 layer_off(_L2);
74 layer_off(_L3);
75 }
76}
77
78void _td_kp_plus_tg_reset (qk_tap_dance_state_t *state, void *user_data) {
79 if (state->count == 1) {
80 unregister_code(KC_KP_PLUS);
81 }
82}
83
84
85 //TD dot to toggle layer 2
86void _td_dot_tg_finished (qk_tap_dance_state_t *state, void *user_data) {
87 if (state->count == 1) {
88 register_code(KC_DOT);
89 } else if (state->count == 2) {
90 backlight_set(1);
91 layer_on(_L2);
92 layer_off(_L1);
93 layer_off(_L3);
94 }
95}
96
97void _td_dot_tg_reset (qk_tap_dance_state_t *state, void *user_data) {
98 if (state->count == 1) {
99 unregister_code(KC_DOT);
100 }
101}
102
103 //TD 0 to toggle layer 3
104void _td_0_tg_finished (qk_tap_dance_state_t *state, void *user_data) {
105 if (state->count == 1) {
106 register_code(KC_0);
107 } else if (state->count == 2) {
108 backlight_set(0);
109 layer_on(_L3);
110 layer_off(_L1);
111 layer_off(_L2);
112 }
113}
114
115void _td_0_tg_reset (qk_tap_dance_state_t *state, void *user_data) {
116 if (state->count == 1) {
117 unregister_code(KC_0);
118 }
119}
120
121//TD Actions
122qk_tap_dance_action_t tap_dance_actions[] = {
123 [TD_EQUAL_NP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, _td_equal_tg_finished, _td_equal_tg_reset),
124 [TD_KP_PLUS_L1] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, _td_kp_plus_tg_finished, _td_kp_plus_tg_reset),
125 [TD_DOT_L2] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, _td_dot_tg_finished, _td_dot_tg_reset),
126 [TD_0_L3] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, _td_0_tg_finished, _td_0_tg_reset)
127};
128
129
130
131const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
132
133 /* Numberpad
134 * ,-----------------------.
135 * | 7 | 8 | 9 | / |
136 * |-----`-----`-----`-----|
137 * | 4 | 5 | 6 | * |
138 * |-----`-----`-----`-----|
139 * | 1 | 2 | 3 | - |
140 * |-----`-----`-----`-----|
141 * | 0 | . | + | = |
142 * `-----`-----`-----`-----'
143 * Tapdances:
144 * | L3 | L2 | L1 | NP |
145 * `-----`-----`-----`-----'
146 */
147 [_NP] = LAYOUT_ortho_4x4( /* Numpad */
148 KC_7, KC_8, KC_9, KC_SLASH, \
149 KC_4, KC_5, KC_6, KC_KP_ASTERISK, \
150 KC_1, KC_2, KC_3, KC_MINUS, \
151 TD(TD_0_L3), TD(TD_DOT_L2), TD(TD_KP_PLUS_L1), TD(TD_EQUAL_NP)
152 ),
153
154 /* L1
155 * ,-----------------------.
156 * | Esc |Bksp |Home |PgUp |
157 * |-----`-----`-----`-----|
158 * | Tab | Up | End |PgDn |
159 * |-----`-----`-----`-----|
160 * |Left |Down |Right|Enter|
161 * |-----`-----`-----`-----|
162 * | 0 | . | + | = |
163 * `-----`-----`-----`-----'
164 */
165 [_L1] = LAYOUT_ortho_4x4( /* LAYER 1 */
166 KC_ESCAPE, KC_BSPACE, KC_HOME, KC_PGUP, \
167 KC_TAB, KC_UP, KC_END, KC_PGDOWN, \
168 KC_LEFT, KC_DOWN, KC_RIGHT, KC_KP_ENTER, \
169 _______, _______, _______, _______
170 ),
171
172 /* L2
173 * ,-----------------------.
174 * |Sleep|LClik|RClik|VolUp|
175 * |-----`-----`-----`-----|
176 * |AltF4| F11 |WinTb|VolDn|
177 * |-----`-----`-----`-----|
178 * |PrvTk|Play |NxtTk|Mute |
179 * |-----`-----`-----`-----|
180 * | 0 | . | + | = |
181 * `-----`-----`-----`-----'
182 */
183 [_L2] = LAYOUT_ortho_4x4( /* LAYER 2 */
184 KC_SYSTEM_SLEEP, KC_MS_BTN1, KC_MS_BTN2, KC_AUDIO_VOL_UP, \
185 LALT(KC_F4), KC_F11, LGUI(KC_TAB), KC_AUDIO_VOL_DOWN, \
186 KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, \
187 _______, _______, _______, _______
188 ),
189
190 /* L3 needs cut, copy, paste, undo, again (redo), find, calc, www back, www forward, F5
191 * ,-----------------------.
192 * |WBack|WHome|WFor | F5 |
193 * |-----`-----`-----`-----|
194 * |Calc |Undo |Redo |WSrch|
195 * |-----`-----`-----`-----|
196 * | Cut |Copy |Paste|Find |
197 * |-----`-----`-----`-----|
198 * | 0 | . | + | = |
199 * `-----`-----`-----`-----'
200 */
201 [_L3] = LAYOUT_ortho_4x4( /* LAYER 3 */
202 KC_SYSTEM_SLEEP, KC_MS_BTN1, KC_MS_BTN2, KC_AUDIO_VOL_UP, \
203 LALT(KC_F4), KC_F11, LGUI(KC_TAB), KC_AUDIO_VOL_DOWN, \
204 KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, \
205 _______, _______, _______, _______
206 ),
207};
208
209const uint16_t PROGMEM fn_actions[] = {
210
211};
212
213void persistent_default_layer_set(uint16_t default_layer) {
214 eeconfig_update_default_layer(default_layer);
215 default_layer_set(default_layer);
216}
217
218const macro_t * action_get_macro(keyrecord_t * record, uint8_t id, uint8_t opt) {
219 switch (id) {
220 case _L3:
221 if (record->event.pressed) {
222 persistent_default_layer_set(1UL<<_L3);
223 }
224 break;
225 case _L2:
226 if (record->event.pressed) {
227 persistent_default_layer_set(1UL<<_L2);
228 }
229 break;
230 case _L1:
231 if (record->event.pressed) {
232 persistent_default_layer_set(1UL<<_L1);
233 }
234 break;
235 case _NP:
236 if (record->event.pressed) {
237 persistent_default_layer_set(1UL<<_NP);
238 }
239 break;
240 }
241 return MACRO_NONE;
242};
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/readme.md b/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/readme.md
new file mode 100644
index 000000000..48ea4a8b3
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/readme.md
@@ -0,0 +1,3 @@
1# The singles keymap for roadkit
2
3This keymap has a base layer with numpad functionality, and then a second layer with some additional keys. The user is encouraged to develop their own keymap using this as a starting point.
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/rules.mk
new file mode 100644
index 000000000..b61d6cca2
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/rules.mk
@@ -0,0 +1,22 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18TAP_DANCE_ENABLE = yes # Enable Tap Dance functionality
19
20ifndef QUANTUM_DIR
21 include ../../../../Makefile
22endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/readme.md b/keyboards/thevankeyboards/roadkit/readme.md
new file mode 100644
index 000000000..e4af2dcc0
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/readme.md
@@ -0,0 +1,13 @@
1# Roadkit
2
3A programmable macro pad.
4
5Keyboard Maintainer: QMK Community
6Hardware Supported: Roadkit PCB
7Hardware Availability: https://thevankeyboards.com/collections/catalog/products/road-kit-diy?variant=603645345806
8
9Make example for this keyboard (after setting up your build environment):
10
11 make thevankeyboards/roadkit: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).
diff --git a/keyboards/thevankeyboards/roadkit/roadkit.c b/keyboards/thevankeyboards/roadkit/roadkit.c
new file mode 100644
index 000000000..26e0c51ec
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/roadkit.c
@@ -0,0 +1,28 @@
1#include "roadkit.h"
2
3void matrix_init_kb(void) {
4 // put your keyboard start-up code here
5 // runs once when the firmware starts up
6
7 matrix_init_user();
8}
9
10void matrix_scan_kb(void) {
11 // put your looping keyboard code here
12 // runs every cycle (a lot)
13
14 matrix_scan_user();
15}
16
17bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
18 // put your per-action keyboard code here
19 // runs for every action, just before processing by the firmware
20
21 return process_record_user(keycode, record);
22}
23
24void led_set_kb(uint8_t usb_led) {
25 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
26
27 led_set_user(usb_led);
28}
diff --git a/keyboards/thevankeyboards/roadkit/roadkit.h b/keyboards/thevankeyboards/roadkit/roadkit.h
new file mode 100644
index 000000000..62cfabc5e
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/roadkit.h
@@ -0,0 +1,33 @@
1#ifndef ROADKIT_H
2#define ROADKIT_H
3
4#include "quantum.h"
5
6// This is a shortcut to help you visually see your layout.
7#define LAYOUT_numpad_4x4( \
8 K00, K01, K02, K03, \
9 K10, K11, K12, \
10 K20, K21, K22, K23, \
11 K30, K32 \
12) \
13{ \
14 { K00, K01, K02, K03 }, \
15 { K10, K11, K12, KC_NO }, \
16 { K20, K21, K22, K23 }, \
17 { K30, KC_NO, K32, KC_NO } \
18}
19
20#define LAYOUT_ortho_4x4( \
21 K00, K01, K02, K03, \
22 K10, K11, K12, K13, \
23 K20, K21, K22, K23, \
24 K30, K31, K32, K33 \
25) \
26{ \
27 { K00, K01, K02, K03 }, \
28 { K10, K11, K12, K13 }, \
29 { K20, K21, K22, K23 }, \
30 { K30, K31, K32, K33 } \
31}
32
33#endif
diff --git a/keyboards/thevankeyboards/roadkit/rules.mk b/keyboards/thevankeyboards/roadkit/rules.mk
new file mode 100644
index 000000000..d15a5541b
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/rules.mk
@@ -0,0 +1,71 @@
1
2
3# MCU name
4#MCU = at90usb1287
5MCU = atmega32u4
6
7# Processor frequency.
8# This will define a symbol, F_CPU, in all source code files equal to the
9# processor frequency in Hz. You can then use this symbol in your source code to
10# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
11# automatically to create a 32-bit value in your source code.
12#
13# This will be an integer division of F_USB below, as it is sourced by
14# F_USB after it has run through any CPU prescalers. Note that this value
15# does not *change* the processor frequency - it should merely be updated to
16# reflect the processor speed set externally so that the code can use accurate
17# software delays.
18F_CPU = 16000000
19
20
21#
22# LUFA specific
23#
24# Target architecture (see library "Board Types" documentation).
25ARCH = AVR8
26
27# Input clock frequency.
28# This will define a symbol, F_USB, in all source code files equal to the
29# input clock frequency (before any prescaling is performed) in Hz. This value may
30# differ from F_CPU if prescaling is used on the latter, and is required as the
31# raw input clock is fed directly to the PLL sections of the AVR for high speed
32# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
33# at the end, this will be done automatically to create a 32-bit value in your
34# source code.
35#
36# If no clock division is performed on the input clock inside the AVR (via the
37# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
38F_USB = $(F_CPU)
39
40# Interrupt driven control endpoint task(+60)
41OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
42
43
44# Boot Section Size in *bytes*
45# Teensy halfKay 512
46# Teensy++ halfKay 1024
47# Atmel DFU loader 4096
48# LUFA bootloader 4096
49# USBaspLoader 2048
50OPT_DEFS += -DBOOTLOADER_SIZE=4096
51
52
53# Build Options
54# change yes to no to disable
55#
56BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
57MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
58EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
59CONSOLE_ENABLE = yes # Console for debug(+400)
60COMMAND_ENABLE = yes # Commands for debug and configuration
61# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
62SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
63# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
64NKRO_ENABLE = yes # USB Nkey Rollover
65BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
66MIDI_ENABLE = no # MIDI controls
67UNICODE_ENABLE = no # Unicode
68BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
69AUDIO_ENABLE = no # Audio output on port C6
70
71LAYOUTS = numpad_4x4 ortho_4x4