Keyboard shortcut repeat feels sluggish since macOS 15.7.7 (possible IOHIDFamily regression)

Title: Keyboard shortcut repeat behaves inconsistently after macOS 15.7.7 update (possible IOHIDFamily regression)

BTT Version: 6.663
macOS Version: 15.7.7 (24G720) — regression appeared immediately after updating from 15.7.3 (24G419)
Hardware: MacBook Pro, M1 Max

Describe the bug:

I have two global "Keyboard Shortcut" triggers that remap a modifier+letter combination to arrow-key presses (originally left+right Cmd + W/S, later simplified to single Cmd+W/S and even Ctrl+W/S while troubleshooting — same result regardless of modifier). Both use the predefined action "Send Key Down and Key Up" with keycodes 126 (up) and 125 (down), and have "Repeat assigned action" enabled with Repeat Rate 0.03 and Repeat Delay 0.1.

This setup worked perfectly on macOS 15.7.3. Immediately after updating to 15.7.7, holding the shortcut produces a noticeably slower, "sluggish" repeat compared to a physical arrow key held with system Key Repeat set to minimum — even though the BTT repeat rate/delay values are unchanged and set well below system defaults. Lowering the rate/delay further in BTT made no difference.

Interestingly, the shortcut works correctly (fast, native-feeling repeat) in most third-party apps (Finder, text editors, etc.) — the regression seems isolated primarily to how the emulated repeat "feels" versus real hardware repeat, and additionally I found that navigation using this shortcut inside BTT's own preference window works in some panels (the left app-list sidebar) but not at all in others (the shortcut list / trigger config panels on the right).

Steps to reproduce:

  1. Create a global keyboard shortcut trigger with a "Send Key Down and Key Up" action set to arrow up/down keycode.
  2. Enable "Repeat assigned action" with a low rate/delay (e.g. 0.03 / 0.1).
  3. On macOS 15.7.3: hold the shortcut → smooth, fast repeat.
  4. On macOS 15.7.7: hold the same shortcut → visibly slower/inconsistent repeat, unaffected by further lowering rate/delay in BTT.

Screen recordings:

When navigating with arrow-keys the sluggishness is gone; it's just when using (left cmd+right cmd+w/s).

Possible cause:

I looked through Apple's security notes for 15.7.7 and noticed two changes specifically in IOHIDFamily (the framework underlying synthetic HID/keyboard event posting, which BTT relies on for its keyboard shortcut actions):

  • A memory corruption fix "addressed with improved locking"
  • A logging fix related to kernel memory handling

I don't have visibility into BTT's internals, so I can't confirm this is the cause, but the timing lines up exactly with the update, and IOHIDFamily is the layer BTT's synthetic keystrokes pass through. It's also possible this relates to the difference between genuine "Key Repeat" events (with isARepeat set) versus BTT sending repeated separate "Key Down" events — if 15.7.7 changed how these are queued/delivered, that could explain why some UI controls (which may check the repeat flag) react differently than plain text fields.

Flagging this in case it's useful — happy to test any debug builds or provide more logs/recordings if it helps track down.

have you already tried to restart your Mac? I don’t think this is related to IOHid stuff. Sounds more like some system process is currently a bit slow to respond - which often happens right after upgrades.

Hi Andreas​:waving_hand:t2:

Thank you so much for getting back to me. I absolutely love your app! The lifetime license is the best investment I've made for my mac, hands down. To answer your question, I've restarted, cleared cashes, and triple checked permissions. I considered resetting PRAM/NVRAM too. Also tried reloading my preset, and remapping the shortcuts to other keys, with and without specific modifiers toggled, just in case. It didn't make any difference. The arrow keys work perfectly when navigating elsewhere, like in Finder, Text Edit, or Spotify – it's hyperspeed then, which is what I love. No animations, no transitions - hence the shortcuts for show/hide every app I use. In macOS I have key repeat speed on fastest, and time before repetition to minimum. The navigation keys in question are these:

