Added special char cmd
This commit is contained in:
@ -15,6 +15,15 @@
|
||||
#include "secrets.h"
|
||||
|
||||
|
||||
// Send a special character.
|
||||
// Returns false if character was caught, true otherwise.
|
||||
bool send_special_character(uint16_t keycode) {
|
||||
if ( (keycode > M_SPECIAL_TOP) && (keycode < M_SPECIAL_BOTTОM) ) {
|
||||
hid_send_special_char(keycode - M_SPECIAL_TOP - 1);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
LEADER_EXTERNS();
|
||||
@ -29,6 +38,22 @@ void matrix_scan_user(void) {
|
||||
SEND_STRING(SECRET_EMAIL);
|
||||
}
|
||||
|
||||
SEQ_TWO_KEYS(KC_S, KC_H) {
|
||||
send_special_character(M_SC_SHRUG);
|
||||
}
|
||||
|
||||
SEQ_THREE_KEYS(KC_Y, KC_A, KC_E) {
|
||||
send_special_character(M_SC_YAE);
|
||||
}
|
||||
|
||||
SEQ_FOUR_KEYS(KC_L, KC_Y, KC_U, KC_S) {
|
||||
send_special_character(M_SC_LYUS);
|
||||
}
|
||||
|
||||
SEQ_FOUR_KEYS(KC_B, KC_Y, KC_U, KC_S) {
|
||||
send_special_character(M_SC_BYUS);
|
||||
}
|
||||
|
||||
//SEQ_ONE_KEY(KC_F) {}
|
||||
//
|
||||
//SEQ_TWO_KEYS(KC_A, KC_S) {
|
||||
@ -48,6 +73,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_spellcheck(keycode, record)) { return false; }
|
||||
#endif
|
||||
|
||||
// Handle special chars
|
||||
if (record->event.pressed) {
|
||||
if (!send_special_character(keycode)) { return false; }
|
||||
}
|
||||
|
||||
// Handle macros
|
||||
switch (keycode) {
|
||||
case M_RESETWM:
|
||||
|
@ -17,6 +17,7 @@ extern rgb_config_t rgb_matrix_config;
|
||||
#define LC_PINK LC_HSV(243, 222, 234)
|
||||
#define LC_CYAN LC_HSV(134, 255, 213)
|
||||
#define LC_ORANGE LC_HSV( 14, 255, 255)
|
||||
#define LC_WHITE LC_HSV( 0, 0, 150)
|
||||
|
||||
#define LC_RU_B LC_HSV( 0, 0, 165)
|
||||
#define LC_RU_G LC_HSV(153, 255, 153)
|
||||
@ -26,7 +27,33 @@ extern rgb_config_t rgb_matrix_config;
|
||||
// (Must be done before keymaps are loaded)
|
||||
enum custom_keycodes {
|
||||
M_SHUTDOWN = BETA_SAFE_RANGE,
|
||||
|
||||
// Macros
|
||||
M_RESETWM,
|
||||
M_RU_CTRL,
|
||||
M_RU_ALT
|
||||
M_RU_ALT,
|
||||
|
||||
// Special characters.
|
||||
// M_SPECIAL_TOP and M_SPECIAL_BOTTOM are
|
||||
// bounds used to parse these. Only special
|
||||
// characters should be between them.
|
||||
//
|
||||
// Also, characters here should be in the same
|
||||
// order as they are in the host inteface.
|
||||
M_SPECIAL_TOP,
|
||||
M_SC_GRAVE,
|
||||
M_SC_TILD,
|
||||
M_SC_QUOT,
|
||||
M_SC_LBR,
|
||||
M_SC_RBR,
|
||||
M_SC_LCBR,
|
||||
M_SC_RCBR,
|
||||
M_SC_LKVCH,
|
||||
M_SC_RKVCH,
|
||||
|
||||
M_SC_LYUS,
|
||||
M_SC_BYUS,
|
||||
M_SC_YAE,
|
||||
M_SC_SHRUG,
|
||||
M_SPECIAL_BOTTОM
|
||||
};
|
||||
|
@ -24,11 +24,11 @@
|
||||
KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_NO, KC_LEAD,\
|
||||
KC_H, KC_J, KC_K, MO(LAYER_SYMBOLS), KC_L, KC_NO,\
|
||||
KC_NO, KC_N, KC_M, KC_P, KC_DOT, KC_COMMA, TT(LAYER_FKEYS),\
|
||||
KC_RIGHT, KC_NO, TO(LAYER_KEYBOARD), TO(LAYER_RUSSIAN), LGUI(KC_SPACE),\
|
||||
KC_RIGHT, KC_NO, TO(LAYER_KEYBOARD), KC_NO, LGUI(KC_SPACE),\
|
||||
\
|
||||
KC_LNG1, KC_LNG2,\
|
||||
KC_LNG3,\
|
||||
KC_NO, KC_RSHIFT, KC_ENTER\
|
||||
TO(LAYER_RUSSIAN), KC_RSHIFT, KC_ENTER\
|
||||
)
|
||||
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
|
@ -24,11 +24,11 @@
|
||||
RU_SOFT, RU_U, RU_YU, RU_I, RU_O, RU_SHCH, KC_NO,\
|
||||
RU_HA, RU_ZHE, RU_KA, MO(LAYER_SYMBOLS_RU), RU_EL, KC_NO,\
|
||||
RU_HARD, RU_EN, RU_EM, RU_PE, RU_YERU, RU_SHTI, KC_TRANSPARENT,\
|
||||
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, TO(LAYER_MAIN), KC_TRANSPARENT,\
|
||||
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\
|
||||
\
|
||||
KC_TRANSPARENT, KC_TRANSPARENT,\
|
||||
KC_TRANSPARENT,\
|
||||
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT\
|
||||
TO(LAYER_MAIN), KC_TRANSPARENT, KC_TRANSPARENT\
|
||||
)
|
||||
|
||||
BETA_LAYER_MAGIC_MACRO
|
||||
|
@ -10,14 +10,14 @@
|
||||
#ifdef BETA_LAYER_KEYS
|
||||
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
|
||||
KC_NO, RU_EXLM, RU_DQUO, RU_NUM, RU_SCLN, RU_PERC, KC_NO,\
|
||||
KC_NO, KC_NO, RU_LPRN, RU_RPRN, RU_QUES, KC_NO, KC_NO,\
|
||||
KC_NO, KC_NO, KC_NO, RU_COMM, RU_DOT, RU_DQUO,\
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, RU_EXLM, KC_NO, KC_NO,\
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
|
||||
KC_NO, M_SC_GRAVE, RU_LPRN, RU_RPRN, RU_QUES, M_SC_LCBR, KC_NO,\
|
||||
KC_NO, M_SC_TILD, M_SC_QUOT, RU_COMM, RU_DOT, RU_DQUO,\
|
||||
KC_NO, KC_NO, M_SC_LBR, M_SC_RBR, RU_EXLM, M_SC_RCBR, KC_NO,\
|
||||
KC_NO, KC_NO, KC_NO, M_SC_LKVCH, M_SC_RKVCH,\
|
||||
\
|
||||
KC_NO, KC_NO,\
|
||||
KC_NO,\
|
||||
KC_NO, KC_NO, KC_NO,\
|
||||
KC_NO, KC_NO,\
|
||||
KC_NO,\
|
||||
KC_NO, KC_NO, KC_NO,\
|
||||
\
|
||||
\
|
||||
KC_NO, RU_COLN, RU_QUES, RU_ASTR, RU_LPRN, RU_RPRN, KC_NO,\
|
||||
@ -38,10 +38,10 @@
|
||||
#ifdef BETA_LAYER_LEDS
|
||||
#define BETA_LAYER_CONTEXT_DATA LEDS_ergodox(\
|
||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||
LC_OFF, LC_CYAN, LC_CYAN, LC_PINK, LC_OFF, \
|
||||
LC_OFF, LC_OFF, LC_PINK, LC_PINK, LC_PINK, \
|
||||
LC_OFF, LC_OFF, LC_OFF, LC_PINK, LC_OFF, \
|
||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||
LC_WHITE, LC_CYAN, LC_CYAN, LC_PINK, LC_WHITE, \
|
||||
LC_WHITE, LC_WHITE, LC_PINK, LC_PINK, LC_PINK, \
|
||||
LC_OFF, LC_WHITE, LC_WHITE, LC_PINK, LC_WHITE, \
|
||||
LC_OFF, LC_OFF, LC_WHITE, LC_WHITE, \
|
||||
\
|
||||
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
|
||||
LC_OFF, LC_OFF, LC_CYAN, LC_OFF, LC_CYAN, \
|
||||
|
Reference in New Issue
Block a user