From b6730285b4a8316765dad59fe3e9a383589694ab Mon Sep 17 00:00:00 2001 From: Stephen Tudor Date: Thu, 9 Feb 2017 15:37:23 -0500 Subject: [PATCH] Add smt keymap for tv44 (MiniVan) --- keyboards/tv44/keymaps/smt/Makefile | 21 ++ keyboards/tv44/keymaps/smt/config.h | 36 +++ .../keymaps/smt/keyboard-layout-minivan.png | Bin 0 -> 66567 bytes keyboards/tv44/keymaps/smt/keymap.c | 232 ++++++++++++++++++ keyboards/tv44/keymaps/smt/readme.md | 126 ++++++++++ 5 files changed, 415 insertions(+) create mode 100644 keyboards/tv44/keymaps/smt/Makefile create mode 100644 keyboards/tv44/keymaps/smt/config.h create mode 100644 keyboards/tv44/keymaps/smt/keyboard-layout-minivan.png create mode 100644 keyboards/tv44/keymaps/smt/keymap.c create mode 100644 keyboards/tv44/keymaps/smt/readme.md diff --git a/keyboards/tv44/keymaps/smt/Makefile b/keyboards/tv44/keymaps/smt/Makefile new file mode 100644 index 0000000000..f4671a9d11 --- /dev/null +++ b/keyboards/tv44/keymaps/smt/Makefile @@ -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. Do not enable this with audio at the same time. +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/tv44/keymaps/smt/config.h b/keyboards/tv44/keymaps/smt/config.h new file mode 100644 index 0000000000..f8f0a5078c --- /dev/null +++ b/keyboards/tv44/keymaps/smt/config.h @@ -0,0 +1,36 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +/** + *TV44 keymap definition macro + */ +#define KEYMAP_TV44( \ + 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, K40, KC_NO, KC_NO, KC_NO, K41, K42, K43, KC_NO, K44 } \ +} + +/** + *TV45 keymap definition macro (arrows layout) + */ +#define KEYMAP_TV45( \ + 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, K45 \ +) { \ + { 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, KC_NO, KC_NO, KC_NO, K41, K42, K43, K44, K45 } \ +} + +#endif diff --git a/keyboards/tv44/keymaps/smt/keyboard-layout-minivan.png b/keyboards/tv44/keymaps/smt/keyboard-layout-minivan.png new file mode 100644 index 0000000000000000000000000000000000000000..2dca67fb6cdc71ae11d74f53639c91defb0420d0 GIT binary patch literal 66567 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%0Ad;|KXQ*enLS1yNDeLW>!Id z`}@tkt!1t(teriv`^uqBYk%@;KRa{y4r}qB9S@Igdv%;wKdf)+x}SxI-M@Z)p7vmR zJd4WF$jFWv#_ZqKk34KHEWd546_Pze=*r)<4>HU6U`1PWGxN~pyZdt1$)*b0@FMN6Z?e^lAyWV`yjbVJ} zUG($$^ySZ||NZ7}`&G8q(ro{q9S<|DOMK$jmY>}`cgYMH#fgbl9uC)~t`|;issFIj za`l-Feff75XU}+Pm9^{E_MOi-G|hT+*mNA!|(HB;{xvkv(jpEULO4H@dd%_-g*4{K;Un9sb zJ2SrS&WAm+R*UreCnf1cFS^>4^-D;SkB`r7gUh9?aJ}vGymOD5U%%?O{IcWHu)_;3 zD{E+Q96abKV7ksd=00n+r=eitR=30N)fVYa^_o#q{NkE#?}4br*BlmyZ9eCzH)*}0 zVcC(Ll|g#dPYaK6Rre9Ko_O9-{CUZ~StnAH>nxqRYCZMr z^CbMQR&zZ+Tk+yJ?}et%(0+(;g!Wb?8y%iU$G+Cwbvak_F#Qz|o5obHkkGKkywj6UE(z=0XuD*F=Qgji zEEYyuLPg^Fk|mjcUWvPfhK2@ciE!|7HMuBdI`q6P&5KidFPmR9*UR0CP{z$DXLtpb7m$eCJ>T=s#lkFa67yT?e+%K*7Q_Xt+ zo8!IH%4gJwncwm3@)b-{N)rs6$g#Ohuw^dWPygy3o;7>c@JLOSQdCs*4bse+m=x8i z6{^M3b)=)S*EL|m4ehoGdE#rd)VwacESA~bW7_tUuAc-d*J$WBhbUz#^cNR( zzWN$kAKBZ!FUx=aO!Z%KL;UHcc9H7YF}bC6TP=6K zcq6=AhKYmc$!nn-^;=o*DD3oDaKJ&rrzrB{>0CLGQ#m_CxKvXVi(HN$sW`E>`r!FX zjOJ6h+Ft#N{`W&}5(CSL6pjgAfy>QJe9{*Ibt!W3Jn7h&n%yaKIjKeI zb5^g|$4<_$&RGJBgO*=hux=AqX~}Md?F=j)O@bcX@>V{c=6shby;ia?itT1j5f|xP zvuce?MZ}JoA8r@r-BSpcjeYKWJ(j&oz`=@><3Wtwq~)6yEo!v+HtEr|NvmD|Ug&L{ z;+C9MWqVuWwYSijU!THuO5Md^k;`nmf}z;foMX2FDwJ96^sZWiUORh=#naro8eqB{j4ez!PN?qswy&pXEJ{xsvy z9{&ezwoaEUSFFluz6>$N!aU{noa<`y#ob{Edr4g@mx1lI$ZnTLB3+?kZD==ZYCVHel#eSv+2o`r%(lui|!3Drd}xiPt@ zQ%ER6eb*bAE1_XVf`Y2$Ejwzf)e^2f*?4{D)~=XsUnWmxF7)DJI+DazS6gNEy4#~J z!N;gek((E;;+l1L_rlXBOl~ba*l=Ki089U#7RLR43lnayzWg#lL(A;{ zURCQYPw&{QTE9SHTH_NF>EF{B7!(*hT^vJ9MZ^~PtxR&)eK+sWuU#6`XNg}a*>Kfl ze~#t$u!-IYUp_|NDG2c6n`yb^73Lr3-F@WB>xGs@B3I>W zdluByD(-%*$MW^v(fF-u^W6&$>p4m_FKgs1JX^k5;{DU_|7X{33)GW8#(U_;r=oQm zRJ;1~6-v5yJk$&FS?#KHL}aU{$CtlRo6p^t_tJWcRⅇuCv>6C&bk2F1ReMyy_$8 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 literal 0 HcmV?d00001 diff --git a/keyboards/tv44/keymaps/smt/keymap.c b/keyboards/tv44/keymaps/smt/keymap.c new file mode 100644 index 0000000000..de5ce03e25 --- /dev/null +++ b/keyboards/tv44/keymaps/smt/keymap.c @@ -0,0 +1,232 @@ +#include "tv44.h" +#include "action_layer.h" +#include "eeconfig.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 _QWERTY 0 +#define _COLEMAK 1 +#define _DVORAK 2 +#define _LOWER 3 +#define _RAISE 4 +#define _ADJUST 16 + +// Keycodes +enum planck_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + LOWER, + RAISE, + BACKLIT +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +// Custom macros +#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl +#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift +#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper +#define ALT_GRV ALT_T(KC_GRV) // Tap for Backtick, hold for Alt + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * + * ,---------+------+------+------+------+------+------+------+------+------+------+---------. + * |Hyper/Tab| Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |---------`------`------`------`------`------`------`------`------`------`------`---------| + * | Ctrl/Esc | A | S | D | F | G | H | J | K | L | ; | ' | + * |----------`------`------`------`------`------`------`------`------`------`------`--------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Sft/Ent| + * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------| + * | Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl | + * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' + */ +[_QWERTY] = KEYMAP_TV45( +/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/ + HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC , +/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/ + CTL_ESC , KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT , +/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/ + KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT , +/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/ + ALT_GRV , KC_LGUI , LOWER , KC_SPC , KC_SPC , RAISE , KC_RGUI, KC_RALT, KC_RCTL ), +/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/ + +/* Colemak + * ,---------+------+------+------+------+------+------+------+------+------+------+---------. + * |Hyper/Tab| Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |---------`------`------`------`------`------`------`------`------`------`------`---------| + * | Ctrl/Esc | A | R | S | T | D | H | N | E | I | O | ' | + * |----------`------`------`------`------`------`------`------`------`------`------`--------| + * | Shift | Z | X | C | V | B | K | M | , | . | / |Sft/Ent| + * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------| + * | Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl | + * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' + */ +[_COLEMAK] = KEYMAP_TV45( +/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/ + HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC , +/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/ + CTL_ESC , KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT , +/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/ + KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT , +/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/ + ALT_GRV , KC_LGUI , LOWER , KC_SPC , KC_SPC , RAISE , KC_RGUI, KC_RALT, KC_RCTL ), +/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/ + +/* Dvorak + * ,---------+------+------+------+------+------+------+------+------+------+------+---------. + * |Hyper/Tab| ' | , | . | P | Y | F | G | C | R | L | Bksp | + * |---------`------`------`------`------`------`------`------`------`------`------`---------| + * | Ctrl/Esc | A | O | E | U | I | D | H | T | N | S | - | + * |----------`------`------`------`------`------`------`------`------`------`------`--------| + * | Shift | ; | Q | J | K | X | B | M | W | V | Z |Sft/Ent| + * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------| + * | Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl | + * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' + */ +[_DVORAK] = KEYMAP_TV45( +/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/ + HPR_TAB,KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC , +/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/ + CTL_ESC , KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS , +/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/ + KC_LSFT , KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT , +/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/ + ALT_GRV , KC_LGUI , LOWER , KC_SPC , KC_SPC , RAISE , KC_RGUI, KC_RALT, KC_RCTL ), +/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/ + +/* Lower + * ,---------+------+------+------+------+------+------+------+------+------+------+---------. + * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | + * |---------`------`------`------`------`------`------`------`------`------`------`---------| + * | $ | 4 | 5 | 6 | . | + | * | 4 | 5 | 6 | . | PageUp | + * |----------`------`------`------`------`------`------`------`------`------`------`--------| + * | = | 7 | 8 | 9 | 0 | - | / | 1 | 2 | 3 | Up |PageDn | + * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------| + * | Brite | | | Home | End | | Left | Down | Right | + * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' + */ +[_LOWER] = KEYMAP_TV45( +/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/ + KC_0 , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL , +/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/ + KC_DLR , KC_4, KC_5, KC_6, KC_DOT, KC_PLUS, KC_ASTR, KC_4, KC_5, KC_6, KC_DOT, KC_PGUP , +/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/ + KC_EQL , KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_SLSH, KC_1, KC_2, KC_3, KC_UP, KC_PGDN , +/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/ + BACKLIT , _______ , _______ , KC_HOME , KC_END , _______ , KC_LEFT, KC_DOWN, KC_RGHT ), +/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/ + +/* Raise + * ,---------+------+------+------+------+------+------+------+------+------+------+---------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |---------`------`------`------`------`------`------`------`------`------`------`---------| + * | F1 | F2 | F3 | F4 | F5 | F6 | _ | ? | + | { | } | | + * |----------`------`------`------`------`------`------`------`------`------`------`--------| + * | F7 | F8 | F9 | F10 | F11 | F12 | - | / | = | [ | ] | | + * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------| + * | Brite | | | Play | Next | | Mute | Vol- | Vol+ | + * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' + */ +[_RAISE] = KEYMAP_TV45( +/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/ + KC_TILD,KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL , +/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_QUES, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE , +/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/ + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MINS, KC_SLSH, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS , +/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/ + BACKLIT , _______ , _______ , KC_MPLY , KC_MNXT , _______ , KC_MUTE, KC_VOLD, KC_VOLU ), +/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/ + +/* Adjust (Lower + Raise) + * ,---------+------+------+------+------+------+------+------+------+------+------+---------. + * | | Reset| | | | | | | | | | Del | + * |---------`------`------`------`------`------`------`------`------`------`------`---------| + * | | | | | |AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | + * |----------`------`------`------`------`------`------`------`------`------`------`--------| + * | | | | | | | | | | | | | + * |-----------`------`------`------`------`-----'-------`------`------`------`------`-------| + * | | | | | | | | | | + * `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' + */ +[_ADJUST] = KEYMAP_TV45( +/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------.*/ + _______, RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , +/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`-----------------|*/ + _______ ,_______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______ , +/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/ + _______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , +/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/ + _______ , _______ , _______ , _______ , _______ , _______ , _______, _______, _______ ), +/*`---------+---------------+---------+-------^^^------+-------^^^-------+----------+--------+--------+--------------'*/ +}; + +void persistant_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 QWERTY: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DVORAK); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + return false; + break; + } + return true; +} diff --git a/keyboards/tv44/keymaps/smt/readme.md b/keyboards/tv44/keymaps/smt/readme.md new file mode 100644 index 0000000000..647eb8976b --- /dev/null +++ b/keyboards/tv44/keymaps/smt/readme.md @@ -0,0 +1,126 @@ +# smt's TV44 keymap + +This 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. + +I 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. + +Also, it's worth noting that my Minivan is one with the "arrows" layout, which has a 45th key, so I had to define a new KEYMAP_TV45 macro in config.h. In spite of this, the 45-key Minivan is still technically considered a "TV44" as far as I know. + +![smt's TV44 keymap](keyboard-layout-minivan.png) + +## Notable features (most of which can be found in my or jeebak's respective keymap file): + +1. **Shift/Enter** + + 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. + + 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! + +2. **Hyper/Tab** + + 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. + +3. **Ctrl/Escape** + + I set up another mod-tap, this time for the Escape key that would act as a Control modifier when held. + +4. **Alt/Backtick** + + 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%. + + 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. + + I also like Alt in that position, so it works well as yet another mod-tap key. + + +## Layers + +### Qwerty + +``` +,---------+------+------+------+------+------+------+------+------+------+------+---------. +|Hyper/Tab| Q | W | E | R | T | Y | U | I | O | P | Bksp | +|---------`------`------`------`------`------`------`------`------`------`------`---------| +| Ctrl/Esc | A | S | D | F | G | H | J | K | L | ; | ' | +|----------`------`------`------`------`------`------`------`------`------`------`--------| +| Shift | Z | X | C | V | B | N | M | , | . | / |Sft/Ent| +|-----------`------`------`------`------`-----'-------`------`------`------`------`-------| +| Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl | + `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' +``` + +### Colemak + +``` +,---------+------+------+------+------+------+------+------+------+------+------+---------. +|Hyper/Tab| Q | W | F | P | G | J | L | U | Y | ; | Bksp | +|---------`------`------`------`------`------`------`------`------`------`------`---------| +| Ctrl/Esc | A | R | S | T | D | H | N | E | I | O | ' | +|----------`------`------`------`------`------`------`------`------`------`------`--------| +| Shift | Z | X | C | V | B | K | M | , | . | / |Sft/Ent| +|-----------`------`------`------`------`-----'-------`------`------`------`------`-------| +| Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl | + `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' +``` + +### Dvorak + +``` +,---------+------+------+------+------+------+------+------+------+------+------+---------. +|Hyper/Tab| ' | , | . | P | Y | F | G | C | R | L | Bksp | +|---------`------`------`------`------`------`------`------`------`------`------`---------| +| Ctrl/Esc | A | O | E | U | I | D | H | T | N | S | - | +|----------`------`------`------`------`------`------`------`------`------`------`--------| +| Shift | ; | Q | J | K | X | B | M | W | V | Z |Sft/Ent| +|-----------`------`------`------`------`-----'-------`------`------`------`------`-------| +| Alt/` | GUI | Lower | Space | Space | Raise | GUI | Alt | Ctrl | + `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' +``` + +### Lower + +This 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. + +``` +,---------+------+------+------+------+------+------+------+------+------+------+---------. +| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | +|---------`------`------`------`------`------`------`------`------`------`------`---------| +| $ | 4 | 5 | 6 | . | + | * | 4 | 5 | 6 | . | PageUp | +|----------`------`------`------`------`------`------`------`------`------`------`--------| +| = | 7 | 8 | 9 | 0 | - | / | 1 | 2 | 3 | Up |PageDn | +|-----------`------`------`------`------`-----'-------`------`------`------`------`-------| +| Brite | | | Home | End | | Left | Down | Right | + `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' +``` + +### Raise + +As 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. + +``` +,---------+------+------+------+------+------+------+------+------+------+------+---------. +| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | +|---------`------`------`------`------`------`------`------`------`------`------`---------| +| F1 | F2 | F3 | F4 | F5 | F6 | _ | ? | + | { | } | | | +|----------`------`------`------`------`------`------`------`------`------`------`--------| +| F7 | F8 | F9 | F10 | F11 | F12 | - | / | = | [ | ] | \ | +|-----------`------`------`------`------`-----'-------`------`------`------`------`-------| +| Brite | | | Play | Next | | Mute | Vol- | Vol+ | + `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' +``` + +### Adjust (Lower + Raise) + +Utility 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. + +``` +,---------+------+------+------+------+------+------+------+------+------+------+---------. +| | Reset| | | | | | | | | | Del | +|---------`------`------`------`------`------`------`------`------`------`------`---------| +| | | | | |AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | +|----------`------`------`------`------`------`------`------`------`------`------`--------| +| | | | | | | | | | | | | +|-----------`------`------`------`------`-----'-------`------`------`------`------`-------| +| | | | | | | | | | + `-------+---------+--------+-----^^^------+-----^^^------+---------+------+------+-------' +```