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

이것은 인간 이 마우스의 물리적 속성에 대해 사용할 수 있는 정보를 포함하지 않기 때문에 유용하지 않습니다 (즉, "왼쪽 버튼"과 같은 버튼 이름없이 두 개의 열로 표시하는 것은 쓸모가 없습니다). 기술적으로 이것은 "어떻게 매핑 되었는가"라는 질문에 대답 할 수 있지만, 실질적인 의미에서 질문에 대한 답은 남아 있지 않습니다.


AFAICG에서 값은 xev에 의해보고 된 버튼 번호입니다. 예를 들어, 예를 들어, Kensington Slimblade 트랙볼의 오른쪽 상단 버튼은 숫자 8이며 가로 스크롤 (웹 브라우저에서 뒤로)에 할당됩니다.
Leandro

답변:


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 서버는 xevX 이벤트를 보여주는 도구를 사용하여 각 물리적 버튼의 ID를 알려줄 수 없습니다 .

    xev -event mouse
    

    또는 evtest원시 이벤트를 보여줍니다.

    sudo evtest
    
  • 논리적 키는 실제로 추가 기능을 위해 다른 곳에 매핑 된 것입니다. 이 수준에서 X는 버튼 1, 버튼 2, 버튼 3, 버튼 4, ..., 버튼 24로 표시되며 해당 기능을 알 수 없습니다.

공식 참조 예 :

  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설명서에 따라 물리적 버튼의 이름 (예 : "왼쪽 버튼", "바퀴 버튼")은 표시되지 않습니다. 질문에 대한 내 업데이트를 참조하십시오.
Dave Jarvis

@DaveJarvis는 내 대답을 업데이트했습니다. : 우리는 차세대 마우스, 똑똑한 마우스를 기다려야합니다! 또는 앞으로 마우스가 필요하지 않을 수도 있습니다. :)
user.dz

또는 버튼 맵의 이름을 확인하기 위해 쿼리 할 수있는 장치의 공용 데이터베이스입니까?
Dave Jarvis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.