# US 6,950,988 B1 · Multi-context iterative directory filter

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 6,950,988 B1
- Document ID: US6950988B1
- Status: Granted
- Kind: B1
- Application number: 09/976,477
- Filed: 2001-10-12
- Granted: 2005-09-27
- Earliest claimed: 2001-06-11
- Assignees: Handspring, Inc.
- Inventors: Jeffrey C. Hawkins; Thomas B. Bridgwater; Robert Y. Haitani; Srikiran Prasad; William B. Rees
- Web page: https://patentgrep.com/patent/US6950988B1

## CPC

- H04M 1/2748: by matching character strings
- G06F 1/1626: {with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]}
- G06F 1/1656: {Details related to functional adaptations of the enclosure, e.g. to provide protection against EMI, shock, water, or to host detachable peripherals like a mouse or removable expansions units like PCMCIA cards, or to provide access to internal components for maintenance or to removable storage supports like CDs or DVDs, or to mechanically mount accessories (mounting of accessories to a computer display G06F1/1607; display hoods G06F1/1603; cooling arrangements for portable computers G06F1/203)}
- G06F 1/1662: {Details related to the integrated keyboard}
- G06F 3/0237: {using prediction or retrieval techniques}
- H04M 1/0214: {Foldable telephones, i.e. with body parts pivoting to an open position around an axis parallel to the plane they define in closed position (combined with translation movement H04M1/0235)}
- H04M 1/0241: {using relative motion of the body parts to change the operational status of the telephone set, e.g. switching on/off, answering incoming call}
- G06F 2200/1632: Pen holder integrated in the computer
- G06F 2200/1634: Integrated protective display lid, e.g. for touch-sensitive display in handheld computer
- H04M 1/27453: Directories allowing storage of additional subscriber data, e.g. metadata
- H04M 1/27463: {Predictive input, predictive dialling by comparing the dialled sequence with the content of a telephone directory}
- H04M 1/72436: for text messaging, e.g. short messaging services [SMS] or e-mails
- H04M 2250/14: including a card reading device
- H04M 2250/16: including more than one display unit
- H04M 2250/22: including a touch pad, a touch sensor or a touch detector
- Y10S 707/99931: Database or file accessing
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

On a device having keys with multiple values, a user may perform either an iterative directory filtering operation or a direct-dial operation, without specifying which of the operations is intended. The invention thereby allows the user to perform any of a number of different operations to specify a number to be dialed or to identify a directory record, without requiring the user to specify a mode. The invention determines which of the operations the user intends by analyzing the entered keystrokes, and activates the appropriate feedback and functionality for the determined operation. The invention further performs iterative directory filtering on multiple fields concurrently, including derived fields and combination fields.

## Claims

### Claim 1

A computer-implemented method for concurrently accepting parameters in at least two contexts, the method comprising:
accepting a keystroke sequence comprising at least one keystroke, each keystroke having a first value, and at least one keystroke having a second value;
determining whether the keystroke sequence produces a valid result in a first context;
responsive to the keystroke sequence producing a valid result in the first context:
outputting first feedback, the fist feedback indicating keystroke input according to the first context; and
performing a first action corresponding to the first context, using the first value for each keystroke;
responsive to the keystroke sequence not producing a valid result in the first context:
determining whether the keystroke sequence produces a valid result in a second context; and
responsive to the keystroke sequence producing a valid result in the second context:
outputting second feedback, the second feedback indicating keystroke input according to the second context; and
performing a second action corresponding to the second context, using the second value for each keystroke.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the first feedback indicates the first value for each keystroke; and
the second feedback indicates the second value for each keystroke.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first feedback comprises visual feedback and the second feedback comprises visual feedback.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
responsive to the keystroke sequence not producing a valid result in the first context and in the second context, outputting an invalidity indicator.

### Claim 5 (depends on 4)

The method of claim 4, wherein outputting an invalidity indicator comprises outputting an auditory invalidity indicator.

