Abstract:
Methods and apparatus are provided for controlling pointer movement on a user interface display screen in a computer system. Selected areas of a display screen are defined to provide predetermined pointer movement control actions. Visual cues to the selected areas are provided for the user. In accordance with a feature of the invention, the pointer movement control actions assist computer users in selecting desired operations or objects while minimizing potential for inadvertent user selections or mistakes.

Description:
FIELD OF THE INVENTION 
   The present invention relates to a computer or data processing system, and more particularly, to methods and apparatus for controlling pointer movement on a user display interface in a computer system. 
   DESCRIPTION OF THE PRIOR ART 
   A mouse and other pointing devices make it possible to quickly point at and select items on a computer display screen. A limitation in the use of these devices is that the display area is treated as a single flat space. Pointing devices traverse the entire space at either a constant or accelerated speed. While this is acceptable for a wide variety of situations, there are also circumstances where it is less convenient, sometimes frustrating, or can possibly cause disastrous results. 
   For example, consider the minimize, maximize, and close/exit boxes on most title bars of the windows in the Microsoft Windows 95 operating system. It is common to move the mouse to either the minimize or maximize box and click, in order to achieve those actions. Doing so often makes users confident and encourages them to do these actions with some speed. Many other similar actions train users to move the pointer quickly and press the selection button automatically. Unfortunately in this example, lurking just beyond where one would slide the pointer and click automatically for those benign actions is the close/exit box which is neither benign nor forgiving. It immediately closes the window, ending whatever task was being performed. While a small amount of additional space is provided before the exit box, much more space could have been provided in order to minimize this kind of problem. However, often there is just not enough space to prevent these kinds of problems. For example, consider a crowded instrument panel type of user interface display screen. 
   A need exists to reduce or prevent the travel of a mouse pointer or pointer from other pointing devices onto specified areas of the display screen. 
   SUMMARY OF THE INVENTION 
   A principal object of the present invention is to provide improved methods and apparatus for controlling pointer movement on a user display interface in a computer system. Other important objects of the present invention are to provide such improved methods and apparatus substantially without negative effects and that overcome many disadvantages of prior art arrangements. 
   In brief, methods and apparatus are provided for controlling pointer movement on a user interface display screen in a computer system. Selected areas of a display screen are defined to provide predetermined pointer movement control actions. Visual cues to the selected areas are provided for the user. 
   In accordance with a feature of the invention, the pointer movement control actions assist computer users in selecting desired operations while minimizing potential for inadvertent user selections or mistakes. 

   
     BRIEF DESCRIPTION OF THE DRAWING 
     The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the preferred embodiments of the invention illustrated in the drawings, wherein: 
       FIG. 1  is a block diagram representation of a computer or data processing system of the preferred embodiment; 
       FIG. 2  is a logic flow diagram illustrating the method and apparatus of the preferred embodiment; 
       FIG. 3A  is a diagram illustrating a portion of a display of the system of  FIG. 1  including a barrier of the preferred embodiment; 
       FIG. 3B  is a diagram illustrating a portion of a display of the system of  FIG. 1  including exemplary barriers of the preferred embodiment; and 
       FIG. 4  is a block diagram illustrating a computer program product in accordance with the preferred embodiment. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Having reference now to the drawings, in  FIG. 1  there is shown a computer or data processing system of the preferred embodiment generally designated by the reference character  100 . As shown in  FIG. 1 , computer system  100  includes a central processor unit (CPU)  101 , a read only memory  102 , a random access memory  104 , a display adapter  106  coupled to a display  108 . CPU  101  is connected to a user interface (UI) adapter  110  connected to a pointer device and keyboard  112 . CPU  101  is connected to an input/output (IO) adapter  114  connected to a direct access storage device (DASD)  116  and a tape unit  118 . CPU  101  is connected to a communications adapter  120  providing a communications function. 
   Various commercially available processors could be used for computer system  100 , for example, an IBM personal computer or similar workstation can be used. Central processor unit  101  is suitably programmed to execute the flowchart of FIG.  2  and to generate the barrier screen area of  FIG. 3A  of the preferred embodiment. 
   Referring now to  FIGS. 2 and 3A , methods and apparatus for controlling movement of a pointer  300  on a user display screen  108  in the computer system  100  are illustrated. As shown in  FIG. 3A , an original pointer location is represented by a P(X 1 ,Y 1 ) with a pointer movement line  301  and a projected new pointer location is represented by a P(X 2 ,Y 2 ). As illustrated in  FIG. 3A , selected areas, represented by a barrier  302 A of the display screen  108  are defined to provide predetermined pointer movement control actions. Barrier  302 A is a screen space defined by line coordinates B(X 1 ,Y 1 ), and B(X 2 ,Y 2 ). The barrier  302 A can be defined as any other screen element when the user interface  108  is defined, and hidden, if desired. Or a new property of any screen element can be defined as the barrier property, also specified at screen element definition time, (and programmatically manipulatable at run time to react to dynamic conditions). At barrier  302 A, the pointer  300  changes speed, such as slows down, or stops so that screen space beyond barrier  302 A cannot be entered from the direction of approach through the barrier  302 A. 
   Screen elements defining barrier  302 A on the user interface display screen  108  would normally provide visual cues to the barrier areas, such as with a raised looking line or outline. Also, when a barrier area  302 A is defined as a stop, the pointer shape can be changed to a stop sign or similar visual signal to reinforce the static cue. For games, more subtle cues could be used to increase the skill needed a particular game. 
   In  FIG. 2 , exemplary sequential steps for pointer movement control performed by the central processor unit  101  begin as indicated at a block  200 . A preliminary check of whether the pointer movement line  301  and barrier line  302 A can possibly overlap is performed as indicated at a decision block  202 . This is a short cut to save processing time for the majority of pointer movements. Step  202  can be determined in parallel with step  204  where calculating where the lines intersect if they are long enough is performed. Checking whether the pointer movement line  301  and barrier line  302 A actually; intersect is performed as indicated at a decision block  206 . If it is determined at decision block  206  that both lines do reach the X,Y point, then the pointer  300  is placed at the location X,Y at the barrier  302 A as indicated at a block  208 . If determined at decision block  202  that the pointer movement line  301  and barrier line  302 A do not overlap or that both lines do not reach the X,Y point at decision-block  206 , then the pointer  300  is placed at the projected new location P(X 2 ,Y 2 ) as normally done as indicated at a block  210 . 
   Next the pointer  300  is optionally oriented along the direction of movement as indicated at a block  212 . 
   This technique can be used to effectively exaggerate the spacing between screen elements, or prevent pointing at an element unless entered only through one direction, such as through a door rather than just coasting onto it from any direction. This completes the sequential steps as indicated at a block  214 . 
   Referring now to  FIG. 3B , exemplary barriers of the preferred embodiment generally designated by the reference character  302 B and  302 C are illustrated. Barrier  302 B surrounds three sides of a predefined screen element  304 . Barrier  302 B can be used as a stop for the pointer  300  so that access to the screen element  304  is limited to a pointer entry window or door  306 . Barrier  302 C effectively isolates an exit box labeled X of a predefined screen title bar  308  from minimize and maximize boxes of the title bar  308 . Access to the exit box X of title bar  308  is limited to a pointer entry window  310  from below the exit box X. 
   Referring now to  FIG. 4 , an article of manufacture or a computer program product  400  of the invention is illustrated. The computer program product  400  includes a recording medium  402 , such as, a floppy disk, a high capacity read only memory in the form of an optically read compact disk or CD-ROM, a tape, a transmission type media such as a digital or analog communications link, or a similar computer program product. Recording medium  402  stores program means  404 ,  406 ,  408 ,  410  on the medium  402  for carrying out the methods of the preferred embodiment in the system  100  of FIG.  1 . 
   A sequence of program instructions or a logical assembly of one or more interrelated modules defined by the recorded program means  404 ,  406 ,  408 ,  410 , direct the computer system  100  for implementing pointer movement control of the preferred embodiment. 
   While the present invention has been described with reference to the details of the embodiments of the invention shown in the drawing, these details are not intended to limit the scope of the invention as claimed in the appended claims.