Short/long press actions with only one letter have the problem that letters can appear in the wrong order when writing fast.
Now I heard about a new idea/approach that could solve the problem. That would mean every key/letter can be double assigned, without modifiers. Wouldn't that be great?
I wonder if this can be done with KM?
When the key (example: βaβ) is pressed KM blocks the original macOS key event - so nothing happens initially. Internally KM now starts a "timer" that waits for the configured long press time.
Now there are three scenarios:
1.) The user releases the key before the long press treshold has been reached AND no other key has been pressed since. In that case KM will just send the key event (e.g. the key βaβ) to the system.
2.) The user presses another key (example βbβ) while the timer is running. In that case KM will also block the second key press, cancel the timer and then send the key events to the system in their correct order (first βaβ, then βbβ)
3.) The user keeps the key pressed until the long press treshold has been reached: Execute the long press action.
Is this something you've actually developed or is it just theoretical? You said you "heard about" this, so what are you basing the idea on? Assigning regular single characters as triggers in apps that can be typed in isn't a smart idea, so I think we can put it to bed now.
1 and 3 are exactly what my version of this does. I don't really understand 2. Presumably the timer is short enough for it not to interfere with typing, so how are you going to press 'b' quickly enough? In order for KM to eat that keypress too, 'b' needs to be assigned as a trigger.
On the contrary, noisneil. It's not a smart idea because it doesn't work properly so far. But it's the best thing ever, if it works.
This is what I thought. Now you just need to figure out 2).
Is that the only way? I don't know, you are the pro of multipress. The key point seems: βsend the key events to the system in their correct order (first "a", then βbβ).β
You don't see any way to do that with KM? If you say no, then we can put it to bed.
Don't answer too quickly. I know that you find a solution for almost everything.
The only reason I say "it isn't smart" is because, as far as I'm aware, it creates as many new problems as it solves. Until proven otherwise, I'll stand by that!
I don't actually understand 2, so wouldn't know what I'd be trying to solve.
Having had various discussions about this, there doesn't seem to be a neat way to log a key and block it without it being a trigger in its own right.
I'm certainly not a pro, and still consider myself a beginner, and although I've put a fair amount of thought into this, I'm 1000% open to new and better ways of doing it.
You always say that, and you know very well that it's not true. Must be British understatement, of which we mainland Europeans know nothing. Ok, noisneil, thanks for now. The exchange with you is as always very pleasant. I'll keep you posted on how this progresses. Maybe the result will surprise you
Ah, and if any other "beginner" has an idea about this, I'd love to hear it.