CharaChorder / CCOS-firmware

CharaChorder Operating System
15 stars 1 forks source link

Defect: QMK's tap dance causing repeated keys #32

Open jdestgermain opened 1 year ago

jdestgermain commented 1 year ago

Describe the bug WITHOUT CharaChorder installed, when I press the / button and let go, exactly one / shows up. WITH CharaChorder installed, when I press the / button and let go, there is a row of ////////////////////////////////////////// until I press another key.

This key is dual configured as / and Shift see: https://configure.zsa.io/moonlander/layouts/qYZyA/B3JE0/0 using Tap Dance from QMK https://github.com/samhocevar-forks/qmk-firmware/blob/master/docs/feature_tap_dance.md

Expected behavior It should only output one /

https://github.com/CharaChorder/CCOS-firmware/assets/11359044/423c284b-3957-4cba-8409-eaa8e97b0cf7

Also, tested this with a key configured to use non shifted characters and the issue DOES NOT persist, so suspect an issue with shifted characters.

Please complete the following information:

steevelefort commented 1 year ago

Hi, I have the exact same issue with a Corne keyboard, a Moonlander and an Ergodox EZ. It's very problematic, because as it, the Charachorder X is useless.

Please complete the following information:

OS: Arch Linux / Windows 11
CharaChorder Device: CharaChorder X
CCOS Version: 1.1.3
Keyboard: Corne V3, Moonlander, Ergodox EZ
bhansconnect commented 9 months ago

Just noting myself as another user also hitting this. Hitting it on MacOS with a corne keyboard. CCOS is 1.1.3 using a CCX.

bhansconnect commented 8 months ago

@jdestgermain or @steevelefort can you test setting #define TAP_CODE_DELAY <num> where <num> is a value like 20 in your config.h? At least for me with QMK Auto Shift, that got rid of the key repeat issue.

Apparently it defaults to 0, which means that QMK will immediately press than release the key with no delay. Apparently the CharaChorder may be seeing that as an invalid key press or missing part of the key release event.

jdestgermain commented 2 months ago

This may be fixed after 1.1.4 for CCX.