web-dev-qa-db-ja.com

Logitechトラックボールの「戻る」を無効にする

4つのボタンがあるLogitech Marble Mouseトラックボールを持っています。

enter image description here

指示はこちら を使用して、50-marblemouse.conf(xorg.conf)を設定して、[戻る]ボタンを押したままスクロールできるようにします。

Section "InputClass"
        Identifier  "Marble Mouse"
        MatchProduct "Logitech USB Trackball"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "EmulateWheel" "true"
        Option "EmulateWheelButton" "8"
EndSection

ただし、「戻る」をクリックすると登録が「保持」されることがあります。これは、Webページを閲覧しているときに非常に迷惑です。 ボタンを使用してスクロールできますが、シングルクリックを無効にする方法はありますか?

通常の回避策は、スクロールに「進む」ボタンを使用することであると思われます。クリックするとほとんど無害になりますが、戻るボタンをたたくよりも薬指でクリックする必要があります。

9
jpatokal

link で提供される「設定例#3、「戻る」ボタンを忘れる」指示を使用すると、右ボタンのクリックなど、より無害なものに戻るボタンを再マッピングできます。

ただし、上記の設定ファイルとどのようにマージするのか正確にはわかりません。

1
crimsonspectre

Ubuntuでの2009年のこの非常に優れたトラックボールの構成を次に示します。これがまだ機能していることを望みます。「ドライバー」と「デバイス」にいくつかの違いがあるかもしれません。ただし、ボタンのオプションは同じである必要があります。

Code: Section "InputDevice"
Identifier    "Marble Mouse"
Driver        "mouse"
Option        "CorePointer"
Option        "Device"   "/dev/input/mice"
Option        "Protocol"        "ExplorerPS/2"
Option        "Emulate3Buttons"    "true"
Option        "Buttons"        "9"
Option        "EmulateWheel"        "1"
Option        "EmulateWheelButton"    "8"
Option        "YAxisMapping"        "4 5"
Option        "XAxisMapping"        "6 7"
EndSection

だから、私たちは持っています:

  • 3番目のボタンは「進む」(9)にあり、非常に便利です。
  • エミュレートホイールは「Back」にあります(8)
  • x軸とY軸の両方を定義したことに注意してください。つまり、親指で[戻る]を押すと、タッチパッドのようにボールを使用して両方向にスクロールできます。
1
ttoine

あなたが探しているオプションは、ButtonMappingだと思います。マウスで同様の迷惑な機能( https://www.kensington.com/en/no/4493/k72327eu/slimblade-trackball )があったので、しばらく前にこれを見つけました。

「EmulateWheelButton」オプションは、ボタンを無効にするか、マッピングを再割り当てしても機能します...

今、私はこれをevdevのxinputでのみテストしました。 xinputを使って試す方がはるかに速く、/ etc/X11 /を変更してXを何度も再起動する代わりに、「スタートアップアプリケーション」にスクリプトを追加するだけで済みます。

したがって、これはxorg.d/mouse.confで必要なすべてです(コメント化された行は、ユーザーごとにこれを行うためにログインスクリプトを使用したくない場合に必要なものです)。 xinputを使用する場合:

Section "InputDevice"
    Identifier  "Configured Mouse"
    Driver    "evdev"
    Option    "Device"                "/dev/input/mice"
    Option    "Protocol"              "auto"
    #Option    "EmulateWheel"          "1"
    #Option    "EmulateWheelButton"    "8"
    #Option    "ButtonMapping"        "1 2 3 4 5 6 7 0 9 10 11 12"
EndSection

解決策を見つけるために私がしたことは次のとおりです(明らかに、次のコマンドでデバイスをデバイスに置き換えてください)。

デバイスを表示する:

$ xinput list
Virtual core pointer                        id=2    [master pointer  (3)]
  ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
  ↳ ELAN Touchscreen                            id=11   [slave  pointer  (2)]
  ↳ SynPS/2 Synaptics TouchPad                  id=13   [slave  pointer  (2)]
  ↳ Kensington Kensington Slimblade Trackball   id=18   [slave  pointer  (2)]

そのデバイスでサポートされているプロパティを確認します。

$ xinput list-props "Kensington Kensington Slimblade Trackball"
Device 'Kensington Kensington Slimblade Trackball':
    Device Enabled (142):        1
    Coordinate Transformation Matrix (144):        1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (273):        0
    Device Accel Constant Deceleration (274):        1.000000
    Device Accel Adaptive Deceleration (275):        1.000000
    Device Accel Velocity Scaling (276):        10.000000
    Device Product ID (260):        1149, 8257
    Device Node (261):        "/dev/input/event17"
    Evdev Axis Inversion (277):        0, 0
    Evdev Axes Swap (279):        0
    Axis Labels (280):        "Rel X" (152), "Rel Y" (153), "Rel Vert Wheel" (573)
    Button Labels (281):        "Button Left" (145), "Button Middle" (146), "Button Right" (147), "Button Wheel Up" (148), "Button Wheel Down" (149), "Button Horiz Wheel Left" (150), "Button Horiz Wheel Right" (151), "Button Side" (679), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263)
    Evdev Scrolling Distance (282):        1, 1, 1
    Evdev Middle Button Emulation (283):        0
    Evdev Middle Button Timeout (284):        50
    Evdev Third Button Emulation (285):        0
    Evdev Third Button Emulation Timeout (286):        1000
    Evdev Third Button Emulation Button (287):        3
    Evdev Third Button Emulation Threshold (288):        20
    Evdev Wheel Emulation (289):        1
    Evdev Wheel Emulation Axes (290):        0, 0, 4, 5
    Evdev Wheel Emulation Inertia (291):        10
    Evdev Wheel Emulation Timeout (292):        200
    Evdev Wheel Emulation Button (293):        8
    Evdev Drag Lock Buttons (294):        0

それでは、試してみましょう。

$ xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 2 3 4 5 6 7 0 9 10 11 12
$ xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 1
$ xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8

今、私の右上のボタンは、腹立たしい動作の代わりに自動スクロールとしてのみ機能します!

1
J Cole