qmk/qmk_firmware

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

オープン

#25,106 opened on 2025/04/07

 (3 件のコメント) (0 件のリアクション) (0 人の担当者)C (43,867 件のフォーク)batch import
bughelp wanted

Repository metrics

Stars
 (20,368 個のスター)
PR merge metrics
 (平均マージ 20d 9h) (30d で 27 merged PRs)

説明

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

コントリビューターガイド