そうだ,ラズパイでポータブルしよう!(仮) [Raspberry Pi]
『RPi4で何か… 第2弾(?)』って事で,そうだ,ラズパイでポータブルしよう! ってのが,今回のお題目。(実は,今決めた(笑)
そこで,とりあえず15.6インチのモバイルディスプレイを用意してみました。
# 事の始まりが,単にAmazonで安いのを見つけたから… ってのは内緒。
ラズパイにLCDって言うと,純正の7インチ,大きくても10インチ位と思いますが… そこを敢えて15.6インチ。
15.6インチはポータブルなのか?ってのは置いておいて…
2.5インチとか,5インチとか,みんながやっている事をやっても面白みに欠けるでしょ。
# ほんとは老眼が進んで,ちんまい画面がシンドいだけなのは内緒(笑
仕入れたブツはこんな感じ… Amazon.jpでもタッチスクリーン付きだと20k越えの中,15k円位で買えた。
以下,MBP15と重ねてみましたが,MBP15が隠れるサイズ(笑
B6判のコミックスが,ほぼ実サイズで見開き表示出来ます(何故モン娘… orz
当方的には,普段使いのMBPが16:10なせいか,1920x1080(16:9)は,若干,天地が狭く感じます。
ガワは,アルミっぽく見せてるけど,チャチなプラスティック製,それでも重さは堂々の683g(実測)。
付属のカバーを付けるとなんと1090g!って,サクッと1kg越えます。
RPi4やらモバブやら,諸々載せると,1.5kg超えかなぁ… これは。
で,写真撮影前の話…
いつも通り『開封の儀』なんてすっ飛ばして,ちゃっちゃと繋いで電源オ〜ン!
なんと,初起動からタッチスクリーンは動作します。(こいつ,動くぞぉ!)
おぉ素薔薇しい!なんて素敵なんだ… これは手間いらずで良いではないか!ってのは,ヌカ喜び,取らぬ狸の皮算用。
2本指タップが動作しない… (がっがぁ〜ん!
これRPi界隈では,当たり前の事の様…
とりあえず2本指タップ(右クリック相当)をどうにかしないと,使いづらいったらしょうがない!!
ここから情報収集開始… いつも通りの "行き当たりばったり" が発動です(笑
いや〜TouchScreenの設定って…
まとまったネタが何処にも無いので,少々苦労しました。
て事で,そうだ,RPiでポータブルしよう! って大見得切ったのですが,まずは,2本指タップを動かすまで。
当方の様に,勢いでモバイルディスプレーを買ったけど,タッチスクリーンをどうしましょ?な貴兄の何かの足しにして頂ければ幸いです。
『そうだ,ラズパイでポータブルしよう!』は…
- そうだ,ラズパイでポータブルしよう!(タッチスクリーンの動作) ←このページ
- 番外: リボンHDMIケーブルにやられてみる…
- そうだ,ラズパイでポータブルしよう!(実装編)
- そうだ,ラズパイでポータブルしよう!(ソフトウエア編)
- 番外: Pixel desktopからRetroPieを起動する
- そうだ,ラズパイでポータブルしよう!(まとめ?)
な,感じでやってます。(ました。)
* 以下は作業Logな感じですが,紆余曲折七転八倒Try&玉砕な部分は省いてます。
HW:
- Raspberry Pi 4B(8GB) with Argon ONE (ケースです)
- G-Story 15.6inch MultiTouch Display
セットアップには,キーボード,マウスが有ると便利ですよね…
当方は,いつも通り,MBPからのVNCとSSHでヤっつけです。
OS:
- Raspi OS Desktop 32bit (2020-08-20) →32GBのMicroSDカードへ
OSのインストールに関しては,そこかしこにネタが有るのでググるのが早いです。
当方は,SD作成時に,SSHの有効化とWi-Fiのアクセス情報をセットしてから初回起動してます。
これなら電源接続のみで起動,即SSH可能なので便利です。
接続: こんな感じ…
Displayには,USB-A Microが付いているけど,使い方が分からない orz
# マニュアルは同梱されているけど,日本語が怪しいすぎる…
USB-Cは2ポート有るけど,一方は電源専用(DP対応),もう一方はデータ用,データ用からでもDisplayへ給電可能です。
# USBの "Y字ケーブル" は,Displayの添付品を使いました。
2本指タップを実現する上で "twofinger" ってソフトを使いました。(まんまな名称(笑
ご参考:
- Two-finger right-click and zoom with a touch screen
- [How To] Two finger touch for right click - Page 2 - Raspberry Pi Forums
タッチスクリーンの接続は,USBになっているはずなので…
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 1d5c:7102 Fresco Logic Bus 001 Device 004: ID 2a94:524d Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
『名無し』のデバイスが居ます。
$ usb-devices reports : : T: Bus=01 Lev=03 Prnt=03 Port=00 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 2.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=2a94 ProdID=524d Rev=01.01 S: Manufacturer=G2Touch S: Product=Multi-Touch by G2TSP C: #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA I: If#=0x0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid I: If#=0x1 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid :
VendorIDとProdIDから『名無しさん』が,お目当てのTouchScreenらしい…
H/Wは見えるので,今度はS/W側…
$ lsmod | grep hid hid_multitouch 24576 0
xinuptで認識してる?
$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ G2Touch Multi-Touch by G2TSP id=6 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
「G2Touch Multi-Touch by G2TSP」が居ます。
セットアップの下準備。
$ sudo apt update && sudo apt upgrade -y$ sudo apt install -y build-essential libx11-dev libxtst-dev libxi-dev x11proto-randr-dev libxrandr-dev xserver-xorg-input-evdev
twofingerのソースをダウンロード,展開,ビルドしてインストール。
$ mkdir ~/temp$ cd ~/temp$ wget http://plippo.de/dwl/twofing/twofing-0.1.2.tar.gz$ tar -xvzf twofing-0.1.2.tar.gz && cd twofing-0.1.2$ make$ sudo make install
定義ファイルの編集。
$ sudo mv /etc/udev/rules.d/70-touchscreen-egalax.rules /etc/udev/rules.d/70-touchscreen-G2TSP.rules$ sudo nano /etc/udev/rules.d/70-touchscreen-G2TSP.rules
中身(元の中身を全消しして,以下に置き換える)
SUBSYSTEMS=="usb",ACTION=="add",KERNEL=="event*",ATTRS{idVendor}=="2a94",ATTRS{idProduct}=="524d",SYMLINK+="twofingtouch",RUN+="/bin/chmod a+r /dev/twofingtouch"
KERNEL=="event*",ATTRS{name}=="G2Touch Multi-Touch by G2TSP",SYMLINK+="twofingtouch",RUN+="/bin/chmod a+r /dev/twofingtouch",MODE="0440"
70-touchscreen-egalax.rules
は,twofingerをインストールすると,自動作成されます。- ここでは,ファイル名を
/etc/udev/rules.d/70-touchscreen-G2TSP.rules
に変えてます。
X11 configの修正
$ sudo nano /usr/share/X11/xorg.conf.d/40-libinput.conf
以下を文末に追加する。
Section "InputClass"
Identifier "calibration"
Driver "evdev"
MatchProduct "G2Touch Multi-Touch by G2TSP"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "750"
Option "EmulateThirdButtonMoveThreshold" "30"
EndSection
* 当方,上記の意味を全く理解してません(爆
Rebootします。
ターミナルで以下実行,エラーが無く,こんな感じに出たらOK
$ twofing --debug twofing, the two-fingered daemon Version 0.1.2.20120708 Input device name: "G2Touch Multi-Touch by G2TSP" XInput device id is 6. XInput device id for calibration is 6. Start calibration No calibration data found, use default values. Calibration: MinX: 0; MaxX: 1920; MinY: 0; MaxY: 1080 Invert X Axis: No Invert Y Axis: No Swap Axes: No Calibration Matrix: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 Grab Result: 0 Reading input from device ... (interrupt to exit)
この状態で,Desktopで2本指タップすると… Logが表示されつつ…
Current window: 'lxterminal' Use default profile. ^C
同時に,Desktop上に,コンテキストメニューが表示されます。
* Ctrl+Cで抜けます。
自動起動の設定
Xが起動した時に,自動でtwofingerも起動させます。
$ cp /etc/xdg/lxsession/LXDE-pi/autostart ~/.config/lxsession/LXDE-pi/autostart$ nano ~/.config/lxsession/LXDE-pi/autostart
文末に以下を追加
@/usr/bin/twofing
- ググってみたら。autostartが無いとか,使ちゃダメとか,うまく動かないとか,何を言ってるのか,よく分からない… 動かしゃいいんでしょ。
- autostartは…
- 基本的に /etc/xdg/lxsession/LXDE-pi/autostart が実行される。
- ただし,~/.config/lxsession/LXDE-pi/autostart が存在すれば,こちらが優先的に実行され,/etc/xdg/lxsession/LXDE-pi/autostart は無視される!
- @/usr/bin/twofing で,うまく起動しない場合は,waitを入れてみる。
頭に@を付けると,起動失敗してもリトライするっぽい…のだが。
waitを入れてみる:
autostart内では出来ないので,外にスクリプトを用意して,それをautostartで起動するようにします。
~/twofinger.sh
#!/bin/bash
sleep 3 # 適時要調整
/usr/bin/twofing
autostartへの記述は,こんな感じ…
@/home/pi/twofinger.sh
これで,起動後に2本指タップが使えるようになりました。
余談:
まだ主要部材が全て揃っていないので,本当に組み上がるかは不明。
何より部材全部を合体させる方法が見えてこない…
ケース(今回はカバー的な何か?)で難儀するのは,いつも通り確定事項。
しかも,ラズパイって厚みが有るので,薄くするのは困難…
純正7インチLCDにRPiが合体した,あの醜悪な図,あれより酷い事になりそう orz
あとは重量に関して,1kgを楽に超えるので『ポータブル』感はありませんね(笑
さてさて,どうしたものか…
部材が色々足りないので,ソフトを色々お試し中。
- 本体回転で,画面も回転
- スマホやタブレットでは,当たり前の機能。
でもラズパイでは面倒らしい。 - 切替スクリプトは用意したけど,スマホと違って,ぬるっと回転はせずに,画面ブラックアウト,1,2秒待って切り替わるって感じ。
- 発注したセンサーって,6軸?9軸?(忘れた
- 実装とか制御とか,まるで考えてない。(現物来てからです
- スマホやタブレットでは,当たり前の機能。
- kodi
- みんな大好きメディアプレイヤー
- 録画した番組の消化にもってこい!(お風呂では無理だけどトイレならOK
- 『ラズパイでレコーダー』のチューナーを使って,IPTV。
- 当然,Amazon Prime Videoも観られる。
- ラズパイのWebブラウザからウォッチリストをサクッと編集出来るのは良いかも。
- MComix
- サンプルで『モン娘』を表示してたのが,このソフト。
- どのソフトが良いのか分からないけど,ライブラリ機能とか要らないし,面倒が少ないのが良いですね。
- レトロゲームエミュ(未確認)
- Nintendo Switchに勝てるのは,画面サイズだけ(爆
- 死蔵している "8bitdo BT Gamepad" を使ってみようか…
- ポータブルヴィデオ会議とか
- 流行りみたいなので,カメラ付けてとか有りかな?
- 現状,MBPで足りてるけど…
あ,それで これ,つづく… の?
コメント 0