#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_KEYCONF_SWAP_BACKSLASH_BACKSPACE (1<<6)
-bool eeconfig_initialized(void);
+/* 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);
+void eeconfig_enable(void);
+
+void eeconfig_disable(void);
+
uint8_t eeconfig_read_debug(void);
void eeconfig_write_debug(uint8_t val);