概要
- LinuxやUnix系OSを使っていると様々なキーバインドが思った通りに設定されていないと使いづらいことがよくある
- 典型的には、ハードウェアキーボードでCapsLockがCtrlになっていてほしいとか、EmacsではCtrl-spaceでマークできないと困るとかがある
- この記事では、UserLAnd/Termuxを使う上でのキーボード・キー入力がらみの設定をまとめる
環境
- Pixel 4a 5G(android 11)
- ハードウェアキーボード: MOBO keyboard
ソフトウェアキーボード
- Gboard
- 日本語キーボードだけだと単語を確定させるのが面倒なので、英語キーボードも入れておく
- UserLAndのsshやTermuxを使うときは自動で英語キーボードになる
- Hacker's Keyboard
- GBoardの英語キーボードで足りない場合はこちらを使う
- https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard
ハードウェアキーボード
- ハードウェアキーボードを使う場合は、キーマップを変更するためにKCMリマップを入れる
- KCMリマップ: https://play.google.com/store/apps/details?id=jp.kcm.thumbctrl
- 設定
- ハードウェアキーボードをBluetooth接続した状態で、設定アプリの物理キーボードの設定を開く
- 自分が使っているキーボードをタップするとレイアウトが選べる
- 日:[Caps]→[Ctrl]を選ぶとCapsキーをCtrlとして使えるようになる
- 他にもいくつかのキーマップがあるのでお好みで。
Termux
- Google PlayとF-Droidで配布されているがF-Droidが最新版
- 今後、最新版はF-Droidのみとのこと
- F-Droidはブラウザで公式ページを開いてアプリをダウンロードしてインストールする
- F-Droid公式ページ: https://www.f-droid.org/
- Termuxの設定
- android9以降はデフォルトではCtrl-spaceが使えない
- ~/.termux/termux.properties に以下を書いておくとCtrl-spaceが使えるようになる
- 公式情報: https://wiki.termux.com/wiki/Terminal_Settings
- この設定はversion 0.105からなので、Google PlayのTermuxでは使えない
ctrl-space-workaround = true
UserLAnd ssh
- UserLAndのsshで使用している端末はTermuxの実装を流用したもの
- v2.8.1(2021/10/1リリース)からctrl-space-workaroundが取り込まれた
- /host-rootfs/data/data/tech.ula/files/home/.termux/termux.properteis に設定を書けるようになった
残念ながら不具合でtermux.propertiesを読んでくれないのと、ctrl-space-workaroundの実装が組み込まれていない-
パッチを作ったので、興味のある人はソースコードをダウンロードして自前でビルドすれば使えるようになる - 上
記のカスタム版のUserLAndだと以下の場所からtermux.propertiesを読むようになる/host-rootfs/data/data/tech.ula/files/home/.termux/termux.properteis
- termux.propertiesは以下のように記述する
ctrl-space-workaround=true
extra-keys = [['TAB','CTRL','ALT','ESC','/','\\\\','_']]
- extra-keysは端末内に固定表示されるソフトキーボードの設定
UserLAnd VNC
-
Google PlayからRealVNCの「VNC Viewer」を入れておく
-
Gogole Playを検索するとVNC ViewerとbVNCが見つかるが、bVNCはCtrl-spaceが使えないが、VNC Viewerは使える
-
UserLAndでvncを立ち上げるとALTキーをMetaキーとしても使えないのでxmodmapで修正する
-
エディタで~/.Xmodmapを作成して
clear mod4
を書いておく -
/support/startVNCServerStep2.sh をエディタで開いて以下を書いておく
export DISPLAY=localhost:51
xmodmap /home/$INITIAL_USERNAME/.Xmodmap