[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

  1. Open Karabiner-Elements and navigate to Simple Modifications.
  2. Add the following two modifications:
    • caps_lock -> delete_or_backspace
    • delete_or_backspace -> caps_lock
  3. 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