CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
9.74k stars 4.05k forks source link

Android additional input functionality #73020

Open oosyrag opened 1 month ago

oosyrag commented 1 month ago

Is your feature request related to a problem? Please describe.

Android controls could use improvements, especially concerning bringing up the back button for soft keyboard in force fullscreen mode. Swiping to get to the keyboard can cause unintended movement. (#72399 and #70117).

TAB/BACKTAB occasionally do not show up on the quick shortcuts bar. This happened for character creation at one point, preventing starting a new custom game (fixed), and currently in the trade dialog (#56885)

Solution you would like.

Binding the soft keyboard to two or three finger tap gesture would address the unintentional moving when swiping issue, and being able to bind tab would solve the quick shortcut issue.

Describe alternatives you have considered.

No response

Additional context

When starting my CDDA journey on Android, I remember it being quite confusing and basically unplayable because I didn't know double tap was ESC/go back. The only place it was mentioned was the post install settings popup and manually selecting "Show help" (didn't need help at this point yet, so I didn't click that), and that popup doesn't come back after the first run without clearing data or reinstalling. The natural instinct was to try to use the back button to back out of menus, but that didn't work (the keybinding menu specifically was where I got stuck, after hitting '?' to try to find help. It didn't help that the keybinding interface was confusing as well, with local/global keybinds and the minor detail that escape/back which I was looking for doesn't exist in there to begin with.

Double tap to escape is also mentioned in the play store description, after clicking through "About this game", then scrolling down to find it under the What's new section, the game description, and the features section. Not surprising to miss it there either, even if the game was downloaded through the store and not directly from github.

My own preferred controls and proposed new default would be for the back button to be bound to ESC and soft keyboard to two or three finger tap. Steam link uses three finger tap to bring up the soft keyboard (two finger tap was right click, irrelevant here), which I found to be quite nice.

katemonster33 commented 1 month ago

Three finger swipe right does tab, three finger swipe left does back tab. Three finger up does page up, down does page down

oosyrag commented 1 month ago

Oo didn't know about 3 finger swipes

katemonster33 commented 1 month ago

I added it semi recently #72196

tmqCypher commented 1 month ago

A way to open the keyboard besides the back button would be really helpful, especially for people who usually use gestural navigation which currently breaks the quick shortcuts (see #70958)

katemonster33 commented 4 weeks ago

We considered briefly having the user swipe from the bottom of the screen to open the keyboard, with the bottom few pixels being a sort of "dead zone". Code wise this would amount to a few lines in SDLtiles.cpp, when it detects an up-swipe, check and see if the origin coordinate is in the bottom 5% of the screen's dimensions (throwing out example numbers). I really don't have much interest in maintaining the android build though, so I am putting this here for anybody that wants to take this on.

HudsonMC16 commented 3 weeks ago

We considered briefly having the user swipe from the bottom of the screen to open the keyboard, with the bottom few pixels being a sort of "dead zone". Code wise this would amount to a few lines in SDLtiles.cpp, when it detects an up-swipe, check and see if the origin coordinate is in the bottom 5% of the screen's dimensions (throwing out example numbers). I really don't have much interest in maintaining the android build though, so I am putting this here for anybody that wants to take this on.

This conflicts with the OS gesture to return home. Don't think that would work. Some other unique gesture would be better, I think.

katemonster33 commented 3 weeks ago

If there's conflicts with that gesture then we'll probably just leave it as is