This is a simple workaround created with Tasker for the missing menu key since Android Nougat that makes some old apps without software-key nearly useless or unconfigurable.
It sends an adb terminal command to emulate the menu key (82).
You need root, else it's useless.
After installing you get a new app called "Menu Button".
I used the app "All in one Gestures" to link my recent apps key to this app and it works perfectly on my Galaxy A5 2017.
The opening of the menu is a little bit delayed but acceptable.
Its taking longer on the first key press (2-3 seconds for gaining root and app start) and takes around 0.5-1 second the next time.
Should work on any rooted Android 7+ Device.
I'm not a developer, just an advanced user.
Please give feedback if it's working for you or if there is a better workaround I couldn't find in days of intense searching.
Related
HANDS FREE NOW
Hands Free Now is an attempt to fix the bug in Google Now that Google itself never fixed.
As most of you know, as of Android 4.1+, our headsets are configured to work as follows:
1. Single press for play/pause
2. Double press for next
3. Long press for Google Now
However, the long press option does not work when the screen is off. It works only when screen is on. This is a bizarre lack of feature because if the screen is on and unlocked, you might as well click the mic on the desktop widget to launch Google Now. Why would you need the long press option anyway?!
Several attempts were made by many people to bring Googler's attention to this lack of feature, but all of em were conveniently turned down.
So I guess it's up to us to fix it.
I have started making this app but being the newbie that I am, I'm not sure if I can finish it alone. That's why I request you guys to help me out with this.
Uploaded below is the first apk
Concept in brief:
1. Launch Audio service that intercepts media KeyEvents
2. Once KeyEvents are triggered, create an empty StandOut window that blocks the entire display.
3. Wake up device, disable keyguard and launch Google Now
4. Release wakelock immediately. and reenable keyguard
5. Kill process in 10 seconds
Steps to use:
1. Install app
2. Open app from launcher once. You can go back to Home after this if you want
3. Lock screen.
4. Jack in the head set and triple press the button.
5. Device should unlock itself and in some time will launch Google Now
6. Fire your voice command and wait for response.
7. In 10 seconds, the screen will lock again.
8. For these 10 seconds, your phone will not respond to touches (this is intentional and by design, because you would not want your phone to "pocket dial" while travelling)
Release Notes:
1. App is currently incompatible with music players
2. Battery effectiveness is unknown; you might have to uninstall it once you have tested it
If you can help, the source code can be found on GitHub.
Installed app, but it wont launch after 3 presses of the button, I get a double beep sound when doing so.
I can help out with testing if you want but as far as coding goes im not very useful xD
Bluetooth too?
Will it work with Bluetooth headsets as well or only wired ones?
THANK YOU!
I registered just to say thank you, your little app allowed me to have the kind of music control I alway longed for since i passed from iPhone to Nexus 5. I'm truly grateful.:good:
I had the problem when the screen was off. After when I long press the little button on my headset. Then comes a black screen with a message: please wait (initializing) but nothing does.
But this app solve my problem!
Now I can use Google Now over my Headset.
Thank you very much! ?
Seems an old thread, but nevertheless: Thank you! Finally it works!
I'm just curious if it would be possible to change add long-press functionality. The app AutoVoice is capable of receiving a long press (also with locked screen). But it doesn't help because it relies on the not working Google Search.
Possible idea: your App could register as a service capable of receiving the VOICE_SEARCH_HANDS_FREE intent, it could receive the long press and start its procedure. It won't work immediately because Android will display the "Choose default app" prompt, that obviously doesn't work when the screen is locked/off. In order to choose the default app one has to wake the screen and manually override the keyguard/lock (for example via Secure Settings Plugin and Tasker). The override is somewhat buggy, and even though the screen is on, the phone still 'thinks' it's locked. Now: long-press to receive the command for long-press while locked, see menu and select default app. ..Hope my explanation isn't too bad.
I'm investigation another workaround to get it working with music player.
Best regards, Grtschnk
I've got new mobile from ebay, Blackview bv6000, which has 3 special physical buttons
1. Camera
2. Sos
3. Ptt
Then i need to assign those buttons to run my app and some functions
I got stock rom from Blackview forum, after i extract system.img file and found
\usr\keylayout\Generic.kl
which contains list of key function that i need
key 212 CAMERA
...
#[AGOLD][2015.04.08]Fengjun merge
key 249 FUNC1
key 250 FUNC2
#[AGOLD]End
The question is how can i assign that key to run my app or function in my app when I'm in home screen or in other app or even the screen is off
You could try if "Xposed Additions" meets your needs. It allows you to set various general actions, though not opening a specific app.
(For Xposed to actually work, I needed Grorkmod on the bv6000)
I've managed to set PTT to turn on/off flashlight with it. However, this seems not to work for the condition "screen off" for whatever reason. As a workaround for "the screen off" condition I've set the click action to "Power", so the light turns on with a double click from "screen off".
If this is a good idea at all, time will tell. If this button is executed accidentally with the phone in a pocket, it will drain the battery fast.
EDIT: Apparently, the PRO version allows to execute apps.
"Physical Button Music Control", also based on xposed framework is free, can launch apps and do a lot more than the free version of "Xposed Additions", e.g. key combinations. I just gave it a try. However, it is still beta and a bit more complex to set up.
First, please forgive me if there's a sub thread for this phone. I didn't find it, and the help saying use the device forum went back to the menu where I already didn't find it. ?
My issue is that my HTC 10 suddenly decided that every press of the overview button will now activate split screen, not just long press. I remember when I first turned this function on there was an option did I want it to activate split screen on normal press or long press, but now I've spent two days on Google and cannot find this option! I can't seem to turn the function on or off as the help pages refer to menus I do not have. (Device and Multi window - they aren't there!!) and other help only tells me that long press should be working. I've had no updates since it was last working normally.
Please, anyone know where this option is hidden?
UK SIM free
not rooted
Android 7.0
Software version 2.41.401.3
RoseRodent said:
First, please forgive me if there's a sub thread for this phone. I didn't find it, and the help saying use the device forum went back to the menu where I already didn't find it. ?
My issue is that my HTC 10 suddenly decided that every press of the overview button will now activate split screen, not just long press. I remember when I first turned this function on there was an option did I want it to activate split screen on normal press or long press, but now I've spent two days on Google and cannot find this option! I can't seem to turn the function on or off as the help pages refer to menus I do not have. (Device and Multi window - they aren't there!!) and other help only tells me that long press should be working. I've had no updates since it was last working normally.
Please, anyone know where this option is hidden?
UK SIM free
not rooted
Android 7.0
Software version 2.41.401.3
Click to expand...
Click to collapse
Go to your application manager and find the app(s) that control split screen and clear data and wipe cache.
Sent from my SM-S903VL using Tapatalk
Any ideas what I'm looking for? I had a scroll through and nothing jumped out at me to be the service the controls this feature. Then again, they have names that aren't particularly intuitive.
Update - Looks like I found it, thanks. I cleared out system UI and it's normal again. Still odd that the option vanished, it was definitely an easy menu.
So, sideActions which is/was the only reliable app that could remap the Bixby key on a Note 20 to a plethora of options is now gimped a bit with OneUI 5 Android 13 due to Google's restrictions through tightening of privacy and security.
The way sideActions works in Full Remapping mode (where Bixby Voice is disabled allowing instant actions) is by reading the logcat generated by system logs. So whenever a long press is generated on the Bixby key, the logcat outputs a command that sideActions picks up on. This is a special permission granted by android.permission.READ_LOGS and WRITE_SECURE_SETTINGS through a one time ADB command.
The problem now is that Android 13 no longer seems to allow logcat access after a reboot, nor does it allow access without explicitly granting that ADB Command and THEN ALSO going in the app and accepting the permission prompt to access logs which I'm still not exactly sure how to get that prompt to appear when I want it to. Without accepting that prompt, sideActions won't recognize a button press on the Bixby key in Full Remapping. I'm sure other apps that rely on logcat reading have the same issues.
Does anybody know the workaround for granting log access permanently? Meaning that it will persist through reboots since currently, the prompt only offers "Allow This Time Only". At the very least, how to get the prompt to re-appear following a system reboot so permission can be given until the next reboot? I can only seem to get it to appear randomly following ADB commands.
The alternative to sideActions is using Bixby Routines (now called Modes and Routines) to remap the Bixby key. However, the response time is much longer due to being unable to shorten the long press action time. If you're like me, holding down a button for 2 to 3 seconds feels like an eternity when you're used to 350 milli-seconds (practically instant and is customizable through sideActions settings menu with a range anywhere from 350ms to 1500ms), especially when you use it frequently.
Edit Solution: Figured it out. Just remove the files permissions for sideActions and accessibility permission and then force close it. When you open sideActions again and enable the Bixby key, it'll prompt you to grant 1 time log access. That'll last until your next reboot.
Figured it out. Just remove the files permissions for sideActions and accessibility permission and then force close it. When you open sideActions again and enable the Bixby key, it'll prompt you to grant 1 time log access. That'll last until your next reboot.
NOTE: The alternative to sideActions is using Bixby Routines (now called Modes and Routines) to remap the Bixby key. However, the response time is much longer due to being unable to shorten the long press action time. If you're like me, holding down a button for 2 to 3 seconds feels like an eternity when you're used to 350 milli-seconds (practically instant and is customizable through sideActions settings menu with a range anywhere from 350ms to 1500ms), especially when you use it frequently.
Click to expand...
Click to collapse
I feel you. Having this exact same issue. Very odd, hopefully we'll find a workaround. I'd really dislike to go back to using Bixby Routines to remap the key. I've been spoiled by sideActions.
even after doing this, volume buttons do not work properly, unfortunately
Found this thread while trying to fix my S22 Ultra so sideactions would work again. I ended up wiping data on side actions and bcactions, then uninstalling both apps. I reinstalled bcactions and sideactions (from APKmirror, since Play said my phone was incompatible). I went through the initial setup again like you do on a new or wipef device, and when you connect to your PC and run sideactions.exe, you get the script permission and are able to map or full remap your buttons. Literally took less than 5 minutes, working again now for me and I'm happy.
Just so everybody is aware, there is a workaround to get sideActions working again but it must be done after every reboot.
Basically, the goal is to get the prompt asking for one time log access. That'll give SideActions the access it needs. To accomplish it on Android 13, make sure sideActions doesn't have file access and accessibility service is disabled. Next time you open the app and toggle the side button key to on, you'll get the prompt. The key things here are accessibility disabled and file access off.
Also, I highly recommend App Ops or similar ADB permission toggler to grant sideActions full remapping access without connecting to PC. All it does is run a few ADB commands.. can be ran anywhere. I like App Ops because you can manually toggle Secure Settings and Read Logs on. I uninstalled Bixby when I got the device but you can do that too.
bingblop said:
Just so everybody is aware, there is a workaround to get sideActions working again but it must be done after every reboot.
Basically, the goal is to get the prompt asking for one time log access. That'll give SideActions the access it needs. To accomplish it on Android 13, make sure sideActions doesn't have file access and accessibility service is disabled. Next time you open the app and toggle the side button key to on, you'll get the prompt. The key things here are accessibility disabled and file access off.
Also, I highly recommend App Ops or similar ADB permission toggler to grant sideActions full remapping access without connecting to PC. All it does is run a few ADB commands.. can be ran anywhere. I like App Ops because you can manually toggle Secure Settings and Read Logs on. I uninstalled Bixby when I got the device but you can do that too.
Click to expand...
Click to collapse
Think my issue was that I was giving bx/side full permissions. I reinstalled and didn't give full access to either, got the prompt immediately. This will keep me working until something can be figured out, but it doesn't sound promising with UI 5.
Thanks!
Another arguably simpler way is to go into app info and force quit the app. When you open the app again, it prompts for log permissions.
After the March security update it is no longer able to intercept the Power button but is OK for Volume on S23U??? Weirdest part is that it keeps working for both buttons on S22U after same update. Both phones still need the kill + give log permission routine after each restart but on S23U the Power button no longer seems to be intercepted
Because of how unreliable and flimsy the logcat prompt was, I decided it was time to move on. Now I'm using RegiStar, coupled with Tasker to achieve my goal.
The RegiStar response time is a little bit longer, but not as long as Routines+. That's really the only downside if you couple with Tasker. If you're not familiar with Tasker, it's an automation application that allows you to accomplish anything you want on phone that doesn't require root access. The latest Tasker beta also includes a flashlight action that is twice as bright as the native built in flashlight setting. So I created a task to vibrate for 25ms followed by toggling the flashlight. That's my long press.
Double pressing the power button is customizable from advanced settings. Can use Tasker action for this too if you want.
The slightly longer delay in triggering long press I've gotten used to and I've come to find that remapping the power key without sideActions isn't so bad.
If you need help with Tasker, PM me. It can be overwhelming at first but I've been using it for a few years now and I love it. Otherwise, RegiStar also includes native actions that you can use instead.
If you're someone who uses double press and hold option within sideActions often, then sideActions is you're only option. Nothing else offers that level of integration. For volume key remapping, almost any third party application supports this. Only power key remapping is limited with Galaxy devices.
My problem is that s22 ultra keeps turning of in my pcket.
Long press power works
But press power + volume down still pops ppwr of menu and i think this ks why my phone power of every day at work (tight pocket lot of crouching).
I though samsun had poclet check and disabled buttons but doesnt seem like it and bx.and side doesnt help on this last issue
Is there a solution don't have to give this one time permission every reboot, if we are rooted?
Isn't any root command to bypass this?
Thanks
sideActions WorkaroundDue to a logcat permission change with Android 13, apps that rely on the logcat like sideActions to get system events are broken. To get sideActions running like normal, it requires enabling one time log access after every reboot. To force the one time log access prompt for sideActions:
1. Download and install Power Button Remapper for Samsung - sideActions. Since the app is incompatible with devices upgraded to Android 13 on the Play Store, the apk will need to be sideloaded manually. Click here to download directly from Apkmirror
2. Launch the app and grant all on screen permissions to get to the Full Remapping setup screen.
3. Either connect to PC and run the .exe file or just run the following ADB commands to unlock full remapping:
pm grant com.jamworks.sidekeybuttonremap android.permission.WRITE_SECURE_SETTINGS
pm grant com.jamworks.sidekeybuttonremap android.permission.READ_LOGS
am force-stop com.jamworks.sidekeybuttonremap
IF Bixby is still installed or enabled on your device then also run:
pm disable-user com.samsung.bixby.agent
4. After running the ADB commands or the .exe file from a PC, you will notice Full Remapping is enabled next time you run sideActions. Force Stop sideActions and DISABLE all file access permissions! File access for sideActions is only needed to access the .exe file during remapping. Once you disable it, you shouldn't have to touch it again. Workaround doesn't work while app has file access.
5. Force stopping an app also disables accessibility services. While accessibility is disabled and file access denied/revoked, launch sideActions and enable the power button. You should get a prompt to enable one time access to logs. Accept the prompt and sideActions will be up and running at full. Accessibility services are turned on automatically when you enable power button and grant log access.
NOTE: If the above step doesn't work, restart your device and that should fix it. Step 5 must be completed after every device reboot to grant one time log access. Force Stop the app to stop accessibility services, launch app, toggle button on, prompt: enable one time access. Doesn't take more than 10 seconds. If you don't get the prompt to enable one time access, verify all file access is disabled!
ALTERNATIVE OPTIONSIf taking a few seconds to enable log access after every reboot isn't your cup of tea then your best options are using RegiStar (Good Lock Module) for side button long presses which is a decent alternative. The downside of RegiStar is no double tap action or haptic feedback to indicate when a long press is recognized (sideActions exclusive) which doesn't sound like much, but you'll be surprised by how much you miss it. In addition to side key long press remap, RegiStar also includes Settings Menu reordering and optional double/triple tap actions for back taps (doesn't work well with covers). Another side key remapping option is Routines+ (Good Lock Module) which adds long press and double tap button remapping to Modes and Routines. Routines+ is slow registering key commands and actions compared to all other options listed here. The easiest way to add custom double tap remapping of the side key is through the native Side Key menu under Advanced Settings which is great for launching the camera or any application. You can extend the actions available to you under the Advanced Settings Side Key menu to pretty much anything by launching the Tasker Secondary App on double press which will trigger a profile and launch a task of your choosing within Tasker. I don't know of any support for double tap and hold key combinations outside sideActions. To remap the volume buttons, any 3rd party app including Routines+ can accomplish that.
Is there any alternative application where you don't have to do step 5 after every reboot?
Thank you for the instruction. I think it should be Samsung standard.
_Floyd said:
I think it should be Samsung standard.
Click to expand...
Click to collapse
Agreed. I don't see how anyone who has tried it doesn't like it. Especially since they got rid of the "Bixby button".
Thank @Dougmeister and @bingblop for now its work perfectly, with the guide.
I am just a newb; @bingblop deserves all of the credit.
I should note for any other folks in my predicament... if you have experimented (and been disappointed) by Samsung's recent attempt to address this via "Good Lock" and "RegiStar", then make sure you have disbled that functionality or the above steps may not work until you do disable them.
(RegiStar: "Side-Key press and hold action", etc.)
Edit: also, I had to navigate to the folder where my adb tools were 'installed' to execute the commands. Plus, I had to add "adb shell " before each of them. Maybe that is obvious to everyone else, but it wasn't to me.
Unfortunately no. No other third party apps have come out that alter the power button on Samsung devices anywhere near as well as sideActions did.
The granting after every reboot is the best we have right now for Android 13 users. It's Googles way of being more privacy and security conscious and Samsung never provides decent alternatives with their software. I personally wouldn't mind using RegiStar if there was a way to speed up the activation time. I like being able to turn flashlight on and off in 350mS which is only that fast in sideActions. Otherwise, it's like a 1000mS.
In fact, if anybody knows how to control the Bixby button long press activation time without sideActions, I'm all ears. I'd love to understand how to alter that time for use with Samsung native apps.