私はDebian 9を使用しています。私はPOS(Point of Sale)として使用する予定の2台のモニターを搭載した小さなPCを持っています。顧客用ディスプレイ(ビタッチスクリーン)と計算員用ディスプレイ(タッチスクリーン)があります。各ディスプレイの解像度は1366 x 768です。 x 専用クライアントとして実行される POS アプリケーションがあります。ウィンドウマネージャまたはデスクトップマネージャはありません。これにより、システムは最小限のリソースを消費します。つまり、端末で実行できます。
xinit my-pos-app $* -- :1
マウスを使用する限り、アプリケーションは正常に動作します。しかし、私たちの意図は、タッチスクリーンを通してのみこれを行うことです。
問題は、タッチスクリーンが補正されていないことです。実際にタッチすると、タッチしたところで右に約10センチほどアクティブになることがわかります。そこで、xinput_calibrator
画面にタッチする点を表示し、自動的にタッチスクリーンを補正するGUIをポップアップするプログラムを使ってみました。ただし、現在の設定ではこの手順を実行することはできません。あるモニターだけがタッチスクリーンで、もう一方のモニターはタッチスクリーンではなく、xinput_calibrator
これを認識せず、各モニターに写真の半分を入れるからです。タッチスクリーン以外のモニターのキャリブレーションポイントはタッチできないようで、プロセスを完了できませんでしたxinput_calibrator
。
最初のモニターの右側にマウスを移動すると、2番目のモニターの左側にマウスが表示されることを確認しました。したがって、システムは2台のモニターを並べて配置したようです。私はこの低レベルのモニタ構成についてはよくわかりませんが、この出力によると、xrandr
システムはモニタが1つしかないと思うようです。
$ xrandr
Screen 0: minimum 320 x 200, current 2732 x 768, maximum 8192 x 8192
eDP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm
x 193mm
1366x768 60.00*+ 40.00
1360x768 59.80 59.96
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
960x600 60.00
960x540 59.99
800x600 60.00 60.32 56.25
840x525 60.01 59.88
800x512 60.17
700x525 59.98
640x512 60.02
720x450 59.89
640x480 60.00 59.94
680x384 59.80 59.96
576x432 60.06
512x384 60.00
400x300 60.32 56.34
320x240 60.05
VGA-1 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1366x768+1366+0 (normal left inverted right x axis y axis) 344mm x 194mm
1366x768 60.00*+ 40.00
HDMI-1 disconnected (normal left inverted right x axis y axis)
また、xinput
タッチスクリーンのデバイスIDが表示されます12
。
誰かがタッチスクリーンを正しく設定する方法を教えてください。まず、画面を2つに分割するにはxrandrを使用する必要がありますか?では、どうすればよいですか?ついています。
答え1
今使えます。私が最初にしたことは、xorgリポジトリから最新バージョンのディスプレイドライバをインストールすることでした。このステップがxrandr
出力を大幅に変更しないようであるため、必ずしも必要かどうかはわかりませんが、とにかく問題にはなりません。
$ sudo apt-add-repository ppa:xorg-edgers/ppa
$ sudo apt-get update
$ sudo apt-get dist-upgrade
$ aptitude search <my-graphics-card-brand>
$ sudo apt-get install <corresponding package>
これでより多くのプロパティがxrandr
表示されますDP-1
。
$ xrandr
Screen 0: minimum 320 x 200, current 2732 x 768, maximum 8192 x 8192
eDP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
1366x768 60.00*+ 40.00
1360x768 59.80 59.96
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
960x600 60.00
960x540 59.99
800x600 60.00 60.32 56.25
840x525 60.01 59.88
800x512 60.17
700x525 59.98
640x512 60.02
720x450 59.89
640x480 60.00 59.94
680x384 59.80 59.96
576x432 60.06
512x384 60.00
400x300 60.32 56.34
320x240 60.05
VGA-1 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1366x768+1366+0 (normal left inverted right x axis y axis) 344mm x 194mm
1360x768 59.80 59.96
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
960x600 60.00
960x540 59.99
800x600 60.00 60.32 56.25
840x525 60.01 59.88
800x512 60.17
700x525 59.98
640x512 60.02
720x450 59.89
640x480 60.00 59.94
680x384 59.80 59.96
576x432 60.06
512x384 60.00
400x300 60.32 56.34
320x240 60.05
HDMI-1 disconnected (normal left inverted right x axis y axis)
次にXを起動し、次のコマンドを実行してeDP-1
タッチスクリーンとして指定します。
$ xinput --map-to-output $(xinput list --id-only "Elan Touchscreen") eDP-1
(v.1.6.2)マンページでは、xinput
デバイス名を文字列として指定することもできると言われています。したがって、これも機能します。
$ xinput --map-to-output "Elan Touchscreen" eDP-1