Package com.blackledge.david.tivo.widgets.qk
The QuickKeyboard (QK) is a TiVo Keyboard widget by David Blackledge that is
extensible and is designed to support handlers that allow quick entry via the
TiVo Remote.
See:
Description
Interface Summary |
QuickKeyboardHandler |
The class that defines the layout, cues, and logic in selecting keyboard
characters in a minimal number of strokes. |
Class Summary |
QKCue |
Objects that tell the QuickKeyboard how to give the user hints about what
regions of the character layout will get activated by different key
presses. |
QuickKeyboard |
Superclass of a quicker keyboard concept for use with infrared remote
controls. |
Package com.blackledge.david.tivo.widgets.qk Description
The QuickKeyboard (QK) is a TiVo Keyboard widget by David Blackledge that is
extensible and is designed to support handlers that allow quick entry via the
TiVo Remote. Generally, handlers are defined to allow key selection with two
button presses on the remote.
QK also provides the ability to move a cursor through your text to edit/insert.
QK is designed to be used with a number of included handlers as well as
programmer-defined handlers of other kinds. Programmers can define what the
keyboard layout is, what the user's button press cues are, and additional cues
which can change with every button press. Each button press can set a character
or a proposed character or a string of characters.
Included handlers (in the "handlers" subpackage):
- Quadrants - the original inspiration - the keyboard is divided into quadrants.
The first keypress selects the quadrant, the second keypress chooses an item
within the quadrant.
- RowColumn - The keyboard is displayed as a grid with keys down the side and
across the top. The first keypress is a row selection, the second keypress is a
column selection.
The keyboard is layed out such that 01=a and 26=z to create a useful mental map.
- Texting - telephone / texting style: keep pressing 2 to go through a,b,c,2,
etc. Press another key to commit that one and start selecting another.
- TextingRowColumn - a grid of the Texting keys where you first press the
number you would use in the Texting keyboard, then you press the position in
that key's list to select the actual character (21=a, 22=b)
- Directional - like the traditional keyboard, but uses the numbers to define
directions and selection. The major advantage is that you can move diagonally
with 1, 3, 7, and 9.
You can cycle through known keyboards with the Record key. (programmers can register theirs in the list).
Future possibilities:
- Dictionary text completion - handlers are allowed to give more than one
character as the possible completion "character", so it could be the rest of a
matching likely word. Ideally this will be supported at the main QK level,
rather than via a handler.
- Preferences - at least memory of the last-used keyboard so it will be
selected the next time a user is prompted with a QK anywhere on that server.