#pragma once #include "quantum.h" #include "version.h" #include "eeprom.h" #include "wrappers.h" #include "process_records.h" #ifdef TAP_DANCE_ENABLE # include "tap_dances.h" # define KC_TMX TD(TD_TMX) // tap1: 't' tap2: <CTL>+b # define KC_EOL TD(TD_EOL) // tap1: 'e' tap2: <CTL>+e # define KC_BOL TD(TD_BOL) // tap1: 'a' tap2: <CTL>+a # define KC_NW TD(TD_NW) // tap1: 'f' tap2: <ALT>+f # define KC_PW TD(TD_PW) // tap1: 'b' tap2: <ALT>+b # define KC_DW TD(TD_DW) // tap1: 'w' tap2: <CTL>+w #endif //!TAP_DANCE_ENABLE #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) # include "rgblight_user.h" #endif #if defined(UNICODEMAP_ENABLE) || defined(UNICODE_ENABLE) # include "unicode.h" #endif //!UNICODE_ENABLE // Keycode aliases #define TM_X LCTL(KC_B) // Tmux leader key // Unix QoL macros #define MC_BOL LCTL(KC_A) // jump to beginning of line #define MC_EOL LCTL(KC_E) // jump to end of line #define MC_NW LALT(KC_F) // next word #define MC_PW LALT(KC_B) // previous word #define MC_DW LCTL(KC_W) // delete word // Define layer names enum userspace_layers { _QWERTY = 0, _NUMLOCK = 0, _COLEMAK, _DVORAK, _WORKMAN, /* _NORMAN, _MALTRON, _EUCALYN, _CARPLAX, */ _PLOVER, _UNICODE, _MODS, /* layer 8 now 9*/ _GAMEPAD, _DIABLO, _MACROS, _MEDIA, _LOWER, _RAISE, _ADJUST, }; bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed); bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer); bool send_game_macro(const char *str, keyrecord_t *record, bool override); void matrix_init_keymap(void); void shutdown_keymap(void); void suspend_power_down_keymap(void); void suspend_wakeup_init_keymap(void); void matrix_scan_keymap(void); uint32_t layer_state_set_keymap (uint32_t state); uint32_t default_layer_state_set_keymap (uint32_t state); void led_set_keymap(uint8_t usb_led); void eeconfig_init_keymap(void); void tmux_prefix(void); void tmux_pane_zoom(void); void tmux_pane_last(void); void tmux_pane_switch_repeat(void); void tmux_pane_switch(uint16_t keycode); typedef union { uint32_t raw; struct { bool rgb_layer_change :1; bool is_overwatch :1; bool nuke_switch :1; uint8_t unicode_mod :4; bool swapped_numbers :1; }; } userspace_config_t; extern userspace_config_t userspace_config; /* Custom Keycodes for Diablo 3 layer But since TD() doesn't work when tap dance is disabled We use custom codes here, so we can substitute the right stuff */ #ifdef TAP_DANCE_ENABLE # define KC_D3_1 TD(TD_D3_1) # define KC_D3_2 TD(TD_D3_2) # define KC_D3_3 TD(TD_D3_3) # define KC_D3_4 TD(TD_D3_4) #else # define KC_D3_1 KC_1 # define KC_D3_2 KC_2 # define KC_D3_3 KC_3 # define KC_D3_4 KC_4 #endif // !TAP_DANCE_ENABLE /* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et */