I am attempting to migrate from Karabiner Elements which has stopped working for me.
I have most of my key remaps working, however, the Ctrl+Left/Right arrow keys are not fully working. They work for a single press, but not and hold. When I "press and hold" Ctrl+Left or Right, the first execution happens properly (my cursor moves one word to the left) but the next interaction is a regular Ctrl+Left (jumps to the beginning of the line). If I disable KM and use the built in Opt+Left arrow with a hold and press, it works the way you'd expect: each natural key repeat jumps the cursor one word to the left.
This happens to other similar hotkeys like Ctrl+Backspace
What I've tried:
Use "is pressed" with "press and release" (the default)
Use "is down" with "press and hold"
Use "is down" with "press and repeat"
Use "is pressed" with "press and hold" with a 100ms delay and then a "release"
It's part of the template. You can (optionally) return the mouse to it's starting position when the key is released, which may be desirable under certain circumstances.
You just need to change the trigger and simulated keystroke.
Here is what I want in very simple terms (let's just use the "jump back" and forget about the "jump forward" since it's the same thing): I want ⌃← to behave just like ⌥← does (natively).
Here's the same thing but with more detail:
I depress ⌃← and quickly let go: text cursor jump back one word
I depress ⌃← and let go after X seconds: text cursor jumps back the number of times that the OS would have repeated it based on my keyboard repeat rate settings.
There should be no extra movement of the cursor after I release ⌃←
The Jump Back a Word (Repeat).kmmacros attachment did not work:
I jumped back one word and then all the way to the beginning of the line (same problem as originally)
However, in addition, there were a ton of repeated jumps that happened after I let go of the keyboard. It kept going for over 30 seconds and I was forced to very quickly close KM because I couldn't get it to stop.
I had this working perfectly with Karabiner Elements before the Ventura upgrade. It appears that some thing is in the way of Karabiner talking with its driver.
I'm more or less guessing, but as far as I know Karabiner works on a deeper level than KM or BTT (BetterTouchTool). That would explain why with Karabiner works what fails with other software. But as I said, I'm just guessing.
One more thing: If the same shortcut is set up in KM and BTT, then the BTT action is always triggered. (KM is ignored). From this I conclude that BTT intervenes earlier than KM. Therefore I wanted to see how BTT deals with this problem.
Yeah, that response makes sense to me, @Frankb . Did you try @noisneil 's key repeat file by importing it? Did it do the same thing for you as it did for me? Or just the simple keystroke remap that I provided originally?
@noisneil , the macro you provided looks like it has a mandatory 0.3s delay between repeats. I don't see how that can possibly replicate the OS's native key repeat rate, but maybe it's close for you.
Are you saying that the simple key remap I provided originally should work the way I want it to? Or that the complex one should?
Holding a Keyboard Maestro trigger does not cause it to repeat in the same way that a direct system hotkey does, hence my workaround.
If you want to use ⌃← and ⌃→ as hotkey triggers for this, you will have to change or disable these Mission Control hotkeys, which will otherwise override Keyboard Maestro's trigger function: