diff options
Diffstat (limited to 'quantum/process_keycode/process_unicode_common.c')
-rw-r--r-- | quantum/process_keycode/process_unicode_common.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index a0b9010027..f43770977a 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -17,7 +17,8 @@ #include "process_unicode_common.h" #include "unicode.h" #include "action_util.h" -#include "keycode.h" +#include "keycodes.h" +#include "modifiers.h" #if defined(UNICODE_ENABLE) # include "process_unicode.h" @@ -32,10 +33,18 @@ bool process_unicode_common(uint16_t keycode, keyrecord_t *record) { bool shifted = get_mods() & MOD_MASK_SHIFT; switch (keycode) { case QK_UNICODE_MODE_NEXT: - cycle_unicode_input_mode(shifted ? -1 : +1); + if (shifted) { + unicode_input_mode_step_reverse(); + } else { + unicode_input_mode_step(); + } break; case QK_UNICODE_MODE_PREVIOUS: - cycle_unicode_input_mode(shifted ? +1 : -1); + if (shifted) { + unicode_input_mode_step(); + } else { + unicode_input_mode_step_reverse(); + } break; case QK_UNICODE_MODE_MACOS: set_unicode_input_mode(UNICODE_MODE_MACOS); |