設定 - PinePhoneキーボード

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動

概要

PinePhoneの専用キーボードの設定およびドライバのインストール方法を記載する。


専用キーボードの取り付け

  1. PinePhoneの電源を落として、バックケースを取り外す。
  2. 専用キーボードを開いて、ヒンジを完全に伸ばした状態で、硬い表面に平らに置く。
  3. PinePhoneをキーボードに約15度傾けて挿入する。
    この時、PinePhoneのPogoピンと専用キーボードの対応するパッドの位置が合っていることを確認する。
  4. PinePhoneを所定の位置にしっかりと押し込む。
    この時、カチッという音がして固定される。
  5. PinePhoneは、バックケースにあるような切り欠きを使用して、専用キーボードから簡単に取り外すことができる。(電源ボタンや音量ボタンがある先端部の下部にある)



専用キーボードと内蔵電池の動作

専用キーボードは、対応OSを搭載したPinePhoneを取り付けると自動的に機能する。
物理的なレイアウトやファームウェアの変更については、それぞれ4.1節と5.1節を参照すること。

専用キーボードには、6000[mAh]のバッテリーが内蔵されている。
キーボードの右端にあるボタンを押下することにより、内蔵バッテリーのON / OFFが可能となる。
ボタンを短く押下する場合は内蔵バッテリーが作動して、長く押下(15秒)する場合は内蔵バッテリーの動作が解除される。

専用キーボードに対応しているLinuxディストリビューションでは、PinePhoneとキーボードの両方のバッテリーの状態が表示される。

PinePhoneと専用キーボードの充電は、キーボードのUSB typeCポートを使用して行う必要がある。

また、専用キーボードのUSB typeCポートは周辺機器には使用できないため、PinePhoneのUSB typeCポートを使用して周辺機器に使用する。


専用キーボードのドライバのインストール

※注意
2023年5月現在、ppkb-i2c-inputdは使用できないため、パッケージ管理システムからppkb-toolsをインストールする必要がある。

専用キーボードのドライバのインストールに必要なライブラリをインストールする。

# Mobian
sudo apt install gputils gputils-common gputils-doc sdcc sdcc-doc sdcc-libraries php php-common ssl-cert

# Manjaro
sudo pacman -S make gcc sdcc php


専用キーボードのドライバのGithubから、ソースコードをダウンロードする。

git clone https://megous.com/git/pinephone-keyboard -b master
または
git clone https://xff.cz/git/pinephone-keyboard

cd pinephone-keyboard


ドライバのMakeファイルを編集する。
必要であれば、Makeファイルの下部にある$(OUT)ppkb-i2c-selftestのコメントを外す。

# 編集前
all:$(OUT)ppkb-i2c-inputd $(OUT)ppkb-usb-flasher $(OUT)ppkb-usb-debugger $(OUT)fw-stock.bin $(OUT)ppkb-i2c-debugger $(OUT)ppkb-i2c-charger-ctl $(OUT)ppkb-i2c-flasher $(OUT)ppkb-i2c-selftest

# 編集後
all:$(OUT)ppkb-usb-flasher $(OUT)ppkb-usb-debugger $(OUT)fw-stock.bin $(OUT)ppkb-i2c-debugger $(OUT)ppkb-i2c-charger-ctl $(OUT)ppkb-i2c-flasher $(OUT)ppkb-i2c-inputd $(OUT)ppkb-i2c-selftest


専用キーボードのドライバをビルドおよびインストールする。
※インストールディレクトリの最後に/(スラッシュ)を必ず付加すること。

make -j $(nproc) OUT=/<専用キーボードのドライバのインストールディレクトリ>/ all


もし、ppkb-i2c-inputdがインストールされない場合は、以下のコマンドを実行する。
※同様に、インストールディレクトリの最後に/(スラッシュ)を必ず付加すること。

make -j $(nproc) OUT=/<専用キーボードのドライバのインストールディレクトリ>/ $(OUT)ppkb-i2c-inputd



専用キーボードのファームウェアの更新

専用キーボードのドライバをインストールした時、インストールディレクトリに最新のファームウェアが配置される。
このファイルを使用して、専用キーボードを最新のファームウェアへ更新することができる。

まず、専用キーボードのドライバのインストールディレクトリに移動する。

cd <専用キーボードのドライバのインストールディレクトリ>


現在のキーボードの情報およびファームウェアを保存する。

sudo ./ppkb-i2c-flasher info > saved-info.txt
sudo ./ppkb-i2c-flasher --rom-out saved-rom.bin read


最新のファームウェアへ更新する。

sudo ./ppkb-i2c-flasher --rom-in ./fw-user.bin write
または
sudo ./ppkb-i2c-flasher -e i2c -i fw-user.bin write reset


PinePhoneを再起動する。

sudo systemctl reboot


もし、専用キーボードのファームウェアを初期状態に戻す場合、以下のコマンドを実行する。

cd <専用キーボードのドライバのインストールディレクトリ>
sudo ./ppkb-i2c-flasher --rom-in ./fw-stock.bin write

sudo systemctl reboot



専用キーボードの有効化

※注意
2023年5月現在、ppkb-i2c-inputdは使用できないため、パッケージ管理システムからppkb-toolsをインストールする必要がある。

cd <専用キーボードのドライバのインストールディレクトリ>
sudo ./ppkb-i2c-inputd


また、~/.config/autostartディレクトリに、専用キーボードを自動的に有効化するデスクトップエントリファイルを作成することを推奨する。

vi ~/.config/autostart/PPKeyBoardStart.desktop


# ~/.config/autostart/PPKeyBoardStart.desktopファイル

[Desktop Entry]
Type=Application
Name=Keyboard
Icon=/<専用キーボードのドライバのインストールディレクトリ>/PPKeyBoardStart.png
Exec=/<専用キーボードのドライバのインストールディレクトリ>/PPKeyBoardStart.sh
Categories=Utility;
NoDisplay=true


シェルスクリプトを作成する。

vi /<専用キーボードのドライバのインストールディレクトリ>/PPKeyBoardStart.sh


 # /<専用キーボードのドライバのインストールディレクトリ>/PPKeyBoardStart.shファイル
 
 #!/usr/bin/env bash
 
 appname="ppkb-i2c-inputd"
 
 # use -f to make the readlink path absolute
 dirname="$(dirname -- "$(readlink -f -- "${0}")" )"
 
 if [ "$dirname" = "." ]; then
    dirname="$PWD/$dirname"
 fi
 
 cd $dirname
 
 # Run ppkb-i2c-inputd binary
 echo "<パスワード>" | sudo -S "$dirname/$appname"


シェルスクリプトに実行権限を付加する。

chmod u+x /<専用キーボードのドライバのインストールディレクトリ>/PPKeyBoardStart.sh



スクリーンキーボードの有効化および無効化

スクリーンキーボードが不要な場合は、以下のコマンドを実行する。

gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false


スクリーンキーボードが必要な場合は、以下のコマンドを実行する。

gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true



専用キーボードの充電

PinePhoneの専用キーボードは、初期設定では500[mA]でPinePhoneを充電する。
例えば、1500[mA]に変更するには、以下のように編集する。

su
vi /sys/class/power_supply/axp20x-usb/input_current_limit


# /sys/class/power_supply/axp20x-usb/input_current_limitファイル

1500000