Debian で ThinkPad のタッチパッドを快適に使う

はじめに

先日の記事 で少し触れたが、Debian (wheezy, testing) での ThinkPad (E220s) のタッチパッドの設定をメモしておく。ThinkPad E220s のタッチパッドは比較的大きく操作しやすい。Mac のマルチタッチトラックパッドの快適な操作感には至らなくとも、それほど悪くはないと思う。

GNOME (2.30.2) デスクトップ環境では、GPointing Device Settings を導入しておくと GUI で簡単に設定できる。

$ sudo apt-get install gpointing-device-settings

マウスの設定

「システム」「設定」「マウス」と辿る。

https://skalldan.files.wordpress.com/2011/09/wpid-mouse_setting.png

エッジスクロールや二本指スクロールが選択できる。

ポインティングデバイスの設定

「システム」「設定」「Pointing Devices」と辿る。

https://skalldan.files.wordpress.com/2011/09/wpid-pointing_device.png

主な操作方法は以下の通り。

  • 1 本指
    • tap = 左クリック
    • move = カーソル移動
  • 2 本指
    • tap = 右クリック
    • move = 縦・横スクロール
    • control + move = 拡大・縮小
  • 3 本指
    • tap = 中ボタンクリック

他にも回転スクロールなどがこの画面から設定できる。

2 本指ピンチオープンクローズ・3 本指スワイプ

以下のガイドに従えば、2 本指ピンチオープン・クローズ、3 本指スワイプなどが可能になる。

リンク先の gestureListener.pl を使用するには Perl のモジュールを CPAN から事前に導入しておく必要がある (Time::HiRes, X11::GuiTest)

はじめ synclient の実行時に以下のようなエラーが出ていた。

$ synclient -m 100
Can't access shared memory area. SHMConfig disabled?

xorg.conf で enable にするようだが、wheezy には /etc/X11/xorg.conf がなかったので生成する必要があった。

# Xorg -configure
# cp /root/xorg.conf.new /etc/X11/xorg.conf

xorg.conf の末尾に以下を加えた。

Section "InputClass"
Identifier "enable synaptics SHMConfig"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "SHMConfig" "on"
EndSection

EDIT: 2011/10/01
上記のように xorg.conf を作成しても読みこんでくれるが、/usr/share/X11/xorg.conf.d/50-synaptics.conf を編集した方がよい。

これで再起動し、先の Sample Code (gestureListener.pl) を実行するとなんとか動いているようだった。ただし、二本指ピンチオープン・クローズの動作はこのままではとても常用できそうになかったので (二本指スクロールで反応したりする)、3 本指スワイプの部分だけ有効にしておいた。二本指ピンチオープン・クローズの動作は「Control + 二本指スクロール」で代用できる。

慣性スクロール

あとは、Apple 製品のような慣性スクロール (Momentum Scrolling) が有効になれば更に快適になるだろうが、比較的スクロールを多用するブラウザ Iceweasel (Firefox) では Grab and Drag 拡張機能を利用すれば実現する。好みで「設定」「詳細」「ブラウズ」の「スムーズスクロール機能を使用する」にもチェックを入れておいてもよい。

また、Emacs の慣性スクロール用 lisp も開発されている (EmacsWiki: Inertial Scrolling)。例えば次のように設定ファイル (~/.emacs.d/init.el) に書いて利用することができる。

;; Smooth Scroll
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1)))
(setq mouse-wheel-progressive-speed nil)
(setq mouse-wheel-follow-mouse 't)
(setq scroll-conservatively 35)
(setq scroll-margin 0)
(setq scroll-step 1)

;; Inertial Scroll
(require 'inertial-scroll)
(inertias-global-minor-mode 1)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s