devh-ps2ser.so

Updated: May 06, 2022

Driver for serial and PS2 human interface devices (HID)

Syntax:

io-hid -d ps2ser
       protocol_module[,options]:device_module[,options]
       [:protocol_module[,options]:device_module[,options]]... 
       [opts=v[v...]]

Runs on:

QNX Neutrino

Targets:

x86_64

Options:

Note: Colons (:) separate modules; commas (,) separate module options.
opts=v[v...]
Increment verbosity. The default is zero verbosity.
protocol_module[,options]
The input protocol module. You can specify multiple protocol/device module pairs.

The protocol_module variable may be any one of the following modules:

ps2mouse
Regular PS/2 mouse. There are no options.
msoft[,options]...
Mouse compatible with Microsoft/IntelliMouse protocol (serial). Options:
  • b=baud — Baud rate for serial device (default 1200)
  • 3 — Microsoft 3 button mouse
  • R — Don't reset mouse (the default is to reset the mouse)
  • i — IntelliMouse protocol (wheel mice)
msys[,options]...
Mouse compatible with Mouse Systems mouse protocol (used by Logitech). Options:
  • b=baud — Baud rate for serial device (default 1200)
  • R — Don't reset mouse (default reset mouse)
kbd[,options]...
Scan codes for primary keyboard. Options:
  • k=(rate[,delay]) — 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 30Hz after 500ms. This works only in conjunction with the kbddev device module.
  • R — Don't reset the device while doing a protocol reset
  • r — Reset the device while doing a protocol reset
  • s — The device driver should supply valid symbols
device_module[,options]
Device modules. The device_module variable depends on the protocol_module specified. The following device modules are supported:
fd[,options]...
Opens a device via the open() function. Options:
  • d=device — The device to open fd() on (default /dev/ser1)
  • s — Specifies that the input interface is serial (this allows the module to use some devctl() commands that are specific to a serial port)
  • P — The processing priority for this input event
uart[,options]...
Enables direct access to 8250, 16450, and 16550 uarts. Options:
  • i=irq — IRQ number for the serial device (default 4)
  • p=ioport — the port of the serial device (default 3f8)
  • 1 — Use COM1
  • 2 — Use COM2
  • P — The processing priority for this input event
kbddev[,options]...
For PS2 keyboard. Options:
  • f=filename — Create the named file and collect all data passed to the protocol level (debug only)
  • i=irq — IRQ number (default 1)
  • p=(ioport,add) — Port address (default 0x60), and a value to add to get the status port address (default 4: 0x60 + 4 = 0x64)
  • r — Reset the device on initiation
  • P priority — The processing priority for keyboard events
mousedev[,options]...
For PS2 mouse. Options:
  • f=filename — Create the named file and collect all data passed to the protocol level (debug only)
  • i=irq — IRQ number (default 12)
  • p=(ioport,add) — Port address (default 0x60), and a value to add to get the status port address (default 4: 0x60 + 4 = 0x64)
  • r — Reset the device on initiation
  • P priority — The processing priority for mouse events

Description:

The devh-ps2ser.so DLL provides io-hid with HID information. The DLL collects raw data from a variety of legacy devices (e.g., PS2 keyboards, and PS2 and serial mice), transforms it to unified USB HID report format, and then sends the data to io-hid. The io-hid manager forwards the data to devi-hid.

Note:
  • The devh-ps2ser.so DLL is the low-level part of the input channel. You have to start devh-usb.so to provide any top-level services required.
  • If you press several keys at once on some Microsoft keyboards, the keyboard doesn't produce any indication when you release the keys. As a result, the input driver thinks you're still holding the keys down. This is due to a known issue in at least the following Microsoft keyboards:
    • Microsoft Internet Keyboard
    • Microsoft Internet Keyboard Pro
    • Microsoft MultiMedia Keyboard
    • Microsoft Natural Keyboard
    • Microsoft Natural Keyboard Elite
    • Microsoft Natural Keyboard Pro
    • Microsoft Natural MultiMedia Keyboard
    • Microsoft Office Keyboard

Examples:

Start a regular PS/2 mouse, a Microsoft/IntelliMouse serial mouse on COM1, and a PS/2 keyboard:

io-hid -d ps2ser ps2mouse:mousedev:msoft:uart,1:kbd:kbddev

Files:

devh-ps2ser.so
The devh-ps2ser.so Dll is normally found in /lib/dll.

Errors:

If an error occurs in devh-ps2ser.so, the keyboard will not work in text mode. If you specify at least one v option, details of driver activity will be reported on the console screen and will be appended to the system log; for more detail, increase the verbosity level.