### Claim 6 (depends on 4)

The method of claim 4, wherein outputting an invalidity indicator comprises outputting a visual invalidity indicator.

### Claim 7 (depends on 1)

The method of claim 1, wherein at least one of the contexts comprises accepting input for a directory filtering operation on a plurality of directory records.

### Claim 8 (depends on 7)

The method of claim 7, wherein the first context comprises accepting input for a directory filtering operation on a plurality of directory records.

### Claim 9 (depends on 8)

The method of claim 8, wherein the directory filtering operation is iterative.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the directory filtering operation using the first value for each of the accepted keystrokes.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the directory filtering operation using the accepted keystrokes;
wherein determining whether the keystroke sequence produces a valid result in a first context comprises determining whether the performed directory filtering operation produces at least one valid result for the keystroke sequence.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the directory filtering operation using the accepted keystrokes;
wherein each directory record comprises contents, and wherein performing the directory filtering operation comprises comparing the keystroke sequence with the contents of at least one directory record.

### Claim 13 (depends on 12)

The method of claim 12, wherein the first feedback comprises at least one matching directory record.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the directory filtering operation using the accepted keystrokes;
wherein each directory record comprises at least one field value, and wherein the directory filtering operation comprises comparing the keystroke sequence with at least one field value in at least one directory record.

### Claim 15 (depends on 14)

The method of claim 14, wherein the first feedback comprises at least one matching directory record.

### Claim 16 (depends on 8)

The method of claim 8, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the directory filtering operation using the accepted keystrokes;
wherein the directory filtering operation comprises comparing the keystroke sequence with at least two field values in at least one directory record.

### Claim 17 (depends on 8)

The method of claim 8, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the directory filtering operation using the accepted keystrokes;
wherein each directory record comprises at least two field values, and wherein the directory filtering operation comprises comparing the keystroke sequences with at least one value derived from at least one field in at least one directory record.

### Claim 18 (depends on 8)

The method of claim 8, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the directory filtering operation using the accepted keystrokes;
wherein each directory record comprises at least two field values, and wherein the directory filtering operation comprises comparing the keystroke sequences with at least one field value in at least one directory record and with at least one value derived from at least one field in at least one directory record.

### Claim 19 (depends on 8)

The method of claim 8, wherein the first feedback comprises at least one matching directory record.

### Claim 20 (depends on 1)

The method of claim 1, further comprising:
accepting an additional keystroke, the additional keystroke having at least a first value;
appending the additional keystroke to the keystroke sequence;
repeating the steps of:
determining whether the keystroke sequence produces a valid result in a first context;
responsive to the keystroke sequence producing a valid result in the first context, outputting first feedback, the first feedback indicating keystroke input according to the first context;
responsive to the keystroke sequence not producing a valid result in the first context:
determining whether the keystroke sequence produces a valid result in a second context; and
responsive to the keystroke sequence producing a valid result in the second context, outputting second feedback, the second feedback indicating keystroke input according to the second context.

### Claim 21 (depends on 1)

The method of claim 1, further comprising:
accepting a backspace keystroke;
deleting a keystroke from the keystroke sequence;
repeating the steps of:
determining whether the keystroke sequence produces a valid result in a first context;
responsive to the keystroke sequence producing a valid result in the first context, outputting first feedback, the first feedback indicating keystroke input according to the first context; and
responsive to the keystroke sequence not producing a valid result in the first context:
determining whether the keystroke sequence produces a valid result in a second context; and
responsive to the keystroke sequence producing a valid result in the second context, outputting second feedback, the second feedback indicating keystroke input according to the second context.

### Claim 22 (depends on 1)

The method of claim 1, wherein at least one of the contexts comprises accepting input for a direct entry operation.

### Claim 23 (depends on 22)

The method of claim 22, wherein the first context comprises accepting input for a direct entry operation.

