右クリックエミュレーションの実行中にXorgを無効にする方法

右クリックエミュレーションの実行中にXorgを無効にする方法

以下を使用して右クリックをシミュレートするように設定されたタッチスクリーン(実際にはBanana Pi Pro)を搭載したコンピュータがありますxorg.conf

Section "InputClass"
    Identifier "Touchscreen"
    Option "EmulateThirdButton" "1"
    Option "EmulateThirdButtonTimeout" "750"
    Option "EmulateThirdButtonThreshold" "30"
EndSection

これは本当にうまくいきます。しかし、時には、実際のマウスを使用したいときにマウスの左ボタンを押し続けると、マウスの右ボタンをクリックすることに変換されるため、これらの設定はかなり迷惑です。さらに、30ピクセルのしきい値はドラッグ選択を不正確にします。

マウスを使用するときに右クリックシミュレーションを無効にできるかどうか疑問に思います。

  1. 「InputClass」部分を変更するために実行時にXorg設定を変更することは可能ですか?

  2. それ以外の場合は、このセクションを1つの特定の入力デバイス(タッチスクリーン)にのみ適用できますか?

  3. 唯一の方法がxorg.confサーバーを更新して再起動することである場合、最も痛みの少ない方法は何ですか?理想的には、すでに実行中のアプリケーションを維持することをお勧めしますが、それが可能かどうか疑問です。

  4. 何も変更せずに私がしたいことを行うプログラムはありますかxorg.conf?絵この問題xrandr経由で構成するときは、静的動的構成パラメーターに使用されますxorg.conf

答え1

xinput入力設定を制御します。xrandrディスプレイと同様に、入力でも同じように機能します。

デバイスを一覧表示するには実行してくださいxinput list。各デバイスには名前と番号IDがあります。この名前またはこのIDを使用して、そのデバイスの属性を一覧表示できます。デバイスIDは、デバイスが検出された順序によって異なる可能性があるため、特定のデバイスをターゲットにしたい場合はその名前を使用してください。たとえば、デバイス8にマウスがあるとします。以下は、その属性を抜粋したものです。

$ xinput list-props 8
    Evdev Third Button Emulation (280):     0
    Evdev Third Button Emulation Timeout (281):     1000
    Evdev Third Button Emulation Button (282):      3
    Evdev Third Button Emulation Threshold (283):   20

したがって、次のいずれかのコマンドを使用して、このデバイスの3番目のボタンエミュレーションをオンにすることができます。

xinput set-prop 8 280 1
xinput set-prop 8 'Evdev Third Button Emulation' 1

デバイスには、グラフィックで表される階層がありますxinput list。デバイスに属性を適用すると、そのサブデバイスにも適用されます。たとえば、ルートポインタにプロパティを適用して、すべてのポインティングデバイスにプロパティを適用できますVirtual core pointer

答え2

@Gillesの答えのおかげで、xinputタッチスクリーンデバイスの名前をインストールして発見しました。

xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ft5x_ts                                   id=7    [slave  pointer  (2)]
⎜   ↳ GiGa HiD                                  id=9    [slave  pointer  (2)]

xorg.confこの情報を使用して、デバイスft5x_ts(タッチスクリーン)にのみ影響するようにファイルをカスタマイズできます。MatchProduct範囲:

Section "InputClass"
    Identifier "Touchscreen"
    MatchProduct "ft5x_ts"
    Option "EmulateThirdButton" "1"
    Option "EmulateThirdButtonTimeout" "750"
    Option "EmulateThirdButtonThreshold" "30"
EndSection

再起動後、右クリックエミュレーションはタッチスクリーンでのみ機能します。

PS:私のコンピュータがBanana Pi Proに基づいていることに言及する価値があるかもしれません。レメイケ液晶モジュール、他のBanana Piの人々がこのトピックを見つけるのを助けます。

関連情報