>># 
>># Copyright 1990, 1991 by the Massachusetts Institute of Technology and
>># UniSoft Group Limited.
>># 
>># Permission to use, copy, modify, distribute, and sell this software and
>># its documentation for any purpose is hereby granted without fee,
>># provided that the above copyright notice appear in all copies and that
>># both that copyright notice and this permission notice appear in
>># supporting documentation, and that the names of MIT and UniSoft not be
>># used in advertising or publicity pertaining to distribution of the
>># software without specific, written prior permission.  MIT and UniSoft
>># make no representations about the suitability of this software for any
>># purpose.  It is provided "as is" without express or implied warranty.
>># 
>># $XConsortium: rfrshkybrd.m,v 1.9 92/06/11 17:39:09 rws Exp $
>># 
>>#
>>TITLE XRefreshKeyboardMapping CH10
>>ASSERTION A XRefreshKeyboardMapping-1
When the request component of the event_map argument is
MappingKeyboard, then a call to XRefreshKeyboardMapping
modifies the keymap information based on that specified by
the event_map argument.
>>STRATEGY
Map the keycode which maps to KeySym XK_a onto XK_b using XChangeKeyboardMapping.
Verify that a MappingNotify event is generated.
Update the keymap information with XRefreshKeyboardMapping.
Obtain the KeySym corresponding to the keycode.
Verify that KeySym is XK_b.
Reset the keycode to map onto XK_a using XChangeKeyboardMapping.
>>ASSERTION B XRefreshKeyboardMapping-2
When the request component of the event_map argument is
MappingModifier, then a call to XRefreshKeyboardMapping
modifies the keymap information based on that specified by
the event_map argument.
>>STRATEGY
Obtain a new modifier map using XNewModifiermap.
Initialise it to have the current, valid, values.
Set the modifier map to the new map using XSetModifierMapping.
Await the mapping event.
Update the modifier mappings using XRefreshKeyboardMapping.
Release the map storage using XFreeModifiermap.
>>ASSERTION B XRefreshKeyboardMapping-3
When the request component of the event_map argument is
other than MappingKeyboard or MappingModifier, then a call
to XRefreshKeyboardMapping does not modify the keymap
information.
>>STRATEGY
Obtain a new modifier map using XNewModifiermap.
Initialise it to have the current, valid, values.
Set the modifier map to the new map using XSetModifierMapping.
Await the mapping event.
Set the request component of the event structure to MappingModifier + MappingKeyboard + MappingPointer
Update the modifier mappings using XRefreshKeyboardMapping.
