]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - common/eeconfig.h
Merge branch 'remote_wakeup'
[tmk_firmware.git] / common / eeconfig.h
index 088171f575ac47f1a8d2e430db3764d6f3398c4e..3e195478b5a232818b6be8b3339fb95cdaea883c 100644 (file)
@@ -20,32 +20,58 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include <stdint.h>
 
+#ifndef EECONFIG_IS_ENABLED
+#define EECONFIG_IS_ENABLED()       true
+#endif
+
 #define EECONFIG_MAGIC_NUMBER                   (uint16_t)0xFEED
 
 /* eeprom parameteter address */
 #define EECONFIG_MAGIC                          (uint16_t *)0
 #define EECONFIG_DEBUG                          (uint8_t *)2
 #define EECONFIG_DEFAULT_LAYER                  (uint8_t *)3
-#define EECONFIG_MODIFIER                       (uint8_t *)4
+#define EECONFIG_KEYCONF                        (uint8_t *)4
 #define EECONFIG_MOUSEKEY_ACCEL                 (uint8_t *)5
 
 
-/* config bit */
+/* debug bit */
 #define EECONFIG_DEBUG_ENABLE                   (1<<0)
 #define EECONFIG_DEBUG_MATRIX                   (1<<1)
 #define EECONFIG_DEBUG_KEYBOARD                 (1<<2)
 #define EECONFIG_DEBUG_MOUSE                    (1<<3)
 
-#define EECONFIG_MODIFIER_CONTROL_CAPSLOCK      (1<<0)
-#define EECONFIG_MODIFIER_ALT_GUI               (1<<1)
-#define EECONFIG_MODIFIER_ESC_GRAVE             (1<<2)
-#define EECONFIG_MODIFIER_BACKSPACE_BACKSLASH   (1<<3)
-#define EECONFIG_MODIFIER_NO_GUI                (1<<4)
+/* keyconf bit */
+#define EECONFIG_KEYCONF_SWAP_CONTROL_CAPSLOCK     (1<<0)
+#define EECONFIG_KEYCONF_CAPSLOCK_TO_CONTROL       (1<<1)
+#define EECONFIG_KEYCONF_SWAP_LALT_LGUI            (1<<2)
+#define EECONFIG_KEYCONF_SWAP_RALT_RGUI            (1<<3)
+#define EECONFIG_KEYCONF_NO_GUI                    (1<<4)
+#define EECONFIG_KEYCONF_SWAP_GRAVE_ESC            (1<<5)
+#define EECONFIG_KEYCONF_SWAP_BACKSLASH_BACKSPACE  (1<<6)
+
+
+/* XXX: Not portable. Bit field order depends on implementation */
+typedef union {
+    uint8_t raw;
+    struct {
+        bool swap_control_capslock:1;
+        bool capslock_to_control:1;
+        bool swap_lalt_lgui:1;
+        bool swap_ralt_rgui:1;
+        bool no_gui:1;
+        bool swap_grave_esc:1;
+        bool swap_backslash_backspace:1;
+        bool reserved:1;
+    };
+} keyconf;
+
+bool eeconfig_is_enabled(void);
 
+void eeconfig_init(void);
 
-bool eeconfig_initialized(void);
+void eeconfig_enable(void);
 
-void eeconfig_init(void);
+void eeconfig_disable(void);
 
 uint8_t eeconfig_read_debug(void);
 void eeconfig_write_debug(uint8_t val);
@@ -53,7 +79,7 @@ void eeconfig_write_debug(uint8_t val);
 uint8_t eeconfig_read_defalt_layer(void);
 void eeconfig_write_defalt_layer(uint8_t val);
 
-uint8_t eeconfig_read_modifier(void);
-void eeconfig_write_modifier(uint8_t val);
+uint8_t eeconfig_read_keyconf(void);
+void eeconfig_write_keyconf(uint8_t val);
 
 #endif