web-dev-qa-db-ja.com

xorgファイルを使用してタッチパッドのボタンマッピングを設定する

(Linux Mint 16 MATEエディションのeee-pc)のタッチパッドのマッピングを変更して、2本の指でタップすると中クリック、3本の指で右クリックになるようにします。

そのために、ButtonMappingオプションを/usr/share/X11/xorg.conf.d/50-synaptics.confに追加します。

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
      MatchDevicePath "/dev/input/event*"
        Option "ButtonMapping" "1 3 2 4 5"
EndSection

しかし、それは効果がありません。

このxinputコマンドは機能しますが、リセットすると失われます(また、~/.xinitrcまたは私が試した他のinitスクリプトでは機能しません):

xinput set-button-map "ETPS/2 Elantech Touchpad" 1 3 2 4 5

更新: xclipは物理キーも変更するため、実際には必要なものではありません。ただし、MATEスタートアップアプリケーションでは機能しました。以下は機能しませんが、手動で実行すると必要なことを実行します。

#!/bin/sh
synclient TapButton2=2
synclient TapButton3=3
3
Zah

アイデア#1-gnome-session-proerties

これをどのように解決したいかに応じて、「正しく機能する」1つの方法を考えることができます。ログインしたときに実行されるアプリケーションを作成し、この特定のコマンドを実行するシェルスクリプトをこのリストに追加します。これにより、ログインするたびにこれが実行されます。

#!/bin/bash

xinput set-button-map "ETPS/2 Elantech Touchpad" 1 3 2 4 5

次に、このスクリプトをGNOMEの[スタートアップアプリケーションの設定]ダイアログに追加します。

$ gnome-session-properties

ss #1

このダイアログに項目を追加した後、ログイン中に実行されるようにチェックされていることを確認してください。

アイデア#2-50にオプションを追加-synaptics.conf

Synapticタッチパッドを扱っているので、「Xorg.conf.d」ディレクトリに以下を追加できます。これはsynapticのマニュアルページから直接です。これは、追加できるInputDeviceルールの定型文です。

   Section "InputDevice"
     Identifier "devname"
     Driver "synaptics"
     Option "Device"   "devpath"
     Option "Path"     "path"
     ...
   EndSection

再びmanページから、使用できる次のオプションがあります。

   Option "TapButton2" "integer"
          Which mouse button is reported on a non-corner two-finger tap.  Set 
          to 0 to disable. Property: "Synaptics Tap Action"

   Option "TapButton3" "integer"
          Which mouse button is reported on a non-corner three-finger tap.  
          Set to 0 to disable. Property: "Synaptics Tap Action"

したがって、すべてをまとめると、ファイルに対して次のようなことができます。/usr/share/X11/xorg.conf.d/50-synaptics.conf

Section "InputClass"
        Identifier "Switch key mappings"
        MatchDriver "synaptic"
        Option "TapButton2" "2"
        Option "TapButton3" "3"
EndSection

また、代わりに、このスタンザを/etc/X11/xorg.conf.d/50-synaptics.confの下の独自のファイルに追加すると思います。このディレクトリは、追加のカスタマイズを上書きまたは追加するためのものです。そうすれば、システムを更新しても、/usr/share/X11の下のファイルに触れても変更に影響はありません。

2
slm

上記の2つの方法(物理的および仮想的な再マップ)を組み合わせることで、タッチパッドの下にある2つのマウスボタンを、タップボタンをそのままにして前後にマップできるようになりました。

誰かがその方法に興味があるなら、ここに方法があります:

  • タッチパッドのボタンを再マッピングし、1と3をそれぞれ8と9に切り替えます。 (つまり、左クリックと右クリックを前後クリックで切り替えます。)これにより、タッチパッドの下のボタンが前後ボタンのように動作しますが、タップする代わりに前後にタップすることもできます。

    % xinput set-button-map touchpad 8 2 9 4 5 6 7 1 3
    
  • したがって、シナプスに、新しい8番目と9番目のボタン(つまり、ボタン1と3)をシングルタップとダブルタップに使用するように指示します。

    Section "InputDevice"
        Identifier "touchpad"
        Driver "synaptic"
        Option "TapButton1" "8"
        Option "TapButton2" "9"
        Option "TapButton3" "2" # I like middle click on three finger clicking
    EndSection
    
0
stobix