angstsmurf / spatterlight

Updated fork of Spatterlight
GNU General Public License v3.0
108 stars 6 forks source link

VoiceOver sometimes not detecting when the end of the command buffer is reached #79

Closed AERobert closed 3 months ago

AERobert commented 3 months ago

Ok, I did find one small issue with the handling of the command buffer using the up / down arrow keys in VoiceOver. Usually, if I arrow up a few commands and then arrow back to the current input, it will say ">" plus a error tone once I have reached the end of the commands. However, right after opening a game, this doesn't work as expected, if I navigate up and down the buffer then it will often just be completely silent once I reach the bottom of the buffer. This seems to be fixed if I switch windows to another game / application and switch back. It also works when the input line is not completely blank, it will say whatever text was left in the input as expected and after that blank input lines will also start being handled correctly.

angstsmurf commented 3 months ago

Thanks for the report(s)!

This seems to have something to do with which element the VoiceOver cursor has in focus when the butten is pressed. It is controlled by the system and is somewhat hard to predict.

Rather than investigating exactly why this is happening and what can be done about it, I've somewhat lazily added an announcement when you try to navigate outside the command history. VoiceOver will simply say "Start of command history" or "End of command history" when there are no more commands to show. My hope is that this will be more helpful than annoying. Let me know if it isn't.

Implemented in test build 1.2.1 here: https://github.com/angstsmurf/spatterlight/releases/tag/v1.2.1b

AERobert commented 3 months ago

I do actually like the announcements. Before it just wouldn't say anything if I tried to go passed the beginning of the command history and I was considering making a new issue to request that be added.

I do notice that if I arrow down to the end of the command history, it will still often say nothing when I reach the current input line without typing anything in it, and then it will say "end of command history" when I arrow down from that blank line. Would it be possible for it to check if the current entry in the list is blank and make an announcement then as well perhaps?

angstsmurf commented 3 months ago

Should be fixed with be863d4.