Touch-sensitive input overlay for graphical user interface
Claim Score by NHIP
Abstract
An improved graphical user interfaces system is disclosed that includes a touch-sensitive input overlay. The touch-sensitive input overlay is configured to enable a flexible complementary or replacement input mode for entering and navigating text and information on a traditional graphical user interface, without the aid of a mouse or keyboard. The improved graphical interface system can be embodied in a specially programmed computer system, a computer implemented method, or a computer readable medium configured to cause a computer to perform the underlying method.

Term
Term ended
Projected expiry passed 12 April 2022, 4.5 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
27 claims: 3 independent, 24 dependent
- 1A graphical user interface system comprising:a computer including: a microprocessor, a display communicatively coupled to the microprocessor and configured to display text and images, and further configured to receive a touch input from a user, and a memory communicatively coupled to the microprocessor, the memory comprising one or more program modules configured to cause the microprocessor to execute a graphical user interface on the display, and in which the one or more program modules are further configured to: determine a location of a first touch input received on the display;correlate the first touch input to a control on the graphical user interface;determine a location to present a touch-sensitive input overlay relative to the control;place the touch-sensitive input overlay at the location;and receive a second touch input in the area defined by the touch-sensitive input overlay, the second touch input aiding entry of a parameter into the control.
- 10A computer implemented method for a graphical user interface system including instructions for causing one or more processors to perform the acts comprising:determining a location of a first touch input received on a display;correlating the first touch input to a control on a graphical user interface presented on the display;determining a location to present a touch-sensitive input overlay relative to the control;placing the touch-sensitive input overlay at the location;and receiving a second touch input in the area defined by the touch-sensitive input overlay, the second touch input aiding entry of a parameter into the control.
- 19Broadest claimClaim Score 70, broad(NHIP)A computer readable medium having stored thereon one or more sequences of instructions configured to cause one or more microprocessors to perform the acts comprising:determining a location of a first touch input received on a display;correlating the first touch input to a control on a graphical user interface presented on the display;determining a location to present a touch-sensitive input overlay relative to the control;placing the touch-sensitive input overlay at the location;and receiving a second touch input in the area defined by the touch-sensitive input overlay, the second touch input aiding entry of a parameter into the control.
Independent claims3
65 paragraphs in 4 sections, as filed
BACKGROUND
[0001] 1. Field of the Invention
[0002] The invention relates to graphical user interfaces, and more particularly to touch-screen graphical user interfaces for computer systems.
[0003] 2. Background Information
[0004] As computers are deployed in an increasing number of environments and for an increasing number of applications, it is becoming more and more common that users expect a graphical user interface (“GUI”) that simplifies the interaction between the user and a program executing on the computer (or over a network on a remote computer).
[0005] Since the GUI's infamous conception at Xerox PARC labs in the 1980s, and subsequent commercialization by Apple Computer shortly thereafter, the GUI has become the interface of choice of nearly every operating system to date. Linux (TM), Solaris (TM), and Microsoft Windows (TM) all have GUIs to promote ease of use between users and application programs running over these operating systems.
[0006] While the underlying concept of a GUI is consistent between implementations, GUIs do exhibit certain characteristics, which are note here.
[0007] The standard and most ubiquitous GUI is the icon-based interface, in which a pointing device, such a mouse or a capacitive pointer is used to identify and select the icon and execute a program on the computer system. Such systems are evidenced by commercially available operating systems like those available from Apple Computer, and Microsoft Corporation, which typically have a full-screen display. However, the capacitive pointer is more frequently found in systems with a small-screen display, or in systems where display real estate is severely limited, such as in a personal digital assistant.
[0008] Occasionally, touch-screen implementations of the GUI are employed. Again, these are found mostly in systems where display real estate is limited, but also in systems where the GUI is relatively simple. For instance, most commercial department stores have networked bridal registries that have a full-screen display but no keyboard or mouse. Instead, the GUI is a set of push buttons and a keyboard that appear on the display in fixed locations and that are responsive to touch. In a normal operation, a user navigates through a series of screens with limited options and must select from a sequentially pre-ordained input with an appropriate touch response (either a push button or a keyboard entry) in the fixed location.
[0009] Besides commercial implementations described above, certain patent documents disclose elements of some touch-screen GUI systems.
[0010] For instance, U.S. Pat. No. 6,335,725, by Koh et al. (the '725 patent), discloses a method for partitioning a touch-screen for data input. The '725 patent partitions a screen into two fixed portions and uses a touch-input in the first portion to navigate with scroll buttons in the second portion. U.S. Pat. No. 6,310,634, by Bodnar et al. is similar. Also similar is U.S. Pat. No. 6,346,955, by Moon et al., but rather than using scroll bars or scroll buttons, a tab and button system is disclosed. Slightly different is U.S. Pat. No. 6,037,937, by Beaton et al., which provides a more flexible GUI tool, here a transparent navigation tool that does not obstruct the view of data on a small screen.
[0011] In each of the above examples, two issues appear to motivate the use of a touch-screen GUI: a relatively small amount of display real estate, and the implementation of the GUI for a portable computing device where a mouse or other peripheral navigation device is not practical.
[0012] Another type of system where a touch-screen GUI is employed is in industrial control systems, which either operate physical plants (e.g. a factory, an HVAC system, etc.) or medical equipment. In these systems, the environmental conditions may drive the choice of a touch-screen GUI. U.S. Pat. No. 6,063,030, by Vara et al. (the '030 patent), discloses such a system.
[0013] Similar to the '030 patent is U.S. Pat. No. 5,559,301, by Bryan et al. (the '301 patent). The '301 patent discloses a system where a computer emulates an analog interface in the real-world. Here, buttons and sliders are employed on a GUI to tune or balance a sound processing system, just like the buttons and sliders are used on a traditional equalizer. In each of two above patents, the presentation and manipulation of the touch-inputs for data entry is very rigid, much like the bridal registry systems mentioned above. In these systems, the input is simple, predictable, and consistent.
SUMMARY OF THE INVENTION
[0014] A computer implemented apparatus and method for an improved graphical user interface with a touch-sensitive input overlay is described. According to an embodiment, the computer includes program modules (software) configured to cause one or more microprocessors to: determine a location of a first touch input received on the display; correlate the first touch input to a control on the graphical user interface; determine a location to present a touch-sensitive input overlay relative to the control; place the touch-sensitive input overlay at the location; and receive a second touch input in the area defined by the touch-sensitive input overlay, the second touch input aiding entry of a parameter into the control. Corresponding computer implemented methods and data structures are also described. These and other embodiments are presented in the detailed description, figures and claims that follow.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015]FIG. 1 is a diagram of a touch-sensitive input overlay for a graphical user interface.
[0016]FIG. 2 is a hardware and communication flow diagram of the touch-sensitive input overlay.
[0017]FIG. 3 is a diagram of additional data structure attributes useful in implementing the touch-sensitive input overlay.
[0018]FIG. 4 is a flowchart detailing acts corresponding to implementing the touch-sensitive input overlay.
[0019] FIGS. <b>5</b>-<b>7</b> depict embodiments of touch-sensitive input overlays.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] I describe improvements to graphical user interface systems, and in particular to methods and apparatuses for implementing a touch-sensitive graphical user interface. According to an aspect of my invention, a touch-sensitive input overlay is presented on the graphical user interface in response to a touch input on a display device, which includes a touch input device, such a series of capacitive or resistive sensors disposed over the display device. The touch-sensitive input overlay allows a user of a computer system to perform entry options without the aid of a traditional keyboard or mouse, but rather by touching one or more entry options presented on the touch-sensitive input overlay. The GUI system described herein is dynamic and flexible—allowing presentation of a number of unique touch-sensitive input overlays in variable locations on the display device. These and other advantages of the invention will be apparent to one of skill in the art upon review of the accompanying figures and the detailed description below.
[0021] Turning first to FIG. 1, it illustrates a touch-sensitive input overlay <b>16</b>, which is disposed over a traditional GUJI <b>6</b> presented on a display device <b>4</b>. According to an aspect of the invention, the display device <b>4</b> includes a touch input device that is responsive to physical contact. Such devices are commercially available and generally known in the art.
[0022] The GUI <b>6</b> comprises a series of visual indicators, which include control boxes <b>8</b>, <b>10</b>, and <b>12</b> for data entry, but can also include navigation entry fields (not shown) such as a tree-hierarchy. For instance, the control <b>12</b> is shown with a push-down button <b>14</b>, which opens to a list box <b>30</b>. Other types of controls can include combo boxes, push and toggle buttons, progress indicators, scroll bars, window edges (that facilitate resizing of a window), and other devices for display, inviting, responding, or accepting information between a user and a computer program.
[0023] I note that a “control” is an area or entry dialog/window into which data can be entered (note that a “control” is sometimes called a “widget” in Unix environments). A GUI comprises a plurality of controls, and in a normal GUI environment, a keyboard and mouse are shared among a number of controls. However, when the keyboard or mouse “focuses” on a particular control, that control has the attribute of receiving the keyboard or mouse entries (e.g., from a message queue of a thread that created it). Thus, as a particular control is selected, it “has focus” in the GUI. There can be only one focus (i.e. control) active in the GUI at any given time.
[0024] The GUI <b>6</b> does not have to be a specially programmed GUI—that is, it does not have to be a GUI programmed for touch-sensitive input. And herein lies an advantage of my invention: using an off-the-shelf touch input device, such as a touch-sensitive display, and the methods and techniques described herein, a highly flexible and useful touch-sensitive input overlay for the GUI is possible that either replaces or complements traditional data entry and navigation tools used with a standard GUI.
[0025] When a user touches within a pre-set area around a control (e.g., <b>8</b>, <b>10</b>, <b>12</b>) (hereinafter referred to as a “parent control”) on the GUI <b>6</b>, the touch-sensitive input overlay <b>16</b> appears on the screen <b>4</b> in the proximity of the parent control (now having focus), effectively overriding standard processing of data/control selection and entry. A parent control delineator <b>13</b> is shown that correlates the parent control <b>12</b> to the touch-sensitive input overlay <b>16</b>.
[0026] According to one embodiment, the touch-sensitive input overlay is animated onto the screen from one or more points corresponding to the parent control to multiple points corresponding to the ultimate location touch-sensitive input overlay. For instance, rather than simply appearing in its fully rendered state, the touch-sensitive input overlay is gradually expanded or “faded-in” from the parent control to its full-size adjacent to the parent control—not so fast that it cannot be detected by a user's eye, but not so slow that it consumes too much time.
[0027] In another embodiment, the touch-sensitive input overlay can fade-in or pop-up on the screen and a portion of the border of the touch-sensitive input overlay closest to the parent control is delineated in a position corresponding to the parent control so as to identify the touch-sensitive input overlay with the parent control. For instance, the border can be partially removed, highlighted, or a line drawn to the parent control from a point along the border of the touch-sensitive input overlay. In yet another embodiment, the background of the graphical user interface can be faded out or turned into non-active color schemes (the standard windowing technique for highlighting the active dialog window), while the touch-sensitive input overlay is highlighted or turned into the active color schemes.
[0028] The objective in each of these techniques is to aid in allowing a user to identify the parent control for the touch-sensitive input overlay.
[0029] The touch-sensitive input overlay <b>16</b> can have a number of embodiments, which are pre-selected to best match the individual control parameters—such as control purpose (data entry or navigation) and type of data to be entered (numerical, list box, computed, user prompted, etc.). According to one embodiment, the position of the touch-sensitive input overlay <b>16</b> relative to the parent control depends on the parent control's location within the display and the unused GUI area within the proximity of the parent control. It is desirable to place the input overlay in a position where it is least obtrusive to adjacent controls or other on-screen information.
[0030] As shown in FIG. 1, the touch-sensitive input overlay <b>16</b>, which is suited for navigation in a list box, includes a number of touch entry options including a plurality of navigation arrows <b>18</b> and <b>20</b>, a “reset” option <b>22</b> (for resetting a control), and an “enter” option <b>24</b> (for entry of a selected data item in a list box <b>30</b>). Optionally, a “move” option <b>26</b> (for allowing a user to move the input overlay <b>16</b> to a different location on the display <b>4</b>), and a “close” option <b>28</b>, for exiting the touch-sensitive input overlay <b>16</b> (i.e., making it disappear), can be included. However, it is often preferred to minimize not only the complexity of the touch-sensitive input overlay <b>16</b>, but also the real estate. Thus, in another embodiment, only strictly essential options are include in the touch-sensitive input overlay <b>16</b>. Tasks such as closing the touch-sensitive input overlay, for instance, can be achieved simply by selecting another control and giving it focus.
[0031] A touch tool <b>32</b>, is also shown, which can be a plastic pointer or, preferably, a human finger. The touch tool <b>32</b> is used to register a selection onto the touch input device. The dimensions of the graphic touch entry options on the touch-sensitive input overlay <b>16</b> are sized to allow easy selection by a human finger or the physical pointer device.
[0032] While only one touch-sensitive input overlay <b>16</b> is shown in FIG. 1, I envision other types of touch-sensitive input overlays as well, such as a numeric pad (also called an “addition control”), an abbreviated keypad, and a navigation pad with four directions of movement selection, as well as other options consistent with traditional navigation support. Some of these embodiments are presented below and in the accompanying figures.
[0033]FIG. 2 is a hardware and communication flow diagram of the touch-sensitive input overlay. The left side of the diagram shows a functional overview of the hardware and software components <b>42</b>, while the right side shows a general data and functional flow graph <b>44</b> between these components.
[0034] Beginning with the hardware and software components <b>42</b>, these are shown as the primary functional components of a system in which my invention can be deployed. A microprocessor <b>46</b> is the primary agent for executing program modules and instructions and communicating between devices. In normal operation, this is achieved through additional components (not shown) such as an operating system and device drivers stored in memory. The microprocessor <b>46</b> has access to at least two such memory areas: an execution memory <b>50</b> (such as RAM) and a persistent memory <b>48</b> (such as ROM and disk storage). The microprocessor <b>46</b> is further communicatively coupled to a display device <b>56</b>, such as a cathode ray tube, active matrix, passive matrix, or liquid crystal display.
[0035] Preferably the display device <b>56</b> further includes a touch input capability, which is depicted as a touch input device <b>58</b>, as it may be integrated with the display device <b>56</b> or a separate element capable of detecting a touch input on a display device (e.g., an optical or infrared sensors configured to intercept an object coming into contact with the display device <b>56</b>, or a screen that overlays the display device <b>56</b>). The touch input device <b>58</b>, then, is configured to detect a touch input and generate a signal indicative of the touch input together with a signal indicative of the two dimensional coordinates identifying the location where the touch input was received relative to the touch input device <b>58</b> or display device <b>56</b>. In this way, a particular control can become the focus.
[0036] If the functionality of the touch input device <b>58</b> is integrated into the display device <b>56</b>, then communication between the touch input device <b>58</b> and microprocessor <b>46</b> will typically be handled through a communication link between the microprocessor <b>46</b> and display device <b>56</b>.
[0037] Two GUI program modules <b>51</b> are called out from the memory areas <b>48</b> and <b>50</b> to emphasize an embodiment. The first is GUI program module <b>52</b>, which is a standard GUI. By standard GUI, it is meant that an application program written over the operating system has a GUI that typically operates with the aid of a mouse or keyboard. (This standard GUI does not have to be modified according to an embodiment of my invention.)
[0038] The GUI module <b>52</b> can be implemented in a number of different programming languages and for a number of different applications. One example is a GUI programmed in VisualBasic (TM), available from Microsoft Corporation in Redmond, Wash., for a semiconductor manufacturing equipment. The GUI can include a number of controls designed to monitor and regulate the fabrication of semiconductors within the semiconductor manufacturing equipment. Another example is a GUI programmed with a Java (TM) development kit, such as an abstract window toolkit (AWT) or Swing toolkit. Java (TM) implementations of both are available from a number of vendors including Sun Microsystems, Inc. in Palo Alto, Calif. Moreover, the touch-sensitive input overlay can be used for entry of data for control, monitoring, or other record keeping operations for any industrial, commercial, or other purpose.
[0039] The standard GUI module <b>52</b> includes programming modules that handle data entry or navigation when it is entered with a mouse or keyboard into the parent control. The GUI module <b>52</b> further includes the graphics and program operation calls that can drive underlying application processes—for example calls to execute routines that create a new set point or parameter value for an external control process, or calls to routines that perform a calculation based on data that entered into the parent control.
[0040] The touch-sensitive input overlay module <b>54</b> is new. Its primary function is to cause a touch-sensitive input overlay to be presented near a control when the control is touched (thus becoming the focus), and generate command/input signals for further processing by the touch-sensitive input overlay module <b>54</b>, as well as the GUI module <b>52</b>. This function can supplant the role of the keyboard, thereby allowing a user to enter data directly into the touch-sensitive input overlay through one or more “touch key” commands directed toward the touch input device <b>58</b>. Additional details of the touch-sensitive input overlay module <b>54</b> are provided below with reference to FIG. 4.
[0041] According to one embodiment, the touch-sensitive input overlay module <b>54</b> includes an interpreter module <b>55</b> that is configured to translate touch inputs received in the touch-sensitive input overlay into corresponding keyboard entries so they can be passed along to the microprocessor <b>46</b>, which, in turn, passes them along o the GUI module <b>52</b> or the application program (e.g., by adding them to a queue associated with a particular thread). However, in other embodiments, such an interpreter module <b>55</b> can be added to the operating system so that incoming touch inputs from the touch input device <b>58</b> can be processed without passing through the touch-sensitive input overlay module <b>54</b>.
[0042] Turning to the functional flow graph <b>44</b>, a horizontal line is shown to each element in the function component stack <b>42</b>. An arrow shows a direction of communication travel. The description begins with the GUI module <b>52</b> instructing the microprocessor <b>46</b> to present graphical information (GI). In turn, the microprocessor issues instructions (P<b>1</b>) that cause the display device <b>56</b> to present the graphical information, which includes controls.
[0043] Once the graphical information is presented, a touch input is received at the touch input device <b>58</b>, which then sends a signal (D<b>1</b>) back to the microprocessor <b>46</b> indicating that a touch-input has been received. The signal (D<b>1</b>) preferably includes location information indicating coordinates where the touch input was received. The signal is received at the microprocessor <b>46</b>.
[0044] The microprocessor <b>46</b> then calls (P<b>2</b>) programming modules of the touch-sensitive input overlay module <b>54</b> to correlate the coordinates of the touch input to a location on the GUI created by the GUI module <b>52</b>, and to determine the type and location of the touch-sensitive input overlay to present on the display device <b>56</b> with the control (now a focus). When the touch-sensitive input overlay is selected, graphics information (T<b>1</b>) is sent back to the microprocessor <b>46</b> so that it can be presented on the display device <b>56</b>.
[0045] The microprocessor <b>46</b> then sends signals (P<b>3</b>) to the display device <b>56</b> so that the touch-sensitive input overlay is visible. When a subsequent touch input is received at the touch input device <b>58</b>, a signal (D<b>2</b>) is again sent to the microprocessor <b>46</b>. The microprocessor <b>46</b> forwards the signal (P<b>42</b>) to the touch-sensitive input overlay modules <b>54</b>, which generate signals (T<b>2</b>) for the microprocessor <b>46</b>, which, in turn sends signals (P<b>5</b>) to the GUI module <b>52</b>. When the GUI module <b>52</b> receives the signals (P<b>5</b>), it will generate signals (G<b>2</b>) for the underlying application program (and display device <b>56</b>) that indicate which functions should be performed in response to the touch input signals (D<b>2</b>). These signals (G<b>2</b>) are handled by the microprocessor <b>46</b>, which sends display update signals (P<b>6</b>) to the display device <b>56</b> so that updated information is presented on the GUI.
[0046] According to an embodiment, from the perspective of the GUI module <b>52</b>, there is no difference between a keyboard/mouse input and an input received and processed by the touch input device <b>58</b> and touch-sensitive input overlay module <b>54</b> (and interpreter <b>55</b>)—these aspects are transparent to the GUI module <b>52</b>.
[0047] According to an embodiment, I can modify a standard GUI that is not programmed for touch-screen input and use one or more data structures and processing techniques completely separate from the standard GUI and facilitate a touch-screen input. Thus, my invention works well with legacy windowing systems and graphical user interfaces and does not necessarily require modification of the standard GUI. However, while a standard GUI can be used according to an embodiment of the invention, the addition of certain data structures directly to the GUI or supplementing the GUI can be advantageous.
[0048] Turning to FIG. 3, it depicts a touch-sensitive input overlay selector data structure <b>64</b> that can be includes to the program modules <b>51</b> to facilitate optimization of the overlay type (various types of overlays are presented below) and parameters. Again, however, this aspect is merely optional, as metadata from the GUI itself can be read to determine such parameters (e.g., by reading field properties or tags in the underlying GUI or application program).
[0049] Included in the data structure <b>64</b> are three fields. The first is the variable name <b>66</b>, the second is the overlay type <b>68</b>, and the third is the location indicator <b>70</b>. The variable name field <b>66</b> is used to identify a particular control being operated on. The overlay type field <b>68</b> indicates which of a number of overlay types is best for entering data or selections into the control. For instance, a numeric pad may be best for data entry, or a scroll bar may be preferred for a list box. The location indicator field <b>70</b> is used to specify a preferred positioning or placement coordinates for the touch-sensitive input overlay when it is presented near the control. The location indicator field <b>70</b> is most helpful where the GUI is complex, crowded, or prior control entries are helpful in making a current control entry into the touch-sensitive input overlay. For example, the location indicator field <b>70</b> can specify a region on the screen to place the touch-sensitive input overlay so it will not obstruct the view of other control fields or on-screen information, and so that it does not get placed out of view of the display area of the display device <b>56</b>. As well, the location indicator can specify or cross-reference other variable names <b>66</b> or controls that are desired to be visible when the parent control has focus.
[0050] Additional or other attributes <b>72</b> can be specified too, such as special purpose touch buttons or options for particular control fields, such as default values, minimum values, maximum values, sub-touch-sensitive input overlay options (help menus, examples), etc. In particular the other attributes can include: information for a nested touch-input calculator within the touch-sensitive input overlay; a “transparent” mode button, which can allow for the touch-sensitive input overlay to become semi-transparent so data below the touch-sensitive input overlay is visible; or a touch-sensitive input overlay movement button, which can be employed by a user to manually reposition the touch-sensitive input overlay.
[0051] Further improvements on the touch-sensitive input overlay can include algorithms that account for various touch-input gestures received at the touch-sensitive input overlay, such as special “drag-and-drop”, movement, and character entry processing algorithms. For example, a first touch gesture on a specified region of the touch-sensitive input overlay <b>16</b> on the touch-input device <b>58</b>, followed immediately by a second touch gesture, e.g., a continuous sweeping motion, followed next by a release of second touch gesture on the touch input device <b>58</b>, can be perceived by the touch-sensitive input overlay module <b>54</b> as a traditional “drag-and-drop” function that is performed by a mouse, resulting in a change in placement or movement of the touch-sensitive input overlay <b>16</b> relative to its initial starting position.
[0052]FIG. 4 is a flowchart detailing computer implemented acts corresponding to implementing the touch-sensitive input overlay in an embodiment. According to an embodiment, the acts are stored as one or more sequences of instructions in a computer readable medium (or computer program modules). The sequences of instructions are typically stored in a persistent memory, such as memory <b>48</b>, and just prior to execution they are copied or downloaded (e.g. from a network computer readable medium into a volatile execution memory area, such as memory <b>50</b>, where they are executed by one or more microprocessors, such as microprocessor <b>46</b>. While most of the acts are to be carried out by the touch-sensitive input overlay module <b>54</b>, others can be distributed among other resources, such as through corresponding improvements to a standard GUI module <b>52</b>, or in the underlying operating system or application program, if one is employed.
[0053] In act <b>80</b>, the GUI is operating in normal mode—presenting text and graphics to a user on a display device <b>56</b>, which can be replied to using a standard keyboard or mouse. An interrupt driven routine determines whether a touch input is received at the touch input device <b>58</b> in act <b>82</b>. If no touch input is received, processing continues in normal GUI mode. However, if a touch input is received, then processing continues to act <b>84</b>.
[0054] In act <b>84</b>, a location where the touch input was received is generated. The location information can be computed, or it can be explicitly provided by nature of the sensors in the touch input device <b>58</b> that monitor for the touch input.
[0055] In act <b>86</b>, the touch input is correlated to a control field, meaning that the location of the touch input is matched against the location of the nearest control field currently presented on the display device <b>56</b>. This act, it is noted, can be performed by the touch-sensitive input overlay module <b>54</b> or another module that typically handles a mouse or keyboard entry that moves a cursor into the control field or highlights a dialog window on the GUI. Act <b>88</b> can be considered along with act <b>86</b>, because in act <b>86</b>, a determination is made as to whether a control field exists in the proximity of the touch input. In some cases, no control field will exist and thus no touch-sensitive input overlay will be presented, thus processing will continue to normal mode in act <b>80</b>. In others, a default or general purpose touch-sensitive input overlay will be presented on the GUI that assists in general navigation. Nevertheless, receipt of the first touch input typically causes the target control to become the focus for the touch input device <b>58</b>.
[0056] According to one embodiment, in act <b>90</b>, location indicator information is fetched from a data structure (e.g. data structure <b>66</b>) stored in memory. The location indicator information assists in determining where on the display device <b>56</b> the touch-sensitive input overlay should be presented on the display device <b>56</b>. The location indicator information can include placement preferences, as are mentioned above, as well as general rules for preventing partial placement of the touch-sensitive input overlay outside of the visible area on the display device <b>56</b>.
[0057] In act <b>92</b>, the touch-sensitive input overlay is placed on the display device <b>56</b> in a location derived from the information from acts <b>84</b> and <b>90</b>. Next, in act <b>94</b>, the system waits for another (or a “second”) touch input from the touch input device <b>58</b>. Act <b>94</b> can be another interrupt driven act, and/or it can be a timing driven act wherein the microprocessor <b>46</b> waits for a fixed period of time for a second touch input, and if one is not received then error processing acts <b>95</b> occur, such as presentation of a nested touch-sensitive input overlay to prompt a user for a reply or to cancel the touch input (the nested touch-sensitive input overlay being absolutely timed so processing continues regardless of whether a second touch input is received), or simply returning the normal GUI mode.
[0058] If a second touch input was received at act <b>94</b>, then a test is performed in act <b>96</b> to determine whether the second touch input was within the boundary area of the touch-sensitive input overlay. If it was not, then it is ignored or error processing occurs, such as a dialog window prompting the user to re-enter the second touch input because it was out of bounds. However, if the second touch input was within the boundary area of the touch-sensitive input overlay, then the second touch input is correlated to an entry option on the touch-sensitive input overlay in act <b>98</b>. Act <b>98</b> can include, for instance, correlation of the second touch input to a specific entry option such as depression of a button, key, or navigation guide.
[0059] As was the case with acts <b>86</b> and <b>88</b>, acts <b>98</b> and <b>100</b> are inter-related. In <b>100</b>, if there was not a matching entry option corresponding to the second touch input, then processing continues to an error processing mode substantially similar to the modes described in act <b>95</b>—for example, giving a user another opportunity to enter a touch input. However, if a matching entry option is found, then in act <b>102</b>, a signal corresponding to the entry option is sent from the touch-sensitive input module <b>54</b> to the microprocessor <b>46</b> so that the appropriate input operations are entered.
[0060] If the entry option involves more than a simple button selection, then this act can take place with the interpreter module <b>55</b> within the touch-sensitive input module <b>54</b>, or within a similar interpreter module in the application program, or more preferably within the operating system. In such an embodiment, the interpreter module <b>55</b> can be invoked on the first touch entry received (so the first entry has two functions: invocation of the interpreter module <b>55</b> and selection of a first entry), while subsequent touch input entries into the touch-sensitive input overlay are transformed into corresponding signals matching keyboard or mouse-type entries by the now executing interpreter module <b>55</b>.
[0061] In act <b>104</b>, the subject control field is updated, meaning the transformed signals are committed to the field, thus updating the primary GUI control field with the corresponding input. Next, in act <b>106</b>, the touch-sensitive input overlay is closed and in act <b>108</b>, processing resumes to normal GUI mode until a next touch input is detected (act <b>82</b>).
[0062] FIGS. <b>5</b>-<b>7</b> depict embodiments of touch-sensitive input overlays that can be used over a standard GUI <b>110</b> in accordance with the invention. FIG. 5 depicts an embodiment of a touch-sensitive keyboard input overlay <b>112</b>, but a touch-sensitive numeric pad input overlay could also be employed. FIG. 6 depicts an embodiment of a touch-sensitive navigation input overlay <b>114</b>. In each of these embodiments, a parent control delineator <b>124</b>, here a cutout from the touch-sensitive input overlay, is shown that is disposed between the touch-sensitive input overlay and the parent control. This parent control delineator, which is shown in each of FIGS. <b>5</b>-<b>7</b> assists in identifying the parent control that corresponds to the touch-sensitive input overlay.
[0063] FIGS. <b>7</b>A-B depict a more complicated tree-hierarchy navigation GUI with a touch-sensitive navigation pad input overlay <b>116</b>. In this embodiment, the GUI <b>110</b> is separated into two adjustable areas <b>118</b> and <b>120</b>. On the left side, area <b>118</b>, a navigation tree is augmented by enlarged touch-input control fields <b>122</b>. The fields can be navigated by physical touch directly on the control fields, or by depressing an entry option on the touch-sensitive input overlay <b>116</b>. While one side of the screen is active, the touch-sensitive input overlay <b>116</b> is placed on the opposite side of the screen. However, once a selection is made, the touch-sensitive input overlay <b>116</b> is moved to the other side of the screen. (Note further the placement of the parent control delineator <b>124</b>.)
[0064] It will be appreciated by one of skill in the art that various functional software or hardware components can be achieved in a single software and/or hardware component or multiple software and/or hardware components. The methods, systems and techniques described herein can thus be incorporated into a variety of functional or physical combinations of components.
[0065] I have described a touch-sensitive input overlay for use with a graphical user interface. The systems and methods described herein are useful in a number of graphical user interface applications, and in particular to industrial control environments, such as semiconductor manufacturing equipment. My invention aids in the programming of flexible and convenient graphical user interfaces, especially in environments where usr interaction with a traditional keyboard or mouse is not convenient or practical. While specific examples and details are described above, I do not intended to limit the scope of my invention to any embodiment described or depicted herein, but rather only by the claims that follow.
Contents4
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10410637B2 | Cited by | United States of America | Applicant |
| US9395867B2 | Cited by | United States of America | Applicant |
| US2013167088A1 | Cited by | United States of America | Pre-grant |
| US2003016251A1 | Cited by | United States of America | Pre-grant |
| US10592100B2 | Cited by | United States of America | Applicant |
| US2006132460A1 | Cited by | United States of America | Pre-grant |
| US9052817B2 | Cited by | United States of America | Search report |
| US10509862B2 | Cited by | United States of America | Applicant |
| US2010174998A1 | Cited by | United States of America | Pre-grant |
| US10170123B2 | Cited by | United States of America | Applicant |
| US2013257741A1 | Cited by | United States of America | Pre-grant |
| US9805539B2 | Cited by | United States of America | Applicant |
| US2010088596A1 | Cited by | United States of America | Pre-grant |
| US10276170B2 | Cited by | United States of America | Applicant |
| US7957955B2 | Cited by | United States of America | Applicant |
| US2011169749A1 | Cited by | United States of America | Pre-grant |
| CN102902473A | Cited by | China | Search report |
| US10269345B2 | Cited by | United States of America | Applicant |
| US10410277B2 | Cited by | United States of America | Applicant |
| US10904611B2 | Cited by | United States of America | Applicant |
| US10192552B2 | Cited by | United States of America | Applicant |
| US9760559B2 | Cited by | United States of America | Applicant |
| US10791176B2 | Cited by | United States of America | Applicant |
| US2010031198A1 | Cited by | United States of America | Pre-grant |
| US10049668B2 | Cited by | United States of America | Applicant |
| US10446143B2 | Cited by | United States of America | Applicant |
| US10552013B2 | Cited by | United States of America | Applicant |
| US10354011B2 | Cited by | United States of America | Applicant |
| US10497365B2 | Cited by | United States of America | Applicant |
| US9542097B2 | Cited by | United States of America | Search report |
| US11010550B2 | Cited by | United States of America | Applicant |
| US2006244734A1 | Cited by | United States of America | Pre-grant |
| US10289433B2 | Cited by | United States of America | Applicant |
| US9798393B2 | Cited by | United States of America | Applicant |
| US10223066B2 | Cited by | United States of America | Applicant |
| US10888776B2 | Cited by | United States of America | Search report |
| US9966060B2 | Cited by | United States of America | Applicant |
| US9760272B2 | Cited by | United States of America | Applicant |
| US10249300B2 | Cited by | United States of America | Applicant |
| US7433741B2 | Cited by | United States of America | Applicant |
| US10042418B2 | Cited by | United States of America | Applicant |
| US10490187B2 | Cited by | United States of America | Applicant |
| US8421761B2 | Cited by | United States of America | Search report |
| US10241644B2 | Cited by | United States of America | Applicant |
| US8232973B2 | Cited by | United States of America | Applicant |
| US9646614B2 | Cited by | United States of America | Applicant |
| US8990709B2 | Cited by | United States of America | Search report |
| USRE46548E | Cited by | United States of America | Applicant |
| US10691473B2 | Cited by | United States of America | Applicant |
| US9668024B2 | Cited by | United States of America | Applicant |
| US9898712B2 | Cited by | United States of America | Applicant |
| US10357118B2 | Cited by | United States of America | Applicant |
| US10706373B2 | Cited by | United States of America | Applicant |
| US9986419B2 | Cited by | United States of America | Applicant |
| US2011238612A1 | Cited by | United States of America | Pre-grant |
| US8429099B1 | Cited by | United States of America | Applicant |
| US10679605B2 | Cited by | United States of America | Applicant |
| US10817162B2 | Cited by | United States of America | Applicant |
| US9899019B2 | Cited by | United States of America | Applicant |
| US8095613B1 | Cited by | United States of America | Applicant |
| US10482874B2 | Cited by | United States of America | Applicant |
| US10553209B2 | Cited by | United States of America | Applicant |
| US11025565B2 | Cited by | United States of America | Applicant |
| US10043516B2 | Cited by | United States of America | Applicant |
| US10671277B2 | Cited by | United States of America | Applicant |
| US11016658B2 | Cited by | United States of America | Applicant |
| US10535216B2 | Cited by | United States of America | Applicant |
| US2008228717A1 | Cited by | United States of America | Pre-grant |
| US10127911B2 | Cited by | United States of America | Applicant |
| US10446141B2 | Cited by | United States of America | Applicant |
| US2016179337A1 | Cited by | United States of America | Search report |
| US9865280B2 | Cited by | United States of America | Applicant |
| US10339495B2 | Cited by | United States of America | Applicant |
| US10318871B2 | Cited by | United States of America | Applicant |
| US9268345B2 | Cited by | United States of America | Search report |
| US10592095B2 | Cited by | United States of America | Applicant |
| US2020164269A1 | Cited by | United States of America | Search report |
| US10078631B2 | Cited by | United States of America | Applicant |
| US2010115405A1 | Cited by | United States of America | Pre-grant |
| US2013024810A1 | Cited by | United States of America | Pre-grant |
| US9069862B1 | Cited by | United States of America | Applicant |
| US2014168076A1 | Cited by | United States of America | Pre-grant |
| NL2001670C2 | Cited by | Netherlands (Kingdom of the) | Search report |
| US2010030715A1 | Cited by | United States of America | Pre-grant |
| US7176898B2 | Cited by | United States of America | Search report |
| US10067938B2 | Cited by | United States of America | Applicant |
| US2006075352A1 | Cited by | United States of America | Pre-grant |
| US2011050587A1 | Cited by | United States of America | Pre-grant |
| US9177266B2 | Cited by | United States of America | Applicant |
| US2016179337A1 | Cited by | United States of America | Search report |
| TWI547836B | Cited by | Taiwan Province of China | Examiner |
| US8904303B2 | Cited by | United States of America | Search report |
| US2010070910A1 | Cited by | United States of America | Pre-grant |
| WO2010014853A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10657961B2 | Cited by | United States of America | Applicant |
| US2008167858A1 | Cited by | United States of America | Pre-grant |
| US2010175001A1 | Cited by | United States of America | Pre-grant |
| US9966065B2 | Cited by | United States of America | Applicant |
| US10705794B2 | Cited by | United States of America | Applicant |
| US10228846B2 | Cited by | United States of America | Applicant |
1 member in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 12120302 | United States of America | A | |
| US20020121203 | – | – | – |
Members1
| Document | Office | Kind | |
|---|---|---|---|
| US2003193481A1 | United States of America | A1 |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS |
Numbers
- Publication, DOCDB
- 2003193481
- Publication, EPODOC
- US2003193481
- Application
- 10121203
- Application, DOCDB
- 12120302
- Application, EPODOC
- US20020121203
Titles
- English
- Touch-sensitive input overlay for graphical user interface
Classification
- CPC, 2
- G06F3/04883
- G06F3/0488
- IPC, 3
- G06F3 033
- G06F3 048
- G09G5 00
- USPC, 2
- 345173000
- 715764000