チルトホイールマウスを使う実験

パピーを名犬にするための技、テクニック

モデレータ: 暇人, YoN, nyu

返信する
Endeavor_wako
記事: 380
登録日時: 09/09/18(金) 01:54

チルトホイールマウスを使う実験

投稿記事 by Endeavor_wako »

実験環境
本体 Thinkpad R500
OS PuppyLinux 571JP
ポインティングデバイス R500内蔵のトラックポイント、エレコムのマウスM-M8URBU、バッファローのマウスBSMBU05シリーズ

とりあえず、デバイスの認識状況を確認。
cat /proc/bus/input/devices

I: Bus=0011 Vendor=0002 Product=000a Version=0000
N: Name="TPPS/2 IBM TrackPoint"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: PROP=0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

(中略)

I: Bus=0003 Vendor=1241 Product=1177 Version=0110
N: Name="Holtek Optical Mouse"
P: Phys=usb-0000:00:1a.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/input/input11
U: Uniq=
H: Handlers=mouse1 event2
B: PROP=0
B: EV=17
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=143
B: MSC=10

I: Bus=0003 Vendor=056e Product=007e Version=0110
N: Name="ELECOM Optical Mouse"
P: Phys=usb-0000:00:1d.0-1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0/input/input12
U: Uniq=
H: Handlers=mouse2 event11
B: PROP=0
B: EV=17
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=143
B: MSC=10

バッファローのマウスがOEMなことがバレバレ。

H:Handlers に注目してください。

ドライバはevdevの一択で良いかもしれません。トラックポイントとエレコムのマウスはチルトホイールでないので、従来型(?)のドライバ(mouse,mice)が使えます。
バッファローのほうは、evdev を使わないとチルトホイール(のチルト動作)を拾ってくれませんでした。

/etc/X11/xorg.conf を編集。コメントアウトだらけで見づらいですが、実験の痕跡ということでそのままにしてあります。

コード: 全て選択

Section "ServerLayout"
#	InputDevice "Synaptics Mouse" "AlwaysCore" #serverlayoutsynaptics
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"	
    InputDevice    "Mouse2" "CorePointer"
    InputDevice    "Mouse1" "AlwaysCore"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

トラックポイントの設定

コード: 全て選択

Section "InputDevice"
    Identifier   "Mouse0"
    Driver       "mouse"
    Option       "CorePointer"
    Option       "Device" "/dev/input/mouse0"
    Option       "Protocol" "ExplorerPS/2"

    Option       "Buttons" "7"
    #Option       "ButtonMapping" "1 2 3 8 9"
    Option       "Emulate3Buttons" "false"
    Option       "XAxisMapping"      "6 7"
    Option       "YAxisMapping"      "4 5"
    #Option      "ZAxisMapping" "4 5" #scrollwheel
    Option       "EmulateWheel" "true"
    Option       "EmulateWheelButton" "2"
    Option       "EmulateInertia" "50"
EndSection

エレコムのマウスの設定

コード: 全て選択

Section "InputDevice"
    Identifier   "Mouse2"
    Driver       "mouse"
    Option       "CorePointer"
    Option       "Device" "/dev/input/mouse2"
    Option       "Protocol" "ExplorerPS/2"

    Option       "Buttons" "9"
    Option       "ButtonMapping" "1 2 3 8 9"
    Option       "Emulate3Buttons" "false"
    #Option       "XAxisMapping"      "6 7"
    #Option       "YAxisMapping"      "4 5"
    #Option      "ZAxisMapping" "4 5" #scrollwheel
    #Option       "EmulateWheel" "true"
    #Option       "EmulateWheelButton" "2"
    #Option       "EmulateInertia" "50"
EndSection
エレコムのマウスはサイドボタンを備えており、それも検出したいのでボタン数を9に増やしてます。


バッファローのマウスの設定

コード: 全て選択

Section "InputDevice"
    Identifier  "Mouse1"
    Driver      "evdev"
    #Option       "CorePointer"
    Option       "Device" "/dev/input/event2"
    #Option       "Protocol" "ExplorerPS/2"

    #Option      "Emulate3Timeout" "50"
    #Option       "Buttons" "7"
    #Option       "ButtonMapping" "1 2 3"
    #Option      "Emulate3Buttons" "yes"
    #Option      "XAxisMapping"      "6 7"
    #Option      "YAxisMapping"      "4 5"
    #Option      "ZAxisMapping" "4 5" #scrollwheel
    #Option      "EmulateWheel" "true"
    #Option      "EmulateWheelButton" "2"
    #Option      "EmulateInertia" "50"
EndSection
とりあえず、ドライバとデバイスだけ宣言すれば動くようです。
それと/usr/share/X11/xorg.conf.d の中身はそのまま。(そもそも571JPはこれを見るのだろうか?)


尚、3つともデフォルトでZ軸(ホイール)に4 5 を割り当ててくれるようです。

問題点1
バッファローのマウスでチルトスクロールが使えるようになったのは良いのですが、リピートが遅くて使っていて余り快適ではありません。安易な対策としてmiceを使って挙動(ホイール押下+マウス前後左右で4 5 6 7を吐く)を共通にし、併用する方法があります。

問題点2
マウスは2台ともUSB接続です。ということは、接続タイミングによってmouse*等の割り当てが変更される可能性があります(多分)。
デスクトップであれば繋ぎっぱなしなので一度設定してしまえば大丈夫と思いますが、ノートPC等で頻繁に繋ぎ変える場合は注意が必要でしょう。まあ、今回の実験のようにマウスを2台も繋ぐことは余りないでしょうけれど。この辺の挙動については詳しく追求していません。

問題点3
トラックポイント、エレコムのマウス、バッファローのマウスとも分解能がばらばらで併用する際の使い勝手が大変悪いです。Section "InputDevice"内の設定で何とかなる?
Main:NEC VersaPro VB-B (Core i5, RAM4GB, SSD, LinuxMint (xfce4,amd64))
Sub:Fujitsu note pc (Celeron、RAM8GB, SSD, LinuxMint (xfce4, amd64))

Puppyを使わなくなって久しい今日この頃。Raspiや32ビットPCにdebian入れてヘッドレスで
遊んでます。
返信する