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
This commit is contained in:
		
							parent
							
								
									743524df32
								
							
						
					
					
						commit
						5974d989fe
					
				
					 132 changed files with 303 additions and 292 deletions
				
			
		| 
						 | 
				
			
			@ -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:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,9 +19,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -111,7 +111,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#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,   _______
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 };
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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("┬─┬ノ( º _ ºノ)");
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue