Browse Prior Art Database

Enhanced Accelerator Table for Window Systems

IP.com Disclosure Number: IPCOM000118673D
Original Publication Date: 1997-May-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 4 page(s) / 106K

Publishing Venue

IBM

Related People

Hirose, S: AUTHOR

Abstract

Disclosed is an enhancement of keyboard accelerator tables and a mechanism for managing enhanced accelerator tables. A normal entry of an accelerator table corresponds to a single key stroke, which may be accompanied by some shift keys. In the method presented here, an entry is extended so that it can correspond to a series of key strokes. Keyboard events are also enhanced so that more than one key stroke can be included in a single event.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 50% of the total text.

Enhanced Accelerator Table for Window Systems

      Disclosed is an enhancement of keyboard accelerator tables and
a mechanism for managing enhanced accelerator tables.  A normal entry
of an accelerator table corresponds to a single key stroke, which may
be accompanied by some shift keys.  In the method presented here, an
entry is extended so that it can correspond to a series of key
strokes.  Keyboard events are also enhanced so that more than one key
stroke can be included in a single event.

      The enhanced accelerator tables can be used to make the
mnemonics of keyboard short-cuts more intuitive.  Short-cuts usually
have the initial of the command as their mnemonics.  However, this
general rule is not effective when there is more than one command
with the same initial in an application, for example, "Load" and
"List". In  such a case, the application designer has to allocate
mnemonics by forecasting how frequently a command is invoked, etc.
If "Control-L" is  selected for the "Load" command, another key
combination, for example,  "Control-I" (respecting the second
character), or "Control-Shift-L", should be allocated to the "List"
command, making mnemonics more difficult to remember.  By using the
enhanced accelerator tables, which  can contain definitions for
multiple key strokes, "Control-LO" and "Control-LI" can be allocated
to the commands respectively.

      The enhancement also facilitates application developers to
support new devices without affecting application programs.  Think of
using a microphone device, whose output is a series of words, to
issue commands.  In theory, any device's output can be converted into
a byte  stream; therefore, it can be translated into a sequence of
keyboard events.  However, this method requires an application
program to be modified so that it can recompose such data into its
original format. On  the other hand, if the output is converted into
an enhanced keyboard event described below, application developers
only have to rebuild the  accelerator table resource and no coding is
needed at all.

      The rest of this article explains a simple implementation of
the mechanism on OS/2*.  A device driver or a message monitor that
generates enhanced keyboard events must be implemented.  However,
since its details may vary for each device, they will not be
discussed in this  article.  A focus on how to process an enhanced
event once it has been  generated will be discussed.

      When a keyboard event is generated, OS/2 Presentation Manager*
(PM) sends a WM_XLATACCEL message to the focused window.  In usual
cases, the message finally reaches the frame window that may have a
keyboard accelerator table.  On receiving a WM_XLATACCEL message, the
frame's window procedure invokes the WinTranslateAccel function and
translates the original keyboard event into a command event if it
matches an entry  in the accelerator table.

A keyboard event of OS/2 PM, which is an...