Make arrow key direction reliable for moving input focus, and offer hotkeys for the Undo/Apply/Done buttons
mk-pmb opened this issue ยท 2 comments
Is your feature request related to a problem? Please describe.
I'm trying to remote-control the video settings from an accessibility helper program. In order to determine which of the bottom row buttons are currently enabled, and thus what arrow key presses to send, I currently have to guess based on pixel colors, which is rather error prone.
Describe the solution you'd like
One step in a good direction would be to never move the input focus perpendicular to the arrow key direction pressed by a user. So when a user presses left or right arrow, and there is no next button in that direction, just ignore the key press. If you think lots of users want a "left" or "right" command to be reinterpreted as "up" or "down", maybe make an option for those who rely on direction.
Also for the special case of the bottom row Undo/Apply/Done buttons, please add hotkeys for them. Traditionally, buttons use Alt + first letter of the button (next letter if already in use) and show the hotlkey letter underlined to indicate the availability of that hotkey.
If it's feasible with reasonable effort, could you maybe also add hotkeys and the letter underline for the pages and the options inside? It's not super high priority though, because currently it seems somewhat reliable to address them by number of arrow right/down presses.
Describe alternatives you've considered
Pixel color guessing, OCR, neither should be necessary.
Additional context
I discovered that when you click the "X" next to "Buy us a coffee", it seems to remember that for the entire game session and even after game restart. It hides the two top-right corner buttons, so that the jump upwards will no longer be possible. I can thus reach the right-most bottom button reliably by pressing lots of up and lots of right (of which the latter few will be re-interpreted as "down").
This seems to be a viable work-around for now. One drawback is that users have to hide the reminder to buy you a coffee very early in their journey, giving them (and others playing in the same installation) less time to accumulate motivation for it. The other drawback is that if they forget this preparation step and use my tool, their settings will be screwed up semi-randomly.
Update: Almost. I still have to detect whether it was the Done button, which means we're back to Microsoft-style menus; or if it was the Apply button, which means I still have to press the Done button. However, since the Microsoft-style menus have grey buttons very distinct from the Iris menus and their grey area is rather large, that's a lot more reliable to efficiently detect by pixel color.
Update: Unless people play with menu-changing texture packs like the built-in High Contrast Mode. I really hope there will soon be a better way.
Update: Work-around: Before confirming the bottom-row button, press escape twice, then the chat key.
Unfortunately, the workaround no longer works for Iris 1.7.2+mc1.21. Would be really nice if someone could add the hotkeys.
Edit: I can't find an "undo" anywhere in the code, so maybe that config screen is actually rendered by another mod. Gotta investigate.
Edit 2: Yeah, all of this seems to be about Sodium or (if installed) Reese's Sodium Options.