summaryrefslogtreecommitdiff
path: root/totem/keymaps/default/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'totem/keymaps/default/keymap.c')
-rw-r--r--totem/keymaps/default/keymap.c310
1 files changed, 41 insertions, 269 deletions
diff --git a/totem/keymaps/default/keymap.c b/totem/keymaps/default/keymap.c
index 2fcaa58..3740576 100644
--- a/totem/keymaps/default/keymap.c
+++ b/totem/keymaps/default/keymap.c
@@ -1,4 +1,4 @@
-/*
+/*
▀▀▀▀▀ ▀▀▀▀▀ ▀▀█▀▀
▄▀▀▀▄ ▄ ▄▀▀▀▄ ▄ ▄▀▀▀▄ █ ▄▀▀▀▄
█ █ █ █ █ █ █ █ █ █ █
@@ -12,7 +12,7 @@
*/
#include QMK_KEYBOARD_H
-#include <stdio.h>
+
#include "totem.h"
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
@@ -25,69 +25,13 @@
// └─────────────────────────────────────────────────┘
enum totem_layers {
- _QWERTY,
- _COLEMAK,
- _LOWER,
- _RAISE,
- _ADJUST,
+ _QWERTY,
+ _SYM,
+ _NUM,
+ _FN,
+ _NAV
};
-// ┌─────────────────────────────────────────────────┐
-// │ d e f i n e k e y c o d e s │
-// └─────────────────────────────────────────────────┘
-
-enum custom_keycodes {
- COLEMAK = SAFE_RANGE,
- QWERTY,
- LOWER,
- RAISE,
- ADJUST,
- OS_SWAP,
- MAKE_H,
- SNAP
-};
-
-// ┌─────────────────────────────────────────────────┐
-// │ d e f i n e m a c r o n a m e s │
-// └─────────────────────────────────────────────────┘
-
-// LEFT HAND HOME ROW MODS QWERTY ├──────────────────┐
-
-#define GUI_A MT(MOD_LGUI, KC_A)
-#define ALT_S MT(MOD_LALT, KC_S)
-#define CTL_D MT(MOD_LCTL, KC_D)
-#define SHT_F MT(MOD_LSFT, KC_F)
-
-// RIGHT HAND HOME ROW MODS QWERTY ├─────────────────┐
-
-#define SHT_J MT(MOD_RSFT, KC_J)
-#define CTL_K MT(MOD_LCTL, KC_K)
-#define ALT_L MT(MOD_LALT, KC_L)
-#define GUI_S MT(MOD_LGUI, KC_SCLN)
-
-
-// LEFT HAND HOME ROW MODS COLEMAK ├─────────────────┐
-
-#define GUI_A MT(MOD_LGUI, KC_A)
-#define ALT_R MT(MOD_LALT, KC_R)
-#define CTL_S MT(MOD_LCTL, KC_S)
-#define SHT_T MT(MOD_LSFT, KC_T)
-
-// RIGHT HAND HOME ROW MODS COLEMAK ├────────────────┐
-
-#define SHT_N MT(MOD_RSFT, KC_N)
-#define CTL_E MT(MOD_LCTL, KC_E)
-#define ALT_I MT(MOD_LALT, KC_I)
-#define GUI_O MT(MOD_LGUI, KC_O)
-
-
-
-
-#define LOWER LT(_LOWER, KC_TAB)
-#define RAISE LT(_RAISE, KC_ESC)
-#define ADJUST MO(_ADJUST)
-
-
// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
// │ K E Y M A P S │
// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
@@ -95,215 +39,43 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- ┌─────────────────────────────────────────────────┐
- │ q w e r t y │ ╭╮╭╮╭╮╭╮
- └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
- ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
- ╌┄┈┈───═╡ Q │ W │ E │ R │ T ││ Y │ U │ I │ O │ P │
- ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
- │ A │ S │ D │ F │ G ││ H │ J │ K │ L │ ; │
- ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
- │ Q │ Z │ X │ C │ V │ B ││ N │ M │ , │ . │ / │ P │
- └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
- │ CTRL │ LOWER │ SPACE ││ ENTER │ RAISE │ BSPC │
- └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘*/
-
- [_QWERTY] = LAYOUT(
- //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- GUI_A, ALT_S, CTL_D, SHT_F, KC_G, KC_H, SHT_J, CTL_K, ALT_L, GUI_S,
- KC_Q, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_P,
- KC_DEL, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC
- ),
-
-/*
-
- ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
-
- ┌─────────────────────────────────────────────────┐
- │ c o l e m a k │ ╭╮╭╮╭╮╭╮
- └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
- ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
- ╌┄┈┈───═╡ Q │ W │ F │ P │ G ││ J │ L │ U │ Y │ ; │
- ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
- │ A │ R │ S │ T │ D ││ H │ N │ E │ I │ O │
- ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
- │ Q │ Z │ X │ C │ V │ B ││ K │ M │ , │ . │ / │ ; │
- └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
- │ DEL │ LOWER │ SPACE ││ ENTER │ RAISE │ BSPC │
- └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘*/
+[_QWERTY] = LAYOUT(
+ KC_W, KC_L, KC_Y, KC_P, KC_B, KC_Z, KC_F, KC_O, KC_U, KC_QUOT,
+ KC_C , KC_R , KC_S , KC_T , KC_G, KC_M, KC_N , KC_E , KC_I , KC_A ,
+ KC_LSFT, KC_Q , KC_J, KC_V , KC_D , KC_K, KC_X, KC_H , KC_SLSH , KC_COMM, KC_DOT ,KC_RSFT,
+ MO(_NUM), KC_SPC, MO(_SYM), MO(_FN), KC_BSPC, MO(_NAV)
+),
+
+[_SYM] = LAYOUT(
+ XXXXXXX, C(KC_X), C(KC_C), C(KC_V), XXXXXXX, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR,
+ OSM(MOD_LGUI), OSM(MOD_LALT), OSM(MOD_LCTL), OSM(MOD_LSFT), OSM(MOD_RALT), KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_COLN,
+ KC_LSFT, XXXXXXX, XXXXXXX, KC_LGUI, KC_RALT, XXXXXXX, KC_PIPE, KC_EXLM, KC_AT, KC_HASH, KC_TILD,KC_RSFT,
+ XXXXXXX, KC_TAB, KC_SPC, KC_UNDS, KC_RPRN, XXXXXXX
+),
+
+[_NUM] = LAYOUT(
+ XXXXXXX, C(KC_X), C(KC_C), C(KC_V), XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC,
+ OSM(MOD_LGUI), OSM(MOD_LALT), OSM(MOD_LCTL), OSM(MOD_LSFT), OSM(MOD_RALT), KC_EQL, KC_4, KC_5, KC_6, KC_SCLN,
+ KC_LSFT, XXXXXXX, XXXXXXX, KC_LGUI, KC_RALT, XXXXXXX, KC_BSLS, KC_1, KC_2, KC_3, KC_GRV,KC_RSFT,
+ XXXXXXX, KC_TAB, KC_SPC, KC_MINS, KC_0, XXXXXXX
+),
+
+[_FN] = LAYOUT(
+ KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_F11, KC_F4, KC_F5, KC_F6, KC_DEL, OSM(MOD_RALT), OSM(MOD_RSFT), OSM(MOD_RCTL), OSM(MOD_LALT), OSM(MOD_RGUI),
+ KC_LSFT, KC_F10, KC_F1, KC_F2, KC_F3, KC_INS, XXXXXXX, KC_RALT, KC_RGUI, XXXXXXX, XXXXXXX,KC_RSFT,
+ KC_TAB, KC_ENT, KC_ESC, KC_ENT, KC_BSPC, XXXXXXX
+),
+
+[_NAV] = LAYOUT(
+ XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, OSM(MOD_RALT), OSM(MOD_RSFT), OSM(MOD_RCTL), OSM(MOD_LALT), OSM(MOD_RGUI),
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_RGUI, XXXXXXX, XXXXXXX,KC_RSFT,
+ KC_TAB, KC_ENT, KC_ESC, KC_ENT, KC_BSPC, XXXXXXX
+)
- [_COLEMAK] = LAYOUT(
- //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
- KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
- GUI_A, ALT_R, CTL_S, SHT_T, KC_D, KC_H, SHT_N, CTL_E, ALT_I, GUI_O,
- KC_Q, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SCLN,
- KC_DEL, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC
- ),
-
- /*
- ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
-
- ┌─────────────────────────────────────────────────┐
- │ l o w e r │ ╭╮╭╮╭╮╭╮
- └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
- ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
- ╌┄┈┈───═╡ CAPSLCK │ NUMLCK │ ↑ │ = │ { ││ } │ 7 │ 8 │ 9 │ + │
- ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
- │ HOME │ ← │ ↓ │ → │ [ ││ ] │ 4 │ 5 │ 6 │ - │
- ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
- │ SCRNSHT │ END │ PG↑ │ SAVE │ PG↓ │ ( ││ ) │ 1 │ 2 │ 3 │ * │ ▼ │
- └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
- │ ▼ │ ▼ │ ▼ ││ ▼ │ ADJUST │ 0 │
- └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
-
- [_LOWER] = LAYOUT(
- //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
- KC_CAPS, KC_NUM, KC_UP, KC_EQL, KC_LCBR, KC_RCBR, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_QUOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_MINS,
- SNAP, KC_END, KC_PGUP, C(KC_S), KC_PGDN, KC_LPRN, KC_RPRN, KC_P1, KC_P2, KC_P3, KC_PAST, _______,
- _______, _______, _______, _______, ADJUST, KC_P0
- ),
- /*
- ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
-
- ┌─────────────────────────────────────────────────┐
- │ r a i s e │ ╭╮╭╮╭╮╭╮
- └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
- ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
- ╌┄┈┈───═╡ ! │ @ │ # │ $ │ % ││ ^ │ & │ Ü │ ° │ / │
- ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
- │ Ä │ è │ SZ │ é │ ││ │ ¥ │ € │ £ │ Ö │
- ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
- │ │ ` │ ~ │ CUE │ │ ││ │ │ │ DM REC1 │ DM STOP │ DM PLY1 │
- └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
- │ GIPHY │ ADJUST │ ▼ ││ ▼ │ ▼ │ ▼ │
- └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
-
- [_RAISE] = LAYOUT(
- //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, RALT(KC_U),RALT(KC_3),KC_BSLS,
- RALT(KC_A),RALT(KC_F),RALT(KC_S),RALT(KC_G),XXXXXXX, XXXXXXX,LSFT(RALT(KC_4)),RALT(KC_5), RALT(KC_4), RALT(KC_O),
- XXXXXXX, LSFT(KC_GRV),KC_TILD, RALT(KC_C),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DM_REC1, DM_RSTP, DM_PLY1,
- _______, ADJUST, _______, _______, _______, _______
- ),
- /*
- ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
-
- ┌─────────────────────────────────────────────────┐
- │ a d j u s t │ ╭╮╭╮╭╮╭╮
- └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
- ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
- ╌┄┈┈───═╡ RESET │ │ │ │ ││ │ F7 │ F8 │ F9 │ F12 │
- ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
- │ DEBUG │ QWERTY │ │ │ ││ │ F4 │ F5 │ F6 │ F11 │
- ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
- │ MAKE │ OS SWAP │ COLEMAK │ │ │ ││ │ F1 │ F2 │ F3 │ F10 │ F13 │
- └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
- │ ▼ │ ▼ │ ▼ ││ ▼ │ ▼ │ ▼ │
- └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘ */
-
- [_ADJUST] = LAYOUT(
- //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F12,
- DB_TOGG, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F4, KC_F5, KC_F6, KC_F11,
- MAKE_H, OS_SWAP, COLEMAK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F10, KC_F13,
- _______, _______, _______, _______, _______, _______
- )
-/*
- ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
-
- ┌─────────────────────────────────────────────────┐
- │ t e m p l a t e │ ╭╮╭╮╭╮╭╮
- └─────────────────────────────────────────────────┘ │╰╯╰╯╰╯│
- ┌─────────┬─────────┬─────────┬─────────┬──────╨──┐┌──╨──────┬─────────┬─────────┬─────────┬─────────┐
- ╌┄┈┈───═╡ │ │ │ │ ││ │ │ │ │ │
- ├─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┤
- │ │ │ │ │ ││ │ │ │ │ │
- ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐
- │ │ │ │ │ │ ││ │ │ │ │ │ │
- └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┤├─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘
- │ │ │ ││ │ │ │
- └─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┘
-
- [_TEMPLATE] = LAYOUT(
- //╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- ),
-*/
};
-
-
-// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
-// │ M A C R O S │
-// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
-// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
-
- case OS_SWAP:
- if (record->event.pressed) {
- if (!keymap_config.swap_lctl_lgui) {
- keymap_config.swap_lctl_lgui = true; // ─── MAC
- }
- else {
- keymap_config.swap_lctl_lgui = false; // ─── WIN
- }
- eeconfig_update_keymap(keymap_config.raw);
- clear_keyboard(); // ──── clear to prevent stuck keys
- return false;
- }
-
-
-// ┌─────────────────────────────────────────────────┐
-// │ l a y e r │
-// └─────────────────────────────────────────────────┘
-
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
-
-// ┌─────────────────────────────────────────────────┐
-// │ q m k │
-// └─────────────────────────────────────────────────┘
-
- case MAKE_H:
- if (record->event.pressed) {
- SEND_STRING ("qmk compile -kb totem -km default");
- tap_code(KC_ENTER);
- }
- break;
-
-// ┌─────────────────────────────────────────────────┐
-// │ p r o d u c t i v i t y │
-// └─────────────────────────────────────────────────┘
-
- case SNAP:
- if (record->event.pressed) {
- if (keymap_config.swap_lctl_lgui) {
- SEND_STRING(SS_LSFT(SS_LCMD(SS_LCTL("4")))); //MAC
- } else {
- SEND_STRING(SS_LSFT(SS_LWIN("S"))); //WIN
- }
- }
- break;
- }
- return true;
-}
/*
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