Related
Is there a way to have any hard key unlock the droid x2
I do remember reading about this in the developement section. There's something to change in one of the scripts, but I don't remember exactly where or what it was. Try the search or browse around a bit. It's there.
Sorry I wasn't much help.
If you flash CM7 you can have the home key and volume keys unlock the screen.
Settings--CyanogenMod settings--Input--check the box for "volume rocker wake."
I think "home key wake" might be on by default.
Read through this thread:
http://forum.xda-developers.com/showthread.php?t=1403013
I asked the same question in there. There is a file you can edit that can change the actions of the hard buttons. Just be sure to make a backup of the original file when you do it.
EDIT: Not sure if you have to have a certain amount of posts to see links. So heres a quick summary.
In a file explorer, go to /system/usr/keylayout. Open the tegra-kbc.kl file in a text editor (You have to give read/write permissions to edit and save this file on your phone) and you can change the menu, back, search and volume buttons from WAKE_DROPPED to WAKE. Notice how the home button is the only one set to "WAKE". This will make all the buttons wake from the screen being off like the home button does. Again, backup the file first in case something doesnt work right. Im not responsible if you mess something up. But this should work fine.
When I first did this, I did that to the volume buttons and it worked. So it should work with the other buttons as well.
They won't take until after a reboot. I edited the same file to make my search button open my camera.
Sent from my CM7 DEATHMACHINE!
Thanks everyone
I tried this b4 and did something wrong as the phone went dark and would not turn on. Somehow I got to factory reboot and brought it to VW and they replaced.
jsgraphicart said:
Read through this thread:
http://forum.xda-developers.com/showthread.php?t=1403013
I asked the same question in there. There is a file you can edit that can change the actions of the hard buttons. Just be sure to make a backup of the original file when you do it.
EDIT: Not sure if you have to have a certain amount of posts to see links. So heres a quick summary.
In a file explorer, go to /system/usr/keylayout. Open the tegra-kbc.kl file in a text editor (You have to give read/write permissions to edit and save this file on your phone) and you can change the menu, back, search and volume buttons from WAKE_DROPPED to WAKE. Notice how the home button is the only one set to "WAKE". This will make all the buttons wake from the screen being off like the home button does. Again, backup the file first in case something doesnt work right. Im not responsible if you mess something up. But this should work fine.
When I first did this, I did that to the volume buttons and it worked. So it should work with the other buttons as well.
Click to expand...
Click to collapse
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!)
So I want to remap the hardware buttons, but ran into some issues:
google searches say to edit the /system/usr/keylayout/sec_touchkey.kl (for previous galaxy devices), but this file is mysteriously absent on my stock rooted s4.
I tried other files in this /system/usr/keylayout/ folder; atmel_mxt_ts.kl seemed promising in its content:
Code:
key 139 MENU
key 102 HOME
key 158 BACK
key 217 SEARCH
Changing these, however, did nothing.
Am I searching in the right place, just in the wrong files? Is there a file chmod permission I might be missing?
I think there was also a jar file (android.policy.jar?) I'd have to decompile if I wanted to change the long-press actions for these buttons?
Can I override the double-press home button to do something different than s-voice? (I know I can disable the app itself)
Thanks!
disable the button
Mix3d said:
So I want to remap the hardware buttons, but ran intofiles into some issues:
google searches say to edit the /system/usr/keylayout/sec_touchkey.kl (for previous galaxy devices), but this file is mysteriously absent on my stock rooted s4.
I tried other files in this /system/usr/keylayout/ folder; atmel_mxt_ts.kl seemed promising in its content:
Code:
key 139 MENU
key 102 HOME
key 158 BACK
key 217 SEARCH
Changing these, however, did nothing.
Am I searching in the right place, just in the wrong files? Is there a file chmod permission I might be missing?
I think there was also a jar file (android.policy.jar?) I'd have to decompile if I wanted to change the long-press actions for these buttons?
Can I override the double-press home button to do something different than s-voice? (I know I can disable the app itself)
Thanks!
Click to expand...
Click to collapse
I was also looking all over for this. Did what you did and also other. kl in the system usr no change also . Using 3minit mod. Wanted to disable the hardware button as having the navigation bar and therefore now having two back button.
Anyone here with any idea to share?
kelvinator said:
I was also looking all over for this. Did what you did and also other. kl in the system usr no change also . Using 3minit mod. Wanted to disable the hardware button as having the navigation bar and therefore now having two back button.
Anyone here with any idea to share?
Click to expand...
Click to collapse
i dont have an S4 at the moment and i cant remember the exact file name but its under system/usr/keylayout looking through a rom file i think its gpio-keys.kl just mount the folder as read/write then comment out the lines you dont want using # then reboot
what did you do to enable the navbar when i had i was using an S4 last week the only way i could get it working was with an AOSP rom which meant no samsung camera or IR
*edit i should add that this was on the verizon S4
success disable hardware back button
I finally managed to disable the button. Its in system/usr/generic.kl . Place# infront of key 159 back and reboot. Done.
Got navigation bar using 3minit setting and mod.
If it works for you hitting the Thanks button will help. Cheers
---------- Post added at 05:28 AM ---------- Previous post was at 05:25 AM ----------
Correction. In system/usr/keylayout/generic.kl.
I am on omega v6.0 with 3minit mod.
kelvinator said:
I finally managed to disable the button. Its in system/usr/generic.kl . Place# infront of key 159 back and reboot. Done.
Got navigation bar using 3minit setting and mod.
If it works for you hitting the Thanks button will help. Cheers
---------- Post added at 05:28 AM ---------- Previous post was at 05:25 AM ----------
Correction. In system/usr/keylayout/generic.kl.
I am on omega v6.0 with 3minit mod.
Click to expand...
Click to collapse
Good to know, but my use case is a little different... I'm hoping to swap/ change the soft keys, not disable.
But if generic.kl worked for you, that's a good place for me to start. Will play around and post back if I can swap the menu/back button, hopefully the long press options as well. Ideally I want to move a lot of things around, (long press home for gnow, back to recent, long for menu, menu to back) but we'll see.
I'm on stock rooted, which is why I still need functionality
based on how I see it. I think it could be done
I will try it out if I could swap the menu and home like how you wanted. But you definitely need to be rooted first to edit the files
tried it changing key 139 MENU with BACK. saved reboot with success. Menu function swap to back function.
rem you got to be rooted for this to work. ..
kelvinator said:
I will try it out if I could swap the menu and home like how you wanted. But you definitely need to be rooted first to edit the files
tried it changing key 139 MENU with BACK. saved reboot with success. Menu function swap to back function.
rem you got to be rooted for this to work. ..
Click to expand...
Click to collapse
Is a long press registered as a different key for mapping purposed?
Like menu button is 001 but long press menu is 002?
Ultimately I'd like to be able to make a long press on the home button turn the screen off. That's my end goal with that question.
Mix3d said:
Good to know, but my use case is a little different... I'm hoping to swap/ change the soft keys, not disable.
But if generic.kl worked for you, that's a good place for me to start. Will play around and post back if I can swap the menu/back button, hopefully the long press options as well. Ideally I want to move a lot of things around, (long press home for gnow, back to recent, long for menu, menu to back) but we'll see.
I'm on stock rooted, which is why I still need functionality
Click to expand...
Click to collapse
In the generic.kl file, just change the labels to what you want. For instnace, where it says 117 VOLUME_UP WAKE (thats just an example) remove the volume_up and put MENU or BACK or whatever you want there.
Skipjacks said:
Is a long press registered as a different key for mapping purposed?
Like menu button is 001 but long press menu is 002?
Ultimately I'd like to be able to make a long press on the home button turn the screen off. That's my end goal with that question.
Click to expand...
Click to collapse
The system interupts the key down press, it then launches a post delayed runnable when you press down, if the key is pressed down for the length of that post delayed, then essentially "long press" has been executed. The runnable then consumes the the original key press to prevent the key from executing.
elesbb said:
In the generic.kl file, just change the labels to what you want. For instnace, where it says 117 VOLUME_UP WAKE (thats just an example) remove the volume_up and put MENU or BACK or whatever you want there.
The system interupts the volume down press, it then launches a post delayed runnable when you press down, if the key is pressed down for the length of that post delayed, then essentially "long press" has been executed. The runnable then consumes the the original key press to prevent the key from executing.
Click to expand...
Click to collapse
Right, so then how do we override the long press?
Mix3d said:
Right, so then how do we override the long press?
Click to expand...
Click to collapse
If you are trying to do it via the system. Meaning overriding system button presses, then you will have to edit the smali code. I believe the method is interceptKeyBeforeQueing or something like that.
where the hell is the 'soft' back button on this phone? so annoying i can't find it! or do i need to use a 3rd party launcher and rid of that stock touchwiz crap...phone is not rooted
cobyman7035 said:
where the hell is the 'soft' back button on this phone? so annoying i can't find it! or do i need to use a 3rd party launcher and rid of that stock touchwiz crap...phone is not rooted
Click to expand...
Click to collapse
You are in the wrong place, bud. Please ask questions like this in the q and a forum. This is a development forum for development related discussion.
And do try to be a tad calmer when posting. There are tons of people who will be happy to help. But the aggressive tone of your post will prevent many people from wanting to assist.
Also...really? Its the arrow to the right of the home button on the bottom right of the phone.
Sent from your phone. You should be careful where you leave that thing.
Found this at the AOSP Site:
http://source.android.com/tech/input/key-layout-files.html
Key layout files are located by USB vendor, product (and optionally version) id or by input device name.
The following paths are consulted in order.
Code:
/system/usr/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
/system/usr/keylayout/Vendor_XXXX_Product_XXXX.kl
/system/usr/keylayout/DEVICE_NAME.kl
/data/system/devices/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
/data/system/devices/keylayout/Vendor_XXXX_Product_XXXX.kl
/data/system/devices/keylayout/DEVICE_NAME.kl
/system/usr/keylayout/Generic.kl
/data/system/devices/keylayout/Generic.kl
Click to expand...
Click to collapse
Another potentially useful resource is this list of keycodes:
http://source.android.com/tech/input/keyboard-devices.html
I haven't had time to play much with this stuff yet, but I DID try the KeynrTracker.apk listed here, however it does not seem to register any of the long presses, leaving us only with menubutton as 139 and back as 158. It could have something to do with the way this app is designed, or in the way Samsung is firing these button presses.
More to come.
Mix3d said:
Found this at the AOSP Site:
http://source.android.com/tech/input/key-layout-files.html
Another potentially useful resource is this list of keycodes:
http://source.android.com/tech/input/keyboard-devices.html
I haven't had time to play much with this stuff yet, but I DID try the KeynrTracker.apk listed here, however it does not seem to register any of the long presses, leaving us only with menubutton as 139 and back as 158. It could have something to do with the way this app is designed, or in the way Samsung is firing these button presses.
More to come.
Click to expand...
Click to collapse
I already explained how long presses work
Sent from my SGH-M919 using Tapatalk 2
elesbb said:
I already explained how long presses work
Sent from my SGH-M919 using Tapatalk 2
Click to expand...
Click to collapse
"Edit the smali code" doesn't really count... what file to decompile? Which lines?
I'm completely new to this level of android modifications
Can this be used to make "Menu" button work as recents and "Menu hold" as menu?
jastonas said:
Can this be used to make "Menu" button work as recents and "Menu hold" as menu?
Click to expand...
Click to collapse
I have changed menu to recents. Just edit the file in system/usr
I haven't changed 'menu hold' to menu yet, requires decompiling and I'm lazy.
3473 said:
I have changed menu to recents. Just edit the file in system/usr
I haven't changed 'menu hold' to menu yet, requires decompiling and I'm lazy.
Click to expand...
Click to collapse
Then how do you use the menu of so many apps that don't have the 3 dots?
3473 said:
I have changed menu to recents. Just edit the file in system/usr
I haven't changed 'menu hold' to menu yet, requires decompiling and I'm lazy.
Click to expand...
Click to collapse
decompiling WHICH file? throw me a bone, dude!
Mix3d said:
decompiling WHICH file? throw me a bone, dude!
Click to expand...
Click to collapse
That's what Google is for! We all started there!! I'll give you a hunt it lies within system/framework directory and starts with an a ^-^
Sent from my SGH-M919 using Tapatalk 2
I just managed to remap my broken power button to my volume up button, so I am able to lock/unlock the screen. The problem is that it's still not possible to turn on the phone with the volumen button (shutdown/run out of battery). I changed the gpio-keys.kl and Generic.kl file for remapping. Anyone has a solution to replace the power button.
Zwingling said:
I just managed to remap my broken power button to my volume up button, so I am able to lock/unlock the screen. The problem is that it's still not possible to turn on the phone with the volumen button (shutdown/run out of battery). I changed the gpio-keys.kl and Generic.kl file for remapping. Anyone has a solution to replace the power button.
Click to expand...
Click to collapse
I really suppose it's not possible without changing the hardware or at least modifying the Bootloader.
LS.xD said:
I really suppose it's not possible without changing the hardware or at least modifying the Bootloader.
Click to expand...
Click to collapse
Another possible way is to invoke the charging screen. For example some Samsung devices use /system/bin/playlpm to display the splashscreen. SO if you change this script to:
Code:
[PHP][CODE]#!/system/bin/sh
/system/bin/reboot
[/PHP][/CODE]
It would actually reboot.
This guide is for the Note 3 Neo and should work on all variants.
If you're looking at this thread then you should have noticed that the Menu key on @FireLord 's CM12.1 is mapped to MENU and you can't change it from Buttons in Settings since it only has Power Button, Recents Button, Volume Button and Home button and no Menu Button.
Of course, there are a bunch of Xposed Modules such as MenuBegone available to do the same but if you'd rather not install anything or if you just like to mess with your phone then this is the guide to follow
So here's what you to do make your Menu key function as a Recent's key.
Download any Root Brower (I'd suggest the one included in Rom Toolbox)
Navigate to /system/usr/keylayout/Generic.kl
Open the File Generic.kl as a text file
Look for key 139 MENU in the list
Replace MENU with APP_SWITCH
Save and Reboot
Now your Menu key will function as a Recents Key and you'll also be able to change what tapping it and long-pressing it does through Buttons In Settings.
Thanks for the info.
but do you know how to enable vibration on them?
damadikaz said:
Thanks for the info.
but do you know how to enable vibration on them?
Click to expand...
Click to collapse
Oh I'm sorry, I'm afraid i don't know about that. All the vibrations are on and it seems only the Soft keys aren't vibrating. I'll fill you in if i do find something out though.
ICUDeadNaw said:
Oh I'm sorry, I'm afraid i don't know about that. All the vibrations are on and it seems only the Soft keys aren't vibrating. I'll fill you in if i do find something out though.
Click to expand...
Click to collapse
I've found temporary solution tbh, but it kinda weird. the softkey also vibrate when the screen is off.
http://forum.xda-developers.com/showthread.php?t=2152355
still searching for another solution tho.