aboutsummaryrefslogtreecommitdiff
path: root/common/eeconfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/eeconfig.h')
-rw-r--r--common/eeconfig.h58
1 files changed, 20 insertions, 38 deletions
diff --git a/common/eeconfig.h b/common/eeconfig.h
index 3e195478b..526cee783 100644
--- a/common/eeconfig.h
+++ b/common/eeconfig.h
@@ -20,50 +20,32 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20 20
21#include <stdint.h> 21#include <stdint.h>
22 22
23#ifndef EECONFIG_IS_ENABLED
24#define EECONFIG_IS_ENABLED() true
25#endif
26 23
27#define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEED 24#define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEED
28 25
29/* eeprom parameteter address */ 26/* eeprom parameteter address */
30#define EECONFIG_MAGIC (uint16_t *)0 27#define EECONFIG_MAGIC (uint16_t *)0
31#define EECONFIG_DEBUG (uint8_t *)2 28#define EECONFIG_DEBUG (uint8_t *)2
32#define EECONFIG_DEFAULT_LAYER (uint8_t *)3 29#define EECONFIG_DEFAULT_LAYER (uint8_t *)3
33#define EECONFIG_KEYCONF (uint8_t *)4 30#define EECONFIG_KEYMAP (uint8_t *)4
34#define EECONFIG_MOUSEKEY_ACCEL (uint8_t *)5 31#define EECONFIG_MOUSEKEY_ACCEL (uint8_t *)5
35 32
36 33
37/* debug bit */ 34/* debug bit */
38#define EECONFIG_DEBUG_ENABLE (1<<0) 35#define EECONFIG_DEBUG_ENABLE (1<<0)
39#define EECONFIG_DEBUG_MATRIX (1<<1) 36#define EECONFIG_DEBUG_MATRIX (1<<1)
40#define EECONFIG_DEBUG_KEYBOARD (1<<2) 37#define EECONFIG_DEBUG_KEYBOARD (1<<2)
41#define EECONFIG_DEBUG_MOUSE (1<<3) 38#define EECONFIG_DEBUG_MOUSE (1<<3)
42 39
43/* keyconf bit */ 40/* keyconf bit */
44#define EECONFIG_KEYCONF_SWAP_CONTROL_CAPSLOCK (1<<0) 41#define EECONFIG_KEYMAP_SWAP_CONTROL_CAPSLOCK (1<<0)
45#define EECONFIG_KEYCONF_CAPSLOCK_TO_CONTROL (1<<1) 42#define EECONFIG_KEYMAP_CAPSLOCK_TO_CONTROL (1<<1)
46#define EECONFIG_KEYCONF_SWAP_LALT_LGUI (1<<2) 43#define EECONFIG_KEYMAP_SWAP_LALT_LGUI (1<<2)
47#define EECONFIG_KEYCONF_SWAP_RALT_RGUI (1<<3) 44#define EECONFIG_KEYMAP_SWAP_RALT_RGUI (1<<3)
48#define EECONFIG_KEYCONF_NO_GUI (1<<4) 45#define EECONFIG_KEYMAP_NO_GUI (1<<4)
49#define EECONFIG_KEYCONF_SWAP_GRAVE_ESC (1<<5) 46#define EECONFIG_KEYMAP_SWAP_GRAVE_ESC (1<<5)
50#define EECONFIG_KEYCONF_SWAP_BACKSLASH_BACKSPACE (1<<6) 47#define EECONFIG_KEYMAP_SWAP_BACKSLASH_BACKSPACE (1<<6)
51 48
52
53/* XXX: Not portable. Bit field order depends on implementation */
54typedef union {
55 uint8_t raw;
56 struct {
57 bool swap_control_capslock:1;
58 bool capslock_to_control:1;
59 bool swap_lalt_lgui:1;
60 bool swap_ralt_rgui:1;
61 bool no_gui:1;
62 bool swap_grave_esc:1;
63 bool swap_backslash_backspace:1;
64 bool reserved:1;
65 };
66} keyconf;
67 49
68bool eeconfig_is_enabled(void); 50bool eeconfig_is_enabled(void);
69 51
@@ -79,7 +61,7 @@ void eeconfig_write_debug(uint8_t val);
79uint8_t eeconfig_read_defalt_layer(void); 61uint8_t eeconfig_read_defalt_layer(void);
80void eeconfig_write_defalt_layer(uint8_t val); 62void eeconfig_write_defalt_layer(uint8_t val);
81 63
82uint8_t eeconfig_read_keyconf(void); 64uint8_t eeconfig_read_keymap(void);
83void eeconfig_write_keyconf(uint8_t val); 65void eeconfig_write_keymap(uint8_t val);
84 66
85#endif 67#endif