From 9632360caa5e6511b0ec13cb4c55eb64408232b5 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 30 Aug 2022 03:20:04 -0500 Subject: Use a macro to compute the size of arrays at compile time (#18044) * Add ARRAY_SIZE and CEILING utility macros * Apply a coccinelle patch to use ARRAY_SIZE * fix up some straggling items * Fix 'make test:secure' * Enhance ARRAY_SIZE macro to reject acting on pointers The previous definition would not produce a diagnostic for ``` int *p; size_t num_elem = ARRAY_SIZE(p) ``` but the new one will. * explicitly get definition of ARRAY_SIZE * Convert to ARRAY_SIZE when const is involved The following spatch finds additional instances where the array is const and the division is by the size of the type, not the size of the first element: ``` @ rule5a using "empty.iso" @ type T; const T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) @ rule6a using "empty.iso" @ type T; const T[] E; @@ - sizeof(E)/sizeof(T) + ARRAY_SIZE(E) ``` * New instances of ARRAY_SIZE added since initial spatch run * Use `ARRAY_SIZE` in docs (found by grep) * Manually use ARRAY_SIZE hs_set is expected to be the same size as uint16_t, though it's made of two 8-bit integers * Just like char, sizeof(uint8_t) is guaranteed to be 1 This is at least true on any plausible system where qmk is actually used. Per my understanding it's universally true, assuming that uint8_t exists: https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1 * Run qmk-format on core C files touched in this branch Co-authored-by: Stefan Kerkmann --- quantum/process_keycode/process_unicode_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'quantum/process_keycode/process_unicode_common.c') diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index 8de31c055c..1c1aab8f48 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -25,7 +25,7 @@ bool unicode_saved_num_lock; #if UNICODE_SELECTED_MODES != -1 static uint8_t selected[] = {UNICODE_SELECTED_MODES}; -static int8_t selected_count = sizeof selected / sizeof *selected; +static int8_t selected_count = ARRAY_SIZE(selected); static int8_t selected_index; #endif -- cgit v1.2.3 From e4bf8323688b56cd5fc0f4f27c531f3406d40f6d Mon Sep 17 00:00:00 2001 From: Joshua Diamond Date: Wed, 31 Aug 2022 19:39:16 -0400 Subject: Add unicode mode change callbacks (#18235) --- docs/feature_unicode.md | 11 +++++++++ quantum/process_keycode/process_unicode_common.c | 17 +++++++++++++ quantum/process_keycode/process_unicode_common.h | 3 +++ users/spidey3/layer_rgb.c | 31 +++++++++--------------- users/spidey3/spidey3.c | 18 ++++++++++---- users/spidey3/spidey3.h | 11 ++++++--- 6 files changed, 63 insertions(+), 28 deletions(-) (limited to 'quantum/process_keycode/process_unicode_common.c') diff --git a/docs/feature_unicode.md b/docs/feature_unicode.md index 2389cb735c..94873d2827 100644 --- a/docs/feature_unicode.md +++ b/docs/feature_unicode.md @@ -206,6 +206,17 @@ The functions for starting and finishing Unicode input on your platform can be o You can find the default implementations of these functions in [`process_unicode_common.c`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_unicode_common.c). +### Input Mode Callbacks + +There are callbacks functions available that are called whenever the unicode input mode changes. The new input mode is passed to the function. + +|Callback |Description | +|---------------------------------------------------|-----------------------------------------------------| +| `unicode_input_mode_set_kb(uint8_t input_mode)` | Callback for unicode input mode set, for keyboard. | +| `unicode_input_mode_set_user(uint8_t input_mode)` | Callback for unicode input mode set, for users. | + +This feature can be used, for instance, to implement LED indicators for the current unicode input mode. + ### Input Key Configuration You can customize the keys used to trigger Unicode input for macOS, Linux and WinCompose by adding corresponding defines to your `config.h`. The default values match the platforms' default settings, so you shouldn't need to change this unless Unicode input isn't working, or you want to use a different key (e.g. in order to free up left or right Alt). diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index 1c1aab8f48..94809cf029 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -29,6 +29,20 @@ static int8_t selected_count = ARRAY_SIZE(selected); static int8_t selected_index; #endif +/** \brief Uunicode input mode set at user level + * + * Run user code on unicode input mode change + */ +__attribute__((weak)) void unicode_input_mode_set_user(uint8_t input_mode) {} + +/** \brief unicode input mode set at keyboard level + * + * Run keyboard code on unicode input mode change + */ +__attribute__((weak)) void unicode_input_mode_set_kb(uint8_t input_mode) { + unicode_input_mode_set_user(input_mode); +} + void unicode_input_mode_init(void) { unicode_config.raw = eeprom_read_byte(EECONFIG_UNICODEMODE); #if UNICODE_SELECTED_MODES != -1 @@ -50,6 +64,7 @@ void unicode_input_mode_init(void) { unicode_config.input_mode = selected[selected_index = 0]; # endif #endif + unicode_input_mode_set_kb(unicode_config.input_mode); dprintf("Unicode input mode init to: %u\n", unicode_config.input_mode); } @@ -60,6 +75,7 @@ uint8_t get_unicode_input_mode(void) { void set_unicode_input_mode(uint8_t mode) { unicode_config.input_mode = mode; persist_unicode_input_mode(); + unicode_input_mode_set_kb(mode); dprintf("Unicode input mode set to: %u\n", unicode_config.input_mode); } @@ -73,6 +89,7 @@ void cycle_unicode_input_mode(int8_t offset) { # if UNICODE_CYCLE_PERSIST persist_unicode_input_mode(); # endif + unicode_input_mode_set_kb(unicode_config.input_mode); dprintf("Unicode input mode cycle to: %u\n", unicode_config.input_mode); #endif } diff --git a/quantum/process_keycode/process_unicode_common.h b/quantum/process_keycode/process_unicode_common.h index 15e798dbb3..bdc7a1dedd 100644 --- a/quantum/process_keycode/process_unicode_common.h +++ b/quantum/process_keycode/process_unicode_common.h @@ -87,6 +87,9 @@ void unicode_input_start(void); void unicode_input_finish(void); void unicode_input_cancel(void); +void unicode_input_mode_set_user(uint8_t input_mode); +void unicode_input_mode_set_kb(uint8_t input_mode); + void register_hex(uint16_t hex); void register_hex32(uint32_t hex); void register_unicode(uint32_t code_point); diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c index b34b91679d..bdf4584ef1 100644 --- a/users/spidey3/layer_rgb.c +++ b/users/spidey3/layer_rgb.c @@ -112,8 +112,7 @@ void do_rgb_layers(layer_state_t state, uint8_t start, uint8_t end) { } } -void do_rgb_unicode(void) { - uint8_t uc_mode = get_unicode_input_mode(); +void do_rgb_unicode(uint8_t uc_mode) { for (uint8_t i = 0; i < UC__COUNT; i++) { bool is_on = i == uc_mode; rgblight_set_layer_state(UNICODE_OFFSET + i, is_on); @@ -123,7 +122,7 @@ void do_rgb_unicode(void) { void do_rgb_all(void) { do_rgb_layers(default_layer_state, LAYER_BASE_DEFAULT, LAYER_BASE_REGULAR); do_rgb_layers(layer_state, LAYER_BASE_REGULAR, LAYER_BASE_END); - do_rgb_unicode(); + do_rgb_unicode(get_unicode_input_mode()); rgblight_set_layer_state(MISC_OFFSET + 0, spi_gflock); rgblight_set_layer_state(MISC_OFFSET + 1, spi_replace_mode != SPI_NORMAL); } @@ -148,7 +147,7 @@ extern rgblight_status_t rgblight_status; # define STARTUP_ANIMATION_CYCLE_STEP 2 # define STARTUP_ANIMATION_RAMP_TO_STEPS 70 # define STARTUP_ANIMATION_STEP_TIME 10 -# define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME +# define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME // clang-format off typedef enum { @@ -382,6 +381,13 @@ bool led_update_user_rgb(led_t led_state) { return true; } +#if defined(UNICODE_COMMON_ENABLE) +void unicode_input_mode_set_user_rgb(uint8_t input_mode) { + rgb_layer_ack(ACK_MEH); + do_rgb_unicode(input_mode); +} +#endif + void rgb_layer_ack_yn(bool yn) { rgb_layer_ack(yn ? ACK_YES : ACK_NO); } void rgb_layer_ack(layer_ack_t n) { @@ -458,7 +464,7 @@ void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { break; case RGB_TOG: - // Hack - we only get called on the press for RGB_TOG, + // Hack - we only get called on the press for RGB_TOG, // but the flag is only flipped on the release... rgb_layer_ack_yn(!rgblight_config.enable); break; @@ -476,20 +482,5 @@ void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { rgb_layer_ack_yn(keymap_config.nkro); break; #endif - -#if defined(UNICODE_COMMON_ENABLE) - case UC_M_MA: - case UC_M_LN: - case UC_M_WI: - case UC_M_BS: - case UC_M_WC: - case UC_M_EM: - - case UC_MOD: - case UC_RMOD: - rgb_layer_ack(ACK_MEH); - do_rgb_unicode(); - break; -#endif } } diff --git a/users/spidey3/spidey3.c b/users/spidey3/spidey3.c index 842bb465f7..d9b893814a 100644 --- a/users/spidey3/spidey3.c +++ b/users/spidey3/spidey3.c @@ -98,14 +98,14 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin clear_oneshot_mods(); #endif - bool caps = host_keyboard_led_state().caps_lock; + bool caps = host_keyboard_led_state().caps_lock; uint32_t base = ((shifted == caps) ? baseAlphaLower : baseAlphaUpper); _register(base + (keycode - KC_A)); set_mods(temp_mod); } return false; case KC_0: - if (shifted) { // skip shifted numbers, so that we can still use symbols etc. + if (shifted) { // skip shifted numbers, so that we can still use symbols etc. return true; } if (record->event.pressed) { @@ -113,7 +113,7 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin } return false; case KC_1 ... KC_9: - if (shifted) { // skip shifted numbers, so that we can still use symbols etc. + if (shifted) { // skip shifted numbers, so that we can still use symbols etc. return true; } if (record->event.pressed) { @@ -122,7 +122,7 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin return false; case KC_SPACE: if (record->event.pressed) { - _register(spaceGlyph); // em space + _register(spaceGlyph); // em space } return false; } @@ -338,7 +338,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { set_mods(mods); return false; } - } else { // on release of KC_BSPC + } else { // on release of KC_BSPC // In case KC_DEL is still being sent even after the release of KC_BSPC if (delkey_registered) { unregister_code(KC_DEL); @@ -387,3 +387,11 @@ bool led_update_user(led_t led_state) { return true; #endif } + +#if defined(UNICODE_COMMON_ENABLE) +void unicode_input_mode_set_user(uint8_t input_mode) { +# ifdef RGBLIGHT_ENABLE + unicode_input_mode_set_user_rgb(input_mode); +# endif +} +#endif diff --git a/users/spidey3/spidey3.h b/users/spidey3/spidey3.h index e91b299e55..7a9407969e 100644 --- a/users/spidey3/spidey3.h +++ b/users/spidey3/spidey3.h @@ -17,9 +17,9 @@ enum userspace_layers { }; enum custom_keycodes { - CH_CPNL = SAFE_RANGE, // AL Control Panel - CH_ASST, // AL Context-aware Desktop Assistant - CH_SUSP, // Suspend + CH_CPNL = SAFE_RANGE, // AL Control Panel + CH_ASST, // AL Context-aware Desktop Assistant + CH_SUSP, // Suspend SPI_NORMAL, SPI_WIDE, @@ -65,6 +65,11 @@ void rgb_layer_ack(layer_ack_t n); void rgb_layer_ack_yn(bool yn); void clear_rgb_layers(void); void shutdown_user_rgb(void); + +# if defined(UNICODE_COMMON_ENABLE) +void unicode_input_mode_set_user_rgb(uint8_t input_mode); +# endif + #endif #ifdef UNICODEMAP_ENABLE -- cgit v1.2.3 From 3d667f09705fa780bd5881cfa3b3cb10fa41b1fe Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 13 Sep 2022 01:49:04 +1000 Subject: Refactor Unicode feature (#18333) --- builddefs/common_features.mk | 4 +- quantum/painter/rules.mk | 5 +- quantum/process_keycode/process_ucis.c | 17 +- quantum/process_keycode/process_ucis.h | 6 +- quantum/process_keycode/process_unicode.c | 12 +- quantum/process_keycode/process_unicode.h | 5 +- quantum/process_keycode/process_unicode_common.c | 315 +------------------ quantum/process_keycode/process_unicode_common.h | 178 +---------- quantum/process_keycode/process_unicodemap.c | 5 + quantum/process_keycode/process_unicodemap.h | 6 +- quantum/quantum.h | 1 + quantum/unicode/unicode.c | 376 +++++++++++++++++++++++ quantum/unicode/unicode.h | 165 ++++++++++ quantum/unicode/utf8.c | 46 +++ quantum/unicode/utf8.h | 21 ++ quantum/utf8.c | 46 --- quantum/utf8.h | 21 -- 17 files changed, 657 insertions(+), 572 deletions(-) create mode 100644 quantum/unicode/unicode.c create mode 100644 quantum/unicode/unicode.h create mode 100644 quantum/unicode/utf8.c create mode 100644 quantum/unicode/utf8.h delete mode 100644 quantum/utf8.c delete mode 100644 quantum/utf8.h (limited to 'quantum/process_keycode/process_unicode_common.c') diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index f9618709c9..3d34c673d3 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -773,8 +773,10 @@ endif ifeq ($(strip $(UNICODE_COMMON)), yes) OPT_DEFS += -DUNICODE_COMMON_ENABLE + COMMON_VPATH += $(QUANTUM_DIR)/unicode SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c \ - $(QUANTUM_DIR)/utf8.c + $(QUANTUM_DIR)/unicode/unicode.c \ + $(QUANTUM_DIR)/unicode/utf8.c endif MAGIC_ENABLE ?= yes diff --git a/quantum/painter/rules.mk b/quantum/painter/rules.mk index 91787dfe0e..4420bccf63 100644 --- a/quantum/painter/rules.mk +++ b/quantum/painter/rules.mk @@ -8,9 +8,10 @@ VALID_QUANTUM_PAINTER_DRIVERS := ili9163_spi ili9341_spi ili9488_spi st7789_spi #------------------------------------------------------------------------------- OPT_DEFS += -DQUANTUM_PAINTER_ENABLE -COMMON_VPATH += $(QUANTUM_DIR)/painter +COMMON_VPATH += $(QUANTUM_DIR)/painter \ + $(QUANTUM_DIR)/unicode SRC += \ - $(QUANTUM_DIR)/utf8.c \ + $(QUANTUM_DIR)/unicode/utf8.c \ $(QUANTUM_DIR)/color.c \ $(QUANTUM_DIR)/painter/qp.c \ $(QUANTUM_DIR)/painter/qp_stream.c \ diff --git a/quantum/process_keycode/process_ucis.c b/quantum/process_keycode/process_ucis.c index 6a8d8f0ff6..646471bc4d 100644 --- a/quantum/process_keycode/process_ucis.c +++ b/quantum/process_keycode/process_ucis.c @@ -15,6 +15,9 @@ */ #include "process_ucis.h" +#include "unicode.h" +#include "keycode.h" +#include "wait.h" qk_ucis_state_t qk_ucis_state; @@ -26,9 +29,7 @@ void qk_ucis_start(void) { } __attribute__((weak)) void qk_ucis_start_user(void) { - unicode_input_start(); - register_hex(0x2328); // ⌨ - unicode_input_finish(); + register_unicode(0x2328); // ⌨ } __attribute__((weak)) void qk_ucis_success(uint8_t symbol_index) {} @@ -51,10 +52,7 @@ static bool is_uni_seq(char *seq) { __attribute__((weak)) void qk_ucis_symbol_fallback(void) { for (uint8_t i = 0; i < qk_ucis_state.count - 1; i++) { - uint8_t keycode = qk_ucis_state.codes[i]; - register_code(keycode); - unregister_code(keycode); - wait_ms(UNICODE_TYPE_DELAY); + tap_code(qk_ucis_state.codes[i]); } } @@ -63,7 +61,6 @@ __attribute__((weak)) void qk_ucis_cancel(void) {} void register_ucis(const uint32_t *code_points) { for (int i = 0; i < UCIS_MAX_CODE_POINTS && code_points[i]; i++) { register_unicode(code_points[i]); - wait_ms(UNICODE_TYPE_DELAY); } } @@ -94,9 +91,7 @@ bool process_ucis(uint16_t keycode, keyrecord_t *record) { case KC_ENTER: case KC_ESCAPE: for (uint8_t i = 0; i < qk_ucis_state.count; i++) { - register_code(KC_BACKSPACE); - unregister_code(KC_BACKSPACE); - wait_ms(UNICODE_TYPE_DELAY); + tap_code(KC_BACKSPACE); } if (keycode == KC_ESCAPE) { diff --git a/quantum/process_keycode/process_ucis.h b/quantum/process_keycode/process_ucis.h index a667430bda..3de0707762 100644 --- a/quantum/process_keycode/process_ucis.h +++ b/quantum/process_keycode/process_ucis.h @@ -16,8 +16,10 @@ #pragma once -#include "quantum.h" -#include "process_unicode_common.h" +#include +#include + +#include "action.h" #ifndef UCIS_MAX_SYMBOL_LENGTH # define UCIS_MAX_SYMBOL_LENGTH 32 diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c index 18a1d8bc1f..99cc2f5f26 100644 --- a/quantum/process_keycode/process_unicode.c +++ b/quantum/process_keycode/process_unicode.c @@ -15,14 +15,14 @@ */ #include "process_unicode.h" -#include "action_util.h" -#include "eeprom.h" +#include "unicode.h" +#include "quantum_keycodes.h" bool process_unicode(uint16_t keycode, keyrecord_t *record) { - if (keycode >= QK_UNICODE && keycode <= QK_UNICODE_MAX && record->event.pressed) { - unicode_input_start(); - register_hex(keycode & 0x7FFF); - unicode_input_finish(); + if (record->event.pressed) { + if (keycode >= QK_UNICODE && keycode <= QK_UNICODE_MAX) { + register_unicode(keycode & 0x7FFF); + } } return true; } diff --git a/quantum/process_keycode/process_unicode.h b/quantum/process_keycode/process_unicode.h index 22765ad560..341bc8d861 100644 --- a/quantum/process_keycode/process_unicode.h +++ b/quantum/process_keycode/process_unicode.h @@ -16,6 +16,9 @@ #pragma once -#include "process_unicode_common.h" +#include +#include + +#include "action.h" bool process_unicode(uint16_t keycode, keyrecord_t *record); diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index 94809cf029..bd5fc560f3 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -15,306 +15,17 @@ */ #include "process_unicode_common.h" -#include "eeprom.h" -#include "utf8.h" +#include "unicode.h" +#include "action_util.h" +#include "keycode.h" -unicode_config_t unicode_config; -uint8_t unicode_saved_mods; -bool unicode_saved_caps_lock; -bool unicode_saved_num_lock; - -#if UNICODE_SELECTED_MODES != -1 -static uint8_t selected[] = {UNICODE_SELECTED_MODES}; -static int8_t selected_count = ARRAY_SIZE(selected); -static int8_t selected_index; -#endif - -/** \brief Uunicode input mode set at user level - * - * Run user code on unicode input mode change - */ -__attribute__((weak)) void unicode_input_mode_set_user(uint8_t input_mode) {} - -/** \brief unicode input mode set at keyboard level - * - * Run keyboard code on unicode input mode change - */ -__attribute__((weak)) void unicode_input_mode_set_kb(uint8_t input_mode) { - unicode_input_mode_set_user(input_mode); -} - -void unicode_input_mode_init(void) { - unicode_config.raw = eeprom_read_byte(EECONFIG_UNICODEMODE); -#if UNICODE_SELECTED_MODES != -1 -# if UNICODE_CYCLE_PERSIST - // Find input_mode in selected modes - int8_t i; - for (i = 0; i < selected_count; i++) { - if (selected[i] == unicode_config.input_mode) { - selected_index = i; - break; - } - } - if (i == selected_count) { - // Not found: input_mode isn't selected, change to one that is - unicode_config.input_mode = selected[selected_index = 0]; - } -# else - // Always change to the first selected input mode - unicode_config.input_mode = selected[selected_index = 0]; -# endif -#endif - unicode_input_mode_set_kb(unicode_config.input_mode); - dprintf("Unicode input mode init to: %u\n", unicode_config.input_mode); -} - -uint8_t get_unicode_input_mode(void) { - return unicode_config.input_mode; -} - -void set_unicode_input_mode(uint8_t mode) { - unicode_config.input_mode = mode; - persist_unicode_input_mode(); - unicode_input_mode_set_kb(mode); - dprintf("Unicode input mode set to: %u\n", unicode_config.input_mode); -} - -void cycle_unicode_input_mode(int8_t offset) { -#if UNICODE_SELECTED_MODES != -1 - selected_index = (selected_index + offset) % selected_count; - if (selected_index < 0) { - selected_index += selected_count; - } - unicode_config.input_mode = selected[selected_index]; -# if UNICODE_CYCLE_PERSIST - persist_unicode_input_mode(); -# endif - unicode_input_mode_set_kb(unicode_config.input_mode); - dprintf("Unicode input mode cycle to: %u\n", unicode_config.input_mode); -#endif -} - -void persist_unicode_input_mode(void) { - eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config.input_mode); -} - -__attribute__((weak)) void unicode_input_start(void) { - unicode_saved_caps_lock = host_keyboard_led_state().caps_lock; - unicode_saved_num_lock = host_keyboard_led_state().num_lock; - - // Note the order matters here! - // Need to do this before we mess around with the mods, or else - // UNICODE_KEY_LNX (which is usually Ctrl-Shift-U) might not work - // correctly in the shifted case. - if (unicode_config.input_mode == UC_LNX && unicode_saved_caps_lock) { - tap_code(KC_CAPS_LOCK); - } - - unicode_saved_mods = get_mods(); // Save current mods - clear_mods(); // Unregister mods to start from a clean state - clear_weak_mods(); - - switch (unicode_config.input_mode) { - case UC_MAC: - register_code(UNICODE_KEY_MAC); - break; - case UC_LNX: - tap_code16(UNICODE_KEY_LNX); - break; - case UC_WIN: - // For increased reliability, use numpad keys for inputting digits - if (!unicode_saved_num_lock) { - tap_code(KC_NUM_LOCK); - } - register_code(KC_LEFT_ALT); - wait_ms(UNICODE_TYPE_DELAY); - tap_code(KC_KP_PLUS); - break; - case UC_WINC: - tap_code(UNICODE_KEY_WINC); - tap_code(KC_U); - break; - case UC_EMACS: - // The usual way to type unicode in emacs is C-x-8 then the unicode number in hex - tap_code16(LCTL(KC_X)); - tap_code16(KC_8); - tap_code16(KC_ENTER); - break; - } - - wait_ms(UNICODE_TYPE_DELAY); -} - -__attribute__((weak)) void unicode_input_finish(void) { - switch (unicode_config.input_mode) { - case UC_MAC: - unregister_code(UNICODE_KEY_MAC); - break; - case UC_LNX: - tap_code(KC_SPACE); - if (unicode_saved_caps_lock) { - tap_code(KC_CAPS_LOCK); - } - break; - case UC_WIN: - unregister_code(KC_LEFT_ALT); - if (!unicode_saved_num_lock) { - tap_code(KC_NUM_LOCK); - } - break; - case UC_WINC: - tap_code(KC_ENTER); - break; - case UC_EMACS: - tap_code16(KC_ENTER); - break; - } - - set_mods(unicode_saved_mods); // Reregister previously set mods -} - -__attribute__((weak)) void unicode_input_cancel(void) { - switch (unicode_config.input_mode) { - case UC_MAC: - unregister_code(UNICODE_KEY_MAC); - break; - case UC_LNX: - tap_code(KC_ESCAPE); - if (unicode_saved_caps_lock) { - tap_code(KC_CAPS_LOCK); - } - break; - case UC_WINC: - tap_code(KC_ESCAPE); - break; - case UC_WIN: - unregister_code(KC_LEFT_ALT); - if (!unicode_saved_num_lock) { - tap_code(KC_NUM_LOCK); - } - break; - case UC_EMACS: - tap_code16(LCTL(KC_G)); // C-g cancels - break; - } - - set_mods(unicode_saved_mods); // Reregister previously set mods -} - -// clang-format off - -static void send_nibble_wrapper(uint8_t digit) { - if (unicode_config.input_mode == UC_WIN) { - uint8_t kc = digit < 10 - ? KC_KP_1 + (10 + digit - 1) % 10 - : KC_A + (digit - 10); - tap_code(kc); - return; - } - send_nibble(digit); -} - -// clang-format on - -void register_hex(uint16_t hex) { - for (int i = 3; i >= 0; i--) { - uint8_t digit = ((hex >> (i * 4)) & 0xF); - send_nibble_wrapper(digit); - } -} - -void register_hex32(uint32_t hex) { - bool onzerostart = true; - for (int i = 7; i >= 0; i--) { - if (i <= 3) { - onzerostart = false; - } - uint8_t digit = ((hex >> (i * 4)) & 0xF); - if (digit == 0) { - if (!onzerostart) { - send_nibble_wrapper(digit); - } - } else { - send_nibble_wrapper(digit); - onzerostart = false; - } - } -} - -void register_unicode(uint32_t code_point) { - if (code_point > 0x10FFFF || (code_point > 0xFFFF && unicode_config.input_mode == UC_WIN)) { - // Code point out of range, do nothing - return; - } - - unicode_input_start(); - if (code_point > 0xFFFF && unicode_config.input_mode == UC_MAC) { - // Convert code point to UTF-16 surrogate pair on macOS - code_point -= 0x10000; - uint32_t lo = code_point & 0x3FF, hi = (code_point & 0xFFC00) >> 10; - register_hex32(hi + 0xD800); - register_hex32(lo + 0xDC00); - } else { - register_hex32(code_point); - } - unicode_input_finish(); -} - -void send_unicode_string(const char *str) { - if (!str) { - return; - } - - while (*str) { - int32_t code_point = 0; - str = decode_utf8(str, &code_point); - - if (code_point >= 0) { - register_unicode(code_point); - } - } -} - -// clang-format off - -static void audio_helper(void) { -#ifdef AUDIO_ENABLE - switch (get_unicode_input_mode()) { -# ifdef UNICODE_SONG_MAC - static float song_mac[][2] = UNICODE_SONG_MAC; - case UC_MAC: - PLAY_SONG(song_mac); - break; -# endif -# ifdef UNICODE_SONG_LNX - static float song_lnx[][2] = UNICODE_SONG_LNX; - case UC_LNX: - PLAY_SONG(song_lnx); - break; -# endif -# ifdef UNICODE_SONG_WIN - static float song_win[][2] = UNICODE_SONG_WIN; - case UC_WIN: - PLAY_SONG(song_win); - break; -# endif -# ifdef UNICODE_SONG_BSD - static float song_bsd[][2] = UNICODE_SONG_BSD; - case UC_BSD: - PLAY_SONG(song_bsd); - break; -# endif -# ifdef UNICODE_SONG_WINC - static float song_winc[][2] = UNICODE_SONG_WINC; - case UC_WINC: - PLAY_SONG(song_winc); - break; -# endif - } +#if defined(UNICODE_ENABLE) +# include "process_unicode.h" +#elif defined(UNICODEMAP_ENABLE) +# include "process_unicodemap.h" +#elif defined(UCIS_ENABLE) +# include "process_ucis.h" #endif -} - -// clang-format on bool process_unicode_common(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { @@ -322,35 +33,27 @@ bool process_unicode_common(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case UNICODE_MODE_FORWARD: cycle_unicode_input_mode(shifted ? -1 : +1); - audio_helper(); break; case UNICODE_MODE_REVERSE: cycle_unicode_input_mode(shifted ? +1 : -1); - audio_helper(); break; case UNICODE_MODE_MAC: set_unicode_input_mode(UC_MAC); - audio_helper(); break; case UNICODE_MODE_LNX: set_unicode_input_mode(UC_LNX); - audio_helper(); break; case UNICODE_MODE_WIN: set_unicode_input_mode(UC_WIN); - audio_helper(); break; case UNICODE_MODE_BSD: set_unicode_input_mode(UC_BSD); - audio_helper(); break; case UNICODE_MODE_WINC: set_unicode_input_mode(UC_WINC); - audio_helper(); break; case UNICODE_MODE_EMACS: set_unicode_input_mode(UC_EMACS); - audio_helper(); break; } } diff --git a/quantum/process_keycode/process_unicode_common.h b/quantum/process_keycode/process_unicode_common.h index 0fe672d26a..fd09a41818 100644 --- a/quantum/process_keycode/process_unicode_common.h +++ b/quantum/process_keycode/process_unicode_common.h @@ -16,181 +16,9 @@ #pragma once -#include "quantum.h" +#include +#include -#if defined(UNICODE_ENABLE) + defined(UNICODEMAP_ENABLE) + defined(UCIS_ENABLE) > 1 -# error "Cannot enable more than one Unicode method (UNICODE, UNICODEMAP, UCIS) at the same time" -#endif - -// Keycodes used for starting Unicode input on different platforms -#ifndef UNICODE_KEY_MAC -# define UNICODE_KEY_MAC KC_LEFT_ALT -#endif -#ifndef UNICODE_KEY_LNX -# define UNICODE_KEY_LNX LCTL(LSFT(KC_U)) -#endif -#ifndef UNICODE_KEY_WINC -# define UNICODE_KEY_WINC KC_RIGHT_ALT -#endif - -// Comma-delimited, ordered list of input modes selected for use (e.g. in cycle) -// Example: #define UNICODE_SELECTED_MODES UC_WINC, UC_LNX -#ifndef UNICODE_SELECTED_MODES -# define UNICODE_SELECTED_MODES -1 -#endif - -// Whether input mode changes in cycle should be written to EEPROM -#ifndef UNICODE_CYCLE_PERSIST -# define UNICODE_CYCLE_PERSIST true -#endif - -// Delay between starting Unicode input and sending a sequence, in ms -#ifndef UNICODE_TYPE_DELAY -# define UNICODE_TYPE_DELAY 10 -#endif - -enum unicode_input_modes { - UC_MAC, // macOS using Unicode Hex Input - UC_LNX, // Linux using IBus - UC_WIN, // Windows using EnableHexNumpad - UC_BSD, // BSD (not implemented) - UC_WINC, // Windows using WinCompose (https://github.com/samhocevar/wincompose) - UC_EMACS, // Emacs is an operating system in search of a good text editor - UC__COUNT // Number of available input modes (always leave at the end) -}; - -typedef union { - uint32_t raw; - struct { - uint8_t input_mode : 8; - }; -} unicode_config_t; - -extern unicode_config_t unicode_config; - -void unicode_input_mode_init(void); -uint8_t get_unicode_input_mode(void); -void set_unicode_input_mode(uint8_t mode); -void cycle_unicode_input_mode(int8_t offset); -void persist_unicode_input_mode(void); - -void unicode_input_start(void); -void unicode_input_finish(void); -void unicode_input_cancel(void); - -void unicode_input_mode_set_user(uint8_t input_mode); -void unicode_input_mode_set_kb(uint8_t input_mode); - -void register_hex(uint16_t hex); -void register_hex32(uint32_t hex); -void register_unicode(uint32_t code_point); - -void send_unicode_string(const char *str); +#include "action.h" bool process_unicode_common(uint16_t keycode, keyrecord_t *record); - -#define UC_BSPC UC(0x0008) -#define UC_SPC UC(0x0020) - -#define UC_EXLM UC(0x0021) -#define UC_DQUT UC(0x0022) -#define UC_HASH UC(0x0023) -#define UC_DLR UC(0x0024) -#define UC_PERC UC(0x0025) -#define UC_AMPR UC(0x0026) -#define UC_QUOT UC(0x0027) -#define UC_LPRN UC(0x0028) -#define UC_RPRN UC(0x0029) -#define UC_ASTR UC(0x002A) -#define UC_PLUS UC(0x002B) -#define UC_COMM UC(0x002C) -#define UC_DASH UC(0x002D) -#define UC_DOT UC(0x002E) -#define UC_SLSH UC(0x002F) - -#define UC_0 UC(0x0030) -#define UC_1 UC(0x0031) -#define UC_2 UC(0x0032) -#define UC_3 UC(0x0033) -#define UC_4 UC(0x0034) -#define UC_5 UC(0x0035) -#define UC_6 UC(0x0036) -#define UC_7 UC(0x0037) -#define UC_8 UC(0x0038) -#define UC_9 UC(0x0039) - -#define UC_COLN UC(0x003A) -#define UC_SCLN UC(0x003B) -#define UC_LT UC(0x003C) -#define UC_EQL UC(0x003D) -#define UC_GT UC(0x003E) -#define UC_QUES UC(0x003F) -#define UC_AT UC(0x0040) - -#define UC_A UC(0x0041) -#define UC_B UC(0x0042) -#define UC_C UC(0x0043) -#define UC_D UC(0x0044) -#define UC_E UC(0x0045) -#define UC_F UC(0x0046) -#define UC_G UC(0x0047) -#define UC_H UC(0x0048) -#define UC_I UC(0x0049) -#define UC_J UC(0x004A) -#define UC_K UC(0x004B) -#define UC_L UC(0x004C) -#define UC_M UC(0x004D) -#define UC_N UC(0x004E) -#define UC_O UC(0x004F) -#define UC_P UC(0x0050) -#define UC_Q UC(0x0051) -#define UC_R UC(0x0052) -#define UC_S UC(0x0053) -#define UC_T UC(0x0054) -#define UC_U UC(0x0055) -#define UC_V UC(0x0056) -#define UC_W UC(0x0057) -#define UC_X UC(0x0058) -#define UC_Y UC(0x0059) -#define UC_Z UC(0x005A) - -#define UC_LBRC UC(0x005B) -#define UC_BSLS UC(0x005C) -#define UC_RBRC UC(0x005D) -#define UC_CIRM UC(0x005E) -#define UC_UNDR UC(0x005F) - -#define UC_GRV UC(0x0060) - -#define UC_a UC(0x0061) -#define UC_b UC(0x0062) -#define UC_c UC(0x0063) -#define UC_d UC(0x0064) -#define UC_e UC(0x0065) -#define UC_f UC(0x0066) -#define UC_g UC(0x0067) -#define UC_h UC(0x0068) -#define UC_i UC(0x0069) -#define UC_j UC(0x006A) -#define UC_k UC(0x006B) -#define UC_l UC(0x006C) -#define UC_m UC(0x006D) -#define UC_n UC(0x006E) -#define UC_o UC(0x006F) -#define UC_p UC(0x0070) -#define UC_q UC(0x0071) -#define UC_r UC(0x0072) -#define UC_s UC(0x0073) -#define UC_t UC(0x0074) -#define UC_u UC(0x0075) -#define UC_v UC(0x0076) -#define UC_w UC(0x0077) -#define UC_x UC(0x0078) -#define UC_y UC(0x0079) -#define UC_z UC(0x007A) - -#define UC_LCBR UC(0x007B) -#define UC_PIPE UC(0x007C) -#define UC_RCBR UC(0x007D) -#define UC_TILD UC(0x007E) -#define UC_DEL UC(0x007F) diff --git a/quantum/process_keycode/process_unicodemap.c b/quantum/process_keycode/process_unicodemap.c index 459397014d..979d773b05 100644 --- a/quantum/process_keycode/process_unicodemap.c +++ b/quantum/process_keycode/process_unicodemap.c @@ -15,6 +15,11 @@ */ #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) { diff --git a/quantum/process_keycode/process_unicodemap.h b/quantum/process_keycode/process_unicodemap.h index c429859bbb..73f5449864 100644 --- a/quantum/process_keycode/process_unicodemap.h +++ b/quantum/process_keycode/process_unicodemap.h @@ -16,7 +16,11 @@ #pragma once -#include "process_unicode_common.h" +#include +#include + +#include "action.h" +#include "progmem.h" extern const uint32_t PROGMEM unicode_map[]; diff --git a/quantum/quantum.h b/quantum/quantum.h index 8d74f2be38..51360c3d2a 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -109,6 +109,7 @@ extern layer_state_t layer_state; #endif #ifdef UNICODE_COMMON_ENABLE +# include "unicode.h" # include "process_unicode_common.h" #endif diff --git a/quantum/unicode/unicode.c b/quantum/unicode/unicode.c new file mode 100644 index 0000000000..f9f429e7af --- /dev/null +++ b/quantum/unicode/unicode.c @@ -0,0 +1,376 @@ +/* Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "unicode.h" + +#include "eeprom.h" +#include "eeconfig.h" +#include "action.h" +#include "action_util.h" +#include "host.h" +#include "keycode.h" +#include "wait.h" +#include "audio.h" +#include "send_string.h" +#include "utf8.h" + +#if defined(UNICODE_ENABLE) + defined(UNICODEMAP_ENABLE) + defined(UCIS_ENABLE) > 1 +# error "Cannot enable more than one Unicode method (UNICODE, UNICODEMAP, UCIS) at the same time" +#endif + +// Keycodes used for starting Unicode input on different platforms +#ifndef UNICODE_KEY_MAC +# define UNICODE_KEY_MAC KC_LEFT_ALT +#endif +#ifndef UNICODE_KEY_LNX +# define UNICODE_KEY_LNX LCTL(LSFT(KC_U)) +#endif +#ifndef UNICODE_KEY_WINC +# define UNICODE_KEY_WINC KC_RIGHT_ALT +#endif + +// Comma-delimited, ordered list of input modes selected for use (e.g. in cycle) +// Example: #define UNICODE_SELECTED_MODES UC_WINC, UC_LNX +#ifndef UNICODE_SELECTED_MODES +# define UNICODE_SELECTED_MODES -1 +#endif + +// Whether input mode changes in cycle should be written to EEPROM +#ifndef UNICODE_CYCLE_PERSIST +# define UNICODE_CYCLE_PERSIST true +#endif + +// Delay between starting Unicode input and sending a sequence, in ms +#ifndef UNICODE_TYPE_DELAY +# define UNICODE_TYPE_DELAY 10 +#endif + +unicode_config_t unicode_config; +uint8_t unicode_saved_mods; +led_t unicode_saved_led_state; + +#if UNICODE_SELECTED_MODES != -1 +static uint8_t selected[] = {UNICODE_SELECTED_MODES}; +static int8_t selected_count = ARRAY_SIZE(selected); +static int8_t selected_index; +#endif + +/** \brief unicode input mode set at user level + * + * Run user code on unicode input mode change + */ +__attribute__((weak)) void unicode_input_mode_set_user(uint8_t input_mode) {} + +/** \brief unicode input mode set at keyboard level + * + * Run keyboard code on unicode input mode change + */ +__attribute__((weak)) void unicode_input_mode_set_kb(uint8_t input_mode) { + unicode_input_mode_set_user(input_mode); +} + +#ifdef AUDIO_ENABLE +# ifdef UNICODE_SONG_MAC +static float song_mac[][2] = UNICODE_SONG_MAC; +# endif +# ifdef UNICODE_SONG_LNX +static float song_lnx[][2] = UNICODE_SONG_LNX; +# endif +# ifdef UNICODE_SONG_WIN +static float song_win[][2] = UNICODE_SONG_WIN; +# endif +# ifdef UNICODE_SONG_BSD +static float song_bsd[][2] = UNICODE_SONG_BSD; +# endif +# ifdef UNICODE_SONG_WINC +static float song_winc[][2] = UNICODE_SONG_WINC; +# endif +# ifdef UNICODE_SONG_EMACS +static float song_emacs[][2] = UNICODE_SONG_EMACS; +# endif + +static void unicode_play_song(uint8_t mode) { + switch (mode) { +# ifdef UNICODE_SONG_MAC + case UC_MAC: + PLAY_SONG(song_mac); + break; +# endif +# ifdef UNICODE_SONG_LNX + case UC_LNX: + PLAY_SONG(song_lnx); + break; +# endif +# ifdef UNICODE_SONG_WIN + case UC_WIN: + PLAY_SONG(song_win); + break; +# endif +# ifdef UNICODE_SONG_BSD + case UC_BSD: + PLAY_SONG(song_bsd); + break; +# endif +# ifdef UNICODE_SONG_WINC + case UC_WINC: + PLAY_SONG(song_winc); + break; +# endif +# ifdef UNICODE_SONG_EMACS + case UC_EMACS: + PLAY_SONG(song_emacs); + break; +# endif + } +} +#endif + +void unicode_input_mode_init(void) { + unicode_config.raw = eeprom_read_byte(EECONFIG_UNICODEMODE); +#if UNICODE_SELECTED_MODES != -1 +# if UNICODE_CYCLE_PERSIST + // Find input_mode in selected modes + int8_t i; + for (i = 0; i < selected_count; i++) { + if (selected[i] == unicode_config.input_mode) { + selected_index = i; + break; + } + } + if (i == selected_count) { + // Not found: input_mode isn't selected, change to one that is + unicode_config.input_mode = selected[selected_index = 0]; + } +# else + // Always change to the first selected input mode + unicode_config.input_mode = selected[selected_index = 0]; +# endif +#endif + unicode_input_mode_set_kb(unicode_config.input_mode); + dprintf("Unicode input mode init to: %u\n", unicode_config.input_mode); +} + +uint8_t get_unicode_input_mode(void) { + return unicode_config.input_mode; +} + +void set_unicode_input_mode(uint8_t mode) { + unicode_config.input_mode = mode; + persist_unicode_input_mode(); +#ifdef AUDIO_ENABLE + unicode_play_song(mode); +#endif + unicode_input_mode_set_kb(mode); + dprintf("Unicode input mode set to: %u\n", unicode_config.input_mode); +} + +void cycle_unicode_input_mode(int8_t offset) { +#if UNICODE_SELECTED_MODES != -1 + selected_index = (selected_index + offset) % selected_count; + if (selected_index < 0) { + selected_index += selected_count; + } + unicode_config.input_mode = selected[selected_index]; +# if UNICODE_CYCLE_PERSIST + persist_unicode_input_mode(); +# endif +# ifdef AUDIO_ENABLE + unicode_play_song(unicode_config.input_mode); +# endif + unicode_input_mode_set_kb(unicode_config.input_mode); + dprintf("Unicode input mode cycle to: %u\n", unicode_config.input_mode); +#endif +} + +void persist_unicode_input_mode(void) { + eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config.input_mode); +} + +__attribute__((weak)) void unicode_input_start(void) { + unicode_saved_led_state = host_keyboard_led_state(); + + // Note the order matters here! + // Need to do this before we mess around with the mods, or else + // UNICODE_KEY_LNX (which is usually Ctrl-Shift-U) might not work + // correctly in the shifted case. + if (unicode_config.input_mode == UC_LNX && unicode_saved_led_state.caps_lock) { + tap_code(KC_CAPS_LOCK); + } + + unicode_saved_mods = get_mods(); // Save current mods + clear_mods(); // Unregister mods to start from a clean state + clear_weak_mods(); + + switch (unicode_config.input_mode) { + case UC_MAC: + register_code(UNICODE_KEY_MAC); + break; + case UC_LNX: + tap_code16(UNICODE_KEY_LNX); + break; + case UC_WIN: + // For increased reliability, use numpad keys for inputting digits + if (!unicode_saved_led_state.num_lock) { + tap_code(KC_NUM_LOCK); + } + register_code(KC_LEFT_ALT); + wait_ms(UNICODE_TYPE_DELAY); + tap_code(KC_KP_PLUS); + break; + case UC_WINC: + tap_code(UNICODE_KEY_WINC); + tap_code(KC_U); + break; + case UC_EMACS: + // The usual way to type unicode in emacs is C-x-8 then the unicode number in hex + tap_code16(LCTL(KC_X)); + tap_code16(KC_8); + tap_code16(KC_ENTER); + break; + } + + wait_ms(UNICODE_TYPE_DELAY); +} + +__attribute__((weak)) void unicode_input_finish(void) { + switch (unicode_config.input_mode) { + case UC_MAC: + unregister_code(UNICODE_KEY_MAC); + break; + case UC_LNX: + tap_code(KC_SPACE); + if (unicode_saved_led_state.caps_lock) { + tap_code(KC_CAPS_LOCK); + } + break; + case UC_WIN: + unregister_code(KC_LEFT_ALT); + if (!unicode_saved_led_state.num_lock) { + tap_code(KC_NUM_LOCK); + } + break; + case UC_WINC: + tap_code(KC_ENTER); + break; + case UC_EMACS: + tap_code16(KC_ENTER); + break; + } + + set_mods(unicode_saved_mods); // Reregister previously set mods +} + +__attribute__((weak)) void unicode_input_cancel(void) { + switch (unicode_config.input_mode) { + case UC_MAC: + unregister_code(UNICODE_KEY_MAC); + break; + case UC_LNX: + tap_code(KC_ESCAPE); + if (unicode_saved_led_state.caps_lock) { + tap_code(KC_CAPS_LOCK); + } + break; + case UC_WINC: + tap_code(KC_ESCAPE); + break; + case UC_WIN: + unregister_code(KC_LEFT_ALT); + if (!unicode_saved_led_state.num_lock) { + tap_code(KC_NUM_LOCK); + } + break; + case UC_EMACS: + tap_code16(LCTL(KC_G)); // C-g cancels + break; + } + + set_mods(unicode_saved_mods); // Reregister previously set mods +} + +// clang-format off + +static void send_nibble_wrapper(uint8_t digit) { + if (unicode_config.input_mode == UC_WIN) { + uint8_t kc = digit < 10 + ? KC_KP_1 + (10 + digit - 1) % 10 + : KC_A + (digit - 10); + tap_code(kc); + return; + } + send_nibble(digit); +} + +// clang-format on + +void register_hex(uint16_t hex) { + for (int i = 3; i >= 0; i--) { + uint8_t digit = ((hex >> (i * 4)) & 0xF); + send_nibble_wrapper(digit); + } +} + +void register_hex32(uint32_t hex) { + bool onzerostart = true; + for (int i = 7; i >= 0; i--) { + if (i <= 3) { + onzerostart = false; + } + uint8_t digit = ((hex >> (i * 4)) & 0xF); + if (digit == 0) { + if (!onzerostart) { + send_nibble_wrapper(digit); + } + } else { + send_nibble_wrapper(digit); + onzerostart = false; + } + } +} + +void register_unicode(uint32_t code_point) { + if (code_point > 0x10FFFF || (code_point > 0xFFFF && unicode_config.input_mode == UC_WIN)) { + // Code point out of range, do nothing + return; + } + + unicode_input_start(); + if (code_point > 0xFFFF && unicode_config.input_mode == UC_MAC) { + // Convert code point to UTF-16 surrogate pair on macOS + code_point -= 0x10000; + uint32_t lo = code_point & 0x3FF, hi = (code_point & 0xFFC00) >> 10; + register_hex32(hi + 0xD800); + register_hex32(lo + 0xDC00); + } else { + register_hex32(code_point); + } + unicode_input_finish(); +} + +void send_unicode_string(const char *str) { + if (!str) { + return; + } + + while (*str) { + int32_t code_point = 0; + str = decode_utf8(str, &code_point); + + if (code_point >= 0) { + register_unicode(code_point); + } + } +} diff --git a/quantum/unicode/unicode.h b/quantum/unicode/unicode.h new file mode 100644 index 0000000000..b3e43799ff --- /dev/null +++ b/quantum/unicode/unicode.h @@ -0,0 +1,165 @@ +/* Copyright 2022 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include + +#include "quantum.h" + +typedef union { + uint32_t raw; + struct { + uint8_t input_mode : 8; + }; +} unicode_config_t; + +extern unicode_config_t unicode_config; + +enum unicode_input_modes { + UC_MAC, // macOS using Unicode Hex Input + UC_LNX, // Linux using IBus + UC_WIN, // Windows using EnableHexNumpad + UC_BSD, // BSD (not implemented) + UC_WINC, // Windows using WinCompose (https://github.com/samhocevar/wincompose) + UC_EMACS, // Emacs is an operating system in search of a good text editor + UC__COUNT // Number of available input modes (always leave at the end) +}; + +void unicode_input_mode_init(void); +uint8_t get_unicode_input_mode(void); +void set_unicode_input_mode(uint8_t mode); +void cycle_unicode_input_mode(int8_t offset); +void persist_unicode_input_mode(void); + +void unicode_input_mode_set_user(uint8_t input_mode); +void unicode_input_mode_set_kb(uint8_t input_mode); + +void unicode_input_start(void); +void unicode_input_finish(void); +void unicode_input_cancel(void); + +void register_hex(uint16_t hex); +void register_hex32(uint32_t hex); +void register_unicode(uint32_t code_point); + +void send_unicode_string(const char *str); + +// clang-format off + +#define UC_BSPC UC(0x0008) // (backspace) + +#define UC_SPC UC(0x0020) // (space) +#define UC_EXLM UC(0x0021) // ! +#define UC_DQUT UC(0x0022) // " +#define UC_HASH UC(0x0023) // # +#define UC_DLR UC(0x0024) // $ +#define UC_PERC UC(0x0025) // % +#define UC_AMPR UC(0x0026) // & +#define UC_QUOT UC(0x0027) // ' +#define UC_LPRN UC(0x0028) // ( +#define UC_RPRN UC(0x0029) // ) +#define UC_ASTR UC(0x002A) // * +#define UC_PLUS UC(0x002B) // + +#define UC_COMM UC(0x002C) // , +#define UC_DASH UC(0x002D) // - +#define UC_DOT UC(0x002E) // . +#define UC_SLSH UC(0x002F) // / + +#define UC_0 UC(0x0030) // 0 +#define UC_1 UC(0x0031) // 1 +#define UC_2 UC(0x0032) // 2 +#define UC_3 UC(0x0033) // 3 +#define UC_4 UC(0x0034) // 4 +#define UC_5 UC(0x0035) // 5 +#define UC_6 UC(0x0036) // 6 +#define UC_7 UC(0x0037) // 7 +#define UC_8 UC(0x0038) // 8 +#define UC_9 UC(0x0039) // 9 +#define UC_COLN UC(0x003A) // : +#define UC_SCLN UC(0x003B) // ; +#define UC_LT UC(0x003C) // < +#define UC_EQL UC(0x003D) // = +#define UC_GT UC(0x003E) // > +#define UC_QUES UC(0x003F) // ? + +#define UC_AT UC(0x0040) // @ +#define UC_A UC(0x0041) // A +#define UC_B UC(0x0042) // B +#define UC_C UC(0x0043) // C +#define UC_D UC(0x0044) // D +#define UC_E UC(0x0045) // E +#define UC_F UC(0x0046) // F +#define UC_G UC(0x0047) // G +#define UC_H UC(0x0048) // H +#define UC_I UC(0x0049) // I +#define UC_J UC(0x004A) // J +#define UC_K UC(0x004B) // K +#define UC_L UC(0x004C) // L +#define UC_M UC(0x004D) // M +#define UC_N UC(0x004E) // N +#define UC_O UC(0x004F) // O + +#define UC_P UC(0x0050) // P +#define UC_Q UC(0x0051) // Q +#define UC_R UC(0x0052) // R +#define UC_S UC(0x0053) // S +#define UC_T UC(0x0054) // T +#define UC_U UC(0x0055) // U +#define UC_V UC(0x0056) // V +#define UC_W UC(0x0057) // W +#define UC_X UC(0x0058) // X +#define UC_Y UC(0x0059) // Y +#define UC_Z UC(0x005A) // Z +#define UC_LBRC UC(0x005B) // [ +#define UC_BSLS UC(0x005C) // (backslash) +#define UC_RBRC UC(0x005D) // ] +#define UC_CIRM UC(0x005E) // ^ +#define UC_UNDR UC(0x005F) // _ + +#define UC_GRV UC(0x0060) // ` +#define UC_a UC(0x0061) // a +#define UC_b UC(0x0062) // b +#define UC_c UC(0x0063) // c +#define UC_d UC(0x0064) // d +#define UC_e UC(0x0065) // e +#define UC_f UC(0x0066) // f +#define UC_g UC(0x0067) // g +#define UC_h UC(0x0068) // h +#define UC_i UC(0x0069) // i +#define UC_j UC(0x006A) // j +#define UC_k UC(0x006B) // k +#define UC_l UC(0x006C) // l +#define UC_m UC(0x006D) // m +#define UC_n UC(0x006E) // n +#define UC_o UC(0x006F) // o + +#define UC_p UC(0x0070) // p +#define UC_q UC(0x0071) // q +#define UC_r UC(0x0072) // r +#define UC_s UC(0x0073) // s +#define UC_t UC(0x0074) // t +#define UC_u UC(0x0075) // u +#define UC_v UC(0x0076) // v +#define UC_w UC(0x0077) // w +#define UC_x UC(0x0078) // x +#define UC_y UC(0x0079) // y +#define UC_z UC(0x007A) // z +#define UC_LCBR UC(0x007B) // { +#define UC_PIPE UC(0x007C) // | +#define UC_RCBR UC(0x007D) // } +#define UC_TILD UC(0x007E) // ~ +#define UC_DEL UC(0x007F) // (delete) diff --git a/quantum/unicode/utf8.c b/quantum/unicode/utf8.c new file mode 100644 index 0000000000..4b2cd4d8d4 --- /dev/null +++ b/quantum/unicode/utf8.c @@ -0,0 +1,46 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "utf8.h" + +// Borrowed from https://nullprogram.com/blog/2017/10/06/ +const char *decode_utf8(const char *str, int32_t *code_point) { + const char *next; + + if (str[0] < 0x80) { // U+0000-007F + *code_point = str[0]; + next = str + 1; + } else if ((str[0] & 0xE0) == 0xC0) { // U+0080-07FF + *code_point = ((int32_t)(str[0] & 0x1F) << 6) | ((int32_t)(str[1] & 0x3F) << 0); + next = str + 2; + } else if ((str[0] & 0xF0) == 0xE0) { // U+0800-FFFF + *code_point = ((int32_t)(str[0] & 0x0F) << 12) | ((int32_t)(str[1] & 0x3F) << 6) | ((int32_t)(str[2] & 0x3F) << 0); + next = str + 3; + } else if ((str[0] & 0xF8) == 0xF0 && (str[0] <= 0xF4)) { // U+10000-10FFFF + *code_point = ((int32_t)(str[0] & 0x07) << 18) | ((int32_t)(str[1] & 0x3F) << 12) | ((int32_t)(str[2] & 0x3F) << 6) | ((int32_t)(str[3] & 0x3F) << 0); + next = str + 4; + } else { + *code_point = -1; + next = str + 1; + } + + // part of a UTF-16 surrogate pair - invalid + if (*code_point >= 0xD800 && *code_point <= 0xDFFF) { + *code_point = -1; + } + + return next; +} diff --git a/quantum/unicode/utf8.h b/quantum/unicode/utf8.h new file mode 100644 index 0000000000..521dd1918c --- /dev/null +++ b/quantum/unicode/utf8.h @@ -0,0 +1,21 @@ +/* Copyright 2021 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include + +const char *decode_utf8(const char *str, int32_t *code_point); diff --git a/quantum/utf8.c b/quantum/utf8.c deleted file mode 100644 index 4b2cd4d8d4..0000000000 --- a/quantum/utf8.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright 2021 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "utf8.h" - -// Borrowed from https://nullprogram.com/blog/2017/10/06/ -const char *decode_utf8(const char *str, int32_t *code_point) { - const char *next; - - if (str[0] < 0x80) { // U+0000-007F - *code_point = str[0]; - next = str + 1; - } else if ((str[0] & 0xE0) == 0xC0) { // U+0080-07FF - *code_point = ((int32_t)(str[0] & 0x1F) << 6) | ((int32_t)(str[1] & 0x3F) << 0); - next = str + 2; - } else if ((str[0] & 0xF0) == 0xE0) { // U+0800-FFFF - *code_point = ((int32_t)(str[0] & 0x0F) << 12) | ((int32_t)(str[1] & 0x3F) << 6) | ((int32_t)(str[2] & 0x3F) << 0); - next = str + 3; - } else if ((str[0] & 0xF8) == 0xF0 && (str[0] <= 0xF4)) { // U+10000-10FFFF - *code_point = ((int32_t)(str[0] & 0x07) << 18) | ((int32_t)(str[1] & 0x3F) << 12) | ((int32_t)(str[2] & 0x3F) << 6) | ((int32_t)(str[3] & 0x3F) << 0); - next = str + 4; - } else { - *code_point = -1; - next = str + 1; - } - - // part of a UTF-16 surrogate pair - invalid - if (*code_point >= 0xD800 && *code_point <= 0xDFFF) { - *code_point = -1; - } - - return next; -} diff --git a/quantum/utf8.h b/quantum/utf8.h deleted file mode 100644 index fb10910944..0000000000 --- a/quantum/utf8.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2021 QMK - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include - -const char *decode_utf8(const char *str, int32_t *code_point); \ No newline at end of file -- cgit v1.2.3 From 5974d989fe72f6c576901a065bee4487a58c351d Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 1 Nov 2022 08:15:12 +1100 Subject: Normalise Unicode keycodes (#18898) * `UC_MOD`/`UC_RMOD` -> `UC_NEXT`/`UC_PREV` * `UNICODE_MODE_*` -> `QK_UNICODE_MODE_*` * `UC_MAC` -> `UNICODE_MODE_MACOS` * `UC_LNX` -> `UNICODE_MODE_LINUX` * `UC_WIN` -> `UNICODE_MODE_WINDOWS` * `UC_BSD` -> `UNICODE_MODE_BSD` * `UC_WINC` -> `UNICODE_MODE_WINCOMPOSE` * `UC_EMACS` -> `UNICODE_MODE_EMACS` * `UC__COUNT` -> `UNICODE_MODE_COUNT` * `UC_M_MA` -> `UC_MAC` * `UC_M_LN` -> `UC_LINX` * `UC_M_WI` -> `UC_WIN` * `UC_M_BS` -> `UC_BSD` * `UC_M_WC` -> `UC_WINC` * `UC_M_EM` -> `UC_EMAC` * Docs * Update quantum/unicode/unicode.h --- docs/feature_unicode.md | 44 +++++++++--------- docs/keycodes.md | 25 +++++----- keyboards/a_dux/keymaps/daliusd/config.h | 2 +- keyboards/abacus/keymaps/unicodemap/keymap.c | 2 +- keyboards/atreus62/keymaps/d4mation/keymap.c | 4 +- keyboards/b_sides/rev41lp/keymaps/namnlos/config.h | 2 +- keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c | 2 +- .../charybdis/4x6/keymaps/drashna/keymap.c | 2 +- keyboards/bop/config.h | 2 +- .../checkerboards/quark/keymaps/pezhore/config.h | 2 +- .../checkerboards/quark/keymaps/pezhore/keymap.c | 4 +- keyboards/contra/keymaps/bramver/keymap.c | 2 +- .../ibm_terminal/keymaps/priyadi/keymap.c | 8 ++-- keyboards/crkbd/keymaps/nimishgautam/config.h | 2 +- keyboards/crkbd/keymaps/ollyhayes/config.h | 2 +- keyboards/crkbd/keymaps/rmeli/config.h | 2 +- keyboards/crkbd/keymaps/rmeli/keymap.c | 4 +- .../donutcables/budget96/keymaps/donut/keymap.c | 2 +- keyboards/doro67/multi/keymaps/konstantin/keymap.c | 2 +- keyboards/durgod/k320/keymaps/kuenhlee/keymap.c | 2 +- .../dztech/dz65rgb/keymaps/catrielmuller/config.h | 2 +- .../dztech/dz65rgb/keymaps/catrielmuller/keymap.c | 2 +- .../evyd13/wasdat/keymaps/konstantin/keymap.c | 2 +- .../gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c | 2 +- keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c | 2 +- .../gmmk/gmmk2/p96/iso/keymaps/default/keymap.c | 2 +- keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c | 2 +- .../2x5keypad/keymaps/default_tapdance/keymap.c | 2 +- keyboards/handwired/aek64/keymaps/4sstylz/keymap.c | 2 +- keyboards/handwired/d48/keymaps/anderson/keymap.c | 2 +- keyboards/handwired/d48/keymaps/default/keymap.c | 2 +- .../obuwunkunubi/spaget/keymaps/default/keymap.c | 2 +- .../handwired/promethium/keymaps/default/keymap.c | 16 +++---- .../handwired/promethium/keymaps/priyadi/keymap.c | 16 +++---- keyboards/handwired/t111/keymaps/oleg/config.h | 2 +- keyboards/handwired/t111/keymaps/oleg/keymap.c | 2 +- .../4x6_right/keymaps/drashna/keymap.c | 2 +- .../5x6_right/keymaps/drashna/keymap.c | 2 +- .../handwired/videowriter/keymaps/oleg/keymap.c | 2 +- .../handwired/wulkan/keymaps/default/keymap.c | 2 +- keyboards/idobao/id75/keymaps/gkbd/config.h | 2 +- .../keymaps/not-quite-neo/keymap.c | 2 +- .../whitefox/keymaps/konstantin/keymap.c | 2 +- .../kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c | 2 +- keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c | 2 +- .../keebio/levinson/keymaps/drogglbecher/keymap.c | 2 +- keyboards/keebio/nyquist/keymaps/bramver/keymap.c | 2 +- .../keebio/quefrency/keymaps/bramver/keymap.c | 2 +- .../q1/rev_0102/keymaps/victorsavu3/config.h | 2 +- .../kprepublic/bm43hsrgb/keymaps/bitstarr/config.h | 2 +- .../kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c | 2 +- .../bm43hsrgb/keymaps/bitstarr/readme.md | 2 +- .../rev1/keymaps/carlosala/config.h | 2 +- keyboards/ktec/ergodone/keymaps/vega/keymap.c | 8 ++-- keyboards/lyso1/lck75/config.h | 2 +- .../massdrop/alt/keymaps/charlesrocket/config.h | 2 +- .../massdrop/alt/keymaps/charlesrocket/keymap.c | 2 +- .../mechmini/v2/keymaps/wsturgiss/keymap.c | 4 +- keyboards/mitosis/keymaps/nzen/keymap.c | 2 +- keyboards/mlego/m48/keymaps/default/config.h | 2 +- keyboards/mlego/m60/keymaps/default/config.h | 2 +- keyboards/mlego/m60_split/keymaps/default/config.h | 2 +- keyboards/mlego/m65/keymaps/uk/config.h | 4 +- keyboards/moonlander/keymaps/drashna/keymap.c | 2 +- keyboards/planck/keymaps/buhearns/keymap.c | 2 +- keyboards/planck/keymaps/mwpeterson/keymap.c | 2 +- keyboards/planck/keymaps/rootiest/config.h | 2 +- keyboards/planck/keymaps/rootiest/keymap.c | 4 +- keyboards/planck/keymaps/sascha/keymap.c | 2 +- keyboards/planck/keymaps/snowkuma/keymap.c | 2 +- .../planck/keymaps/zach/zach_common_functions.c | 4 +- keyboards/preonic/keymaps/pezhore/config.h | 2 +- keyboards/preonic/keymaps/pezhore/keymap.c | 10 ++-- .../preonic/keymaps/zach/zach_common_functions.c | 4 +- keyboards/redox/keymaps/jeherve/config.h | 2 +- .../reviung/reviung41/keymaps/ciutadellla/config.h | 2 +- .../reviung/reviung41/keymaps/ciutadellla/keymap.c | 2 +- .../nknl7jp/keymaps/salicylic/config.h | 2 +- keyboards/signum/3_0/keymaps/default/layout.py | 2 +- keyboards/spaceman/2_milk/keymaps/emoji/config.h | 2 +- keyboards/spaceman/2_milk/keymaps/emoji/readme.md | 10 ++-- keyboards/spaceman/2_milk/keymaps/encg/config.h | 2 +- keyboards/spaceman/2_milk/keymaps/encg/readme.md | 2 +- keyboards/splitkb/kyria/keymaps/drashna/keymap.c | 2 +- keyboards/splitkb/kyria/keymaps/lw/config.h | 2 +- keyboards/splitkb/kyria/keymaps/lw/keymap.c | 4 +- keyboards/splitkb/kyria/keymaps/lw/readme.md | 4 +- .../minivan/keymaps/josjoha/keymap.c | 2 +- keyboards/xiudi/xd75/keymaps/billypython/keymap.c | 2 +- keyboards/xiudi/xd75/keymaps/bramver/keymap.c | 2 +- keyboards/xiudi/xd75/keymaps/markus/config.h | 2 +- keyboards/xiudi/xd75/keymaps/markus/keymap.c | 6 +-- keyboards/xiudi/xd75/keymaps/minna/config.h | 2 +- keyboards/xiudi/xd75/keymaps/minna/keymap.c | 2 +- keyboards/yatara/drink_me/keymaps/queen/config.h | 2 +- keyboards/yatara/drink_me/keymaps/queen/keymap.c | 8 ++-- keyboards/ymdk/melody96/keymaps/dvz/config.h | 2 +- .../ymdk/melody96/keymaps/konstantin/keymap.c | 2 +- keyboards/ymdk/melody96/keymaps/zunger/keymap.c | 2 +- layouts/community/60_iso/bifbofii/keymap.c | 4 +- layouts/community/65_ansi_blocker/spidey3/keymap.c | 4 +- layouts/community/75_ansi/spidey3/keymap.c | 4 +- layouts/community/ergodox/deadcyclo/keymap.c | 2 +- layouts/community/ergodox/drashna/keymap.c | 2 +- layouts/community/ortho_4x12/bifbofii/keymap.c | 4 +- layouts/community/ortho_5x12/riblee/config.h | 2 +- layouts/community/ortho_5x12/riblee/keymap.c | 2 +- quantum/process_keycode/process_unicode_common.c | 28 +++++------ quantum/quantum_keycodes.h | 32 ++++++------- quantum/quantum_keycodes_legacy.h | 9 ++++ quantum/unicode/unicode.c | 54 +++++++++++----------- quantum/unicode/unicode.h | 15 +++--- tests/caps_word/caps_word_unicodemap/config.h | 2 +- tests/test_common/test_driver.hpp | 2 +- users/arkag/arkag.c | 6 +-- users/drashna/config.h | 2 +- users/konstantin/config.h | 2 +- users/kuchosauronad0/kuchosauronad0.c | 4 +- users/ridingqwerty/ridingqwerty.c | 2 +- users/romus/romus.c | 6 +-- users/rupa/config.h | 2 +- users/rupa/wrappers.h | 2 +- users/rverst/rverst.c | 6 +-- users/rverst/unicode.h | 2 +- users/sigma/sigma.c | 6 +-- users/spidey3/config.h | 2 +- users/spidey3/layer_rgb.c | 22 ++++----- users/spidey3/spidey3.c | 6 +-- users/spidey3/spidey3_unicode.c | 2 +- users/uqs/config.h | 2 +- users/uqs/uqs.c | 4 +- .../yet-another-developer/yet-another-developer.c | 4 +- 132 files changed, 304 insertions(+), 293 deletions(-) (limited to 'quantum/process_keycode/process_unicode_common.c') diff --git a/docs/feature_unicode.md b/docs/feature_unicode.md index 0b06cae6c2..a93e9ad2ba 100644 --- a/docs/feature_unicode.md +++ b/docs/feature_unicode.md @@ -112,28 +112,28 @@ Unicode input in QMK works by inputting a sequence of characters to the OS, sort The following input modes are available: -* **`UC_MAC`**: macOS built-in Unicode hex input. Supports code points up to `0x10FFFF` (all possible code points). +* **`UNICODE_MODE_MACOS`**: macOS built-in Unicode hex input. Supports code points up to `0x10FFFF` (all possible code points). To enable, go to _System Preferences > Keyboard > Input Sources_, add _Unicode Hex Input_ to the list (it's under _Other_), then activate it from the input dropdown in the Menu Bar. By default, this mode uses the left Option key (`KC_LALT`) for Unicode input, but this can be changed by defining [`UNICODE_KEY_MAC`](#input-key-configuration) with a different keycode. !> Using the _Unicode Hex Input_ input source may disable some Option-based shortcuts, such as Option+Left and Option+Right. -* **`UC_LNX`**: Linux built-in IBus Unicode input. Supports code points up to `0x10FFFF` (all possible code points). +* **`UNICODE_MODE_LINUX`**: Linux built-in IBus Unicode input. Supports code points up to `0x10FFFF` (all possible code points). Enabled by default and works almost anywhere on IBus-enabled distros. Without IBus, this mode works under GTK apps, but rarely anywhere else. By default, this mode uses Ctrl+Shift+U (`LCTL(LSFT(KC_U))`) to start Unicode input, but this can be changed by defining [`UNICODE_KEY_LNX`](#input-key-configuration) with a different keycode. This might be required for IBus versions ≥1.5.15, where Ctrl+Shift+U behavior is consolidated into Ctrl+Shift+E. Users who wish support in non-GTK apps without IBus may need to resort to a more indirect method, such as creating a custom keyboard layout ([more on this method](#custom-linux-layout)). -* **`UC_WIN`**: _(not recommended)_ Windows built-in hex numpad Unicode input. Supports code points up to `0xFFFF`. +* **`UNICODE_MODE_WINDOWS`**: _(not recommended)_ Windows built-in hex numpad Unicode input. Supports code points up to `0xFFFF`. To enable, create a registry key under `HKEY_CURRENT_USER\Control Panel\Input Method` of type `REG_SZ` called `EnableHexNumpad` and set its value to `1`. This can be done from the Command Prompt by running `reg add "HKCU\Control Panel\Input Method" -v EnableHexNumpad -t REG_SZ -d 1` with administrator privileges. Reboot afterwards. - This mode is not recommended because of reliability and compatibility issues; use the `UC_WINC` mode instead. + This mode is not recommended because of reliability and compatibility issues; use the `UNICODE_MODE_WINCOMPOSE` mode instead. -* **`UC_BSD`**: _(non implemented)_ Unicode input under BSD. Not implemented at this time. If you're a BSD user and want to help add support for it, please [open an issue on GitHub](https://github.com/qmk/qmk_firmware/issues). +* **`UNICODE_MODE_BSD`**: _(non implemented)_ Unicode input under BSD. Not implemented at this time. If you're a BSD user and want to help add support for it, please [open an issue on GitHub](https://github.com/qmk/qmk_firmware/issues). -* **`UC_WINC`**: Windows Unicode input using [WinCompose](https://github.com/samhocevar/wincompose). As of v0.9.0, supports code points up to `0x10FFFF` (all possible code points). +* **`UNICODE_MODE_WINCOMPOSE`**: Windows Unicode input using [WinCompose](https://github.com/samhocevar/wincompose). As of v0.9.0, supports code points up to `0x10FFFF` (all possible code points). To enable, install the [latest release](https://github.com/samhocevar/wincompose/releases/latest). Once installed, WinCompose will automatically run on startup. This mode works reliably under all version of Windows supported by the app. By default, this mode uses right Alt (`KC_RALT`) as the Compose key, but this can be changed in the WinCompose settings and by defining [`UNICODE_KEY_WINC`](#input-key-configuration) with a different keycode. @@ -144,15 +144,15 @@ The following input modes are available: To set your desired input mode, add the following define to your `config.h`: ```c -#define UNICODE_SELECTED_MODES UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX ``` -This example sets the board's default input mode to `UC_LNX`. You can replace this with `UC_MAC`, `UC_WINC`, or any of the other modes listed [above](#input-modes). The board will automatically use the selected mode on startup, unless you manually switch to another mode (see [below](#keycodes)). +This example sets the board's default input mode to `UNICODE_MODE_LINUX`. You can replace this with `UNICODE_MODE_MACOS`, `UNICODE_MODE_WINCOMPOSE`, or any of the other modes listed [above](#input-modes). The board will automatically use the selected mode on startup, unless you manually switch to another mode (see [below](#keycodes)). -You can also select multiple input modes, which allows you to easily cycle through them using the `UC_MOD`/`UC_RMOD` keycodes. +You can also select multiple input modes, which allows you to easily cycle through them using the `UC_NEXT`/`UC_PREV` keycodes. ```c -#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE ``` Note that the values are separated by commas. The board will remember the last used input mode and will continue using it on next power-up. You can disable this and force it to always start with the first mode in the list by adding `#define UNICODE_CYCLE_PERSIST false` to your `config.h`. @@ -161,18 +161,18 @@ Note that the values are separated by commas. The board will remember the last u You can switch the input mode at any time by using the following keycodes. Adding these to your keymap allows you to quickly switch to a specific input mode, including modes not listed in `UNICODE_SELECTED_MODES`. -|Keycode |Alias |Input Mode |Description | -|----------------------|---------|------------|-----------------------------------------------------------------------------| -|`UNICODE_MODE_FORWARD`|`UC_MOD` |Next in list|Cycle through selected modes, reverse direction when Shift is held | -|`UNICODE_MODE_REVERSE`|`UC_RMOD`|Prev in list|Cycle through selected modes in reverse, forward direction when Shift is held| -|`UNICODE_MODE_MAC` |`UC_M_MA`|`UC_MAC` |Switch to macOS input | -|`UNICODE_MODE_LNX` |`UC_M_LN`|`UC_LNX` |Switch to Linux input | -|`UNICODE_MODE_WIN` |`UC_M_WI`|`UC_WIN` |Switch to Windows input | -|`UNICODE_MODE_BSD` |`UC_M_BS`|`UC_BSD` |Switch to BSD input _(not implemented)_ | -|`UNICODE_MODE_WINC` |`UC_M_WC`|`UC_WINC` |Switch to Windows input using WinCompose | -|`UNICODE_MODE_EMACS` |`UC_M_EM`|`UC_EMACS` |Switch to emacs (`C-x-8 RET`) | - -You can also switch the input mode by calling `set_unicode_input_mode(x)` in your code, where _x_ is one of the above input mode constants (e.g. `UC_LNX`). +|Keycode |Alias |Input Mode |Description | +|----------------------------|---------|-------------------------|-----------------------------------------------------------------------------| +|`QK_UNICODE_MODE_NEXT` |`UC_NEXT`|Next in list |Cycle through selected modes, reverse direction when Shift is held | +|`QK_UNICODE_MODE_PREVIOUS` |`UC_PREV`|Prev in list |Cycle through selected modes in reverse, forward direction when Shift is held| +|`QK_UNICODE_MODE_MACOS` |`UC_MAC` |`UNICODE_MODE_MACOS` |Switch to macOS input | +|`QK_UNICODE_MODE_LINUX` |`UC_LINX`|`UNICODE_MODE_LINUX` |Switch to Linux input | +|`QK_UNICODE_MODE_WINDOWS` |`UC_WIN` |`UNICODE_MODE_WINDOWS` |Switch to Windows input | +|`QK_UNICODE_MODE_BSD` |`UC_BSD` |`UNICODE_MODE_BSD` |Switch to BSD input _(not implemented)_ | +|`QK_UNICODE_MODE_WINCOMPOSE`|`UC_WINC`|`UNICODE_MODE_WINCOMPOSE`|Switch to Windows input using WinCompose | +|`QK_UNICODE_MODE_EMACS` |`UC_EMAC`|`UNICODE_MODE_EMACS` |Switch to emacs (`C-x-8 RET`) | + +You can also switch the input mode by calling `set_unicode_input_mode(x)` in your code, where _x_ is one of the above input mode constants (e.g. `UNICODE_MODE_LINUX`). ?> Using `UNICODE_SELECTED_MODES` is preferable to calling `set_unicode_input_mode()` in `matrix_init_user()` or similar functions, since it's better integrated into the Unicode system and has the added benefit of avoiding unnecessary writes to EEPROM. diff --git a/docs/keycodes.md b/docs/keycodes.md index 1aea603ede..f701193a45 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -839,15 +839,16 @@ See also: [Swap Hands](feature_swap_hands.md) See also: [Unicode Support](feature_unicode.md) -|Key |Aliases |Description | -|----------------------|---------|----------------------------------------------------------------| -|`UC(c)` | |Send Unicode code point `c`, up to `0x7FFF` | -|`X(i)` | |Send Unicode code point at index `i` in `unicode_map` | -|`XP(i, j)` | |Send Unicode code point at index `i`, or `j` if Shift/Caps is on| -|`UNICODE_MODE_FORWARD`|`UC_MOD` |Cycle through selected input modes | -|`UNICODE_MODE_REVERSE`|`UC_RMOD`|Cycle through selected input modes in reverse | -|`UNICODE_MODE_MAC` |`UC_M_MA`|Switch to macOS input | -|`UNICODE_MODE_LNX` |`UC_M_LN`|Switch to Linux input | -|`UNICODE_MODE_WIN` |`UC_M_WI`|Switch to Windows input | -|`UNICODE_MODE_BSD` |`UC_M_BS`|Switch to BSD input (not implemented) | -|`UNICODE_MODE_WINC` |`UC_M_WC`|Switch to Windows input using WinCompose | +|Key |Aliases |Description | +|----------------------------|---------|----------------------------------------------------------------| +|`UC(c)` | |Send Unicode code point `c`, up to `0x7FFF` | +|`X(i)` | |Send Unicode code point at index `i` in `unicode_map` | +|`XP(i, j)` | |Send Unicode code point at index `i`, or `j` if Shift/Caps is on| +|`QK_UNICODE_MODE_NEXT` |`UC_NEXT`|Cycle through selected input modes | +|`QK_UNICODE_MODE_PREVIOUS` |`UC_PREV`|Cycle through selected input modes in reverse | +|`QK_UNICODE_MODE_MACOS` |`UC_MAC` |Switch to macOS input | +|`QK_UNICODE_MODE_LINUX` |`UC_LINX`|Switch to Linux input | +|`QK_UNICODE_MODE_WINDOWS` |`UC_WIN` |Switch to Windows input | +|`QK_UNICODE_MODE_BSD` |`UC_BSD` |Switch to BSD input (not implemented) | +|`QK_UNICODE_MODE_WINCOMPOSE`|`UC_WINC`|Switch to Windows input using WinCompose | +|`QK_UNICODE_MODE_EMACS` |`UC_EMAC`|Switch to emacs (`C-x-8 RET`) | diff --git a/keyboards/a_dux/keymaps/daliusd/config.h b/keyboards/a_dux/keymaps/daliusd/config.h index 786451768a..78a96dd7ac 100644 --- a/keyboards/a_dux/keymaps/daliusd/config.h +++ b/keyboards/a_dux/keymaps/daliusd/config.h @@ -17,7 +17,7 @@ along with this program. If not, see . #pragma once -#define UNICODE_SELECTED_MODES UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX #define MOUSEKEY_INTERVAL 12 #define MOUSEKEY_MAX_SPEED 6 diff --git a/keyboards/abacus/keymaps/unicodemap/keymap.c b/keyboards/abacus/keymaps/unicodemap/keymap.c index 95f343b33c..7441b12882 100644 --- a/keyboards/abacus/keymaps/unicodemap/keymap.c +++ b/keyboards/abacus/keymaps/unicodemap/keymap.c @@ -130,7 +130,7 @@ bool dip_switch_update_user(uint8_t index, bool active) { void matrix_init_user(void) { - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); } bool encoder_update_user(uint8_t index, bool clockwise) { diff --git a/keyboards/atreus62/keymaps/d4mation/keymap.c b/keyboards/atreus62/keymaps/d4mation/keymap.c index 1448f0a9d1..e01f5b9ec6 100644 --- a/keyboards/atreus62/keymaps/d4mation/keymap.c +++ b/keyboards/atreus62/keymaps/d4mation/keymap.c @@ -145,7 +145,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, UC_M_WI, UC_M_MA, XXXXXXX, XXXXXXX, DF(_DVR),DF(_QWR),XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, UC_WIN, UC_MAC, XXXXXXX, XXXXXXX, DF(_DVR),DF(_QWR),XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, CG_SWAP, CG_NORM, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ), @@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Runs just one time when the keyboard initializes. */ void eeconfig_init_keymap( void ) { - set_unicode_input_mode( UC_MAC ); + set_unicode_input_mode( UNICODE_MODE_MACOS ); }; bool process_record_keymap( uint16_t keycode, keyrecord_t *record ) { diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h index 69d44bdd03..b6f2866c46 100644 --- a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h +++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h @@ -24,7 +24,7 @@ #define COMBO_COUNT 3 #define IGNORE_MOD_TAP_INTERRUPT -#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_MAC, UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX #define TAPPING_FORCE_HOLD #define TAPPING_TERM 200 diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c index 968f96f3b2..0a43c83440 100644 --- a/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c +++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/keymap.c @@ -166,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_rev41lp( XXXXXXX, XXXXXXX, XXXXXXX, BL_OFF, BL_DEC, BL_TOGG, BL_BRTG, BL_INC, BL_ON, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, UC_M_WC, UC_M_MA, UC_M_LN, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, UC_WINC, UC_MAC, UC_LINX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c index a0f290ad57..cc6dbc34e9 100644 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/keymap.c @@ -113,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_SUPER, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,TG_GAME,TG_DBLO, QK_BOOT, VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EE_CLR, KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, - UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, + UC_NEXT, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, QK_RBT, AUTO_CTN, _______, _______, KC_NUKE, _______, _______, _______ ) diff --git a/keyboards/bop/config.h b/keyboards/bop/config.h index 00bae0f655..d3b3c90d48 100644 --- a/keyboards/bop/config.h +++ b/keyboards/bop/config.h @@ -41,4 +41,4 @@ #define LOCKING_RESYNC_ENABLE /* Unicode select mode */ -#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE diff --git a/keyboards/checkerboards/quark/keymaps/pezhore/config.h b/keyboards/checkerboards/quark/keymaps/pezhore/config.h index 824bad44af..35b49ed9c9 100644 --- a/keyboards/checkerboards/quark/keymaps/pezhore/config.h +++ b/keyboards/checkerboards/quark/keymaps/pezhore/config.h @@ -15,5 +15,5 @@ */ #pragma once -#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE #define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c index 4c96169830..f331e2b9cf 100644 --- a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c +++ b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c @@ -69,8 +69,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FN] = LAYOUT_ortho_4x12( KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, POOP, KC_PSCR, KC_DEL, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UC_M_WC, - _______, SHRUG, TFLIP, POOP, DPOINT, STRUT, _______, _______, _______, _______, SARCSM, UC_M_LN, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UC_WINC, + _______, SHRUG, TFLIP, POOP, DPOINT, STRUT, _______, _______, _______, _______, SARCSM, UC_LINX, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______ ), diff --git a/keyboards/contra/keymaps/bramver/keymap.c b/keyboards/contra/keymaps/bramver/keymap.c index d34b958b2b..e84dcc9af6 100644 --- a/keyboards/contra/keymaps/bramver/keymap.c +++ b/keyboards/contra/keymaps/bramver/keymap.c @@ -122,5 +122,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c index ab92ad2112..15db200779 100644 --- a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c +++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c @@ -281,15 +281,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { /* os switcher */ case OS_LIN: - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); return false; break; case OS_WIN: - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); return false; break; case OS_MAC: - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); return false; break; @@ -298,5 +298,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } void matrix_init_user() { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } diff --git a/keyboards/crkbd/keymaps/nimishgautam/config.h b/keyboards/crkbd/keymaps/nimishgautam/config.h index d237727091..38146abb43 100644 --- a/keyboards/crkbd/keymaps/nimishgautam/config.h +++ b/keyboards/crkbd/keymaps/nimishgautam/config.h @@ -4,7 +4,7 @@ #pragma once // OS-specific stuff -//#define UNICODE_SELECTED_MODES UC_MAC +//#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS /* Select hand configuration */ //#define MASTER_LEFT diff --git a/keyboards/crkbd/keymaps/ollyhayes/config.h b/keyboards/crkbd/keymaps/ollyhayes/config.h index 734d41d084..4c51005181 100644 --- a/keyboards/crkbd/keymaps/ollyhayes/config.h +++ b/keyboards/crkbd/keymaps/ollyhayes/config.h @@ -25,7 +25,7 @@ #define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" -#define UNICODE_SELECTED_MODES UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses diff --git a/keyboards/crkbd/keymaps/rmeli/config.h b/keyboards/crkbd/keymaps/rmeli/config.h index 36fb755d00..007e4bc45b 100644 --- a/keyboards/crkbd/keymaps/rmeli/config.h +++ b/keyboards/crkbd/keymaps/rmeli/config.h @@ -26,7 +26,7 @@ along with this program. If not, see . #define TAPPING_TERM 200 -#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX #define AUTO_SHIFT_REPEAT diff --git a/keyboards/crkbd/keymaps/rmeli/keymap.c b/keyboards/crkbd/keymaps/rmeli/keymap.c index b1fc6d1d02..04528fda8c 100644 --- a/keyboards/crkbd/keymaps/rmeli/keymap.c +++ b/keyboards/crkbd/keymaps/rmeli/keymap.c @@ -120,11 +120,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_CONFIG] = LAYOUT_split_3x6_3( //|-----------------------------------------------------| |-----------------------------------------------------| - QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_MOD, AS_UP, NK_ON, XXXXXXX, XXXXXXX,DF(_QWY), + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_NEXT, AS_UP, NK_ON, XXXXXXX, XXXXXXX,DF(_QWY), //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, AS_TOGG, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - XXXXXXX,RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, UC_RMOD, AS_DOWN, NK_OFF, XXXXXXX, XXXXXXX,DF(_CMK), + XXXXXXX,RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, UC_PREV, AS_DOWN, NK_OFF, XXXXXXX, XXXXXXX,DF(_CMK), //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| _______, _______, _______, _______, _______, _______ //|--------------------------| |--------------------------| diff --git a/keyboards/donutcables/budget96/keymaps/donut/keymap.c b/keyboards/donutcables/budget96/keymaps/donut/keymap.c index d7beffde4d..d7e2bfd0d0 100644 --- a/keyboards/donutcables/budget96/keymaps/donut/keymap.c +++ b/keyboards/donutcables/budget96/keymaps/donut/keymap.c @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* (3) Fn 2 */ [_FN2] = LAYOUT_96_ansi( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC_M_WC, EE_CLR, QK_BOOT, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC_WINC, EE_CLR, QK_BOOT, VK_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, diff --git a/keyboards/doro67/multi/keymaps/konstantin/keymap.c b/keyboards/doro67/multi/keymaps/konstantin/keymap.c index 54f5ba09e6..02687f8248 100644 --- a/keyboards/doro67/multi/keymaps/konstantin/keymap.c +++ b/keyboards/doro67/multi/keymaps/konstantin/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [L_FN] = LAYOUT_multi( _______, 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_SCRL, KC_PAUS, - 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_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, 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_APP, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_PGUP, BOTTOM, _______, DST_P_R, DST_N_A, KC_WH_D, _______, _______, _______, _______, XXXXXXX, KC_HOME, KC_PGDN, KC_END diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c b/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c index ff339dcb54..c03fdb5bf7 100644 --- a/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c +++ b/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c @@ -141,5 +141,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_init_user(void) { - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); } diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h index 966bc5d064..76feedceb0 100644 --- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h +++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h @@ -1,3 +1,3 @@ #define LEADER_TIMEOUT 300 #define FORCE_NKRO -#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WIN, UC_WINC \ No newline at end of file +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE \ No newline at end of file diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c index 925f5d0509..8bc5edf937 100644 --- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c @@ -224,7 +224,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_CONFIG] = LAYOUT_65_ansi( TO(_MAIN), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL2, KC_NO, KC_PWR, KC_SLEP, KC_WAKE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT, DB_TOGG, EE_CLR, KC_NO, KC_ACL1, - KC_NO, UC_RMOD, UC_MOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL0, + KC_NO, UC_PREV, UC_NEXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_ACL0, KC_NO, MAGIC_TOGGLE_NKRO, MAGIC_UNHOST_NKRO, MAGIC_HOST_NKRO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(_INDEX), KC_NO, KC_NO, KC_NO, KC_NO ), diff --git a/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c b/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c index 2c18d9c447..fcbab46b72 100644 --- a/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c +++ b/keyboards/evyd13/wasdat/keymaps/konstantin/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [L_FN] = LAYOUT_tkl_iso( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NUMPAD, KC_MUTE, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, CLEAR, KC_MPLY, KC_MSTP, KC_VOLU, - KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_MOD, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, + KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP, _______, _______, _______, _______, KC_PGUP, _______, DST_P_R, DST_N_A, KC_WH_D, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c index 81dd960377..27d1d74c9f 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c +++ b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/default/keymap.c @@ -42,5 +42,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, - _______, UC_M_WI, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______) + _______, UC_WIN, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______) }; diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c index 0df96f3ec1..15c2b2b3b9 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c +++ b/keyboards/gmmk/gmmk2/p96/ansi/keymaps/via/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_HUD, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, - _______, UC_M_WI, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______), + _______, UC_WIN, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c b/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c index eae862138c..8662bdf630 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c +++ b/keyboards/gmmk/gmmk2/p96/iso/keymaps/default/keymap.c @@ -40,5 +40,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SAD, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, - _______, UC_M_WI, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______) + _______, UC_WIN, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______) }; diff --git a/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c index 0ddc19b954..1b73959bce 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c +++ b/keyboards/gmmk/gmmk2/p96/iso/keymaps/via/keymap.c @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_SAD, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, - _______, UC_M_WI, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______), + _______, UC_WIN, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD, _______, _______), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c b/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c index d567c9febd..c70ecd5562 100644 --- a/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c +++ b/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c @@ -135,7 +135,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void matrix_init_user(void) { - set_unicode_input_mode(UC_WINC); /* See https://jayliu50.github.io/qmk-cheatsheet/ */ + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); /* See https://jayliu50.github.io/qmk-cheatsheet/ */ } diff --git a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c index 4b1c571e35..0c9c5a7c18 100644 --- a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c +++ b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Set the unicode input mode for using UC. void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } // Processing all the key pressed. diff --git a/keyboards/handwired/d48/keymaps/anderson/keymap.c b/keyboards/handwired/d48/keymaps/anderson/keymap.c index adead97505..ae5ed7ad86 100644 --- a/keyboards/handwired/d48/keymaps/anderson/keymap.c +++ b/keyboards/handwired/d48/keymaps/anderson/keymap.c @@ -133,7 +133,7 @@ void keyboard_post_init_user(void) { } void eeconfig_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } void matrix_init_user(void) { diff --git a/keyboards/handwired/d48/keymaps/default/keymap.c b/keyboards/handwired/d48/keymaps/default/keymap.c index 5dbd66a71b..388a0726d5 100644 --- a/keyboards/handwired/d48/keymaps/default/keymap.c +++ b/keyboards/handwired/d48/keymaps/default/keymap.c @@ -110,7 +110,7 @@ void keyboard_post_init_user(void) { } void eeconfig_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } static uint32_t last_update = 0; diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c index 8ed2443441..afd1eb399e 100644 --- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c +++ b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c @@ -339,7 +339,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Unicode input mode set to Windows using WinCompose void matrix_init_user(void) { - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); }; #ifdef OLED_ENABLE bool oled_task_user(void) { diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c index 00ba10b769..ff95655242 100644 --- a/keyboards/handwired/promethium/keymaps/default/keymap.c +++ b/keyboards/handwired/promethium/keymaps/default/keymap.c @@ -603,14 +603,14 @@ void led_set_unicode_input_mode(void) { rgbsps_set(LED_IND_WINDOWS, COLOR_BLANK); switch (get_unicode_input_mode()) { - case UC_LNX: + case UNICODE_MODE_LINUX: rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); break; - case UC_MAC: + case UNICODE_MODE_MACOS: rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); break; - case UC_WIN: - case UC_WINC: + case UNICODE_MODE_WINDOWS: + case UNICODE_MODE_WINCOMPOSE: rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS); break; } @@ -1199,21 +1199,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // OS switchers case LINUX: - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #ifdef RGBSPS_ENABLE led_set_unicode_input_mode(); #endif return false; break; case WIN: - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); #ifdef RGBSPS_ENABLE led_set_unicode_input_mode(); #endif return false; break; case OSX: - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); #ifdef RGBSPS_ENABLE led_set_unicode_input_mode(); #endif @@ -1278,7 +1278,7 @@ void set_output_user(uint8_t output) { void matrix_init_user() { wait_ms(500); // give time for usb to initialize - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #ifdef RGBSPS_ENABLE led_init(); diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index 3bfcd61a1a..9d3f01b812 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -606,14 +606,14 @@ void led_set_unicode_input_mode(void) { rgbsps_set(LED_IND_WINDOWS, COLOR_BLANK); switch (get_unicode_input_mode()) { - case UC_LNX: + case UNICODE_MODE_LINUX: rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); break; - case UC_MAC: + case UNICODE_MODE_MACOS: rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); break; - case UC_WIN: - case UC_WINC: + case UNICODE_MODE_WINDOWS: + case UNICODE_MODE_WINCOMPOSE: rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS); break; } @@ -1202,21 +1202,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // OS switchers case LINUX: - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #ifdef RGBSPS_ENABLE led_set_unicode_input_mode(); #endif return false; break; case WIN: - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); #ifdef RGBSPS_ENABLE led_set_unicode_input_mode(); #endif return false; break; case OSX: - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); #ifdef RGBSPS_ENABLE led_set_unicode_input_mode(); #endif @@ -1281,7 +1281,7 @@ void set_output_user(uint8_t output) { void matrix_init_user() { wait_ms(500); // give time for usb to initialize - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #ifdef RGBSPS_ENABLE led_init(); diff --git a/keyboards/handwired/t111/keymaps/oleg/config.h b/keyboards/handwired/t111/keymaps/oleg/config.h index 22ae5bcf4c..b4f15ae896 100644 --- a/keyboards/handwired/t111/keymaps/oleg/config.h +++ b/keyboards/handwired/t111/keymaps/oleg/config.h @@ -17,4 +17,4 @@ along with this program. If not, see . #pragma once -#define UNICODE_SELECTED_MODES UC_WIN, UC_WINC \ No newline at end of file +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE \ No newline at end of file diff --git a/keyboards/handwired/t111/keymaps/oleg/keymap.c b/keyboards/handwired/t111/keymaps/oleg/keymap.c index 9d66ded502..0a00151f89 100644 --- a/keyboards/handwired/t111/keymaps/oleg/keymap.c +++ b/keyboards/handwired/t111/keymaps/oleg/keymap.c @@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------------------------------------------' */ [1] = LAYOUT( - VRSN, KC_SLEP, _______, UC_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + VRSN, KC_SLEP, _______, UC_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, X(UAT), X(UHSH), X(UDLR), X(USCT), X(UCFX), X(UAMP), X(UAST), _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_BTN3, _______, _______, _______, KC_SYRQ, KC_SCRL, KC_PAUS, XP(ULSB, ULCB), XP(URSB, URCB), _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5, _______, _______, _______, _______, _______, XP(USCO, UCLN), XP(UAPO, UQOT), _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c index dde663b6ac..bb873a33f7 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c @@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_4x6_right_wrapper( QK_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, QK_BOOT, VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EE_CLR, - UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, + UC_NEXT, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, HPT_DWLI, HPT_DWLD, TG_GAME, TG_DBLO, HPT_TOG, HPT_BUZ, KC_NUKE, _______, _______, _______, diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c index 1a46317a42..a96630842d 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c @@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_NOMODE, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,_______,_______, QK_BOOT, VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EE_CLR, KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, - UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, + UC_NEXT, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, TG(_DIABLOII), AUTO_CTN, TG_GAME, TG_DBLO, _______, QK_RBT, KC_NUKE, _______, _______, _______, diff --git a/keyboards/handwired/videowriter/keymaps/oleg/keymap.c b/keyboards/handwired/videowriter/keymaps/oleg/keymap.c index 1568b2f61b..94e3fbcfe1 100644 --- a/keyboards/handwired/videowriter/keymaps/oleg/keymap.c +++ b/keyboards/handwired/videowriter/keymaps/oleg/keymap.c @@ -103,6 +103,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void matrix_init_user(void) { - set_unicode_input_mode(UC_WIN); + set_unicode_input_mode(UNICODE_MODE_WINDOWS); } diff --git a/keyboards/handwired/wulkan/keymaps/default/keymap.c b/keyboards/handwired/wulkan/keymaps/default/keymap.c index 6ae4ad0b86..2612c084fd 100644 --- a/keyboards/handwired/wulkan/keymaps/default/keymap.c +++ b/keyboards/handwired/wulkan/keymaps/default/keymap.c @@ -107,5 +107,5 @@ layer_state_t layer_state_set_user(layer_state_t state) { } void eeconfig_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } diff --git a/keyboards/idobao/id75/keymaps/gkbd/config.h b/keyboards/idobao/id75/keymaps/gkbd/config.h index 35572307c0..35e479fdf6 100644 --- a/keyboards/idobao/id75/keymaps/gkbd/config.h +++ b/keyboards/idobao/id75/keymaps/gkbd/config.h @@ -16,7 +16,7 @@ #pragma once -#define UNICODE_SELECTED_MODES UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE /* Selected Unicode input method relies on WinCompose * https://docs.qmk.fm/#/feature_unicode?id=input-modes diff --git a/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c index bfbe2a0318..be1edfc019 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c @@ -258,7 +258,7 @@ L06 -> : UNSPECIFIED // Runs just one time when the keyboard initializes. void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); }; diff --git a/keyboards/input_club/whitefox/keymaps/konstantin/keymap.c b/keyboards/input_club/whitefox/keymaps/konstantin/keymap.c index a7273b6902..d89888aa59 100644 --- a/keyboards/input_club/whitefox/keymaps/konstantin/keymap.c +++ b/keyboards/input_club/whitefox/keymaps/konstantin/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM 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_SCRL, KC_PAUS, - 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_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, 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_APP, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_PGUP, BOTTOM, _______, DST_P_R, DST_N_A, KC_WH_D, _______, _______, KC_HOME, KC_PGDN, KC_END diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c index faf90b624e..9cdf31ce9b 100644 --- a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c +++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c @@ -161,7 +161,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } void eeconfig_init_user(void) { - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); } void matrix_init_user(void) { diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c index fe0080375a..e822b39276 100644 --- a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c +++ b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c @@ -27,7 +27,7 @@ //Unicode keymaps void eeconfig_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } #define DE_ADIA UC(0x00E4) #define DE_SS UC(0x00DF) diff --git a/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c b/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c index b8d2dc5949..4906faf4ef 100644 --- a/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c +++ b/keyboards/keebio/levinson/keymaps/drogglbecher/keymap.c @@ -72,5 +72,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); }; diff --git a/keyboards/keebio/nyquist/keymaps/bramver/keymap.c b/keyboards/keebio/nyquist/keymaps/bramver/keymap.c index 0448862023..183a77cc2d 100644 --- a/keyboards/keebio/nyquist/keymaps/bramver/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/bramver/keymap.c @@ -241,7 +241,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); }; diff --git a/keyboards/keebio/quefrency/keymaps/bramver/keymap.c b/keyboards/keebio/quefrency/keymaps/bramver/keymap.c index 1b8738a1d2..6b0ddfe8da 100644 --- a/keyboards/keebio/quefrency/keymaps/bramver/keymap.c +++ b/keyboards/keebio/quefrency/keymaps/bramver/keymap.c @@ -127,5 +127,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); }; diff --git a/keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h b/keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h index 8120a9352a..4019f83429 100644 --- a/keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h +++ b/keyboards/keychron/q1/rev_0102/keymaps/victorsavu3/config.h @@ -61,7 +61,7 @@ #define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50 // Unicode for Linux -#define UNICODE_SELECTED_MODES UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX #define UNICODE_KEY_LNX LCTL(LSFT(KC_U)) // Leader config diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h index 2de4c8f889..50c75ee7f6 100755 --- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h +++ b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h @@ -16,7 +16,7 @@ along with this program. If not, see . */ #pragma once -#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_LNX, UC_MAC +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS #define UNICODE_CYCLE_PERSIST false #ifdef RGB_DI_PIN diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c index f201c3d88f..6a4ca7550d 100755 --- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c +++ b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, UC(L'€'), UC(L'§'), UC(L'°'), KC_NO, UC(L'ü'), KC_NO, UC(L'ö'), UC(L'–'), KC_NO, KC_NO, UC(L'ä'), UC(L'ß'), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MO(_UNI2), UC(L'„'), UC(L'“'), UC(L'”'), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC(L'…'), KC_NO, - KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, UC_MOD + KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, UC_NEXT ), [_UNI2] = LAYOUT( KC_NO, KC_NO, KC_NO, UC(L'é'), KC_NO, KC_NO, KC_NO, UC(L'Ü'), KC_NO, UC(L'Ö'), UC(L'—'), KC_NO, diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md index f277cc284a..704be0e416 100755 --- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md +++ b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md @@ -88,7 +88,7 @@ UNI Layer * Umlauts * Punctuation * Special Characters -* Switching [Input Modes](https://beta.docs.qmk.fm/using-qmk/software-features/feature_unicode#2-input-modes-id-input-modes) (UC_WINC, UC_WIN, UC_LNX, UC_MAC) +* Switching [Input Modes](https://beta.docs.qmk.fm/using-qmk/software-features/feature_unicode#2-input-modes-id-input-modes) (UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS) ## 5 UNI2 Layer ``` diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h index 81750ce50b..4eba7eea7d 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/carlosala/config.h @@ -4,4 +4,4 @@ #pragma once #define TAPPING_TERM 175 -#define UNICODE_SELECTED_MODES UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX diff --git a/keyboards/ktec/ergodone/keymaps/vega/keymap.c b/keyboards/ktec/ergodone/keymaps/vega/keymap.c index 5e166f940a..eafbdda513 100644 --- a/keyboards/ktec/ergodone/keymaps/vega/keymap.c +++ b/keyboards/ktec/ergodone/keymaps/vega/keymap.c @@ -649,8 +649,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [FNLR] = LAYOUT_ergodox( // left hand - UC_M_LN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, - UC_M_WC,KC_F11, KC_F12, KC_F13,KC_F14, KC_F15, KC_NO, + UC_LINX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, + UC_WINC,KC_F11, KC_F12, KC_F13,KC_F14, KC_F15, KC_NO, TO(TINY),KC_F21, KC_F22, KC_F23,KC_F24, MAGIC_TOGGLE_NKRO, TO(FULL),KC_PAUSE,KC_PSCR,KC_SCRL,KC_NO,KC_NO,KC_NO, EE_CLR,TO(BASE),TO(BASE),TO(BASE),TO(BASE), @@ -658,8 +658,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO,KC_NO,KC_NO, // right hand - TO(BASE), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, UC_M_LN, - KC_NO, KC_F16, KC_F17,KC_F18, KC_F19, KC_F20, UC_M_WI, + TO(BASE), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, UC_LINX, + KC_NO, KC_F16, KC_F17,KC_F18, KC_F19, KC_F20, UC_WIN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,KC_NO, KC_NO, KC_NO, KC_NO, diff --git a/keyboards/lyso1/lck75/config.h b/keyboards/lyso1/lck75/config.h index a631992eb8..b5d6bb1331 100644 --- a/keyboards/lyso1/lck75/config.h +++ b/keyboards/lyso1/lck75/config.h @@ -60,7 +60,7 @@ along with this program. If not, see . #define OLED_TIMEOUT 10000 -#define UNICODE_SELECTED_MODES UC_WINC, UC_MAC, UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX #define UNICODE_CYCLE_PERSIST false diff --git a/keyboards/massdrop/alt/keymaps/charlesrocket/config.h b/keyboards/massdrop/alt/keymaps/charlesrocket/config.h index 90b4a27f33..119477f80d 100644 --- a/keyboards/massdrop/alt/keymaps/charlesrocket/config.h +++ b/keyboards/massdrop/alt/keymaps/charlesrocket/config.h @@ -16,4 +16,4 @@ #pragma once -#define UNICODE_SELECTED_MODES UC_BSD, UC_MAC, UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_BSD, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX diff --git a/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c b/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c index cfc3629714..edd906deb5 100644 --- a/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c +++ b/keyboards/massdrop/alt/keymaps/charlesrocket/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, UC_RMOD, UC_MOD, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, UC_PREV, UC_NEXT, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, LAG_SWP, LAG_NRM, _______, _______, TG(3), _______, _______, _______ ), [3] = LAYOUT( diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c index ee48567aba..c55bc30ada 100644 --- a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c +++ b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c @@ -65,7 +65,7 @@ void matrix_scan_user(void) { } //tableflip (LEADER - TF) SEQ_TWO_KEYS(KC_T, KC_F) { - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻"); } //screencap (LEADER - SC) @@ -74,7 +74,7 @@ void matrix_scan_user(void) { } //screencap (LEADER - TM) SEQ_TWO_KEYS(KC_T, KC_M) { - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); register_unicode(0x2122); // ™ } /* diff --git a/keyboards/mitosis/keymaps/nzen/keymap.c b/keyboards/mitosis/keymaps/nzen/keymap.c index 4fed93f67c..07816067b4 100644 --- a/keyboards/mitosis/keymaps/nzen/keymap.c +++ b/keyboards/mitosis/keymaps/nzen/keymap.c @@ -203,5 +203,5 @@ void matrix_scan_user(void) { }; void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); // or UC_WINC + set_unicode_input_mode(UNICODE_MODE_LINUX); // or UNICODE_MODE_WINCOMPOSE }; diff --git a/keyboards/mlego/m48/keymaps/default/config.h b/keyboards/mlego/m48/keymaps/default/config.h index b1aed18a18..d3e949574f 100644 --- a/keyboards/mlego/m48/keymaps/default/config.h +++ b/keyboards/mlego/m48/keymaps/default/config.h @@ -18,4 +18,4 @@ along with this program. If not, see . #pragma once #define TAPPING_TOGGLE 2 -#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE diff --git a/keyboards/mlego/m60/keymaps/default/config.h b/keyboards/mlego/m60/keymaps/default/config.h index b1aed18a18..d3e949574f 100644 --- a/keyboards/mlego/m60/keymaps/default/config.h +++ b/keyboards/mlego/m60/keymaps/default/config.h @@ -18,4 +18,4 @@ along with this program. If not, see . #pragma once #define TAPPING_TOGGLE 2 -#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE diff --git a/keyboards/mlego/m60_split/keymaps/default/config.h b/keyboards/mlego/m60_split/keymaps/default/config.h index b1aed18a18..d3e949574f 100644 --- a/keyboards/mlego/m60_split/keymaps/default/config.h +++ b/keyboards/mlego/m60_split/keymaps/default/config.h @@ -18,4 +18,4 @@ along with this program. If not, see . #pragma once #define TAPPING_TOGGLE 2 -#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE diff --git a/keyboards/mlego/m65/keymaps/uk/config.h b/keyboards/mlego/m65/keymaps/uk/config.h index 7b5ced9ccb..b0c6cfd639 100644 --- a/keyboards/mlego/m65/keymaps/uk/config.h +++ b/keyboards/mlego/m65/keymaps/uk/config.h @@ -19,8 +19,8 @@ along with this program. If not, see . #define TAPPING_TOGGLE 2 -#define UNICODE_SELECTED_MODES UC_LNX -//#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX +//#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE #ifdef WPM_ENABLE #define WPM_SAMPLE_SECONDS 10 diff --git a/keyboards/moonlander/keymaps/drashna/keymap.c b/keyboards/moonlander/keymaps/drashna/keymap.c index ced94786ef..e38a2828fe 100644 --- a/keyboards/moonlander/keymaps/drashna/keymap.c +++ b/keyboards/moonlander/keymaps/drashna/keymap.c @@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_NOMODE,_______, KC_NUKE,KC_NOMODE,KC_BLOCKS,KC_REGIONAL,_______,_______, QK_BOOT, VRSN, _________________ADJUST_L1_________________, TG(_DIABLOII), _______, _________________ADJUST_R1_________________, EE_CLR, KEYLOCK, _________________ADJUST_L2_________________, _______, _______, _________________ADJUST_R2_________________, RGB_IDL, - UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, + UC_NEXT, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, AUTO_CTN, QK_RBT, _______, _______, _______, _______, _______ ), diff --git a/keyboards/planck/keymaps/buhearns/keymap.c b/keyboards/planck/keymaps/buhearns/keymap.c index 46029127e7..d20ebbe5b9 100644 --- a/keyboards/planck/keymaps/buhearns/keymap.c +++ b/keyboards/planck/keymaps/buhearns/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { UC(0xB0), UC(0xB9), UC(0xB2), UC(0xB3), UC(0xDF), UC(0x20AC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, UC(0xC4), UC(0xD6), UC(0xDC), UC(0xBB), UC(0xAB), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, UC(0xE4), UC(0xF6), UC(0xFC), UC(0x2022), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UC_M_MA, UC_M_LN, UC_M_WI, UC_M_WC + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UC_MAC, UC_LINX, UC_WIN, UC_WINC )}; bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/planck/keymaps/mwpeterson/keymap.c b/keyboards/planck/keymaps/mwpeterson/keymap.c index c3f6a70784..2828192100 100644 --- a/keyboards/planck/keymaps/mwpeterson/keymap.c +++ b/keyboards/planck/keymaps/mwpeterson/keymap.c @@ -255,7 +255,7 @@ void plover_lookup(void) { } void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); }; layer_state_t layer_state_set_user(layer_state_t state) { diff --git a/keyboards/planck/keymaps/rootiest/config.h b/keyboards/planck/keymaps/rootiest/config.h index 63275011db..4de638ce29 100644 --- a/keyboards/planck/keymaps/rootiest/config.h +++ b/keyboards/planck/keymaps/rootiest/config.h @@ -91,7 +91,7 @@ /* * UNICODE options */ -#define UNICODE_SELECTED_MODES UC_WINC, UC_LNX, UC_MAC // Define the methods used for in/outputting unicode +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS // Define the methods used for in/outputting unicode /* * TAP-DANCE options diff --git a/keyboards/planck/keymaps/rootiest/keymap.c b/keyboards/planck/keymaps/rootiest/keymap.c index 42ba7f033a..68b19e5eba 100644 --- a/keyboards/planck/keymaps/rootiest/keymap.c +++ b/keyboards/planck/keymaps/rootiest/keymap.c @@ -413,7 +413,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_TABULA] = LAYOUT_planck_mit( // - KC_ESC, KC_ALTF4, VK_TOGG, PRINT_WPM_KEY, WAKE_ANI_TOG, WAKE_AUD_TOG, KC_REDO, UC_MOD, UC_M_WC, CG_TOGG, AG_TOGG, KC_DLINE, // + KC_ESC, KC_ALTF4, VK_TOGG, PRINT_WPM_KEY, WAKE_ANI_TOG, WAKE_AUD_TOG, KC_REDO, UC_NEXT, UC_WINC, CG_TOGG, AG_TOGG, KC_DLINE, // KC_NXTAB, KC_SLCTALL, KC_SAVE, KC_TRNS, KC_FIND, SH_TG, SH_TG, IRONY, KC_LCUT, KC_LCOPY, KC_TRNS, KC_KILL, // KC_LSFT, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_PRVWD, KC_NXTWD, TG(_MOUSY), KC_TRNS, KC_HOME, KC_END, SC_SENT, // TO(_BASE), KC_LCTL, KC_LGUI, KC_LALT, SC_LSPO, ALT_TAB, SC_RSPC, KC_PRVWD, KC_BRID, KC_BRIU, KC_NXTWD), @@ -430,7 +430,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_MOUSY] = LAYOUT_planck_mit( // - KC_ESC, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, UC_MOD, UC_M_WC, CG_TOGG, AG_TOGG, KC_BSPC, // + KC_ESC, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, UC_NEXT, UC_WINC, CG_TOGG, AG_TOGG, KC_BSPC, // KC_TAB, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, IRONY, VK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, // KC_LSFT, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_PRVWD, KC_NXTWD, KC_TRNS, KC_HOME, KC_BTN3, KC_END, SC_SENT, // TO(_BASE), KC_LCTL, KC_LGUI, KC_LALT, KC_BTN1, ALT_TAB, KC_BTN2, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R)}; diff --git a/keyboards/planck/keymaps/sascha/keymap.c b/keyboards/planck/keymaps/sascha/keymap.c index ec4781c78b..aaa2c28215 100644 --- a/keyboards/planck/keymaps/sascha/keymap.c +++ b/keyboards/planck/keymaps/sascha/keymap.c @@ -37,5 +37,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); }; diff --git a/keyboards/planck/keymaps/snowkuma/keymap.c b/keyboards/planck/keymaps/snowkuma/keymap.c index 3dbf680d95..ecf6b0725a 100644 --- a/keyboards/planck/keymaps/snowkuma/keymap.c +++ b/keyboards/planck/keymaps/snowkuma/keymap.c @@ -369,5 +369,5 @@ void matrix_scan_user(void) { } void matrix_init_user(void) { - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); } diff --git a/keyboards/planck/keymaps/zach/zach_common_functions.c b/keyboards/planck/keymaps/zach/zach_common_functions.c index 13034897cf..7a594b567f 100644 --- a/keyboards/planck/keymaps/zach/zach_common_functions.c +++ b/keyboards/planck/keymaps/zach/zach_common_functions.c @@ -301,7 +301,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef UNICODE_ENABLE case UNIWIN: if(record->event.pressed){ - set_unicode_input_mode(UC_WIN); + set_unicode_input_mode(UNICODE_MODE_WINDOWS); #ifdef AUDIO_ENABLE PLAY_SONG(uniwin); #endif @@ -310,7 +310,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case UNILIN: if(record->event.pressed){ - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #ifdef AUDIO_ENABLE PLAY_SONG(unilin); #endif diff --git a/keyboards/preonic/keymaps/pezhore/config.h b/keyboards/preonic/keymaps/pezhore/config.h index 727d58c3d0..1c0099ae40 100644 --- a/keyboards/preonic/keymaps/pezhore/config.h +++ b/keyboards/preonic/keymaps/pezhore/config.h @@ -15,7 +15,7 @@ */ #pragma once -#define UNICODE_SELECTED_MODES UC_WINC, UC_LNX, UC_MAC +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS #ifdef AUDIO_ENABLE #define STARTUP_SONG SONG(PREONIC_SOUND) // #define STARTUP_SONG SONG(NO_SOUND) diff --git a/keyboards/preonic/keymaps/pezhore/keymap.c b/keyboards/preonic/keymaps/pezhore/keymap.c index 722f68bcd0..5470a8542d 100644 --- a/keyboards/preonic/keymaps/pezhore/keymap.c +++ b/keyboards/preonic/keymaps/pezhore/keymap.c @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * |RGBTgl|Brigt-|Brigt+| | | | | | | | | POOP | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | RGB+ | Hue- | Hue+ | | | | | | | |PrtScr|UC_MOD| + * | RGB+ | Hue- | Hue+ | | | | | | | |PrtScr|UC_Nxt| * |------+------+------+------+------+-------------+------+------+------+------+------| * | RGB- | Sat- | Sat+ | | | | | | | | |UC_Wnc| * |------+------+------+------+------+------|------+------+------+------+------+------| @@ -76,10 +76,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_FN] = LAYOUT_preonic_grid( RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, POOP, - RGB_MOD, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, UC_MOD, - RGB_RMOD, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, UC_M_WC, - _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, UC_M_LN, - _______, SHRUG, TFLIP, DPOINT, STRUT, _______, _______, _______, _______, TG_NUMP, _______, UC_M_MA + RGB_MOD, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, UC_NEXT, + RGB_RMOD, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, UC_WINC, + _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, UC_LINX, + _______, SHRUG, TFLIP, DPOINT, STRUT, _______, _______, _______, _______, TG_NUMP, _______, UC_MAC ), /* Numpad diff --git a/keyboards/preonic/keymaps/zach/zach_common_functions.c b/keyboards/preonic/keymaps/zach/zach_common_functions.c index 13034897cf..7a594b567f 100644 --- a/keyboards/preonic/keymaps/zach/zach_common_functions.c +++ b/keyboards/preonic/keymaps/zach/zach_common_functions.c @@ -301,7 +301,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef UNICODE_ENABLE case UNIWIN: if(record->event.pressed){ - set_unicode_input_mode(UC_WIN); + set_unicode_input_mode(UNICODE_MODE_WINDOWS); #ifdef AUDIO_ENABLE PLAY_SONG(uniwin); #endif @@ -310,7 +310,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case UNILIN: if(record->event.pressed){ - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #ifdef AUDIO_ENABLE PLAY_SONG(unilin); #endif diff --git a/keyboards/redox/keymaps/jeherve/config.h b/keyboards/redox/keymaps/jeherve/config.h index 7e334aee64..689e8f6e4d 100644 --- a/keyboards/redox/keymaps/jeherve/config.h +++ b/keyboards/redox/keymaps/jeherve/config.h @@ -33,7 +33,7 @@ along with this program. If not, see . #define RGBLIGHT_SLEEP /* Set Unicode mode by default */ -#define UNICODE_SELECTED_MODES UC_MAC +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS /* Custom startup sound */ #ifdef AUDIO_ENABLE diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h index 7d4a356308..4e26907640 100644 --- a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h +++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h @@ -24,4 +24,4 @@ #endif #define TAPPING_TERM 200 -#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c index 6a2fb4de2f..e3ae65a45f 100644 --- a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c +++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c @@ -133,7 +133,7 @@ void matrix_init_user(){ - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); } diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h index 653695d629..6f3b77b0de 100644 --- a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h +++ b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h @@ -20,4 +20,4 @@ #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 -#define UNICODE_SELECTED_MODES UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE diff --git a/keyboards/signum/3_0/keymaps/default/layout.py b/keyboards/signum/3_0/keymaps/default/layout.py index 2842bee7db..63fd3c2ac2 100644 --- a/keyboards/signum/3_0/keymaps/default/layout.py +++ b/keyboards/signum/3_0/keymaps/default/layout.py @@ -398,7 +398,7 @@ qmk_dict = { "_sp_swp": "SHT(KC_SPC)", # Unicode support (via X()) included implicitly # Switching Unicode Input Modes - "UC_win": "UC_M_WC", "UC_lnx": "UC_M_LN", "UC_mac": "UC_M_MA", + "UC_win": "UC_WINC", "UC_lnx": "UC_LINX", "UC_mac": "UC_MAC", # custom keys "altF4": "LALT(KC_F4)", diff --git a/keyboards/spaceman/2_milk/keymaps/emoji/config.h b/keyboards/spaceman/2_milk/keymaps/emoji/config.h index 2d86c008d5..a564c44a29 100644 --- a/keyboards/spaceman/2_milk/keymaps/emoji/config.h +++ b/keyboards/spaceman/2_milk/keymaps/emoji/config.h @@ -1,2 +1,2 @@ -#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WIN, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE #define TAPPING_TERM 300 \ No newline at end of file diff --git a/keyboards/spaceman/2_milk/keymaps/emoji/readme.md b/keyboards/spaceman/2_milk/keymaps/emoji/readme.md index 3bcc4831b3..43b7dc4257 100644 --- a/keyboards/spaceman/2_milk/keymaps/emoji/readme.md +++ b/keyboards/spaceman/2_milk/keymaps/emoji/readme.md @@ -11,14 +11,14 @@ corresponding input mode has to be set in QMK. Documentation: [Feature Unicode](https://beta.docs.qmk.fm/features/feature_unicode#input-modes) -On this keymap the default unicode mode it's `UC_LNX`. +On this keymap the default unicode mode it's `UNICODE_MODE_LINUX`. You can change it permanently tapping 2 times the KeyOne to select the next mode. ## Unicode Mode List -- UC_LNX -- UC_MAC -- UC_WIN -- UC_WINC +- UNICODE_MODE_LINUX +- UNICODE_MODE_MACOS +- UNICODE_MODE_WINDOWS +- UNICODE_MODE_WINCOMPOSE # Keymap To add more functionality to this Minimal Keyboard, diff --git a/keyboards/spaceman/2_milk/keymaps/encg/config.h b/keyboards/spaceman/2_milk/keymaps/encg/config.h index 4d7e1bb573..abb80c2a34 100644 --- a/keyboards/spaceman/2_milk/keymaps/encg/config.h +++ b/keyboards/spaceman/2_milk/keymaps/encg/config.h @@ -16,5 +16,5 @@ #pragma once -#define UNICODE_SELECTED_MODES UC_MAC, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE #define UNICODE_CYCLE_PERSIST true diff --git a/keyboards/spaceman/2_milk/keymaps/encg/readme.md b/keyboards/spaceman/2_milk/keymaps/encg/readme.md index f1f9cd6c6d..73232ec32f 100644 --- a/keyboards/spaceman/2_milk/keymaps/encg/readme.md +++ b/keyboards/spaceman/2_milk/keymaps/encg/readme.md @@ -16,7 +16,7 @@ The bottom button outputs 3 random emojis one by one. The random function takes ## Unicode Setup -This keymap's default unicode input mode is `UC_WINC` which requires [WinCompose](https://github.com/samhocevar/wincompose). For other OSes, see [QMK documentation on unicode input modes](https://docs.qmk.fm/#/feature_unicode?id=input-modes). +This keymap's default unicode input mode is `UNICODE_MODE_WINCOMPOSE` which requires [WinCompose](https://github.com/samhocevar/wincompose). For other OSes, see [QMK documentation on unicode input modes](https://docs.qmk.fm/#/feature_unicode?id=input-modes). ## Ideas for the future diff --git a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c index 9775454f24..6e403595a1 100644 --- a/keyboards/splitkb/kyria/keymaps/drashna/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c @@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_wrapper( QK_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, QK_BOOT, VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EE_CLR, - UC_MOD, _________________ADJUST_L3_________________, HPT_TOG, HPT_FBK, MG_NKRO, UC_MOD, _________________ADJUST_R3_________________, TG_MODS, + UC_NEXT, _________________ADJUST_L3_________________, HPT_TOG, HPT_FBK, MG_NKRO, UC_NEXT, _________________ADJUST_R3_________________, TG_MODS, QK_RBT, _______, KEYLOCK, KC_NUKE, _______, _______, _______, _______, _______, AUTO_CTN ), // [_LAYERINDEX] = LAYOUT_wrapper( diff --git a/keyboards/splitkb/kyria/keymaps/lw/config.h b/keyboards/splitkb/kyria/keymaps/lw/config.h index 038a8ff3dd..6766ab5cdb 100644 --- a/keyboards/splitkb/kyria/keymaps/lw/config.h +++ b/keyboards/splitkb/kyria/keymaps/lw/config.h @@ -23,4 +23,4 @@ // #define SPLIT_USB_DETECT // #define NO_USB_STARTUP_CHECK -#define UNICODE_SELECTED_MODES UC_LNX, UC_WINC // support for Linux and Windows unicode \ No newline at end of file +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE // support for Linux and Windows unicode \ No newline at end of file diff --git a/keyboards/splitkb/kyria/keymaps/lw/keymap.c b/keyboards/splitkb/kyria/keymaps/lw/keymap.c index 71b0416209..0e25d2cdf3 100644 --- a/keyboards/splitkb/kyria/keymaps/lw/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/lw/keymap.c @@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| |------+------+------+------+------+--------| * | | Brt- | Prev | Bckw | Stop | Vol- | | End | Left | Down | Right|ScrLck| BkSpace| * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | LShift | ´ | ` | ^ | ¨ | Mute | |UC_MOD| |RShift| Menu | PrtSc| ç/Ç | § ° | | SAVE | Insert | + * | LShift | ´ | ` | ^ | ¨ | Mute | |UC_Nxt| |RShift| Menu | PrtSc| ç/Ç | § ° | | SAVE | Insert | * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' * |LCtrl | LGUI | LAlt | | MO(1)| | MO(2)| UNDO | CUT | COPY | PASTE| * | | | | | | | | | | | | @@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAV] = LAYOUT( _______, KC_BRIU, KC_MNXT, KC_MFFD, KC_MPLY, KC_VOLU, KC_HOME, KC_PGUP, KC_UP, KC_PGDN, _______, KC_DEL, _______, KC_BRID, KC_MPRV, KC_MRWD, KC_MSTP, KC_VOLD, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCRL, KC_BSPC, - KC_LSFT, US_ACUT, US_DGRV, US_DCIR, US_DIAE, KC_MUTE, _______, UC_MOD, KC_RSFT, KC_APP, KC_PSCR, XP(CEDIL,CEDIL_MAJ), XP(SECTION,DEGREE), _______, LCTL(KC_S), KC_INS, + KC_LSFT, US_ACUT, US_DGRV, US_DCIR, US_DIAE, KC_MUTE, _______, UC_NEXT, KC_RSFT, KC_APP, KC_PSCR, XP(CEDIL,CEDIL_MAJ), XP(SECTION,DEGREE), _______, LCTL(KC_S), KC_INS, KC_LCTL, KC_LGUI, KC_LALT, _______, MO(1), MO(2), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V) ), diff --git a/keyboards/splitkb/kyria/keymaps/lw/readme.md b/keyboards/splitkb/kyria/keymaps/lw/readme.md index 67be1950ab..87d4d17e96 100644 --- a/keyboards/splitkb/kyria/keymaps/lw/readme.md +++ b/keyboards/splitkb/kyria/keymaps/lw/readme.md @@ -93,7 +93,7 @@ This layer is activated when holding `MO(2)`. * |--------+------+------+------+------+------| |------+------+------+------+------+--------| * | | Brt- | Prev | Bckw | Stop | Vol- | | End | Left | Down | Right|ScrLck| BkSpace| * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | LShift | ´ | ` | ^ | ¨ | Mute | |UC_MOD| |RShift| Menu | PrtSc| ç/Ç | § ° | | SAVE | Insert | + * | LShift | ´ | ` | ^ | ¨ | Mute | |UC_Nxt| |RShift| Menu | PrtSc| ç/Ç | § ° | | SAVE | Insert | * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' * |LCtrl | LGUI | LAlt | | MO(1)| | MO(2)| UNDO | CUT | COPY | PASTE| * | | | | | | | | | | | | @@ -101,4 +101,4 @@ This layer is activated when holding `MO(2)`. */ ``` -The key `UC_MOD` allows to switch between Linux and Windows unicode. Note however that [WinCompose](https://github.com/samhocevar/wincompose) must be installed on Windows (simply download and install the latest release and it will run). \ No newline at end of file +The key `UC_NEXT` allows to switch between Linux and Windows unicode. Note however that [WinCompose](https://github.com/samhocevar/wincompose) must be installed on Windows (simply download and install the latest release and it will run). \ No newline at end of file diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c index 17550a2168..92356446fd 100644 --- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c +++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c @@ -1192,7 +1192,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // , , , , -*- , <|,> , , , , , , CTO_BASE , COUNT_TOG , COUNT_NULL , COUNT_WORDMIN , COUNT_REPORT , SPEED_TOG , SPEED_REPORT , KC_MPLY , KC_MNXT , KC_MPRV , KC_MSTP , KC_RSFT , KC_CAPS , C_KC_PWR , C_KC_WAKE , C_KC_SLEP , C_KC_PAUS , KC_SCRL , KC_PSCR , XXXXXXX , KC_VOLU , KC_VOLD , KC_MUTE , KC_INS , - XP_DRA_CG , UNICODE_MODE_LNX , UNICODE_MODE_BSD , UNICODE_MODE_MAC , UNICODE_MODE_WIN , UNICODE_MODE_WINC , XXXXXXX , XXXXXXX , KC_BRIGHTNESS_UP , KC_BRIGHTNESS_DOWN , XXXXXXX , KC_APP , + XP_DRA_CG , UC_LINX , UC_BSD , UC_MAC , UC_WIN , UC_WINC , XXXXXXX , XXXXXXX , KC_BRIGHTNESS_UP , KC_BRIGHTNESS_DOWN , XXXXXXX , KC_APP , // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- LEDS_ON # ifdef TRANSMINIVAN_LEFTSIDE diff --git a/keyboards/xiudi/xd75/keymaps/billypython/keymap.c b/keyboards/xiudi/xd75/keymaps/billypython/keymap.c index 9f4b7d1942..f902e8c121 100644 --- a/keyboards/xiudi/xd75/keymaps/billypython/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/billypython/keymap.c @@ -16,7 +16,7 @@ #define MINUS UC(0x2212) void eeconfig_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } enum layers { diff --git a/keyboards/xiudi/xd75/keymaps/bramver/keymap.c b/keyboards/xiudi/xd75/keymaps/bramver/keymap.c index e816858711..673dbc474d 100644 --- a/keyboards/xiudi/xd75/keymaps/bramver/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/bramver/keymap.c @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_init_user(void) { _delay_ms(20); // Gets rid of tick - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } /* Template for future layers diff --git a/keyboards/xiudi/xd75/keymaps/markus/config.h b/keyboards/xiudi/xd75/keymaps/markus/config.h index c56028a5fc..15b0ac8e36 100644 --- a/keyboards/xiudi/xd75/keymaps/markus/config.h +++ b/keyboards/xiudi/xd75/keymaps/markus/config.h @@ -46,4 +46,4 @@ #define MK_W_INTERVAL_1 120 #define MK_W_OFFSET_2 1 #define MK_W_INTERVAL_2 20 -#define UNICODE_SELECTED_MODES UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX diff --git a/keyboards/xiudi/xd75/keymaps/markus/keymap.c b/keyboards/xiudi/xd75/keymaps/markus/keymap.c index dc1590749b..18052f5ef7 100644 --- a/keyboards/xiudi/xd75/keymaps/markus/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/markus/keymap.c @@ -160,9 +160,9 @@ MO(_FN2), ________, ________, ________, ________, KC_PENT, KC_P0, DE_DOT, */ [_FN3] = LAYOUT_ortho_5x15( KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_BRID, ___xx___, KC_BRIU, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, -________, QWERTZ, UC_M_LN, ___xx___, ___xx___, KC_PWR, RGB_TOG, RGB_M_P, RGB_MOD, ___xx___, KC_PGUP, KC_UP, KC_PGDN, ___xx___, ___xx___, -________, QWERTY, UC_M_WC, UC(L'›'), UC(L'‹'), KC_SLEP, RGB_HUI, RGB_SAI, RGB_VAI, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, ________, -________, GAMING, UC_M_MA, UC(L'»'), UC(L'«'), KC_WAKE, RGB_HUD, RGB_SAD, RGB_VAD, UC(L' '), UC(L' '), UC(L' '), UC(L' '), UC(L'‑'), ________, +________, QWERTZ, UC_LINX, ___xx___, ___xx___, KC_PWR, RGB_TOG, RGB_M_P, RGB_MOD, ___xx___, KC_PGUP, KC_UP, KC_PGDN, ___xx___, ___xx___, +________, QWERTY, UC_WINC, UC(L'›'), UC(L'‹'), KC_SLEP, RGB_HUI, RGB_SAI, RGB_VAI, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, ________, +________, GAMING, UC_MAC, UC(L'»'), UC(L'«'), KC_WAKE, RGB_HUD, RGB_SAD, RGB_VAD, UC(L' '), UC(L' '), UC(L' '), UC(L' '), UC(L'‑'), ________, ________, ________, ________, ________, ________, ________, ________, QK_BOOT, ________, ________, ________, ________, ________, ________, ________ ) diff --git a/keyboards/xiudi/xd75/keymaps/minna/config.h b/keyboards/xiudi/xd75/keymaps/minna/config.h index 27975f0e24..f8805edc36 100644 --- a/keyboards/xiudi/xd75/keymaps/minna/config.h +++ b/keyboards/xiudi/xd75/keymaps/minna/config.h @@ -4,4 +4,4 @@ #pragma once // place overrides here -#define UNICODE_SELECTED_MODES UC_WINC, UC_LNX, UC_MAC \ No newline at end of file +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX, UNICODE_MODE_MACOS \ No newline at end of file diff --git a/keyboards/xiudi/xd75/keymaps/minna/keymap.c b/keyboards/xiudi/xd75/keymaps/minna/keymap.c index 26c9c07b27..b0b513c60f 100644 --- a/keyboards/xiudi/xd75/keymaps/minna/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/minna/keymap.c @@ -74,6 +74,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MSEL, KC_NO, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_CALC, KC_P7, KC_P8, KC_P9, KC_MINS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_MPRV, KC_NO, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_MPLY, KC_P4, KC_P5, KC_P6, KC_PLUS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, MO(1), RGB_TOG, KC_NO, RGB_RMOD,RGB_MOD, KC_NO, KC_P0, KC_NO, KC_PDOT, KC_PENT, KC_PENT, MO(1), UC_RMOD, UC_MOD) + KC_TRNS, MO(1), RGB_TOG, KC_NO, RGB_RMOD,RGB_MOD, KC_NO, KC_P0, KC_NO, KC_PDOT, KC_PENT, KC_PENT, MO(1), UC_PREV, UC_NEXT) }; diff --git a/keyboards/yatara/drink_me/keymaps/queen/config.h b/keyboards/yatara/drink_me/keymaps/queen/config.h index ed8565a311..4cb538fc6c 100644 --- a/keyboards/yatara/drink_me/keymaps/queen/config.h +++ b/keyboards/yatara/drink_me/keymaps/queen/config.h @@ -1 +1 @@ -#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WIN, UC_WINC +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE diff --git a/keyboards/yatara/drink_me/keymaps/queen/keymap.c b/keyboards/yatara/drink_me/keymaps/queen/keymap.c index 70b24be79d..2d99b38663 100644 --- a/keyboards/yatara/drink_me/keymaps/queen/keymap.c +++ b/keyboards/yatara/drink_me/keymaps/queen/keymap.c @@ -13,7 +13,7 @@ void td_spade_lnx (qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { register_unicode(0x2660); // ♠ } else { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } reset_tap_dance(state); } @@ -23,7 +23,7 @@ void td_diamond_osx (qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { register_unicode(0x2666); // ♦ } else { - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); } reset_tap_dance(state); } @@ -33,7 +33,7 @@ void td_club_win (qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { register_unicode(0x2663); // ♣ } else { - set_unicode_input_mode(UC_WIN); + set_unicode_input_mode(UNICODE_MODE_WINDOWS); } reset_tap_dance(state); } @@ -43,7 +43,7 @@ void td_heart_winc (qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { register_unicode(0x2665); // ♥ } else { - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); } reset_tap_dance(state); } diff --git a/keyboards/ymdk/melody96/keymaps/dvz/config.h b/keyboards/ymdk/melody96/keymaps/dvz/config.h index 78b95df64e..9c834bdce1 100644 --- a/keyboards/ymdk/melody96/keymaps/dvz/config.h +++ b/keyboards/ymdk/melody96/keymaps/dvz/config.h @@ -19,7 +19,7 @@ #define COMBO_COUNT 4 #define COMBO_TERM 100 -//#define UNICODE_SELECTED_MODES UC_WINC +//#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE #define RGBLIGHT_LAYERS #define RGBLIGHT_LAYER_BLINK diff --git a/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c b/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c index 473f89704c..5dff7a249a 100644 --- a/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c +++ b/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [L_FN] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SYSRQ, KC_SCRL, KC_PAUS, BREAK, TOP, BOTTOM, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, DIVIDE, TIMES, MINUS, - KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_MOD, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, + KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, UC_NEXT, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SET, _______, _______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, _______, KC_PGUP, RGB_M_R, RGB_M_SN,RGB_M_B, XXXXXXX, _______, DST_P_R, DST_N_A, KC_WH_D, _______, XXXXXXX, _______, KC_HOME, KC_PGDN, KC_END, RGB_RMOD,RGB_MOD, RGB_M_P diff --git a/keyboards/ymdk/melody96/keymaps/zunger/keymap.c b/keyboards/ymdk/melody96/keymaps/zunger/keymap.c index 98be4f22c7..d65f10dcec 100644 --- a/keyboards/ymdk/melody96/keymaps/zunger/keymap.c +++ b/keyboards/ymdk/melody96/keymaps/zunger/keymap.c @@ -239,7 +239,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, QK_BOOT, KC_CGRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAGU, _______, _______, _______, KC_CDIA, KC_CCIR, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, UC_M_MA, UC_M_LN, UC_M_WI, UC_M_BS, UC_M_WC, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, UC_MAC, UC_LINX, UC_WIN, UC_BSD, UC_WINC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CCED, _______, _______, KC_CTIL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/layouts/community/60_iso/bifbofii/keymap.c b/layouts/community/60_iso/bifbofii/keymap.c index 7365f98e97..f335bd3289 100755 --- a/layouts/community/60_iso/bifbofii/keymap.c +++ b/layouts/community/60_iso/bifbofii/keymap.c @@ -144,8 +144,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [SPECIALS] = LAYOUT_60_iso( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, XXXXXXX, - XXXXXXX, XXXXXXX, UC_M_WC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_M_MA, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(GAMING), XXXXXXX, XXXXXXX, XXXXXXX, UC_M_LN, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, + XXXXXXX, XXXXXXX, UC_WINC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_MAC, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(GAMING), XXXXXXX, XXXXXXX, XXXXXXX, UC_LINX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS ), diff --git a/layouts/community/65_ansi_blocker/spidey3/keymap.c b/layouts/community/65_ansi_blocker/spidey3/keymap.c index e4a417ef90..5f8080d471 100644 --- a/layouts/community/65_ansi_blocker/spidey3/keymap.c +++ b/layouts/community/65_ansi_blocker/spidey3/keymap.c @@ -26,8 +26,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = LAYOUT_65_ansi_blocker( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_SCRL, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, SPI_GLO, VK_TOGG, CH_SUSP, KC_SLEP, KC_PWR, KC_BRIU, - MO(_GLYPH), RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_TW, UC_M_LN, XXXXXXX, XXXXXXX, KC_CPNL, KC_BRID, - _______, XXXXXXX, UC_M_EM, UC_M_WC, UC_MOD, NK_TOGG, TG(_NUMPAD),UC_M_MA, XXXXXXX, XXXXXXX, DB_TOGG, _______, KC_VOLU, KC_MUTE, + MO(_GLYPH), RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_TW, UC_LINX, XXXXXXX, XXXXXXX, KC_CPNL, KC_BRID, + _______, XXXXXXX, UC_EMAC, UC_WINC, UC_NEXT, NK_TOGG, TG(_NUMPAD),UC_MAC, XXXXXXX, XXXXXXX, DB_TOGG, _______, KC_VOLU, KC_MUTE, _______, _______, _______, KC_MPLY, KC_ASST, _______, KC_MPRV, KC_VOLD, KC_MNXT ), // Glyph Transformation diff --git a/layouts/community/75_ansi/spidey3/keymap.c b/layouts/community/75_ansi/spidey3/keymap.c index 65656173a4..5c2f6a150b 100644 --- a/layouts/community/75_ansi/spidey3/keymap.c +++ b/layouts/community/75_ansi/spidey3/keymap.c @@ -26,8 +26,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_BOOT, SPI_NORMAL, SPI_WIDE, SPI_SCRIPT, SPI_BLOCKS, SPI_CIRCLE, SPI_SQUARE, SPI_PARENS, SPI_FRAKTR, SPI_BOLD, SPI_MATH, XXXXXXX, SPI_GFLOCK, KC_SLEP, CH_SUSP, KC_PWR, EE_CLR, X(SAD), X(MEH), X(HAPPY), X(ANGRY), X(THUMBDN), X(THUMBUP), X(SPIDER), X_BUL, X(LOL), X(SURPRISE),X_DASH, XXXXXXX, KC_PAUS, KC_SCRL, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, SPI_GLO, VK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRIU, - XXXXXXX, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_TW, UC_M_LN, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRID, - _______, XXXXXXX, UC_M_EM, UC_M_WC, UC_MOD, NK_TOGG, TG(_NUMPAD),UC_M_MA, X(LARR), X(RARR), DB_TOGG, _______, KC_VOLU, KC_MUTE, + XXXXXXX, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_TW, UC_LINX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRID, + _______, XXXXXXX, UC_EMAC, UC_WINC, UC_NEXT, NK_TOGG, TG(_NUMPAD),UC_MAC, X(LARR), X(RARR), DB_TOGG, _______, KC_VOLU, KC_MUTE, _______, _______, _______, KC_MPLY, KC_ASST, _______, KC_CPNL, KC_MPRV, KC_VOLD, KC_MNXT ) }; diff --git a/layouts/community/ergodox/deadcyclo/keymap.c b/layouts/community/ergodox/deadcyclo/keymap.c index 6edf8b00f6..97e95d103b 100644 --- a/layouts/community/ergodox/deadcyclo/keymap.c +++ b/layouts/community/ergodox/deadcyclo/keymap.c @@ -341,7 +341,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Runs just one time when the keyboard initializes. void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); }; // Runs constantly in the background, in a loop. diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index c9c63168f6..64ef098280 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c @@ -167,7 +167,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_ergodox_pretty_wrapper( - QK_MAKE, _______, _______, _______, _______, _______, UC_MOD, KC_NUKE, _________________ADJUST_R1_________________, QK_BOOT, + QK_MAKE, _______, _______, _______, _______, _______, UC_NEXT, KC_NUKE, _________________ADJUST_R1_________________, QK_BOOT, VRSN, _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, EE_CLR, _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, RGB_IDL, KEYLOCK, _________________ADJUST_L3_________________, _______, _______, _________________ADJUST_R3_________________, TG_MODS, diff --git a/layouts/community/ortho_4x12/bifbofii/keymap.c b/layouts/community/ortho_4x12/bifbofii/keymap.c index d754741899..fde4bd006d 100644 --- a/layouts/community/ortho_4x12/bifbofii/keymap.c +++ b/layouts/community/ortho_4x12/bifbofii/keymap.c @@ -164,8 +164,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ */ [SPECIALS] = LAYOUT_ortho_4x12( - XXXXXXX, XXXXXXX, UC_M_WC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_M_MA, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_M_LN, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, UC_WINC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_MAC, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UC_LINX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) diff --git a/layouts/community/ortho_5x12/riblee/config.h b/layouts/community/ortho_5x12/riblee/config.h index 8dbff5e10e..6f7393861e 100644 --- a/layouts/community/ortho_5x12/riblee/config.h +++ b/layouts/community/ortho_5x12/riblee/config.h @@ -15,4 +15,4 @@ */ #pragma once -#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX diff --git a/layouts/community/ortho_5x12/riblee/keymap.c b/layouts/community/ortho_5x12/riblee/keymap.c index 00b3ec1d82..7a786de79d 100644 --- a/layouts/community/ortho_5x12/riblee/keymap.c +++ b/layouts/community/ortho_5x12/riblee/keymap.c @@ -198,7 +198,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, KC_INS, KC_PSCR, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, HUNGARIAN, WORKMAN, - _______, _______, _______, _______, UC_MOD, UC_RMOD, NK_TOGG, CG_NORM, CG_SWAP, _______, _______, _______, + _______, _______, _______, _______, UC_NEXT, UC_PREV, NK_TOGG, CG_NORM, CG_SWAP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index bd5fc560f3..a0b9010027 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -31,29 +31,29 @@ bool process_unicode_common(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { bool shifted = get_mods() & MOD_MASK_SHIFT; switch (keycode) { - case UNICODE_MODE_FORWARD: + case QK_UNICODE_MODE_NEXT: cycle_unicode_input_mode(shifted ? -1 : +1); break; - case UNICODE_MODE_REVERSE: + case QK_UNICODE_MODE_PREVIOUS: cycle_unicode_input_mode(shifted ? +1 : -1); break; - case UNICODE_MODE_MAC: - set_unicode_input_mode(UC_MAC); + case QK_UNICODE_MODE_MACOS: + set_unicode_input_mode(UNICODE_MODE_MACOS); break; - case UNICODE_MODE_LNX: - set_unicode_input_mode(UC_LNX); + case QK_UNICODE_MODE_LINUX: + set_unicode_input_mode(UNICODE_MODE_LINUX); break; - case UNICODE_MODE_WIN: - set_unicode_input_mode(UC_WIN); + case QK_UNICODE_MODE_WINDOWS: + set_unicode_input_mode(UNICODE_MODE_WINDOWS); break; - case UNICODE_MODE_BSD: - set_unicode_input_mode(UC_BSD); + case QK_UNICODE_MODE_BSD: + set_unicode_input_mode(UNICODE_MODE_BSD); break; - case UNICODE_MODE_WINC: - set_unicode_input_mode(UC_WINC); + case QK_UNICODE_MODE_WINCOMPOSE: + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); break; - case UNICODE_MODE_EMACS: - set_unicode_input_mode(UC_EMACS); + case QK_UNICODE_MODE_EMACS: + set_unicode_input_mode(UNICODE_MODE_EMACS); break; } } diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index 6c9a262484..2f9e211cc1 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -378,13 +378,13 @@ enum quantum_keycodes { QK_CLEAR_EEPROM, // 5CDF // Unicode - UNICODE_MODE_FORWARD, // 5CE0 - UNICODE_MODE_REVERSE, // 5CE1 - UNICODE_MODE_MAC, // 5CE2 - UNICODE_MODE_LNX, // 5CE3 - UNICODE_MODE_WIN, // 5CE4 - UNICODE_MODE_BSD, // 5CE5 - UNICODE_MODE_WINC, // 5CE6 + QK_UNICODE_MODE_NEXT, // 5CE0 + QK_UNICODE_MODE_PREVIOUS, // 5CE1 + QK_UNICODE_MODE_MACOS, // 5CE2 + QK_UNICODE_MODE_LINUX, // 5CE3 + QK_UNICODE_MODE_WINDOWS, // 5CE4 + QK_UNICODE_MODE_BSD, // 5CE5 + QK_UNICODE_MODE_WINCOMPOSE, // 5CE6 // Haptic HPT_ON, // 5CE7 @@ -609,7 +609,7 @@ enum quantum_keycodes { MAGIC_UNSWAP_ESCAPE_CAPSLOCK, MAGIC_TOGGLE_ESCAPE_CAPSLOCK, - UNICODE_MODE_EMACS, + QK_UNICODE_MODE_EMACS, QK_AUTOCORRECT_ON, QK_AUTOCORRECT_OFF, @@ -834,15 +834,15 @@ enum quantum_keycodes { #define X(i) (QK_UNICODEMAP | (i)) #define XP(i, j) (QK_UNICODEMAP_PAIR | ((i)&0x7F) | (((j)&0x7F) << 7)) // 127 max i and j -#define UC_MOD UNICODE_MODE_FORWARD -#define UC_RMOD UNICODE_MODE_REVERSE +#define UC_NEXT QK_UNICODE_MODE_NEXT +#define UC_PREV QK_UNICODE_MODE_PREVIOUS -#define UC_M_MA UNICODE_MODE_MAC -#define UC_M_LN UNICODE_MODE_LNX -#define UC_M_WI UNICODE_MODE_WIN -#define UC_M_BS UNICODE_MODE_BSD -#define UC_M_WC UNICODE_MODE_WINC -#define UC_M_EM UNICODE_MODE_EMACS +#define UC_MAC QK_UNICODE_MODE_MACOS +#define UC_LINX QK_UNICODE_MODE_LINUX +#define UC_WIN QK_UNICODE_MODE_WINDOWS +#define UC_BSD QK_UNICODE_MODE_BSD +#define UC_WINC QK_UNICODE_MODE_WINCOMPOSE +#define UC_EMAC QK_UNICODE_MODE_EMACS // Auto Shift #define AS_UP QK_AUTO_SHIFT_UP diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h index 3baf37d378..68771baece 100644 --- a/quantum/quantum_keycodes_legacy.h +++ b/quantum/quantum_keycodes_legacy.h @@ -29,6 +29,15 @@ #define CMB_OFF QK_COMBO_OFF #define CMB_TOG QK_COMBO_TOGGLE +#define UC_MOD QK_UNICODE_MODE_NEXT +#define UC_RMOD QK_UNICODE_MODE_PREVIOUS +#define UC_M_MA QK_UNICODE_MODE_MACOS +#define UC_M_LN QK_UNICODE_MODE_LINUX +#define UC_M_WI QK_UNICODE_MODE_WINDOWS +#define UC_M_BS QK_UNICODE_MODE_BSD +#define UC_M_WC QK_UNICODE_MODE_WINCOMPOSE +#define UC_M_EM QK_UNICODE_MODE_EMACS + #define PROGRAMMABLE_BUTTON_1 QK_PROGRAMMABLE_BUTTON_1 #define PROGRAMMABLE_BUTTON_2 QK_PROGRAMMABLE_BUTTON_2 #define PROGRAMMABLE_BUTTON_3 QK_PROGRAMMABLE_BUTTON_3 diff --git a/quantum/unicode/unicode.c b/quantum/unicode/unicode.c index e2bfd68a3a..35cb62e700 100644 --- a/quantum/unicode/unicode.c +++ b/quantum/unicode/unicode.c @@ -46,7 +46,7 @@ #endif // Comma-delimited, ordered list of input modes selected for use (e.g. in cycle) -// Example: #define UNICODE_SELECTED_MODES UC_WINC, UC_LNX +// Example: #define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_LINUX #ifndef UNICODE_SELECTED_MODES # define UNICODE_SELECTED_MODES -1 #endif @@ -108,32 +108,32 @@ static float song_emacs[][2] = UNICODE_SONG_EMACS; static void unicode_play_song(uint8_t mode) { switch (mode) { # ifdef UNICODE_SONG_MAC - case UC_MAC: + case UNICODE_MODE_MACOS: PLAY_SONG(song_mac); break; # endif # ifdef UNICODE_SONG_LNX - case UC_LNX: + case UNICODE_MODE_LINUX: PLAY_SONG(song_lnx); break; # endif # ifdef UNICODE_SONG_WIN - case UC_WIN: + case UNICODE_MODE_WINDOWS: PLAY_SONG(song_win); break; # endif # ifdef UNICODE_SONG_BSD - case UC_BSD: + case UNICODE_MODE_BSD: PLAY_SONG(song_bsd); break; # endif # ifdef UNICODE_SONG_WINC - case UC_WINC: + case UNICODE_MODE_WINCOMPOSE: PLAY_SONG(song_winc); break; # endif # ifdef UNICODE_SONG_EMACS - case UC_EMACS: + case UNICODE_MODE_EMACS: PLAY_SONG(song_emacs); break; # endif @@ -209,7 +209,7 @@ __attribute__((weak)) void unicode_input_start(void) { // Need to do this before we mess around with the mods, or else // UNICODE_KEY_LNX (which is usually Ctrl-Shift-U) might not work // correctly in the shifted case. - if (unicode_config.input_mode == UC_LNX && unicode_saved_led_state.caps_lock) { + if (unicode_config.input_mode == UNICODE_MODE_LINUX && unicode_saved_led_state.caps_lock) { tap_code(KC_CAPS_LOCK); } @@ -218,13 +218,13 @@ __attribute__((weak)) void unicode_input_start(void) { clear_weak_mods(); switch (unicode_config.input_mode) { - case UC_MAC: + case UNICODE_MODE_MACOS: register_code(UNICODE_KEY_MAC); break; - case UC_LNX: + case UNICODE_MODE_LINUX: tap_code16(UNICODE_KEY_LNX); break; - case UC_WIN: + case UNICODE_MODE_WINDOWS: // For increased reliability, use numpad keys for inputting digits if (!unicode_saved_led_state.num_lock) { tap_code(KC_NUM_LOCK); @@ -233,11 +233,11 @@ __attribute__((weak)) void unicode_input_start(void) { wait_ms(UNICODE_TYPE_DELAY); tap_code(KC_KP_PLUS); break; - case UC_WINC: + case UNICODE_MODE_WINCOMPOSE: tap_code(UNICODE_KEY_WINC); tap_code(KC_U); break; - case UC_EMACS: + case UNICODE_MODE_EMACS: // The usual way to type unicode in emacs is C-x-8 then the unicode number in hex tap_code16(LCTL(KC_X)); tap_code16(KC_8); @@ -250,25 +250,25 @@ __attribute__((weak)) void unicode_input_start(void) { __attribute__((weak)) void unicode_input_finish(void) { switch (unicode_config.input_mode) { - case UC_MAC: + case UNICODE_MODE_MACOS: unregister_code(UNICODE_KEY_MAC); break; - case UC_LNX: + case UNICODE_MODE_LINUX: tap_code(KC_SPACE); if (unicode_saved_led_state.caps_lock) { tap_code(KC_CAPS_LOCK); } break; - case UC_WIN: + case UNICODE_MODE_WINDOWS: unregister_code(KC_LEFT_ALT); if (!unicode_saved_led_state.num_lock) { tap_code(KC_NUM_LOCK); } break; - case UC_WINC: + case UNICODE_MODE_WINCOMPOSE: tap_code(KC_ENTER); break; - case UC_EMACS: + case UNICODE_MODE_EMACS: tap_code16(KC_ENTER); break; } @@ -278,25 +278,25 @@ __attribute__((weak)) void unicode_input_finish(void) { __attribute__((weak)) void unicode_input_cancel(void) { switch (unicode_config.input_mode) { - case UC_MAC: + case UNICODE_MODE_MACOS: unregister_code(UNICODE_KEY_MAC); break; - case UC_LNX: + case UNICODE_MODE_LINUX: tap_code(KC_ESCAPE); if (unicode_saved_led_state.caps_lock) { tap_code(KC_CAPS_LOCK); } break; - case UC_WINC: + case UNICODE_MODE_WINCOMPOSE: tap_code(KC_ESCAPE); break; - case UC_WIN: + case UNICODE_MODE_WINDOWS: unregister_code(KC_LEFT_ALT); if (!unicode_saved_led_state.num_lock) { tap_code(KC_NUM_LOCK); } break; - case UC_EMACS: + case UNICODE_MODE_EMACS: tap_code16(LCTL(KC_G)); // C-g cancels break; } @@ -307,7 +307,7 @@ __attribute__((weak)) void unicode_input_cancel(void) { // clang-format off static void send_nibble_wrapper(uint8_t digit) { - if (unicode_config.input_mode == UC_WIN) { + if (unicode_config.input_mode == UNICODE_MODE_WINDOWS) { uint8_t kc = digit < 10 ? KC_KP_1 + (10 + digit - 1) % 10 : KC_A + (digit - 10); @@ -328,7 +328,7 @@ void register_hex(uint16_t hex) { void register_hex32(uint32_t hex) { bool first_digit = true; - bool needs_leading_zero = (unicode_config.input_mode == UC_WINC); + bool needs_leading_zero = (unicode_config.input_mode == UNICODE_MODE_WINCOMPOSE); for (int i = 7; i >= 0; i--) { // Work out the digit we're going to transmit uint8_t digit = ((hex >> (i * 4)) & 0xF); @@ -352,13 +352,13 @@ void register_hex32(uint32_t hex) { } void register_unicode(uint32_t code_point) { - if (code_point > 0x10FFFF || (code_point > 0xFFFF && unicode_config.input_mode == UC_WIN)) { + if (code_point > 0x10FFFF || (code_point > 0xFFFF && unicode_config.input_mode == UNICODE_MODE_WINDOWS)) { // Code point out of range, do nothing return; } unicode_input_start(); - if (code_point > 0xFFFF && unicode_config.input_mode == UC_MAC) { + if (code_point > 0xFFFF && unicode_config.input_mode == UNICODE_MODE_MACOS) { // Convert code point to UTF-16 surrogate pair on macOS code_point -= 0x10000; uint32_t lo = code_point & 0x3FF, hi = (code_point & 0xFFC00) >> 10; diff --git a/quantum/unicode/unicode.h b/quantum/unicode/unicode.h index b3e43799ff..6f1e35d554 100644 --- a/quantum/unicode/unicode.h +++ b/quantum/unicode/unicode.h @@ -30,13 +30,14 @@ typedef union { extern unicode_config_t unicode_config; enum unicode_input_modes { - UC_MAC, // macOS using Unicode Hex Input - UC_LNX, // Linux using IBus - UC_WIN, // Windows using EnableHexNumpad - UC_BSD, // BSD (not implemented) - UC_WINC, // Windows using WinCompose (https://github.com/samhocevar/wincompose) - UC_EMACS, // Emacs is an operating system in search of a good text editor - UC__COUNT // Number of available input modes (always leave at the end) + UNICODE_MODE_MACOS, // macOS using Unicode Hex Input + UNICODE_MODE_LINUX, // Linux using IBus + UNICODE_MODE_WINDOWS, // Windows using EnableHexNumpad + UNICODE_MODE_BSD, // BSD (not implemented) + UNICODE_MODE_WINCOMPOSE, // Windows using WinCompose (https://github.com/samhocevar/wincompose) + UNICODE_MODE_EMACS, // Emacs is an operating system in search of a good text editor + + UNICODE_MODE_COUNT // Number of available input modes (always leave at the end) }; void unicode_input_mode_init(void); diff --git a/tests/caps_word/caps_word_unicodemap/config.h b/tests/caps_word/caps_word_unicodemap/config.h index 89fd7924d4..0f770337b1 100644 --- a/tests/caps_word/caps_word_unicodemap/config.h +++ b/tests/caps_word/caps_word_unicodemap/config.h @@ -17,4 +17,4 @@ #include "test_common.h" -#define UNICODE_SELECTED_MODES UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX diff --git a/tests/test_common/test_driver.hpp b/tests/test_common/test_driver.hpp index c97bda8bc5..982aec6c83 100644 --- a/tests/test_common/test_driver.hpp +++ b/tests/test_common/test_driver.hpp @@ -64,7 +64,7 @@ class TestDriver { #define EXPECT_REPORT(driver, report) EXPECT_CALL((driver), send_keyboard_mock(KeyboardReport report)) /** - * @brief Sets gmock expectation that Unicode `code_point` is sent with UC_LNX input + * @brief Sets gmock expectation that Unicode `code_point` is sent with UNICODE_MODE_LINUX input * mode. For instance for U+2013, * * EXPECT_UNICODE(driver, 0x2013); diff --git a/users/arkag/arkag.c b/users/arkag/arkag.c index fccae5ad6d..e7c8218587 100644 --- a/users/arkag/arkag.c +++ b/users/arkag/arkag.c @@ -190,15 +190,15 @@ void set_os (uint8_t os, bool update) { } switch (os) { case OS_MAC: - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); underglow = (Color){ 213, 255, 255 }; break; case OS_WIN: - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); underglow = (Color){ 128, 255, 255 }; break; case OS_NIX: - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); underglow = (Color){ 43, 255, 255 }; break; default: diff --git a/users/drashna/config.h b/users/drashna/config.h index 57b26786b3..5c5c131e36 100644 --- a/users/drashna/config.h +++ b/users/drashna/config.h @@ -63,7 +63,7 @@ # endif #endif // !AUDIO_ENABLE -#define UNICODE_SELECTED_MODES UC_WINC, UC_MAC +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_MACOS // #define WPM_ESTIMATED_WORD_SIZE 5 #define WPM_ALLOW_COUNT_REGRESSION diff --git a/users/konstantin/config.h b/users/konstantin/config.h index f5247cf5a9..26c7ecc0c7 100644 --- a/users/konstantin/config.h +++ b/users/konstantin/config.h @@ -53,7 +53,7 @@ // Unicode #define UNICODE_CYCLE_PERSIST false -#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_LINUX #define UNICODE_KEY_WINC KC_RGUI // Firmware size reduction diff --git a/users/kuchosauronad0/kuchosauronad0.c b/users/kuchosauronad0/kuchosauronad0.c index 4e9e856107..2c63eadfd1 100644 --- a/users/kuchosauronad0/kuchosauronad0.c +++ b/users/kuchosauronad0/kuchosauronad0.c @@ -19,9 +19,9 @@ along with this program. If not, see . userspace_config_t userspace_config; #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE)) -# define KUCHOSAURONAD0_UNICODE_MODE UC_WINC +# define KUCHOSAURONAD0_UNICODE_MODE UNICODE_MODE_WINCOMPOSE #else -# define KUCHOSAURONAD0_UNICODE_MODE 2 // set to 2 for UC_WIN, set to 4 for UC_WINC +# define KUCHOSAURONAD0_UNICODE_MODE 2 // set to 2 for UNICODE_MODE_WINDOWS, set to 4 for UNICODE_MODE_WINCOMPOSE #endif diff --git a/users/ridingqwerty/ridingqwerty.c b/users/ridingqwerty/ridingqwerty.c index 19b417a80f..8934b9365b 100644 --- a/users/ridingqwerty/ridingqwerty.c +++ b/users/ridingqwerty/ridingqwerty.c @@ -7,7 +7,7 @@ void matrix_init_user(void) { matrix_init_keymap(); #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #endif //set_single_persistent_default_layer(_QWERTY); diff --git a/users/romus/romus.c b/users/romus/romus.c index a41a6df578..7b2e330228 100644 --- a/users/romus/romus.c +++ b/users/romus/romus.c @@ -142,7 +142,7 @@ void matrix_init_user (void) { // Correct unicode #ifdef UNICODE_ENABLE - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); #endif // Make beginning layer DVORAK @@ -272,7 +272,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { stop_all_notes(); PLAY_SONG(tone_linux); #endif - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } return false; break; @@ -282,7 +282,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { stop_all_notes(); PLAY_SONG(tone_windows); #endif - set_unicode_input_mode(UC_WIN); + set_unicode_input_mode(UNICODE_MODE_WINDOWS); } return false; break; diff --git a/users/rupa/config.h b/users/rupa/config.h index 723d9b3b5f..42a1708f9c 100644 --- a/users/rupa/config.h +++ b/users/rupa/config.h @@ -1,6 +1,6 @@ #pragma once -#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX #define ONESHOT_TAP_TOGGLE 5 #define ONESHOT_TIMEOUT 5000 diff --git a/users/rupa/wrappers.h b/users/rupa/wrappers.h index 199404a760..b5794c8fad 100644 --- a/users/rupa/wrappers.h +++ b/users/rupa/wrappers.h @@ -111,7 +111,7 @@ along with this program. If not, see . #define ____65_ADJUST______________ROW1 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______ #define ____65_ADJUST______________ROW2 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______ #define ____65_ADJUST______________ROW3 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______ -#define ____65_ADJUST______________ROW4 _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, UC_MOD, _______, _______ +#define ____65_ADJUST______________ROW4 _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, UC_NEXT, _______, _______ #define ____65_ADJUST______________ROW5 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ #define ____65_ADJUST__________RGB_ROW2 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, RESET, _______ diff --git a/users/rverst/rverst.c b/users/rverst/rverst.c index 2cbffbc478..df37ba9b5f 100644 --- a/users/rverst/rverst.c +++ b/users/rverst/rverst.c @@ -75,13 +75,13 @@ void switch_mode(uint8_t mode) { #ifdef UNICODEMAP_ENABLE switch (mode) { case MAC_UNI: - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); break; case WINDOWS_UNI: - set_unicode_input_mode(UC_WINC); + set_unicode_input_mode(UNICODE_MODE_WINCOMPOSE); break; case LINUX_UNI: - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); break; } #endif diff --git a/users/rverst/unicode.h b/users/rverst/unicode.h index 2268ffb594..45d1585809 100644 --- a/users/rverst/unicode.h +++ b/users/rverst/unicode.h @@ -18,7 +18,7 @@ #ifdef UNICODE_SELECTED_MODES # undef UNICODE_SELECTED_MODES -# define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC +# define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE #endif enum unicode_names { BANG, IRONY, SNEK }; diff --git a/users/sigma/sigma.c b/users/sigma/sigma.c index 70a76d4c01..9a0786233b 100644 --- a/users/sigma/sigma.c +++ b/users/sigma/sigma.c @@ -67,13 +67,13 @@ void set_os(uint8_t os) { #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE) switch (os) { case _OS_MACOS: - set_unicode_input_mode(UC_MAC); + set_unicode_input_mode(UNICODE_MODE_MACOS); break; case _OS_LINUX: - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); break; case _OS_WINDOWS: - set_unicode_input_mode(UC_WIN); + set_unicode_input_mode(UNICODE_MODE_WINDOWS); break; } #endif diff --git a/users/spidey3/config.h b/users/spidey3/config.h index 15f46a1f4a..0b3bf8f723 100644 --- a/users/spidey3/config.h +++ b/users/spidey3/config.h @@ -31,7 +31,7 @@ #endif -#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC, UC_EMACS +#define UNICODE_SELECTED_MODES UNICODE_MODE_MACOS, UNICODE_MODE_LINUX, UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_EMACS #define SPI_DEBUG_SCAN_RATE diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c index 102848fc90..75a4b4c0a1 100644 --- a/users/spidey3/layer_rgb.c +++ b/users/spidey3/layer_rgb.c @@ -61,9 +61,9 @@ const rgblight_segment_t PROGMEM _huh_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNE #define UNICODE_OFFSET 12 const rgblight_segment_t PROGMEM _uc_mac_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNER_BR(HSV_PURPLE)); -// No indicator for UC_LNX -// UC_WIN disabled in config.h -// UC_BSD not implemented +// No indicator for UNICODE_MODE_LINUX +// UNICODE_MODE_WINDOWS disabled in config.h +// UNICODE_MODE_BSD not implemented const rgblight_segment_t PROGMEM _uc_winc_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNER_BR(HSV_CYAN)); const rgblight_segment_t PROGMEM _uc_emacs_layer[] = RGBLIGHT_LAYER_SEGMENTS(CORNER_BR(HSV_GREEN)); @@ -85,14 +85,14 @@ const rgblight_segment_t *const PROGMEM _rgb_layers[] = { [ACK_OFFSET + ACK_MEH] = _meh_layer, [ACK_OFFSET + ACK_HUH] = _huh_layer, - [UNICODE_OFFSET + UC_MAC] = _uc_mac_layer, - [UNICODE_OFFSET + UC_LNX] = _none, - [UNICODE_OFFSET + UC_WIN] = _none, - [UNICODE_OFFSET + UC_BSD] = _none, - [UNICODE_OFFSET + UC_WINC] = _uc_winc_layer, - [UNICODE_OFFSET + UC_EMACS] = _uc_emacs_layer, + [UNICODE_OFFSET + UNICODE_MODE_MACOS] = _uc_mac_layer, + [UNICODE_OFFSET + UNICODE_MODE_LINUX] = _none, + [UNICODE_OFFSET + UNICODE_MODE_WINDOWS] = _none, + [UNICODE_OFFSET + UNICODE_MODE_BSD] = _none, + [UNICODE_OFFSET + UNICODE_MODE_WINCOMPOSE] = _uc_winc_layer, + [UNICODE_OFFSET + UNICODE_MODE_EMACS] = _uc_emacs_layer, - [UNICODE_OFFSET + UC__COUNT] = NULL + [UNICODE_OFFSET + UNICODE_MODE_COUNT] = NULL }; // clang-format on @@ -113,7 +113,7 @@ void do_rgb_layers(layer_state_t state, uint8_t start, uint8_t end) { } void do_rgb_unicode(uint8_t uc_mode) { - for (uint8_t i = 0; i < UC__COUNT; i++) { + for (uint8_t i = 0; i < UNICODE_MODE_COUNT; i++) { bool is_on = i == uc_mode; rgblight_set_layer_state(UNICODE_OFFSET + i, is_on); } diff --git a/users/spidey3/spidey3.c b/users/spidey3/spidey3.c index 0955bef3c3..3cf458d460 100644 --- a/users/spidey3/spidey3.c +++ b/users/spidey3/spidey3.c @@ -224,7 +224,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // to determine what Print Screen key should do. The // idea here is to make it consistent across hosts. switch (get_unicode_input_mode()) { - case UC_MAC: + case UNICODE_MODE_MACOS: if ((mods | osm) & MOD_MASK_ALT) { // Window screenshot clear_mods(); @@ -247,8 +247,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; - case UC_WIN: - case UC_WINC: + case UNICODE_MODE_WINDOWS + case UNICODE_MODE_WINCOMPOSE: if ((mods | osm) & MOD_MASK_ALT) { // Window screenshot // Alt+PrintScreen should work as is diff --git a/users/spidey3/spidey3_unicode.c b/users/spidey3/spidey3_unicode.c index c2804d8805..bda0876b54 100644 --- a/users/spidey3/spidey3_unicode.c +++ b/users/spidey3/spidey3_unicode.c @@ -24,5 +24,5 @@ const uint32_t PROGMEM unicode_map[] = { void eeconfig_init_user_unicode(void) { // Default to Linux style - set_unicode_input_mode(UC_LNX); + set_unicode_input_mode(UNICODE_MODE_LINUX); } diff --git a/users/uqs/config.h b/users/uqs/config.h index 5530417de1..4bb793532b 100644 --- a/users/uqs/config.h +++ b/users/uqs/config.h @@ -22,7 +22,7 @@ #define LEADER_TIMEOUT 400 #define LEADER_PER_KEY_TIMING -#define UNICODE_SELECTED_MODES UC_LNX +#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX // make KC_ACL0 et al work when held. #define MK_COMBINED diff --git a/users/uqs/uqs.c b/users/uqs/uqs.c index ede34d4556..82cf70c439 100644 --- a/users/uqs/uqs.c +++ b/users/uqs/uqs.c @@ -560,13 +560,13 @@ void matrix_scan_user(void) { } // tableflip (LEADER - TF) SEQ_TWO_KEYS(KC_T, KC_F) { - //set_unicode_input_mode(UC_LNX); + //set_unicode_input_mode(UNICODE_MODE_LINUX); //send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B"); send_unicode_string("(╯°□°)╯︵ ┻━┻"); } // untableflip SEQ_THREE_KEYS(KC_U, KC_T, KC_F) { - //set_unicode_input_mode(UC_LNX); + //set_unicode_input_mode(UNICODE_MODE_LINUX); //send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B"); send_unicode_string("┬─┬ノ( º _ ºノ)"); } diff --git a/users/yet-another-developer/yet-another-developer.c b/users/yet-another-developer/yet-another-developer.c index b729c06219..0e62d0cc88 100644 --- a/users/yet-another-developer/yet-another-developer.c +++ b/users/yet-another-developer/yet-another-developer.c @@ -4,9 +4,9 @@ userspace_config_t userspace_config; #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE)) - #define YAD_UNICODE_MODE UC_WIN + #define YAD_UNICODE_MODE UNICODE_MODE_WINDOWS #else -// set to 2 for UC_WIN, set to 4 for UC_WINC +// set to 2 for UNICODE_MODE_WINDOWS, set to 4 for UNICODE_MODE_WINCOMPOSE #define YAD_UNICODE_MODE 2 #endif -- cgit v1.2.3