Add KEYCONF to eeconfig.c
This commit is contained in:
parent
51050875b7
commit
de8ef18a53
5 changed files with 83 additions and 23 deletions
|
@ -27,6 +27,28 @@ void bootmagic(void)
|
|||
if (bootmagic_scan_keycode(BOOTMAGIC_EEPROM_CLEAR_KEY)) {
|
||||
eeconfig_init();
|
||||
}
|
||||
|
||||
if (bootmagic_scan_keycode(BOOTMAGIC_SWAP_CONTROL_CPASLOCK)) {
|
||||
eeconfig_write_keyconf(eeconfig_read_keyconf() ^ EECONFIG_KEYCONF_SWAP_CONTROL_CAPSLOCK);
|
||||
}
|
||||
if (bootmagic_scan_keycode(BOOTMAGIC_CAPSLOCK_TO_CONTROL)) {
|
||||
eeconfig_write_keyconf(eeconfig_read_keyconf() ^ EECONFIG_KEYCONF_CAPSLOCK_TO_CONTROL);
|
||||
}
|
||||
if (bootmagic_scan_keycode(BOOTMAGIC_SWAP_LALT_LGUI)) {
|
||||
eeconfig_write_keyconf(eeconfig_read_keyconf() ^ EECONFIG_KEYCONF_SWAP_LALT_LGUI);
|
||||
}
|
||||
if (bootmagic_scan_keycode(BOOTMAGIC_SWAP_RALT_RGUI)) {
|
||||
eeconfig_write_keyconf(eeconfig_read_keyconf() ^ EECONFIG_KEYCONF_SWAP_RALT_RGUI);
|
||||
}
|
||||
if (bootmagic_scan_keycode(BOOTMAGIC_NO_GUI)) {
|
||||
eeconfig_write_keyconf(eeconfig_read_keyconf() ^ EECONFIG_KEYCONF_NO_GUI);
|
||||
}
|
||||
if (bootmagic_scan_keycode(BOOTMAGIC_SWAP_GRAVE_ESC)) {
|
||||
eeconfig_write_keyconf(eeconfig_read_keyconf() ^ EECONFIG_KEYCONF_SWAP_GRAVE_ESC);
|
||||
}
|
||||
if (bootmagic_scan_keycode(BOOTMAGIC_SWAP_BACKSLASH_BACKSPACE)) {
|
||||
eeconfig_write_keyconf(eeconfig_read_keyconf() ^ EECONFIG_KEYCONF_SWAP_BACKSLASH_BACKSPACE);
|
||||
}
|
||||
}
|
||||
|
||||
bool bootmagic_scan_keycode(uint8_t keycode)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#define BOOTMAGIC_IS_ENABLE() true
|
||||
#endif
|
||||
|
||||
/* bootloader */
|
||||
/* kick up bootloader */
|
||||
#ifndef BOOTMAGIC_BOOTLOADER_KEY
|
||||
#define BOOTMAGIC_BOOTLOADER_KEY KC_B
|
||||
#endif
|
||||
|
@ -19,7 +19,42 @@
|
|||
#define BOOTMAGIC_EEPROM_CLEAR_KEY KC_BSPACE
|
||||
#endif
|
||||
|
||||
/* change default layer */
|
||||
/*
|
||||
* key configure
|
||||
*/
|
||||
/* swap control and capslock */
|
||||
#ifndef BOOTMAGIC_SWAP_CONTROL_CPASLOCK
|
||||
#define BOOTMAGIC_SWAP_CONTROL_CPASLOCK KC_LCTRL
|
||||
#endif
|
||||
/* capslock to control */
|
||||
#ifndef BOOTMAGIC_CAPSLOCK_TO_CONTROL
|
||||
#define BOOTMAGIC_CAPSLOCK_TO_CONTROL KC_CAPSLOCK
|
||||
#endif
|
||||
/* swap alt and gui */
|
||||
#ifndef BOOTMAGIC_SWAP_LALT_LGUI
|
||||
#define BOOTMAGIC_SWAP_LALT_LGUI KC_LALT
|
||||
#endif
|
||||
/* swap alt and gui */
|
||||
#ifndef BOOTMAGIC_SWAP_RALT_RGUI
|
||||
#define BOOTMAGIC_SWAP_RALT_RGUI KC_RALT
|
||||
#endif
|
||||
/* no gui */
|
||||
#ifndef BOOTMAGIC_NO_GUI
|
||||
#define BOOTMAGIC_NO_GUI KC_LGUI
|
||||
#endif
|
||||
/* swap esc and grave */
|
||||
#ifndef BOOTMAGIC_SWAP_GRAVE_ESC
|
||||
#define BOOTMAGIC_SWAP_GRAVE_ESC KC_GRAVE
|
||||
#endif
|
||||
/* swap backslash and backspace */
|
||||
#ifndef BOOTMAGIC_SWAP_BACKSLASH_BACKSPACE
|
||||
#define BOOTMAGIC_SWAP_BACKSLASH_BACKSPACE KC_BSLASH
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* change default layer
|
||||
*/
|
||||
#ifndef BOOTMAGIC_DEFAULT_LAYER_0_KEY
|
||||
#define BOOTMAGIC_DEFAULT_LAYER_0_KEY KC_0
|
||||
#endif
|
||||
|
@ -33,6 +68,7 @@
|
|||
#define BOOTMAGIC_DEFAULT_LAYER_3_KEY KC_3
|
||||
#endif
|
||||
|
||||
|
||||
void bootmagic(void);
|
||||
bool bootmagic_scan_keycode(uint8_t keycode);
|
||||
|
||||
|
|
|
@ -133,8 +133,8 @@ static void print_eeprom_config(void)
|
|||
eebyte = eeconfig_read_defalt_layer();
|
||||
print("defalt_layer: "); print_hex8(eebyte); print("\n");
|
||||
|
||||
eebyte = eeconfig_read_modifier();
|
||||
print("modifiers: "); print_hex8(eebyte); print("\n");
|
||||
eebyte = eeconfig_read_keyconf();
|
||||
print("keyconf: "); print_hex8(eebyte); print("\n");
|
||||
}
|
||||
|
||||
static bool command_common(uint8_t code)
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
void eeconfig_init(void)
|
||||
{
|
||||
eeprom_write_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER);
|
||||
eeprom_write_byte(EECONFIG_DEBUG, 0);
|
||||
eeprom_write_byte(EECONFIG_DEFAULT_LAYER, 0);
|
||||
eeprom_write_byte(EECONFIG_MODIFIER, 0);
|
||||
eeprom_write_byte(EECONFIG_MOUSEKEY_ACCEL, 0);
|
||||
eeprom_write_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER);
|
||||
eeprom_write_byte(EECONFIG_DEBUG, 0);
|
||||
eeprom_write_byte(EECONFIG_DEFAULT_LAYER, 0);
|
||||
eeprom_write_byte(EECONFIG_KEYCONF, 0);
|
||||
eeprom_write_byte(EECONFIG_MOUSEKEY_ACCEL, 0);
|
||||
}
|
||||
|
||||
bool eeconfig_initialized(void)
|
||||
|
@ -18,12 +18,11 @@ bool eeconfig_initialized(void)
|
|||
return (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER);
|
||||
}
|
||||
|
||||
uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); }
|
||||
uint8_t eeconfig_read_debug(void) { return eeprom_read_byte(EECONFIG_DEBUG); }
|
||||
void eeconfig_write_debug(uint8_t val) { eeprom_write_byte(EECONFIG_DEBUG, val); }
|
||||
|
||||
uint8_t eeconfig_read_defalt_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); }
|
||||
uint8_t eeconfig_read_defalt_layer(void) { return eeprom_read_byte(EECONFIG_DEFAULT_LAYER); }
|
||||
void eeconfig_write_defalt_layer(uint8_t val) { eeprom_write_byte(EECONFIG_DEFAULT_LAYER, val); }
|
||||
|
||||
uint8_t eeconfig_read_modifier(void) { return eeprom_read_byte(EECONFIG_MODIFIER); }
|
||||
void eeconfig_write_modifier(uint8_t val) { eeprom_write_byte(EECONFIG_MODIFIER, val); }
|
||||
|
||||
uint8_t eeconfig_read_keyconf(void) { return eeprom_read_byte(EECONFIG_KEYCONF); }
|
||||
void eeconfig_write_keyconf(uint8_t val) { eeprom_write_byte(EECONFIG_KEYCONF, val); }
|
||||
|
|
|
@ -26,21 +26,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define EECONFIG_MAGIC (uint16_t *)0
|
||||
#define EECONFIG_DEBUG (uint8_t *)2
|
||||
#define EECONFIG_DEFAULT_LAYER (uint8_t *)3
|
||||
#define EECONFIG_MODIFIER (uint8_t *)4
|
||||
#define EECONFIG_KEYCONF (uint8_t *)4
|
||||
#define EECONFIG_MOUSEKEY_ACCEL (uint8_t *)5
|
||||
|
||||
|
||||
/* config bit */
|
||||
/* debug bit */
|
||||
#define EECONFIG_DEBUG_ENABLE (1<<0)
|
||||
#define EECONFIG_DEBUG_MATRIX (1<<1)
|
||||
#define EECONFIG_DEBUG_KEYBOARD (1<<2)
|
||||
#define EECONFIG_DEBUG_MOUSE (1<<3)
|
||||
|
||||
#define EECONFIG_MODIFIER_CONTROL_CAPSLOCK (1<<0)
|
||||
#define EECONFIG_MODIFIER_ALT_GUI (1<<1)
|
||||
#define EECONFIG_MODIFIER_ESC_GRAVE (1<<2)
|
||||
#define EECONFIG_MODIFIER_BACKSPACE_BACKSLASH (1<<3)
|
||||
#define EECONFIG_MODIFIER_NO_GUI (1<<4)
|
||||
/* keyconf bit */
|
||||
#define EECONFIG_KEYCONF_SWAP_CONTROL_CAPSLOCK (1<<0)
|
||||
#define EECONFIG_KEYCONF_CAPSLOCK_TO_CONTROL (1<<1)
|
||||
#define EECONFIG_KEYCONF_SWAP_LALT_LGUI (1<<2)
|
||||
#define EECONFIG_KEYCONF_SWAP_RALT_RGUI (1<<3)
|
||||
#define EECONFIG_KEYCONF_NO_GUI (1<<4)
|
||||
#define EECONFIG_KEYCONF_SWAP_GRAVE_ESC (1<<5)
|
||||
#define EECONFIG_KEYCONF_SWAP_BACKSLASH_BACKSPACE (1<<6)
|
||||
|
||||
|
||||
bool eeconfig_initialized(void);
|
||||
|
@ -53,7 +56,7 @@ void eeconfig_write_debug(uint8_t val);
|
|||
uint8_t eeconfig_read_defalt_layer(void);
|
||||
void eeconfig_write_defalt_layer(uint8_t val);
|
||||
|
||||
uint8_t eeconfig_read_modifier(void);
|
||||
void eeconfig_write_modifier(uint8_t val);
|
||||
uint8_t eeconfig_read_keyconf(void);
|
||||
void eeconfig_write_keyconf(uint8_t val);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue