summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/command.c9
-rw-r--r--common/eeconfig.h15
2 files changed, 24 insertions, 0 deletions
diff --git a/common/command.c b/common/command.c
index a18eb7800..d7ba3f232 100644
--- a/common/command.c
+++ b/common/command.c
@@ -135,6 +135,15 @@ static void print_eeprom_config(void)
eebyte = eeconfig_read_keyconf();
print("keyconf: "); print_hex8(eebyte); print("\n");
+
+ keyconf kc = (keyconf){ .raw = eebyte };
+ print("keyconf.swap_control_capslock: "); print_hex8(kc.swap_control_capslock); print("\n");
+ print("keyconf.capslock_to_control: "); print_hex8(kc.capslock_to_control); print("\n");
+ print("keyconf.swap_lalt_lgui: "); print_hex8(kc.swap_lalt_lgui); print("\n");
+ print("keyconf.swap_ralt_rgui: "); print_hex8(kc.swap_ralt_rgui); print("\n");
+ print("keyconf.no_gui: "); print_hex8(kc.no_gui); print("\n");
+ print("keyconf.swap_grave_esc: "); print_hex8(kc.swap_grave_esc); print("\n");
+ print("keyconf.swap_backslash_backspace: "); print_hex8(kc.swap_backslash_backspace); print("\n");
}
static bool command_common(uint8_t code)
diff --git a/common/eeconfig.h b/common/eeconfig.h
index 9cf2ff680..2786995a2 100644
--- a/common/eeconfig.h
+++ b/common/eeconfig.h
@@ -46,6 +46,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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_initialized(void);
void eeconfig_init(void);