qmk/qmk_firmware

[Bug] Oneshot locked modifier is not disabled on the next modifier key press after toggling

Open

#25,106 建立於 2025年4月7日

在 GitHub 查看
 (3 留言) (0 反應) (0 負責人)C (43,867 fork)batch import
bughelp wanted

倉庫指標

Star
 (20,368 star)
PR 合併指標
 (平均合併 20天 9小時) (30 天內合併 27 個 PR)

描述

Describe the Bug

If you toggle a oneshot locked modifier and then press the modifier key again to disable it, the modifier remains active in an OS until the next key press on a keyboard.

Steps to reproduce:

  1. Toggle Shift by pressing it two times.
  2. Press Shift one time.

Actual behavior:

The Shift modifier is not disabled right after pressing the modifier key. It remains active in an OS.

To disable it in the OS you have to press some key on a keyboard (the modifier is not applied), trigger a hold event for the modifier key or restart the keyboard.

Expected behavior:

The Shift modifier is disabled right after pressing the modifier key.

This bug breaks the following usage scenario:

  1. Select the first item using a mouse.
  2. Toggle Shift by pressing it two times.
  3. Click on the second item to select several items.
  4. Disable Shift by pressing it one time.
  5. Perform some action with the selection.

Keyboard Used

moonlander

Link to product page (if applicable)

https://www.zsa.io/moonlander

Operating System

Ubuntu 22.04

qmk doctor Output

Is AutoHotKey / Karabiner installed

  • AutoHotKey (Windows)
  • Karabiner (macOS)

Other keyboard-related software installed

No response

Additional Context

No response

貢獻者指南