web-dev-qa-db-ja.com

Ubuntu 16.04でタッチスクリーン入力を回転させる方法は?

システムにUbuntu 16.04.2 LTSが新規インストールされました。接続されたELOタッチディスプレイは、ランドスケープモードで正常に動作します。ディスプレイを時計回りに回転したポートレート形式でインストールすると、システム設定>ディスプレイダイアログで表示モードがポートレートに切り替わります。これは 解像度変更の説明 と同様です。ポートレート表示の設定は正常に機能しますが、タッチスクリーン入力は適切に回転しません。 xinput-calibrator のインストールと起動はエラーがないため動作しているように見えますが、すべてのタッチ入力イベントは、ポートレート形式ディスプレイの右上のタッチイベントに関係なく、画面上の実際のタッチ位置。

Xinput_calibratorのコンソール出力は次のとおりです。

$ Sudo xinput_calibrator 
    Setting calibration data: 0, 4095, 0, 4095
Calibrating EVDEV driver for "Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface" id=10
    current calibration values (from XInput): min_x=0, max_x=4095 and min_y=0, max_y=4095

Doing dynamic recalibration:
    Swapping X and Y axis...
    Setting calibration data: 2604, 2599, 1620, 1635
    --> Making the calibration permanent <--
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
    Identifier  "calibration"
    MatchProduct    "Elo TouchSystems, Inc. Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface"
    Option  "Calibration"   "2604 2599 1620 1635"
    Option  "SwapAxes"  "1"
EndSection

キャリブレーションが機能しないため、推奨される99-calibration.confに対して永続的な構成は行われませんでした。同様の問題は、すべてのタッチイベントが画面の1つの隅に合わせて調整されていたことがわかりませんでした。次に、横長モードでディスプレイを調整してみましたが、これは正常に機能します。ヒントはありますか?

2
alex

答え here はDebianで私のために働いたので、あなたにとってもうまくいくかもしれない.

リンクが壊れた場合に備えて、以下にコピーしました。

によってNeillyThere"2013年9月23日月曜日11:39 am
X11 Y軸の問題-簡単な解決策!

Y軸が反転する(下に移動すると上に移動する、またはその逆に)問題がある場合、簡単な解決策は次のとおりです。

好みのテキストエディターをSudo(またはルートアクセス)で使用してusr/share/X11/xorg.conf.d/10-evdev.confを編集します。これには、タッチスクリーンを処理するevdevの構成の詳細が含まれています。ファイルは、上部のコメントブロックに続くいくつかのセクションに分かれていることに注意してください。 Wordセクションで始まり、Word EndSectionで終わる各セクション(はい、それは明らかですが...)。それらのセクションの1つ、おそらく最後のセクションは次のようになります。

Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

そのEndSectionの前に新しい行を挿入します。

Option "InvertY" "true"

したがって、このセクションは次のようになります。

Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "InvertY" "true"
EndSection

ファイルを保存して、X11をもう一度起動してみてください。
Raspbianの2013-07-26バージョンと2013-09-10バージョンの両方でこれをテストしました。

うまくいけば問題は解決しました。

これは、再起動後に機能しました。

2
vascowhite