web-dev-qa-db-ja.com

Ubuntu 10.04でスクロールホイールをエミュレートするにはどうすればよいですか?

私はケンジントン軌道光学トラックボールを持っています。これには2つのボタンとトラックボールがあります。 Ubuntu10.04を使用しています。

これを設定して、マウスの右ボタン(xevによるとボタン3)をクリックして押したまま、トラックボールを動かすと、マウスのスクロール動作が発生するようにします。

私は過去にxorg.confファイルをいじってこれを達成しましたが、それはおそらく1年半前のことであり、最近のダウングレードのために構成ファイルを失い、数時間のグーグルで運が悪くなりました。

私の不幸に加えて、xorg.confファイル自体がもう存在しないため、構成が必要な別の場所があるように見えます。これはVanillaUbuntu 10.04のインストールで、2日しか経っていません。

Evdevのデフォルトをオーバーライドするには、どのような構成が必要ですか?

Xorg.0.logファイルは、ロード時にこれを吐き出します。

(II) config/udev: Adding input device Kensington      Kensington USB/PS2 Orbit (/dev/input/event5)
(**) Kensington      Kensington USB/PS2 Orbit: Applying InputClass "evdev pointer catchall"
(**) Kensington      Kensington USB/PS2 Orbit: always reports core events
(**) Kensington      Kensington USB/PS2 Orbit: Device: "/dev/input/event5"
(II) Kensington      Kensington USB/PS2 Orbit: Found 3 mouse buttons
(II) Kensington      Kensington USB/PS2 Orbit: Found relative axes
(II) Kensington      Kensington USB/PS2 Orbit: Found x and y relative axes
(II) Kensington      Kensington USB/PS2 Orbit: Configuring as mouse
(**) Kensington      Kensington USB/PS2 Orbit: YAxisMapping: buttons 4 and 5
(**) Kensington      Kensington USB/PS2 Orbit: EmulateWheelButton: 4,     EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "Kensington      Kensington USB/PS2 Orbit"     (type: MOUSE)
(II) Kensington      Kensington USB/PS2 Orbit: initialized for relative axes.
5
bikesandcode

解決策は当分の間xinputでした。実行できるスクリプトが少しあるので、将来の知識のために、私が探していたものは次のとおりです。

  1. Xevを使用して、どのボタンがどのボタンにマップされているかを把握します。
  2. プラグインされたデバイスに関する情報を収集するためのlshalおよびxinput。
  3. xinputを使用して、実際に希望どおりに動作するように設定します。具体的には:

    xinput set-int-prop "Kensington Kensington USB/PS2 Orbit" "Evdev Wheel Emulation Button" 8 3 xinput set-int-prop "Kensington Kensington USB/PS2 Orbit" "Evdev Wheel Emulation" 8 1

ここで、8は多くを意味するわけではありません。 「3」は私がマップしたかったボタンです。 「1」は基本的にブール値の真です。

2
bikesandcode