PlayCover / PlayTools

Tools for keymapping, dynamic resolution, and more
GNU Affero General Public License v3.0
64 stars 53 forks source link

[Feature]: On-screen keymapping hint UI #74

Open FlyMeToTheMoonAndLetMePlayAmongTheStars opened 1 year ago

FlyMeToTheMoonAndLetMePlayAmongTheStars commented 1 year ago

Is your feature request related to a problem?

I've seen many users asking in the discord why their keymapping is not working, surprisingly, they had no idea that pressing option is the key that toggles keymapping on/off. Furthermore, there are also issues related to various aspect ratios different users may have, such as 16:10 keymap on a 16:9 window. What if there was a way to solve all of this? To make the interactions more explicit? More obvious? You can't expect everyone to read the docs because the vast majority of people want an experience that 'just works' out of the box without having to read a hefty manual.

Describe the solution you'd like

I propose a visible layer UI layer that provide hints to assigned keymaps on-screen. Of course, not all keys might need the hint so perhaps in the editor there can be a checkbox where the user can choose to show or hide. And maybe even in the keymap editor the user can customize by dragging the hint 'buttons' to be relative to the actual touch position in up, down, left, and right offset positions, there are many cases where the hint would need to be offset from the actual touch location, mostly to make things look nice and prevent the hint from obscuring UI elements.

For example: when keymapping is not enabled/cursor released, there could be a hint on screen to tell the user that keymapping is currently disabled. Maybe it could show this hint once for first time users, or show every time the keymap is disabled (but might get annoying for users who are already familiar with the option key)

This is how I imagine this might look like

image

Keymapping hints for individual buttons can be toggled with a certain shortcut maybe cmd + H or something. They would show up below the keymap touch location, similar to how things are on the official PC version of Genshin Impact (though this feature can benefit many other games as well)

image

With this feature, the keymapping editor could look like this, when adding a new key a hint tag is automatically generated, and the user can click on the tag to drag it around the touch point circumference. Can also toggle to show or hide the hint by default.

image

Anything else?

This feature could work in tandem with multi-dimensional keymapping to further improve the PlayCover UX https://github.com/PlayCover/PlayTools/issues/72

Issue Language

kang49 commented 3 months ago

Is there any update on this feature?

XuYicong commented 2 months ago

Is there any update on this feature?

I plan to update the UI step by step. You could see the hint message is already there.

The next step I suppose would be to update the appearance of buttons, like more transparent filling with a black edge, and highlight color changed from red to cyan.