1. A system for operating multiple independent terminals of grouped, locally connected input and output devices through a single graphical user interface layer running on a computer comprising: an event queue module for receiving each input command from each input device; an event handler module for receiving the input commands from the event queue module and directing input commands from specific input devices via corresponding socket/listeners of the single graphical user interface layer to corresponding ones of multiple pointers, focuses and client applications based on predetermined associations between grouped devices and respective ones of the socket/listeners; an output module for directing output commands from each socket/listener to respective ones of the output devices based on the predetermined associations.