UPDATE:
I’ve just realized that instructions for different versions of Android might differ slightly. My Fairphone runs the unofficial KitKat ROM. I’ve tried to make the instructions as generic as possible to avoid problems. If you encounter any differences, please let me know.
Motivation
It has always been irritating to me that the left hardware button on Fairphone 1 shows the symbol for the app switcher but it is linked to the Menu action.
Additionally, I much more often use the app switcher than the menu.
I know that the app switcher is accessible by long pressing on the Home button. However, having it available with a single short touch is much nicer.
So I set out to change the left button to display the app switcher instead of the menu.
I don’t take any responsibility if this breaks your phone.
It works for me but I can’t guarantee anything.
Instructions
These instructions are based on Ubuntu 15.10. The overall idea probably works on other systems too. However you probably need to use some other tools (e.g. sed
is not available on Windows).
Preparations
Install adb on your computer
$ sudo apt-get install android-tools-adb
Enable USB debugging on your Fairphone 1
1 . Go to developer options
2. Tick the optione Enable USB debugging
Get keylayout file from phone
- Connect your Fairphone 1 to your computer using a USB cable
- Copy the following file from your Fairphone 1 to your computer
$ mkdir keylayout
$ adb pull /system/usr/keylayout/Generic.kl keylayout/
Backup copied file
Make a backup to be able to go back to the original files if something goes wrong.
$ cp -r keylayout/ keylayout.bak/
Change keylayout
The only change I want to make is to replace the Menu function with the App Switcher function. You can try to change other stuff but you need to find out how on your own.
sed -iE 's/^(key 139\s+)MENU/\1APP_SWITCH/' keylayout/Generic.kl
This replaces all occurrences of key 139 MENU
with key 139 APP_SWITCH
in the keylayout file.
Copy the file back to the phone
Mount the system partition as writeable
For that you need root privileges.
$ adb root
$ adb remount
… and copy the file back to your Fairphone 1
$ adb push keylayout/ /system/usr/keylayout/
Finally: Reboot your phone
$ adb reboot
This should be it. Now your Fairphone 1 is vastly improved