[
{
"BTTLastUpdatedAt" : 1784860824.7690411,
"BTTTriggerType" : 0,
"BTTTriggerParentUUID" : "66C88E08-9A9B-48AC-A1BA-6E2CC6CFD1E0",
"BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
"BTTUUID" : "B9320D48-9D2F-4FEB-A3AA-8E63AA136A6E",
"BTTAdditionalConfiguration" : "1048600",
"BTTShortcutScope" : 0,
"BTTShortcutKeyboardType" : 2302,
"BTTRepeatRate" : 0.029999999329447736,
"BTTRepeatDelay" : 0.10000000149011612,
"BTTTriggerOnDown" : 1,
"BTTNotesInsteadOfDescription" : 1,
"BTTLayoutIndependentChar" : "w",
"BTTShortcutKeyCode" : 13,
"BTTShortcutAdvancedModifierKeys" : "1048600",
"BTTShortcutModifierKeys" : 1048576,
"BTTOrder" : 0,
"BTTAutoAdaptToKeyboardLayout" : 0,
"BTTActionsToExecute" : [
{
"BTTLastUpdatedAt" : 1784860824.7680321,
"BTTTriggerParentUUID" : "B9320D48-9D2F-4FEB-A3AA-8E63AA136A6E",
"BTTIsPureAction" : true,
"BTTUUID" : "ABD08E36-EDF5-460A-9C0F-F9518A9F3A0E",
"BTTPredefinedActionType" : 264,
"BTTPredefinedActionName" : "",
"BTTShortcutToSend" : "126",
"BTTOrder" : 12
}
],
"BTTGestureNotes" : "PIL OPP :up_arrow::up_arrow::up_arrow::up_arrow::up_arrow:︎",
"BTTTriggerConfig" : {
"BTTLeftRightModifierDifferentiation" : 1
}
},
{
"BTTLastUpdatedAt" : 1784860824.757081,
"BTTTriggerType" : 0,
"BTTTriggerParentUUID" : "66C88E08-9A9B-48AC-A1BA-6E2CC6CFD1E0",
"BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
"BTTUUID" : "54FF0789-9A7D-4297-8585-B504840580D3",
"BTTAdditionalConfiguration" : "1048600",
"BTTShortcutScope" : 0,
"BTTShortcutKeyboardType" : 2302,
"BTTRepeatRate" : 0.029999999329447736,
"BTTRepeatDelay" : 0.10000000149011612,
"BTTTriggerOnDown" : 1,
"BTTNotesInsteadOfDescription" : 1,
"BTTLayoutIndependentChar" : "s",
"BTTShortcutKeyCode" : 1,
"BTTShortcutAdvancedModifierKeys" : "1048600",
"BTTShortcutModifierKeys" : 1048576,
"BTTOrder" : 1,
"BTTAutoAdaptToKeyboardLayout" : 0,
"BTTActionsToExecute" : [
{
"BTTLastUpdatedAt" : 1784860824.7653241,
"BTTTriggerParentUUID" : "54FF0789-9A7D-4297-8585-B504840580D3",
"BTTIsPureAction" : true,
"BTTUUID" : "32D93056-BBD2-41EC-B7AD-F283ED8C49B8",
"BTTPredefinedActionType" : 264,
"BTTPredefinedActionName" : "",
"BTTShortcutToSend" : "125",
"BTTOrder" : 13
}
],
"BTTGestureNotes" : "PIL NED :down_arrow::down_arrow::down_arrow::down_arrow::down_arrow:︎",
"BTTTriggerConfig" : {
"BTTLeftRightModifierDifferentiation" : 1
}
}
]

Left ⌘ + right ⌘ + w/s for up/down.

Also somewhat curious the shortcuts work in the app menu to the left in the UI. It's only when navigating to the right over to the shortcuts column, and from there up/down/sideways from there that it's slooooww. I recorded a comparison:

It's no big deal – I can just use the arrow keys when navigating BTT. Thanks to your work and exceptional app, I've managed to create a fully keyboard centered system, which I absolutely adore, so it would be amazing if we got this to work again. I'd rather prefer to not reverting back to 15.7.3 by backing up, wiping, and reloading everything. If I had a drive with ~3 TB available, I would, but I imagine you know well how the prices have gotten lately.

If you have any suggestions, I'll gladly try them out.

Once again, BTT is so lovely, and an obvious must have I simply can't recommend enough. I even told my doctor, who I noticed had a speedy workflow. He, being a man of culture, of course already was on team BTT, haha.