summaryrefslogtreecommitdiffstats
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
parenta3f726174c0f8f358f7970767a1bf743fd9ad761 (diff)
Add method to set Unicode input key for ISO 14755
https://github.com/jackhumbert/qmk_firmware/issues/672
-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);