Realised last week that I hadn’t seen the official Jelly Bean update for my S3 and when I tried to check it told me I was running an unofficial version, so have now flashed the latest, official version on. As part of this I needed to redo my various customisations to add the on-screen buttons and disable the hardware buttons.
First, obviously, I need to root it. I use the Chainfire auto-root because its quick and painless and I don’t yet want to go to CyanogenMod or AOSP. The link is http://forum.xda-developers.com/showthread.php?t=1957273.
So to /system/build.prop, added qemu.hw.mainkeys=0 (that’s a zero at the end) to the end of the file. That enables the on-screen buttons.
Then reboot, to check they are working before disabling the hardware buttons.
In /system/usr/keylayout/Generic.kl, add a hash before:
key 139 MENU WAKE_DROPPED
key 158 BACK WAKE_DROPPED
That disables the two buttons on either side of the physical button.
You can also then change or disable the single physical button in /system/usr/keylayouts/gpio-keys.kl
At the moment I have it set to
key 172 HOME CAMERA
But you can set it to anything you want. I think HOME WAKE is the default. I guess the order is what they do when the phone is active or inactive?
key 172 also appears in Generic.kl, but seems to be over-ridden by gpio-keys.kl.
Mainly this is for me to remember what I need to do each time I update the OS.
The main pain is that some of the Samsung apps don’t now work because they have been hardcoded to the physical screen size, so can’t cope with the button bar. Specifically the dialler and the camera app are not working.
Still looking for the stock Android camera and dialler apps, which must be able to cope.