qmk-dactyl-manuform-a/users/yet-another-developer/process_records.h

110 lines
3.1 KiB
C

#pragma once
#include "yet-another-developer.h"
#if defined(KEYMAP_SAFE_RANGE)
# define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
#else
# define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
#endif
enum userspace_custom_keycodes {
VRSN = PLACEHOLDER_SAFE_RANGE, // Prints QMK Firmware and board info
KC_QWERTY, // Sets default layer to QWERTY
KC_COLEMAK, // Sets default layer to COLEMAK
KC_DVORAK, // Sets default layer to DVORAK
KC_WORKMAN, // Sets default layer to WORKMAN
KC_UNICODE, // Sets default layer to UNICOD
KC_MAKE, // Run keyboard's customized make command
KC_SECRET_1, // test1
KC_SECRET_2, // test2
KC_SECRET_3, // test3
KC_SECRET_4, // test4
KC_SECRET_5, // test5
KC_CCCV, // Hold to copy, tap to paste
KC_NUKE, // NUCLEAR LAUNCH DETECTED!!!
UC_FLIP, // (ಠ痊ಠ)┻━┻
UC_TABL, // ┬─┬ノ( º _ ºノ)
UC_SHRG, // ¯\_(ツ)_/¯
UC_DISA, // ಠ_ಠ
MC_QT1, // ""
MC_QT2, // ''
MC_QT3, // `'
MC_PAR, // Parenthesis
MC_CUR, // Curly bracket
MC_SQR, // Square bracket
MC_ABR, // Angle bracket
MCT_NEW, // New Tmux Session
MCT_SH, // Tmux horizontal split
MCT_SV, // Tmux vertical split
MCT_ZM, // Tmux zoom
MCT_SCR, // Tmux scroll mode
MCT_UP, // Tmux up
MCT_DW, // Tmux down
MCT_LFT, // Tmux left
MCT_RGT, // Tmux right
MCV_B, // Vim begin of line
MCV_E, // Vim end of line
MCT_F, // Vim for loop
MCG_A, // Git add
MCG_C, // Git commit
MCG_P, // Git push
MCG_R, // Git revert
MCG_L, // Git log
MCG_S, // Git status
NEW_SAFE_RANGE // use "NEWPLACEHOLDER for keymap specific codes
};
bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
bool process_record_keymap( uint16_t keycode, keyrecord_t *record);
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define ADJUST MO(_ADJUST)
#define TG_MODS TG(_MODS)
#define OS_LWR OSL(_LOWER)
#define OS_RSE OSL(_RAISE)
#define OS_UNI OSL(_UNICODE)
#define KC_SEC1 KC_SECRET_1
#define KC_SEC2 KC_SECRET_2
#define KC_SEC3 KC_SECRET_3
#define KC_SEC4 KC_SECRET_4
#define KC_SEC5 KC_SECRET_5
#define QWERTY KC_QWERTY
#define DVORAK KC_DVORAK
#define COLEMAK KC_COLEMAK
#define WORKMAN KC_WORKMAN
#define UNICODE KC_UNICODE
#define KC_RESET RESET
#define KC_RST KC_RESET
#define BK_LWER LT(_LOWER, KC_BSPC)
#define SP_LWER LT(_LOWER, KC_SPC)
#define DL_RAIS LT(_RAISE, KC_DEL)
#define ET_RAIS LT(_RAISE, KC_ENTER)
/* OSM keycodes, to keep things clean and easy to change */
#define KC_MLSF OSM(MOD_LSFT)
#define KC_MRSF OSM(MOD_RSFT)
#define OS_LGUI OSM(MOD_LGUI)
#define OS_RGUI OSM(MOD_RGUI)
#define OS_LSFT OSM(MOD_LSFT)
#define OS_RSFT OSM(MOD_RSFT)
#define OS_LCTL OSM(MOD_LCTL)
#define OS_RCTL OSM(MOD_RCTL)
#define OS_LALT OSM(MOD_LALT)
#define OS_RALT OSM(MOD_RALT)
#define OS_MEH OSM(MOD_MEH)
#define OS_HYPR OSM(MOD_HYPR)
#define ALT_APP ALT_T(KC_APP)
#define UC_IRNY UC(0x2E2E)
#define UC_CLUE UC(0x203D)