277 lines
10 KiB
C
277 lines
10 KiB
C
/************************************************************
|
|
Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
|
|
|
|
Permission to use, copy, modify, and distribute this
|
|
software and its documentation for any purpose and without
|
|
fee is hereby granted, 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 name of Silicon Graphics not be
|
|
used in advertising or publicity pertaining to distribution
|
|
of the software without specific prior written permission.
|
|
Silicon Graphics makes no representation about the suitability
|
|
of this software for any purpose. It is provided "as is"
|
|
without any express or implied warranty.
|
|
|
|
SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
|
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
|
|
GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
|
|
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
|
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
|
|
THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
********************************************************/
|
|
|
|
#ifndef _XKBFILE_H_
|
|
#define _XKBFILE_H_ 1
|
|
|
|
#include "xkbstr.h"
|
|
|
|
/***====================================================================***/
|
|
|
|
#define XkbXKMFile 0
|
|
#define XkbCFile 1
|
|
#define XkbXKBFile 2
|
|
#define XkbMessage 3
|
|
|
|
#define XkbMapDefined (1<<0)
|
|
#define XkbStateDefined (1<<1)
|
|
|
|
typedef void (*XkbFileAddOnFunc) (FILE * /* file */ ,
|
|
XkbDescPtr /* result */ ,
|
|
Bool /* topLevel */ ,
|
|
Bool /* showImplicit */ ,
|
|
int /* fileSection */ ,
|
|
void * /* priv */
|
|
);
|
|
|
|
/***====================================================================***/
|
|
|
|
#define _XkbSuccess 0
|
|
#define _XkbErrMissingNames 1
|
|
#define _XkbErrMissingTypes 2
|
|
#define _XkbErrMissingReqTypes 3
|
|
#define _XkbErrMissingSymbols 4
|
|
#define _XkbErrMissingVMods 5
|
|
#define _XkbErrMissingIndicators 6
|
|
#define _XkbErrMissingCompatMap 7
|
|
#define _XkbErrMissingSymInterps 8
|
|
#define _XkbErrMissingGeometry 9
|
|
#define _XkbErrIllegalDoodad 10
|
|
#define _XkbErrIllegalTOCType 11
|
|
#define _XkbErrIllegalContents 12
|
|
#define _XkbErrEmptyFile 13
|
|
#define _XkbErrFileNotFound 14
|
|
#define _XkbErrFileCannotOpen 15
|
|
#define _XkbErrBadValue 16
|
|
#define _XkbErrBadMatch 17
|
|
#define _XkbErrBadTypeName 18
|
|
#define _XkbErrBadTypeWidth 19
|
|
#define _XkbErrBadFileType 20
|
|
#define _XkbErrBadFileVersion 21
|
|
#define _XkbErrBadFileFormat 22
|
|
#define _XkbErrBadAlloc 23
|
|
#define _XkbErrBadLength 24
|
|
#define _XkbErrXReqFailure 25
|
|
#define _XkbErrBadImplementation 26
|
|
|
|
/***====================================================================***/
|
|
|
|
_XFUNCPROTOBEGIN
|
|
|
|
extern _X_EXPORT char *XkbIndentText(unsigned /* size */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbAtomText(Atom /* atm */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbKeysymText(KeySym /* sym */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbStringText(char * /* str */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbKeyNameText(char * /* name */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbModIndexText(unsigned /* ndx */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbModMaskText(unsigned /* mask */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbVModIndexText(XkbDescPtr /* xkb */ ,
|
|
unsigned /* ndx */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbVModMaskText(XkbDescPtr /* xkb */ ,
|
|
unsigned /* modMask */ ,
|
|
unsigned /* mask */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbConfigText(unsigned /* config */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT const char *XkbSIMatchText(unsigned /* type */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbIMWhichStateMaskText(unsigned /* use_which */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbControlsMaskText(unsigned /* ctrls */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbGeomFPText(int /* val */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbDoodadTypeText(unsigned /* type */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT const char *XkbActionTypeText(unsigned /* type */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbActionText(XkbDescPtr /* xkb */ ,
|
|
XkbAction * /* action */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
extern _X_EXPORT char *XkbBehaviorText(XkbDescPtr /* xkb */ ,
|
|
XkbBehavior * /* behavior */ ,
|
|
unsigned /* format */
|
|
);
|
|
|
|
/***====================================================================***/
|
|
|
|
#define _XkbKSLower (1<<0)
|
|
#define _XkbKSUpper (1<<1)
|
|
|
|
#define XkbKSIsLower(k) (_XkbKSCheckCase(k)&_XkbKSLower)
|
|
#define XkbKSIsUpper(k) (_XkbKSCheckCase(k)&_XkbKSUpper)
|
|
#define XkbKSIsKeypad(k) (((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal))
|
|
#define XkbKSIsDeadKey(k) \
|
|
(((k)>=XK_dead_grave)&&((k)<=XK_dead_semivoiced_sound))
|
|
|
|
extern _X_EXPORT unsigned _XkbKSCheckCase(KeySym /* sym */
|
|
);
|
|
|
|
extern _X_EXPORT int XkbFindKeycodeByName(XkbDescPtr /* xkb */ ,
|
|
char * /* name */ ,
|
|
Bool /* use_aliases */
|
|
);
|
|
|
|
/***====================================================================***/
|
|
|
|
extern _X_EXPORT Atom XkbInternAtom(char * /* name */ ,
|
|
Bool /* onlyIfExists */
|
|
);
|
|
|
|
/***====================================================================***/
|
|
|
|
#ifdef _XKBGEOM_H_
|
|
|
|
#define XkbDW_Unknown 0
|
|
#define XkbDW_Doodad 1
|
|
#define XkbDW_Section 2
|
|
typedef struct _XkbDrawable {
|
|
int type;
|
|
int priority;
|
|
union {
|
|
XkbDoodadPtr doodad;
|
|
XkbSectionPtr section;
|
|
} u;
|
|
struct _XkbDrawable *next;
|
|
} XkbDrawableRec, *XkbDrawablePtr;
|
|
|
|
#endif
|
|
|
|
/***====================================================================***/
|
|
|
|
extern _X_EXPORT unsigned XkbConvertGetByNameComponents(Bool /* toXkm */ ,
|
|
unsigned /* orig */
|
|
);
|
|
|
|
extern _X_EXPORT Bool XkbNameMatchesPattern(char * /* name */ ,
|
|
char * /* pattern */
|
|
);
|
|
|
|
/***====================================================================***/
|
|
|
|
extern _X_EXPORT Bool XkbWriteXKBKeycodes(FILE * /* file */ ,
|
|
XkbDescPtr /* result */ ,
|
|
Bool /* topLevel */ ,
|
|
Bool /* showImplicit */ ,
|
|
XkbFileAddOnFunc /* addOn */ ,
|
|
void * /* priv */
|
|
);
|
|
|
|
extern _X_EXPORT Bool XkbWriteXKBKeyTypes(FILE * /* file */ ,
|
|
XkbDescPtr /* result */ ,
|
|
Bool /* topLevel */ ,
|
|
Bool /* showImplicit */ ,
|
|
XkbFileAddOnFunc /* addOn */ ,
|
|
void * /* priv */
|
|
);
|
|
|
|
extern _X_EXPORT Bool XkbWriteXKBCompatMap(FILE * /* file */ ,
|
|
XkbDescPtr /* result */ ,
|
|
Bool /* topLevel */ ,
|
|
Bool /* showImplicit */ ,
|
|
XkbFileAddOnFunc /* addOn */ ,
|
|
void * /* priv */
|
|
);
|
|
|
|
extern _X_EXPORT Bool XkbWriteXKBSymbols(FILE * /* file */ ,
|
|
XkbDescPtr /* result */ ,
|
|
Bool /* topLevel */ ,
|
|
Bool /* showImplicit */ ,
|
|
XkbFileAddOnFunc /* addOn */ ,
|
|
void * /* priv */
|
|
);
|
|
|
|
extern _X_EXPORT Bool XkbWriteXKBGeometry(FILE * /* file */ ,
|
|
XkbDescPtr /* result */ ,
|
|
Bool /* topLevel */ ,
|
|
Bool /* showImplicit */ ,
|
|
XkbFileAddOnFunc /* addOn */ ,
|
|
void * /* priv */
|
|
);
|
|
|
|
extern _X_EXPORT Bool XkbWriteXKBKeymapForNames(FILE * /* file */ ,
|
|
XkbComponentNamesPtr /* names */
|
|
,
|
|
XkbDescPtr /* xkb */ ,
|
|
unsigned /* want */ ,
|
|
unsigned /* need */
|
|
);
|
|
|
|
/***====================================================================***/
|
|
|
|
extern _X_EXPORT Bool XkmProbe(FILE * /* file */
|
|
);
|
|
|
|
extern _X_EXPORT unsigned XkmReadFile(FILE * /* file */ ,
|
|
unsigned /* need */ ,
|
|
unsigned /* want */ ,
|
|
XkbDescPtr * /* result */
|
|
);
|
|
|
|
_XFUNCPROTOEND
|
|
#endif /* _XKBFILE_H_ */
|