ButtonMapping-位置パラメーター


11

X構成ファイルでは、ButtonMappingオプションを使用してマウスボタンをマッピングできます。

Section "InputClass"
    # ...
    Option "ButtonMapping" "1 9 3 4 5 6 7 8 2"
    # ...
EndSection

数字の順序を変更すると、マウスボタンの動作が変わります。しかし、動作がどのように割り当てられているかを説明するドキュメントは見つかりません。どんな小さなドキュメントもありますが、私は執筆を手伝いました。

たとえば、ボタンマッピングが次のように記述されている場合:

    Option "ButtonMapping" "a b c d e f g h i"

これらの位置を次のように文書化します。

  • -左クリック
  • b-中間
  • c-右クリック
  • d-前方にスクロール
  • e-後方にスクロール
  • f-フォワード
  • g-後方
  • h-水平スクロール
  • i-垂直スクロール

私の質問は、:の位置の値が何をするかによって、私実際に表すとどのようにされているマップされたマウスボタンに?

更新

実行中のxmodmap -ppショー:

$ xmodmap -pp
There are 10 pointer buttons defined.

    Physical        Button
     Button          Code
        1              1
        2              2
        3              3
        4              4
        5              5
        6              6
        7              7
        8              8
        9              9
       10             10

これは、マウスの物理的な属性について人間が使用できる情報が含まれていないため有用ではありません(つまり、「左ボタン」などのボタン名がないと、2列の数字を表示しても意味がありません)。したがって、技術的には「どのようにマッピングされているか」という質問に答えることができますが、実際的な意味では質問は未回答のままです。


AFAICG、値はxevによって報告されるボタン番号です。したがって、たとえば、あなたの例では、私のKensington Slimbladeトラックボールの右上ボタンは8番で、水平スクロール(Webブラウザーで戻る)に割り当てられています。
lfd 14年

回答:


2

私はあなたがそれをこのように見るべきだと思う:

                        1 2 3 4 5 6 7 8 9  <--position-- physical keys
Option "ButtonMapping" "1 9 3 4 5 6 7 8 2" <--function-- logical keys
  • マウスによって(ドライバーを介して)報告されるキーIDを示す位置。したがって、それらの注文方法はメーカー次第ですが、ほとんどは一般的な注文に固執します。

    PS2のような古いプロトコルをまだ使用しているマウスには、使用可能なボタンとその機能に関する情報を保存したり、情報を伝える方法がありません。そのため、Xサーバーxevは、Xイベントを表示するようなツールを使用してそれらを試すことによってのみ、各物理ボタンのIDを通知できません。

    xev -event mouse
    

    またはevtest、生のイベントを示します。

    sudo evtest
    
  • 論理キーは、追加機能のために他の場所に実際にマップされたものです。このレベルでは、Xはbutton1、button2、button3、button4、...、button24としてそれらを調べ、それらの機能を認識しません。

公式の参考例:

  7.  Configuration Examples

  This section shows some example InputDevice section for popular mice.
  All the examples assume that the mouse is connected to the PS/2 mouse
  port, and the OS supports the PS/2 mouse initialization.  It is also
  assumed that /dev/mouse is a link to the PS/2 mouse port.

  Logitech MouseMan+ has 4 buttons and a wheel. The following example
  makes the wheel movement available as the button 5 and 6.

  Section "InputDevice"
          Identifier      "MouseMan+"
          Driver          "mouse"
          Option          "Device"    "/dev/mouse"
          Option          "Protocol"  "MouseManPlusPS/2"
          Option          "Buttons"   "6"
          Option          "ZAxisMapping"      "5 6"
  EndSection

  You can change button number assignment using the xmodmap command
  AFTER you start the X server with the above configuration.  You may
  not like to use the wheel as the button 2 and rather want the side
  button (button 4) act like the button 2. You may also want to map the
  wheel movement to the button 4 and 5.  This can be done by the
  following command:

          xmodmap -e "pointer = 1 6 3 2 4 5"

  After this command is run, the correspondence between the buttons and
  button numbers will be as shown in the following table.

  Physical Buttons        Reported as:
  ------------------------------------
  1 Left Button             Button 1
  2 Wheel Button            Button 6
  3 Right Button            Button 3
  4 Side Button             Button 2
  5 Wheel Negative Move     Button 4
  6 Wheel Positive Move     Button 5


  Starting in the Xorg 6.9 release, you can also achieve this in your
  configuration file by adding this to the "InputDevice" section in
  xorg.conf:

          Option "ButtonMapping" "1 6 3 2 4 5"

  For the MS IntelliMouse Explorer which as a wheel and 5 buttons, you
  may have the following InputDevice section.

  Section "InputDevice"
          Identifier      "IntelliMouse Explorer"
          Driver          "mouse"
          Option          "Device"    "/dev/mouse"
          Option          "Protocol"  "ExplorerPS/2"
          Option          "Buttons"   "7"
          Option          "ZAxisMapping"      "6 7"
  EndSection

  The IntelliMouse Explorer has 5 buttons, thus, you should give "7" to
  the Buttons option if you want to map the wheel movement to buttons (6
  and 7).  With this configuration, the correspondence between the
  buttons and button numbers will be as follows:

  Physical Buttons        Reported as:
  ------------------------------------
  1 Left Button             Button 1
  2 Wheel Button            Button 2
  3 Right Button            Button 3
  4 Side Button 1           Button 4
  5 Side Button 2           Button 5
  6 Wheel Negative Move     Button 6
  7 Wheel Positive Move     Button 7

  You can change button number assignment using xmodmap AFTER you
  started the X server with the above configuration.

          xmodmap -e "pointer = 1 2 3 4 7 5 6"

  The above command will moves the side button 2 to the button 7 and
  make the wheel movement reported as the button 5 and 6. See the table
  below.

  Physical Buttons        Reported as:
  ------------------------------------
  1 Left Button             Button 1
  2 Wheel Button            Button 2
  3 Right Button            Button 3
  4 Side Button 1           Button 4
  5 Side Button 2           Button 7
  6 Wheel Negative Move     Button 5
  7 Wheel Positive Move     Button 6

  For the A4 Tech WinEasy mouse which has two wheels and 3 buttons, you
  may have the following InputDevice section.

  Section "InputDevice"
          Identifier      "WinEasy"
          Driver          "mouse"
          Option          "Device"    "/dev/mouse"
          Option          "Protocol"  "IMPS/2"
          Option          "Buttons"   "7"
          Option          "ZAxisMapping"      "4 5 6 7"
  EndSection

  The movement of the first wheel is mapped to the button 4 and 5. The
  second wheel's movement will be reported as the buttons 6 and 7.

  The Kensington Expert mouse is really a trackball. It has 4 buttons
  arranged in a rectangle around the ball.

ソース: ftp : //ftp.x.org/pub/current/doc/mouse.txt


これは素晴らしい情報です。残念ながら、xmodmap -ppドキュメントによると、物理ボタンの名前(「左ボタン」、「ホイールボタン」など)は表示されません。質問に対する私の更新を参照してください。
デイブジャービス

@DaveJarvis、私の答えを更新しました。:/次世代のマウス、スマートなマウスを待つべきです!または将来マウスが不要になる可能性があります。:)
user.dz

または、ボタンマップの名前を確認するために照会できるデバイスのパブリックデータベースですか?
デイブジャービス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.