1. A method for generating multiple independent input data streams, comprising: generating input data by a plurality of input devices; converting the generated input data from non-mouse devices to mouse-message based data; sending the input data to a controller for processing; wherein the input data are based on a high priority OS message framework, and wherein the processing comprises processing by software subroutines which separate the input data into a plurality of independent input streams according to the plurality of input devices; creating a cursor assistance environment for each input stream from each input device wherein input stream movements are at least one of an unrestricted mode and a restricted mode, wherein in the unrestricted mode the input stream cursor is visible and generates standard positional mouse messages, and in the restricted mode the input movements are restricted to chosen graphical user interface elements for accessing the functionality and control points of said elements and wherein the associated cursor remains hidden; and passing each of the plurality of independent input streams to listening applications.