diff options
author | Daniel Stone <daniel@fooishbar.org> | 2006-03-27 23:03:47 +0000 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2006-03-27 23:03:47 +0000 |
commit | 0e88cefbfecbff0c7dd606ce0caca840f45cbc0d (patch) | |
tree | b33fadb88309ddb2531c75e2691e597894a4e575 /xkb/xkmread.c | |
parent | 5be8a66d324f3d5840b134ad29069eace64e6f12 (diff) |
Prune XKB code to only what we need to run the server. Remove dead
!XKB_IN_SERVER codepaths. Remove HAVE_CONFIG_H codepaths.
Diffstat (limited to 'xkb/xkmread.c')
-rw-r--r-- | xkb/xkmread.c | 112 |
1 files changed, 84 insertions, 28 deletions
diff --git a/xkb/xkmread.c b/xkb/xkmread.c index f22941f67..198ea0c1a 100644 --- a/xkb/xkmread.c +++ b/xkb/xkmread.c @@ -28,8 +28,6 @@ #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> -#elif defined(HAVE_CONFIG_H) -#include <config.h> #endif #include <stdio.h> @@ -37,20 +35,6 @@ #include <X11/Xos.h> #include <X11/Xfuncs.h> -#ifndef XKB_IN_SERVER - -#include <stdlib.h> -#include <X11/Xlib.h> -#include <X11/keysym.h> - -#include <X11/XKBlib.h> - -#include <X11/extensions/XKBgeom.h> -#include "XKMformat.h" -#include "XKBfileInt.h" - -#else - #include <X11/X.h> #define NEED_EVENTS #include <X11/Xproto.h> @@ -70,8 +54,6 @@ XkbInternAtom(Display *dpy,char *str,Bool only_if_exists) return MakeAtom(str,strlen(str),!only_if_exists); } -#endif - #ifndef SEEK_SET #define SEEK_SET 0 #endif @@ -187,6 +169,89 @@ int count,nRead=0; return nRead; } +unsigned +_XkbKSCheckCase(KeySym ks) +{ +unsigned set,rtrn; + + set= (ks & (~0xff)) >> 8; + rtrn= 0; + switch (set) { + case 0: /* latin 1 */ + if (((ks>=XK_A)&&(ks<=XK_Z))|| + ((ks>=XK_Agrave)&&(ks<=XK_THORN)&&(ks!=XK_multiply))) { + rtrn|= _XkbKSUpper; + } + if (((ks>=XK_a)&&(ks<=XK_z))|| + ((ks>=XK_agrave)&&(ks<=XK_ydiaeresis))) { + rtrn|= _XkbKSLower; + } + break; + case 1: /* latin 2 */ + if (((ks>=XK_Aogonek)&&(ks<=XK_Zabovedot)&&(ks!=XK_breve))|| + ((ks>=XK_Racute)&&(ks<=XK_Tcedilla))) { + rtrn|= _XkbKSUpper; + } + if (((ks>=XK_aogonek)&&(ks<=XK_zabovedot)&&(ks!=XK_caron))|| + ((ks>=XK_racute)&&(ks<=XK_tcedilla))) { + rtrn|= _XkbKSLower; + } + break; + case 2: /* latin 3 */ + if (((ks>=XK_Hstroke)&&(ks<=XK_Jcircumflex))|| + ((ks>=XK_Cabovedot)&&(ks<=XK_Scircumflex))) { + rtrn|= _XkbKSUpper; + } + if (((ks>=XK_hstroke)&&(ks<=XK_jcircumflex))|| + ((ks>=XK_cabovedot)&&(ks<=XK_scircumflex))) { + rtrn|= _XkbKSLower; + } + break; + case 3: /* latin 4 */ + if (((ks>=XK_Rcedilla)&&(ks<=XK_Tslash))|| + (ks==XK_ENG)|| + ((ks>=XK_Amacron)&&(ks<=XK_Umacron))) { + rtrn|= _XkbKSUpper; + } + if (((ks>=XK_rcedilla)&&(ks<=XK_tslash))|| + (ks==XK_eng)|| + ((ks>=XK_amacron)&&(ks<=XK_umacron))) { + rtrn|= _XkbKSLower; + } + break; + case 18: /* latin 8 */ + if ((ks==XK_Babovedot)|| + ((ks>=XK_Dabovedot)&&(ks<=XK_Wacute))|| + ((ks>=XK_Ygrave)&&(ks<=XK_Fabovedot))|| + (ks==XK_Mabovedot)|| + (ks==XK_Pabovedot)|| + (ks==XK_Sabovedot)|| + (ks==XK_Wdiaeresis)|| + ((ks>=XK_Wcircumflex)&&(ks<=XK_Ycircumflex))) { + rtrn|= _XkbKSUpper; + } + if ((ks==XK_babovedot)|| + (ks==XK_dabovedot)|| + (ks==XK_fabovedot)|| + (ks==XK_mabovedot)|| + ((ks>=XK_wgrave)&&(ks<=XK_wacute))|| + (ks==XK_ygrave)|| + ((ks>=XK_wdiaeresis)&&(ks<=XK_ycircumflex))) { + rtrn|= _XkbKSLower; + } + break; + case 19: /* latin 9 */ + if ((ks==XK_OE)||(ks==XK_Ydiaeresis)) { + rtrn|= _XkbKSUpper; + } + if (ks==XK_oe) { + rtrn|= _XkbKSLower; + } + break; + } + return rtrn; +} + /***====================================================================***/ static int @@ -1188,14 +1253,10 @@ int nRead; *loaded_rtrn|= XkmGeometryMask; break; default: - _XkbLibError(_XkbErrBadImplementation, - XkbConfigText(tmpTOC.type,XkbMessage),0); nRead= 0; break; } if (nRead!=tmpTOC.size) { - _XkbLibError(_XkbErrBadLength,XkbConfigText(tmpTOC.type,XkbMessage), - nRead-tmpTOC.size); return 0; } return (nRead>=0); @@ -1229,8 +1290,6 @@ char name[100]; return _XkbDupString(name); break; default: - _XkbLibError(_XkbErrBadImplementation, - XkbConfigText(tmpTOC.type,XkbMessage),0); break; } return NULL; @@ -1296,8 +1355,6 @@ unsigned which= need|want; tmp= ReadXkmGeometry(file,result); break; default: - _XkbLibError(_XkbErrBadImplementation, - XkbConfigText(tmpTOC.type,XkbMessage),0); tmp= 0; break; } @@ -1307,8 +1364,7 @@ unsigned which= need|want; result->defined|= (1<<toc[i].type); } if (nRead!=tmpTOC.size) { - _XkbLibError(_XkbErrBadLength,XkbConfigText(tmpTOC.type,XkbMessage), - nRead-tmpTOC.size); + return 0; } } return which; |