### Claim 24 (depends on 23)

The method of claim 23, wherein the direct entry operation comprises a telephone number direct entry operation.

### Claim 25 (depends on 23)

The method of claim 23, wherein determining whether the keystroke sequence produces a valid result in a first context comprises determining whether all of the accepted keystrokes have a numeric value.

### Claim 26 (depends on 23)

The method of claim 23, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the direct entry operation using the first value for each of the accepted keystrokes.

### Claim 27 (depends on 23)

The method of claim 23, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the direct entry operation using the accepted keystrokes.

### Claim 28 (depends on 1)

The method of claim 1, wherein the first context comprises accepting input for a directory filtering operation, and the second context comprises accepting input for a direct entry operation.

### Claim 29 (depends on 28)

The method of claim 28, further comprising:
responsive to the keystroke sequence producing a valid result in the first context, performing the directory filtering operation using the first value for each of the accepted keystrokes; and
responsive to the keystroke sequence not producing a valid result in the first context and producing a valid result in the second context, performing the direct entry operation using the second value for each of the accepted keystrokes.

### Claim 30 (depends on 29)

The method of claim 29, wherein:
determining whether the keystroke sequence produces a valid result in a first context comprises determining whether the performed directory filtering operation produces at least one valid result for the accepted keystrokes; and
determining whether the keystroke sequence produces a valid result in a second context comprises determining whether all of the accepted keystrokes have a numeric value.

### Claim 31 (depends on 1)

The method of claim 1, wherein:
each first value comprises one selected from the group consisting of a letter and a punctuation symbol; and
each second value comprises a number.

### Claim 32 (depends on 1)

The method of claim 1, wherein:
each first value comprises one selected from the group consisting of a letter and a punctuation symbol; and
each second value comprises one selected from the group consisting of a number and a punctuation symbol.

### Claim 33 (depends on 1)

The method of claim 1, further comprising:
responsive to at least one of the accepted keystrokes not being valid in one of the contexts, determining that the other context is intended.

### Claim 34 (depends on 1)

The method of claim 1, further comprising:
responsive to the keystroke sequence not producing a valid result in one of the contexts, performing an action using the keystroke sequence according to the other context.

### Claim 35 (depends on 1)

The method of claim 1, wherein accepting a keystroke sequence comprises accepting a keystroke sequence entered via a QWERTY keyboard having a plurality of keys, wherein a subset of the keys have secondary numeric values.

### Claim 36 (depends on 35)

The method of claim 35, wherein the subset of the keys having secondary numeric values are arranged according to a numeric keypad layout.

### Claim 37

A computer-implemented method for concurrently accepting parameters in at least two contexts, the method comprising:
accepting a keystroke sequence comprising at least one keystroke, each keystroke having a first value, and at least one keystroke having a second value;
determining whether the keystroke sequence produces a valid result in a first context;
responsive to the keystroke sequence producing a valid result in the first context:
outputting first feedback, the first feedback indicating keystroke input according to the first context; and
performing a first action corresponding to the first context, using the first value for each keystroke;
responsive to the keystroke sequence not producing a valid result in the first context:
determining whether the keystroke sequence produces a valid result in a second context; and
responsive to the keystroke sequence producing a valid result in the second context:
outputting second feedback, the second feedback indicating keystroke input according to the second context; and
performing a second action corresponding to the second context, using the second value for each keystroke.

### Claim 38 (depends on 37)

The method of claim 37, wherein:
the first feedback indicates the first value for each keystroke; and
the second feedback indicates the second value for each keystroke.

### Claim 39 (depends on 37)

The method of claim 37, further comprising:
responsive to at least one of the accepted keystrokes being invalid in one of the contexts, deleting feedback indicating keystroke input according to said one of the contexts.

### Claim 40 (depends on 37)

The method of claim 37, wherein the first feedback comprises visual feedback and the second feedback comprises visual feedback.

### Claim 41 (depends on 40)

The method of claim 40, wherein:
outputting the first visual feedback comprises outputting the first visual feedback at a first location on a display screen; and
outputting the second visual feedback comprises outputting the second visual feedback at a second location on a display screen.

### Claim 42 (depends on 37)

The method of claim 37, wherein the first context comprises accepting input for a directory filtering operation on a plurality of directory records.

### Claim 43 (depends on 42)

The method of claim 42, wherein the directory filtering operation is iterative.

### Claim 44 (depends on 37)

The method of claim 37, further comprising:
accepting an additional keystroke, the additional keystroke having at least a first value;
appending the additional keystroke to the keystroke sequence;
repeating the steps of determining whether the keystroke sequence produces a valid result in a first context, and responsive to the key-stroke sequence producing a valid result in the first context, outputting first feedback, the first feedback indicating keystroke input according to the first context; and
repeating the steps of responsive to the keystroke sequence not producing a valid result in the first context, determining whether the keystroke sequence produces a valid result in a second context, and, responsive to the keystroke sequence producing a valid result in the second context, outputting second feedback concurrently with the first feedback, the second feedback indicating keystroke input according to the second context.

### Claim 45 (depends on 37)

The method of claim 37, further comprising:
accepting a backspace keystroke;
deleting a keystroke from the keystroke sequence;
repeating the steps of determining whether the keystroke sequence produces a valid result in a first context, and, responsive to the key-stroke sequence producing a valid result in the first context, outputting first feedback, the first feedback indicating keystroke input according to the first context; and
repeating the steps of responsive to the keystroke sequence not producing a valid result in the first context, determining whether the keystroke sequence produces a valid result in a second context, and, responsive to the keystroke sequence producing a valid result in the second context, outputting second feedback concurrently with the first feedback, the second feedback indicating keystroke input according to the second context.

### Claim 46 (depends on 37)

The method of claim 37, wherein the first context comprises accepting input for a direct entry operation.

### Claim 47 (depends on 46)

The method of claim 46, wherein the direct entry operation comprises a telephone number direct entry operation.

### Claim 48 (depends on 46)

The method of claim 46, wherein determining whether the keystroke sequence produces a valid result in the first context comprises determining whether all of the accepted keystrokes have a numeric value.

### Claim 49 (depends on 37)

The method of claim 37, wherein the first context comprises accepting input for a directory filtering operation, and the second context comprises accepting input for a direct entry operation.

### Claim 50 (depends on 37)

The method of claim 37, wherein accepting a keystroke sequence comprises accepting a keystroke sequence entered via a QWERTY keyboard having a plurality of keys, wherein a subset of the keys have secondary numeric values.

### Claim 51 (depends on 50)

The method of claim 50, wherein the subset of the keys having secondary numeric values are arranged according to a numeric keypad layout.

### Claim 52

A system for concurrently accepting parameters in at least two contexts, the system comprising:
a character input device comprising a plurality of character input device elements, each character input device element having a first value, and at least a subset of the character input device elements having a second value;
a buffer, coupled to the character input device, for storing a keystroke sequence entered on the character input device, the keystroke sequence comprising at least one keystroke;
a string handler, coupled to the buffer, for determining whether the keystroke sequence produces a valid result in a first context and for determining whether all of the keystrokes are valid in a second context;
an output device, coupled to the string handler, for:
responsive to the keystroke sequence producing a valid result in the first context, outputting first feedback, the first feedback indicating keystroke input according to the first context; and
responsive to the keystroke sequence not producing a valid result in the first context and producing a valid result in the second context, outputting second feedback, the second feedback indicating keystroke input according to the second context; and
a processor, coupled to the string handler, for:
responsive to the keystroke sequence producing a valid result in the first context, performing a first action corresponding to the first context, using the first value for each keystroke; and
responsive to the keystroke sequence not producing a valid result in the first context and producing a valid result in the second context, performing a second action corresponding to the second context, using the second value for each keystroke.

### Claim 53 (depends on 52)

The system of claim 52, wherein the processor comprises:
a directory lookup engine and a dialer, and wherein the first action comprises retrieving a telephone number from a directory record identified by the first value for each keystroke and
dialing the retrieved telephone number.

### Claim 54 (depends on 52)

The system of claim 52, wherein the processor comprises
a dialer, coupled to the string handler, and wherein the second action comprises dialing a telephone number specified by the second value for each keystroke.

### Claim 55 (depends on 52)

The system of claim 52, wherein:
the output device comprises a display screen;
the character input device comprises a keyboard; and
each character input device element comprises a key.

### Claim 56 (depends on 52)

The system of claim 52, further comprising:
a second output device, coupled to the string handler, for, responsive to the keystroke sequence not producing a valid result in the first context and not producing a valid result in the second context, outputting an invalidity indicator.

### Claim 57 (depends on 56)

The system of claim 56, wherein the second output device comprises at least one selected from:
an auditory output device; and
a visual output device.

### Claim 58 (depends on 52)

The system of claim 52, wherein, responsive to the keystroke sequence not producing a valid result in the first context and not producing a valid result in the second context, the output device outputs an invalidity indicator.

### Claim 59 (depends on 52)

The system of claim 52, wherein the first context comprises accepting input for an iterative directory filtering operation on a plurality of directory records.

### Claim 60 (depends on 59)

The system of claim 59, further comprising:
a directory filter, coupled to the string handler, for, responsive to the keystroke sequence producing a valid result in the first context, performing the directory filtering operation using the first value for each of the stored keystrokes.

### Claim 61 (depends on 52)

The system of claim 52, wherein at least one of the contexts comprises accepting input for a direct entry operation.

### Claim 62 (depends on 61)

The system of claim 61, wherein the first context comprises accepting input for a direct entry operation.

### Claim 63 (depends on 62)

The system of claim 62, wherein the direct entry operation comprises a telephone number direct entry operation.

### Claim 64 (depends on 52)

The system of claim 52, wherein the first context comprises accepting input for a directory filtering operation, and the second context comprises accepting input for a direct entry operation.

### Claim 65 (depends on 52)

The system of claim 52, wherein:
each first value comprises one selected from the group consisting of a letter and a punctuation symbol; and
each second value comprises a number.

### Claim 66 (depends on 52)

The system of claim 52, wherein:
each first value comprises one selected from the group consisting of a letter and a punctuation symbol; and
each second value comprises one selected from the group consisting of a number and a punctuation symbol.

### Claim 67 (depends on 52)

The system of claim 52, wherein:
responsive to at least one of the keystrokes not being valid in one of the contexts, the string handler determines that the other context is intended.

### Claim 68 (depends on 52)

The system of claim 52, wherein the character input device comprises a QWERTY keyboard having a plurality of keys, wherein a subset of the keys have secondary numeric values.

### Claim 69 (depends on 68)

The system of claim 68, wherein the subset of the keys having secondary numeric values are arranged according to a numeric keypad layout.

### Claim 70

A system for concurrently accepting parameters in at least two contexts, the system comprising:
a character input device comprising a plurality of character input devices, each character input device having a first value, and at least a subset of the character input devices having a second value;
a buffer, coupled to the character input device, for storing a keystroke sequence entered on the character input device, the keystroke sequence comprising at least one keystroke;
a string handler, coupled to the buffer, for determining whether the keystroke sequence produces a valid result in a first context and for determining whether all of the keystrokes are valid in a second context;
an output device, coupled to the string handler, for:
responsive to the keystroke sequence producing a valid result in the first context, outputting first feedback, the first feedback indicating keystroke input according to the first context; and
responsive to the keystroke sequence producing a valid result in the second context and not producing a valid result in the -first context, outputting second feedback, the second feedback indicating keystroke input according to the second context;
responsive to the keystroke sequence producing a valid result in both the first and second contexts, outputting first and second feedback concurrently, the first feedback indicating keystroke input according to the first context and the second feedback indicating keystroke input according to the second context;
wherein, responsive to the keystroke sequence producing a valid result in the first context, the system performs a first action corresponding to the first context, using the first value for each keystroke; and
wherein, responsive to the keystroke sequence producing a valid result in the second context, the system performs a second action corresponding to the second context, using the second value for each keystroke; and
wherein, responsive to the keystroke sequence producing a valid result in both the first and second contexts, the system performs a first action corresponding to the first context, using the first value for each keystroke, and a second action corresponding to the second context, using the second value for each keystroke.

### Claim 71 (depends on 70)

The system of claim 70, wherein:
the output device comprises a display screen;
the character input device comprises a keyboard; and
each character input device element comprises a key.

### Claim 72 (depends on 71)

The system of claim 71, wherein the display screen outputs the first visual feedback at a first location and outputs the second visual feedback at a second location.

### Claim 73 (depends on 70)

The system of claim 70, wherein the first context comprises accepting input for an iterative directory filtering operation on a plurality of directory records.

### Claim 74 (depends on 70)

The system of claim 70, wherein at least one of the contexts comprises accepting input for a direct entry operation.

### Claim 75 (depends on 74)

The system of claim 74, wherein the first context comprises accepting input for a direct entry operation.

### Claim 76 (depends on 75)

The system of claim 75, wherein the direct entry operation comprises a telephone number direct entry operation.

### Claim 77 (depends on 70)

The system of claim 70, wherein the first context comprises accepting input for a directory filtering operation, and the second context comprises accepting input for a direct entry operation.

### Claim 78 (depends on 70)

The system of claim 70, wherein the character input device comprises a QWERTY keyboard having a plurality of keys, wherein a subset of the keys have secondary numeric values.

### Claim 79 (depends on 78)

The system of claim 78, wherein the subset of the keys having secondary numeric values are arranged according to a numeric keypad layout.

### Claim 80

A computer program product comprising a computer-usable medium having computer-readable code embodied therein for concurrently accepting parameters in at least two contexts, the computer program product comprising:
computer-readable program code configured to cause a computer to accept a keystroke sequence comprising at least one keystroke, each keystroke having a first value, and at least one keystroke having a second value;
computer-readable program code configured to cause a computer to determine whether the keystroke sequence produces a valid result in a first context;
computer-readable program code configured to cause a computer to, responsive to the keystroke sequence producing a valid result in the first context:
output first feedback, the first feedback indicating keystroke input according to the first context; and
perform a first action corresponding to the first context, using the first value for each keystroke;
computer-readable program code configured to cause a computer to, responsive to the keystroke sequence not producing a valid result in the first context:
determine whether the keystroke sequence produces a valid result in a second context; and
responsive to the keystroke sequence producing a valid result in the second context:
output second feedback, the second feedback indicating keystroke input according to the second context;
and
perform a second action corresponding to the second context, using the second value for each keystroke.

### Claim 81 (depends on 80)

The computer program product of claim 80, wherein the first context comprises accepting input for an iterative directory filtering operation on a plurality of directory records.

### Claim 82 (depends on 81)

The computer program product of claim 81, wherein:
the computer-readable program code configured to cause a computer to perform a first action corresponding to the first context comprises computer-readable program code configured to cause a computer to perform the directory filtering operation using the first value for each of the accepted keystrokes.

### Claim 83 (depends on 80)

The computer program product of claim 80, wherein at least one of the contexts comprises accepting input for a direct entry operation.

### Claim 84 (depends on 83)

The computer program product of claim 83, wherein the first context comprises accepting input for a telephone number direct entry operation.

### Claim 85 (depends on 80)

The computer program product of claim 80, wherein the computer-readable program code configured to cause a computer to determine whether the keystroke sequence produces a valid result in a first context comprises computer-readable program code configured to cause a computer to determine whether all of the accepted keystrokes have a numeric value.

### Claim 86 (depends on 80)

The computer program product of claim 80, wherein the first context comprises accepting input for a directory filtering operation, and the second context comprises accepting input for a direct entry operation.

### Claim 87 (depends on 80)

The computer program product of claim 80, further comprising:
computer-readable program code configured to cause a computer to, responsive to at least one of the accepted keystrokes not being valid in one of the contexts, determine that the other context is intended.

### Claim 88 (depends on 80)

The computer program product of claim 80, further comprising:
computer-readable program code configured to cause a computer to, responsive to the keystroke sequence not producing a valid result in one of the contexts, perform an action using the keystroke sequence according to the other context.

### Claim 89 (depends on 80)

The computer program product of claim 80, wherein the computer-readable program code configured to cause a computer to accept a keystroke sequence comprises computer-readable program code configured to cause a computer to accept a keystroke sequence from a QWERTY keyboard having a plurality of keys, wherein a subset of the keys have secondary numeric values.

### Claim 90 (depends on 89)

The computer program product of claim 89, wherein the subset of the keys having secondary numeric values are arranged according to a numeric keypad layout.

### Claim 91 (depends on 80)

The computer program product of claim 80, wherein the computer-readable program code configured to cause a computer to accept a character sequence comprises computer-readable program code configured to cause a computer to accept a character sequence from a QWERTY keyboard having a plurality of keys, wherein a subset of the keys have secondary numeric values.

### Claim 92 (depends on 91)

The computer program product of claim 91, wherein the subset of the keys having secondary numeric values are arranged according to a numeric keypad layout.

### Claim 93

A computer program product comprising a computer-usable medium having computer-readable code embodied therein for concurrently accepting parameters in at least two contexts, the computer program product comprising:
computer-readable program code configured to cause a computer to accept a keystroke sequence comprising at least one keystroke, each keystroke having a first value, and at least one keystroke having a second value;
computer-readable program code configured to cause a computer to determine whether the keystroke sequence produces a valid result in a first context;
computer-readable program code configured to cause a computer to, responsive to the keystroke sequence producing a valid result in the first context, output first feedback, the first feedback indicating keystroke input according to the first context, and to perform a first action corresponding to the first context, using the first value for each keystroke;
computer-readable program code configured to cause a computer to, responsive to the keystroke sequence not producing a valid result in the first context:
determine whether the keystroke sequence produces a valid result in a second context; and
responsive to the keystroke sequence producing a valid result in the second context, output second feedback, the second feedback indicating keystroke input according to the second context, and to perform a second action corresponding to the second context, using the second value for each keystroke.

### Claim 94 (depends on 93)

The computer program product of claim 93, wherein:
the computer-readable program code configured to cause a computer to output the first visual feedback comprises computer-readable program code configured to cause a computer to output the first feedback at a first location on a display screen; and
the computer-readable program code configured to cause a computer to output the second visual feedback comprises computer-readable program code configured to cause a computer to output the second feedback at a second location on a display screen.

### Claim 95 (depends on 93)

The computer program product of claim 93, wherein the first context comprises accepting input for an iterative directory filtering operation on a plurality of directory records.

### Claim 96 (depends on 93)

The computer program product of claim 93, wherein the first context comprises accepting input for a telephone number direct entry operation.

### Claim 97 (depends on 93)

The computer program product of claim 93, wherein the computer-readable program code configured to cause a computer to accept a keystroke sequence comprises computer-readable program code configured to cause a computer to accept a keystroke sequence from a QWERTY keyboard having a plurality of keys, wherein a subset of the keys have secondary numeric values.

### Claim 98 (depends on 97)

The computer program product of claim 97, wherein the subset of the keys having secondary numeric values are arranged according to a numeric keypad layout.
