summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keyboards/jd40/keymaps/vanagon/Makefile3
-rw-r--r--keyboards/jd40/keymaps/vanagon/README.md17
-rw-r--r--keyboards/jd40/keymaps/vanagon/config.h13
-rw-r--r--keyboards/jd40/keymaps/vanagon/keymap.c29
4 files changed, 62 insertions, 0 deletions
diff --git a/keyboards/jd40/keymaps/vanagon/Makefile b/keyboards/jd40/keymaps/vanagon/Makefile
new file mode 100644
index 000000000..63aac4e59
--- /dev/null
+++ b/keyboards/jd40/keymaps/vanagon/Makefile
@@ -0,0 +1,3 @@
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/keyboards/jd40/keymaps/vanagon/README.md b/keyboards/jd40/keymaps/vanagon/README.md
new file mode 100644
index 000000000..2a8ed0cc4
--- /dev/null
+++ b/keyboards/jd40/keymaps/vanagon/README.md
@@ -0,0 +1,17 @@
+Vanagon
+===
+Port of (evangs)[https://thevankeyboards.com] (MiniVan layout)[https://www.massdrop.com/talk/115/where-did-all-my-keys-go-a-look-into-the-function-layers-of-the-mini-van] to the JD40. Includes colon/semicolon support, which is missing from the MiniVan layout.
+
+This layout uses a 44 key configuration similar to the following:
+
+```
+,------+------+------+------+------+------+------+------+------+------+------+------.
+| | | | | | | | | | | | |
+|------`------`------`------`------`------`------`------`------`------`------`------|
+| | | | | | | | | | | |
+|-------`------`------`------`------`------`------`------`------`------`------------|
+| | | | | | | | | | | |
+|---------`------`------`------`------`------'-------`------`------`------`---------|
+| | | | | | | | | | |
+`------+------+------+-------+----^^^-----+----^^^-----+-------+------+------+------'
+```
diff --git a/keyboards/jd40/keymaps/vanagon/config.h b/keyboards/jd40/keymaps/vanagon/config.h
new file mode 100644
index 000000000..65d2fe6f9
--- /dev/null
+++ b/keyboards/jd40/keymaps/vanagon/config.h
@@ -0,0 +1,13 @@
+#include "../../config.h"
+
+#define KEYMAP_VANAGON(\
+ K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, \
+ K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
+ K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, \
+ K35, K36, K37, K38, K39, K40, K41, K42, K43, K44 \
+) { \
+ { K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12 }, \
+ { K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23 }, \
+ { K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34 }, \
+ { K35, K36, K37, K38, K39, KC_NO, K40, K41, K42, K43, K44 } \
+}
diff --git a/keyboards/jd40/keymaps/vanagon/keymap.c b/keyboards/jd40/keymaps/vanagon/keymap.c
new file mode 100644
index 000000000..34314614c
--- /dev/null
+++ b/keyboards/jd40/keymaps/vanagon/keymap.c
@@ -0,0 +1,29 @@
+#include "jd40.h"
+#include "action_layer.h"
+
+enum {
+ _BL = 0,
+ _AL1,
+ _AL2,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BL] = KEYMAP_VANAGON(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ MO(_AL1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MO(_AL1),
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ MO(_AL2), KC_LCTL, KC_LALT, KC_LGUI, KC_ENT, KC_SPC, KC_RGUI, KC_RALT, KC_RSPC, MO(_AL2)
+ ),
+ [_AL1] = KEYMAP_VANAGON(
+ KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_TRNS,
+ KC_TRNS, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_COLN, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS,
+ KC_TRNS, KC_ESC, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [_AL2] = KEYMAP_VANAGON(
+ KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
+ KC_TRNS, KC_PIPE, KC_DQT, KC_UNDS, KC_PLUS, KC_SCLN, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_1, KC_2, KC_3, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};