SerialInput uses the almost universal capability of alternative input devices to send ASCII characters to the machine they are connected to. This basically means that when SerialInput is running it waits for characters to hit the connected Serial Port, and then translates those into an appropriate input message.

NB: There is currently a problem with Microsoft Office 97 (Word), which intercepts characters sent by SerialInput, and may cause corruption. This is not a SerialInput problem.

Keyboard / Mouse
Many ASCII characters are exactly what the user would wish to represent on the computer, for instance ‘abc’ would be interpreted by SerialInput and abc would be sent to the keyboard buffer for processing by whichever application the user happens to be running – e.g. a word processor. In order to cater for mouse input a default set of ‘high-end’ ASCII characters were initially chosen to represent 8 compass points (N, NE, E, SE, S, SW, W, NW) and ‘Stop’.

Mouse movement works with the premise that one character is sent to move the mouse in a particular direction and subsequent characters are sent to redirect or stop the mouse. Left and Right mouse buttons, with single and double click values are also supported.

‘Out of the Box’ ASCII character Mapping

ASCII Code Function Performed
240 Mouse move North (N)
241 Mouse move South (S)
242 Mouse move East (E)
243 Mouse move West (W)
244 Mouse move NorthEast (NE)
245 Mouse move NorthWest (NW)
246 Mouse move SouthEast (SE)
247 Mouse move SouthWest (SW)
250 Mouse movement STOP
251 Mouse button Right Single Click
252 Mouse button Right Double Click
253 Mouse button Left Single Click
254 Mouse button Left Double Click
Any other Code As represented by ASCII Character

Click here for help on programming a Prentke Romich device.

Limitations / Opportunities
The very nature of using ASCII characters means that the application is currently limited to 255 characters and so can only perform a defined set of functions. This is not a problem at present as the input devices used with the application are typically not able to use a larger code ‘vocabulary’. Users also do not typically require more sophisticated functionality from the input channel. They usully require more functionality in how their input is interpreted in certain circumstances. This means that the application can be extended in future mainly around supporting popular applications and functions within them.