The present invention combines features of an executable process with the need
for multiple application programs to share a single input device. The present invention
provides an executable program implemented as a process that allows multiple applications
to communicate with a single input device. This is achieved by loading the input
device control executable program as a process. The executable program is a server
thus allowing multiple application programs to interface with the same input device.
The multi-instance input device control (MIIDC) executable program responds to
each application program request as if the input device is open for the calling
application program. Each application program is thus enabled to communicate with
the input device instance without interrupting the operation of other application
programs communicating with the input device. The input device instance keeps track
of all the connections to it and multiplexes and resolves conflicting requests.