summaryrefslogtreecommitdiff
path: root/tmk_core
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core')
-rw-r--r--tmk_core/common/command.c2
-rw-r--r--tmk_core/common/eeconfig.c12
-rw-r--r--tmk_core/common/eeconfig.h8
3 files changed, 16 insertions, 6 deletions
diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c
index d3884d9fa9..949615ecf9 100644
--- a/tmk_core/common/command.c
+++ b/tmk_core/common/command.c
@@ -286,6 +286,8 @@ static void print_eeconfig(void)
print("keymap_config.raw: "); print_hex8(kc.raw); print("\n");
print(".swap_control_capslock: "); print_dec(kc.swap_control_capslock); print("\n");
print(".capslock_to_control: "); print_dec(kc.capslock_to_control); print("\n");
+ print(".swap_lctl_lgui: "); print_dec(kc.swap_lctl_lgui); print("\n");
+ print(".swap_rctl_rgui: "); print_dec(kc.swap_rctl_rgui); print("\n");
print(".swap_lalt_lgui: "); print_dec(kc.swap_lalt_lgui); print("\n");
print(".swap_ralt_rgui: "); print_dec(kc.swap_ralt_rgui); print("\n");
print(".no_gui: "); print_dec(kc.no_gui); print("\n");
diff --git a/tmk_core/common/eeconfig.c b/tmk_core/common/eeconfig.c
index 39628475f6..71de5da0cf 100644
--- a/tmk_core/common/eeconfig.c
+++ b/tmk_core/common/eeconfig.c
@@ -39,7 +39,8 @@ void eeconfig_init_quantum(void) {
eeprom_update_byte(EECONFIG_DEBUG, 0);
eeprom_update_byte(EECONFIG_DEFAULT_LAYER, 0);
default_layer_state = 0;
- eeprom_update_byte(EECONFIG_KEYMAP, 0);
+ eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, 0);
+ eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, 0);
eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0);
eeprom_update_byte(EECONFIG_BACKLIGHT, 0);
eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default
@@ -127,12 +128,17 @@ void eeconfig_update_default_layer(uint8_t val) { eeprom_update_byte(EECONFIG_DE
*
* FIXME: needs doc
*/
-uint8_t eeconfig_read_keymap(void) { return eeprom_read_byte(EECONFIG_KEYMAP); }
+uint16_t eeconfig_read_keymap(void) {
+ return ( eeprom_read_byte(EECONFIG_KEYMAP_LOWER_BYTE) | (eeprom_read_byte(EECONFIG_KEYMAP_UPPER_BYTE) << 8) );
+}
/** \brief eeconfig update keymap
*
* FIXME: needs doc
*/
-void eeconfig_update_keymap(uint8_t val) { eeprom_update_byte(EECONFIG_KEYMAP, val); }
+void eeconfig_update_keymap(uint16_t val) {
+ eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, val & 0xFF);
+ eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, ( val >> 8 ) & 0xFF );
+}
/** \brief eeconfig read backlight
*
diff --git a/tmk_core/common/eeconfig.h b/tmk_core/common/eeconfig.h
index 4606427aaf..3f7e3357c4 100644
--- a/tmk_core/common/eeconfig.h
+++ b/tmk_core/common/eeconfig.h
@@ -45,7 +45,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EECONFIG_HAPTIC (uint32_t *)24
#define EECONFIG_RGB_MATRIX (uint32_t *)28
#define EECONFIG_RGB_MATRIX_SPEED (uint8_t *)32
-
+// TODO: Combine these into a single word and single block of EEPROM
+#define EECONFIG_KEYMAP_UPPER_BYTE (uint8_t *)33
/* debug bit */
#define EECONFIG_DEBUG_ENABLE (1<<0)
#define EECONFIG_DEBUG_MATRIX (1<<1)
@@ -62,6 +63,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EECONFIG_KEYMAP_SWAP_BACKSLASH_BACKSPACE (1<<6)
#define EECONFIG_KEYMAP_NKRO (1<<7)
+#define EECONFIG_KEYMAP_LOWER_BYTE EECONFIG_KEYMAP
bool eeconfig_is_enabled(void);
bool eeconfig_is_disabled(void);
@@ -81,8 +83,8 @@ void eeconfig_update_debug(uint8_t val);
uint8_t eeconfig_read_default_layer(void);
void eeconfig_update_default_layer(uint8_t val);
-uint8_t eeconfig_read_keymap(void);
-void eeconfig_update_keymap(uint8_t val);
+uint16_t eeconfig_read_keymap(void);
+void eeconfig_update_keymap(uint16_t val);
#ifdef BACKLIGHT_ENABLE
uint8_t eeconfig_read_backlight(void);