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

Home row mods are listed as feature but no exsample code #75

Open
gerhard-h opened this issue May 31, 2022 · 5 comments
Open

Home row mods are listed as feature but no exsample code #75

gerhard-h opened this issue May 31, 2022 · 5 comments

Comments

@gerhard-h
Copy link

Under features:
Examples: F and J to Shift
is mentioned but I can't find an example.

Also there should be a general way tap-Actions and a hold-Actions can be defined
because an alt-Tap is used for some combos but I could not find where alt-tap itself ist defined.

use case: tap q gives q hold q gives ! or tap a gives a hold a gives ä

@cajhin
Copy link
Owner

cajhin commented May 31, 2022

that should be
rewire f Lshf f
rewire j Rshf j

Another user in the past liked this. I don't, because it causes trouble with fast typing and 'interleaved' keys (for "fo", I type f-down, o-down, f-up, o-up). That example would result in Shift-O for me.

Not sure what your idea about "hold" action is. it only really makes sense for Modifiers, because when you release it without another key, it is a tap.
If you mean slow taps, there is no config for that. Generally, there is no configuration that depends on timing.

@cajhin cajhin closed this as completed Nov 30, 2022
@eugenesvk
Copy link

eugenesvk commented Aug 26, 2023

because it causes trouble with fast typing and 'interleaved' keys (for "fo", I type f-down, o-down, f-up, o-up).

Is it possible to differentiate

  • f↓ o↓ f↑ o↑ (fast typing) from
  • f↓ o↓ o↑ f↑ (home row mod)

Since this is the type of sequence that's better thatn timings in setting apart a home row mod vs regular fast typing

@ktrutmann
Copy link

Hey, I also tried capsicain for home row mods.
The project seems realy cool and powerful, but there's something I don't realy understand.
Wenn I have REWIRE S LWIN S in my config file, I would expect the S key to send the letter S when taped, but the windows-key when held (i.e. another key is pressed while the S key is still down).
That does work, however, every second time I press the S key, the windows menu will pop up, even if it's clearly two distinct and independent taps.
Is there a way to acchieve what I want?

Thanks for the great project and your help!

@cajhin cajhin reopened this Feb 29, 2024
@cajhin
Copy link
Owner

cajhin commented Feb 29, 2024

Try again with the brand new release v97, and put
GLOBAL DeactivateWinkeyStartmenu
into your ini.

The issue is this: you rewire S to LWIN, so as soon as you press S, capsicain sends an "LWIN down" to Windows. You release S, capsicain recognizes a tapping, so it releases LWIN and sends an S.
Now Windows sees "LWIN down, LWIN up" and opens the Start menu, then puts an S there.

With the new GLOBAL, capsicain will insert an extra "shift down, shift up" before releasing the Windows key.

I don't think you will be happy with your config, sorry. The issue is "rolling keypresses", type ASDF with your left hand, now you will probably press D before you release S, and this will trigger LWIN down, D down -> Windows shortcut for 'Show Desktop'.
Unless you type very slow and carefully, best with one finger...

If you try it out, please answer on this thread if it works.

@ktrutmann
Copy link

First of all, thank you for the speedy reply!

From your explanation I still don't get why it happened only every second time, but that doesn't matter.
I put GLOBAL DeactivateWinkeyStartmenu in my config and indeed, that fixed the issue.
I also rewiered LWIN to RWIN, so I still have the windows menu on the left Windows key. ;)

However, there are still two issues:

  1. The same thing happens with the alt key, which I place on my index fingers in my mod.
  2. You are absolutely right: Not waiting for any timeout or considering whether the modifier key (for example the S key, which is LWIN in my case) is held down for the whole duration of the tab of the other key makes the whole thing way to "sensitive". I also have the spacebar set to act as shift when held down, and half my spaces just produce capital letters. 😆

For context: The reason I tried capsicain is that I'm currently using kanata, but that one struggles with the "alt gr" key of the german layout, presumably beacause its hooks don't "go as deep" as capsicain's. Capsicain handles all these things flawlessly.

You owe nothing to anyone and you already procuded an amazing piece of software here, but if you want to make "the homerow people" very happy, thre's three "feature requests" I'd like to place:

  1. A way to make capsicain only send a key-event once it's determined whether it's going to be a "tab" or a "hold".
  2. A way to only count a keystroke as a hold when another tab (i.e. key down and key up) happens before the key up of that first key. Or in other words, the "hold" key must be pressed the entire time of the "tab" of the other key.
  3. Optionally, and I'm sure this would not be a small feat, a "tab timeout" like other keyboard modders have. This would mean for example "only count it as a hold if it is longer than 300ms". I'd imagine a Syntax like REWIRE S LWIN S // 300 or something alike.

Maybe give it a thought if you find the time and motivation. Until then thank you again for providing such a great piece of software and for answering my request so quickly.

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

4 participants