aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/thevankeyboards/roadkit/keymaps
diff options
context:
space:
mode:
authorAlex Ong <the.onga@gmail.com>2019-01-04 19:39:14 +1100
committerAlex Ong <the.onga@gmail.com>2019-01-04 19:39:14 +1100
commit47c91fc7f75ae0a477e55b687aa0fc30da0a283c (patch)
tree65ad39452748ff2e6d4a83ce54ede6ca22c9ada9 /keyboards/thevankeyboards/roadkit/keymaps
parentac9b88e8ccbbf38762871504cd827ff0d941c426 (diff)
parent563ce3f225d981ce460c12ca5130dfe47af41df0 (diff)
downloadfirmware-47c91fc7f75ae0a477e55b687aa0fc30da0a283c.tar.gz
firmware-47c91fc7f75ae0a477e55b687aa0fc30da0a283c.tar.bz2
firmware-47c91fc7f75ae0a477e55b687aa0fc30da0a283c.zip
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Diffstat (limited to 'keyboards/thevankeyboards/roadkit/keymaps')
-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/keymaps/wavebeem-gamepad/keymap.c10
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/readme.md35
-rw-r--r--keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/rules.mk17
26 files changed, 1228 insertions, 0 deletions
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 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+// place overrides here
+
+#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 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+#define _NP 0
+
+// Macro name shortcuts
+#define NUMPAD M(_NP)
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_NP] = LAYOUT_numpad_4x4( /* Numpad */
+ KC_P7, KC_P8, KC_P9, KC_PPLS, \
+ KC_P4, KC_P5, KC_P6, \
+ KC_P1, KC_P2, KC_P3, KC_PENT, \
+ KC_P0, KC_PDOT \
+ ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+void persistent_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case _NP:
+ if (record->event.pressed) {
+ persistent_default_layer_set(1UL<<_NP);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
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..3ff147725
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/default/rules.mk
@@ -0,0 +1,21 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif \ 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 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+// place overrides here
+
+#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 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+#ifdef BACKLIGHT_ENABLE
+ #include "backlight.h"
+#endif
+
+#ifdef AUDIO_ENABLE
+ #include "audio.h"
+#endif
+
+void backlight_toggle(void){
+};
+
+enum roadkit_layers {
+ _NUMPAD,
+ _FPH,
+ _FPHNOISY,
+ _ADJUST,
+ _DYN
+};
+
+enum roadkit_keycodes {
+ NUMPAD = SAFE_RANGE,
+ FPH_1,
+ FPH_2,
+ FPH_3,
+ FPH_4,
+ FPH_5,
+ FPH_6,
+ FPH_7,
+ FPH_8,
+ FPH_9,
+ FN_0,
+ BACKLIT,
+ MACSLEEP,
+ DYNAMIC_MACRO_RANGE,
+};
+
+#include "dynamic_macro.h"
+
+// Fillers to make keymaps cleaner looking
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_NUMPAD] = LAYOUT_numpad_4x4( /* Numpad */
+ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, \
+ KC_KP_4, KC_KP_5, KC_KP_6, \
+ KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, \
+ LT(_ADJUST, KC_KP_0), KC_KP_DOT \
+ ),
+ [_FPH] = LAYOUT_numpad_4x4( /* Quiet T9 */
+ FPH_7, FPH_8, FPH_9, KC_KP_PLUS, \
+ FPH_4, FPH_5, FPH_6, \
+ FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER), \
+ LT(_ADJUST, KC_SPACE), KC_KP_DOT \
+ ),
+ [_FPHNOISY] = LAYOUT_numpad_4x4( /* Noisy T9 */
+ FPH_7, FPH_8, FPH_9, KC_KP_PLUS, \
+ FPH_4, FPH_5, FPH_6, \
+ FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER), \
+ LT(_ADJUST, KC_SPACE), KC_KP_DOT \
+ ),
+ [_ADJUST] = LAYOUT_numpad_4x4( /* Adjustments */
+ KC_NUMLOCK, TG(_FPHNOISY), TG(_FPH), TG(_NUMPAD), \
+ KC_BSPC, BACKLIT, KC_DEL, \
+ MACSLEEP, _______, _______, _______, \
+ _______, MO(_DYN) \
+ ),
+ [_DYN] = LAYOUT_numpad_4x4( /* DYNAMIC MACRO */
+ DYN_REC_START1, DYN_REC_START2, _______, DYN_REC_STOP, \
+ _______, _______, _______, \
+ DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, \
+ _______, _______ \
+ ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+void persistant_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+uint16_t fph_tap_qty = false;
+uint16_t fph_keycode = 0; // stores which spacebar was used, either raise or lower...
+
+uint16_t get_render_keycode(uint16_t keycode, uint16_t tap_qty){ // maybe replace shift with "mods"
+ tap_qty--; // reduce by one to match array indexes.
+ switch(keycode){
+ case FPH_2:
+ {uint16_t kc[] = {KC_A, KC_B, KC_C};
+ if(tap_qty % 6 > 2)
+ return LSFT(kc[tap_qty % 3]);
+ return kc[tap_qty % 3];}
+ break;
+ case FPH_3:
+ {uint16_t kc[] = {KC_D, KC_E, KC_F};
+ if(tap_qty % 6 > 2)
+ return LSFT(kc[tap_qty % 3]);
+ return kc[tap_qty % 3];}
+ break;
+ case FPH_4:
+ {uint16_t kc[] = {KC_G, KC_H, KC_I};
+ if(tap_qty % 6 > 2)
+ return LSFT(kc[tap_qty % 3]);
+ return kc[tap_qty % 3];}
+ break;
+ case FPH_5:
+ {uint16_t kc[] = {KC_J, KC_K, KC_L};
+ if(tap_qty % 6 > 2)
+ return LSFT(kc[tap_qty % 3]);
+ return kc[tap_qty % 3];}
+ break;
+ case FPH_6:
+ {uint16_t kc[] = {KC_M, KC_N, KC_O};
+ if(tap_qty % 6 > 2)
+ return LSFT(kc[tap_qty % 3]);
+ return kc[tap_qty % 3];}
+ break;
+ case FPH_7:
+ {uint16_t kc[] = {KC_P, KC_Q, KC_R, KC_S};
+ if(tap_qty % 8 > 2)
+ return LSFT(kc[tap_qty % 4]);
+ return kc[tap_qty % 4];}
+ break;
+ case FPH_8:
+ {uint16_t kc[] = {KC_T, KC_U, KC_V};
+ if(tap_qty % 8 > 2)
+ return LSFT(kc[tap_qty % 4]);
+ return kc[tap_qty % 4];}
+ break;
+ case FPH_9:
+ {uint16_t kc[] = {KC_W, KC_X, KC_Y, KC_Z};
+ if(tap_qty % 8 > 2)
+ return LSFT(kc[tap_qty % 4]);
+ return kc[tap_qty % 4];}
+ break;
+ case FPH_1:
+ {uint16_t kc[] = {KC_COMM, LSFT(KC_SLSH), KC_EXLM, KC_AT, KC_MINS, KC_UNDS, KC_PLUS, \
+ KC_SCLN, LSFT(KC_SCLN), KC_QUOT, LSFT(KC_QUOT), KC_TILD, \
+ KC_PIPE, KC_BSLS, KC_HASH, LSFT(KC_4), KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, \
+ KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, LSFT(KC_COMM), LSFT(KC_DOT)};
+ return kc[tap_qty % 26];}
+ }
+ return KC_NO;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_dynamic_macro(keycode, record)) {
+ return false;
+ }
+ uint8_t layer;
+ layer = biton32(layer_state);
+
+ switch (keycode) {
+ case FPH_1 ... FPH_9:
+ if(layer == _FPHNOISY){
+ if (record->event.pressed) {
+ if(fph_keycode != keycode) { // key change
+ fph_tap_qty = 0;
+ fph_keycode = keycode;
+ } else { // same key tapped again so erase and increment.
+ register_code(KC_BSPC);
+ unregister_code(KC_BSPC);
+ fph_tap_qty++;
+ }
+ uint16_t render_keycode = get_render_keycode(keycode, fph_tap_qty);
+ // find mods? Apply mods..
+ register_code(render_keycode);
+ unregister_code(render_keycode);
+ } else {
+ // do we need to do anything on key-release?
+ }
+ } else { // not noisy, be demure .
+ if (record->event.pressed) {
+ if(fph_keycode != keycode) { // key change, kill everything.
+ uint16_t render_keycode = get_render_keycode(fph_keycode, fph_tap_qty);
+ // find mods? Apply mods..
+ register_code(render_keycode);
+ unregister_code(render_keycode);
+ fph_keycode = keycode;
+ fph_tap_qty = 0;
+ } else { // same key tapped again so increment counter silently
+ fph_tap_qty++;
+ }
+ } else {
+ // do we need to do anything on key-release?
+ // maybe start a timer on this one?
+ }
+ }
+ return false;
+ break;
+ case BACKLIT:
+ if (record->event.pressed) {
+ #ifdef BACKLIGHT_ENABLE
+ backlight_step();
+ #endif
+ }
+ return false;
+ break;
+ case MACSLEEP:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ register_code(KC_RCTL);
+ register_code(KC_POWER);
+ unregister_code(KC_POWER);
+ unregister_code(KC_RCTL);
+ unregister_code(KC_RSFT);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
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 @@
+# Flip Phone layout for Roadkit
+
+BEWARE, THIS DOES NOT WORK YET.
+
+Uses the numpad with classic cellular phone style letters assigned to the numbers.
+
+# LAYERS
+
+* Numpad - The layer that matches the caps mostly
+* FPH - Base layer for text
+* FPHNOISY - Text layer that outputs every character and then backspaces as they're replaced
+* DYN - dynamic macro layer for recording and playing macros
+
+## FPH
+
+Poke the "2" key twice and it makes "B".
+
+## FPHNOISY
+
+Poke the "2" key twice and it makes "A"+backspace+"B" so you can see it cycle through.
+
+## MACROS
+
+May be able to record macros with the T9 layer because the "KC_*"s are only sent
+at the end. Trying to do a macro with T9NOISY would probably fill up the buffer
+in 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..3ff147725
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk
@@ -0,0 +1,21 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif \ 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 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+// place overrides here
+#define TAPPING_TERM 175
+
+#ifdef BACKLIGHT_ENABLE
+ #define BACKLIGHT_PIN B5
+ #define BACKLIGHT_LEVELS 3
+ #define BACKLIGHT_ON_STATE 0
+#endif
+
+#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 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+#define _NP 0
+#define _L1 1
+#define _L2 2
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+enum custom_keycodes {
+ NUMPAD = SAFE_RANGE,
+ ADMIN,
+ SMSPC1,
+ STR192,
+ STR255
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Numpad
+ * ,-----------------------.
+ * | 7 | 8 | 9 |Bksp |
+ * |-----`-----`-----`-----|
+ * | 4 | 5 | 6 | Tab |
+ * |-----`-----`-----`-----|
+ * | 1 | 2 | 3 |Enter|
+ * |-----`-----`-----`-----|
+ * | 0 |Space| . | / |
+ * `-----`-----`-----`-----'
+ * | L1 | L2 | | | Layer hold
+ */
+ [_NP] = LAYOUT_ortho_4x4( /* Numpad */
+ KC_P7, KC_P8, KC_P9, KC_BSPC, \
+ KC_P4, KC_P5, KC_P6, KC_TAB, \
+ KC_P1, KC_P2, KC_P3, KC_PENT, \
+ LT(1, KC_P0), LT(2, KC_SPC), KC_PDOT, KC_PSLS
+ ),
+
+ /* L1
+ * ,-----------------------.
+ * |Reset| | | Del |
+ * |-----`-----`-----`-----|
+ * | Left| Down| Up |Right|
+ * |-----`-----`-----`-----|
+ * | 192.| 255 | | |
+ * |-----`-----`-----`-----|
+ * |_____| LED | . | |
+ * `-----`-----`-----`-----'
+ */
+ [_L1] = LAYOUT_ortho_4x4( /* LAYER 1 */
+ RESET, XXXXXXX, XXXXXXX, KC_DEL, \
+ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
+ STR192, STR255, XXXXXXX, XXXXXXX, \
+ _______, BL_STEP, _______, XXXXXXX
+ ),
+
+ /* L2
+ * ,-----------------------.
+ * | | | str | str |
+ * |-----`-----`-----`-----|
+ * | | | | |
+ * |-----`-----`-----`-----|
+ * | | | | |
+ * |-----`-----`-----`-----|
+ * | |_____| | |
+ * `-----`-----`-----`-----'
+ */
+ [_L2] = LAYOUT_ortho_4x4( /* LAYER 2 */
+ XXXXXXX, XXXXXXX, ADMIN, SMSPC1, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ XXXXXXX, _______, XXXXXXX, XXXXXXX
+ )
+};
+
+void persistent_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case ADMIN:
+ if (record->event.pressed) {
+ SEND_STRING("Administrator");
+ }
+ return false;
+ break;
+ case SMSPC1:
+ if (record->event.pressed) {
+ SEND_STRING("Simspace1!");
+ }
+ return false;
+ break;
+ case STR192:
+ if (record->event.pressed) {
+ SEND_STRING("192.168.");
+ }
+ return false;
+ break;
+ case STR255:
+ if (record->event.pressed) {
+ SEND_STRING("255");
+ }
+ return false;
+ break;
+ }
+ return true;
+};
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/khord/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/khord/rules.mk
new file mode 100644
index 000000000..ba4b4fec0
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/khord/rules.mk
@@ -0,0 +1,22 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+TAP_DANCE_ENABLE = no # Enable Tap Dance functionality
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
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 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+// place overrides here
+
+#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 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+#ifdef BACKLIGHT_ENABLE
+ #include "backlight.h"
+#endif
+
+#ifdef AUDIO_ENABLE
+ #include "audio.h"
+#endif
+
+void backlight_toggle(void){
+};
+
+enum roadkit_layers {
+ _NUMPAD,
+ _NAVIGATION,
+ _EXCEL,
+ _ADJUST,
+ _DYN
+};
+
+enum minivan_keycodes {
+ NUMPAD = SAFE_RANGE,
+ NAVIGATION,
+ EXCEL,
+ NUMPAD_LOCK,
+ NAVIGATION_LOCK,
+ EXCEL_LOCK,
+ PARENS,
+ BRACKETS,
+ BRACES,
+ BACKLIT,
+ MACSLEEP,
+ DYNAMIC_MACRO_RANGE,
+};
+
+#include "dynamic_macro.h"
+
+// Fillers to make keymaps cleaner looking
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_NUMPAD] = LAYOUT_numpad_4x4( /* Numpad */
+ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, \
+ KC_KP_4, KC_KP_5, KC_KP_6, \
+ KC_KP_1, KC_KP_2, KC_KP_3, NAVIGATION, \
+ EXCEL, KC_KP_DOT
+ ),
+ [_EXCEL] = LAYOUT_numpad_4x4( /* Excel related */
+ KC_KP_SLASH, KC_KP_ASTERISK, KC_MINS, KC_TAB, \
+ KC_QUOT, KC_KP_EQUAL, PARENS, \
+ KC_DQT, BRACKETS, BRACES, _______, \
+ _______, MO(_DYN)
+ ),
+ [_NAVIGATION] = LAYOUT_numpad_4x4( /* Navigation */
+ KC_HOME, _______, KC_PGUP, KC_TAB, \
+ KC_END, KC_UP, KC_PGDN, \
+ KC_LEFT, KC_DOWN, KC_RIGHT, _______, \
+ _______, MO(_DYN)
+ ),
+ [_ADJUST] = LAYOUT_numpad_4x4( /* Adjustments */
+ KC_NUMLOCK, MACSLEEP, BACKLIT, _______, \
+ KC_BSPC, _______, KC_DEL, \
+ EXCEL_LOCK, NUMPAD_LOCK, NAVIGATION_LOCK, _______, \
+ _______, _______
+ ),
+ [_DYN] = LAYOUT_numpad_4x4( /* DYNAMIC MACRO */
+ DYN_REC_START1, DYN_REC_START2, _______, _______, \
+ _______, _______, _______, \
+ DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, \
+ _______, _______
+ ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+#ifdef AUDIO_ENABLE
+
+float tone_startup[][2] = SONG(STARTUP_SOUND);
+float tone_numpad[][2] = SONG(QWERTY_SOUND);
+float tone_excel[][2] = SONG(DVORAK_SOUND);
+float tone_navigation[][2] = SONG(COLEMAK_SOUND);
+float tone_plover[][2] = SONG(PLOVER_SOUND);
+float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
+float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
+
+float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
+#endif
+
+void persistant_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+bool fn_tap_used = false; // sets to false when space is pressed,
+ // sets to true when any other key is pressed,
+ //when space is lifted, if another key was prssed, don't send space.
+uint16_t fn_keycode = 0; // stores which spacebar was used, either raise or lower...
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_dynamic_macro(keycode, record)) {
+ return false;
+ }
+
+ switch (keycode) {
+ case NAVIGATION: // This key is enter if tapped, navigation if held
+ if (record->event.pressed) {
+ fn_keycode = NAVIGATION; // these two lines figure out if the next action is
+ fn_tap_used = false;
+ layer_on(_NAVIGATION);
+ update_tri_layer(_EXCEL, _NAVIGATION, _ADJUST);
+ } else {
+ layer_off(_NAVIGATION);
+ update_tri_layer(_EXCEL, _NAVIGATION, _ADJUST);
+ if(!fn_tap_used && fn_keycode == NAVIGATION ){
+ register_code(KC_KP_ENTER);
+ unregister_code(KC_KP_ENTER);
+ fn_keycode = 0;
+ fn_tap_used = false;
+ }
+ }
+ return false;
+ break;
+ case EXCEL:
+ if (record->event.pressed) {
+ fn_keycode = EXCEL;
+ fn_tap_used = false;
+ layer_on(_EXCEL);
+ update_tri_layer(_EXCEL, _NAVIGATION, _ADJUST);
+ } else {
+ layer_off(_EXCEL);
+ update_tri_layer(_EXCEL, _NAVIGATION, _ADJUST);
+ if(!fn_tap_used && fn_keycode == EXCEL ){
+ register_code(KC_KP_0);
+ unregister_code(KC_KP_0);
+ fn_keycode = 0;
+ fn_tap_used = false;
+ }
+ }
+ return false;
+ break;
+ default:
+ fn_tap_used = true;
+ break; // don't return because this just handles the spacebars.
+ }
+ // this is the normal keycode processing switch from Planck default layout.
+ switch (keycode) {
+ case NUMPAD_LOCK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_numpad, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_NUMPAD);
+ }
+ return false;
+ break;
+ case NAVIGATION_LOCK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_navigation, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_NAVIGATION);
+ }
+ return false;
+ break;
+ case EXCEL_LOCK:
+ if (record->event.pressed) {
+ #ifdef AUDIO_ENABLE
+ PLAY_NOTE_ARRAY(tone_excel, false, 0);
+ #endif
+ persistant_default_layer_set(1UL<<_EXCEL);
+ }
+ return false;
+ break;
+ case PARENS:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ register_code(KC_9);
+ unregister_code(KC_9);
+ register_code(KC_0);
+ unregister_code(KC_0);
+ register_code(KC_RSFT);
+ register_code(KC_LEFT);
+ unregister_code(KC_LEFT);
+ }
+ return false;
+ break;
+ case BRACKETS:
+ if (record->event.pressed) {
+ register_code(KC_LBRC);
+ unregister_code(KC_LBRC);
+ register_code(KC_RBRC);
+ unregister_code(KC_RBRC);
+ register_code(KC_LEFT);
+ unregister_code(KC_LEFT);
+ }
+ return false;
+ break;
+ case BRACES:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ register_code(KC_LBRC);
+ unregister_code(KC_LBRC);
+ register_code(KC_RBRC);
+ unregister_code(KC_RBRC);
+ unregister_code(KC_RSFT);
+ register_code(KC_LEFT);
+ unregister_code(KC_LEFT);
+ }
+ return false;
+ break;
+ case BACKLIT:
+ if (record->event.pressed) {
+ #ifdef BACKLIGHT_ENABLE
+ backlight_step();
+ #endif
+ }
+ return false;
+ break;
+ case MACSLEEP:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ register_code(KC_RCTL);
+ register_code(KC_POWER);
+ unregister_code(KC_POWER);
+ unregister_code(KC_RCTL);
+ unregister_code(KC_RSFT);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
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 @@
+# Mike's custom keymap for roadkit
+
+Based on the 13 key layout.
+
+## LAYERS
+
+* Numpad - The layer that matches the caps
+* Excel - / * - = and () [] {} macros
+* Navigation - arrow keys and home/end
+* ADJUST - just like planck adjust, lets you set default layer.
+* DYN - dynamic macro layer for recording and playing macros
+
+## MACROS
+
+Sadly, the dynamic macros are probably going worthless because they keys that
+they record have to be pressed on this keyboard. This keyboard doesn't have
+most letters...
+
+## LEADER KEYS
+
+This board would probably be better with the user of leader keys instead of
+complex 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..3ff147725
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/mjt/rules.mk
@@ -0,0 +1,21 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif \ 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 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+// place overrides here
+
+#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 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+#define _NP 0
+#define _L1 1
+
+// Macro name shortcuts
+#define NUMPAD M(_NP)
+#define LAYER1 M(_L1)
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_NP] = LAYOUT_ortho_4x4( /* Numpad */
+ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, \
+ KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_MINUS, \
+ KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, \
+ KC_KP_0, KC_KP_DOT, TG(_L1), KC_BSPC
+ ),
+ [_L1] = LAYOUT_ortho_4x4( /* LAYER 1 */
+ KC_NUMLOCK, _______, _______, KC_VOLU, \
+ _______, KC_UP, _______, KC_VOLD, \
+ KC_LEFT, KC_DOWN, KC_RIGHT, _______, \
+ _______, _______, _______, _______
+ )
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+void persistent_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ switch(id) {
+ case _L1:
+ if (record->event.pressed) {
+ persistent_default_layer_set(1UL<<_L1);
+ }
+ break;
+ case _NP:
+ if (record->event.pressed) {
+ persistent_default_layer_set(1UL<<_NP);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
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 @@
+# The singles keymap for roadkit
+
+This 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..3ff147725
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singles/rules.mk
@@ -0,0 +1,21 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif \ 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 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+// place overrides here
+#define TAPPING_TERM 175
+
+#ifdef BACKLIGHT_ENABLE
+ #define BACKLIGHT_PIN B5
+ #define BACKLIGHT_LEVELS 3
+ #define BACKLIGHT_ON_STATE 0
+#endif
+
+#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 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+
+#define _NP 0
+#define _L1 1
+#define _L2 2
+#define _L3 3
+
+// Macro name shortcuts
+#define NUMPAD M(_NP)
+#define LAYER1 M(_L1)
+#define LAYER2 M(_L2)
+#define LAYER3 M(_L3)
+
+// Fillers to make layering more clear
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+void matrix_init_user(void) {
+ backlight_level(4);
+}
+
+
+
+//Tap Dance Declarations
+
+enum {
+
+ TD_EQUAL_NP = 0,
+ TD_KP_PLUS_L1,
+ TD_DOT_L2,
+ TD_0_L3
+
+};
+
+//Tap Dance Definitions
+
+
+ //TD equal to turn on layer NP
+void _td_equal_tg_finished (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ register_code(KC_EQUAL);
+ } else if (state->count == 2) {
+ backlight_set(3);
+ layer_on(_NP);
+ layer_off(_L1);
+ layer_off(_L2);
+ layer_off(_L3);
+ }
+}
+
+void _td_equal_tg_reset (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ unregister_code(KC_EQUAL);
+ }
+}
+
+
+ //TD kp plus to toggle layer 1
+void _td_kp_plus_tg_finished (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ register_code(KC_KP_PLUS);
+ } else if (state->count == 2) {
+// layer_invert(_L1);
+ backlight_set(2);
+ layer_on(_L1);
+ layer_off(_L2);
+ layer_off(_L3);
+ }
+}
+
+void _td_kp_plus_tg_reset (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ unregister_code(KC_KP_PLUS);
+ }
+}
+
+
+ //TD dot to toggle layer 2
+void _td_dot_tg_finished (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ register_code(KC_DOT);
+ } else if (state->count == 2) {
+ backlight_set(1);
+ layer_on(_L2);
+ layer_off(_L1);
+ layer_off(_L3);
+ }
+}
+
+void _td_dot_tg_reset (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ unregister_code(KC_DOT);
+ }
+}
+
+ //TD 0 to toggle layer 3
+void _td_0_tg_finished (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ register_code(KC_0);
+ } else if (state->count == 2) {
+ backlight_set(0);
+ layer_on(_L3);
+ layer_off(_L1);
+ layer_off(_L2);
+ }
+}
+
+void _td_0_tg_reset (qk_tap_dance_state_t *state, void *user_data) {
+ if (state->count == 1) {
+ unregister_code(KC_0);
+ }
+}
+
+//TD Actions
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_EQUAL_NP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, _td_equal_tg_finished, _td_equal_tg_reset),
+ [TD_KP_PLUS_L1] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, _td_kp_plus_tg_finished, _td_kp_plus_tg_reset),
+ [TD_DOT_L2] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, _td_dot_tg_finished, _td_dot_tg_reset),
+ [TD_0_L3] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, _td_0_tg_finished, _td_0_tg_reset)
+};
+
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Numberpad
+ * ,-----------------------.
+ * | 7 | 8 | 9 | / |
+ * |-----`-----`-----`-----|
+ * | 4 | 5 | 6 | * |
+ * |-----`-----`-----`-----|
+ * | 1 | 2 | 3 | - |
+ * |-----`-----`-----`-----|
+ * | 0 | . | + | = |
+ * `-----`-----`-----`-----'
+ * Tapdances:
+ * | L3 | L2 | L1 | NP |
+ * `-----`-----`-----`-----'
+ */
+ [_NP] = LAYOUT_ortho_4x4( /* Numpad */
+ KC_7, KC_8, KC_9, KC_SLASH, \
+ KC_4, KC_5, KC_6, KC_KP_ASTERISK, \
+ KC_1, KC_2, KC_3, KC_MINUS, \
+ TD(TD_0_L3), TD(TD_DOT_L2), TD(TD_KP_PLUS_L1), TD(TD_EQUAL_NP)
+ ),
+
+ /* L1
+ * ,-----------------------.
+ * | Esc |Bksp |Home |PgUp |
+ * |-----`-----`-----`-----|
+ * | Tab | Up | End |PgDn |
+ * |-----`-----`-----`-----|
+ * |Left |Down |Right|Enter|
+ * |-----`-----`-----`-----|
+ * | 0 | . | + | = |
+ * `-----`-----`-----`-----'
+ */
+ [_L1] = LAYOUT_ortho_4x4( /* LAYER 1 */
+ KC_ESCAPE, KC_BSPACE, KC_HOME, KC_PGUP, \
+ KC_TAB, KC_UP, KC_END, KC_PGDOWN, \
+ KC_LEFT, KC_DOWN, KC_RIGHT, KC_KP_ENTER, \
+ _______, _______, _______, _______
+ ),
+
+ /* L2
+ * ,-----------------------.
+ * |Sleep|LClik|RClik|VolUp|
+ * |-----`-----`-----`-----|
+ * |AltF4| F11 |WinTb|VolDn|
+ * |-----`-----`-----`-----|
+ * |PrvTk|Play |NxtTk|Mute |
+ * |-----`-----`-----`-----|
+ * | 0 | . | + | = |
+ * `-----`-----`-----`-----'
+ */
+ [_L2] = LAYOUT_ortho_4x4( /* LAYER 2 */
+ KC_SYSTEM_SLEEP, KC_MS_BTN1, KC_MS_BTN2, KC_AUDIO_VOL_UP, \
+ LALT(KC_F4), KC_F11, LGUI(KC_TAB), KC_AUDIO_VOL_DOWN, \
+ KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, \
+ _______, _______, _______, _______
+ ),
+
+ /* L3 needs cut, copy, paste, undo, again (redo), find, calc, www back, www forward, F5
+ * ,-----------------------.
+ * |WBack|WHome|WFor | F5 |
+ * |-----`-----`-----`-----|
+ * |Calc |Undo |Redo |WSrch|
+ * |-----`-----`-----`-----|
+ * | Cut |Copy |Paste|Find |
+ * |-----`-----`-----`-----|
+ * | 0 | . | + | = |
+ * `-----`-----`-----`-----'
+ */
+ [_L3] = LAYOUT_ortho_4x4( /* LAYER 3 */
+ KC_SYSTEM_SLEEP, KC_MS_BTN1, KC_MS_BTN2, KC_AUDIO_VOL_UP, \
+ LALT(KC_F4), KC_F11, LGUI(KC_TAB), KC_AUDIO_VOL_DOWN, \
+ KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_AUDIO_MUTE, \
+ _______, _______, _______, _______
+ ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+
+};
+
+void persistent_default_layer_set(uint16_t default_layer) {
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
+}
+
+const macro_t * action_get_macro(keyrecord_t * record, uint8_t id, uint8_t opt) {
+ switch (id) {
+ case _L3:
+ if (record->event.pressed) {
+ persistent_default_layer_set(1UL<<_L3);
+ }
+ break;
+ case _L2:
+ if (record->event.pressed) {
+ persistent_default_layer_set(1UL<<_L2);
+ }
+ break;
+ case _L1:
+ if (record->event.pressed) {
+ persistent_default_layer_set(1UL<<_L1);
+ }
+ break;
+ case _NP:
+ if (record->event.pressed) {
+ persistent_default_layer_set(1UL<<_NP);
+ }
+ break;
+ }
+ return MACRO_NONE;
+};
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 @@
+# The singles keymap for roadkit
+
+This 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..030d27f2a
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/singlesBrent/rules.mk
@@ -0,0 +1,22 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+TAP_DANCE_ENABLE = yes # Enable Tap Dance functionality
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/keymap.c
new file mode 100644
index 000000000..dfdded8e7
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/keymap.c
@@ -0,0 +1,10 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_4x4(
+ KC_TAB, KC_Q, KC_W, KC_E,
+ KC_ESC, KC_A, KC_S, KC_D,
+ KC_LSFT, KC_Z, KC_X, KC_C,
+ KC_F, KC_LALT, KC_LCTL, KC_SPC
+ ),
+};
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/readme.md b/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/readme.md
new file mode 100644
index 000000000..7eeb07ede
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/readme.md
@@ -0,0 +1,35 @@
+![Keymap Diagram](https://i.imgur.com/hRjbhEn.png)
+
+# Gamepad Layout by @wavebeem
+
+The concept behind this layout is the left side of a computer keyboard,
+optimized with essential keys for playing FPS games. It was designed for TheVan
+RoadKit, but it should work for any 4x4 ortholinear keyboard.
+
+I play with my pinky on `Shift`, thumb on `Space`, and the rest of my fingers on
+`W A S D`. I use my thumb for `Control`, `X`, and sometimes `C`. I usually use
+`Z` with my ring finger. It also helps to angle my fingers more perpendicular to
+the board in order to allow my thumb to more easily access the `Z X C` row.
+
+The number keys `1 2 3` are missing for weapon switching, but you can usually
+switch with the mouse wheel or rebind those to `Z X C` or something else.
+
+The key `R` for reloading is missing, but I prefer to use my extra mouse buttons
+for that.
+
+I don't really use `Alt` for games, but I kept it around for `Alt-Tab` in
+Windows.
+
+# Keymap Text Diagram
+
+```
++-------+-------+-------+-------+
+| Tab | Q | W | E |
++-------+-------+-------+-------+
+| Esc | A | S | D |
++-------+-------+-------+-------+
+| Shift | Z | X | C |
++-------+-------+-------+-------+
+| F | Alt | Ctrl | Space |
++-------+-------+-------+-------+
+```
diff --git a/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/rules.mk
new file mode 100644
index 000000000..d8284e6bd
--- /dev/null
+++ b/keyboards/thevankeyboards/roadkit/keymaps/wavebeem-gamepad/rules.mk
@@ -0,0 +1,17 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend