LinuxOSでLenovoThinkpad T440トラックパッド(「クリックパッド」)を構成する方法を理解しようとして問題が発生しました。 Windowsがラップトップのトラックパッドを構成する方法が好きで、Debianでそれを模倣したいと思います。
いくつかの仕様は次のとおりです。
OSはGnomeで動作するDebian7.7.0です。
私はこのガイドの一部に従いました: http://forums.debian.net/viewtopic.php?f=16&t=111298&p=528725&hilit=t440#p528725
そしてこのコードを50-synapticconf内にコピーしました:
# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
# Option "OptionName" "value"
#
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton1" "1"
Option "TapButton 2" "3"
# uncommenting this should make three finger click the middle button
# Option "TapButton 3" "2"
# 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*"
EndSection
Section "InputClass"
Identifier "touchpad ignore duplicates"
MatchIsTouchpad "on"
MatchOS "Linux"
MatchDevicePath "/dev/input/mouse*"
Option "Ignore" "on"
EndSection
# This option enables the bottom right corner to be a right button on
# non-synaptics clickpads.
# This option is only interpreted by clickpads.
Section "InputClass"
Identifier "Default clickpad buttons"
MatchDriver "synaptics"
Option "SoftButtonAreas" "60% 0 0 5% 40% 60% 0 5%"
# To disable the bottom Edge area so the buttons only work as buttons,
# not for movement, set the AreaBottomEdge
Option "AreaTopEdge" "4%"
EndSection
# This option disables software buttons on Apple touchpads.
# This option is only interpreted by clickpads.
Section "InputClass"
Identifier "Disable clickpad buttons on Apple touchpads"
MatchProduct "Apple|bcm5974"
MatchDriver "synaptics"
Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
EndSection
これが画像です:
上記のコードで現在何をしているのか:左上は機能しますが、右ボタンは機能しません。タッチパッドの左下が機能し、右も機能します。さらに、真ん中のクリッカーは、赤い線の間の上部中央では機能しません。トラックポイントをこれらの3つのボタンと組み合わせて使用したいので、これらのボタンが気になります。
私がやろうとしていること:
|LLLLLL MMMM RRRRR|
| |
| |
| |
| |
| |
|LLLLLL RRRRRR|
私のThinkpadX240(同じ世代、同じ迷惑なクリックパッドではないにしても同様)で、_~/.Xsession
_で次のシェルスクリプトを呼び出します。
_#!/bin/sh
# Configure the X240 ClickPad
# 1 finger = left click, 2 finger = right click, 3 finger = middle click
synclient TapButton2=3
synclient TapButton3=2
synclient ClickFinger2=3
synclient ClickFinger3=2
# enable horizontal two-finger scrolling (vertical is enabled by default)
synclient HorizTwoFingerScroll=1
synclient VertTwoFingerScroll=1
# Where does the touch pad end to leave the remainder as real buttons
synclient AreaTopEdge=2000
# Areas must not overlap or it throws BadValue errors
synclient MiddleButtonAreaLeft=3000
synclient MiddleButtonAreaRight=4049
synclient MiddleButtonAreaTop=0
synclient MiddleButtonAreaBottom=2000
synclient RightButtonAreaLeft=4050
synclient RightButtonAreaRight=0
synclient RightButtonAreaTop=0
synclient RightButtonAreaBottom=2000
_
synclient
はDebianパッケージ_xserver-xorg-input-synaptics
_の一部です。
このスクリプトは、上端にボタンを表示するはずです。下のエッジボタンをそのように追加することも可能かどうかはわかりませんが、manページのsynaptics(4)
でSecondarySoftButtonAreas
に言及していることはそれを示唆しています。 (残念ながら、Debian 8Jessieではそのオプションsynaptics(4)
しか見つかりませんでしたが、Debian 7 Wheezyでは見つかりませんでした。Jessieでは、ThinkpadモデルT440、T540、およびX240がそのコンテキストで明示的に言及されています。)
クリックパッドが異なる座標を使用している場合や、ボタンの高さを変えたい場合などに、いくつかの値を調整する必要がある場合があります。
クリックパッドを設定するこの方法は、T540モデルを持っている友人から最初に同様のスクリプトを入手したので、その世代の他のThinkpadモデルでも機能すると確信しています。
ところで、Lenovoはついに…40世代のボタンレスクリックパッドは悪い考えであり、今春に予定されている次世代のThinkpadにはサムスティック用の実際のマウスボタンがあることを理解したようです。そして、X240が1年未満であるにもかかわらず、その世代から新しいThinkpadを購入することを本当に考えています。 (私見はその問題の本当の解決策です。;-)
wayland/libinput
wikiには、 Lenovo * 40シリーズ に関する特別なセクションがあります。機能不全のソフトボタンは、座標が範囲外の症状である可能性があります( E540シリーズ で発生するように)。 チューニングについてはこちら を参照してください。
座標範囲が修正されると、キャッチオールXorgconfはそのままで機能するはずです。
$ cat /etc/X11/xorg.conf.d/40-libinput.conf
# Match on all types of devices but tablet devices and joysticks
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "XkbModel" "thinkpad"
Option "xkb_layout" "ch"
Option "xkb_variant" "fr"
Option "XkbOptions" "ctrl:nocaps,terminate:ctrl_alt_shift_bksp,compose:caps"
EndSection
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
私のE540では、上端と下端の両方に3つのボタンがあります。