>># 
>># 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: gtkybrdmpp.m,v 1.10 92/06/11 17:13:59 rws Exp $
>># 
>>#
>>TITLE XGetKeyboardMapping CH07
>>ASSERTION A XGetKeyboardMapping-1
A call to XGetKeyboardMapping returns an array, that can be
freed with XFree, of KeySyms associated with the specified
number, keycode_count, of KeyCodes starting with
first_keycode.
>>STRATEGY
Set some KeySyms with XChangeKeyboardMapping.
Call XGetKeyboardMapping to get KeySyms.
Verify they are as set.
Free returned array with XFree.
>>ASSERTION - XGetKeyboardMapping-2
On a call to XGetKeyboardMapping the returned KeySyms list
contains keycode_count*keysyms_per_keycode_return
elements.
>>ASSERTION A XGetKeyboardMapping-3
On a call to XGetKeyboardMapping keysyms_per_keycode_return
is set to a value that is large enough to report all of the
KeySyms for any of the requested KeyCodes.
>>STRATEGY
Set KeySyms with XChangeKeyboardMapping.
Call XGetKeyboardMapping to get new value of this parameter.
Verify that it is at least as large as set.
>>ASSERTION - XGetKeyboardMapping-4
When an element for a particular KeyCode is unused, then a
KeySym value of NoSymbol is used in the returned array.
>>ASSERTION A XGetKeyboardMapping-5
When the value specified in first_keycode is less than the
minimum keycode as returned by XDisplayKeycodes, then a
BadValue error occurs.
>>STRATEGY
Set first_keycode to less than the minimum keycode.
Call XGetKeyboardMapping.
Verify that a BadValue error occurs.
>>ASSERTION A XGetKeyboardMapping-6
When the expression first_keycode+keycode_count-1 is
greater than the maximum keycode as returned by
XDisplayKeycodes, then a BadValue error occurs.
>>STRATEGY
Set first keycode to greater than the maximum keycode.
Call XGetKeyboardMapping.
Verify that a BadValue error occurs.
