Abstract: An optical keyboard includes a plurality of photosensors arranged in an X-Y coordinate system where a plurality of rows represent a plurality of X-axes and a plurality of columns represent a plurality of Y-axes. Each sensor represents input to data processing means. When a beam of light is cast onto a photosensor, the photosensor is actuated to transmit a coded signal to a microprocessor board. The microprocessor board scans the array of photosensors row by row sequentially to identify the column position of an actuated photosensor. The input received from the scanning operation is converted to data and transmitted through either a serial or parallel interface to a computer. Interface circuitry converts the data to a form readable by the computer.