by Guido Socher (homepage)
About the author:
Guido loves Linux not only because it is interesting to understand
how operating systems work but also because of the people
involved in its design.
Content:
|
Atek Super Mini Optical Mouse
Abstract:
A lot of people really dislike the pointing devices that come with laptops.
They are good enough if you want to move the pointer between two
windows, but you cannot do any drawings or work on images with The Gimp.
The Super Mini Optical Mouse (www.atek.com) is a real mouse and it
is so small that you can use it in the tiny
flat space around the keyboard of the laptop.
Introduction
The world loves cool devices and this mini mouse is certainly one
of them.
It is a solution to an old problem: most people dislike
the built-in pointing devices in laptops,
which are usually touch pads or those little rubber tip pointers.
The Super Mini Optical Mouse is a real mouse and it allows you
to position the pointer very quickly and accurately.
The case of this mouse is made of a dark, translucent
polycarbonate. You can see its strong red LED shining through that
gives a futuristic red glow effect.
The mouse is about 6.5 cm long and 3 cm wide and comes with a nice little
travel bag. The cord is very thin and flexible but reinforced with a
Kevlar string.
The Super Mini Optical Mouse is available with a ps/2
connector or a USB connector. Although I have only used the USB version
I am quite sure that the ps/2 version will work well under Linux.
A general problem of the ps/2 interface specification is that
it does not say anything about the power consumption of devices.
Optical mice do need more power than mechanical ones because they have a
strong light, a small camera chip and more complex electronics. There might
be chipsets out there that will not provide enough current to allow
stable operation on the ps/2 connector.
With USB connectors you will not have to worry
about such hardware incompatibilities.
The Super Mini Optical Mouse is a 2 button mouse. To use it under
Linux you will need the Emulate3Buttons option in the X11 configuration.
Since the mouse is very small it is no problem to press the 2 buttons
at the same time to emulate the middle mouse button. However, you need
to press a bit harder when pressing both buttons
and it takes some time to get used to it.
Installation
A mouse with a ps/2 connector is represented under Linux as
/dev/psaux and the protocol is "PS/2". The kernel configuration option
is CONFIG_PSMOUSE. All pre-compiled kernels from any of the major
distributions
have this option compiled in by default. You do not need
to worry about it.
The USB subsystem in Linux is fairly new. Most distributions already had basic
USB mouse support before the 2.4 kernel release but
your ditrubution's kernel should not be more than one year old to be sure. Redhat 7.0, 7.1
Mandrake 8.0 etc... will all work.
The kernel config options are CONFIG_USB_OHCI or CONFIG_USB_UHCI and
CONFIG_INPUT, CONFIG_USB_HID, CONFIG_USB_MOUSE. Again, this is only for
those who like to create their own kernels. The standard
distributions have this included.
Loading the Kernel modules
Only the USB mouse requires that kernel modules are loaded (if compiled
as modules). There is no kernel module for a ps/2 mouse.
To load the modules just run:
- modprobe input
- modprobe hid
- modprobe mousedev
You can automatically load these at startup when you add these lines
to the start section of /etc/init.d/usb (Redhat + Mandrake, Suse has it
under /sbin/init.d).
The device file for USB is /dev/input/mice. You might need to create
it:
mkdir /dev/input
mknod /dev/input/mice c 13 63
chmod 666 /dev/input/mice
Testing, testing ...
Now we are ready to test if the mouse is working. Plug it in and run
cat /dev/input/mice (or cat /dev/psaux for the ps/2 version)
Everytime you move the mouse or click on a button you should see
some bizarre looking characters. If not, check connectors and run
/sbin/lsmod to verify that the correct kernel modules are loaded.
The USB mouse should also appear in the file /proc/bus/usb/devices
and will identify itself as:
S: Manufacturer=JPC
S: Product=JPC USB MOUSE
Configuration
Now our optical mouse is basically working. We just need to configure
X11 to use this mouse or the gpm console mouse if you want to have mouse support outside
the graphical environment. The Super Mini Optical Mouse always uses the
PS/2 protocol even if you have one with USB hardware. The only
difference from the configuration point of view is the device file, either
/dev/input/mice or /dev/psaux. Everything else is identical.
The console mouse is started as:
gpm -t ps/2 -m /dev/input/mice
or for the ps/s hardware version:
gpm -t ps/2 -m /dev/psaux
Under X11 you need to edit the file XF86Config-4 (xfree86 version 4) or
XF86Config (xfree86 version 3) in /etc/X11. If you have both files there
then just check which one was used last by running "ls -ultr". This will
show you the files and the times when they were last read by a
program.
xfree86 version 3
Change the pointer section to:
Section "Pointer"
Protocol "PS/2"
Device "/dev/input/mice"
Emulate3Buttons
Emulate3Timeout 80
EndSection
xfree86 version 4
Change the pointer section to:
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "PS/2"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "80"
EndSection
You also need well to have the entry in each applicable ServerLayout section
InputDevice "Mouse1" "CorePointer"
The ServerLayout section is normally at the end of the file.
Two mice with xfree86 version 4
To use several pointer devices, the laptop internal one and the Super Mini
Optical, add (do not replace the CorePointer entry) to the ServerLayout section:
InputDevice "Mouse1" "SendCoreEvents"
However, this is only needed if the internal mouse is not a USB mouse.
The /dev/input/mice device is already a "collection device" and receives
events from all connected USB mice.
Two mice with xfree86 version 3
For this just add a section like the one below and leave the existing
pointer section as it is. Again, this is only necessary if internal and
external mouse are not both USB mice.
Section "Xinput"
SubSection "Mouse"
DeviceName "USBmouse"
Protocol "PS/2"
Port "/dev/input/mice"
AlwaysCore
EndSubSection
EndSection
That's it. Enjoy your new Super Mini Optical Mouse.
Conclusion
The configuration of this new mouse might look complex but in fact it is just
a matter of copying the above instructions. If the internal mouse
is already a USB mouse then you just plug in the external USB mouse
and there is nothing else to do.
The Atek Super Mini Optical Mouse is a really good and accurate
mouse. At the beginning it is a bit strange to have such a small mouse but
you get used to it (if not addicted :-) very quickly.
Drawing fine and accurate shapes in The Gimp is no problem.
It's great for working in places where you lack any elbow room but it
works well on a big table, too ;-).
The price is about US $50. You will probably have to add
custom fees according to the rules of your own country
if you order from outside the US.
Links:
Talkback form for this article
Every article has its own talkback page. On this page you can submit a comment or look at comments from other readers:
2001-10-27, generated by lfparser version 2.19