In Linux you have various special files in /dev. These files are called device files. In the Unix world accessing hardware is different. There you have a special file which actually runs a driver which in turn accesses the hardware. The device file is an interface to the actual system component. Files under /dev also behave differently than ordinary files. Below are the most important device files listed.
|fd0||First Floppy Drive|
|fd1||Second Floppy Drive|
|hda||IDE Hard disk / CD-ROM on the first IDE port (Master)|
|hdb||IDE Hard disk / CD-ROM on the first IDE port (Slave)|
|hdc||IDE Hard disk / CD-ROM on the second IDE port (Master)|
|hdd||IDE Hard disk / CD-ROM on the second IDE port (Slave)|
|hda1||First partition of the first IDE hard disk|
|hdd15||Fifteenth partition of the fourth IDE hard disk|
|sda||SCSI Hard disk with lowest SCSI ID (e.g. 0)|
|sdb||SCSI Hard disk with next higher SCSI ID (e.g. 1)|
|sdc||SCSI Hard disk with next higher SCSI ID (e.g. 2)|
|sda1||First partition of the first SCSI hard disk|
|sdd10||Tenth partition of the fourth SCSI hard disk|
|sr0||SCSI CD-ROM with the lowest SCSI ID|
|sr1||SCSI CD-ROM with the next higher SCSI ID|
|ttyS0||Serial port 0, COM1 under MS-DOS|
|ttyS1||Serial port 1, COM2 under MS-DOS|
|psaux||PS/2 mouse device|
|gpmdata||Pseudo device, repeater data from GPM (mouse) daemon|
|cdrom||Symbolic link to the CD-ROM drive|
|mouse||Symbolic link to the mouse device file|
|null||Everything pointed to this device will disappear|
|zero||One can endlessly read zeros out of this device|
The mouse can be used in both the Linux console (with gpm) and the X window environment. The two uses can be made compatible if the gpm repeater is used to allow the signal to flow to the X server as shown:
mouse => /dev/psaux => gpm => /dev/gpmdata -> /dev/mouse => X /dev/ttyS0 (repeater) (symlink) /dev/ttyS1
Set the repeater protocol to be raw (in /etc/gpm.conf) while setting X to the original mouse protocol in /etc/X11/XF86Config or /etc/X11/XF86Config-4.
This approach to use gpm even in X has advantages when the mouse is unplugged inadvertently. Simply restarting gpm with
user@ubuntu:# /etc/init.d/gpm restart
will re-connect the mouse in software without restarting X.
If gpm is disabled or not installed with some reason, make sure to set X to read directly from the mouse device such as /dev/psaux. For details, refer to the 3-Button Mouse mini-Howto at /usr/share/doc/HOWTO/en-txt/mini/3-Button-Mouse.gz, man gpm, /usr/share/doc/gpm/FAQ.gz, and README.mouse.
For PowerPC, in /etc/X11/XF86Config or /etc/X11/XF86Config-4, set the mouse device to "/dev/input/mice".
Modern kernels give you the capability to emulate a three-button mouse when your mouse only has one button. Just add the following lines to /etc/sysctl.conf file.
# 3-button mouse emulation # turn on emulation /dev/mac_hid/mouse_button_emulation = 1 # Send middle mouse button signal with the F11 key /dev/mac_hid/mouse_button2_keycode = 87 # Send right mouse button signal with the F12 key /dev/mac_hid/mouse_button3_keycode = 88 # For different keys, use showkey to tell you what the code is.