[Previous] [Contents] [Next]

Input

Start the 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).

Devices supported: fd, uart

airmse [-b baud]
AirMouse protocol.

Options:

-b baud
Baud rate (default: 1200).

Devices supported: fd, uart

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).

Devices supported: fd, hbc, uart

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).

Devices supported: fd, uart

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).

Devices supported: fd, uart

gm [-b baud]
GM Nameplate protocol.

Options:

-b baud
Baud rate (default: 9600).

Devices supported: fd, uart

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.

Devices supported: elo -I, fd, uart

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).

Devices supported: fd, uart

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).

Devices supported: fd, uart

msys [-b baud]
Mouse Systems mouse protocol (used by Logitech).

Options:

-b baud
Baud rate for serial device (default: 1200).

Devices supported: fd, uart

ps2 [-r]
IBM PS/2 mouse protocol.

Options:

-r
Reset the mouse (default: don't reset mouse).

Devices supported: busmse, kb -2

smartset [-b baud]
Elographics Smartset protocol.

Options:

-b baud
Baud rate (9600).

Devices supported: elo, fd, uart

wacom [-b baud] [-P]
Wacom PL-100V protocol.

Options:

-b baud
Baud rate (default: 19200).
-P
Enable pressure mode (default: automatically determine).

Devices supported: fd, uart


Note: 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:

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 &

See also:

inputtrap


[Previous] [Contents] [Next]