Just wondering about the feasibility of (someone with the know-how) creating a background app/service that could monitor and intercept the Nook's Vol+ and Vol- buttons, and if held down for a certain amount of time, perform Menu or Back actions as well.
I would think this possible, based on CM ROMs' ability to skip forwards/backwards from the lockscreen when music is playing, as well as the official XBMC Remote's abililty to change the volume for media playing on an XBMC box without interfering with the volume on the actual Android device.
Under the stock BN ROM I had remapped the Vol buttons, which wasn't a problem since the speaker was barely audible in the first place, but since flashing Dalingrin's OC kernel with the increased volume, I (happily) find the need to be able to change the volume levels easily.
I can't be the only one who's pondered this, but I've read through most of the threads and don't recall seeing this anywhere... If I've missed it, please point me in the right direction.
Thoughts? Takers?
Thanks.
You mean like this easily flashable script in the development forum (page 2).
http://forum.xda-developers.com/showthread.php?t=965023
I am talking an app which would retain volume functionality if the buttons are pressed briefly, as well as implement menu / back functions if held.
Unfortunately it looks like that script you linked to simply remaps the volume keys to menu and back -- without retaining volume functionality:
EpicFail236 said:
[...]
I find that my need for physical menu and back buttons is greater than my need for physical volume buttons.
[...]
This zip is CWM flashable, and simply overwrites the keymap kl files with ones that have the volume buttons remapped.
[...]
Click to expand...
Click to collapse
Not exactly what you want, but a simple solution.
see this, tip #7. Its a simple edit to a text file.
Worked on CM7, heres my edited /system/usr/keylayout/qwerty.kl vol up=menu, down=back
Thanks; unfortunately that is the essentially same as sparhawk's solution, and what I did under the BN ROM.
What I'm looking for is a solution via an application that retains the volume button functionality and augments the buttons with menu/back ability and does not simply remap the volume buttons.
If I had the slightest inkling as to how to do this myself, I would. Unfortunately I've tried and failed (miserably) so far at attempting to learn coding for Android.
I was hoping someone might be familiar with the way CM and XBMC Remote handle these intercepts and be able to adapt code, or create something similar for menu/back functionality.
I get what you are saying, but I don't think it would be possible. Notice how if you hold it down now, it will turn the volume down all the way step by step. When the screen is off, it doesn't do anything. If it was made to be held down to switch function, you would lose the ability to turn down the volume by holding it down. I know what I said is confusing, but just think about it lol. Have you thought about remapping tthe keys totally to menu/back, and then having a sound toggle in the pull down widget for the notification bar? You wouldn't have total control over the levels, but at least its something.
Sent from my ADR6300 using XDA App
Xephik said:
I get what you are saying, but I don't think it would be possible. Notice how if you hold it down now, it will turn the volume down all the way step by step. When the screen is off, it doesn't do anything.
Click to expand...
Click to collapse
I am running CM7 n11 on the nook, and regardless of whether the screen is on or off: if music is playing, when I hit the volume button, the volume level is changed. Not sure what you're referring to.
Xephik said:
If it was made to be held down to switch function, you would lose the ability to turn down the volume by holding it down.
Click to expand...
Click to collapse
I don't necessarily think that's the case.
Example: somehow CM is able to retain volume functionality and add skip next/previous track in music player. When I refer to the ability of CM to skip forward/backwards when music is playing, I am basing this on my experience with CM6.12 on my Droid1.
Xephik said:
Have you thought about remapping tthe keys totally to menu/back, and then having a sound toggle in the pull down widget for the notification bar? You wouldn't have total control over the levels, but at least its something.
Click to expand...
Click to collapse
Yeah, done that and didn't love it. I believe a solution such as I'm suggesting would be much more "integrated," elegant, and convenient.
Basically the app would intercept a volume button press:
- brief press: button release < 300ms, app performs volume function
- long press: button held down or release > 300ms, perform back or menu
Are there any experienced devs who provide some insight?
tj!2k7 said:
Thanks; unfortunately that is the essentially same as sparhawk's solution, and what I did under the BN ROM.
What I'm looking for is a solution via an application that retains the volume button functionality and augments the buttons with menu/back ability and does not simply remap the volume buttons.
If I had the slightest inkling as to how to do this myself, I would. Unfortunately I've tried and failed (miserably) so far at attempting to learn coding for Android.
I was hoping someone might be familiar with the way CM and XBMC Remote handle these intercepts and be able to adapt code, or create something similar for menu/back functionality.
Click to expand...
Click to collapse
I've seen this behavior to control the Android music player. And honesty I don't see why it couldn't be adapted to throw a back or home interrupt. But to implement it is beyond me!
Here is a GitHub repo to handle the Android player on long press up and down but also still handle volume changes on short press.
https://github.com/metalhead8816/android_frameworks_policies_base
And I'm pretty sure the specific commit would be
https://github.com/metalhead8816/an...mmit/7504617a9211a65ce767281c59668e8641b8a14d
Mat Sumpter said:
Here is a GitHub repo to handle the Android player on long press up and down but also still handle volume changes on short press.
https://github.com/metalhead8816/android_frameworks_policies_base
And I'm pretty sure the specific commit would be
https://github.com/metalhead8816/an...mmit/7504617a9211a65ce767281c59668e8641b8a14d
Click to expand...
Click to collapse
We're on a better path now. Thank you for posting concrete evidence of the volume buttons serving two simultaneous functions.
Could that code be used as a base for a standalone background app/service to implement the desired functionality? Better yet if it could be built into a ROM such as CM, but a standalone app would be perfect.
As this is really a question for devs, should I have posted this thread in the dev forum?
This code was put in for eclair so it won't apply cleanly to the Froyo code. But I'm sure a DEV with good Java knowledge could hack this into the current policy framework. From the code this appears pretty integral so I doubt this could be an outside apk that we install. This would likely be an alternate framework we'd need to apply to a ROM much like a style. But again I'm not an Android developer so I don't know for sure.
Button remapper works for the simple remapping, but not for the longpress actions.
I have half a mind to attempt writing a simple service for this
long press menu->vol up in 20% increments
long press back->vol down in 20% increments (may interfere with CM7 long press to kill functionality)
http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
http://stackoverflow.com/questions/4983605/send-button-volume-button-action-listeners
http://developer.android.com/reference/android/view/KeyEvent.html
A service sounds (to a non-programmer such as myself) like it would be less involved than framework modifications, and portable across ROM updates.
And personally, I don't mind "losing" long-press-kill functionality as I never use it anyway... I'd love to see some progress along these lines... go for it. =)
If you decide to attempt create a service for this, could you be make the long/short actions customizable?
i.e. :
Short press Vol+: Volume up / Long-press Vol+: Menu
Short press Vol-: Volume down / Long-press Vol-: Back
vs.
Short press Vol+: Menu / Long-press Vol+: Volume up
Short press Vol-: Back / Long-press Vol-: Volume down
In most applications, Menu and Back are usable via the status bar; since that functionality would be redundant, it would be nice to retain quick access to volume for short presses. For instances where Menu and Back are not usable in full-screen applications, long-pressing the buttons to perform menu and back actions doesn't seem like much of an issue.
Actually, if the Menu and Back were long-press actions, couldn't you implement functionality to kill the current app if Back was held for a specific amount of time?
Just thought I'd bump this back to the top... any devs out there who might want to take a crack at something like this?
Until we get Honeycomb AOSP this "hack" would be perfect!
I'm on the lookout too. I'd much rather have my vol up and down keys then have them as back and home. Unfortunately I lack the skills to code it so far!
My prayers, answered. Thanks mad-murdock.
http://forum.xda-developers.com/showthread.php?t=1002000&page=23
I havent really seen anyone do or suggest this, but for those making roms for the HTC One series, could you re-re-map the hardware buttons so that the recent apps button pulls up the recent apps (normal ics behavior), and then a long press on the recent apps button maps to the menu button?
My reasoning, is eventually, the "menu" button is something that will get obsoleted, so mapping it as a secondary action (i.e. long press) is a better approach than the current mapping on some of the Roms out there (like cm9). Personally, I'm not a fan of long-presses, so I prefer it for functions I hardly use (like menu).
As for the Gs3, I recommend mapping the 'menu' button to the 'recent apps', and a long press to the menu function (instead of long pressing the home button for recent apps). Again, my reasoning is, when the menu button, eventually gets obsoleted, it becomes pointless having the physical menu button do nothing.
Anyway, just my 2 cents...
Bump.
What I know is that single click functionality of any button can be changed by editing system/usr/keylayout/something_keypad.kl
But long press is not related to button remapping... So it needs to be changed from somewhere else and about that I have no idea..
Sent from my GT-S7500 using xda premium
i'm running cm-10-2 -NOOKTABLET-acclaim-HD on my 16gb nook tablet and would like to change what the lone hardware button does. It clearly supposed two types of button presses, long and short presses. It currently goes to home on a short press and to the task switcher on a long press. I'd like to set it the back button for a short press and home on a long press, thus allowing me to turn off the on-screen buttons and reclaim screen real-estate.
I tried modifying the gpio-keys.kl file, but whatever change I made seemed to just corrupt what the button did, injecting gibberish. Any thoughts?
When I used to have a Windows Mobile phone (the old kind, before "Windows Phone"), I had an app on the phone, likely obtained from this site, in which one could add more functions to hardware buttons with long presses, double and triple tap (perhaps quadruple too, don't remember), etc.
Android phones don't have as many hardware buttons as the old WM PDAs and phones, but do have some. Mine has a hardware home button, power button, and volume rocker up and down. Also the two fixed soft buttons on either side of the Home hardware button.
Mine already has some additional button functions built in. For instance, long press the home button to get Google Now.
I actually do not want to change any of the current functions, but to add more functions. to hardware buttons, and even those two soft buttons.
Is there an Android app that will do that?
Thanks in advance.
I haven't been able to figure out a way to remap the physical power button. There was an xposed module that worked great long ago, but hasn't been updated to work with oreo. I want to be able to press/long press/double tap/whatever the power key to take me to the home screen. I've used the fingerprint sensor apps, but they're hit or miss at different times, which is more frustrating than not having it. The other button mapper programs seem to work for volume keys only. Rooted/Running LOS ROM
Remapping the power button seems like such a bad idea to me. What happens if you need to reboot?
nola mike said:
I want to be able to press/long press/double tap/whatever the power key to take me to the home screen.
Click to expand...
Click to collapse
Why? What does your "home" button do? On my Nova launcher, home button takes me immediately to home screen and much easier/faster than trying to double tap fingerprint sensor, which currently turns off/on display.
Or long tapping, which currently gives you reboot options.
Remapping power button seems like an answer in search of a problem, which would cause more problems?
ChazzMatt said:
Why? What does your "home" button do? On my Nova launcher, home button takes me immediately to home screen and much easier/faster than trying to double tap fingerprint sensor, which currently turns off/on display.
Or long tapping, which currently gives you reboot options.
Remapping power button seems like an answer in search of a problem, which would cause more problems.
Click to expand...
Click to collapse
Home button takes me to home screen as well, which is usually where I want to go. If I'm holding the phone it's much easier to press a physical button to get back. I rarely reboot, so could do away with that. On my G3, I had all the buttons on the back mapped to pull up assistant, go back, go to home screen using single/double/short/long taps. It was MUCH faster to do that. Anyway, I like it, it existed before, I want to know if I can get it back.
nola mike said:
Home button takes me to home screen as well, which is usually where I want to go. If I'm holding the phone it's much easier to press a physical button to get back. I rarely reboot, so could do away with that. On my G3, I had all the buttons on the back mapped to pull up assistant, go back, go to home screen using single/double/short/long taps. It was MUCH faster to do that. Anyway, I like it, it existed before, I want to know if I can get it back.
Click to expand...
Click to collapse
So found a program called "powy". It can intercept the power button keypress and then trigger tasker. It can't distinguish long v. short press, but you can program power button to trigger by pressing 1x/2x/3x/etc. Not as good as xposed additions (which hasn't been updated since MM), but functional and better than nothing.