summaryrefslogtreecommitdiffstats
path: root/quantum/process_keycode/process_unicode_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/process_keycode/process_unicode_common.c')
-rw-r--r--quantum/process_keycode/process_unicode_common.c15
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);