I come from a G1 where the Dialer, the End Call, and the Camera all had dedicated buttons. I feel like the Vibrant would be so much better if it had these. I'd like to develop an app or simply code something myself that we could flash as an update but I don't know where to start as I am not a developer though I wish I could be.
Pretty much this is how I would map everything:
Menu: Menu
(Long Press) = Dialer
Home: Home Screen
(Long Press) = Recent Applications
Back: Back
(Long Press) = End Call if making a call/Sleep if not in a call (Could possibly be Voice Search)
Search: Search Function
(Long Press) = End Call if making a call/Sleep if not in a call (Could possibly be Voice Search)
Power Button: Camera
(Long Press) = Power Options (Silent, Power Off, Reboot)
Note: If this is in the wrong section, I apologize and please move it. If you are a developer and like my idea, please to get to me as I'd like to work on it as a project. We could possibly sell it on the market and provide it for free for the people her on xda development.
It'd be awesome if they changed what the power button did when the camera app is up. It makes sense to lock the screen when in camcorder mode so you don't accidentally stop or pause it, but in camera mode it's essentially useless. It'd be awesome if it was changed to a shutter button even if it doesn't have the two stage button.
This phone would be so much better with just a few little modifications.
I want to be able to use the headset + and - buttons as track forward/back controls rather than volume (i.e. how my previous HTC phone worked). I've installed the trial version of Headset Button Controller, but although it seems to work fine for the play/pause button, the + and - buttons always cause the onscreen volume function to activate.
Any ideas? Is this app compatible with my S3, and if not could you suggest another app which works to reconfigure the +/- buttons? Is there maybe a discussion thread for this app here, as I can't find one? Thanks.
Andre
If you're rooted, Tweakbox (needs Xposed) will let you do what you're asking for when the headset buttons are held down (this also extends to the volume buttons on the phone proper) but only if the phone is locked and its screen off. The headset play/pause button works without any external application needed, at least for the stock music player. I've been using Tweakbox for a while on my GSIII with no problems (just don't choose to install the libraries in Xposed - they're older versions).
Thanks, but a bit convoluted and limited to screen-lock time - plus I'd prefer to keep the on-phone volume keys working as normal volume keys. Still, it's worth considering if there are no other ideas. (The phone is rooted though; I did that almost as soon as it came out of the box)
Andre
andrewilley said:
limited to screen-lock time
Click to expand...
Click to collapse
If you happen to have the SDK installed, you can change that: https://github.com/rovo89/XposedMod...ed/mods/tweakbox/VolumeKeysSkipTrack.java#L26
plus I'd prefer to keep the on-phone volume keys working as normal volume keys
Click to expand...
Click to collapse
Ah, fair enough, but since it only comes into play if the buttons are held down I'm perfectly fine with it.
Best regards
I'd really like to get Headset Button Controller (or similar) working to be honest.
I currently (on my HTC) use single-clicks on the headset's +/- buttons for next/previous track, and double-clicks for next/previous album folder, and I'd also like to have long-pressing for fast-forward and fast-rewind if possible. Plus keeping the on-phone volume keys for normal volume control.
Andre
Update to this...
I've managed to get the second and third headset buttons acting as next/previous track functions - without needing any extra software (although of course you can add extra facilities using Headset Button Controller later if you wish). The side volume rocker still works for volume control.
Christoph Kober pointed me to some documentation on the Android key mapping files (http://source.android.com/tech/input/key-layout-files.html) which helped me in the right direction. I first tried to edit the small file which looked like it handled the headset, but that did not change anything. Then I tried editing the master key mapper file, and that did the job. I assumed that this would also remap the on-device volume buttons too, but fortunately there is another mapping file which overrides the generic one to handle the four hardware buttons - so they get re-mapped back to volume again. Perfect!
You'll need root access and a text editor for this. Don't mess with this lightly, you are editing system files!!!
1) Navigate to folder /system/usr/keylayout/
2) Backup the current Generic.kl file (you were going to do that anyway, right? If you weren't, probably best not go any further...)
3) Edit the file Generic.kl using a text editor
3) Comment out the lines for keys 114 and 115 (just put a # at the start of those two lines) thus:
# key 114 VOLUME_DOWN WAKE
# key 115 VOLUME_UP WAKE
4) Find the lines for keys 163 and 165, which look like this:
key 163 MEDIA_NEXT WAKE
key 165 MEDIA_PREVIOUS WAKE
5) change the numbers from '163' to '115', and from '165' to '114', thus:
key 115 MEDIA_NEXT WAKE
key 114 MEDIA_PREVIOUS WAKE
6) Save and reboot
Andre
I changed the values in the Generic.kl file and it worked.
I decided to change the values back and give Headset Button Controller a try. It didn't work. I tried uninstalling it and now no controls on the headset works.
I read that JAYS Headset Control was a good alternative. That also doesn't work. Seems that I killed all the headset control functions.
How can I get the controls to come back?
I changed settings back and forth a few times with the .kl files, and as long as I rebooted between changes it worked fine.
Also, Headset Button Controller worked fine to re-assign the functionality of those new headset >> and << buttons, but only after I'd first activated them using the .kl file edits of course.
Does copying your original backup Generic.kl file back into place not get you back to your original stock settings? If not, do you have a nandroid backup you can roll back to?
Andre
Thanks for the reply.
I don't think I have a nandroid backup. I did copy the old backup file of Generic.kl file back and still hasnt given me back the old functions.
What do you suggest? Go back to the old original file or do I edit to what what you have done?
Well if you go back to the original file and reboot (and that was the only file you touched) then it should go back to the stock settings.
Andre
qwerty12 said:
If you're rooted, Tweakbox (needs Xposed) will let you do what you're asking for when the headset buttons are held down (this also extends to the volume buttons on the phone proper) but only if the phone is locked and its screen off. The headset play/pause button works without any external application needed, at least for the stock music player. I've been using Tweakbox for a while on my GSIII with no problems (just don't choose to install the libraries in Xposed - they're older versions).
Click to expand...
Click to collapse
Thanks heaps for this post. Pretty much got rid of any need for me to flash a custom ROM.
andrewilley said:
Update to this...
I've managed to get the second and third headset buttons acting as next/previous track functions - without needing any extra software (although of course you can add extra facilities using Headset Button Controller later if you wish). The side volume rocker still works for volume control.
Christoph Kober pointed me to some documentation on the Android key mapping files (http://source.android.com/tech/input/key-layout-files.html) which helped me in the right direction. I first tried to edit the small file which looked like it handled the headset, but that did not change anything. Then I tried editing the master key mapper file, and that did the job. I assumed that this would also remap the on-device volume buttons too, but fortunately there is another mapping file which overrides the generic one to handle the four hardware buttons - so they get re-mapped back to volume again. Perfect!
You'll need root access and a text editor for this. Don't mess with this lightly, you are editing system files!!!
1) Navigate to folder /system/usr/keylayout/
2) Backup the current Generic.kl file (you were going to do that anyway, right? If you weren't, probably best not go any further...)
3) Edit the file Generic.kl using a text editor
3) Comment out the lines for keys 114 and 115 (just put a # at the start of those two lines) thus:
# key 114 VOLUME_DOWN WAKE
# key 115 VOLUME_UP WAKE
4) Find the lines for keys 163 and 165, which look like this:
key 163 MEDIA_NEXT WAKE
key 165 MEDIA_PREVIOUS WAKE
5) change the numbers from '163' to '115', and from '165' to '114', thus:
key 115 MEDIA_NEXT WAKE
key 114 MEDIA_PREVIOUS WAKE
6) Save and reboot
Andre
Click to expand...
Click to collapse
Edit: Sorry I thought I was in the att section. You can use the zips to place your file in if you like.
Works great. Here are recovery zips to make it easier. Taken from ATT S3 on LG1.
Download: http://d-h.st/asK
MD5: aa8334da5d76d8e0a0dd26eafac269c6
Uninstaller Download (reverts back to stock): http://d-h.st/2DC
MD5: c2bd8ccbe81c230ef97997267b600d0c
Glad it works. I didn't put up zips of the files that I found, just in case the contents vary by carrier. It seemed such an easy text edit, which carries less risk, so I thought I'd give the method rather than an upload. But feel free to try either.
Andre
andrewilley said:
Update to this...
I've managed to get the second and third headset buttons acting as next/previous track functions - without needing any extra software (although of course you can add extra facilities using Headset Button Controller later if you wish). The side volume rocker still works for volume control.
Christoph Kober pointed me to some documentation on the Android key mapping files (http://source.android.com/tech/input/key-layout-files.html) which helped me in the right direction. I first tried to edit the small file which looked like it handled the headset, but that did not change anything. Then I tried editing the master key mapper file, and that did the job. I assumed that this would also remap the on-device volume buttons too, but fortunately there is another mapping file which overrides the generic one to handle the four hardware buttons - so they get re-mapped back to volume again. Perfect!
You'll need root access and a text editor for this. Don't mess with this lightly, you are editing system files!!!
Andre
Click to expand...
Click to collapse
What would I need to change to keep the Volume buttons as they are but change the Pause button to skip/next track?
Spartoi said:
What would I need to change to keep the Volume buttons as they are but change the Pause button to skip/next track?
Click to expand...
Click to collapse
Not tried it, but I guess you'd need to use the values from the line that controls the middle button:
key 226 HEADSETHOOK WAKE
And swap with the media-next codes from:
key 163 MEDIA_NEXT WAKE
Keep a backup of the original file before you start though, which you can revert to if things go wrong. And see http://source.android.com/tech/input/key-layout-files.html for more details.
Andre
Is there a way to set the headset button to launch S voice when you are holding it?
XblackdemonX said:
Is there a way to set the headset button to launch S voice when you are holding it?
Click to expand...
Click to collapse
I'd suggest using an app, like Headset Button Controller.
Andre
i'll check it out, thanks!
XblackdemonX said:
i'll check it out, thanks!
Click to expand...
Click to collapse
Try Nocs app it's free
Thank you so much for this, this solved all my problems!
One thing I had to after I made the change was to un-install and re-install the headset button controller app. (As I wanted to use it also!)
hi I'm new to the forum I just have a question about this application I have a samsung galaxy s2 rooted with the stock ROM, I have it all syncd up, and it is working.. the problem I have everytime I run it with an application it acts as home keys. I reconfigure and remap the buttons with in the PlayStation emulator I I am using. But still when I press any buttons on the ps3 controller its still acts as home keys.. what I mean is if I press X or star or any other button besides directional it acts as I press the HOME key on my phone but then if I use the directionals it highlights the icons on my phone. So I know it's working how do I get it to work with just the application. Sorry if this sounds really confusing trust me it is is odd
Hi,
here is the Dev Thread: http://forum.xda-developers.com/showthread.php?t=1890121
regards
starbase64
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've got the "side key" set to be a power button, but every fiber of my being believes the power button is the one on top. Is there any way I can make the volume up button act as a power button?
You will adapt...
Yeah I think you can do that... saw a remapping apk or that option somewhere.
Problem is it may come back to haunt you; follow the KISS protocol whenever possible.
Those buttons serve some important functions especially when you're having major problems.
Probably a bad idea to alter the button layout that much... after a couple weeks it becomes automatic, more or less
You may find the Galaxy Store app One Handed Operation Plus useful to add more virtual switches.