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