summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2020-10-27 06:14:56 +1100
committerDrashna Jael're <drashna@live.com>2021-01-12 22:43:33 -0800
commit6edb0047326c278e4d36e7e3d495019abac948c0 (patch)
treee67bd2746d3cf9baa6dcdedcac5ca35943d47ba3
parentf8b43b6388404d2f206826a50a6131458eab7462 (diff)
Allow modified keycodes in Unicode input (#10658)
-rw-r--r--quantum/process_keycode/process_unicode_common.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c
index 84c44d9874..80be316232 100644
--- a/quantum/process_keycode/process_unicode_common.c
+++ b/quantum/process_keycode/process_unicode_common.c
@@ -136,20 +136,10 @@ __attribute__((weak)) void unicode_input_cancel(void) {
set_mods(unicode_saved_mods); // Reregister previously set mods
}
-__attribute__((weak)) uint16_t hex_to_keycode(uint8_t hex) {
- if (hex == 0x0) {
- return KC_0;
- } else if (hex < 0xA) {
- return KC_1 + (hex - 0x1);
- } else {
- return KC_A + (hex - 0xA);
- }
-}
-
void register_hex(uint16_t hex) {
for (int i = 3; i >= 0; i--) {
uint8_t digit = ((hex >> (i * 4)) & 0xF);
- tap_code(hex_to_keycode(digit));
+ tap_code16(hex_to_keycode(digit));
}
}
@@ -162,10 +152,10 @@ void register_hex32(uint32_t hex) {
uint8_t digit = ((hex >> (i * 4)) & 0xF);
if (digit == 0) {
if (!onzerostart) {
- tap_code(hex_to_keycode(digit));
+ tap_code16(hex_to_keycode(digit));
}
} else {
- tap_code(hex_to_keycode(digit));
+ tap_code16(hex_to_keycode(digit));
onzerostart = false;
}
}