qmk_userspace/keyboards/splitkb/kyria/keymaps/tyosa/tyosa.h
2024-03-28 22:55:09 +01:00

67 lines
1.7 KiB
C

#pragma once
#include QMK_KEYBOARD_H
enum layers {
_COLEMAK_DH = 0,
_NAV,
_SYM,
_FUN,
_MEDIA,
_NUM
};
enum custom_keycodes {
QC_EGRV = SAFE_RANGE, // è
QC_EAIG, // é
QC_AGRV, // à
QC_CCED, // ç
QC_UGRV, // ù
QC_ICRC, // î
QC_OCRC, // ù
KC_LEFT_ENC_MODE, // left encoder mode
KC_RIGHT_ENC_MODE, // right encoder mode
ALT_TAB, // alt-tab
QC_QUOT // non-dead quotes
};
typedef struct _master_to_slave_t {
bool is_sneaking;
bool is_barking;
} master_to_slave_t;
#define CTL_ESC MT(MOD_LCTL, KC_ESC)
#define LALT_ENT MT(MOD_LALT, KC_ENT)
#define RALT_ENT MT(MOD_RALT, KC_ENT)
#define KC_LENC LT(0, KC_LEFT_ENC_MODE)
#define KC_RENC LT(0, KC_RIGHT_ENC_MODE)
// Custom actions
#define COPY LCTL(KC_C)
#define PASTE LCTL(KC_V)
#define CUT LCTL(KC_X)
#define KC_REDO LCTL(KC_Y)
#define KC_UNDO LCTL(KC_Z)
// Home row mods
#define HR_GA LGUI_T(KC_A)
#define HR_AR LALT_T(KC_R)
#define HR_CS LCTL_T(KC_S)
#define HR_ST LSFT_T(KC_T)
#define HR_SN LSFT_T(KC_N)
#define HR_CE LCTL_T(KC_E)
#define HR_AI LALT_T(KC_I)
#define HR_GO LGUI_T(KC_O)
// Thumb tap/hold
#define MEH_GUI MEH_T(KC_LGUI)
#define MED_ESC LT(_MEDIA, KC_ESC)
#define NAV_SPC LT(_NAV, KC_SPC)
#define SYM_ENT LT(_SYM, KC_ENT)
#define NUM_BSP LT(_NUM, KC_BSPC)
#define FUN_DEL LT(_FUN, KC_DEL)
// Layer toggle
#define QC_NAV TG(_NAV)
extern bool is_alt_tab_active;
extern uint16_t alt_tab_timer;