-
Notifications
You must be signed in to change notification settings - Fork 131
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: idle timer fake_key_depress_timer #502
Comments
This seems like a nice solution for the use case described here: It seems the proposed solution has some cases where the one shot key is unintentionally ended early by some actions, e.g. the tap action of a tap-hold. Implementation details: As you suggested, I think using fake keys is the easy approach since it's the easiest way to activate arbitrary actions that aren't mapped in a deflayer. This is probably better to add in kanata than in keyberon since it operates on fake keys. Gotta remember to update can_block. Should deduplicate multiples of identical on-idle for efficiency reasons. |
whow you was fast with this. though if I understand correcly like releasing the shift blocker key the next time I hit shift
that maches my use case. May be the docs should use past tense: Activate a fake key action if the keyboard has been idle for at least... else people (like) me could believe they could schedule an event, that happens without a key press. |
Sounds good, thanks for the suggestion to improve doc clarity :) I also reopened since I'm finding some weirdness with how long it takes for the "post-idle" state to be done, that needs some looking into. |
sadly me test procedure was wrong, it seems not to work for me. nosft_fk is F22
so the fake key presses F22 as intended then I press
and f22 does not get released
May be the (interception) keyboard is not considered idle because F22 is pressed? |
That's not an interception thing, but rather that's how on-idle currently behaves. I tried this out and found a config that works for me. The dvorak-tp layer is the "typing" layer. The idle time is quite small because the time-to-idle only starts after kanata is completely idle. Meaning if you overlap keys as part of typing, there will be zero chance for the
|
thanks again. |
latest testing with this config revealed a problem (for me)!
Sidenote: The config above already fixes tap-holds within words like Instead of trying to release the shift I lowercased the fasttyping-layer
instead of (unicode) I now use (unmod) in the fasttyping layer
|
But if fasttyping is unicode On holding the shift keys longer I can switch to a layer that does not trigger @tp |
Here my LATEST SOLUTION IT Messes with caps a little and with capswords a lot
|
First problem with the config in the post above is that when using caps or holding shift to type upper case you must type there must be more than 35ms between keystrokes else you get Second problem Third Problem when using Windows 10 Powertoys (v0.73) I get the letters in revered Order Since it seems to be a timing issue I tried to trigger @tp earlier
this has a consistent structur, but it works only with Powertoys running but not without. here is another "with Powertoys" version that fixes the
to be continued... |
Is your feature request related to a problem? Please describe.
lately my typing speed improved slightly and now my home row shifts I run into issues shifting to much.
example typing
eine
I geteiN
( maybe a timing issue maybe I really typedeien
) then I still wanteien
as output to show the typing error and encourage correction and further speed improvment.Describe the solution you'd like.
Intstead of diving into the tap-hold timings, my idea is:
disable home row shifts while typing fast
enable it after special keys: spc ret ctl
enable it when idle or after timeout
since I have no idea to define typing fast I would go with typing any letter
like this for all letters:
aletter (multi (on-press-fakekey nosft_fk press) aletter )
but how to release after timeout?
I would like
(onidle 150 (on-press-fakekey nosft_fk release))
Describe alternatives you've considered.
Maybe a more generel timeout system has more usecases
or it could be in the fake key
(on-press-fakekey-timeout nosft_fk press 150 release)
Additional context
No response
The text was updated successfully, but these errors were encountered: