Hagstrom Electronics Inc.'s KE-USB108 full speed USB keyboard encoder has 108 programmable inputs. It accepts input from push button switches, toggle switches, and other devices, and then generates USB keyboard, mouse, or joystick actions based on the activation of the input device. Responses to an input may be programmed as a single keystroke, multiple keystrokes, a mouse button, or a joystick button. The KE-USB108 also has inputs for two rotary encoder switches, three analog joystick axis, a trackball, and a spinner. The unit provides three keyboard status light outputs suitable for driving LEDs. Software is included for programming the input responses.