Updated: October 26, 2022

HID input manager


devi-hid [general_opts] 
         protocol* [protocol_opts]*
         filter* [filter_opts]*

Runs on:

QNX Neutrino


Any supported platform that has io-hid running.


General options

List the internal modules. Modules are listed in the following format where class may be P (protocol) or F (filter):
module name | date last compiled | revision | class  
-R res_x,res_y
Specify the display resolution (e.g., -R800,480).
-U user_name
-U uid[:gid[,sup_gid]*]]
(QNX Neutrino 6.6 or later) Once running, run as the specified user, so that the program doesn't need to run as root:
  • In the first form, the service sets itself to be the named user and uses that user's groups. This form depends on the /etc/passwd and /etc/group files.
  • In the second form, the service sets its user ID, and optionally its group ID and supplementary groups, to the values provided.
Verbose output. More v characters cause more verbosity.

Protocol modules

The protocol modules and their options are:

Keyboard scan codes (connected to primary keyboard). The options include:
-k rate[,delay]
The keyboard rate (Hz),delay (ms). If you continually depress a key, after delay milliseconds, it will input data rate times a second. The default is 150Hz after 500ms.
-u device
Optional; USB device number.
Common mouse protocol (no options).
HID-compliant touchscreen. The options include:
Use kiosk mode (cursor doesn't drag).
-m size
The touchscreen Matrix size (default 1023). This is used for calculated transformation points.
-u device
Optional; USB device number.

Filter modules

The filter modules and their options are:

Translate scan codes to Unicode. The options include:
-k kbd_file
The file to use to map the keyboard to support international languages or alternate layouts, such as Dvorak.
-L [N][C][S]
Set the initial state of the keyboard and its LEDs (by default, all are off):
  • C — turn CapsLock on
  • N — turn NumLock on
  • S — turn ScrollLock on
Filter and compress the relative coordinates of mouse events. The options include:
Wheel acceleration parameter (default 10); the higher this value, the faster the mouse wheel acceleration.
-G gain
Motion multiplier (default 1).
Swap right and left buttons.
-T threshold
Speed-doubling threshold in mickeys/second. If the mouse speed exceeds this threshold, the cursor will move twice as far as it normally does per mickey. (A mickey is the smallest amount of motion the mouse can detect.) The default threshold is 100.
Reverse X.
Reverse Y.
Transform and compress absolute coordinate “touch” events. The options include:
-a 3|4
The transformation algorithm to use. The available algorithms are 3-point (the default) and 4-point.
Touching the screen is a right mouse button (default left).
Calibrate mode; don't transform coordinates.
-D pixels
Use a differential filter that filters out packets that are within the given number of pixels of the last touch. This prevents sending repeat coordinates.
-f filename
The name of the calibration file; the default is /etc/system/config/calib.hostname.
-N pixels
Use a noise filter that filters out packets that are outside the given maximum number of pixels. This filters out jittery events from some touchscreens.
-O origin
(“Oh”) The touchscreen origin, (0,0). This is used for the calibration-free transformation. If no calibration file is specified, the driver attempts to calculate the X,Y position based on the screen resolution and the touchscreen matrix size (if known).

The possible values are:

  • 0 — upper left
  • 1 — lower left
  • 2 — lower right
  • 3 — upper right
-o x,y
The origin of the display region; the default is the origin of the graphics region.
-S ms
Use soft button release, which emulates a release event after the given number of milliseconds of inactivity from the touch controller. This is helpful for screens that aren't very sensitive, so that every event received before the given number of milliseconds expire is treated as a pen-down event.
-s x,y
The coordinates of the lower right corner of the display region; The default is the width and height of the graphics region.
Reverse X.
Reverse Y .


This manager is a universal input daemon for human interface devices (HIDs). It's a client of io-hid, the HID server.

Note: The io-hid resource manager must be running before devi-hid can start.

This manager doesn't need information about the physical interfaces of real devices: it relies on service from the io-hid resource manager and supplementary input modules.

If you specify the verbosity option, activity messages are sent to the console screen and to the system log.


Start the keyboard and mouse manager:

devi-hid kbd mouse

Start the HID driver keyboard and touchscreen and tell the touchscreen to use the older, four-point calibration algorithm:

devi-hid kbd touch abs -a4

Used by devi-hid


If an error occurs in starting devi-hid, the HID won't work. If you specify at least one v option, activity details will be reported on the console screen and will be appended to the system log; for more detail, increase the verbosity level.