Usually there are no problems with Linux and the keyboard. Though there are two minor caveats: First the setleds program might not work. Second the key mapping might not fit your needs. Some UNIX users and vi users expect to find the <CONTROL> key to the left of the <A> key. Many PC-type keyboards have the <CAPS-LOCK> key there. You may use xmodmap or loadkeys to re-map the keyboard. Some laptops (e.g., Toshiba) allow you to swap the <CAPS-LOCK> and <CONTROL> keys. Mark Alexander offered this solution in the linux-laptop mailing list: On RedHat, it's a one-line patch to /usr/lib/kbd/keytables/us.map , or whatever file is referenced in /etc/sysconfig/keyboard:
*** us.map~ Tue Oct 31 14:00:07 1995 --- us.map Thu Aug 28 13:36:03 1997 *** 113,119 **** keycode 57 = space space control keycode 57 = nul alt keycode 57 = Meta_space ! keycode 58 = Caps_Lock keycode 59 = F1 F11 Console_13 control keycode 59 = F1 alt keycode 59 = Console_1 --- 113,119 ---- keycode 57 = space space control keycode 57 = nul alt keycode 57 = Meta_space ! keycode 58 = Control keycode 59 = F1 F11 Console_13 control keycode 59 = F1 alt keycode 59 = Console_1
A second (or external) keyboard can be attached using the PS/2 port (I suppose this is not possible via the serial port, since there is no keyboard controller for the serial port) or via USB port. Also there is one laptop with a detachable keyboard the Siemens Scenic Mobile 800. This machine uses an infrared connection to the keyboard, but I don't know whether this works with Linux.
You may not need any operating system support at all to use a USB keyboard if you have a PC architecture. There are several BIOS available where the BIOS can provide USB support from a keyboard plugged into the root hub on the motherboard. This may or may not work through other hubs and does not normally work with add-in boards, so you might want to add in support anyway. You definitely want to add keyboard support if you activate operating system support, as the Linux USB support will disable the BIOS support. You also need to use Linux USB keyboard support if you want to use any of the "multimedia" types keys that are provided with some USB keyboards.
In the kernel configuration stage, you need to turn on USB Human Interface Device (HID) support and Keyboard support. Do not turn on USB HIDBP Keyboard support. Perform the normal kernel rebuild and installation steps. If you are installing as modules, you need to load the hid.o, input.o and keybdev.o modules.
Check the kernel logs to ensure that your keyboard is being correctly sensed by the kernel.
At this point, you should be able to use your USB keyboard as a normal keyboard. Be aware that LILO is not USB aware, and that unless your BIOS supports a legacy USB keyboard, you may not be able to select a non-default boot image using the USB keyboard. I have personally used a USB keyboard (and USB mouse) and experienced no problems.
Don't plug the external keyboard in while the laptop is booted, or plug the mouse in the keyboard port and the keyboard in the mouse port. On a Toshiba, this caused one user to have to completely shutdown the laptop, remove the keyboard/mouse, and do a cold reboot.
For PS/2 ports there is a so called Y-Cable available, which makes it possible to use external mouse and external keyboard at the same time if your laptop supports this feature.
Parport to AUX port adapter In some cases one kbd port and one aux port is not enough and you may want to add another keyboard or mouse. You can use this adapter, together with the parkbd module for that.
On some laptops a splitter works to allow both mouse and keyboard to be plugged in; on others it doesn't work at all. If you want to use both, you better check that it works.