diff options
author | Dasky <32983009+daskygit@users.noreply.github.com> | 2022-06-06 01:33:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-06 01:33:32 +0100 |
commit | 85b3b98570262b97851b726a31819e8864ff1bb3 (patch) | |
tree | da1ed2677285008f4af914bff93fcd9b6e10fc14 /keyboards/doppelganger/doppelganger.c | |
parent | e89478eb0fe582d1a30a882e278927e31c9cdcc7 (diff) |
Move SPLIT_HAND_PIN setup to split_pre_init (#17271)
* Move SPLIT_HAND_PIN setup to split_pre_init
* doppelganger should use old behaviour
* Add comment for future
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Diffstat (limited to 'keyboards/doppelganger/doppelganger.c')
-rw-r--r-- | keyboards/doppelganger/doppelganger.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/keyboards/doppelganger/doppelganger.c b/keyboards/doppelganger/doppelganger.c index 04d19480da..304d764028 100644 --- a/keyboards/doppelganger/doppelganger.c +++ b/keyboards/doppelganger/doppelganger.c @@ -15,25 +15,31 @@ */ #include "doppelganger.h" -void keyboard_pre_init_kb (void) { - setPinOutput(C6); - setPinOutput(B0); +void keyboard_pre_init_kb(void) { + setPinOutput(C6); + setPinOutput(B0); } bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if(res) { - // writePin sets the pin high for 1 and low for 0. - // In this example the pins are inverted, setting - // it low/0 turns it on, and high/1 turns the LED off. - // This behavior depends on whether the LED is between the pin - // and VCC or the pin and GND. - writePin(C6, !led_state.caps_lock); - } - return res; + bool res = led_update_user(led_state); + if (res) { + // writePin sets the pin high for 1 and low for 0. + // In this example the pins are inverted, setting + // it low/0 turns it on, and high/1 turns the LED off. + // This behavior depends on whether the LED is between the pin + // and VCC or the pin and GND. + writePin(C6, !led_state.caps_lock); + } + return res; } __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { - writePin(B0, !(state & (1UL << 1))); - return state; + writePin(B0, !(state & (1UL << 1))); + return state; +} + +// Override core logic as we reuse SPLIT_HAND_PIN within matrix pins +bool is_keyboard_left(void) { + setPinInput(SPLIT_HAND_PIN); + return readPin(SPLIT_HAND_PIN); } |