A hardware device consisting of a number of mechanical buttons (keys) which the user presses to input characters to a computer. Keyboards were originally part of terminals which were separate peripheral devices that performed both input and output and communicated with the computer via a serial line. Today a keyboard is more likely to be connected more directly to the processor, allowing the processor to scan it and detect which key or keys are currently pressed. Pressing a key sends a low-level key code to the keyboard input driver routine which translates this to one or more characters or special actions. Keyboards vary in the keys they have, most have keys to generate the ASCIIcharacter set as well as various function keys and special purpose keys, e.g. reset or volume control. (2003-07-04)