/*
 *      SCCS:  @(#)  Test1.c Rel 1.1	    (11/28/91)
 *
 *	UniSoft Ltd., London, England
 *
 * (C) Copyright 1991 X/Open Company Limited
 *
 * All rights reserved.  No part of this source code may be reproduced,
 * stored in a retrieval system, or transmitted, in any form or by any
 * means, electronic, mechanical, photocopying, recording or otherwise,
 * except as stated in the end-user licence agreement, without the prior
 * permission of the copyright owners.
 *
 * X/Open and the 'X' symbol are trademarks of X/Open Company Limited in
 * the UK and other countries.
 */

#include        <stdlib.h>
#include        "xtest.h"
#include        "Xlib.h"
#include        "Xutil.h"
#include        "Xresource.h"
#include        "tet_api.h"
#include        "xtestlib.h"
#include        "pixval.h"

extern char	*TestName;
extern Display	*Dsp;

int		minkc;
int		maxkc;
int		keysyms_per_keycode;

static int
test(symbol, str)
KeySym	symbol;
char	*str;
{
KeyCode	kycd;
int	mod;

	kycd = XKeysymToKeycode(Dsp, symbol);
	if(kycd == 0) {
		trace("XKeysymToKeycode() returned 0 for KeySym \"XK_%s\".", str);
		return(1);
	}

	if(kycd > maxkc || kycd < minkc) {
		report("XKeysymToKeycode() returned invalid keycode value %d for KeySym \"XK_%s\".", kycd, str);
		return(0);
	}

	for(mod = 0; mod < keysyms_per_keycode; mod++) {
		if( symbol == XKeycodeToKeysym(Dsp, kycd, mod))  {
			trace("KeySym \"XK_%s\", keycode %d, mod %d", 
								str, kycd, mod);
			return(1);
		}
	}

	report("The keycode value %d for KeySym \"XK_%s\"", kycd, str);
	report("never returns that KeySym when using XKeycodeToKeysym()");
	return(0);
}

static void
reporterr(s)
char	*s;
{
	report("Symbol XK_\"%s\" is not defined.", s);
}
#define XK_LATIN1
#include	<X11/keysymdef.h>
#undef XK_LATIN1 

