Input
Start Input Manager
Syntax:
Input [-bdgltv] protocol [protocol_opts...]
[protocol [protocol_opts...]]...
[device [device_opts...]]... [filter [filter_opts...]]...
Options:
- -b
- Prevent Ctrl -Alt -Shift -Backspace (CASB) exit (default: allow CASB).
- -d
- Device (default: /dev/photon or $PHOTON).
- -g
- Input group (default: 1).
- -l
- List the internal modules. Modules are listed in the following format
where class is one of: D - Device, P - Protocol, or F - Filter:
module name | date last compiled | revision | class - -t
- Throttle factor in milliseconds (default: 0).
- -v
- Increment verbosity (default: 0).
protocol [protocol_opts...]
- ahl [-b baud]
- AHL-51A touchscreen protocol.
Options:
- -b baud
- Baud rate (default: 9600).
- airmse [-b baud]
- AirMouse protocol.
Options:
- -b baud
- Baud rate (default: 1200).
- busmse [-i irq] [-p ioport]
- Microsoft bus mouse controller.
Options:
- -i irq
- IRQ for bus adapter (default: 5).
- -p ioport
- Port of bus adapter (default: 0x23c).
Devices supported: busmse controller only.
- carrol [-b baud]
- Carroll Touch SmartFrame protocol.
Options:
- -b baud
- Baud rate (default: 2400).
- compaq
- Compaq Concerto protocol.
Devices supported: spratly
- cyber [-[A-Z] btnmap] [-b baud]
- CyberScan 3232 protocol.
Options:
- -[A-Z] btnmap
- Define virtual button mapping (e.g. ulx,uly:lrx,lry:btn).
- -b baud
- Baud rate (default: 9600).
- devmse [-d name]
- Input provided by a resource manager.
Options:
- -d name
- Device name provided by resource manager (no default).
Devices supported: devmse controller only.
- dyna [-b baud]
- Dynapro SC3 protocol.
Options:
- -b baud
- Baud rate (default: 2400).
- gm [-b baud]
- GM Nameplate protocol.
Options:
- -b baud
- Baud rate (default: 9600).
- intellitch [-b baud] [-h press] [-r milliseconds] [-u] [-z]
- Elographics IntelliTouch or AccuTouch protocols.
Options:
- -b baud
- Baud rate - if connected to a serial input.
- -h press
- Simulate a right button when the pressure is greater than press.
- -r milliseconds
- Number of milliseconds that finger must be released for an untouch (left button) event to occur (default: 80).
- -u
- Disable untouch (left button) event generation.
- -z
- Enable z "pressure" data - only on 40XX controllers.
- kbd [-k rate[,delay]] [-R]
- Keyboard scan codes (connected to primary keyboard).
Options:
- -k rate[,delay]
- Keyboard rate (Hz)/delay(ms) (default: 40Hz, 1000ms).
- -R
- Don't reset keyboard (default: reset keyboard).
Devices supported: kb
- microtch [-b baud]
- Microtouch protocol.
Options:
- -b baud
- Baud rate (default: 9600).
- msoft [-3] [-b baud] [-i][-R]
- Microsoft-compatible mouse protocol (serial).
Options:
- -3
- Microsoft 3-button mouse.
- -b baud
- Baud rate for serial device (default: 1200).
- -i
- Intellimouse.
- -R
- Don't reset mouse (default: reset mouse).
- msys [-b baud]
- Mouse Systems mouse protocol (used by Logitech).
Options:
- -b baud
- Baud rate for serial device (default: 1200).
- ps2 [-r]
- IBM PS/2 mouse protocol.
Options:
- -r
- Reset the mouse (default: don't reset mouse).
- smartset [-b baud]
- Elographics Smartset protocol.
Options:
- -b baud
- Baud rate (9600).
- wacom [-b baud] [-P]
- Wacom PL-100V protocol.
Options:
- -b baud
- Baud rate (default: 19200).
- -P
- Enable pressure mode (default: automatically determine).
![]() |
All serial devices use 8 data bits, 1 stop bit, and no parity. |
device [device_opts...]
- elo [-I] [-i irq] [-p ioport]
- Elographics 14X and 40XX bus driver.
Options:
- -I
- 40XX (IntelliTouch board).
- -i irq
- IRQ for bus adapter (default: 5).
- -p ioport
- Port of bus adapter (default: 0x280).
- fd [-d device]
- Opens a device via open().
Options:
- -d device
- Device to open fd on (default: /dev/ser1)
- hbc [-i irq] [-p ioport]
- Carroll Touch Hardware Based Controller.
Options:
- -i irq
- HBC interrupt (default: 7).
- -p ioport
- HBC port (default: 0x300).
- kb [-2] [-i irq] [-p ioport]
- Keyboard controller.
Options:
- -2
- Set default IRQ and I/O port for auxiliary port.
- -i irq
- IRQ (default: 1).
- -p ioport
- Port (default: 0x60).
- spratly [-i irq] [-p ioport]
- Compaq Spratly interface.
Options:
- -i irq
- Spratly interrupt (default: 15).
- -p ioport
- Spratly port (default: 0x2065).
- uart [-i irq] [-p ioport]
- Accesses 8250/16450/16550 UART directly.
Options:
- -i irq
- IRQ for serial device (default: 4).
- -p ioport
- Port of serial device (default: 3f8).
filter [filter_opts...]
- abs [-b] [-c] [-f filename] [-o x,y] [-s x,y]
- Transform and compress absolute coordinate "touch" events.
Options:
- -b
- Touching the screen emulates right mouse button (default: left).
- -c
- Calibrate mode - don't transform coordinates.
- -f filename
- Calibration filename.
- -o x,y
- Origin of display region (default: the origin of the graphics region).
- -s x,y
- Coordinates of lower-right corner of display region (default: the width and height of the graphics region).
- keyboard [-k kbd_file]
- Translate scan codes to Unicode.
Options:
- -k kbd_file
- File to use for international keyboard mapping.
- rel [-G gain] [-l] [-T threshold] [-x] [-y]
- Filter and compress relative coordinate "mouse" events.
Options:
- -G gain
- Motion multiplier (default: 1).
- -l
- Swap right and left buttons.
- -T threshold
- Speed-doubling threshold in mickeys (100).
- -x
- Reverse X.
- -y
- Reverse Y.
Description:
The Input utility serves as an input driver for Photon. The inputtrap utility detects drivers and starts Input.
Input is responsible for taking data from an input device such as a mouse, touchscreen controller, or keyboard, interpreting the data, and then "doing" something with it. The default behavior is to package the data as an event and inject it into the Photon event space. But Input can also pass data to the Mouse and Touch I/O managers used in console, X, and QNX Windows applications.
Input uses a layered approach to driver design:
- filter layer
- protocol layer
- device layer
At each layer, data is interpreted/modified and passed up to the next layer until it's injected as an event into the Photon event space.
For each device Input talks to, there's a separate path through the three layers called an event bus line. An event bus line consists of modules, one representing each layer, linked together by a software bus. As data is passed up the layers via the bus, the data is manipulated by each module into a format recognizable by the next layer's module and so on.
It's important to note that you can run as many instances of Input as you want, one for each device. Or you can run one Input for all the devices. Choosing which scenario to use is mostly a matter of convenience.
For example, if you're trying to get an Elographics touchscreen to work, it's a good idea to run a separate Input for the touchscreen in order to get all the command-line arguments right. This way you won't hang your system if you put the wrong arguments in and Input dies - you'll still have your original Input talking to the mouse and keyboard.
Examples:
The inputtrap utility detects a Microsoft mouse interfaced directly through the UART, and a keyboard interfaced through the file descriptor provided by opening /dev/kbd. The inputtrap utility invokes Input with the following options:
Input kbd fd -d/dev/kbd msoft uart &
The inputtrap utility detects a PS/2 mouse interfaced through the auxiliary port on the keyboard controller (kb -2), and a keyboard interfaced through the primary keyboard port on the keyboard controller (kb). The inputtrap utility invokes Input with the following options:
Input kbd kb ps2 kb -2 &
Entering the following command causes Input to drive a Microsoft bus mouse, a keyboard (#1) interfaced through the primary keyboard port on the keyboard controller, and a keyboard (#2) connected through the auxiliary port on the keyboard controller:
Input kbd kb kbd kb -2 busmse &

