Galaxy S4(SC-04E)のボタンは左からメニュー・ホーム・戻るです。
私がこれまでメインで使っていたNexusシリーズ(AOSP)のボタンの配列は、左から戻る・ホーム・アプリ使用履歴です。
ボタンの機能割り当てが全然違うので慣れるまで違和感があるのと、AOSPの配列の方が使い慣れて操作しやすいので変更しました。
なお、ボタンの機能割り当て変更の作業にはGalaxy S4(SC-04E)のRoot化が必要です。
端末のRoot化やカスタムリカバリの導入によって、メーカーの補償は一切きかなくなります。
また、作業中にデータが消えたり、端末が起動しなくなってしまったとしても、当方では一切責任は負えません。
全て自己責任で作業を行ってください。
・Galaxy S4(SC-04E)のRoot化。手順はGalaxy S4(SC-04E)のRoot化方法・手順。を参照してください。
・もし失敗して端末が起動しなくなったり、ブートループになってしまった場合の対策で現在のROMの状態をまるごとバックアップ/復元できるカスタムリカバリを導入しておく。手順はGalaxy S4(SC-04E)にCWM(ClockWorkMod)を導入する方法・手順。を参照してください。
・Rootオプションのあるファイルマネージャーをインストールしておく。今回はESファイルエクスプローラーを使っています。
ここからは、ボタンに割り当てる機能を変更する方法です。
systemフォルダにアクセスします。
usrフォルダをタップします。
keylayoutフォルダをタップします。
メニューキーを押して、Rootエクスプローラをタップします。
R/Wマウントをタップします。
/systemのRWのラジオボタンにチェックしてOKをタップします。
keylayoutフォルダ内の「Generic.kl」と「gpio-keys.kl」の内容を変更します。この元の状態の2ファイルは、すぐに元に戻せるように内部ストレージなどにコピーしてバックアップしておきましょう。
まず、メニューボタンを戻るボタンに変更していきます。
Generic.klをタップして内容を開き、右上のメニューアイコンをタップします。
「編集」をタップします。
「key 139 MENU」を探して、「MENU」の部分を変更します。
「BACK」に変更しました。
右上の戻るアイコンをタップします。
保存するか尋ねてくるので「はい」をタップします。
Generic.klをロングタップします。
右下のメニューアイコンをタップします。
「プロパティ」をタップします。
パーミッションが「rw-r--r--」になっていることを確認します。
メニューボタンを戻るボタンに変更する手順は以上です。
次に戻るボタンをアプリ使用履歴ボタンに変更します。
メニューボタンを戻るボタンに変更したときと同じように、Generic.klをタップして内容を開き、編集できる状態にします。
その後、「key 158 BACK」の「BACK」の部分を変更します。
「APP_SWITCH」に変更しました。
戻るアイコンをタップします。
「はい」をタップします。
戻るボタンをアプリ使用履歴ボタンに変更する手順は以上です。
ハードキーにはホームが割り当てられていますが、少し力を入れる必要があるので私はLMT Launcherに割り当てました。
そこでホームボタンには、よく使う電源ボタンとしての役割を与えることにしました。
それではホームボタンを電源ボタンに変更していきます。「gpio-keys.kl」をタップします。
メニューアイコンをタップします。
「編集」をタップします。
「key 172 HOME」の「HOME」を変更します。
「POWER」に書き換えました。
戻るアイコンをタップします。
保存するので「はい」をタップします。
念のためパーミッションを確認しておきます。gpio-keys.klをロングタップします。
メニューアイコンをタップします。
プロパティをタップします。
パーミッションが「rw-r--r--」になっていることを確認します。
ホームボタンを電源ボタンに変更する手順は以上です。
最後に、電源ボタンをカメラボタンに変更しました。
Generic.klをタップして内容を開き、右上のメニューアイコンをタップ後、「key 116 POWER」を「key 116 CAMERA」に変更します。
その後の処理は上記手順と同じです。
電源ボタンをカメラボタンに変更する手順は以上です。
ボタン割り当て変更後の様子の動画です。
ホームボタンを電源ボタンとして使うのが便利です。あまり指を動かす必要なくスリープにすることができます。
LMT Launcherはやっぱり鉄板です。
また、ボタンの配列はAOSPの方が慣れている分落ち着きますね。
最後に、それぞれのボタンに他の機能を割り当てたいときは、Keyeventから持ってきます。色々な機能があるので、他にも便利な割り当てができるかもしれません。
興味のある人は試してみてください。