Personal computer systems typically utilize a Graphical User Interface (GUI) to facilitate the communication of data between the computer and a user. Conventional GUIs permit a plurality of applications to concurrently present graphical components (e.g., windows) to the user. GUIs also allow input through a graphical cursor controlled through an external input device, such as a mouse or a keyboard.
An undesirable condition can occur when an application displays a graphical component on the screen where the border of the component contains the current graphical cursor. Because the GUI can display multiple applications, the user may be attempting to interact with a first application through an external device (such as a mouse) exactly when the second application displays a graphical component. In this case, the user may inadvertently interact with the graphical component of the second application when they meant to interact with the first application.
For example, just as the user is about to click the OK button in this dialog (see
One solution for this problem is to not permit applications to overlay in a GUI. One such example of this is called a “tiled interface” because each application occupies its own section (tile) of the screen.
This is a system to prevent an undesirable condition of a second application GUI interface window blocking the first application GUI interface window, while the user's focus is on the first window and causes an unintended input into a wrong application (as an embodiment). This is accomplished by temporarily disabling the inputs until the user's attention is focused on the new interface window. This system operates only when a windows display component overlaps another windows component which was the original interface that user was working with. This is accomplished by determining the coordinates of the graphical cursor. If the graphical cursor is not within the boundaries of the new window, normal processing is continued and inputs are accepted.
If the graphical cursor is within the boundaries the new window, the current time is examined and saved as the start time of the process, a visual mask is displayed over the new screen to indicate the inputs are disabled and then any input events to that screen is disabled. At this point the current time is again examined and subtracted from the start time and saved as elapsed time. If elapsed time is greater or equal to the predetermined wait time, mask is removed and inputs are enabled. If elapsed time is not greater or equal to the wait time, elapsed time is continually monitored and updated until the condition is met and inputs are enabled again.
This is a system and method of prevention of an unintended input into a display which in fact a wrong and unintended application could be activated; this method is comprised of the following steps: (as one embodiment)
If displaying a first window (
In case of a critical function on the second window: disabling this critical function for a predetermined amount of time, changing the appearance of the second window for a predetermined amount of time, (
Another embodiment of this system is depicted in
If this coordinate indicates that the graphical cursor is not in the new window (
Once the visual mask is displayed on the second screen, the current time is examined and subtracted from the start time and saved as elapsed time (
If the elapsed time is not greater or equal to the predetermined wait time (
The term windows is not meant to refer to the Microsoft Window Operating System as it is referred to a GUI interface window on any of the current available operating systems, such as and not limited to UNIX, Linux, and Microsoft Windows.
A system, apparatus, or device comprising one of the following items is an example of the invention: a PC, computer, a device with a GUI, communication device, PDA, server, client device, keyboard, input device, input interface, windows, operating system, or mouse, applying the method mentioned above, for managing cursor or GUI/interface.
Any variations of the above teaching are also intended to be covered by this patent application.