summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2013-03-11 01:55:41 +0900
committertmk <nobody@nowhere>2013-03-11 01:55:41 +0900
commite4fbaf30be00d73a3fab2aee24c7a522a0ecdd31 (patch)
tree8186ded1924f5420a972540c3780a49aa683e051
parent09bd1aef12e42b44f90b8275ae95b578294957c0 (diff)
Add keyconf in eeconfig.c
-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 a18eb78006..d7ba3f232a 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 9cf2ff6802..2786995a29 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);