JellyTitan/Sofle-Pico

Set handedness via pin

JellyTitan opened this issue · 7 comments

During QMK PR, Drashna recommended setting handedness via pin. We certainly have enough spare pins to do this. I tried setting this up on an earlier iteration, found it would likely need a pull up resistor, then abandoned the idea.
Revisit if time permits.

@TheWerle - any chance you'd consider integrating handedness by pin to the Choc variant?

Seems straight-forward enough, yeah.

If you want to adopt the TRRS protection circuit I included in the baseline then the easiest solution is to lean into the power-chain handedness and direct the user to assign MASTER_LEFT or MASTER_RIGHT in their userspace config.h file.

If you keep the baseline without that circuit, a pullup or pulldown would be added to left or right. GP28 is a natural candidate as it has nearby 3V3 and GND pins. You could wire a resistor from the unused poka-yoke pads for the Pico and the OLED or add explicit footprints in a new rev.
image

Thank you for the help! I've been giving it some thought - and I think it's more important to keep the QMK momentum going than it is to add in the handedness feature.

I really would prefer to incorporate this - but for the sake of time, I'm gonna go with the handedness by #define method, and let it default to Left hand master. I think I'll probably incorporate this when I have a chance to fold in some of the excellent stuff you've done on the Choc variant. (I might avoid GP28 though)

May include in future revisions, for now, trying to get QMK PR approved.

Thank you for the help! I've been giving it some thought - and I think it's more important to keep the QMK momentum going than it is to add in the handedness feature.

I really would prefer to incorporate this - but for the sake of time, I'm gonna go with the handedness by #define method, and let it default to Left hand master. I think I'll probably incorporate this when I have a chance to fold in some of the excellent stuff you've done on the Choc variant. (I might avoid GP28 though)

Yeah, trusting the default seems to make the most sense. Easy enough for users to add their own #define if they want to switch to the right-hand. "SPLIT_USB_DETECT" seems like it could be a solid option as well, but also seems like a potential minefield for unknowns from weird knockoffs.

I know I've seen folks mention needing pointing devices to be on the master for consistent performance if using autodetecting mouse layers, but I don't know if that's still the case with "SPLIT_POINTING_ENABLE". Are there other common features with the requirement for strict handedness?

I haven't seen many strict handedness requirements - but I'm usually only looking at the feature I'm working on.
Since QMK changes so quickly, I don't really trust the docs anymore. I usually search the /keyboards folder to find an example and crib what I'm after.

Defaulting to Master Left for now. May add support for this in future revisions.