Skip to content

occasionally, &kp modifier down event received after modified key's down event #3349

Description

@antifuchs

I'm running into a pretty mysterious issue with my rae-dux keyboard, running zmk 0.3.0: A key definition given as &kp DQT, when used in macOS, occasionally (about 10-20% of the time) results in the following events according to Karabiner EventViewer:

Image

So, first the single quote key is pressed, then the shift key pressed, then the quote key released then shift released. That results in a ' instead of a ", which is quite frustrating.

I found #2905 and enabled CONFIG_ZMK_HID_SEPARATE_MOD_RELEASE_REPORT=y in my rae-dux.conf (including resetting the HID identifier), which made me think I'd solved it, but the issue still occurs: It might occur a little more rarely (or the order of events differs now), but it's still there. Unfortunately, it seems this isn't the solution.

Here are the versions I'm currently running, from west.yml:

  remotes:
    - name: zmkfirmware
      url-base: https://github.com/zmkfirmware
  projects:
    - name: zmk
      remote: zmkfirmware
      revision: edf5c0814fd3ea202e43aad2d68fd32e882a518c # v0.3.0
      import: app/west.yml
    - name: zephyr
      remote: zmkfirmware
      revision: 489d3b00c49d1d3a0d4ec1f693fa0719db38bbf9 # v3.5.0+zmk-fixes

Here's the contents of my .conf file, too:

# Use higher power BT for better connection
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

# Enable deep sleep support (default n)
CONFIG_ZMK_SLEEP=y

# Milliseconds of inactivity before entering deep sleep (default 900000)
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000

# Enable NK-Rollover
CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y

# Send modifier release AFTER releasing the key. This should fix the _/- and {/[ confusion.
CONFIG_ZMK_HID_SEPARATE_MOD_RELEASE_REPORT=y

# Enable extended report, to enable F13-F24 as well as INTL1-8
CONFIG_ZMK_HID_KEYBOARD_NKRO_EXTENDED_REPORT=y
CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_FULL=y

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions