Linux and the mouseFrom MozillaZine Knowledge Base
[edit] SummaryThis knowledge base article contains the core KB HOWTO enable the Horizontal Scroll in Firefox under most Linux distributions including Mandriva Linux 2006 PowerPack+. It is the successor to the Mozillazine topic The Linux, the Logitech and the Firefox. It is currently intended to be a primer on discovering how to enable all the features of your mouse if it not supported out of the box by your Linux distribution. As software and hardware continually evolves, this article will attempt to cover only the basics and also include any contributed mouse identification parameters of known mice. The documentation found from an internet search was somewhat incomplete and spread out and sometimes even non-existent. This article will continue to focus on a particular Linux distribution and a particular mouse, but it also includes sections for other mice, other distributions and of course a notation section on each step of the HOWTO. This is necessary to prevent the abstract nature from becoming completely random and spread out like those found on other sites. Some things may be different for you...
There are several variants of this configuration, but this setup seems to be the most robust and the most portable and very usable in Firefox under most Linux distributions, including Mandriva. PLEASE MAKE A BACKUP BEFORE YOU MODIFY SYSTEM FILES!
[edit] Definitions
[edit] Installation[edit] Pick a mouseAs there are several hundred mice out there and several Linux distributions available, the installation will continue to focus primarily on the Logitech MX-1000 under Mandriva. The way it appears the kernel handles events from this mouse type is X, Y, Z and W axes and 10 real buttons (the two additional buttons are on the W axis ) XWindows via whatever driver is chosen and configured will map those existing key events (buttons) into the Z and W axes...sometimes correctly, sometimes INCORRECTLY even on newer versions of Linux. [edit] System configuration
For the test mouse it returned a lot of entries including this section: T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c50e Rev=25.10 S: Manufacturer=Logitech S: Product=USB RECEIVER C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 70mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
# udev rule for Logitech MX-1000 Cordless Laser Mouse
KERNEL=="event*", \
SYSFS{idVendor}=="046d", \
SYSFS{idProduct}=="c50e", \
SYMLINK="input/mx1000", \
GROUP="root",OWNER="root",MODE="0664"
Confirm permissions are set using #chmod 664 /etc/udev/rules.d/10-local.rules (more information can be found on udev rules by using $man udev and of course an internet search) REBOOT [edit] XWindows configuration
Section "InputDevice" Identifier "Mouse1" Driver "evdev" Option "Device" "/dev/input/mx1000" EndSection
[edit] KDE configurationThis configuration may or may not be necessary depending on if the newer version of evdev is present and configured properly. It is included for backwards compatibility as well as forced forward compatibility.
! Reorder middle click, right click, Z and W axes
pointer = 1 3 2 4 5 6 7 8 9 10 11 12
Confirm permissions are set using #chmod 664 /etc/X11/xinit/.Xmodmap
#!/bin/sh
xmodmap /etc/X11/xinit/.Xmodmap
Confirm permissions are set using $chmod 774 ~/.kde/Autostart/Xmodmap
RESTART X [edit] GNOME configurationThis configuration may or may not be necessary depending on if the newer version of evdev is present and configured properly. It is included for backwards compatibility as well as forced forward compatibility.
! Reorder middle click, right click, Z and W axes
pointer = 1 3 2 4 5 6 7 8 9 10 11 12
Confirm permissions are set using $chmod 664 ~/.Xmodmap
RESTART X [edit] Browser configuration
mousewheel.horizscroll.withnokey.action user set integer 0 mousewheel.horizscroll.withnokey.numlines default integer -1 mousewheel.horizscroll.withnokey.sysnumlines user set boolean true
[edit] Packages[edit] Mandriva Linux(Mandriva/Mandrake is the predominantly discussed platform in this article.)
[edit] K/Ubuntu LinuxVersions, source packages for evdev/udev/xev wanted [edit] Debian LinuxVersions, source packages for evdev/udev/xev wanted [edit] Other mice[edit] Logitech[edit] Logitech MX-1000 Laser Mouse
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c50e Rev=25.10 S: Manufacturer=Logitech S: Product=USB RECEIVER C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 70mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
[edit] Logitech V200 Cordless Notebook Mouse
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c510 Rev=34.10 S: Manufacturer=Logitech S: Product=USB Receiver C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 50mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
[edit] Logitech MX400 Performance Laser Mouse
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 6 Spd=1.5 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c043 Rev=27.20 S: Manufacturer=Logitech S: Product=USB-PS/2 Optical Mouse C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 5 Ivl=10ms
[edit] Logitech Cordless Desktop MX 5000 Laser
Receiver
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 3 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=0b02 Rev=40.02 S: Manufacturer=Logitech S: Product=Logitech BT Mini-Receiver C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms
Keyboard
T: Bus=01 Lev=02 Prnt=03 Port=01 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c70e Rev=40.02 S: Manufacturer=Logitech S: Product=Logitech BT Mini-Receiver S: SerialNumber=000761474EA8 C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
Mouse
T: Bus=01 Lev=02 Prnt=03 Port=02 Cnt=02 Dev#= 5 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c70a Rev=40.02 S: Manufacturer=Logitech S: Product=Logitech BT Mini-Receiver S: SerialNumber=000761474EA8 C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=5ms
[edit] Logitech G7 Laser Cordless Mouse
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c51a Rev=41.01 S: Manufacturer=Logitech S: Product=USB Receiver C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 98mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=1ms I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=1ms
[edit] MicrosoftMice wanted [edit] InlandMice wanted [edit] KensingtonMice wanted [edit] Notes
[edit] External linksAdditional information can be found by searching on the web for "gentoo wiki HowTo for mouse nav buttons" or go to it directly at HOWTO Advanced Mouse. Both methods may provide helpful information in your efforts to incorporate your mouse into your Linux distribution XWindows, but still seems limited on terminal/console incorporation. |
|