kysymtcd1()
{ 
int 	pass = 0, fail = 0;

	XDisplayKeycodes(Dsp, &minkc, &maxkc);
	XGetKeyboardMapping(Dsp, (KeyCode)minkc, 1, &keysyms_per_keycode);

#ifdef XK_space
	if(test(XK_space, "space") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("space");
	FAIL;
#endif

#ifdef XK_exclam
	if(test(XK_exclam, "exclam") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("exclam");
	FAIL;
#endif

#ifdef XK_quotedbl
	if(test(XK_quotedbl, "quotedbl") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("quotedbl");
	FAIL;
#endif

#ifdef XK_numbersign
	if(test(XK_numbersign, "numbersign") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("numbersign");
	FAIL;
#endif

#ifdef XK_dollar
	if(test(XK_dollar, "dollar") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("dollar");
	FAIL;
#endif

#ifdef XK_percent
	if(test(XK_percent, "percent") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("percent");
	FAIL;
#endif

#ifdef XK_ampersand
	if(test(XK_ampersand, "ampersand") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ampersand");
	FAIL;
#endif

#ifdef XK_apostrophe
	if(test(XK_apostrophe, "apostrophe") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("apostrophe");
	FAIL;
#endif

#ifdef XK_quoteright
	if(test(XK_quoteright, "quoteright") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("quoteright");
	FAIL;
#endif

#ifdef XK_parenleft
	if(test(XK_parenleft, "parenleft") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("parenleft");
	FAIL;
#endif

#ifdef XK_parenright
	if(test(XK_parenright, "parenright") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("parenright");
	FAIL;
#endif

#ifdef XK_asterisk
	if(test(XK_asterisk, "asterisk") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("asterisk");
	FAIL;
#endif

#ifdef XK_plus
	if(test(XK_plus, "plus") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("plus");
	FAIL;
#endif

#ifdef XK_comma
	if(test(XK_comma, "comma") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("comma");
	FAIL;
#endif

#ifdef XK_minus
	if(test(XK_minus, "minus") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("minus");
	FAIL;
#endif

#ifdef XK_period
	if(test(XK_period, "period") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("period");
	FAIL;
#endif

#ifdef XK_slash
	if(test(XK_slash, "slash") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("slash");
	FAIL;
#endif

#ifdef XK_0
	if(test(XK_0, "0") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("0");
	FAIL;
#endif

#ifdef XK_1
	if(test(XK_1, "1") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("1");
	FAIL;
#endif

#ifdef XK_2
	if(test(XK_2, "2") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("2");
	FAIL;
#endif

#ifdef XK_3
	if(test(XK_3, "3") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("3");
	FAIL;
#endif

#ifdef XK_4
	if(test(XK_4, "4") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("4");
	FAIL;
#endif

#ifdef XK_5
	if(test(XK_5, "5") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("5");
	FAIL;
#endif

#ifdef XK_6
	if(test(XK_6, "6") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("6");
	FAIL;
#endif

#ifdef XK_7
	if(test(XK_7, "7") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("7");
	FAIL;
#endif

#ifdef XK_8
	if(test(XK_8, "8") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("8");
	FAIL;
#endif

#ifdef XK_9
	if(test(XK_9, "9") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("9");
	FAIL;
#endif

#ifdef XK_colon
	if(test(XK_colon, "colon") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("colon");
	FAIL;
#endif

#ifdef XK_semicolon
	if(test(XK_semicolon, "semicolon") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("semicolon");
	FAIL;
#endif

#ifdef XK_less
	if(test(XK_less, "less") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("less");
	FAIL;
#endif

#ifdef XK_equal
	if(test(XK_equal, "equal") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("equal");
	FAIL;
#endif

#ifdef XK_greater
	if(test(XK_greater, "greater") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("greater");
	FAIL;
#endif

#ifdef XK_question
	if(test(XK_question, "question") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("question");
	FAIL;
#endif

#ifdef XK_at
	if(test(XK_at, "at") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("at");
	FAIL;
#endif

#ifdef XK_A
	if(test(XK_A, "A") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("A");
	FAIL;
#endif

#ifdef XK_B
	if(test(XK_B, "B") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("B");
	FAIL;
#endif

#ifdef XK_C
	if(test(XK_C, "C") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("C");
	FAIL;
#endif

#ifdef XK_D
	if(test(XK_D, "D") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("D");
	FAIL;
#endif

#ifdef XK_E
	if(test(XK_E, "E") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("E");
	FAIL;
#endif

#ifdef XK_F
	if(test(XK_F, "F") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("F");
	FAIL;
#endif

#ifdef XK_G
	if(test(XK_G, "G") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("G");
	FAIL;
#endif

#ifdef XK_H
	if(test(XK_H, "H") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("H");
	FAIL;
#endif

#ifdef XK_I
	if(test(XK_I, "I") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("I");
	FAIL;
#endif

#ifdef XK_J
	if(test(XK_J, "J") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("J");
	FAIL;
#endif

#ifdef XK_K
	if(test(XK_K, "K") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("K");
	FAIL;
#endif

#ifdef XK_L
	if(test(XK_L, "L") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("L");
	FAIL;
#endif

#ifdef XK_M
	if(test(XK_M, "M") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("M");
	FAIL;
#endif

#ifdef XK_N
	if(test(XK_N, "N") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("N");
	FAIL;
#endif

#ifdef XK_O
	if(test(XK_O, "O") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("O");
	FAIL;
#endif

#ifdef XK_P
	if(test(XK_P, "P") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("P");
	FAIL;
#endif

#ifdef XK_Q
	if(test(XK_Q, "Q") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Q");
	FAIL;
#endif

#ifdef XK_R
	if(test(XK_R, "R") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("R");
	FAIL;
#endif

#ifdef XK_S
	if(test(XK_S, "S") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("S");
	FAIL;
#endif

#ifdef XK_T
	if(test(XK_T, "T") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("T");
	FAIL;
#endif

#ifdef XK_U
	if(test(XK_U, "U") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("U");
	FAIL;
#endif

#ifdef XK_V
	if(test(XK_V, "V") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("V");
	FAIL;
#endif

#ifdef XK_W
	if(test(XK_W, "W") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("W");
	FAIL;
#endif

#ifdef XK_X
	if(test(XK_X, "X") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("X");
	FAIL;
#endif

#ifdef XK_Y
	if(test(XK_Y, "Y") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Y");
	FAIL;
#endif

#ifdef XK_Z
	if(test(XK_Z, "Z") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Z");
	FAIL;
#endif

#ifdef XK_bracketleft
	if(test(XK_bracketleft, "bracketleft") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("bracketleft");
	FAIL;
#endif

#ifdef XK_backslash
	if(test(XK_backslash, "backslash") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("backslash");
	FAIL;
#endif

#ifdef XK_bracketright
	if(test(XK_bracketright, "bracketright") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("bracketright");
	FAIL;
#endif

#ifdef XK_asciicircum
	if(test(XK_asciicircum, "asciicircum") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("asciicircum");
	FAIL;
#endif

#ifdef XK_underscore
	if(test(XK_underscore, "underscore") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("underscore");
	FAIL;
#endif

#ifdef XK_grave
	if(test(XK_grave, "grave") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("grave");
	FAIL;
#endif

#ifdef XK_quoteleft
	if(test(XK_quoteleft, "quoteleft") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("quoteleft");
	FAIL;
#endif

#ifdef XK_a
	if(test(XK_a, "a") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("a");
	FAIL;
#endif

#ifdef XK_b
	if(test(XK_b, "b") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("b");
	FAIL;
#endif

#ifdef XK_c
	if(test(XK_c, "c") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("c");
	FAIL;
#endif

#ifdef XK_d
	if(test(XK_d, "d") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("d");
	FAIL;
#endif

#ifdef XK_e
	if(test(XK_e, "e") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("e");
	FAIL;
#endif

#ifdef XK_f
	if(test(XK_f, "f") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("f");
	FAIL;
#endif

#ifdef XK_g
	if(test(XK_g, "g") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("g");
	FAIL;
#endif

#ifdef XK_h
	if(test(XK_h, "h") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("h");
	FAIL;
#endif

#ifdef XK_i
	if(test(XK_i, "i") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("i");
	FAIL;
#endif

#ifdef XK_j
	if(test(XK_j, "j") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("j");
	FAIL;
#endif

#ifdef XK_k
	if(test(XK_k, "k") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("k");
	FAIL;
#endif

#ifdef XK_l
	if(test(XK_l, "l") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("l");
	FAIL;
#endif

#ifdef XK_m
	if(test(XK_m, "m") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("m");
	FAIL;
#endif

#ifdef XK_n
	if(test(XK_n, "n") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("n");
	FAIL;
#endif

#ifdef XK_o
	if(test(XK_o, "o") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("o");
	FAIL;
#endif

#ifdef XK_p
	if(test(XK_p, "p") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("p");
	FAIL;
#endif

#ifdef XK_q
	if(test(XK_q, "q") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("q");
	FAIL;
#endif

#ifdef XK_r
	if(test(XK_r, "r") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("r");
	FAIL;
#endif

#ifdef XK_s
	if(test(XK_s, "s") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("s");
	FAIL;
#endif

#ifdef XK_t
	if(test(XK_t, "t") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("t");
	FAIL;
#endif

#ifdef XK_u
	if(test(XK_u, "u") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("u");
	FAIL;
#endif

#ifdef XK_v
	if(test(XK_v, "v") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("v");
	FAIL;
#endif

#ifdef XK_w
	if(test(XK_w, "w") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("w");
	FAIL;
#endif

#ifdef XK_x
	if(test(XK_x, "x") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("x");
	FAIL;
#endif

#ifdef XK_y
	if(test(XK_y, "y") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("y");
	FAIL;
#endif

#ifdef XK_z
	if(test(XK_z, "z") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("z");
	FAIL;
#endif

#ifdef XK_braceleft
	if(test(XK_braceleft, "braceleft") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("braceleft");
	FAIL;
#endif

#ifdef XK_bar
	if(test(XK_bar, "bar") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("bar");
	FAIL;
#endif

#ifdef XK_braceright
	if(test(XK_braceright, "braceright") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("braceright");
	FAIL;
#endif

#ifdef XK_asciitilde
	if(test(XK_asciitilde, "asciitilde") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("asciitilde");
	FAIL;
#endif

#ifdef XK_nobreakspace
	if(test(XK_nobreakspace, "nobreakspace") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("nobreakspace");
	FAIL;
#endif

#ifdef XK_exclamdown
	if(test(XK_exclamdown, "exclamdown") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("exclamdown");
	FAIL;
#endif

#ifdef XK_cent
	if(test(XK_cent, "cent") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("cent");
	FAIL;
#endif

#ifdef XK_sterling
	if(test(XK_sterling, "sterling") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("sterling");
	FAIL;
#endif

#ifdef XK_currency
	if(test(XK_currency, "currency") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("currency");
	FAIL;
#endif

#ifdef XK_yen
	if(test(XK_yen, "yen") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("yen");
	FAIL;
#endif

#ifdef XK_brokenbar
	if(test(XK_brokenbar, "brokenbar") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("brokenbar");
	FAIL;
#endif

#ifdef XK_section
	if(test(XK_section, "section") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("section");
	FAIL;
#endif

#ifdef XK_diaeresis
	if(test(XK_diaeresis, "diaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("diaeresis");
	FAIL;
#endif

#ifdef XK_copyright
	if(test(XK_copyright, "copyright") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("copyright");
	FAIL;
#endif

#ifdef XK_ordfeminine
	if(test(XK_ordfeminine, "ordfeminine") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ordfeminine");
	FAIL;
#endif

#ifdef XK_guillemotleft
	if(test(XK_guillemotleft, "guillemotleft") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("guillemotleft");
	FAIL;
#endif

#ifdef XK_notsign
	if(test(XK_notsign, "notsign") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("notsign");
	FAIL;
#endif

#ifdef XK_hyphen
	if(test(XK_hyphen, "hyphen") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("hyphen");
	FAIL;
#endif

#ifdef XK_registered
	if(test(XK_registered, "registered") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("registered");
	FAIL;
#endif

#ifdef XK_macron
	if(test(XK_macron, "macron") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("macron");
	FAIL;
#endif

#ifdef XK_degree
	if(test(XK_degree, "degree") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("degree");
	FAIL;
#endif

#ifdef XK_plusminus
	if(test(XK_plusminus, "plusminus") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("plusminus");
	FAIL;
#endif

#ifdef XK_twosuperior
	if(test(XK_twosuperior, "twosuperior") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("twosuperior");
	FAIL;
#endif

#ifdef XK_threesuperior
	if(test(XK_threesuperior, "threesuperior") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("threesuperior");
	FAIL;
#endif

#ifdef XK_acute
	if(test(XK_acute, "acute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("acute");
	FAIL;
#endif

#ifdef XK_mu
	if(test(XK_mu, "mu") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("mu");
	FAIL;
#endif

#ifdef XK_paragraph
	if(test(XK_paragraph, "paragraph") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("paragraph");
	FAIL;
#endif

#ifdef XK_periodcentered
	if(test(XK_periodcentered, "periodcentered") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("periodcentered");
	FAIL;
#endif

#ifdef XK_cedilla
	if(test(XK_cedilla, "cedilla") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("cedilla");
	FAIL;
#endif

#ifdef XK_onesuperior
	if(test(XK_onesuperior, "onesuperior") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("onesuperior");
	FAIL;
#endif

#ifdef XK_masculine
	if(test(XK_masculine, "masculine") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("masculine");
	FAIL;
#endif

#ifdef XK_guillemotright
	if(test(XK_guillemotright, "guillemotright") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("guillemotright");
	FAIL;
#endif

#ifdef XK_onequarter
	if(test(XK_onequarter, "onequarter") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("onequarter");
	FAIL;
#endif

#ifdef XK_onehalf
	if(test(XK_onehalf, "onehalf") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("onehalf");
	FAIL;
#endif

#ifdef XK_threequarters
	if(test(XK_threequarters, "threequarters") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("threequarters");
	FAIL;
#endif

#ifdef XK_questiondown
	if(test(XK_questiondown, "questiondown") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("questiondown");
	FAIL;
#endif

#ifdef XK_Agrave
	if(test(XK_Agrave, "Agrave") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Agrave");
	FAIL;
#endif

#ifdef XK_Aacute
	if(test(XK_Aacute, "Aacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Aacute");
	FAIL;
#endif

#ifdef XK_Acircumflex
	if(test(XK_Acircumflex, "Acircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Acircumflex");
	FAIL;
#endif

#ifdef XK_Atilde
	if(test(XK_Atilde, "Atilde") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Atilde");
	FAIL;
#endif

#ifdef XK_Adiaeresis
	if(test(XK_Adiaeresis, "Adiaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Adiaeresis");
	FAIL;
#endif

#ifdef XK_Aring
	if(test(XK_Aring, "Aring") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Aring");
	FAIL;
#endif

#ifdef XK_AE
	if(test(XK_AE, "AE") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("AE");
	FAIL;
#endif

#ifdef XK_Ccedilla
	if(test(XK_Ccedilla, "Ccedilla") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Ccedilla");
	FAIL;
#endif

#ifdef XK_Egrave
	if(test(XK_Egrave, "Egrave") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Egrave");
	FAIL;
#endif

#ifdef XK_Eacute
	if(test(XK_Eacute, "Eacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Eacute");
	FAIL;
#endif

#ifdef XK_Ecircumflex
	if(test(XK_Ecircumflex, "Ecircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Ecircumflex");
	FAIL;
#endif

#ifdef XK_Ediaeresis
	if(test(XK_Ediaeresis, "Ediaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Ediaeresis");
	FAIL;
#endif

#ifdef XK_Igrave
	if(test(XK_Igrave, "Igrave") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Igrave");
	FAIL;
#endif

#ifdef XK_Iacute
	if(test(XK_Iacute, "Iacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Iacute");
	FAIL;
#endif

#ifdef XK_Icircumflex
	if(test(XK_Icircumflex, "Icircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Icircumflex");
	FAIL;
#endif

#ifdef XK_Idiaeresis
	if(test(XK_Idiaeresis, "Idiaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Idiaeresis");
	FAIL;
#endif

#ifdef XK_ETH
	if(test(XK_ETH, "ETH") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ETH");
	FAIL;
#endif

#ifdef XK_Eth
	if(test(XK_Eth, "Eth") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Eth");
	FAIL;
#endif

#ifdef XK_Ntilde
	if(test(XK_Ntilde, "Ntilde") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Ntilde");
	FAIL;
#endif

#ifdef XK_Ograve
	if(test(XK_Ograve, "Ograve") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Ograve");
	FAIL;
#endif

#ifdef XK_Oacute
	if(test(XK_Oacute, "Oacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Oacute");
	FAIL;
#endif

#ifdef XK_Ocircumflex
	if(test(XK_Ocircumflex, "Ocircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Ocircumflex");
	FAIL;
#endif

#ifdef XK_Otilde
	if(test(XK_Otilde, "Otilde") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Otilde");
	FAIL;
#endif

#ifdef XK_Odiaeresis
	if(test(XK_Odiaeresis, "Odiaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Odiaeresis");
	FAIL;
#endif

#ifdef XK_multiply
	if(test(XK_multiply, "multiply") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("multiply");
	FAIL;
#endif

#ifdef XK_Ooblique
	if(test(XK_Ooblique, "Ooblique") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Ooblique");
	FAIL;
#endif

#ifdef XK_Ugrave
	if(test(XK_Ugrave, "Ugrave") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Ugrave");
	FAIL;
#endif

#ifdef XK_Uacute
	if(test(XK_Uacute, "Uacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Uacute");
	FAIL;
#endif

#ifdef XK_Ucircumflex
	if(test(XK_Ucircumflex, "Ucircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Ucircumflex");
	FAIL;
#endif

#ifdef XK_Udiaeresis
	if(test(XK_Udiaeresis, "Udiaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Udiaeresis");
	FAIL;
#endif

#ifdef XK_Yacute
	if(test(XK_Yacute, "Yacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Yacute");
	FAIL;
#endif

#ifdef XK_THORN
	if(test(XK_THORN, "THORN") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("THORN");
	FAIL;
#endif

#ifdef XK_Thorn
	if(test(XK_Thorn, "Thorn") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("Thorn");
	FAIL;
#endif

#ifdef XK_ssharp
	if(test(XK_ssharp, "ssharp") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ssharp");
	FAIL;
#endif

#ifdef XK_agrave
	if(test(XK_agrave, "agrave") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("agrave");
	FAIL;
#endif

#ifdef XK_aacute
	if(test(XK_aacute, "aacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("aacute");
	FAIL;
#endif

#ifdef XK_acircumflex
	if(test(XK_acircumflex, "acircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("acircumflex");
	FAIL;
#endif

#ifdef XK_atilde
	if(test(XK_atilde, "atilde") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("atilde");
	FAIL;
#endif

#ifdef XK_adiaeresis
	if(test(XK_adiaeresis, "adiaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("adiaeresis");
	FAIL;
#endif

#ifdef XK_aring
	if(test(XK_aring, "aring") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("aring");
	FAIL;
#endif

#ifdef XK_ae
	if(test(XK_ae, "ae") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ae");
	FAIL;
#endif

#ifdef XK_ccedilla
	if(test(XK_ccedilla, "ccedilla") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ccedilla");
	FAIL;
#endif

#ifdef XK_egrave
	if(test(XK_egrave, "egrave") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("egrave");
	FAIL;
#endif

#ifdef XK_eacute
	if(test(XK_eacute, "eacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("eacute");
	FAIL;
#endif

#ifdef XK_ecircumflex
	if(test(XK_ecircumflex, "ecircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ecircumflex");
	FAIL;
#endif

#ifdef XK_ediaeresis
	if(test(XK_ediaeresis, "ediaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ediaeresis");
	FAIL;
#endif

#ifdef XK_igrave
	if(test(XK_igrave, "igrave") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("igrave");
	FAIL;
#endif

#ifdef XK_iacute
	if(test(XK_iacute, "iacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("iacute");
	FAIL;
#endif

#ifdef XK_icircumflex
	if(test(XK_icircumflex, "icircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("icircumflex");
	FAIL;
#endif

#ifdef XK_idiaeresis
	if(test(XK_idiaeresis, "idiaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("idiaeresis");
	FAIL;
#endif

#ifdef XK_eth
	if(test(XK_eth, "eth") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("eth");
	FAIL;
#endif

#ifdef XK_ntilde
	if(test(XK_ntilde, "ntilde") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ntilde");
	FAIL;
#endif

#ifdef XK_ograve
	if(test(XK_ograve, "ograve") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ograve");
	FAIL;
#endif

#ifdef XK_oacute
	if(test(XK_oacute, "oacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("oacute");
	FAIL;
#endif

#ifdef XK_ocircumflex
	if(test(XK_ocircumflex, "ocircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ocircumflex");
	FAIL;
#endif

#ifdef XK_otilde
	if(test(XK_otilde, "otilde") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("otilde");
	FAIL;
#endif

#ifdef XK_odiaeresis
	if(test(XK_odiaeresis, "odiaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("odiaeresis");
	FAIL;
#endif

#ifdef XK_division
	if(test(XK_division, "division") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("division");
	FAIL;
#endif

#ifdef XK_oslash
	if(test(XK_oslash, "oslash") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("oslash");
	FAIL;
#endif

#ifdef XK_ugrave
	if(test(XK_ugrave, "ugrave") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ugrave");
	FAIL;
#endif

#ifdef XK_uacute
	if(test(XK_uacute, "uacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("uacute");
	FAIL;
#endif

#ifdef XK_ucircumflex
	if(test(XK_ucircumflex, "ucircumflex") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ucircumflex");
	FAIL;
#endif

#ifdef XK_udiaeresis
	if(test(XK_udiaeresis, "udiaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("udiaeresis");
	FAIL;
#endif

#ifdef XK_yacute
	if(test(XK_yacute, "yacute") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("yacute");
	FAIL;
#endif

#ifdef XK_thorn
	if(test(XK_thorn, "thorn") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("thorn");
	FAIL;
#endif

#ifdef XK_ydiaeresis
	if(test(XK_ydiaeresis, "ydiaeresis") == 1)
		CHECK;
	else
		FAIL;
#else
	reporterr("ydiaeresis");
	FAIL;
#endif

	CHECKPASS(195);
}
