[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

	InvertKeyMap -- generate an input event from an ANSI code. (V36)

	success = InvertKeyMap(ansiCode,event,km)
	D0	 	       D0       A0    A1

	BOOL InvertKeyMap(ULONG,struct InputEvent *,struct KeyMap *);

	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.

	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.

	success - TRUE if the translation worked, FALSE otherwise.

	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))