Use system keyboard repeat rate

Repeat action while shortcut is pressed.

The current UI for setting the keyboard repeat rate is very difficult to use. Currently it has a slider for rate and a slider for delay, but it's incredibly hard to pick out the repeat rate you want.

Also, this is generally not a thing I even want to think about. Mac already has a System Preferences page to set keyboard repeat and delay. Would it be possible to allow BetterTouchTool to use that setting from System Preferences instead? It would make it easier for me to rebind keys on my keyboard this way.

PLEASE implement this! +1000000

BTT is not really a tool for rebinding keys, but for shortcuts. In most cases key repeat doesn't make sense for such action shortcuts. In even less cases it makes sense to use the system repeat rate for them.

It's ok to use BTT for some basic remappings that you don't need often, but otherwise you should look into Karabiner or Apple's hidutil. BTT does not integrate deep enough into the system to do real key remappings efficiently.

I mean I just wanted to make an extra volume keys shortcut that I could hold down easily.

I guess I can go mess with Karabiner again it's just that BTT is much more user friendly.

I hear what you're saying, but I don't want to do global rebinding of keys; I want to rebind for a single application. So, I don't think Karabiner is what I want. I want the key repeat speed/delay to more or less match what I've set with the system repeat setting. It appears there's some unusual settings that are configured with the BTT key repeat and delay settings and it's not clear how to adjust them to speed up the key repeat rate (but not disable the repeat feature). I'm not sure why making the repeat rate smaller (but non-zero?) appears to make it repeat more quickly. How can I set the sliders to make it as fast as possible? And how can I set them to make it repeat as slowly as possible? Then I'll pick something in between. Thanks!

In case anyone else runs across this thread trying to do the same thing, here's a shell script.

BTT could trigger this with the Numlock key, but I haven't done the work to detect the current state so there can be a single shell script that toggles back and forth, so you'd have to assign another key (maybe Shift+Numlock?) to run another script to restore the default Numlock mode.

Nonetheless, BTT already includes options to set the repeat rate (and delay) for a shortcut. Could you please at least make the default values for those fields to be “use system defaults”?

There are plenty of shortcuts where it does make sense to hold down the keys. Here are a few examples:

Increase / decrease volume
Increase / decrease brightness
Scroll up / down by fixed amount
Zoom in / out
Make font size larger / smaller

…and those are all just off the top of my head. I’m sure there are plenty more.

It is true that many of these have pre-existing shortcuts, but it is also true that many BTT users like to customize their shortcuts, perhaps in order to use a “hyper” key.

Here is another example, which I've just spent over an hour debugging (and will create a separate bug report for).
I want a keypress of my choosing to do Forward Delete for some applications. It obviously makes sense to press and hold that key to repeat the action, just as pressing the "Delete" (aka Backspace) key does a repeated backspace when held down.
Again, I had this working, but then I (foolishly) accepted an upgrade request from BTT, and now my keypress no longer repeats and it takes me over an hour and $25USD to figure out why the upgrade caused the problem and how to fix it. And now I'm spending more time writing bug reports.

I'm not going to ask how you spent the 25 USD :slightly_smiling_face: But if you can forget your anger for a minute, you could explain what your fix was.... if you like, that might help others.

best use the low level key remap for that (if it’s just a single key you want to remap temporarily). That one also does the system standard repeat:

