]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/process_keycode/process_unicode_common.c
changed -1 to 0 can't have negative unsigned ints 🤔
[qmk_firmware.git] / quantum / process_keycode / process_unicode_common.c
index 6012b4f07ef28250bce0673258cf99fba06c6295..84b5d673dd48ce473531d9549bf2f9f9dec12fb2 100644 (file)
  */
 
 #include "process_unicode_common.h"
+#include "eeprom.h"
 
+static uint8_t input_mode;
 uint8_t mods;
 
 void set_unicode_input_mode(uint8_t os_target)
 {
   input_mode = os_target;
+  eeprom_update_byte(EECONFIG_UNICODEMODE, os_target);
 }
 
 uint8_t get_unicode_input_mode(void) {
@@ -92,6 +95,18 @@ void unicode_input_finish (void) {
   if (mods & MOD_BIT(KC_RGUI)) register_code(KC_RGUI);
 }
 
+__attribute__((weak))
+uint16_t hex_to_keycode(uint8_t hex)
+{
+  if (hex == 0x0) {
+    return KC_0;
+  } else if (hex < 0xA) {
+    return KC_1 + (hex - 0x1);
+  } else {
+    return KC_A + (hex - 0xA);
+  }
+}
+
 void register_hex(uint16_t hex) {
   for(int i = 3; i >= 0; i--) {
     uint8_t digit = ((hex >> (i*4)) & 0xF);