qmk/qmk_firmware

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

开放

#25,106 创建于 2025年4月7日

 (3 条评论) (0 个反应) (0 位负责人)C (43,867 个派生)batch import
bughelp wanted

仓库指标

星标
 (20,368 个星标)
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

贡献者指南