qmk

QMK Firmware
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

process_records.h (3250B)


      1 #pragma once
      2 #include "drashna.h"
      3 
      4 #if defined(KEYMAP_SAFE_RANGE)
      5 #    define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
      6 #else
      7 #    define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
      8 #endif
      9 
     10 enum userspace_custom_keycodes {
     11     VRSN = PLACEHOLDER_SAFE_RANGE,  // Prints QMK Firmware and board info
     12     KC_QWERTY,                      // Sets default layer to QWERTY
     13     KC_COLEMAK,                     // Sets default layer to COLEMAK
     14     KC_DVORAK,                      // Sets default layer to DVORAK
     15     KC_WORKMAN,                     // Sets default layer to WORKMAN
     16     KC_NORMAN,                      // Sets default layer to NORMAN
     17     KC_MALTRON,                     // Sets default layer to MALTRON
     18     KC_EUCALYN,                     // Sets default layer to EUCALYN
     19     KC_CARPLAX,                     // Sets default layer to CARPLAX
     20     KC_DIABLO_CLEAR,                // Clears all Diablo Timers
     21     KC_OVERWATCH,                   // Toggles game macro input mode (so in OW, it defaults to game chat)
     22     KC_SALT,                        // See drashna.c for details
     23     KC_MORESALT,
     24     KC_SALTHARD,
     25     KC_GOODGAME,
     26     KC_SYMM,
     27     KC_JUSTGAME,
     28     KC_GLHF,
     29     KC_TORB,
     30     KC_AIM,
     31     KC_C9,
     32     KC_GGEZ,
     33     KC_MAKE,        // Run keyboard's customized make command
     34     KC_RGB_T,       // Toggles RGB Layer Indication mode
     35     KC_SECRET_1,    // test1
     36     KC_SECRET_2,    // test2
     37     KC_SECRET_3,    // test3
     38     KC_SECRET_4,    // test4
     39     KC_SECRET_5,    // test5
     40     KC_CCCV,        // Hold to copy, tap to paste
     41     KC_NUKE,        // NUCLEAR LAUNCH DETECTED!!!
     42     UC_FLIP,        // (ಠ痊ಠ)┻━┻
     43     UC_TABL,        // ┬─┬ノ( º _ ºノ)
     44     UC_SHRG,        // ¯\_(ツ)_/¯
     45     UC_DISA,        // ಠ_ಠ
     46     NEW_SAFE_RANGE  // use "NEWPLACEHOLDER for keymap specific codes
     47 };
     48 
     49 bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
     50 bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
     51 
     52 #define LOWER MO(_LOWER)
     53 #define RAISE MO(_RAISE)
     54 #define ADJUST MO(_ADJUST)
     55 #define TG_MODS TG(_MODS)
     56 #define TG_GAME TG(_GAMEPAD)
     57 #define OS_LWR OSL(_LOWER)
     58 #define OS_RSE OSL(_RAISE)
     59 
     60 #define KC_SEC1 KC_SECRET_1
     61 #define KC_SEC2 KC_SECRET_2
     62 #define KC_SEC3 KC_SECRET_3
     63 #define KC_SEC4 KC_SECRET_4
     64 #define KC_SEC5 KC_SECRET_5
     65 
     66 #define QWERTY KC_QWERTY
     67 #define DVORAK KC_DVORAK
     68 #define COLEMAK KC_COLEMAK
     69 #define WORKMAN KC_WORKMAN
     70 
     71 #define KC_RESET RESET
     72 #define KC_RST KC_RESET
     73 
     74 #ifdef SWAP_HANDS_ENABLE
     75 #    define KC_C1R3 SH_TT
     76 #else  // SWAP_HANDS_ENABLE
     77 #    define KC_C1R3 KC_BSPC
     78 #endif  // SWAP_HANDS_ENABLE
     79 
     80 #define BK_LWER LT(_LOWER, KC_BSPC)
     81 #define SP_LWER LT(_LOWER, KC_SPC)
     82 #define DL_RAIS LT(_RAISE, KC_DEL)
     83 #define ET_RAIS LT(_RAISE, KC_ENTER)
     84 
     85 /* OSM keycodes, to keep things clean and easy to change */
     86 #define KC_MLSF OSM(MOD_LSFT)
     87 #define KC_MRSF OSM(MOD_RSFT)
     88 
     89 #define OS_LGUI OSM(MOD_LGUI)
     90 #define OS_RGUI OSM(MOD_RGUI)
     91 #define OS_LSFT OSM(MOD_LSFT)
     92 #define OS_RSFT OSM(MOD_RSFT)
     93 #define OS_LCTL OSM(MOD_LCTL)
     94 #define OS_RCTL OSM(MOD_RCTL)
     95 #define OS_LALT OSM(MOD_LALT)
     96 #define OS_RALT OSM(MOD_RALT)
     97 #define OS_MEH  OSM(MOD_MEH)
     98 #define OS_HYPR OSM(MOD_HYPR)
     99 
    100 #define ALT_APP ALT_T(KC_APP)
    101 
    102 #define MG_NKRO MAGIC_TOGGLE_NKRO
    103 
    104 #define UC_IRNY UC(0x2E2E)
    105 #define UC_CLUE UC(0x203D)