web-dev-qa-db-ja.com

クリックパッド/タッチパッドの下部でミドルクリックを無効にする

Thinkpad T480には「クリックパッド」があります。これは、物理的な専用ボタンではなく、タッチパッド自体(の一部)を押すことができるタッチパッドです。

X.org 7.7を実行している場合、タッチパッドの下部に横縞があり、マウスボタン1、2、および3(左、中央、右)として機能します。基本的には次のようになります:

+-----------------+
|                 |
|                 |
|                 |
|                 |
|11111 22222 33333|
|11111 22222 33333|
+-----------------+

ボタン2を無効にし、その領域をボタン1と3の間に再割り当てするにはどうすればよいですか?つまり次のレイアウトを希望します。

+-----------------+
|                 |
|                 |
|                 |
|                 |
|11111111 33333333|
|11111111 33333333|
+-----------------+

この質問は mtrack:垂直ボタンゾーンを取得する方法? とは異なりますmtrackではなくXInputの。また、ハードウェアはSynapticsではありません。

問題のハードウェアは、XInputによって次のように識別されます。

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=11   [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech TrackPoint                id=12   [slave  pointer  (2)]
6
Cactus

入力すると:

$ xinput get-button-map 'DLL07BF:01 06CB:7A13 Touchpad'

私は得る:1 2 3 4 5 6 7

私は使ってみました:

$ xinput set-button-map 13 1 2 0 4 5 6 7

中右クリックを無効にしました。

5
Robert

次のようなコマンドを使用して、中央の「ボタン」で簡単に登録を停止できます。

xinput set-button-map 11 1 2 0 4 5 6 7 8 9 10 11 12

ここでの最初の引数はデバイスID(この場合はxinputからの上記の投稿された出力に基づく11)を指定し、残りはボタンを機能にマップします。最初の2つは左と右のボタン(1と2は通常のクリックとコンテキストメニューです)、3番目は中央のボタンです(通常は3として設定されますが、0は通知しますxinputを何にもマップしません)、残りは他のもの(スクロールなど)をカバーします。

パッドの下部全体を覆うように他の2つのボタンを調整するのは少し面倒であり、実際には不可能かもしれません。このようなクリックパッドは、パッドの下にクリックをトリガーする単一のスイッチを配置し、指がパッド上にある場所を監視して、どのボタンとして登録するかを決定することで機能します。これを処理する方法は3つあります。

  1. パッド自体のファームウェアで、構成オプションなし。
  2. パッド自体のファームウェアで、設定オプション付き。
  3. ドライバーのユーザースペース部分。

2番目の方法は、デバイスが古いPS/2スタイルのシリアル接続で接続されていない場合にのみ当てはまります(おそらく、この方法で接続されているため、ほとんどのThinkpadはこのようになっています)。 Synapticsはこれを方法3を使用して行い、ほとんどすべての設定オプションを提供します。 Elantechがそれをどのように処理するかはわかりませんが、USBまたはI2C接続のデバイスでない限り、おそらく最初のケースでしょう。 。

3

どの番号がどのボタンに対応するかがわかったら、中クリックを右クリックに置き換えることができます。

私の場合、ミドルクリックにマップされている2番目の番号:

1 2 3 4 5 6 7
  ^

したがって、これを左クリックに置き換えます。

xinput set-button-map x 1 1 3 4 5 6 7

ここで、xはxinputから取得したIDです

1
Adam Smith

ボタンの順番は左中右のようです。これでうまくいきました。

xinput set-button-map 11 1 0 3 4 5 6 7
1
Tim Borodin