forked from mirrors/qmk_firmware
Clean up Unicode API usage in user keymaps (#21849)
This commit is contained in:
parent
70e34e491c
commit
66b744b63b
5 changed files with 31 additions and 88 deletions
|
@ -21,11 +21,6 @@ A layout based on neo2
|
|||
#endif
|
||||
#define LEADER_TIMEOUT 300
|
||||
|
||||
#define TAP_ONCE(code) \
|
||||
register_code (code); \
|
||||
unregister_code (code)
|
||||
|
||||
|
||||
// Automatic number generation of important keywords
|
||||
enum my_keycodes{
|
||||
// Layer numbers follow the neo2 terminology, i.e. base layer = layer 1
|
||||
|
@ -257,22 +252,11 @@ L06 -> <TBD>: UNSPECIFIED
|
|||
|
||||
void leader_end_user(void) {
|
||||
if (leader_sequence_one_key(KC_1)) {
|
||||
// ¯\_(ツ)_/¯
|
||||
unicode_input_start(); register_hex(0xaf); unicode_input_finish();
|
||||
register_code (KC_RALT); TAP_ONCE (KC_MINS); unregister_code (KC_RALT);
|
||||
register_code (KC_RSFT); TAP_ONCE (KC_8); unregister_code (KC_RSFT);
|
||||
unicode_input_start (); register_hex(0x30c4); unicode_input_finish();
|
||||
register_code (KC_RSFT); TAP_ONCE (KC_9); TAP_ONCE(KC_7); unregister_code (KC_RSFT);
|
||||
unicode_input_start (); register_hex(0xaf); unicode_input_finish();
|
||||
send_unicode_string("¯\\_(ツ)_/¯");
|
||||
}
|
||||
|
||||
if (leader_sequence_one_key(KC_2)) {
|
||||
// 凸(ツ)凸
|
||||
unicode_input_start(); register_hex(0x51F8); unicode_input_finish();
|
||||
register_code (KC_RSFT); TAP_ONCE (KC_8); unregister_code (KC_RSFT);
|
||||
unicode_input_start (); register_hex(0x30c4); unicode_input_finish();
|
||||
register_code (KC_RSFT); TAP_ONCE (KC_9); unregister_code (KC_RSFT);
|
||||
unicode_input_start (); register_hex(0x51F8); unicode_input_finish();
|
||||
send_unicode_string("凸(ツ)凸");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1328,33 +1328,25 @@ void send_degree_symbol(tap_dance_state_t* state, void* user_data) {
|
|||
switch (state->count) {
|
||||
case 4:
|
||||
// ℃
|
||||
unicode_input_start();
|
||||
register_hex(0x2103);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x2103);
|
||||
print("You pressed the Degrees key 4 times!\n");
|
||||
reset_tap_dance(state);
|
||||
break;
|
||||
case 3:
|
||||
//℉
|
||||
unicode_input_start();
|
||||
register_hex(0x2109);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x2109);
|
||||
print("You pressed the Degrees key 3 times!\n");
|
||||
reset_tap_dance(state);
|
||||
break;
|
||||
case 2:
|
||||
// €
|
||||
unicode_input_start();
|
||||
register_hex(0x20AC);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x20AC);
|
||||
print("You pressed the Degrees key 2 times!\n");
|
||||
reset_tap_dance(state);
|
||||
break;
|
||||
case 1:
|
||||
// °
|
||||
unicode_input_start();
|
||||
register_hex(0x00B0);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x00B0);
|
||||
print("You pressed the Degrees key 1 time!\n");
|
||||
reset_tap_dance(state);
|
||||
break;
|
||||
|
|
|
@ -291,13 +291,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
case TUR_A:
|
||||
if (record->event.pressed) {
|
||||
if ( is_capital ) {
|
||||
unicode_input_start();
|
||||
register_hex(0x00c2);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x00c2);
|
||||
} else {
|
||||
unicode_input_start();
|
||||
register_hex(0x00e2);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x00e2);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -305,13 +301,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
case TUR_O:
|
||||
if (record->event.pressed) {
|
||||
if ( is_capital ) {
|
||||
unicode_input_start();
|
||||
register_hex(0x00d6);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x00d6);
|
||||
} else {
|
||||
unicode_input_start();
|
||||
register_hex(0x00f6);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x00f6);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -319,13 +311,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
case TUR_U:
|
||||
if (record->event.pressed) {
|
||||
if ( is_capital ) {
|
||||
unicode_input_start();
|
||||
register_hex(0x00dc);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x00dc);
|
||||
} else {
|
||||
unicode_input_start();
|
||||
register_hex(0x00fc);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x00fc);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -333,13 +321,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
case TUR_I:
|
||||
if (record->event.pressed) {
|
||||
if ( is_capital ) {
|
||||
unicode_input_start();
|
||||
register_hex(0x0130);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x0130);
|
||||
} else {
|
||||
unicode_input_start();
|
||||
register_hex(0x0131);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x0131);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -347,13 +331,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
case TUR_G:
|
||||
if (record->event.pressed) {
|
||||
if ( is_capital ) {
|
||||
unicode_input_start();
|
||||
register_hex(0x011e);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x011e);
|
||||
} else {
|
||||
unicode_input_start();
|
||||
register_hex(0x011f);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x011f);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -361,13 +341,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
case TUR_C:
|
||||
if (record->event.pressed) {
|
||||
if ( is_capital ) {
|
||||
unicode_input_start();
|
||||
register_hex(0x00c7);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x00c7);
|
||||
} else {
|
||||
unicode_input_start();
|
||||
register_hex(0x00e7);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x00e7);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -375,13 +351,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
case TUR_S:
|
||||
if (record->event.pressed) {
|
||||
if ( is_capital ) {
|
||||
unicode_input_start();
|
||||
register_hex(0x015e);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x015e);
|
||||
} else {
|
||||
unicode_input_start();
|
||||
register_hex(0x015f);
|
||||
unicode_input_finish();
|
||||
register_unicode(0x015f);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -125,12 +125,14 @@ bool u_xp(bool is_shifted, const char *shifted, const char *plain) {
|
|||
};
|
||||
|
||||
void zalgo(void) {
|
||||
unicode_input_start();
|
||||
int number = (rand() % (8 + 1 - 2)) + 2;
|
||||
unsigned int index;
|
||||
for (index=0; index<number; index++) {
|
||||
uint16_t hex = (rand() % (0x036F + 1 - 0x0300)) + 0x0300;
|
||||
register_hex(hex);
|
||||
}
|
||||
unicode_input_finish();
|
||||
}
|
||||
|
||||
bool combined_text(uint16_t keycode) {
|
||||
|
@ -138,16 +140,16 @@ bool combined_text(uint16_t keycode) {
|
|||
return false;
|
||||
}
|
||||
tap_code(keycode);
|
||||
unicode_input_start();
|
||||
|
||||
switch (combined_mode) {
|
||||
case CM_CIRCLE:
|
||||
register_hex(0x20DD);
|
||||
register_unicode(0x20DD);
|
||||
break;
|
||||
case CM_NO:
|
||||
register_hex(0x20E0);
|
||||
register_unicode(0x20E0);
|
||||
break;
|
||||
case CM_KEYCAP:
|
||||
register_hex(0x20E3);
|
||||
register_unicode(0x20E3);
|
||||
break;
|
||||
case CM_ZALGO:
|
||||
zalgo();
|
||||
|
@ -155,7 +157,6 @@ bool combined_text(uint16_t keycode) {
|
|||
default:
|
||||
break;
|
||||
}
|
||||
unicode_input_finish();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -73,19 +73,13 @@ static uint32_t math_glyph_exceptions(const uint16_t keycode, const bool shifted
|
|||
}
|
||||
|
||||
bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uint32_t baseAlphaLower, uint32_t baseAlphaUpper, uint32_t zeroGlyph, uint32_t baseNumberOne, uint32_t spaceGlyph, uint32_t (*exceptions)(const uint16_t keycode, const bool shifted), uint8_t temp_mod, uint8_t temp_osm) {
|
||||
void _register(uint32_t codepoint) {
|
||||
unicode_input_start();
|
||||
register_hex32(codepoint);
|
||||
unicode_input_finish();
|
||||
}
|
||||
|
||||
if ((((temp_mod | temp_osm) & (MOD_MASK_CTRL | MOD_MASK_ALT | MOD_MASK_GUI))) == 0) {
|
||||
bool shifted = ((temp_mod | temp_osm) & MOD_MASK_SHIFT);
|
||||
if (exceptions) {
|
||||
uint32_t res = exceptions(keycode, shifted);
|
||||
if (res) {
|
||||
if (record->event.pressed) {
|
||||
_register(res);
|
||||
register_unicode(res);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -100,7 +94,7 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin
|
|||
|
||||
bool caps = host_keyboard_led_state().caps_lock;
|
||||
uint32_t base = ((shifted == caps) ? baseAlphaLower : baseAlphaUpper);
|
||||
_register(base + (keycode - KC_A));
|
||||
register_unicode(base + (keycode - KC_A));
|
||||
set_mods(temp_mod);
|
||||
}
|
||||
return false;
|
||||
|
@ -109,7 +103,7 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin
|
|||
return true;
|
||||
}
|
||||
if (record->event.pressed) {
|
||||
_register(zeroGlyph);
|
||||
register_unicode(zeroGlyph);
|
||||
}
|
||||
return false;
|
||||
case KC_1 ... KC_9:
|
||||
|
@ -117,12 +111,12 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin
|
|||
return true;
|
||||
}
|
||||
if (record->event.pressed) {
|
||||
_register(baseNumberOne + (keycode - KC_1));
|
||||
register_unicode(baseNumberOne + (keycode - KC_1));
|
||||
}
|
||||
return false;
|
||||
case KC_SPACE:
|
||||
if (record->event.pressed) {
|
||||
_register(spaceGlyph); // em space
|
||||
register_unicode(spaceGlyph); // em space
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue