summaryrefslogtreecommitdiff
path: root/quantum/process_keycode/process_unicodemap.c
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2023-08-29 21:24:43 +1000
committerNick Brassel <nick@tzarc.org>2023-08-29 21:24:43 +1000
commit31a91add168c956655ace8ec4cf9750db1e2cfc6 (patch)
tree12cea9b5f8e769f9611a31cbaede9537edad71cc /quantum/process_keycode/process_unicodemap.c
parentf07490bc092e365ba03dc685b3fc30ad0bf0b752 (diff)
parentedaf8a87ef3164f8986b0a8eb171d4879b45414c (diff)
Merge branch 'develop'
Diffstat (limited to 'quantum/process_keycode/process_unicodemap.c')
-rw-r--r--quantum/process_keycode/process_unicodemap.c35
1 files changed, 3 insertions, 32 deletions
diff --git a/quantum/process_keycode/process_unicodemap.c b/quantum/process_keycode/process_unicodemap.c
index 195c093e6e..a85568521c 100644
--- a/quantum/process_keycode/process_unicodemap.c
+++ b/quantum/process_keycode/process_unicodemap.c
@@ -15,41 +15,12 @@
*/
#include "process_unicodemap.h"
-#include "unicode.h"
-#include "quantum_keycodes.h"
-#include "keycode.h"
-#include "action_util.h"
-#include "host.h"
-
-__attribute__((weak)) uint16_t unicodemap_index(uint16_t keycode) {
- if (keycode >= QK_UNICODEMAP_PAIR) {
- // Keycode is a pair: extract index based on Shift / Caps Lock state
- uint16_t index;
-
- uint8_t mods = get_mods() | get_weak_mods();
-#ifndef NO_ACTION_ONESHOT
- mods |= get_oneshot_mods();
-#endif
-
- bool shift = mods & MOD_MASK_SHIFT;
- bool caps = host_keyboard_led_state().caps_lock;
- if (shift ^ caps) {
- index = QK_UNICODEMAP_PAIR_GET_SHIFTED_INDEX(keycode);
- } else {
- index = QK_UNICODEMAP_PAIR_GET_UNSHIFTED_INDEX(keycode);
- }
-
- return index;
- } else {
- // Keycode is a regular index
- return QK_UNICODEMAP_GET_INDEX(keycode);
- }
-}
+#include "unicodemap.h"
+#include "keycodes.h"
bool process_unicodemap(uint16_t keycode, keyrecord_t *record) {
if (keycode >= QK_UNICODEMAP && keycode <= QK_UNICODEMAP_PAIR_MAX && record->event.pressed) {
- uint32_t code_point = pgm_read_dword(unicode_map + unicodemap_index(keycode));
- register_unicode(code_point);
+ register_unicodemap(unicodemap_index(keycode));
}
return true;
}