ARM split - Add bootmagic/magic keycodes for setting handedness (#6545)
* Add docs on bootmagic/magic keycodes for setting handedness * Clang format fixes * Maintain backwards compatibility * Maintain backwards compatibility
This commit is contained in:
committed by
Florian Didron
parent
1f66fd1a3c
commit
a15119dc6f
@@ -534,7 +534,7 @@ bool process_record_quantum(keyrecord_t *record) {
|
||||
# endif
|
||||
#endif
|
||||
case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_ALT_GUI:
|
||||
case MAGIC_SWAP_LCTL_LGUI ... MAGIC_TOGGLE_CTL_GUI:
|
||||
case MAGIC_SWAP_LCTL_LGUI ... MAGIC_EE_HANDS_RIGHT:
|
||||
if (record->event.pressed) {
|
||||
// MAGIC actions (BOOTMAGIC without the boot)
|
||||
if (!eeconfig_is_enabled()) {
|
||||
@@ -655,6 +655,12 @@ bool process_record_quantum(keyrecord_t *record) {
|
||||
clear_keyboard(); // clear first buffer to prevent stuck keys
|
||||
keymap_config.nkro = !keymap_config.nkro;
|
||||
break;
|
||||
case MAGIC_EE_HANDS_LEFT:
|
||||
eeconfig_update_handedness(true);
|
||||
break;
|
||||
case MAGIC_EE_HANDS_RIGHT:
|
||||
eeconfig_update_handedness(false);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -502,6 +502,8 @@ enum quantum_keycodes {
|
||||
MAGIC_SWAP_CTL_GUI,
|
||||
MAGIC_UNSWAP_CTL_GUI,
|
||||
MAGIC_TOGGLE_CTL_GUI,
|
||||
MAGIC_EE_HANDS_LEFT,
|
||||
MAGIC_EE_HANDS_RIGHT,
|
||||
|
||||
WEBUSB_PAIR,
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef EE_HANDS
|
||||
# include "tmk_core/common/eeprom.h"
|
||||
# include "eeconfig.h"
|
||||
#endif
|
||||
|
||||
@@ -23,7 +22,7 @@ __attribute__((weak)) bool is_keyboard_left(void) {
|
||||
setPinInput(SPLIT_HAND_PIN);
|
||||
return readPin(SPLIT_HAND_PIN);
|
||||
#elif defined(EE_HANDS)
|
||||
return eeprom_read_byte(EECONFIG_HANDEDNESS);
|
||||
return eeconfig_read_handedness();
|
||||
#elif defined(MASTER_RIGHT)
|
||||
return !is_keyboard_master();
|
||||
#endif
|
||||
|
||||
@@ -122,6 +122,14 @@ void bootmagic(void) {
|
||||
default_layer = eeconfig_read_default_layer();
|
||||
default_layer_set((layer_state_t)default_layer);
|
||||
}
|
||||
|
||||
/* EE_HANDS handedness */
|
||||
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_EE_HANDS_LEFT)) {
|
||||
eeconfig_update_handedness(true);
|
||||
}
|
||||
if (bootmagic_scan_keycode(BOOTMAGIC_KEY_EE_HANDS_RIGHT)) {
|
||||
eeconfig_update_handedness(false);
|
||||
}
|
||||
}
|
||||
|
||||
/** \brief Scan Keycode
|
||||
|
||||
@@ -36,6 +36,12 @@
|
||||
#ifndef BOOTMAGIC_KEY_DEBUG_MOUSE
|
||||
# define BOOTMAGIC_KEY_DEBUG_MOUSE KC_M
|
||||
#endif
|
||||
#ifndef BOOTMAGIC_KEY_EE_HANDS_LEFT
|
||||
# define BOOTMAGIC_KEY_EE_HANDS_LEFT KC_L
|
||||
#endif
|
||||
#ifndef BOOTMAGIC_KEY_EE_HANDS_RIGHT
|
||||
# define BOOTMAGIC_KEY_EE_HANDS_RIGHT KC_R
|
||||
#endif
|
||||
|
||||
/*
|
||||
* keymap config
|
||||
|
||||
@@ -163,8 +163,8 @@ uint32_t eeconfig_read_kb(void) { return eeprom_read_dword(EECONFIG_KEYBOARD); }
|
||||
*
|
||||
* FIXME: needs doc
|
||||
*/
|
||||
|
||||
void eeconfig_update_kb(uint32_t val) { eeprom_update_dword(EECONFIG_KEYBOARD, val); }
|
||||
|
||||
/** \brief eeconfig read user
|
||||
*
|
||||
* FIXME: needs doc
|
||||
@@ -176,9 +176,24 @@ uint32_t eeconfig_read_user(void) { return eeprom_read_dword(EECONFIG_USER); }
|
||||
*/
|
||||
void eeconfig_update_user(uint32_t val) { eeprom_update_dword(EECONFIG_USER, val); }
|
||||
|
||||
/** \brief eeconfig read haptic
|
||||
*
|
||||
* FIXME: needs doc
|
||||
*/
|
||||
uint32_t eeconfig_read_haptic(void) { return eeprom_read_dword(EECONFIG_HAPTIC); }
|
||||
/** \brief eeconfig update user
|
||||
/** \brief eeconfig update haptic
|
||||
*
|
||||
* FIXME: needs doc
|
||||
*/
|
||||
void eeconfig_update_haptic(uint32_t val) { eeprom_update_dword(EECONFIG_HAPTIC, val); }
|
||||
|
||||
/** \brief eeconfig read split handedness
|
||||
*
|
||||
* FIXME: needs doc
|
||||
*/
|
||||
bool eeconfig_read_handedness(void) { return !!eeprom_read_byte(EECONFIG_HANDEDNESS); }
|
||||
/** \brief eeconfig update split handedness
|
||||
*
|
||||
* FIXME: needs doc
|
||||
*/
|
||||
void eeconfig_update_handedness(bool val) { eeprom_update_byte(EECONFIG_HANDEDNESS, !!val); }
|
||||
|
||||
@@ -107,4 +107,7 @@ uint32_t eeconfig_read_haptic(void);
|
||||
void eeconfig_update_haptic(uint32_t val);
|
||||
#endif
|
||||
|
||||
bool eeconfig_read_handedness(void);
|
||||
void eeconfig_update_handedness(bool val);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user