summary refs log tree commit diff
path: root/quantum/process_keycode
diff options
context:
space:
mode:
authorcoderkun <olli@coderkun.de>2016-08-21 20:25:19 +0200
committercoderkun <olli@coderkun.de>2016-08-21 20:27:23 +0200
commitdffdeb50b79d3c623e2ed9fd1c1d82d6d0ae7bf0 (patch)
tree119455361acfc33beb3fc563222f6c601bd5bdbf /quantum/process_keycode
parenta3f726174c0f8f358f7970767a1bf743fd9ad761 (diff)
Add method to set Unicode input key for ISO 14755
https://github.com/jackhumbert/qmk_firmware/issues/672
Diffstat (limited to 'quantum/process_keycode')
-rw-r--r--quantum/process_keycode/process_unicode.c10
-rw-r--r--quantum/process_keycode/process_unicode.h5
2 files changed, 13 insertions, 2 deletions
diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c
index 72c809c30e..422217b6d1 100644
--- a/quantum/process_keycode/process_unicode.c
+++ b/quantum/process_keycode/process_unicode.c
@@ -1,6 +1,7 @@
 #include "process_unicode.h"
 
 static uint8_t input_mode;
+static uint16_t linux_key = UNICODE_LNX_KEY;
 
 uint16_t hex_to_keycode(uint8_t hex)
 {
@@ -18,6 +19,11 @@ void set_unicode_input_mode(uint8_t os_target)
   input_mode = os_target;
 }
 
+void set_unicode_input_key_lnx(uint16_t key)
+{
+  linux_key = key;
+}
+
 void unicode_input_start (void) {
   switch(input_mode) {
   case UC_OSX:
@@ -26,8 +32,8 @@ void unicode_input_start (void) {
   case UC_LNX:
     register_code(KC_LCTL);
     register_code(KC_LSFT);
-    register_code(KC_U);
-    unregister_code(KC_U);
+    register_code(linux_key);
+    unregister_code(linux_key);
     unregister_code(KC_LSFT);
     unregister_code(KC_LCTL);
     break;
diff --git a/quantum/process_keycode/process_unicode.h b/quantum/process_keycode/process_unicode.h
index 85364e8eb3..60a116ab74 100644
--- a/quantum/process_keycode/process_unicode.h
+++ b/quantum/process_keycode/process_unicode.h
@@ -8,11 +8,16 @@
 #define UC_WIN 2
 #define UC_BSD 3
 
+#ifndef UNICODE_LNX_KEY
+#define UNICODE_LNX_KEY KC_A
+#endif
+
 #ifndef UNICODE_TYPE_DELAY
 #define UNICODE_TYPE_DELAY 10
 #endif
 
 void set_unicode_input_mode(uint8_t os_target);
+void set_unicode_input_key_lnx(uint16_t linux_key);
 void unicode_input_start(void);
 void unicode_input_finish(void);
 void register_hex(uint16_t hex);