Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: swap hands for split keyboards #1526

Open
mike1808 opened this issue Nov 8, 2022 · 3 comments
Open

Feature request: swap hands for split keyboards #1526

mike1808 opened this issue Nov 8, 2022 · 3 comments

Comments

@mike1808
Copy link

mike1808 commented Nov 8, 2022

Background

They are cases when you need to type one-handed without moving your hand to the other split but be able to press the keys on it. That's especially relevant when the splits are far apart from each other or when the pointing device is in-between the splits. For instance, when working in CAD software many times you're required to hold one key on the right side while moving your mouse, if you use your mouse with left hand you will need to reach your right hand from the left side to the right split.

To mitigate that, QMK has swap hands feature which when enabled maps the key presses of one side to the other.

Why

Introducing swap hands feature will eliminate excessive hand movement and also remove the need of defining an extra layer in the keymap.

I wanted to create an issue to track the progress and discuss it.

@mike1808 mike1808 changed the title Feature requests: swap hands for split keyboards Feature request: swap hands for split keyboards Nov 8, 2022
@yangit
Copy link

yangit commented Jun 20, 2023

I think it belongs to config generators.
There are many ways you can implement it, I use my generator to create

  • mirror letters
  • mirror symbols
  • mirror arrows
  • mirror shift layer

And some of the mirrors require custom adjustments to stay sane.

I do not think it belongs to ZMK config any more than sane tap dance declaration and a lot of other things which are not easy to define with ZMK syntax
You can look here for how I define mirror layers in my config generator, but it is written in JS so yeah, not part of ZMK.

@mike1808
Copy link
Author

mike1808 commented Jun 20, 2023

@yangit I do think this belongs to the firmware. The firmware can define the mapping definition on the physical matrix layer which then can be used in the keymap.

Yes, you can work around and make it work with generators or other tools but those are workarounds requiring a lot of knowledge or manual work and not solutions.

I implemented my swap layer using C macro https://github.com/mike1808/zmk-config/blob/main/config/helpers.h#L22 for now.

@kovasap
Copy link

kovasap commented Aug 1, 2024

+1 for this feature

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants