WINDOW MANGER INPUT FOCUS CONTROL FOR HIGH DIMENSIONAL TOUCHPAD (HTPD), ADVANCED MICE, AND OTHER MULTIDIMENSIONAL USER INTERFACES
A method for routing signals from a user interface device providing traditional user interface device signals and additional user interface signals to an application is described. Traditional user interface device signals and additional user interface signals are received from a user interface device. Routing of traditional user interface device signals and additional user interface signals from such a user interface device to particular applications can be made responsive to input focus control provided by a windowing system, window manager, operating system, or combination. In one approach, input focus control is provided a single focus control element. In another approach, separate focus control elements are used for traditional user interface device signals and additional user interface signals.
Pursuant to 35 U.S.C. §119(e), this application claims benefit of priority from Provisional U.S. Patent application Ser. No. 61/303898, filed Feb. 12, 2010, the contents of which are incorporated by reference.
COPYRIGHT & TRADEMARK NOTICESCertain marks referenced herein may be common law or registered trademarks of the applicant, the assignee or third parties affiliated or unaffiliated with the applicant or the assignee. Use of these marks is for providing an enabling disclosure by way of example and shall not be construed to exclusively limit the scope of the disclosed subject matter to material associated with such marks.
BACKGROUND OF THE INVENTION1. Field of the Invention
The invention relates to user interface devices that provide additional user interface control signals beyond those of a traditional mouse, touchpad, or track ball, and relates also to window manager input focus control, and in particular to the direction of signals from such a user interface device to particular applications responsive to input focus control provided by a windowing system, operating system, or both.
2. Overview of the Invention
The present invention addresses the routing of additional user interface signals provided by the High Dimensional Touchpad “HTPD” (for example as taught in 1999 filings of U.S. Pat. No. 6,570,078 and pending U.S. patent application Ser. No. 11/761,978, pending U.S. patent application Ser. Nos. 12/418,605, 12/502,230, 12/541,948, and related pending U.S. patent applications), Advanced Mice (for example as taught in U.S. Pat. No. 7,557,797 pending U.S. patent application Ser. Nos. 12/619,678, 13/025,129, 13/024,569, and related pending U.S. patent applications), and other multidimensional or rich parameter user interfaces providing additional user interface signals above those found in traditional computer mice, touchpads, and trackballs. The routing of signals from such a user interface device to particular applications can be made responsive to input focus control provided by a windowing system, operating system, or both.
SUMMARY OF THE INVENTIONFor purposes of summarizing, certain aspects, advantages, and novel features are described herein. Not all such advantages may be achieved in accordance with any one particular embodiment. Thus, the disclosed subject matter may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages without achieving all advantages as may be taught or suggested herein.
In one aspect of the invention, a method for routing signals from a user interface device providing traditional user interface device signals and additional user interface signals to an application includes receiving traditional user interface device signals and additional user interface signals from a user interface device, routing the traditional user interface device signals to a selected application according to a first input focus selection, and routing the traditional [additional?] user interface device signals to the selected application according to a second input focus selection. The first and second input focus selection made by at least one focus control element.
Another aspect of the invention is that the at least one focus control element comprises a window manager, a window system, or an operating system. Further, the first and second input focus selection is made by the same focus control element, or the first and second input focus selection are made by a first focus control element and the second input focus selection is made by a second focus control element.
The user input device may a computer mouse comprising a first and second scroll wheel, a touchpad, or a High Definition Touch Pad (HDTP). When the user input device comprises a touch user interface, the touch user interface is responsive to gestures and the additional user-adjustable input comprises at least one gesture.
The touch user interface may be responsive to one of the yaw angle, roll angle, or pitch angle of a finger in contact with the touch user interface. The additional user-adjustable input is responsive to the yaw angle, roll angle, or pitch angle. The touch user interface also may be responsive at least two angles of a finger in contact with the touch user interface, and the additional user-adjustable input is responsive to a measurement of each of the two angles.
The above and other aspects, features and advantages of the present invention will become more apparent upon consideration of the following description of preferred embodiments taken in conjunction with the accompanying drawing figures.
In the following description, reference is made to the accompanying drawing figures which form a part hereof, and which show by way of illustration specific embodiments of the invention. It is to be understood by those of ordinary skill in this technological field that other embodiments may be utilized, and structural, electrical, as well as procedural changes may be made without departing from the scope of the present invention.
In the following, numerous specific details are set forth to provide a thorough description of various embodiments. Certain embodiments may be practiced without these specific details or with some variations in detail. In some instances, certain features are described in less detail so as not to obscure other aspects. The level of detail associated with each of the elements or features should not be construed to qualify the novelty or importance of one feature over the others.
Windowing SystemsDesktop, laptop, tablet, web, and other types of contemporary computers provide for a plurality of active software applications to share visual display and user input devices by means of some form of windowing system. Windowing systems are well known with foundational principles dating back decades (see for example F. R. Hopgood, et al., Methodology of Window Management, Springer-Verlag, Berlin, 1986, ISBN 0387161163) and are known at least as an operational level to virtually all users of these devices. Without getting into the many well-known aspects of windowing systems, one skilled in the art is reminded that:
-
- A plurality of windows can be displayed simultaneously on the screen of the (desktop, laptop, tablet, or web) computer;
- Multiple windows can overlap one another;
- The windowing system also provides a visually-rendered cursor whose position is determined by left-right/forward-back operation provisions of a pointing device (mouse, touchpad, trackball, etc.);
- Windows are typically selected by “clicking” a discrete-event provision (button operation, touchpad tap, etc.) of the pointing device—windows can also be selected by default in some cases, such as when the initialization of a previously inactive application displays, updates, or pops-up a new window;
- A selected window remains selected until the user selects a different window or a window is selected by default;
- User keyboard input and other types of pointing device input is typically directed to aspects of an application associated with the window that is currently selected.
Turning now to traditional user interface pointing devices, the traditional mouse, traditional trackball, and traditional touchpad, and traditional touchscreen typically are used to provide the following user inputs:
More contemporary computer mice additionally provide a scrollwheel along with the traditional components and features of the traditional mouse. Some scrollwheels allow the wheel to be depressed downward to operate a spring-loaded switch that provides a third class of button events. As mentioned just above, typically the scrollwheel provided by a contemporary computer mouse is solely directed to the operation of the vertical scrollbar (for example, the scrollbar 110.vs of
Providing an additional scroll control to a scrollwheel mouse that can be used to operate the horizontal scrollbar with a left-right operation was taught several years prior to the appearance of such products in the specification of issued U.S. Pat. No. 7,557,797 (priority date Feb. 12, 2004) and is to be addressed in a pending continuation patent application from that specification subject to that same priority date.
Additionally, touch screens have recently received tremendous attention with the addition of array tactile imaging capabilities. Such touch screen technologies permit multi-touch sensing, metaphors, and gestures. Although such touch screen technologies have obtained great commercial success from there defining role in the iPhone and subsequent adaptations in PDAs and other types of cell phones and hand-held devices, these were in fact taught in the 1999 filings of U.S. Pat. No. 6,570,078 and pending U.S. patent application Ser. No. 11/761,978.
These more advanced user interface pointing devices provide additional user control capabilities that can be used in hypermedia applications, and in particular in web-based applications rendered in a browser. A known example of this is the aforementioned use of the scrollwheel in controlling the degree of zoom in the web-based Google Maps application.
Further, there remains a wide range of additional control capabilities that can be provided by further enhanced user interface technologies. A number of representative enhanced user interface technologies are described next, specifically:
-
- (a) the HDTP taught in the 1999 filings of U.S. Pat. No. 6,570,078 and pending U.S. patent application Ser. No. 11/761,978, pending U.S. patent application Ser. Nos. 12/418,605, 12/502,230, 12/541,948, and related pending U.S. patent applications; and
- (b) the Advanced Mice taught in the 2004 filings of issued U.S. Pat. No. 7,557,797 and related pending U.S. patent applications such as Ser. Nos. 12/619,678, 13/025,129, and 13/024,569. The capabilities of these, or to a more limited extent, the capabilities of contemporary generation user interface pointing devices can be used to enhance the capabilities of traditional hypermedia objects (such as the hyperlink, button, rollover, menu, and slider) as well as defining new types of hypermedia objects.
In an embodiment, a touchpad used as a pointing and data entry device can comprise an array of sensors. The array of sensors is used to create a tactile image of a type associated with the type of sensor and method of contact by the human hand. The tactile image comprises and array of data elements such as an array of pressure measurements, and array of proximity measurements, an array of reflective optical measurements, etc. Thus the tactile image can be or comprise a pressure image, proximity image, reflective optical image, etc. In an embodiment, each data element comprises a scalar numerical value corresponding to a measurement from an associated sensor. In another embodiment, at least one data element comprises a plurality of scalar numerical values. In an embodiment, each data element comprises one or more scalar values produced from signal processing, image processing, and/or other operations applied to measurements provided by an array of sensors.
In one embodiment, the individual sensors in the sensor array are pressure sensors and a direct pressure-sensing tactile image is generated by the sensor array.
In another embodiment, the individual sensors in the sensor array are proximity sensors and a direct proximity tactile image is generated by the sensor array. Since the contacting surfaces of the finger or hand tissue contacting a surface typically increasingly deforms as pressure is applied, the sensor array comprised of proximity sensors also provides an indirect pressure-sensing tactile image.
In another embodiment, the individual sensors in the sensor array can be optical sensors. In one variation of this, an optical image is generated and an indirect proximity tactile image is generated by the sensor array. In another variation, the optical image can be observed through a transparent or translucent rigid material and, as the contacting surfaces of the finger or hand tissue contacting a surface typically increasingly deforms as pressure is applied, the optical sensor array also provides an indirect pressure-sensing tactile image.
In some embodiments, the array of sensors can be transparent or translucent and can be provided with an underlying visual display element such as an alphanumeric and/or graphics and/or image display. The underlying visual display can comprise, for example, an LED array display, a backlit LCD, etc. Such an underlying display can be used to render geometric boundaries or labels for soft-key functionality implemented with the tactile sensor array, to display status information, etc.
In an embodiment, the touchpad can comprise a tactile sensor array obtains or provides individual measurements in every enabled cell in the sensor array that provides these as numerical values. The numerical values can be communicated in a numerical data array, as a sequential data stream, or in other ways. When regarded as a numerical data array with row and column ordering that can be associated with the geometric layout of the individual cells of the sensor array, the numerical data array can be regarded as representing a tactile image.
The tactile sensor array should not be confused with the “null/contact” touchpad which, in normal operation, acts as a pair of orthogonally responsive potentiometers. These “null/contact” touchpads do not produce pressure images, proximity images, or other image data but rather, in normal operation, two voltages linearly corresponding to the location of a left-right edge and forward-back edge of a single area of contact. Such “null/contact” touchpads, which are universally found in existing laptop computers, are discussed and differentiated from tactile sensor arrays in issued U.S. Pat. No. 6,570,078 and pending U.S. patent application Ser. No. 11/761,978 (pre-grant publication U.S. 2007/0229477). Before leaving this topic, it is pointed out that these the “null/contact” touchpads nonetheless can be inexpensively adapted with simple analog electronics to provide at least primitive multi-touch capabilities as taught in U.S. Pat. No. 6,570,078 and pending U.S. patent application Ser. No. 11/761,978 (therein, paragraphs [0022]-[0029] of its pre-grant publication U.S. 2007/0229477, for example).
One implementation of a tactile sensor array is a pressure sensor array. Pressure sensor arrays discussed in U.S. Pat. No. 6,570,078 and pending U.S. patent application Ser. No. 11/761,978. These typically operate by measuring changes in electrical (resistive, capacitive) or optical properties of an elastic material as the material is compressed. Prominent manufacturers and suppliers of pressure sensor arrays include Tekscan, Inc. (307 West First Street, South Boston, Mass., 02127, www.tekscan.com), Pressure Profile Systems (5757 Century Boulevard, Suite 600, Los Angeles, Calif. 90045, www.pressureprofile.com), Sensor Products, Inc. (300 Madison Avenue, Madison, N.J. 07940 USA, www.sensorprod.com), and Xsensor Technology Corporation (Suite 111, 319-2nd Ave SW, Calgary, Alberta T2P 0C5, Canada, www.xsensor.com).
In lieu of a pressure sensor array, a proximity sensor array or effective equivalents (for example, as can be accomplished with a video camera as described in issued U.S. Pat. No. 6,570,078 and pending U.S. patent application Ser. No. 11/761,978) can be used as a tactile sensor array. In general, a tactile proximity sensor array suitable for use with the present invention can be implemented in a wide variety of ways using any number of techniques or physical effects. The only requirement is that the tactile proximity sensor array produce a multi-level gradient measurement image as a finger, part of hand, or other pliable object varies is proximity in the immediate area of the sensor surface.
More specifically,
Capacitive proximity sensors can be used in various handheld devices with touch interfaces (see for example, among many, http://electronics.howstuffworks.com/iphone2.htm, http://www.veritasetvisus.com/VVTP-12,%20Walker.pdf). Prominent manufacturers and suppliers include Balda AG (Bergkirchener Str. 228, 32549 Bad Oeynhausen, Del., www.balda.de), Cypress (198 Champion Ct., San Jose, Calif. 95134, www.cypress.com), and Synaptics (2381 Bering Dr., San Jose, Calif. 95131, www.synaptics.com). In these sensors, the region of finger contact is detected by variations in localized capacitance resulting from capacitive proximity effects induced by a nearly-adjacent finger. More specifically, the electrical field at the intersection of orthogonally-aligned conductive buses is influenced by the vertical distance or gap between the surface of the sensor array and the skin surface of the finger. The capacitive proximity sensor technology is low-cost, reliable, long-life, stable, and can readily be made transparent.
As a first example of an optical array sensor, Forrest M. Mims is credited as showing that a conventional LED can be used as a light detector as well as a light emitter. Recently, light-emitting diodes have been used as a tactile proximity sensor array (for example, as depicted in the video available at http://cs.nyu.edu/˜jhan/ledtouch/index.html). Such tactile proximity array implementations typically need to be operated in a darkened environment (as seen in the video in the above web link). In one embodiment provided for by the invention, each LED in an array of LEDs can be used as a photodetector as well as a light emitter, although a single LED can either transmit or receive information at one time. Each LED in the array can sequentially be selected to be set to be in receiving mode while others adjacent to it are placed in light emitting mode. A particular LED in receiving mode can pick up reflected light from the finger, provided by said neighboring illuminating-mode LEDs. The invention provides for additional systems and methods for not requiring darkness in the user environment in order to operate an LED array as a tactile proximity sensor. In one embodiment, potential interference from ambient light in the surrounding user environment can be limited by using an opaque pliable and/or elastically deformable surface covering the LED array that is appropriately reflective (directionally, amorphously, etc. as can be advantageous in a particular design) on the side facing the LED array. Such a system and method can be readily implemented in a wide variety of ways as is clear to one skilled in the art. In another embodiment, potential interference from ambient light in the surrounding user environment can be limited by employing amplitude, phase, or pulse width modulated circuitry and/or software to control the underlying light emission and receiving process. For example, in an implementation the LED array can be configured to emit modulated light modulated at a particular carrier frequency or variation waveform and respond to only modulated light signal components extracted from the received light signals comprising that same carrier frequency or variation waveform. Such a system and method can be readily implemented in a wide variety of ways as is clear to one skilled in the art.
As a second example of an optical array sensor, use of video cameras for gathering control information from the human hand in various ways is discussed in U.S. Pat. No. 6,570,078 and Pending U.S. patent application Ser. No. 11/761,978. In another video camera tactile controller embodiment, a flat or curved translucent panel can be used as sensor surface. When a finger is placed on the translucent panel, light applied to the opposite side of the translucent panel reflects light in a distinctly different manner than in other regions where there is no finger or other tactile contact. The image captured by an associated video camera will provide gradient information responsive to the contact and proximity of the finger with respect to the surface of the translucent panel. For example, the parts of the finger that are in contact with the surface will provide the greatest degree of reflection while parts of the finger that curve away from the surface of the sensor provide less reflection of the light. Gradients of the reflected light captured by the video camera can be arranged to produce a gradient image that appears similar to the multilevel quantized image captured by a pressure sensor. By comparing changes in gradient, changes in the position of the finger and pressure applied by the finger can be detected.
In many various embodiments, the tactile sensor array can be connected to interface hardware that sends numerical data responsive to tactile information captured by the tactile sensor array to a processor. In various embodiments, this processor will process the data captured by the tactile sensor array and transform it various ways, for example into a collection of simplified data, or into a sequence of tactile image “frames” (this sequence akin to a video stream), or into highly refined information responsive to the position and movement of one or more fingers and/or other parts of the hand.
As to further representative detail of the latter example, a “frame” can refer to a 2-dimensional list comprising a number of rows and a number of columns forming an array, the array comprising tactile measurement value(s) for every sensor in a tactile sensor array at a given instance. In an embodiment, each data element comprises a scalar numerical value corresponding to a measurement from an associated sensor. In another embodiment, at least one data element comprises a plurality of scalar numerical values. In an embodiment, each data element comprises one or more scalar values produced from signal processing, image processing, and/or other operations applied to measurements provided by an array of sensors. The time interval between one frame and the next one depends on the frame rate of the system and the number of frames in a unit time (usually frames per second).
Individual sensor elements in a tactile sensor array can vary sensor-by-sensor when presented with the same stimulus. The invention provides for each sensor to be individually calibrated in implementations where that can be advantageous. Sensor-by-sensor measurement value scaling, offset, and/or nonlinear warpings can be invoked for all or selected sensor elements during data acquisition scans. Similarly, the invention provides for individual noisy or defective sensors to be tagged for omission of their flawed measurements during data acquisition scans and/or post-scan data processing.
-
FIG. 7 a depicts variation of the left/right position (“x”) of the finger contact;FIG. 7 b depicts variation of the forward/back position (“y”) of the finger contact;FIG. 7 c depicts variation of the up/down position or downward pressure (“p”) of the finger contact;FIG. 7 d depicts variation of the clockwise/counterclockwise (yaw) angle (“ψ”) of the finger contact;FIG. 7 e depicts variation of the left/right tilt (roll) angle (“φ”) of the finger contact;FIG. 7 f depicts variation of the forward/back (pitch) angle (“θ”) of the finger contact.
-
- left/right position (“x”) of the finger contact 811;
- forward/back position (“y”) of the finger contact 812;
- up/down position or downward pressure (“p”) of the finger contact 816;
- clockwise/counterclockwise (yaw) angle (“ψ”) of the finger contact 815;
- left/right tilt (roll) angle (“φ”) of the finger contact 813;
- forward/back (pitch) angle (“θ”) of the finger contact 814.
More advanced implementations of the HDTP provide for multi-touch capabilities that can be far more sophisticated that those popularized by the Apple iPhone, NYU, and others.
The HDTP affords and provides for yet further capabilities. For example, sequence of symbols can be directed to a state machine, as shown in
In an implementation approach or modality of operation for an arrangement such as the one of
In an arrangement such as the one of
Alternatively, these two cursor-control parameters can be provided by another user interface device, for example another touchpad or a separate or attached mouse (the latter to be discussed shortly in the context of
In some situations, control of the cursor location can be implemented by more complex means. One example of this is the control of location of a 3D cursor wherein a third parameter must be employed to specify the depth coordinate of the cursor location. For such situations, the arrangement of
In an embodiment, focus control is used to interactively routing user interface signals among applications. In most current systems, there is at least some modality wherein the focus is determined by either the current cursor location or a previous cursor location when a selection event was made. In the user experience, this selection event typically involves the user interface providing an event symbol of some type (for example a mouse click, mouse double-click touchpad tap, touchpad double-tap, etc). The representative arrangement of
In some embodiments, each application that is a candidate for focus selection provides a window displayed at least in part on the screen, or provides a window that can be deiconified from an icon tray or retrieved from beneath other windows that may be obfuscating it. In some embodiments, if the background window is selected, focus selection element that directs all or some of the broader information stream from the HDTP system to the operating system, window system, and/or features of the background window. In some embodiments, the background window can be in fact regarded as merely one of the applications shown in the right portion of the arrangement of
In at least the arrangements of
In another embodiment taught in the specification of issued U.S. Pat. No. 7,557,797 and associated pending continuation applications more than two touchpads can be included in the advance mouse embodiment, for example as suggested in the arrangement of
The HDTP in the above examples is used to supply more than the traditional two user interface parameters provided by a conventional user interface input device such as a conventional computer mouse, trackball, touchpad, etc. The present invention provides for the use of other user interface input arrangements and devices as alternatives to or in conjunction with one or more HDTPs. In this section the features and capabilities of Advanced Mice are briefly reviewed and set up for their use in embodiments of the invention. Focus control can be implemented in a manner completely or nearly analogous with
In a simple example, the scroll-wheel of a scroll-wheel mouse is used to provide a third simultaneously adjustable user interface parameter. In another example, a second or yet more additional scroll-wheels can be added to a conventional scroll-wheel mouse. The resultant collection of scroll-wheels can be relatively positioned in parallel, oriented at orthogonal angles so as to support a coordinate-metaphor, positioned on the sides of the mouse body, etc.
In another example of Advanced Mice, one or more trackballs can be added to a conventional computer mouse, for example on the back of the mouse.
Another example Advanced Mice arrangements include the trackball/touchpad/mouse combinations of
Each of these arrangements can employ a connecting cable, or the device can be wireless.
Video ControlAdditionally, images of the human hand as captured by video cameras can be used as an enhanced multiple-parameter interface responsive to hand positions and gestures, for example as taught in pending U.S. patent application Ser. No. 10/683,915 and more specifically in paragraphs [314], [321]-[332], [411], [653], and (in view of paragraph [325]) also paragraphs [241 ]-[263] of that pending application's pre-grant publication U.S. 2004/0118268.
Example use of the Additional Parameters by ApplicationsThe types of human-machine geometric interaction between the hand and the HDTP facilitate many useful applications within a visualization environment. A few of these include control of visualization observation viewpoint location, orientation of the visualization, and controlling fixed or selectable ensembles of one or more of viewing parameters, visualization rendering parameters, pre-visualization operations parameters, data selection parameters, simulation control parameters, etc. As one example, the 6D orientation of a finger can be naturally associated with visualization observation viewpoint location and orientation, location and orientation of the visualization graphics, etc. As another example, the 6D orientation of a finger can be naturally associated with a vector field orientation for introducing synthetic measurements in a numerical simulation.
As yet another example, at least some aspects of the 6D orientation of a finger can be naturally associated with the orientation of a robotically positioned sensor providing actual measurement data. As another example, the 6D orientation of a finger can be naturally associated with an object location and orientation in a numerical simulation. As another example, the large number of interactive parameters can be abstractly associated with viewing parameters, visualization rendering parameters, pre-visualization operations parameters, data selection parameters, numeric simulation control parameters, etc.
In yet another example, the “x” and “y” parameters provided by the HDTP can be used for focus selection and the remaining parameters can be used to control parameters within a selected GUI.
In still another example, the “x” and “y” parameters provided by the HDTP can be regarded as a specifying a position within an underlying base plane and the roll and pitch angles can be regarded as a specifying a position within a superimposed parallel plane. In a first example extension of the previous two-plane example, the yaw angle can be regarded as the rotational angle between the base and superimposed planes. In a second example extension of the previous two-plane example, the finger pressure can be employed to determine the distance between the base and superimposed planes. In a variation of the previous two-plane example, the base and superimposed plane can not be fixed as parallel but rather intersect as an angle associated with the yaw angle of the finger. In the each of these, either or both of the two planes can represent an index or indexed data, a position, pair of parameters, etc. of a viewing aspect, visualization rendering aspect, pre-visualization operations, data selection, numeric simulation control, etc.
A large number of additional approaches are possible as is appreciated by one skilled in the art. These are provided for by the invention.
USB HID Device AbstractionThe USB HID device class provides an open interface useful for both traditional computer pointing devices such as the standard computer mouse and other user interface devices such as game controllers. The USB HID device class has also been used to interface with the Logitech 3DConnexion SpaceNavigator™. The USB HID device class is currently specified at the time of this patent application by at least the Device Class Definition for HID 1.11, currently available at http://www.usb.org/developers/devclass docs/HID1 11.pdf. More generally, the invention provides for the USB HID device class to be used for at least additional user interface signals (user interface parameters) provided by the High Dimensional Touchpad (HTPD), Advanced Mice, and other multidimensional or rich parameter user interfaces that generate additional user interface signals above those found in traditional computer mice, touchpads, and trackballs. This can be done in a number ways, for example as taught in pending U.S. patent application Ser. No. 61/435,401 and as described below in material adapted from that pending U.S. Patent Application.
In a first exemplary embodiment, a USB HID device abstraction is employed to connect a computer or other device with an HDTP sensor that is connected to the computer via a USB interface. Here the exemplary HDTP signal processing and HDTP gesture processing are implemented on the computer or other device. The HDTP signal processing and HDTP gesture processing implementation can be realized via one or more of CPU software, GPU software, embedded processor software or firmware, and/or a dedicated integrated circuit.
In another exemplary embodiment, a USB HID device abstraction is employed to connect a computer or other device with an HDTP sensor and one or more associated processor(s) which in turn is/are connected to the computer via a USB interface. Here the exemplary HDTP signal processing and HDTP gesture detection are implemented on the one or more processor(s) associated with HDTP sensor. The HDTP signal processing and HDTP gesture processing implementation can be realized via one or more of CPU software, GPU software, embedded processor software or firmware, and/or a dedicated integrated circuit.
In another exemplary embodiment, a USB HID device abstraction is used as a software interface even though no USB port is actually used. The HDTP signal processing and HDTP gesture processing implementation can be realized via one or more of CPU software, GPU software, embedded processor software or firmware, and/or a dedicated integrated circuit.
There are a number of ways conventional window systems, window managers, and operating systems can be used or adapted to support the additional interactively-controlled parameters provided by an APD. A few examples are provided here, and other approaches are anticipated by the invention.
The additional interactively-controlled user input parameters provided by an HDTP (such as that taught in the 1999 filings of issued U.S. Pat. 6,570,078 and pending U.S. patent application Ser. No. 11/761,978, pending U.S. patent application Ser. Nos. 12/418,605, 12/502,230, 12/541,948, and related pending U.S. patent applications), Advanced Mice (such as that Mice taught in the 2004 filings of issued U.S. Pat. No. 7,557,797 and related pending U.S. patent applications such as Ser. Nos. 12/619,678, 13/025,129, 13/024,569), and other rich multiparameter user interface devices supply more interactively-controlled parameters than the established number supported by conventional window and operating systems. Provisions to support the use of additional interactively-controlled parameters provided by HDTP, Advanced Mice, and other rich multiparameter user interface devices with existing or extended operating systems has been taught in pending U.S. patent application Ser. No. 12/875,128. Some material from pending U.S. patent application Ser. No. 12/875,128 is directly adapted in this section for convenience. Additionally, images of the human hand as captured by video cameras can be used as an enhanced multiple-parameter interface responsive to hand positions and gestures, for example as taught in pending U.S. patent application Ser. No. 10/683,915 and more specifically in paragraphs [314], [321]-[332], [411], [653], and (in view of paragraph [325]) also paragraphs [241]-[263] of that pending application's pre-grant publication U.S. 2004/0118268.
More generally, the invention provides for additional user interface parameter signals provided by the not only the High Dimensional Touchpad (HTPD) and Advanced Mice, but also other multidimensional or rich parameter user interfaces providing additional user interface signals above those found in traditional computer mice, touchpads, and trackballs. This fuller collection (HDTP, Advanced Mice, other multidimensional or rich parameter user interface devices providing additional user interface signals above those found in traditional computer mice, touchpads, and trackballs) will be collectively referred to as Advanced Pointing Devices (APDs).
In one approach, the entire (interactively-controlled) information flux provided by an APD is carried over the same framework used to carry the traditional computer mouse/touchpad user interface signals from conventional pointing devices. In one version of this approach, only the driver for the APD need be added and recognized by the window system, window manager, operating system, or combination of these. The window system, window manager, operating system, or combination of these then distributes the entire (interactively-controlled) information flux to the application selected according to focus control implemented by the operating system. For some window systems, window managers, and operating systems, such an approach can be implemented without modification. In other implementations of window systems, window managers, operating systems, or combination of these, such an approach can require a modification to the window and/or operating system(s). Should a particular existing window system, window manager, operating system, or combination of these resident on a computing device require such modification, the invention provides for the modification to be implemented via a downloadable patch or other form of an update (for example, using a data-storage media).
In the suggestive rendering of
In another approach, the window system, window manager, operating system, or combination of these only distributes traditional computer mouse/touchpad user interface signals from conventional pointing devices and other provisions are used to direct the additional user interface parameter signals provided by the APD to selected applications. This can be implemented in a number of ways. In one example, depicted in
Once user interface signals are routed to an application, the application it self can utilize or sub-route the user interface signals in various ways. Some applications, such as data visualization, maps, simulations, CAD systems, etc. can beneficially use more than three simultaneously interactively adjustable user inputs directly. Other applications, such as browsers and viewers, can support such applications indirectly as taught and discussed for example in pending U.S. patent application Ser. No. 12/875,119. Browsers, viewers, and hypermedia documents can also be provided with advanced hypermedia objects that generalize the notion of hyperlinks, rollovers, sliders, buttons, etc. that are configured to utilize additional user interface signals; such advanced hypermedia objects taught and discussed for example in pending U.S. Patent Application 61/435,395.
While the invention has been described in detail with reference to disclosed embodiments, various modifications within the scope of the invention will be apparent to those of ordinary skill in this technological field. It is to be appreciated that features described with respect to one embodiment typically can be applied to other embodiments.
The invention can be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Therefore, the invention properly is to be construed with reference to the claims.
Although exemplary embodiments have been provided in detail, it should be understood that various changes, substitutions and alternations could be made thereto without departing from spirit and scope of the disclosed subject matter as defined by the appended claims. Variations described for exemplary embodiments may be realized in any combination desirable for each particular application. Thus particular limitations, and/or embodiment enhancements described herein, which may have particular advantages to a particular application, need not be used for all applications. Also, not all limitations need be implemented in methods, systems, and/or apparatuses including one or more concepts described with relation to the provided exemplary embodiments.
Claims
1. A method for routing signals from a user interface device to an application, the user interface device providing traditional user interface device signals and additional user interface signals, the method comprising:
- receiving traditional user interface device signals and additional user interface signals from a user interface device;
- routing the traditional user interface device signals to a selected application according to a first input focus selection;
- routing the additional user interface device signals to the selected application according to a second input focus selection;
- wherein the first and second input focus selection made by at least one focus control element.
2. The method of claim 1 wherein the at least one focus control element comprises a window manager.
3. The method of claim 1 wherein the at least one focus control element comprises a window system.
4. The method of claim 1 wherein the at least one focus control element comprises an operating system.
5. The method of claim 1 wherein both the first and second input focus selection is made by the same focus control element.
6. The method of claim 1 wherein the first and second input focus selection made by a first focus control element and second input focus selection made by a second focus control element.
7. The method of claim 1 wherein the user input device is a computer mouse comprising a first and second scroll wheel.
8. The method of claim 1 wherein the user input device is a computer mouse comprising a touchpad.
9. The method of claim 1 wherein the user input device is a computer mouse comprising a High Definition Touch Pad (HDTP).
10. The method of claim 1 wherein the user input device comprises a touch user interface responsive to gestures and the at least one additional user-adjustable input comprises at least one gesture.
11. The method of claim 1 wherein the user input device comprises a touch user interface responsive to the yaw angle of a finger in contact with the touch user interface and the at least one additional user-adjustable input is responsive to a measurement of the yaw angle.
12. The method of claim 1 wherein the user input device comprises a touch user interface responsive to the roll angle of a finger in contact with the touch user interface and the at least one additional user-adjustable input is responsive to a measurement of the roll angle.
13. The method of claim 1 wherein the user input device comprises a touch user interface responsive to the pitch angle of a finger in contact with the touch user interface and the at least one additional user-adjustable input is responsive to a measurement of the pitch angle.
14. The method of claim 1 wherein the user input device comprises a touch user interface responsive to at least two angles of a finger in contact with the touch user interface and the at least one additional user-adjustable input is responsive to a measurement of each of the two angles.
Type: Application
Filed: Feb 11, 2011
Publication Date: Aug 18, 2011
Inventor: Lester F. LUDWIG (Belomont, CA)
Application Number: 13/026,097
International Classification: G06F 9/46 (20060101);