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

MT(MOD_RALT,KC_SPC) is saved wrong #54

Open
propri opened this issue Jul 1, 2023 · 2 comments
Open

MT(MOD_RALT,KC_SPC) is saved wrong #54

propri opened this issue Jul 1, 2023 · 2 comments

Comments

@propri
Copy link

propri commented Jul 1, 2023

When you program a key with MT(MOD_RALT,KC_SPC), it is saved as MT(MOD_LALT | MOD_RALT,KC_SPC). Both with the app and the website.

@lesca
Copy link

lesca commented Aug 1, 2023

this is the issue of the QMK not VIA.

Currently, the kc argument of MT() is limited to the Basic Keycode set, meaning you can’t use keycodes like LCTL(), KC_TILD, or anything greater than 0xFF. This is because QMK uses 16-bit keycodes, of which 3 bits are used for the function identifier, 1 bit for selecting right or left mods, and 4 bits to tell which mods are used, leaving only 8 bits for the keycode. Additionally, if at least one right-handed modifier is specified in a Mod-Tap, it will cause all modifiers specified to become right-handed, so it is not possible to mix and match the two - for example, Left Control and Right Shift would become Right Control and Right Shift.

source: https://docs.qmk.fm/#/mod_tap

@propri
Copy link
Author

propri commented Sep 3, 2023

I don't quite understand how that relates to my problem? The keycode part works as expected, but the modifier doesn't. I am also not mixing any right/left modifiers.

I want to have a key that acts as space when tapped, but as RALT when held. If I try to program it with the any function of via as described above, the key acts as both RALT and LALT at the same time when held.
If I program it with LALT instead, it is saved as MT(MOD_LALT,KC_V) as expected.
Non QWERTY layouts often need to use RALT to reach certain symbols, and activating both RALT and LALT at the same time leads to unexpected and wrong inputs.

When I programmed my keyboard with QMK directly, I could achieve this by using RALT_T(KC_SPC), but VIA doesn't seem to support the RALT_T().

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

2 participants