Skip to content

Caps Word activated with DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD leaves a a shift modifier stuck even after Caps Word ends #1034

Description

@ohle

To reproduce:

  1. Set CAPS_WORD_ENABLE = yes in rules.mk
  2. Set #define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD in config.h

Double tap the shift key. Caps word comes on and words are capitalized. When hitting space, is_caps_word_on() becomes false, but input is still being capitalized, and there seems to be no way to clear the stuck shift modifier.

Some debug output I added:

splitkb.com:Halcyon Kyria rev4:1: LSFT down: kc=225 caps=0 mods=00 weak=00 oneshot=00
splitkb.com:Halcyon Kyria rev4:1: mods changed: 02 weak=00 oneshot=00 caps=0
splitkb.com:Halcyon Kyria rev4:1: LSFT up: kc=225 caps=0 mods=02 weak=00 oneshot=00
splitkb.com:Halcyon Kyria rev4:1: mods changed: 00 weak=00 oneshot=00 caps=0
splitkb.com:Halcyon Kyria rev4:1: LSFT down: kc=225 caps=0 mods=00 weak=00 oneshot=00
splitkb.com:Halcyon Kyria rev4:1: mods changed: 02 weak=00 oneshot=00 caps=1
splitkb.com:Halcyon Kyria rev4:1: LSFT up: kc=225 caps=1 mods=02 weak=00 oneshot=00

Showing how the second tap of shift enables caps_word (caps=1) and also a shift modifier (mods changed: 02) that does not change back.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions