私はDebian 9を使用しています。売り場として使用する予定の2つの内蔵モニターを備えた小さなPCがあります。 1つのモニターが顧客に面しており(非タッチスクリーン)、1つがレジに面しています(タッチスクリーン)。各モニターの解像度は1366 x 768です。唯一のxクライアントとして実行されるPOSアプリケーションがあります。ウィンドウマネージャーもデスクトップマネージャーもありません。このようにして、システムは最小限のリソースを消費します。つまり、ターミナルから次のように実行できます。
xinit my-pos-app $* -- :1
マウスを使用している限り、アプリケーションは正常に動作します。ただし、意図は、タッチスクリーンだけでこの作業を行うことです。
問題は、タッチスクリーンが調整されていないことです。触ると、触ったところの右側約10cmのところが発動しているのがわかります。だから私はxinput_calibrator
を使用してみました-画面にタッチするポイントを表示するGUIを表示してタッチスクリーンを自動的に調整するプログラム。ただし、現在の設定では、この手順を完了することはできません。これは、一方のモニターだけがタッチスクリーンでもう一方のモニターはそうではないためですが、xinput_calibrator
はこれを認識せず、各モニターに画像の半分を表示します。非タッチスクリーンモニターのキャリブレーションポイントには明らかに触れられないため、xinput_calibrator
プロセスを完了できません。
マウスを最初のモニターの右側に移動すると、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
であることを示しています。
誰かがタッチスクリーンを正しく設定する方法を教えてください。最初にxrandrを使用して画面を2つに分割する必要がありますか?もしそうなら、私はそれをどのように行いますか?行き詰まっています。
私はそれを今働いています。最初に行ったのは、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