commodities.library/InvertKeyMap
[Contents]
[Index]
[Help]
[Retrace]
[Browse <]
[Browse >]
NAME
InvertKeyMap -- generate an input event from an ANSI code. (V36)
SYNOPSIS
success = InvertKeyMap(ansiCode,event,km)
D0 D0 A0 A1
BOOL InvertKeyMap(ULONG,struct InputEvent *,struct KeyMap *);
FUNCTION
This function uses the system call MapANSI() to figure out what
InputEvent translates to an ANSI character code 'ansiCode'. The
InputEvent pointed to by 'event' is filled in with that information.
The KeyMap 'km' is used for the translation, unless it is NULL, in
which case the current system default keymap is used.
INPUTS
ansiCode - the ANSI code to convert to an input event
event - the InputEvent to fill-in
km - the keymap to use for the translation, or NULL to use the
current system default keymap.
RESULTS
success - TRUE if the translation worked, FALSE otherwise.
BUGS
This function currently handles one-deep dead keys (such as
<alt f>o ). It does not look up the high key map (keystrokes
with scan codes greater than 0x40).
Prior to V40, this function was not initializing the ie_SubClass
and ie_TimeStamp fields of the InputEvent structure. A simple work
around to the problem is to clear these values to 0 before making
a call to this function:
struct InputEvent ie;
ie.ie_SubClass = 0;
ie.ie_TimeStamp.tv_secs = 0;
ie.ie_TimeStamp.tv_micro = 0;
if (InvertKeyMap(ansiCode,&ie,NULL))
...
SEE ALSO
cx_lib/InvertString()
[Back to Amiga Developer Docs]