From f4ded78f1b60c447fbe521fd7605ade081884efe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Mon, 5 Nov 2018 20:38:02 +0100 Subject: [PATCH] Add keycodes: UNICODE_MODE_FORWARD, UNICODE_MODE_REVERSE Aliases: UC_MOD, UC_RMOD (respectively) --- keyboards/whitefox/keymaps/konstantin/keymap.c | 9 ++------- quantum/process_keycode/process_unicode_common.c | 6 ++++++ quantum/quantum_keycodes.h | 4 ++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/keyboards/whitefox/keymaps/konstantin/keymap.c b/keyboards/whitefox/keymaps/konstantin/keymap.c index 07e6b8cbc156..e81c7ebd257c 100644 --- a/keyboards/whitefox/keymaps/konstantin/keymap.c +++ b/keyboards/whitefox/keymaps/konstantin/keymap.c @@ -27,7 +27,6 @@ enum layers { enum custom_keycodes { CLEAR = SAFE_RANGE, - CYCLEUC, NUMPAD, }; @@ -37,10 +36,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE)); } return false; - case CYCLEUC: - if (record->event.pressed) { cycle_unicode_input_mode(+1); } - return false; - case NUMPAD: if (record->event.pressed) { layer_invert(L_NUMPAD); @@ -105,7 +100,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,---------------------------------------------------------------. * | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Num|Scr|Pau| * |---------------------------------------------------------------| - * | M4 |M2 |M↑ |M1 |M3 |M5 | |Cyc| |Stp|Ply|Prv|Nxt|Clear|Ins| + * | M4 |M2 |M↑ |M1 |M3 |M5 | |UCM| |Stp|Ply|Prv|Nxt|Clear|Ins| * |---------------------------------------------------------------| * | |M← |M↓ |M→ |MW↑| | | | | | | | |Top| * |---------------------------------------------------------------| @@ -116,7 +111,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [L_FN] = LAYOUT_truefox( \ _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, NUMPAD, KC_SLCK,KC_PAUS, \ - KC_BTN4,KC_BTN2,KC_MS_U,KC_BTN1,KC_BTN3,KC_BTN5,_______,CYCLEUC,_______,KC_MSTP,KC_MPLY,KC_MPRV,KC_MNXT,CLEAR, KC_INS, \ + KC_BTN4,KC_BTN2,KC_MS_U,KC_BTN1,KC_BTN3,KC_BTN5,_______,UC_MOD, _______,KC_MSTP,KC_MPLY,KC_MPRV,KC_MNXT,CLEAR, KC_INS, \ _______,KC_MS_L,KC_MS_D,KC_MS_R,KC_WH_U,_______,_______,_______,_______,_______,_______,_______, _______, TOP, \ _______, KC_ACL0,KC_ACL2,KC_WH_L,KC_WH_R,_______,_______,_______,KC_VOLD,KC_VOLU,KC_MUTE,KC_APP, KC_PGUP,BOTTOM, \ _______,DESKTOP,DESKT_L, KC_WH_D, DESKT_R,_______, KC_HOME,KC_PGDN,KC_END \ diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index 0cdfe7939ed6..0cd219f23e2f 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -168,6 +168,12 @@ void send_unicode_hex_string(const char *str) { bool process_unicode_common(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch (keycode) { + case UNICODE_MODE_FORWARD: + cycle_unicode_input_mode(+1); + break; + case UNICODE_MODE_BACKWARD: + cycle_unicode_input_mode(-1); + break; case UNICODE_MODE_OSX: set_unicode_input_mode(UC_OSX); #if defined(AUDIO_ENABLE) && defined(UNICODE_SONG_OSX) diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index b428eabbec9e..20df9f136613 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -451,6 +451,8 @@ enum quantum_keycodes { TERM_OFF, #endif + UNICODE_MODE_FORWARD, + UNICODE_MODE_REVERSE, UNICODE_MODE_OSX, UNICODE_MODE_LNX, UNICODE_MODE_WIN, @@ -685,6 +687,8 @@ enum quantum_keycodes { #define X(n) (QK_UNICODE_MAP | (n)) #endif +#define UC_MOD UNICODE_MODE_FORWARD +#define UC_RMOD UNICODE_MODE_REVERSE #define UC_M_OS UNICODE_MODE_OSX #define UC_M_LN UNICODE_MODE_LNX #define UC_M_WI UNICODE_MODE_WIN