web-dev-qa-db-ja.com

LinuxでのKensington Slimbladeの構成

ケンシグトンスリムレイドトラックボールを手に入れましたが、構成しようとしています。私は古いLogitech Marble構成からそれを採用しています。

私は構成をしたい:

  • 左下:左クリック
  • 左上:後方
  • 右上:右クリックしてボールスクロールロック
  • 右下:中クリック

これまでに設定できた構成は次のとおりです。

  • 左下:左クリック
  • 左上:中クリック
  • 右上:右クリックしてボールスクロールロック
  • 右下:後方

これは私の設定スクリプトです:

xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Middle Button Emulation" 8 1   

xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 2 8 4 5 6 7 

xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8 8
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Timeout" 16 300

このスクリプトを実行する前に、xevはボタン番号を次のように報告します。

Left-Bottom: 1, Left-Top: 2, Right-Top: 8, Right-Botom: 3

このスクリプトを実行した後:

Left-Bottom: 1, Left-Top: 2, Right-Top: 8, Right-Botom: 8

だから私の知る限り、xinput set-button-mapボタンの順序を変更します。 this ページで、2番目の値がマウスの中央ボタンに対応し、8番目の値がThumb1に対応することを学びました(通常は後方機能に関連しています)。したがって、次のように、2番目の要素として3を使用し、8番目の要素として2を使用するだけでよいと考えました。

xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 3 8 4 5 6 7 2

しかし今、左上のボタンには右クリック機能があり、左下は無効になっています。 xevがレポートするようになりました

Left-Bottom: 1, Left-Top: 3, Right-Top: 2, Right-Botom: 8. 

誰もが私が意図したとおりに構成を設定する方法を知っていますか?私はUbuntu 16.04を使用しています。ありがとう。

5
Nelson Teixeira

質問を投稿してから数分後、私は答えを見つけました。誰かがそれを必要とする場合はここに行きます(Mint 18/Ubuntu 16.04の設定):

xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Middle Button Emulation" 8 0
7 8 9 
xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 8 2 4 5 6 7 3 2
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8 8
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Timeout" 16 300

編集

Mint 19(自宅)およびUbuntu 18.04(オフィス)にアップグレードした後、上記の設定が機能しないことがわかりました。 18.04は、これらの種類のデバイス(libinput)に異なるライブラリを使用します。Evdevを再インストールしても、一部のオプションが機能しません。苦労して検索した結果、解決策が見つかりました。 /usr/share/X11/xorg.conf.d/フォルダーに.conf拡張子のファイルを作成します。私の場合は10-slimblade.confという名前にしました。この構成をファイル内に配置します。

Section "InputClass"
        Identifier "Kensington Kensington Slimblade Trackball"
        MatchProduct "Kensington Kensington Slimblade Trackball"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "ButtonMapping" "1 8 2 4 5 6 7 3 2"
        Option "ScrollButton" "8"
        Option "ScrollMethod" "button"
        Option "MiddleEmulation" "on"
EndSection

セッションを再開すると、それだけです。

2
Nelson Teixeira

本当にありがとう!少し付け加えると、これらはトラックボールのボタンの配置であることがわかりました。

---------
| 2 | 8 |
---------
| 1 | 3 |
---------

そして、これはButtonMapping文字列での順序です。

LeftClick MiddleClick RightClick ScrollUp ScrollDown ? ? Back ?

だから、私にとっては、一番下の行を右と左にしたかっただけで、左上が上、中央が右上になりました。

Section "InputClass"
    Identifier "Kensington Kensington Slimblade Trackball"
    MatchProduct "Kensington Kensington Slimblade Trackball"
    MatchIsPointer "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"
    Option "ButtonMapping" "1 8 3 4 5 6 7 2 9"
    Option "ScrollButton" "8"
    Option "ScrollMethod" "button"
EndSection

ここのドキュメントは存在しないので、これを実行してxev -event mouse

1
Phil Kulak