synaptics
synaptics は Synaptics および ALPS タッチパッドのためのオープンソースの入力ドライバです。
インストール
カーネル
次のカーネルオプションを有効化してください:
Device Drivers --->
Input device support --->
<*> Event interface
[*] Mice --->
<*> PS/2 mouse
タッチパッドをサポートするためには、Mice メニューの下にある追加のドライバ ("Synaptics PS/2 mouse protocol extension" など) が必要かもしれません。タッチパッドは PS/2 ではなく USB である場合もあります。疑わしい場合は、複数のドライバを選択して、後で lspci -k でカーネルが何を使用しているか確認してください。
ドライバ
INPUT_DEVICES="synaptics libinput"
After setting the INPUT_DEVICES variable remember to update the system using the following command so the changes take effect:
root #
emerge --ask --changed-use --deep @world
設定
ドライバはチューニングのためのオプションが多数あります。さらなる情報については synaptics(5) man ページを参照してください。
固定設定
xorg.conf に関しては、システム上に /etc/X11/xorg.conf.d ディレクトリがあるべきです。もし存在しない場合は、作成してください:
root #
mkdir /etc/X11/xorg.conf.d
ファイル /etc/X11/xorg.conf.d/50-synaptics.conf を以下の例のように設定してください:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
Option "VertEdgeScroll" "on"
Option "CircularScrolling" "on"
Option "VertScrollDelta" "-111"
Option "HorizScrollDelta" "-111"
Option "TapButton1" "1"
EndSection
実行時設定
実行時にもドライバを設定できるようにするためには、上のオプションを有効化してください。実行時にされた変更は X サーバの次回起動時に失われます。好みの設定を永続化するためには上の設定ファイルに変更を追加してください。
プログラム synclient でドライバを設定してください。いくつかの例です:
すべてのパラメータを一覧表示します:
user $
synclient -l
タッチエリアの右側を切り分けて、垂直スクロールエリアを拡張します:
user $
synclient RightEdge=5000
右端パラメータを見つけてください:
user $
synclient -m 50
マウスクリック機能を無効化します:
user $
synclient MaxTapTime=0
最後に、次のコマンドの出力を 99-synaptics ファイルの InputClass
セクションの中に貼り付けて、好みに応じて選んだ設定をダンプしてください:
user $
synclient -l | sed -e '1d' -e 's/^ \+/Option\t"/g' -e 's/ \+= /"\t"/g' -e 's/$/"/g'
代替として、KDE systemsettings モジュール kde-misc/synaptiks もあります:
root #
emerge --ask kde-misc/synaptiks
トラブルシューティング
タッチパッドが認識されない
タッチパッドが lsusb にも lspci にも表示されない場合は、PS/2 コントローラと、それがカーネルにどう処理されているかによるものかもしれません[1]。dmesg が次のような行を返すのがひとつの兆候です:
user $
dmesg | grep i8042
i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
この AUX port がタッチパッドが接続されている場所です[2]。 /etc/default/grub などで、カーネルコマンドラインに次を追加してみてください:
GRUB_CMDLINE_LINUX_DEFAULT="... i8042.noloop i8042.nomux i8042.nopnp i8042.reset ..."
そして、grub.cfg を更新してください:
root #
grub-mkconfig -o /boot/grub/grub.cfg
これらのパラメータ付きで再起動した後に汎用 Logitech PS/2 mouse
入力デバイスが検出されたら、カーネル設定で適切な PS/2 拡張ドライバが必要かもしれません:
Device Drivers --->
Input device support --->
<*> Event interface
[*] Mice --->
<*> PS/2 mouse
[ /*] Elantech PS/2 protocol extension
[ /*] Sentelic Finger Sensing Pad PS/2 protocol extension
[ /*] eGalax TouchKit PS/2 protocol extension
再起動後に、タッチパッドは正しく認識されるはずです。
関連項目
- libinput — an input device driver for Wayland compositors and X.org window system.
- Xorg/Using the numeric keyboard keys as mouse — XOrg comes with built-in mouse emulation using the keyboards numeric keypad.