Ubuntu Linuxで FireFox の左右スクロールする(チルトホイールを使う)方法

Ubuntu Linuxで FireFox の左右スクロールする(チルトホイールを使う)方法

Ubuntu 8.04 Hardy でチルトホイールを使う方法。チルトホイールってのは上下でなく左右に傾かせて使うホイールで、これ使うとFireFoxの左右スクロールが簡単に出来て便利。

Logicool(Logitech) MX-400 で試しました。evdevのバージョンは1.1.2 (xserver-xorg-input-evdev 1:1.1.2-0ubuntu2)でXorgは7.3(xserver-xorg 1:7.3+10ubuntu10) です。

evdevでチルトホイールを使う

チルトホイールをつかうには evdev とゆうドライバを使います。man evdev でマニュアルがみれる。

Xのバックアップ

Xの設定を変更するので、xorg.confのバックアップをとっといた方がいいかも。マウスが動かなくて困った事になったら、バックアップを元に戻せばいい。vi使えるなら特にバックアップの必要ないけど。

例:xorg.confをコピーしてback.xorg.confとゆうバックアップを作る。マウスが動かなくなったら、[Alt][Ctrl][F1]なんかでログインしてback.xorg.confをxorg.confにコピーし、元にもどす。

sudo cp /etc/X11/xorg.conf /etc/X11/back.xorg.conf

マウスの情報を見る

インプットデバイスの一覧を表示して、マウスの情報を確認。

cat /proc/bus/input/devices

僕の場合はこんな感じだった。後で使うのは、Name (この場合Logitech USB-PS/2 Optical Mouse) もしくはHandlers の event番号(この場合はevent2)。

I: Bus=0003 Vendor=046d Product=c043 Version=0110
N: Name=“Logitech USB-PS/2 Optical Mouse”
P: Phys=usb-0000:00:1d.1-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb4/4-24-2:1.0/input/input2
U: Uniq=
H: Handlers=mouse1 event2
B: EV=17
B: KEY=ff0000 0 0 0 0
B: REL=143
B: MSC=10

ubuntu 8.04 になって、何故かディフォルトでインストールされなくなったgnome-device-managerをインストールして使えば、GUIでマウスの情報が確認できる。

gnome-device-managerのインストール。[アプリケーション] -> [システムツール] -> [DeviceManager]で起動

apt-get install gnome-device-manager

Xの設定を変更する

Xの編集

sudo gedit /etc/X11/xorg.conf

xorg.congのインプットデバイスセクションでIdentifier “Configured Mouse”の部分を探して以下のように変更する。設定後 [Alt][Ctrl][BackSpace] で、Xの再起動。

Section "InputDevice"
        Identifier "Configured Mouse"
        Driver "evdev"
    Option "Device" "/dev/input/event2"
    Option "CorePointer"
    Option  "Name"  "Logitech USB-PS/2 Optical Mouse"
    Option "RelHWHEELOptions" "invert"
EndSection

それぞれの設定の意味。

  • Driver “evdev”
    evdevとゆうドライバを使う。
  • Option “Device” “/dev/input/event2”
    デバイスファイルの場所。先ほどのマウス情報で確認したevent番号を/dev/input/以下に記述
  • Option “CorePointer”
    最優先で使うマウスの場合に記述する
  • Option “Name” “Logitech USB-PS/2 Optical Mouse”
    先ほどのマウス情報で確認したマウスの名前を記述
  • Option “RelHWHEELOptions” “invert”
    チルトホイールのボタンマッピングを左右逆転させる(任意)

Option “Device” でデバイスを記述すれば、Option “Name” のマウス名はいらないかも。前バージョンのUbntu 7.10 Gutsy では Option “Name” だけでうまくいったんだけど、今回の 8.04 Hardy ではうまくマウスを認識してくれなかったので、追加的にデバイスを記述しました。

xevでどのボタン番号が振り当てられているか確認

マウスにどんなボタン番号が振り当てられているか確認するには、

xev

で、開いた小さなウィンドウをクリックすればよい。

僕の場合は、ホイールを左に傾けると 7 、右に傾けると 6 だったので、Firefox で使いやすいように Option “RelHWHEELOptions” “invert” で左右を逆転させました。(左6、右7にした。)

チルトホイールを Firefox だけで使うのなら、Option “RelHWHEELOptions” “invert” と同等の効果を Firefox でも設定出来るので、Xに記述しない方法もある。後述。

Firefoxの設定を左右スクロール出来るように変更

Firefox2 までは設定変更が必要だったけど、Firefox3 の場合は変更の必要ない。けど一応 Firefox2 使ってる人のために。

Firefox の about:config で以下の用に設定。

mousewheel.horizscroll.withnokey.action = 0

これで左右スクロール出来るようになる。Firefox はボタン6を左スクロール、ボタン7を右スクロールに割り当ててる。

もし、左に傾けて7、右で6なら以下の用に設定。numlinesをマイナスの値にする。

mousewheel.horizscroll.withnokey.numlines = -1
mousewheel.horizscroll.withnokey.sysnumlines = false

一応それぞれの説明は、

  • mousewheel.horizscroll.withnokey.action
    チルトホイールを使った時にどう動作するか。
    0 行単位でスクロール
    1 一ページをスクロール
    2 履歴の戻る・進む
    3 文字サイズの大・小
    4 ピクセル単位でスクロール
  • mousewheel.horizscroll.withnokey.numlines
    何行スクロールするか、もしくは何ピクセルスクロールするか。
  • mousewheel.horizscroll.withnokey.sysnumlines
    ディフォルトの値を使うかどうか。falseならnumlinesで決めた値を使う

About:config についての説明: About:config entries - MozillaZine Knowledge Base

参考・参照

MX1000Mouse - Community Ubuntu Documentation

Developer at Momonga Project - evdev

ロジテック・マウスMX620をevdevで - Tociyuki::Diary

Firefox About:config についての説明: About:config entries - MozillaZine Knowledge Base

photo by PixCat