DroidWorksStudio / mLauncher

Minimal Launcher app for Android. Customized olauncher as I just started learning kotlin .
GNU General Public License v3.0
217 stars 22 forks source link

[Enhancement] keypad support #474

Closed flobere closed 2 months ago

flobere commented 2 months ago

Checklist

Feature description

full keypad navigation would perfect the app for feature phone use.

homescreen:

default behaviour could be something like selecting clock on down key, and bottom app on up key, with the ability to navigate between. ability to open app list with left menu key.

App drawer:

basic navigation starting with the top item alphabetically on down key press. App context menu navigation (see below) would additionally be nice, but not necessary

Current behaviour:

app has partial keypad functionality. pressing a direction key highlights clock, and can navigate to date. homescreen app shortcuts cannot be selected currently.

app drawer can't be opened via keypress, but once open via swipe action, apps can be highlighted and navigated only after pressing a directional key and then back key. once an entry is highlighted, app context menu can be opened on enter key long press, but context menu cannot be navigated with key press. can return to homescreen with back key. drawer app search already works with physical keypad.

Terms and Conditions

Gitbot-Actions commented 2 months ago

👋 Thanks for reporting!

We will get back to you soon about this issue.

HeCodes2Much commented 2 months ago

Could you please give more details and if you can could you please also draw out a image of a demo of the idea as I'm not too sure what you are asking for?

flobere commented 2 months ago

https://github.com/DroidWorksStudio/mLauncher/assets/145084689/cda4b406-1cb6-40bc-bca3-c1587930ea0e

granted this applies to a small niche of users, but it also wouldn't add additional bloat or "features"

HeCodes2Much commented 2 months ago

Thanks for the detailed view on this it's a lot more understandable now is getting into the settings and being able to change them already doable?

flobere commented 2 months ago

oh I forgot settings, that complicates the idea of using the menu key maybe

It requires the usual long press on screen, and once in settings a down press highlights the first item (app info) and two up presses goes to the last item (clear)

changing settings are a little more buggy, not something i've ever tried tbh.

For tasks like this where i'm entering a more finnicky UI, i'll just use the touchscreen by default.

HeCodes2Much commented 2 months ago

so you are alright with me leaving the settings alone just need a way to be able to use home apps?

Would it be useful to have lower minimum font sizes for you or are you happy with the current settings?

flobere commented 2 months ago

I think just the basic homescreen and app drawer functionality is plenty- for people flicking open simple apps on the go. If you're dicking around with settings and granular things on this kind of screen it's easier to just use touch.

And thanks, size is fine. i'm using the largest clock size possible (appreciate that the reduced size got reverted in the last version) and text/settings size are somewhere in the middle fyi. I think the current options are a good latitude for text at this screen size (2.8")

HeCodes2Much commented 2 months ago

@flobere sorry for not getting back to you any sooner i am going to work on #475 then as soon as i am done there as its quiet an easy task i will look at adding detection for feature phones and a way to do this for you.

HeCodes2Much commented 2 months ago

Could you install this for me and let me know if the buttons work... Left should select the apps on the homescreen and up and down should let you scroll though them all.

app.mlauncher_v1.5.6-Debug.zip

flobere commented 2 months ago

Thanks, that was quick. homescreen still behaves the same- any directional key highlights the clock, and can only scroll to the date (and default app text if visible).

in app drawer, can highlight first list item with any single directional key press (with auto-show enabled), or two directional key presses (with auto-show disabled). This could possibly be effected by my soft keyboard (keypad is still handled through a t9 app, if you're wondering why i'm using a soft keyboard), how it handles focus etc. Either way it basically works fine in the app drawer.

flobere commented 2 months ago

re: the above closed request, both that and this one are basic physical keyboard (and menu key) navigation support. If it doesn't have any impact on functionality elsewhere, maybe a hardware key like space or meta could open the app drawer, in addition to the android menu key press? I don't use a qwerty keyboard... but i imagine this plus using existing settings would allow a single keypress to be followed by the search term on a hardware keyboard... thus making this request navigation support for both dumb-phone and hardware keyboard users

HeCodes2Much commented 2 months ago

homescreen still behaves the same- any directional key highlights the clock, and can only scroll to the date (and default app text if visible).

So when on the homescreen pressing Left ⬅️ button doesn't select the apps on the home screen?

I'm just trying to work out how.to select any of the apps once that is done then nab between apps will work. Do you know of any way of me testing this without having to build it every time to ask you to test it.

flobere commented 2 months ago

can't select the app shortcuts using the test build, no.

I don't know the first thing about development, but I suspect that the t9 keypad directional inputs are the same as keyboard keys. Have you tried using a hardware keyboard?

Happy to do any testing you need though, can get in touch if you want to work out a smoother way of getting it done

HeCodes2Much commented 2 months ago

@flobere I believe I've pinpointed the issue: it appears that the child of the apps section does not have the isFocusable attribute set to true, which could be causing the problem.

if you could give this a test?

app.mlauncher_v1.5.6-Debug.zip

flobere commented 2 months ago

yep, that works. can scroll every element from top to bottom, and pressing left key from the top elements will select the first app shortcut.

and the app drawer context menus get focus as well after long pressing and then pressing down key. (Edit looks like this is normal behaviour in the release version, i missed it initially)

feeling good!

flobere commented 2 months ago

thanks for this. Also just checking before I go- do you think opening the app drawer via android menu key is going to be possible?

HeCodes2Much commented 2 months ago

thanks for this. Also just checking before I go- do you think opening the app drawer via android menu key is going to be possible?

I will have a look into that a bit more later i just wanted to make sure this was possible for you to use the home screen without touch.

HeCodes2Much commented 2 months ago

@flobere if you can test this last 1 if this works ill do a release with it included if not then it will need to be fixed later.

app.mlauncher_v1.5.6-Debug.zip

flobere commented 2 months ago

Sorry, just seeing this now.

Menu key opens the app drawer, but only when one of the bottom app shortcuts are in focus. Does not bring up the drawer when either nothjing or the upper elements are selected

Also apologies for a really obvious oversight testing the last build, but pressing enter on the homescreen app shortcuts does not launch them.

HeCodes2Much commented 2 months ago

Ok I'll have a better look into that later as when on android studio pressing enter did open them so I'll have to test a bit more

HeCodes2Much commented 2 months ago

@flobere new test whenever you get the chance please

app.mlauncher_v1.5.6-Debug.zip

flobere commented 2 months ago

enter key and navigation are fully working in home and app drawer. unable to open app drawer from home screen with any key press, regardless of focus

HeCodes2Much commented 2 months ago

Going to do a release so 1.5.6 should have everything working left me know by opening a new issue if you have any other issues.