Raspberry Pi 4 RK61キーボード crontab
RK61キーボードを使い始めて約2週間ほど経ちました。
Bluetooth ON-OFFスイッチによる再接続は約10秒、sleepからの復帰は約1〜2秒
RK61製品仕様ではスタンバイ時間360時間、連続使用時間10時間
キーボード操作が無ければ1分でバックライト消灯、5分でスタンバイ、10分でディープスリープ
ディープスリープに入るとxmodmapやxkbcompで読み込んだ設定はクリアされてしまいます。
そこでスタンバイモードにとどめておくよう(バッテリーの持ちも問題無いだろうと予想)cronで廻してみることにしました。
20201126 追記
下記設定後キーボードまたはマウスからXにアクセスがあるうちはcrontabによって設定を継続できるのですがマウス、キーボード共全くアクセスが無くなった場合20分前後でキーボードはSleepに入ってしまうようです。
現状ではSleepを完全に止めることは難しいのでcrontabの設定を1分として廻すことにしました。
Sleepから目覚めたら1分以内に設定が適用されます(xx:00秒に実行)マニュアル操作と併用することで妥協することにします。
バッテリーの持ちについてはここ数日使ってみた限りでは特に消耗していることは無いようです。引き続き様子を見ることにします。
.Xkeymap
xmodmapとxkbcompは変わらず併用しています。
キーは前回の2箇所に加えてもう2箇所変更(使用頻度、好みで)
キー(\|) パイプを優先(backslash bar)
キー(‘”) ダブルクォーテーション優先
key <AC10> { [ colon, semicolon ] }; key <AC11> { [ quotedbl, apostrophe] }; key <BKSL> { [ bar, backslash ] }; key <AB10> { [ question, slash ] };
archlinux X KeyBoard extension
を参考にデフォルトのwarning解消、及び不要と思われる設定を削除
$ xkbcomp ~/.Xkeymap $DISPLAY
必要な箇所を削除したりするとErrorになります
取り敢えず記述に間違いが無ければ何事もなくコマンド終了
デフォルトのwarningは不要な記述が残っている
変更は上記4箇所 参考.Xkeymap
マルチメディアキー、キーパッドなど無いキーは削除
取り敢えずファイルサイズ59Kから42Kまで減らしました。
crontab
~/.Xkeymapが用意できたところでcrontabに登録(実行部は1行)
$ crontab -e */5 * * * * env DISPLAY=:0 /usr/bin/xmodmap ~/.Xmodmap && /bin/sleep 0.1 && env DISPLAY=:0 /usr/bin/xkbcomp ~/.Xkeymap :0
10分で廻すとdeep sleepに突入してしまいます(5分に設定)
cronからXコマンド(Xアプリケーション)を実行するには環境変数DISPLAYを指定します
xkbcompの引数にも明示的にDISPLAY番号を指定(:0)
$ echo $DISPLAY :0
初回起動時はキーボードがdeep sleepに入っているため何かキーを叩いて起こしてやる必要があります。
cronの実行を待つかこれまで通りアプリケーションメニューやxbindkeysで設定したキーで有効になります。
バッテリーの持ち時間についてはもう少し様子を見る必要が有りますが起動時以外はUSBレシーバー接続タイプの無線キーボード並に快適になりました。
メカニカル式キーボードはミスタッチも少なくあとは上達を待つばかりです(ここが問題)