Global incremental type search navigation directly from printable keyboard character input
First Claim
1. A computer-implemented method for incremental type search navigation among a plurality of components in a hierarchy having at least two levels by way of at least one printable keyboard character input, said method comprising:
- storing said at least one printable keyboard character input in an input buffer;
recursively searching plural levels of said plurality of components within a defined scope in the hierarchy having at least two levels to find a component within the defined scope in the hierarchy that matches said at least one printable keyboard character input in said input buffer; and
responsive to finding a component within the defined scope in the hierarchy that matches said at least one printable keyboard character input in said input buffer, changing an input focus from an active one of said plurality of components to an identified one of said plurality of components in the hierarchy that matches said at least one printable keyboard character input in said input buffer;
wherein the defined scope encompasses only a subset of components in the hierarchy having at least two levels.
2 Assignments
0 Petitions
Accused Products
Abstract
A user interface control implementing a global keyboard navigation system by way of printable keyboard character input to extend an incremental type search across all window components within a defined scope. A recursive search is executed to match any number of printable characters input by a user to any component name of any window component among the parent and child generations existing in a given system within a defined scope. Repeat prefix searches for subsequent window component names are executed based on a user repeating the most recently input printable character that exists in an input buffer.
162 Citations
18 Claims
-
1. A computer-implemented method for incremental type search navigation among a plurality of components in a hierarchy having at least two levels by way of at least one printable keyboard character input, said method comprising:
-
storing said at least one printable keyboard character input in an input buffer;
recursively searching plural levels of said plurality of components within a defined scope in the hierarchy having at least two levels to find a component within the defined scope in the hierarchy that matches said at least one printable keyboard character input in said input buffer; and
responsive to finding a component within the defined scope in the hierarchy that matches said at least one printable keyboard character input in said input buffer, changing an input focus from an active one of said plurality of components to an identified one of said plurality of components in the hierarchy that matches said at least one printable keyboard character input in said input buffer;
wherein the defined scope encompasses only a subset of components in the hierarchy having at least two levels. - View Dependent Claims (2, 3, 4, 5, 6, 7)
defining said defined scope to encompass only a subset of said plurality of components;
receiving a plurality of printable keyboard characters generated by a user into an input buffer; and
navigating said plurality of components in the hierarchy based on an incremental type search via said printable keyboard characters.
-
-
3. A method according to claim 2 further comprising:
-
identifying ones of said keyboard character input that are printable and occur in combination with a predefined modifier key indicative of a directive to break outside the defined scope in the hierarchy;
responsive to receiving a keyboard character in combination with the predefined modifier key indicative of a directive to break outside the defined scope in the hierarchy, breaking outside the defined scope in the hierarchy from said active one of said plurality of components; and
reestablishing a search start point from a top level component within said plurality of components.
-
-
4. A method according to claim 1 wherein said recursively searching comprises:
-
identifying said active one of said plurality of components;
searching down through each level of child components from said active one of said plurality of components within the defined scope in the hierarchy;
determining that all of said child window components of said active one of said plurality of components have been searched;
propagating said search up to a next higher parent component of said active one of said plurality of components within the defined scope in the hierarchy; and
continuing said search of each child component level from a perspective of successive parent component levels until all parent component and child component levels are searched within said defined scope in the hierarchy.
-
-
5. A computer-readable medium having computer-executable instructions for performing the method of claim 4.
-
6. A method according to claim 1 wherein said input buffer has a second character and said recursively searching comprises:
-
identifying duplicate characters in said input buffer beyond the second character in said input buffer; and
executing a repeat prefix search in response to said identifying duplicate characters in said input buffer beyond the second character, wherein said repeat prefix search is based on any number of printable keyboard characters presently in said input buffer up to a first one of said duplicate characters.
-
-
7. A computer-readable medium having computer-executable instructions for performing the method of claim 1.
-
8. A product for use in a global incremental type search navigation system to navigate among a plurality of components in a hierarchy having at least two levels by way of at least one printable keyboard character input, said product comprising:
-
a keyboard input buffer system, a keyboard input interval timer system, and a recursive search engine;
said keyboard input interval timer system being operational to time an interval between keyboard characters input by a user;
said keyboard input buffer system being operational to store said at least one printable keyboard character input that occurs within an unexpired time frame of an interval timer into a keyboard input buffer; and
said recursive search engine being operational to search a plurality of levels of said plurality of components within a defined scope in the hierarchy for a component name that matches said at least one printable keyboard character input in said keyboard input buffer, wherein said recursive search engine is further operational to identify one of said plurality of components that matches said at least one printable keyboard character input in said keyboard input buffer to which an input focus is changed. - View Dependent Claims (9, 10, 11)
identify ones of said keyboard character input that are printable and that occur in combination with a predefined modifier key, and in response to a modifier key indicative of a directive to break scope, breaking outside the defined scope from said active window component input focus and reestablishing a search start point from a top level component within said plurality of components.
-
-
10. A product according to claim 8 wherein said recursive search engine is further operational to:
-
identify an active one of said plurality of components;
search down through each level of child components from said active one of said plurality of window components within the defined scope in the hierarchy;
determine that all of said child components of said active one of said plurality of components have been searched within said defined scope;
propagate said search up to a parent component of said active one of said plurality of components within said defined scope in the hierarchy; and
continue said search of each child component level from a perspective of each parent component level within said defined scope in the hierarchy until all parent component and child component levels are exhausted.
-
-
11. A product according to claim 8 wherein said keyboard input buffer has a second character and said recursive search engine is further operational to:
-
identify duplicate characters in said keyboard input buffer beyond the second character in said keyboard input buffer; and
execute a repeat prefix search in response to duplicate characters in said keyboard input buffer beyond the second character, wherein said repeat prefix search is based on any number of printable keyboard characters presently in said keyboard input buffer up to a first one of said duplicate characters.
-
-
12. In a computer system having a user interface comprising a plurality of user interface elements in a hierarchy having at least two levels, wherein one of the plurality of user interface elements can have an input focus, a method for navigating among the user interface elements in the hierarchy via incremental type search, the method comprising:
-
accepting an ordered set of one or more printable characters typed at a keyboard of the computer system;
searching within the hierarchy for a user interface element matching the ordered set of one or more printable characters according to an incremental type search technique;
as a result of searching within the hierarchy for a user interface element matching the ordered set of one or more printable characters according to the incremental type search technique, finding a user interface element matching the ordered set of one or more printable characters according to an incremental type search technique; and
responsive to finding a user interface element matching the ordered set of one or more printable characters according to an incremental type search technique, changing the input focus to the matching user interface element. - View Dependent Claims (13, 14, 15, 16, 17, 18)
a defined scope encompasses a subset of the plurality of user interface elements in at least two levels in the hierarchy; - and
the searching is limited to user interface elements within the defined scope.
-
-
15. The method of claim 12 wherein
a defined scope encompasses a subset of the plurality of user interface elements in at least two levels in the hierarchy, the method further comprising: -
searching within the hierarchy only within the defined scope for a user interface element matching the ordered set of one or more printable characters according to an incremental type search technique;
receiving a keystroke indicative of a directive to break outside the defined scope; and
responsive to receiving the keystroke, expanding searching to user interface elements in the hierarchy outside the defined scope.
-
-
16. The method of claim 12 wherein the incremental type search technique is a hybrid incremental type search, wherein the ordered set of one or more printable characters is a set of two or more characters comprising a set of k characters, and a match is determined according to a method comprising:
-
determining if the first k characters of a user interface element match the ordered set of one or more printable characters;
responsive to determining the first k characters of a user interface element match the ordered set of one or more printable characters, setting the matching user interface element as a proposed match;
encountering an nth successive duplicate character beyond the second character in the ordered set of one or more printable characters;
responsive to encountering an nth duplicate character beyond the second character in the ordered set of one or more printable characters, setting the nth occurrence of a user interface element having its first k characters matching the first k characters in the ordered set of one or more printable characters as the proposed match; and
designating the proposed match as the match.
-
-
17. The method of claim 12 wherein the searching comprises:
-
searching an initial set of user interface elements having a common parent within the hierarchy for a user interface element matching the ordered set of one or more printable characters according to the incremental type search technique;
as a result of searching the initial set, determining the initial set fails to contain a user interface element matching the ordered set of one or more printable characters according to the incremental type search technique; and
responsive to determining the initial set fails to contain a user interface element matching the ordered set of one or more printable characters according to the incremental type search technique, expanding the searching to include user interface elements having a parent in common with the initial set.
-
-
18. The method of claim 17 wherein the parent in common with the initial set is an immediate parent of the initial set.
Specification