-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkeymap.h
81 lines (69 loc) · 1.71 KB
/
keymap.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#pragma once
#include QMK_KEYBOARD_H
// Initialize variable holding the binary
// representation of active modifiers.
uint8_t mod_state;
uint8_t oneshot_mod_state;
bool is_gui_tab_active;
uint16_t gui_alt_timer;
enum layers { _BASE = 0, _QWERTY, _SYM, _NUM, _NAV, _FUN };
// Layer keys
#define SYM_TAB LT(_SYM, KC_TAB)
#define NUM_OSS LT(_NUM, OSS)
#define SYM_REP LT(_SYM, QK_REPEAT_KEY)
#define SYM_BSP LT(_FUN, KC_BSPC)
#define NAV_SPC LT(_NAV, KC_SPACE)
#define SYM_ENT LT(_SYM, KC_ENT)
#define SYM OSL(_SYM)
#define NUM OSL(_NUM)
#define NAV OSL(_NAV)
#define FUN OSL(_FUN)
// Miscellaneous keyboard shortcuts in direct access
// #define UNDO LGUI(KC_Z)
// #define COPY LGUI(KC_C)
// #define PASTE LGUI(KC_V)
// #define CL_WIN LGUI(KC_W)
// #define CL_APP LGUI(KC_Q)
// Left-hand home row mods
#define HOME_S LGUI_T(KC_S)
#define HOME_N LALT_T(KC_N)
#define HOME_R LSFT_T(KC_R)
#define HOME_T LCTL_T(KC_T)
// Right-hand home row mods
#define HOME_I RCTL_T(KC_I)
#define HOME_E RSFT_T(KC_E)
#define HOME_A LALT_T(KC_A)
#define HOME_H RGUI_T(KC_H)
// Mod Tap Right Alt
#define MT_RA_CM RALT_T(KC_COMM)
#define MT_RA_F RALT_T(KC_F)
// One Shot Mods
#define OS_LCTL OSM(MOD_LCTL)
#define OS_LSFT OSM(MOD_LSFT)
#define OS_LALT OSM(MOD_LALT)
#define OS_LGUI OSM(MOD_LGUI)
#define OS_RCTL OSM(MOD_RCTL)
#define OS_RSFT OSM(MOD_RSFT)
#define OS_RALT OSM(MOD_RALT)
#define OS_RGUI OSM(MOD_RGUI)
#define OS_HYPR OSM(MOD_HYPR)
#define OS_MEH OSM(MOD_MEH)
// Custom Keycodes
enum custom_keycodes {
OSS = SAFE_RANGE,
// German Umlauts
A_UML,
O_UML,
U_UML,
ESZETT,
// Symbols
ELLIPS,
EURO,
BULLET,
ENDASH,
PARAGPH
};
// Tap Dance keycodes
#ifdef TAP_DANCE_ENABLE
enum td_keycodes { TD_OSS };
#endif