CharaChorder / CCOS-firmware

CharaChorder Operating System
17 stars 1 forks source link

Defect: arpeggiate window after a chord should be ended when you use any action (keyboard shortcuts or character entry) that isn't an arpeggiate #42

Closed Raymo111 closed 4 months ago

Raymo111 commented 1 year ago

Describe the bug See title.

To Reproduce Steps to reproduce the behavior: Chord a word (i.e. the). Immediately input ctrl+leftarrow (on your CharaChorder) to go before the space (different editors work differently, you can use a GitHub issue description box to repro consistently). Immediately input period/dot. The e in the is now gone, and you're left with th. (note the two spaces)

Expected behavior The e should still be there, and the end result should be the.

Please complete the following information:

jdestgermain commented 1 year ago

Can you explain what you are trying to do? What would be a good end result here that is different than what currently happens (if you skip the Ctrl Left Arrow) step?

I.e. I assume you want the end result to still be the. right?

Raymo111 commented 1 year ago

Yeah. It's the simplest reproduceable case of a lot of instances where punctuation autodelete screws up what I'm trying to do, mostly while coding.

jdestgermain commented 1 year ago

Is there any reason why the default functionality without needing Ctrl Left Arrow doesn't work for you?

Either way, still a defect and can be fixed but if the work around is to not use Ctrl Left Arrow then probably a lower priority bug fix

Raymo111 commented 1 year ago

Like I said, this is the simplest reproducible example of a ton of errors when I code. The "just don't use keyboard shortcuts" workaround isn't very cool to power users...

jdestgermain commented 1 year ago

I guess what I mean is this particular case ends with the same end result so just trying to understand the real problem or goal

jdestgermain commented 1 year ago

The issue is written very specifically to arrow keys, for example, so if for example pressing an arrow key within the arpeggiate window deactivated any handling of punctuation would that satisfy the need?

Raymo111 commented 1 year ago

The bug is basically that if you make any input after your CharaChorder device outputs a space for you (after a chord), followed by a punctuation like period immediately after, the device should not delete before the period.

jdestgermain commented 1 year ago

The bug is basically that if you make any input after your CharaChorder device outputs a space for you (after a chord), followed by a punctuation like period immediately after, the device should not delete before the period.

Okay perfect, understand. Right now it must not be treating those actions as breaking the arpeggiate window.

Raymo111 commented 1 year ago

I would say this is probably the highest priority bug for me, besides being able to disable autodelete entirely. I can live with repeated characters and weird artifacts, I can't live with what I'm typing consistently being deleted 🙂

jdestgermain commented 1 year ago

If you need to turn it off, you can do so by adjusting your arpeggiate timeout

jdestgermain commented 1 year ago

On the CCLite, there is a similar bug, seen here. This is on a charachorder lite with 800 ms arpeggiate window. Interestingly, even with arpeggiate setting turned off you get the same results. You can turn arpeggiate window down to 10ms and then it goes away Arpeggiate bug

jdestgermain commented 4 months ago

This is now implemented/fixed in the latest version of CCOS, 2.0.0-beta, and will be fully released whenever that moves into production.