Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android additional input functionality #73020

Open
oosyrag opened this issue Apr 14, 2024 · 8 comments
Open

Android additional input functionality #73020

oosyrag opened this issue Apr 14, 2024 · 8 comments
Labels
Controls / Input Keyboard, mouse, keybindings, input UI, etc. OS: Android Issues related to Android operating system stale Closed for lack of activity, but still valid. <Suggestion / Discussion> Talk it out before implementing

Comments

@oosyrag
Copy link
Contributor

oosyrag commented Apr 14, 2024

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.

  • Allow/add way to bind TAB, BACKTAB, ENTER, ESC, and show soft keyboard inputs
  • Allow/add rebinding of tap, double tap, and three finger tap gestures, back button, and back button hold

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.

@oosyrag oosyrag added <Suggestion / Discussion> Talk it out before implementing Controls / Input Keyboard, mouse, keybindings, input UI, etc. OS: Android Issues related to Android operating system labels Apr 14, 2024
@katemonster33
Copy link
Contributor

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

@oosyrag
Copy link
Contributor Author

oosyrag commented Apr 14, 2024

Oo didn't know about 3 finger swipes

@katemonster33
Copy link
Contributor

I added it semi recently #72196

@tmqCypher
Copy link
Contributor

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
Copy link
Contributor

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
Copy link

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
Copy link
Contributor

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

Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Controls / Input Keyboard, mouse, keybindings, input UI, etc. OS: Android Issues related to Android operating system stale Closed for lack of activity, but still valid. <Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

No branches or pull requests

4 participants