[HOWTO] Enable software navigation buttons / disable hardware buttons - Galaxy S 4 General

One of the annoying things about the S4 is the lack of software navigation buttons. I was used to using them on my Nexus 4 so I really missed having them on my S4.
First of all, root is required to edit these files.
Basically, all you have to do is add 'qemu.hw.mainkeys=0' to the build.prop in /system and reboot to enable the software buttons. If you're happy with that you can stop there, but you can also disable the hardware buttons if you want.
Go to /system/usr/keylayout and open 'Generic.kl' in a text editor and find the lines that say 'key 139 MENU WAKE_DROPPED', 'key 158 BACK WAKE_DROPPED', and 'key 172 HOME' and place a # at the start of each line. Take care here because if you add a # to the wrong line, you won't have a way to wake the phone. Reboot and those hardware buttons will be disabled.
I've tested it with various apps and the phone resizes them appropriately. Software menu buttons appear where appropriate and video players cause the buttons to fade away. The only odd thing I've found is that the app drawer is shifted to a 4x4 layout instead of the regular 5x4. Also, home and back do not vibrate properly and I'm not sure which lines to edit to fix that.

futurejohn said:
One of the annoying things about the S4 is the lack of software navigation buttons. I was used to using them on my Nexus 4 so I really missed having them on my S4.
First of all, root is required to edit these files.
Basically, all you have to do is add 'qemu.hw.mainkeys=0' to the build.prop in /system and reboot to enable the software buttons. If you're happy with that you can stop there, but you can also disable the hardware buttons if you want.
Go to /system/usr/keylayout and open 'Generic.kl' in a text editor and find the lines that say 'key 139 MENU WAKE_DROPPED', 'key 158 BACK WAKE_DROPPED', and 'key 172 HOME' and place a # at the start of each line. Take care here because if you add a # to the wrong line, you won't have a way to wake the phone. Reboot and those hardware buttons will be disabled.
I've tested it with various apps and the phone resizes them appropriately. Software menu buttons appear where appropriate and video players cause the buttons to fade away. The only odd thing I've found is that the app drawer is shifted to a 4x4 layout instead of the regular 5x4. Also, home and back do not vibrate properly and I'm not sure which lines to edit to fix that.
Click to expand...
Click to collapse
Do you know how to re-size screen buttons ?
p.s. everything works fine, but it to big ((

x111 said:
Do you know how to re-size screen buttons ?
p.s. everything works fine, but it to big ((
Click to expand...
Click to collapse
The easiest way to do that is to change the lcd density. The default is 480 which makes everything MASSIVE. I find about 440 to be about perfect, but you can tweak it to find whatever is most comfortable for your eyes.
To change the lcd density, the simplest way is to go to build.prop and find the line that says 'ro.sf.lcd_density=480'. Change the 480 to whatever you want. Smaller numbers mean that things will be smaller and more spaced out and larger numbers will cause things to be larger and closer together. Reboot after you change the number and save the file for it to take affect.
You can also use tools like ROM Toolbox to make the edits if you find using an app easier to use than a text editor.
I recommend keeping a backup of your original build.prop for easy restoration.

futurejohn said:
The easiest way to do that is to change the lcd density. The default is 480 which makes everything MASSIVE. I find about 440 to be about perfect, but you can tweak it to find whatever is most comfortable for your eyes.
To change the lcd density, the simplest way is to go to build.prop and find the line that says 'ro.sf.lcd_density=480'. Change the 480 to whatever you want. Smaller numbers mean that things will be smaller and more spaced out and larger numbers will cause things to be larger and closer together. Reboot after you change the number and save the file for it to take affect.
You can also use tools like ROM Toolbox to make the edits if you find using an app easier to use than a text editor.
I recommend keeping a backup of your original build.prop for easy restoration.
Click to expand...
Click to collapse
It works, but again buttons is too big and change ro.sf.lcd_density low than 440 will be too small, and also I need change just screen buttons, other staff looks nice for me with ro.sf.lcd_density 480.
Please, tell step by step how to change it.
Also, do you know how to disable light of sensor buttons? (very annoying)

x111 said:
It works, but again buttons is too big and change ro.sf.lcd_density low than 440 will be too small, and also I need change just screen buttons, other staff looks nice for me with ro.sf.lcd_density 480.
Please, tell step by step how to change it.
Also, do you know how to disable light of sensor buttons? (very annoying)
Click to expand...
Click to collapse
The only way I can tell to just shrink the navigation bar is to edit the framework-res.apk. From my research, you have to decompile the apk, edit the navigation bar field in dimens.xml, and recompile the apk. I tried that but ended up having to restore my phone after I got a bunch of force closes. :laugh:
It's obviously a bit more complex than what I just mentioned so I'll just have to mess around with it more before I know how to do it.
If anyone else has experience editing framework-res any help you could offer would be awesome.

futurejohn said:
One of the annoying things about the S4 is the lack of software navigation buttons. I was used to using them on my Nexus 4 so I really missed having them on my S4.
First of all, root is required to edit these files.
Basically, all you have to do is add 'qemu.hw.mainkeys=0' to the build.prop in /system and reboot to enable the software buttons. If you're happy with that you can stop there, but you can also disable the hardware buttons if you want.
Go to /system/usr/keylayout and open 'Generic.kl' in a text editor and find the lines that say 'key 139 MENU WAKE_DROPPED', 'key 158 BACK WAKE_DROPPED', and 'key 172 HOME' and place a # at the start of each line. Take care here because if you add a # to the wrong line, you won't have a way to wake the phone. Reboot and those hardware buttons will be disabled.
I've tested it with various apps and the phone resizes them appropriately. Software menu buttons appear where appropriate and video players cause the buttons to fade away. The only odd thing I've found is that the app drawer is shifted to a 4x4 layout instead of the regular 5x4. Also, home and back do not vibrate properly and I'm not sure which lines to edit to fix that.
Click to expand...
Click to collapse
Thanks!
Is there a way to disable the S4 menu and back buttons from lighting up?

jedinegotiator said:
Is there a way to disable the S4 menu and back buttons from lighting up?
Click to expand...
Click to collapse
CM10.2 has this toggle built-in.

Chahk said:
CM10.2 has this toggle built-in.
Click to expand...
Click to collapse
No way to do it without Cyanogen?

Anyone? Also there is no vibration pressing the back and home keys on the navbar. Reading the SIII and Note forums, I believe this is due to the lack of vibration support in kernel. Can anyone confirm?

futurejohn said:
One of the annoying things about the S4 is the lack of software navigation buttons. I was used to using them on my Nexus 4 so I really missed having them on my S4.
First of all, root is required to edit these files.
Basically, all you have to do is add 'qemu.hw.mainkeys=0' to the build.prop in /system and reboot to enable the software buttons. If you're happy with that you can stop there, but you can also disable the hardware buttons if you want.
Go to /system/usr/keylayout and open 'Generic.kl' in a text editor and find the lines that say 'key 139 MENU WAKE_DROPPED', 'key 158 BACK WAKE_DROPPED', and 'key 172 HOME' and place a # at the start of each line. Take care here because if you add a # to the wrong line, you won't have a way to wake the phone. Reboot and those hardware buttons will be disabled.
I've tested it with various apps and the phone resizes them appropriately. Software menu buttons appear where appropriate and video players cause the buttons to fade away. The only odd thing I've found is that the app drawer is shifted to a 4x4 layout instead of the regular 5x4. Also, home and back do not vibrate properly and I'm not sure which lines to edit to fix that.
Click to expand...
Click to collapse
I have tried adding that qemu.hw.mainkeys=0 on build.prop but the soft keys dont come and on every press the systemUI stopping sign comes. Anything else I can do to avoid this. tried it with apex, nova and next launcher. Using omega ROM 14.1

x111 said:
It works, but again buttons is too big and change ro.sf.lcd_density low than 440 will be too small, and also I need change just screen buttons, other staff looks nice for me with ro.sf.lcd_density 480.
Please, tell step by step how to change it.
Also, do you know how to disable light of sensor buttons? (very annoying)
Click to expand...
Click to collapse
"ro.sf.lcd_density" isn't present over here....
But I added that line at the end of all lines in my build.prop ... Setting it at 400-480 gave me very big icons .. 300 gives me the original size of icons.. So I set it at 260.. Now it's giving me a Tablet like look...
And that all above is fine..
But after changing the values.. How is it possible that it changed all my default icons of System Apps...?? Even though those icons were not present in those APKs...?? :what::what:
And yes.. Talking abt NavBar .. Its smaller and much SPACED... Thnkx fo that...
And if u want to ENABLE or DISABLE Light of Hardware buttons here's the link to that APK..
https://www.dropbox.com/s/5qhpbuh5syvl39z/Capacitive.apk
Just download it.. And there are options...
Sent from my Micromax A116 using XDA Premium 4 mobile app

does anyone know if this can be implemented with tasker?
Sorry, this is a little off topic but:
I keep accidentally pressing the hardware navigation keys when typing, particularly when i am in a rush. Is there any way that this method can be used with tasker or any similar app to disable the buttons when the keyboard is in use?

Thank you .. finally I found the solution for my problem ( menu key stop working ).

Related

Softkey Enabler for XL

Just wondering if there is a mod similar to the Softkey Enabler for the International One X? http://forum.xda-developers.com/showthread.php?t=1797850
I tried that mod on CM10 on my One XL (AT&T) but hit hangs on boot.
Thanks
Ask your fav dev to enable it, I'm not sure why you would want this?
Sent from my HTC One XL using Tapatalk 2
superchilpil said:
Ask your fav dev to enable it, I'm not sure why you would want this?
Sent from my HTC One XL using Tapatalk 2
Click to expand...
Click to collapse
for one. I replaced my screen so I have screen separation issues.
would be nice to enable softkeys (disable soft keys) so that the LEDs from the capacitive buttons don't shine through.
rubensun said:
for one. I replaced my screen so I have screen separation issues.
would be nice to enable softkeys (disable soft keys) so that the LEDs from the capacitive buttons don't shine through.
Click to expand...
Click to collapse
To each their own, I would just disable the backlight on the buttons
Like I said just ask a dev to make a patch, most will be happy to when they have time
Sent from my HTC One XL using Tapatalk 2
Thanks for the info. I'm coming from a Galaxy Nexus, and I like the soft bar. The rotation of the softkeys is nice, and I tend to hit the silkscreen by accident either when holding the phone.
Being a bit new on this forum, any suggestions a dev that may be amenable to requests
Thanks
The hugest reason for enabling soft keys are for iphone people. We are extremely used to having "safe" areas to grab a phone, esp in landscape. I have used an android phone for six months and I don't know where to grab the thing in landscape. I'm always accidentally touching the home or back button and going between apps, it's annoying. And it really hampers usability. This is something that I can't get used to. I definitely think Apple is right to have a hardware old-fashioned home button, or at least some bezel space. This is why I want the soft keys patch for the One XL.
lamenramen said:
The hugest reason for enabling soft keys are for iphone people. We are extremely used to having "safe" areas to grab a phone, esp in landscape. I have used an android phone for six months and I don't know where to grab the thing in landscape. I'm always accidentally touching the home or back button and going between apps, it's annoying. And it really hampers usability. This is something that I can't get used to. I definitely think Apple is right to have a hardware old-fashioned home button, or at least some bezel space. This is why I want the soft keys patch for the One XL.
Click to expand...
Click to collapse
decompile framework-res.apk for the ROM you are using.
I think softkey enabling is in bools.xml.. if not search through strings, arrays, or public.xml
When you find it and change it, recompile and push it to /system/framework
lamenramen said:
The hugest reason for enabling soft keys are for iphone people. We are extremely used to having "safe" areas to grab a phone, esp in landscape. I have used an android phone for six months and I don't know where to grab the thing in landscape. I'm always accidentally touching the home or back button and going between apps, it's annoying. And it really hampers usability. This is something that I can't get used to. I definitely think Apple is right to have a hardware old-fashioned home button, or at least some bezel space. This is why I want the soft keys patch for the One XL.
Click to expand...
Click to collapse
TUTORIAL: How to Turn Off the Hardware Keys - Function, Lights and Vibration
This will work for any AOSP ROM.
1) I used AOKP 4.2.1, you can disable your hardware keys(sort of) editing 2 files in you system/usr/keylayout folder: keypad_8960.kl & synaptics-rmi-touchscreen.kl
Edit these entries in both files, you must open then as a text file and be using a root explorer.
Set key 102, 139, 158, 217 to FOCUS, this will make them do nothing when you are in every app except in camera, when they make it focus.
Save each file after editing and reboot.
2) To turn off vibration go to settings/sound and turn off vibrate on touch.
3) To turn off other hardware key backlights use: AdjBrightness
In AdjBrightness turn off the buttons by pressing the button marked "buttons" under the light toggles. To lock then off so they dont come back on after locking and unlocking, press settings key in that app to bring up a menu, then press Option. Then, under buttons check the first one, "Lock off button lights".
That is it you are done. The only thing is you have it open AdjBrightness after a reboot so it can apply the settings.
superchilpil said:
To each their own, I would just disable the backlight on the buttons
Like I said just ask a dev to make a patch, most will be happy to when they have time
Sent from my HTC One XL using Tapatalk 2
Click to expand...
Click to collapse
Try this, worked for me!
https://play.google.com/store/apps/details?id=org.sleepydragon.capbutnbrightness
Sent from my HTC One X using xda app-developers app

Soft Keys on the XT926.. Help changing them please?

I need some assistance to get these keys back on my phone..
I don't understand why ANYONE would eliminate the menu button that is used in SEVERAL programs, and the Search function that is used on most apps as well.. I got my HD on Saturday and don't think I'll be able to adjust to not having access to program menus.
The three little squares that float all over the screen depending on which program you use, the search magnifying glass as well..
I don't really want to use any roms. They always seem to lose some sort of key functionality, like HDMI or something even more valuable.
Can ANYONE help me with this?
In my searches. The menu button on bar is placed there by the app. It's only removed when the app has the menu button in it. As for the magnifying glass. I've never seen it on the bar. I think if your running stock the best you can do is run and app called SoftKeyZ but it only changes the icons, I don't believe it add buttons.
You could use pie keys and delete the nav bar on stock. Or there was a topic somewhere about adding the keys to stock. Not sure where you'd have to search add menu button to navigation bar on here. Easiest method would be to run a custom rom or do the first option.
Your lucky day. I was bored
http://forum.xda-developers.com/showthread.php?t=2264404
Post 2 has the manual method that I would assume works on the razr.
Sent from my PACMAN MATRIX HD MAXX
Thanks!

[GUIDE] How to Disable Home Button Wake on S6

You will need a root explorer and All in One Gestures app.
Look in device/system/usr/keylayout for generic.kl
Make a backup of this file before editing.
Open it in a text editor and look for lines "Key 158 BACK" and "Key 172 HOME"
Swap BACK and HOME then save and reboot.
Then open All in One Gestures and under hardware keys tab, swap funtion of home and back again.
Somewhere along the line the wake funtion is dropped. Everything else works as normal.
I needed this feature disabled b/c wallet case would keep screen on constantly and eat battery.
I found a slightly better alternative. Your method effectively disables the key light of the BACK button.
My method is:
Edit Generic.kl. Find key with SEARCH, and comment it with a #. Then find HOME, and replace HOME with SEARCH. Go into All In One Gestures, and click on the FAB with "+". Add " Search" key, and assign it the action for Home. That's it. Same effect, but key light for BACK still works!
Both working with Note 4 too.
With first method you are loosing backlight and haptic feedback, while with second you are gaining haptic feedback on home button too.
And you need to set long press for 'google now', otherwise it won't work.
Thoth33 said:
You will need a root explorer and All in One Gestures app.
Look in device/system/usr/keylayout for generic.kl
Make a backup of this file before editing.
Open it in a text editor and look for lines "Key 158 BACK" and "Key 172 HOME"
Swap BACK and HOME then save and reboot.
Click to expand...
Click to collapse
I did a variation of this. I swapped 254 MENU with 172 HOME. That's all. No need to install Xposed or any other apps.
This works simply by editing system files without having to install other apps like Exposed.
Now, the menu button is HOME. But it won't wake the phone, because menu does nothing unless phone is already awake. HOME button is MENU, but it doesn't wake the phone.
Perfect!

Multitasking button making problems

Hey,
My multitasking button got fuxked up and it making the multitasking screen and split screen to go up by it self.
Is there a mod to cancel the function of all the physical buttons?
I have a on screen buttons mod so it wont be a problem not using them.
edit: I was able to fix it by putting # before the menu key in the generic.kl file in system/usr/ keys(something)
now the only problem that remains is that the screen change by itself from negative colors mode to the normal colors mod.
is there a way to cancel it? in generic.kl or in other way?
Thanks
someone?
Really?! No one?!
dial *#2663# and tap the first option
elprince_99 said:
dial *#2663# and tap the first option
Click to expand...
Click to collapse
doesnt work
please someone!!!! three days and no one can help?!
that **** drive me crazy it doesnt stop
buy a new one

[DELETEME] Workaround to bottom (capacitive) buttons not working

EDIT: this has noting to do with a software upgrade, but is a hardware problem on my device. This post can be deleted.
After an upgrade, I noticed my capacitive buttons were not working after a little while.
Only after a power cycle, they are usable again, but not for too long.
I suspect Android disable them when the "Helicopter home button" occurs.
I found some solutions:
Solution 1: Install "Soft keys" from the Play Store. The buttons are set on top of the display, and for some uses, they sometime get in the way (while using keyboard for example), and you have to reduce the size and have small fingers. It is possible to switch long press to change location.
Solution 2: Tell the system to use Nexus-like Buttons. That way, the buttons are not displayed on top of the screen, but, the screen resolution is reduced and the buttons are set below it. No app to install. Pro: the buttons don't get in the way.
I found a guide here: https://mgeeky.com/how-to-get-nexus-like-buttons-in-any-android-phone/
Add "qemu.hw.mainkeys=0" at the end of /system/build.prop, and reboot. You need an file explorer with an editor and root access. I use Cyanogenmod 12.1, the File explorer has all what's needed.
Optional: Turn Capacitive buttons Back-light off in the system menu. On my system, it is in "buttons"->"backlight"
Maybe it can help someone here.
sadly this does't work on Sense roms

Categories

Resources