Well, I was going to write a separate bug report, but since you asked nicely, I'll include it here. :slight_smile:

  1. @Andreas_Hegenberg Thanks for the tip for a perhaps simpler/better way to achieve my desired outcome (map a keypress to a "repeating" function for some apps). I will have to investigate that later though; I'm now at over 2 hours of time invested.
  2. I spent the $25.44 on a lifetime license, because I thought I needed it to fix this bug (I didn't). I already had a 2-year paid license (paid for twice consecutively, actually) and I was happy with the working of BTT and definitely didn't need more features, so I was happy continuing with my out-of-support version. But this very annoying bug came up out of the blue and I thought I'd need to go through the hop-skip-jump chicken dance of upgrading to alpha and rebooting and then filing a bug report to get it fixed (I didn't as you'll see below).
  3. I don't know why I was offered an upgrade, since I was out-of-support. Probably some kind of security issue which almost certainly doesn't apply to my particular situation. But I accepted the upgrade. And then I (much) later realized that the upgrade must be the cause of my repeat keypress not working any longer bug. I don't know any way out of this kind of problem (upgrade begging you to do something you don't need and then subsequently breaking a working configuration). Truthfully, it's a potential problem everywhere (even on my beloved Linux Mint desktop, which has the best upgrade workflow out of all the devices I've used (Windows, Mac, smart TV, DVD player, cellphone, etc), where luckily my desktop upgrades have not so far ended up breaking my working configuration.
  4. I had to relearn the BTT configuration workflow that I had figured out for setting a single modifier/keypress remapping to a single function.
  5. And then I had to figure out why it wasn't repeating. Eventually, I found (off-screen) the "Repeat assigned action while pressing" section in the Keyboard Shortcuts dialog, with the "Repeat assigned action" checkbox not checked.
  6. So, I checked the checkbox and clicked my open app window so I could test it, and it worked. Yay! So, I closed the BTT configuration window and went about my work.
  7. Later I noticed that it wasn't working again. So, I went back to the BTT configuration and saw that the checkbox was unchecked again. After trial and error, over and over, I finally noticed that a Save button is created when you make a change in the Keyboard Shortcuts dialog. The hidden-until-you-change-something Save button is at the opposite end of the scrolling dialog, so you can't see both the "Repeat" checkbox and the hidden Save button at the same time, making the Save button effectively invisible under normal conditions.
  8. So, I checked the checkbox and hit Save and tried again. It failed. So, I tried again, over and over, until I saw the pattern: scroll, check the checkbox, scroll, click Save, scroll, see the checkbox is now unchecked.
  9. After doing this umpteen times, I could see that clicking Save unchecked the checkbox, but I couldn't figure out why. I'm also noticing this same pattern occurs in the several Keyboard Shortcuts dialogs (one for each app where I had set up this shortcut, listed on the left side of the BTT configuration).
  10. Eventually something triggered in the primordial part of my brainstem, that I had seen the Repeat Rate slider below the checkbox set to something other than 0 in one of the different Keyboard Shortcuts dialogs (not in all of them). It had been set to 0.01, I remembered. Not being able to understand why 0 would be significantly different than 0.01, I still gave it a shot: I changed the slider to 0.01. I had to spend a little bit of time trying to see how I could set it to 0.01, since I couldn't move the slider to that value so precisely, but I eventually figured it out: I had to click on top of the number corresponding to the slider and it changed into an entry box where I could type 0.01.
  11. Then I could click Save and test it and it magically worked. I had figured out the magic incantation to set the auto-repeat functionality for a keyboard shortcut and I was able to configure BTT back to where it had been before the upgrade. This is my current state.
  12. I hypothesize that here's what had happened: In order to turn the auto-repeat functionality on (by checking the checkbox) and actually Save it, for some reason the Repeat Rate slider has to be non-zero. Otherwise, Saving it turns it off without warning. But the value 0.01 is actually invalid in some way. Maybe it's too small and the actual valid minimal value is 0.05 or 0.1 or some unknown (to me) value. When upgrading, the configuration is read by the new BTT software and validated and the "invalid" value is reset to 0, turning off the auto-repeat flag and disabling the functionality. I don't know why this doesn't happen, during a reboot for instance. But this is my best current working hypothesis for why it appears to work this way.
  13. I don't know what I can do to protect myself from this kind of regression. Not accepting upgrades doesn't seem right, especially not in the current state of the MacOS world of constant upgrade reminders, which is competing with Windows and my LG TV for the most annoying upgrade experience ever.
  14. Relying on my backed-up BTT configuration to somehow restore things to working doesn't seem like it would work either, but I haven't tried it. The best bet is that by writing these notes up and keeping them in my collection of MacOS gotchas, I will be able to find them again (or even more unlikely, remember them) when I need them again in the future.

I can’t imagine an update specifically broke this, there are thousands of users with key repeats set up (myself included), I would have gotten a lot of bug reports if it was broken by an update.

Maybe the update loaded a version of your database/setup where you didn’t have the key repeat enabled, this can happen if you had upgraded in the past but downgraded again.

In general updates are offered to all users, however if your license doesn’t include the version there will be a (big) warning.

In case something like this ever happens again: You can always go back to your previous version (https://folivors.ai/releases). BTT keeps the databases for your last few installed versions, so downgrading is usually straight forward.

You can of course get a refund for your lifetime license if you don’t need it and would like to downgrade, best send a quick email to me via andreas@folivora.ai

Thanks for your quick reply, @Andreas_Hegenberg.
Well, that's my best guess for what caused this. All I really know is that after spending a lot of time with BTT initially (in 2019) to get things configured, I don't touch it very much anymore. I do remember a BTT upgrade recently. And of course my $job and/or Apple are always pushing upgrades at me. And then suddenly my repeating forward-delete key is not repeating any more. And, like everyone else, I don't really pursue it until it gets annoying enough. And then I get caught in what you read above.
Thank you for the refund offer. I will contact you offline as you suggest.