web-dev-qa-db-ja.com

デュアルモニターのタッチスクリーンのキャリブレーション(ワンタッチモニターではありません)

私は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つに分割する必要がありますか?もしそうなら、私はそれをどのように行いますか?行き詰まっています。

3
mulllhausen

私はそれを今働いています。最初に行ったのは、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>

これでxrandrDP-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
3
mulllhausen