[Bug] Swap between caps_lock and delete_or_backspace causes key-repeat loop
Author: genflakeCreated Sep 11, 2026Updated Sep 13, 2026
Details
Environment
- OS: macOS 27
- Karabiner-Elements Version: 16.3.0
- Keyboard: Built-in / Standard ANSI
Issue Summary
Setting up a mutual key swap between caps_lock and delete_or_backspace via simple_modifications creates an event loop/leak in macOS's key-repeat engine. Pressing the physical Delete key toggles Caps Lock, but simultaneously triggers rapid delete_or_backspace events that erase text.
Worked fine before but stopped working some weeks ago after a karabiner or macOS update.
Steps to Reproduce
- Open Karabiner-Elements and navigate to Simple Modifications.
- Add the following two modifications:
caps_lock->delete_or_backspacedelete_or_backspace->caps_lock
- Focus any text field and press the physical Delete key once.
Expected Behavior
Pressing the physical Delete key should strictly toggle Caps Lock state without firing any backspace/delete events.
Actual Behavior
Pressing physical Delete turns on Caps Lock, but also continuously emits delete_or_backspace keypresses, deleting characters or entire lines.
Source: pqrs-org/Karabiner-Elements