This fix allows you to use the one button or middle button on your headsets. You will be able to pause/start music answer/hangup phone for Samsung Galaxy S II and other phones using Gingerbread that the headset buttons may no longer work on.
I spent way too much time on this, so I figured I would share a how to for all of you.
You WILL need to Root your phone. I’ve found what I think is the best/easiest way of doing this. This Root process WILL NOT flash or change your OS.
Step 1:
Root your phone with DooMLoRD fantastic ‘Easy Root Toolkit’ link http://forum.xda-developers.com/showthread.php?t=1321582 you can read the 27 plus page link like I did or just trust me it works great. I rebooted the phone before running the install I used his V2 on the first page. Download his DooMLoRD_v2_ROOT-zergRush-busybox-su.zip <NEW> from the link on the first page. Again his process DOES NOT flash your phone as other rooting processes with ODIN will. He also has an unRoot.
Step 2:
Install one of the file managers I use Linda File Manager and/or File Expert from the market.
Install a texted editor I use Text Edit from the market.
Install a terminal emulator I use Android Terminal Emulator from the market.
Install Jays Headset Control. (This app is no longer available from the market for the SGS2. Compatibility issues stemming from the improper coding the sec_jack.kl file. The developer of Jays Headset is kind enough to post a link to app, see link at the bottom of this post.)
Step 3:
Open the terminal emulator
(To bring up the soft keyboard hit the menu button then the toggle soft keyboard “the menu button is at the bottom left of the SGS2” ) now type and enter the following commands:
cd /sdcard
mkdir fixbutton
cp /system/usr/keylayout/sec_jack.kl /sdcard/fixbutton/sec_jack.kl
cd /sdcard/fixbutton
ls
You should see the sec_jack.kl file.
To make a backup of the original type and enter the following command:
cp /system/usr/keylayout/sec_jack.kl /sdcard/fixbutton/sec_jack.kl.bkp
(if you have this problem where the i to turns into an I in the mkdir command the work around is type mkdi then hit the menu key and the toggle soft keyboard twice then enter the r)
Hit the home button
Step 4:
Open Linda File Manager
Hit SD Card
Scroll to fixbutton directory hit it
Hit the sec_jack.kl
Select Text Edit
It will look like this:
key 163 MEDIA_NEXT WAKE
key 165 MEDIA_PREVIOUS WAKE
key 226 SEND_END WAKE
change SEND_END to HEADSETHOOK
And add
key 164 MEDIA_PLAY_PAUSE WAKE
hit menu key then save.
It should look like this
key 163 MEDIA_NEXT WAKE
key 164 MEDIA_PLAY_PAUSE WAKE
key 165 MEDIA_PREVIOUS WAKE
key 226 HEADSETHOOK WAKE
Step5:
Find the mount point of /system . On my SGS2 its /dev/block/mmcblk0p9
Open Terminal Emulator and type and enter the following command (this is just a display command):
mount
The /system mount point is in the middle. If you click on the attachment below you will see a display from my SGS2, in the middle of the display on line 14 is the mount point
/dev/block/mmcblk0p9 /system ext4 ro,realtime,battier=1,data=ordered 0 0
The mount point is the first part of that line, on my SGS2 its:
/dev/block/mmcblk0p9
Other phones will be different, so write it down.
Step 6:
Remount /system in read write mode and copy the modified kl file back. (Click Allow for the su command when it pops up). If your mount point is different then /dev/block/mmcblk0p9 replace your mount point in the mount command below.
Open the terminal emulator and enter the following commands:
su
mount -o remount,rw /dev/block/mmcblk0p9 /system
cp /sdcard/fixbutton/sec_jack.kl /system/usr/keylayout/sec_jack.kl
hit the back button power off and power on
Step 7:
Open Jays Headset Controller
Choose Advanced
Hit Button Actions
Change Phone options right side of Click and Hold to Answer and End call
Change Headset options left side of Click and Hold to whatever you want (I like Play/Pause)
Enjoy, Click and Hold button for a second or 2 this will
Startup Music Player / Pause / Start / Music / Answer / Hangup phone calls
That’s it, if this helps you give me a thumbs up and send money to the people that created the software that helps you!
Another tip, to save a lot of battery life, every time you reboot the phone hit Settings>Applications>Running services then hit DRM content > stop > ok, turn your display down to under 50%
Jays software can be found here http://forum.xda-developers.com/showpost.php?p=20033923&postcount=86
Now in a Flashable zip file
Made by ravizzle....thank you
Ok so i made a flashable zip of this mod. Op feel free to add this to the first post. Thanks for the mod in the first place!
Instructions:
1)Download zip
2)Flash in cwm
3)download "Jays headset control"
4)open Jays headset control app~ choose advanced~ button actions~ change phone options next to "click and hold" to answer and end call ~ change options on music icon next to "click and hold" to desired actions (OP used for pause/play, i personally use it to skip to next track.)
5) Enjoy!
if you have any problems or instructions are unclear please let me know and i will try to correct them.
Attached Files Headset button mod-signed.zip here or at the bottom of this post
/*
Anyone using a Custom ROM can use this code for the sec_jack.kl file, it will allow for more options working:
key 226 HEADSETHOOK WAKE
key 164 HEADSETHOOK WAKE #V2 Hardware support
key 163 MEDIA_NEXT WAKE
key 165 MEDIA_PREVIOUS WAKE
key 168 MEDIA_REWIND WAKE #V2 Hardware support
key 208 MEDIA_FAST_FORWARD WAKE #v2 Hardware support
key 115 VOLUME_UP WAKE
key 114 VOLUME_DOWN WAKE
key 107 ENDCALL WAKE
key 113 MUTE WAKE
key 231 CALL WAKE
key 248 HEADSETHOOK WAKE
key 76 HEADSETHOOK WAKE
Thanks for the awesome work. Gonna try it out.
Does dbl click skip to next track? If not, Any way to get that?
Sent from my Galaxy S2
ravizzle said:
Thanks for the awesome work. Gonna try it out.
Does dbl click skip to next track? If not, Any way to get that?
Sent from my Galaxy S2
Click to expand...
Click to collapse
Thanks for the thanks, let me know how it goes if you have any questions post em I'll be checking. Well you can skip tracks also but then you can't pause/start its one or the other. I'm just really happy I got this to work with pause/start answer/hangup with a long press. I may try again to get the next/previous to work, along with pause/start but my time is valuable and I need to make money like everyone else. Being an independent systems programmer having no real knowledge of phones software and just being a hack. I spent the whole day on this stupid phone problem..lol. I'd really would like to have next/previous double and triple press. I was hoping that the new OS Ice Cream due to hit the SGS2 sometime next year would address this issue, but I doubt they will fix it.
/* Glenn
Glenn54 said:
Thanks for the thanks, let me know how it goes if you have any questions post em I'll be checking. Nope, I'm just really happy I got this to work with pause/start answer/hangup with a long press. I may try again to get the next/previous to work, but my time is valuable and I need to make money like everyone else. Being an independent systems programmer having no real knowledge of phones software and just being a hack. I spent the whole day on this stupid phone problem..lol. I'd really would like to have next/previous double and triple press, but I was hoping that the new OS Ice Cream due to hit the SGS2 sometime next year would address this issue, that's been like this for a long time, I doubt they will fix it though.
/* Glenn
Click to expand...
Click to collapse
Can i do this fix over any rom or do i have to use doomlord's easy root kit?
currently running calkulin's rom v1.1
And thanks for your efforts. you definently got the wheels turning.
donp2700 said:
Can i do this fix over any rom or do i have to use doomlord's easy root kit?
currently running calkulin's rom v1.1
And thanks for your efforts. you definently got the wheels turning.
Click to expand...
Click to collapse
If your phone is rooted you can start with Step 2
Welcome!
Glenn54 said:
If your phone is rooted you can start with Step 2
Welcome!
Click to expand...
Click to collapse
I entered "mkdir /fixbutton"
and got
mkdir failed for /fixbutton, read-only file system
Did i miss somthing?
donp2700 said:
I entered "mkdir /fixbutton"
and got
mkdir failed for /fixbutton, read-only file system
Did i miss somthing?
Click to expand...
Click to collapse
sorry i fixed the doc it should be mkdir fixbutton without the /
Glenn54 said:
do you have a SGS2?
did you cd / to your are your sdcard?
Click to expand...
Click to collapse
yes and yes
E4GT
running calkulins rom.
donp2700 said:
yes and yes
E4GT
running calkulins rom.
Click to expand...
Click to collapse
try it without the / just mkdir fixbutton sorry
Glenn54 said:
try it without the / just mkdir fixbutton sorry
Click to expand...
Click to collapse
sorry but iam not understanding how step 5 and 6 work. how do i find the mount point and remount? Im fairly new to this.
donp2700 said:
sorry but iam not understanding how step 5 and 6 work. how do i find the mount point and remount? Im fairly new to this.
Click to expand...
Click to collapse
open the terminal emulator and enter
mount
click on the attachment above you will see in the middle of the display line 14
/dev/block/mmcblk0p9 /system ext4 ro,realtime........
the mount point is the first part of that line, on my SGS2 its
/dev/block/mmcblk0p9
This didn't work for me. I tried 3 different headsets. The center buttons don't activate anything. Thanks for your work though.
Glenn54 said:
try it without the / just mkdir fixbutton sorry
Click to expand...
Click to collapse
IT WORKS!!!!!!
Forget my previous noob questions, i figuered it out and you are a genius!!!!!!!!
I dont care much for pausing and answering calls from the HS button, so i simply chose the next track option under long click on the headset controller app.
It works and i cant understand why no one has figured this out already. Thank you for your work, much appreciated.
dtruong23 said:
This didn't work for me. I tried 3 different headsets. The center buttons don't activate anything. Thanks for your work though.
Click to expand...
Click to collapse
Are you sure all the commands worked? With Linda File Manager you can look at the sec_jack.kl file
Open up Linda
Hit My Phone
Hit Enter to the Alert
Scroll down and hit system
Scroll down and hit usr
Hit keylayout
hit sec_jack.kl
Scroll down and hit Text Edit
It should look like this
key 163 MEDIA_NEXT WAKE
key 164 MEDIA_PLAY_PAUSE WAKE
key 165 MEDIA_PREVIOUS WAKE
key 226 HEADSETHOOK WAKE
Oh I thought I put that in the Step 4 I left out
Add
key 164 MEDIA_PLAY_PAUSE WAKE
I'll fix the doc now, please try it again sorry this will and does work!
donp2700 said:
IT WORKS!!!!!!
Forget my previous noob questions, i figuered it out and you are a genius!!!!!!!!
I dont care much for pausing and answering calls from the HS button, so i simply chose the next track option under long click on the headset controller app.
It works and i cant understand why no one has figured this out already. Thank you for your work, much appreciated.
Click to expand...
Click to collapse
Oh Great! your welcome just give me a thumbs up and enjoy
If this works for you can just post a 'It worked for me' and give me a thumbs up. Thanks!
Also, I'm sure this would work for other phones/devices not just the SGS2. The sec_jack.kl file and the mount point would be a different name on other devices. If you send a dir of your /system/usr/keylayout/ directory someone should be able to tell you what file to use.
/* Glenn
Any way to make this a flashable mod?
Sent from my Galaxy S2
ravizzle said:
Any way to make this a flashable mod?
Sent from my Galaxy S2
Click to expand...
Click to collapse
I'm sure the MOD makers can do this. This procedure is pretty easy to follow and I think a little safer then flashing!
It works now!!! I guess I needed that key 164 entry. Thanks so much.
Glenn54 said:
Are you sure all the commands worked? With Linda File Manager you can look at the sec_jack.kl file
Open up Linda
Hit My Phone
Hit Enter to the Alert
Scroll down and hit system
Scroll down and hit usr
Hit keylayout
hit sec_jack.kl
Scroll down and hit Text Edit
It should look like this
key 163 MEDIA_NEXT WAKE
key 164 MEDIA_PLAY_PAUSE WAKE
key 165 MEDIA_PREVIOUS WAKE
key 226 HEADSETHOOK WAKE
Oh I thought I put that in the Step 4 I left out
Add
key 164 MEDIA_PLAY_PAUSE WAKE
I'll fix the doc now, please try it again sorry this will and does work!
Click to expand...
Click to collapse
it worked for me without that extra line. What would the diffrence be with the additional command?
and do i have to redo steps 5 and 6 after edit or can i just edit the sec_jack.kl file and save?
Related
is it possible to disable the search button on the bottom right of the phone?..it's a pain in the arse as im always touching it by mistake ..
the|gamer said:
Hi,
as there ware some people that want a Camera Button, I used the pretty useless Searchbutton!
How-To:
The files "qwerty.kl" and "umts_jordan-keypad.kl" in "/system/usr/keylayout" have to be edited in two lines (key 127 & 217) to following:
Code:
key 127 CAMERA WAKE_DROPPED
key 217 CAMERA WAKE_DROPPED
Credits to : shaft from Android-Hilfe.de
Regards
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=924014
Use root explorer for edit file.
Click at qwerty.kl,it's will show menu and select open in text editor.
Change from SEARCH to CAMERA at key 127 and 217.
I think delete SEARCH and save only for disable Search button.
Credit: Mr.bluelissu www.droid-ios.com
If you are running CM7 you can also change it's function from the cyanogen settings menu.
Sent from my MotoDefy.
You can also use RootEplorer and go to the system/app directory. Mount it as read/write, delete GoogleQuickSearchBox.apk, remount it as read-only and reboot.
I'm using CM 7.2.0 fxp 111.When i press circle it acts as the back button in some games.Is there any fix for this?
The circle acts as a back button everywhere, even in your launcher. The developer probably didn't remap the keys correctly.
I know that in the stock rom, you can edit /system/usr/keylayout/keypad-zeus.kl to say "key 305 BUTTON_B" instead of "key 305 BACK ALT WAKE_DROPPED". It probably would work on CM too. Just make sure all permissions stay the same
jacklebott said:
I know that in the stock rom, you can edit /system/usr/keylayout/keypad-zeus.kl to say "key 305 BUTTON_B" instead of "key 305 BACK ALT WAKE_DROPPED". It probably would work on CM too. Just make sure all permissions stay the same
Click to expand...
Click to collapse
Thank you so much, this is very useful to know. I can even remap the ridiculous order of the Android buttons.
jacklebott said:
I know that in the stock rom, you can edit /system/usr/keylayout/keypad-zeus.kl to say "key 305 BUTTON_B" instead of "key 305 BACK ALT WAKE_DROPPED". It probably would work on CM too. Just make sure all permissions stay the same
Click to expand...
Click to collapse
This worked, o acts as o rather then back in Virtua Tennis now, thanks!
Could someone put up a set by step noob tutorial for this fix?
Sent from my R800x using XDA
Good question, Can one just edit this file while the OS is loaded or does this have to be done a diff way or with a CWM script?
1. Download "File Manager" from the Market, or other file manager that has root access. Go to File Manager's Settings and enable "Root Explorer" and "Mount System Folders".
2. Go to folder "/system/usr/keylayout/", copy file "keypad-zeus.kl" and paste it in folder "/mnt/sdcard". At this point, make a back up of the file if necessary.
3. Tap and hold on file "keypad-zeus.kl" and open it with any text editor.
4. In Text Editor, change the contents of the directional and game buttons mapping as follows:
# BTN_Y, BTN_B, BTN_A, BTN_X,
key 308 BUTTON_X WAKE_DROPPED
key 305 BUTTON_A WAKE_DROPPED
key 304 BUTTON_B WAKE_DROPPED
key 307 BUTTON_Y WAKE_DROPPED
If you're using ICS rom that has the directional buttons rotated 90* to the left (Up becomes Right), make these changes:
# KEY_UP, KEY_LEFT, KEY_RIGHT, KEY_DOWN
key 103 DPAD_LEFT WAKE_DROPPED
key 105 DPAD_DOWN WAKE_DROPPED
key 106 DPAD_UP WAKE_DROPPED
key 108 DPAD_RIGHT WAKE_DROPPED
Click to expand...
Click to collapse
5. Save the changes in Text Editor. Copy file "keypad-zeus.kl" back to folder "/system/usr/keylayout/", overriding the old file.
6. Tap and hold on file "keypad-zeus.kl", select Permissions. Set the permission to:
Owner: Read/Write
Group: Read only
Others: Read only
7. Reboot the phone.
Note: You can't edit the file "keypad-zeus.kl" directly from the system folder, you need to copy it to the sdcard, since the text editor do not have root access to save the changes. (Unless you're using the app Root Explorer.)
Ok here is how I did it. (Thanks eksasol btw for your long version hehe but I didnt see it before I started saying Ill figure it out myself hehe)
So I edited the file, which is attached. Download it, unzip it, save the keypad-zeus.kl to your SDcard on your phone. Then in market use Root Explorer or ES File Manager (Which is free!)
Open Es File Manager, goto settings, Enable Up to Root folder, then scroll down and enable Root Explorer and Mount File System.
Then from there you can navigate to your SD card storage, tap and hold to copy the keypad-zeus.kl file then navigate to the /system/usr/keylayout/ folder, hit menu, operations, paste. It will ask you if you want to merge the file. You hit ok.
Then once done, can close out, reboot and vola, All is working!
What I can 100% confirm this is handy for. No longer will O in minecraft try to open the game menu. Your emulators MAY need to be remapped as well since before it mapped the hardware key to "back"
Hope this helps out.
Mysticales said:
Ok here is how I did it. (Thanks eksasol btw for your long version hehe but I didnt see it before I started saying Ill figure it out myself hehe)
So I edited the file, which is attached. Download it, unzip it, save the keypad-zeus.kl to your SDcard on your phone. Then in market use Root Explorer or ES File Manager (Which is free!)
Open Es File Manager, goto settings, Enable Up to Root folder, then scroll down and enable Root Explorer and Mount File System.
Then from there you can navigate to your SD card storage, tap and hold to copy the keypad-zeus.kl file then navigate to the /system/usr/keylayout/ folder, hit menu, operations, paste. It will ask you if you want to merge the file. You hit ok.
Then once done, can close out, reboot and vola, All is working!
What I can 100% confirm this is handy for. No longer will O in minecraft try to open the game menu. Your emulators MAY need to be remapped as well since before it mapped the hardware key to "back"
Hope this helps out.
Click to expand...
Click to collapse
How is this better??
The UP / Down now = Left / Right ...?
Mysticales said:
Open Es File Manager, goto settings, Enable Up to Root folder, then scroll down and enable Root Explorer and Mount File System.
Then from there you can navigate to your SD card storage, tap and hold to copy the keypad-zeus.kl file then navigate to the /system/usr/keylayout/ folder, hit menu, operations, paste. It will ask you if you want to merge the file. You hit ok.
Then once done, can close out, reboot and vola, All is working!
Click to expand...
Click to collapse
Oh my, i missed a step, pasted your file but root explorer erased mine without merging, buttons are inactive after reboot, only d-pad remains
FPlusPS3 said:
How is this better??
The UP / Down now = Left / Right ...?
Click to expand...
Click to collapse
Um.. not sure what is going on for you, but I am not having that issue. Considering that wasnt even touched. Its just like above with the edits, its just changing 1 mapping from back to be the button instead.
Edit: Ok see your other post, So you only have D-pad working? That doesnt sound right either. Does the root explorer keep the file permissions on it? I know with ES file explorer, it mounted the system files, then I replaced the file, closed out rebooted, no issues. What XP model do you have and what rom?
---------- Post added at 10:31 AM ---------- Previous post was at 10:18 AM ----------
Eskasol, Why change Dpad_Center to Button_A?
Also something else was brought up that is a good question.
gene_wildhart said:
Ah! Now we are getting somewhere! According to the Sony developer documentation, the "O" button is mapped to BACK ALT, which is what DosBox Turbo expects to see. With it re-mapped to BUTTON_B, I suspect the mapping in DosBox Turbo will no longer be able to recognize the 'O' button. Just curious, what is the reason for changing the mapping from what Sony defaulted it to?
Click to expand...
Click to collapse
This is indeed a good question, so on stock roms, is this still showing as BACK ALT or is it showing up as Button_B?
Before everyone starts assuming what the normal is supposed to be now.
Edit: Ok according to a user. Stock rom shows it as "BACK ALT" while some other roms show it as "Button_B" So now the question is, what are we supposed to believe?
Mysticales said:
Ok according to a user. Stock rom shows it as "BACK ALT" while some other roms show it as "Button_B" So now the question is, what are we supposed to believe?
Click to expand...
Click to collapse
I am 100% positive the stock rom uses "BACK ALT" (seeing as I'm using it), but it can be changed to "BUTTON_B" and still work. It may have been modded roms that people saw "BUTTON_B" without changing it themselves. I have used all the stock R800x and R800i roms, and got that result
---------- Post added at 07:27 PM ---------- Previous post was at 07:23 PM ----------
garcimak said:
Oh my, i missed a step, pasted your file but root explorer erased mine without merging, buttons are inactive after reboot, only d-pad remains
Click to expand...
Click to collapse
You messed up the file's permissions when you removed, then put the new file there. By simply overwriting the file, the permissions should stay correct. The correct permissions are rw,r,r (644)
Just for reference, my file is for X = Dpad_Center and O = Button_B
However seems after all the posts we did and some research, BACK ALT is what we should use. Unless we get a rom dev to add a toggle option to change the mapping for us. (Or an app to do this)
i tried to remap xperia play buttons on WWF95 becuase the "O" button always takes me to close dosbox app but now both "O" and "X" aint working.
this is the order:
# BTN_Y, BTN_B, BTN_A, BTN_X,
key 308 BUTTON_X WAKE_DROPPED
key 305 BUTTON_A WAKE_DROPPED
key 304 BUTTON_B WAKE_DROPPED
key 307 BUTTON_Y WAKE_DROPPED
what should i do to get this buttons to work properly?
thanks.
It should be in the order of "Y,B,A,X" not "X,A,B,Y" that's why
this is the default CM7 setup:
# BTN_Y, BTN_B, BTN_A, BTN_X,
key 308 BUTTON_Y WAKE_DROPPED
key 305 BACK ALT WAKE_DROPPED
key 304 DPAD_CENTER WAKE_DROPPED
key 307 BUTTON_X WAKE_DROPPED
i have changed to this:
# BTN_Y, BTN_B, BTN_A, BTN_X,
key 308 BUTTON_Y WAKE_DROPPED
key 304 BUTTON_B WAKE_DROPPED
key 305 BUTTON_A WAKE_DROPPED
key 307 BUTTON_X WAKE_DROPPED
now non of the buttons are working.
what is the right setup?
thanks.
Does the file have the correct permissions? RW,R,R or 644
yes, rw-r--r--
Just remember if push comes to shove, look at my post, use that zip and method to restore your file. Or edit it, then use the method. Just keep in mind however. remapping the buttons will work for apps/games/emulators that allow for custom mapping. However games/apps that DONT will prob not work as most devs code it to be "BACK ALT" not "BUTTON_B" ok? Thats why after we had a big discussion on this, we all decided to keep it as BACK ALT and to tell devs of any issues we found due to the O button.
I got so used to using the volume rocker to wake my DHD and show the lockscreen instead of the power button that i decided to try and add the same functionality to the OneX. The only caveat with this is that sometimes the volume slider shows up when it wakes, but i can live with that
Hopefully, in time, the ROM devs will add this in by default or as an option. Until then it'll require these manual mods...
Don't try the following if you're unsure what you're doing as you could potentially break the ROM if not done correctly. I recommend backing up first in Clockwork Recovery in case things go wrong.
I accept no responsibility for any issues encountered making these changes!
Requirements
Rooted phone
Android-SDK
baksmali/smali from here
Step 1 - Update android.policy.jar
1. Do the following to get the android.policy.jar from your phone and disassemble it
Code:
adb pull /system/framework/android.policy.jar .
baksmali -x android.policy.jar -o classout
2. Open the following file in a text editor
Code:
classout/com/android/internal/policy/impl/KeyguardViewMediator.smali
3. Find the method "isWakeKeyWhenKeyguardShowing(IZ)Z"
4. At the bottom of the method, there's a switch statement. Remove the following 2 lines from it:
Code:
0x18 -> :sswitch_5
0x19 -> :sswitch_5
5. Save the file and close it.
6. Run the following commmand to re-assemble classes.dex
Code:
smali classout -o classes.dex
7. Drag the classes.dex into the android.policy.jar file to update the file in there.
8. Push the updated android.policy.jar back to the phone
Code:
adb push android.policy.jar /sdcard/
adb shell
su
sysrw
cp /sdcard/android.policy.jar /system/framework/
chmod 644 /system/framework/android.policy.jar
Step 2 - Update Generic.kl
1. Pull the file from your phone
Code:
adb pull /system/usr/keylayout/Generic.kl
2. Open it in a text editor and change the lines
Code:
key 114 VOLUME_DOWN
key 115 VOLUME_UP
to
Code:
key 114 VOLUME_DOWN WAKE_DROPPED
key 115 VOLUME_UP WAKE_DROPPED
3. Push the file back to your phone
Code:
adb push Generic.kl /sdcard/
adb shell
su
sysrw
cp /sdcard/Generic.kl /system/usr/keylayout/
chmod 644 /system/usr/keylayout/Generic.kl
(of course, you could also make those changes to the file directly using a root file explorer app and text editor.)
Step 3
Reboot the phone.
Note: The first time it boots after changing android.policy.jar, there'll be an 'Android is upgrading' dialog. This is normal and it won't happen on subsequent reboots.
How if I play music in off screen mode adjusting the volume?
w1nter456 said:
How if I play music in off screen mode adjusting the volume?
Click to expand...
Click to collapse
It'll still work, but the screen will wake too.
thanks much. I need this feature much.
One question, is this change use up volume or down volume or both will work?
Am I correct that this mod will work only on deodexed android.policy.jar ?
mmx6688 said:
thanks much. I need this feature much.
One question, is this change use up volume or down volume or both will work?
Click to expand...
Click to collapse
Yep, it'll work for both.
ckpv5 said:
Am I correct that this mod will work only on deodexed android.policy.jar ?
Click to expand...
Click to collapse
Yep, the above steps are for de-odexed ROMs, but you may still be able to disassemble if you pull the jar and odex and run baksmali on android.policy.odex. If you get errors trying that then pull everything from the /system/framework folder and try it again
Annoyingly, i've just noticed that once the phone goes into a 'deep sleep', the volume buttons don't always wake it. Sometimes they'll work after a double press sometimes it needs to be the power button :-\
Thanks it worked on my device. And I have added your mod to my mod pack for easy enabling and disabling
any kind person can help to make it into a flashable zip?
ck_looi said:
any kind person can help to make it into a flashable zip?
Click to expand...
Click to collapse
+1 10 chars
Would it in theory be possible to use the home button to wake the phone or is that impossible because the buttons don't work when the screen is off?
I have wake on TP on my Desire now.
mgmCube said:
Would it in theory be possible to use the home button to wake the phone or is that impossible because the buttons don't work when the screen is off?
I have wake on TP on my Desire now.
Click to expand...
Click to collapse
Not possible as the buttons don't work when the screen is off.
And when the phone goes to deep sleep mode, volume button to wake it not really works (tried both on odex and deodex ROMs).
Totally eager to try this out.
I'm using the LC ModPack 2.1.0 and this doesn't work
ckpv5 said:
Not possible as the buttons don't work when the screen is off.
And when the phone goes to deep sleep mode, volume button to wake it not really works (tried both on odex and deodex ROMs).
Click to expand...
Click to collapse
Ok so this volume unlock doesn't really work when in deep sleep?
This isn't mentioned in the first post.
So what if I use this volume unlock and disable the power button, then I have a problem after deep sleep?
mgmCube said:
Ok so this volume unlock doesn't really work when in deep sleep?
This isn't mentioned in the first post.
So what if I use this volume unlock and disable the power button, then I have a problem after deep sleep?
Click to expand...
Click to collapse
Yeah... most of the time it doesn't work when in deep spleep. OP mentioned this on post #6 too.
With volume to wake (not unlock, you still need the swipe up to unlock), and disable the power button, you will have problem to wake and unlock when it goes deep sleep. When you have this problem, the only way to wake it is to plug-in a usb cable or charger as it will wake the phone, then you can unlock.
Well then.. I think its better to disable it as it does messes up my volume levels even if it doesnt wake up the device..
Any chance of a full feature here? Coz the phone is expected to go into deep sleep most of the time..
Sent from my HTC One X using XDA
Jumping in here real quick, i dont (unfortunately) have an amazing all powerful OneX but i do have an HD2
Anyhow, im posting in regards to the isWakeKeyWhenKeyguardShowing(I)Z method in the KeyguardViewMediator.smali file found in android.policy.jar. I already have the volume wake keys set via cyanogen mod, my question is this:
How can i ADD keys to this file to prevent the device from waking?
I tried converting the hex values from that file but they dont correspond with any key values (ex, volume down is 115) but 0x18 is 24, decimal value, so im not sure exactly what numbers must be added to correspond to the correct key.
Thanks all for your efforts and time spent reading!
Thank you for the guide. I don't have Generic.kl on my Motorola XT530, so I think I might need to fiddle round with the .kl files to see if I can get this mod working.
I had to modify my process slightly, so I'll explain what I did in case it may be of help to anyone else.
1. To copy android.policy.jar to my PC, I used Android Commander. It's nice and simple. Make sure you make a back up of android.policy.jar before you modify it in case you need/want to restore it.
2. Use Command Prompt and navigate to the folder in which android.policy.jar is located. For example:
Code:
cd C:\Android\temp
3. Disassemble classes.dex using the following command:
Code:
java -jar baksmali-1.3.2.jar -x android.policy.jar -o classout
4. Edit and save KeyguardViewMediator.smali as per the original post.
5. Reassemble classes.dex using the following command:
Code:
java -jar smali-1.3.2.jar classout -o classes.dex
6. Open android.policy.jar with 7-Zip (any archive manager should work) and replace classes.dex with the modified one.
7. Use Android Commander to replace android.policy.jar on phone.
8. Edit Generic.kl as per original post. I don't have Generic.kl on my phone, so I just left-out this step. I figured I could poke around the .kl files later if need be. I haven't done so yet.
9. Reboot.
Note: The filenames for baksmali-1.3.2.jar and smali-1.3.2.jar may be different if you have a different version. Simply adjust the commands above accordingly.
HTC Ones S --Works
Was looking for this on the HOS forums but found this close enough instead. Prob everyone knows this, but I did this same setup on my one s (t-mo-us) version, and it stuck. So thanks for this nice little tweak. Good to know dev's have our backs in everything.
this was much appreciated for my inc2!
we got a new kernel and messed up it working in the tweaks app, so this really saved me, I didn't realize the Generic.kl needed to be updated.
thanks again!
in defy, it's umts_jordan-keypad.kl instead of Generic.kl (doesn't exist).
First & as always, it's safest, since you're working in the /sys or /system file path to make a nandroid backup before hand just in case.
hasn't been tested for JB but i believe it will work.
using a file explorer on the phone, mount the system as Read/Write,
navigate to the directory path:
WAKE - turns on volume rocker wake
WAKE_DROPPED - shuts the the wake off
/system/usr/keylayout/
find the "ffa-keypad.kl" file, long press it, open in text editor
find VOLUME_UP
and
VOLUME_DOWN
and type "WAKE" next to each entry. this will enable wake on volume rocker.
if you were wanting to disable wake on volume rocker type "WAKE_DROPPED".
then settings or menu and "save changes"
now, in the same directory, open "fluid-keypad.kl", "generic.kl.
and do the same steps to add "WAKE" or "WAKE_DROPPED" accordingly next to each Volume UP/DOWN entry.
may require a restart of the phone to take effect.
exelent info ..thanks
I'm on stock UVMC6 rooted and this is not working for me. I've made changes to all three files and after a reboot, no luck.
Help? I really need this mod. I've seen edits to Android policy .jar in the past but I'm not too sure how that works or whether that is needed in this case.
I tried this too and it didn't work. I followed the instructions and had no luck with it.
Same, both files say dropped, but still able to wake screen with volume keys. Running Jedi mind trick
Sent from my SGH-T989 using xda premium
to enable vol wake, you have to mod the android.policy.jar
does this make both volume up and volume down to function as the power button? or just one of them? also, is it possible to change the power button to act as volume down/up?
thanks!
Sent from my SGH-T989D using xda app-developers app
YourPartyBoy said:
First & as always, it's safest, since you're working in the /sys or /system file path to make a nandroid backup before hand just in case.
hasn't been tested for JB but i believe it will work.
using a file explorer on the phone, mount the system as Read/Write,
navigate to the directory path:
WAKE - turns on volume rocker wake
WAKE_DROPPED - shuts the the wake off
/system/usr/keylayout/
find the "ffa-keypad.kl" file, long press it, open in text editor
find VOLUME_UP
and
VOLUME_DOWN
and type "WAKE" next to each entry. this will enable wake on volume rocker.
if you were wanting to disable wake on volume rocker type "WAKE_DROPPED".
then settings or menu and "save changes"
now, in the same directory, open "fluid-keypad.kl", "generic.kl.
and do the same steps to add "WAKE" or "WAKE_DROPPED" accordingly next to each Volume UP/DOWN entry.
may require a restart of the phone to take effect.
Click to expand...
Click to collapse
Thanks for the info.
Was anyone ever able to get this working? I tried the guide in the first post and no luck.
Running UVMC6, rooted.
Does anyone have an android.policy.jar for this ROM edited for volume wake?
Joe USer said:
Was anyone ever able to get this working? I tried the guide in the first post and no luck.
Running UVMC6, rooted.
Does anyone have an android.policy.jar for this ROM edited for volume wake?
Click to expand...
Click to collapse
Try using my guide, it seems to work for everybody.
http://forum.xda-developers.com/showthread.php?t=2299222
joyj112 said:
Try using my guide, it seems to work for everybody.
http://forum.xda-developers.com/showthread.php?t=2299222
Click to expand...
Click to collapse
Thanks, but I'm trying to enable, not disable.
Solved
Solved it.
Install the stock ROM from here http://forum.xda-developers.com/showthread.php?t=2226860 and the volume mod is available as well.
Joe USer said:
Solved it.
Install the stock ROM from here http://forum.xda-developers.com/showthread.php?t=2226860 and the volume mod is available as well.
Click to expand...
Click to collapse
You could do that if you want, but I think in order to turn non the volume wake mod, you just reverse the process and everything should be working
joyj112 said:
You could do that if you want, but I think in order to turn non the volume wake mod, you just reverse the process and everything should be working
Click to expand...
Click to collapse
I tried that first, unfortunately it doesn't work with Jellybean. JB requires changes to the android.policy.jar which requires far more work.
Hi there,
here is the mod for skipping music tracks when long-pressing the volume buttons. This is for stock ROM 14.71.8 DEODEXED ONLY!!
So, if you have an unlocked bootloader and have root access, you may apply my following mod. I'll guide you step through step as we got no CWM recovery yet, so you must do it manually.
- download android.policy.jar and move it to your internal SD card with an explorer or via adb:
Code:
adb push android.policy.jar /sdcard/
- after that type in the following commands, beware that su wants you to grant root access (SuperSU popup)
Code:
adb shell
su
stop
mount -o rw,remount /system/ /system/
cp /sdcard/android.policy.jar /system/framework/
mount -o ro,remount /system/ /system/
reboot
Done! Enjoy this mod
Reminder: Although this mod was tested on my device, I'll take no responsibility if you damage your system, so just do it if you know what you do!
If we have CWM, I will provide a flashable .zip then.
Modification?
shaftenberg said:
here is the mod for skipping music tracks when long-pressing the volume buttons
Click to expand...
Click to collapse
Thanks for this, something I miss from my old Sony Ericsson are the physical music player buttons.
I was wondering if you could point me in the right direction of modifying this to make a small alteration; instead of vol-down skipping backward a track I'd like it to have the Play/Pause functionality. That is a button press that I'd use much more often!
Another (perhaps more complicated) solution is to have a double-tap of the power button do this Play/Pause, with double taps of the volume buttons providing the skip tracks effect.
Silently said:
I was wondering if you could point me in the right direction of modifying this to make a small alteration; instead of vol-down skipping backward a track I'd like it to have the Play/Pause functionality. That is a button press that I'd use much more often!
Click to expand...
Click to collapse
Change the keycode in line 48 in com\android\internal\policy\impl\PhoneWindowManager$VolumeLongPressR.smali from 58 to 55 and you are done.
Unfortunately this mod doesn't support double taps and I don't know how to integrate this easily
shaftenberg, could you please give a sources? Or just a list of .smalli files that you changed?
Sure.
You have to add 2 files in com\android\internal\policy\impl and have to edit PhoneWindowManager.smali.
Note, there are two/three different mods around here at XDA. I used all of them and I found out that the one with "lyapota" (you will see in the sources) works most reliable, whereas the other one (I used it in the Nexus 5 mod) works too but is a little bit less responsive and doesn't work with all media players.
The hardest part is to find the right variables, if you want to use this mod in other phones. The first time I did this, I used this thread as a good start but you can't simply copy as this won't work then
Attached are my modded .smali, the 2 ones you have to add and a .txt with the diff's to the original MotoG-smali.
Nice trick mate, can't wait to see this in a custom rom.
Skip music tracks with Volume buttons 4.4.2
shaftenberg I'm with rom kitkat 4.4.2 and would like function if do not ask for much could do this mod for it
I'm with the rom Blur_Version.171.44.31.falcon_umtsds.Brasil.en.BR
I'll leave the files from my rom
sorry for bad english I'm Brazilian
and greatly appreciate all of you who make mods
I thank
Thank you dear
i think i did the same thing but with Xposed and gravity bot in media option
it works only when the screen is off
Thank you again
Sorry for my n00b post, but what you mean with: Deodexed?
DragonautMk said:
Sorry for my n00b post, but what you mean with: Deodexed?
Click to expand...
Click to collapse
Google it..
Sent from my XT1032 using XDA Premium 4 mobile app