Table of Contents
はじめに
先日の記事 で少し触れたが、Debian (wheezy, testing) での ThinkPad (E220s) のタッチパッドの設定をメモしておく。ThinkPad E220s のタッチパッドは比較的大きく操作しやすい。Mac のマルチタッチトラックパッドの快適な操作感には至らなくとも、それほど悪くはないと思う。
GNOME (2.30.2) デスクトップ環境では、GPointing Device Settings を導入しておくと GUI で簡単に設定できる。
$ sudo apt-get install gpointing-device-settings
マウスの設定
「システム」「設定」「マウス」と辿る。
エッジスクロールや二本指スクロールが選択できる。
ポインティングデバイスの設定
「システム」「設定」「Pointing Devices」と辿る。
主な操作方法は以下の通り。
- 1 本指
- tap = 左クリック
- move = カーソル移動
- 2 本指
- tap = 右クリック
- move = 縦・横スクロール
- control + move = 拡大・縮小
- 3 本指
- tap = 中ボタンクリック
他にも回転スクロールなどがこの画面から設定できる。
2 本指ピンチオープンクローズ・3 本指スワイプ
以下のガイドに従えば、2 本指ピンチオープン・クローズ、3 本指スワイプなどが可能になる。
- Add multitouch gesture support to a TouchPad-equipped laptop
- TouchPad を備えたラップトップにマルチタッチ・ジェスチャーのサポートを追加する (日本語訳)
リンク先の 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)