|
|
- /* Copyright 2021 Ibnu D. Aji
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
- #pragma once
- #include "quantum.h"
-
- enum {
- _BASE,
- _LOWER,
- _RAISE,
- _ADJUST,
- };
-
- // keycode abstraction
- // ABC:
- // A: L = left
- // R = right
- // B: U = upper row
- // M = middle row
- // L = lower row
- // C: P = pinky finger
- // R = ring finger
- // M = middle finger
- // I = index finger
- // II = inner index finger
- #define LUP KC_Q
- #define LUR KC_V
- #define LUM KC_C
- #define LUI KC_P
- #define LUII KC_B
- #define LMP KC_R
- #define LMR KC_S
- #define LMM KC_T
- #define LMI KC_H
- #define LMII KC_D
- #define LLP KC_QUOT
- #define LLR KC_J
- #define LLM KC_G
- #define LLI KC_K
- #define LLII KC_X
-
- #define RUP KC_Z
- #define RUR KC_Y
- #define RUM KC_U
- #define RUI KC_L
- #define RUII KC_DOT
- #define RMP KC_O
- #define RMR KC_I
- #define RMM KC_A
- #define RMI KC_N
- #define RMII KC_F
- #define RLP KC_SLSH
- #define RLR KC_SCLN
- #define RLM KC_W
- #define RLI KC_M
- #define RLII KC_COMM
-
-
- // thumb keys.
- #define TRAISE TG(_RAISE)
- #define AL_ENT ALT_T(KC_ENT)
- #define SF_BSPC SFT_T(KC_BSPC)
- #define CT_ESC CTL_T(KC_ESC)
-
- // home row mods.
- #define CTLR LCTL_T(LMR)
- #define CTRR RCTL_T(RMR)
- #define CT_LEFT LCTL_T(KC_LEFT)
- #define CT_SIX RCTL_T(KC_6)
-
- #define SHLP LSFT_T(LMP)
- #define SHRP RSFT_T(RMP)
- #define SH_HASH LSFT_T(KC_HASH)
- #define SH_ZERO RSFT_T(KC_0)
-
- #define ALLM LALT_T(LMM)
- #define ALRM RALT_T(RMM)
- #define AL_DOWN LALT_T(KC_DOWN)
- #define AL_FIVE RALT_T(KC_5)
-
- #define GULII RGUI_T(LMII)
- #define GURII LGUI_T(RMII)
- #define GU_DLR RGUI_T(KC_DLR)
- #define GU_EQL LGUI_T(KC_EQL)
-
- // layer toggle.
- #define LW_E LT(_LOWER, KC_E)
- #define RS_SPC LT(_RAISE, KC_SPC)
-
- #define ADDDD MO(_ADJUST)
-
- // common shortcuts for windows and linux that i use.
- #define NXTTAB LCTL(KC_PGDN)
- #define PRVTAB LCTL(KC_PGUP)
- #define UPTAB LCTL(LSFT(KC_PGUP))
- #define DNTAB LCTL(LSFT(KC_PGDN))
- #define NXTWIN LALT(KC_TAB)
- #define PRVWIN LALT(LSFT(KC_TAB))
- #define CALDL LCTL(LALT(KC_DELT))
- #define TSKMGR LCTL(LSFT(KC_ESC))
- #define EXPLR LGUI(KC_E)
- #define LCKGUI LGUI(KC_L)
- #define CONPST LSFT(KC_INS)
- #define CLSGUI LALT(KC_F4)
|