ButtonMapping - Konumsal parametreler


11

X yapılandırma dosyasında fare düğmeleri, ButtonMapping seçeneği kullanılarak eşlenebilir:

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

Sayıların sırasını değiştirmek fare düğmelerinin davranışını değiştirir. Yine de , davranışın nasıl atandığını açıklayan herhangi bir belge bulamıyorum . Ne kadar az dokümantasyon varsa, yazmaya yardımcı oldum.

Örneğin, düğme eşleme bu şekilde yazıldıysa:

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

Bu pozisyonları şu şekilde belgeleyeceğiz:

  • a - Sol tıklama
  • b - Orta
  • c - Sağ tıklama
  • d - İleri kaydır
  • e - Geri kaydır
  • f - İleri
  • g - Geri
  • h - Yatay kaydırma
  • i - Dikey kaydırma

Sorum o zaman: konumsal değerlerini ne bir içinden i aslında temsil ve nasıl edilir eşlenen fare düğmelerine?

Güncelleme

Koşu xmodmap -ppşovları:

$ 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

Bu, bir insanın farenin fiziksel özellikleri hakkında kullanabileceği hiçbir bilgi içermediğinden yararlı değildir (yani, iki sol sütun "düğme" gibi düğme adları olmadan göstermek işe yaramaz). Teknik olarak bu, "nasıl haritalandıklarını" sorusuna cevap verse de, soru herhangi bir pratik anlamda cevapsız kalır.


AFAICG, değerler xev tarafından bildirilen düğme sayılarıdır. Bu nedenle, örneğin, örneğin, Kensington Slimblade topunu sağ üst düğmesi, yatay kaydırmaya atanan 8 numaradır (Web tarayıcılarında).
Leandro

Yanıtlar:


2

Bence şöyle bakmalısın:

                        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
  • Fare ile bildirilen anahtar kimliğini gösteren konum (sürücü aracılığıyla). Bu yüzden onları nasıl sipariş edeceğiniz üreticiye kalmış, ancak çoğu ortak siparişe bağlı.

    Fareler hala PS2 gibi eski protokolleri kullanıyorlar, mevcut düğmeler ve işlevleri hakkında bilgi depolamanın veya anlatmanın bir yolu yok. Bu nedenle X sunucusu her fiziksel düğmenin kimliğini size söyleyemez, yalnızca xevX olaylarını gösteren gibi bir araç kullanarak deneyebilirsiniz :

    xev -event mouse
    

    Veya evtestbu ham olayları gösterir:

    sudo evtest
    
  • Mantıksal anahtar, ekstra işlevler için başka yerlerde eşleştirilen anahtarlardır. Bu seviyede X onlara şu şekilde bakar: düğme1, düğme2, düğme3, düğme4, ..., düğme24 ve işlevlerini bilmez.

Resmi referans örnekleri:

  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.

Kaynak: ftp://ftp.x.org/pub/current/doc/mouse.txt


Bu mükemmel bir bilgidir. Ne yazık ki, xmodmap -ppbelgelere göre fiziksel düğmelerin adlarını (örneğin, "sol düğme", "tekerlek düğmesi") göstermez. Soru hakkındaki güncellememe bakın.
Dave Jarvis

@DaveJarvis, cevabımı güncelledi. olabilir: / yeni nesil fareleri, akıllı olanları beklemeliyiz! ya da gelecekte fareye gerek olmayabilir. :)
user.dz

Veya düğme haritalarının adlarını belirlemek için sorgulanabilecek genel bir cihaz veritabanı mı?
Dave Jarvis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.