summaryrefslogtreecommitdiffstats
path: root/users/drashna/send_unicode.c
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2018-11-27 01:45:24 +0100
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2018-11-27 01:45:24 +0100
commitecd21b44a8efd5c7241ebf48c65fc7b30134865f (patch)
tree6fd84ca4bc241d9dbbe8ea3b81a7c8341b80ecc3 /users/drashna/send_unicode.c
parentedb6c98fd23ab102069037f3dbfbd46c6067e86a (diff)
downloadqmk_firmware-ecd21b44a8efd5c7241ebf48c65fc7b30134865f.tar.gz
qmk_firmware-ecd21b44a8efd5c7241ebf48c65fc7b30134865f.tar.xz
Update to drashna userspace and keymaps (#4459)
* Fix reversed bool check in layer_state_set * Add Quefrency 65 for a friend * Add Ergodox EZ Glow keymap * Add RGB Matrix Code * Further changes to rgb matrix ErgoDox EZ * Update bjohnson keymaps * Fix CRKBD display * Overhaul to corne keyboard * Narrow scope for keylogger * Minor layout tweaks to Corne Keyboard * additional CRKBD tweaks * Minor tweaks to CRKBD * Add all characters for keylogger * Ergodox EZ Glow overhaul * Fix Ergodox EZ Glow layer colors * Increase Tapping Term for Corne Keyboard * Fix unicode-ish * Revert some changes * Add layer specific lighting effects * Some minor tweaks to ergodox glow config * revert changes to ergodox files * Update Glow readme * Add more tapping term defines * Fix changes * Fix ergodox keymap * Hopefully fix sleeping * Disable layer indications if rgb matrix is disabled * Add support for sleeping and rgb layer change toggle to ergodox ez glow * Make RGB Layer Indication Great Again * Make Unicode Great Again * Remove placeholder define Co-Authored-By: drashna <drashna@live.com> * Remove placeholder define Co-Authored-By: drashna <drashna@live.com> * Remove old EEPROM Reset keycode
Diffstat (limited to 'users/drashna/send_unicode.c')
-rw-r--r--users/drashna/send_unicode.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/users/drashna/send_unicode.c b/users/drashna/send_unicode.c
index cacfe1dc8..ff35368da 100644
--- a/users/drashna/send_unicode.c
+++ b/users/drashna/send_unicode.c
@@ -56,3 +56,57 @@ void send_unicode_hex_string(const char* str) {
// If you need a good converter: https://r12a.github.io/app-conversion/
+uint8_t saved_mods;
+
+void unicode_input_start (void) {
+ // save current mods
+ saved_mods = get_mods(); // Save current mods
+ clear_mods(); // Unregister mods to start from a clean state
+
+ switch(get_unicode_input_mode()) {
+ case UC_OSX:
+ register_code(KC_LALT);
+ break;
+ case UC_OSX_RALT:
+ register_code(KC_RALT);
+ break;
+ case UC_LNX:
+ register_code(KC_LCTL);
+ register_code(KC_LSFT);
+ register_code(KC_U);
+ unregister_code(KC_U);
+ unregister_code(KC_LSFT);
+ unregister_code(KC_LCTL);
+ break;
+ case UC_WIN:
+ register_code(KC_LALT);
+ register_code(KC_PPLS);
+ unregister_code(KC_PPLS);
+ break;
+ case UC_WINC:
+ register_code(KC_RALT);
+ unregister_code(KC_RALT);
+ register_code(KC_U);
+ unregister_code(KC_U);
+ break;
+ }
+ wait_ms(UNICODE_TYPE_DELAY);
+}
+
+void unicode_input_finish (void) {
+ switch(get_unicode_input_mode()) {
+ case UC_OSX:
+ case UC_WIN:
+ unregister_code(KC_LALT);
+ break;
+ case UC_OSX_RALT:
+ unregister_code(KC_RALT);
+ break;
+ case UC_LNX:
+ register_code(KC_SPC);
+ unregister_code(KC_SPC);
+ break;
+ }
+
+ set_mods(saved_mods); // Reregister previously set mods
+}