diff options
author | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 15:54:40 +0000 |
---|---|---|
committer | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 15:54:40 +0000 |
commit | 52a8406aaba4ed1f9fa5e78bfa5da7af659bce01 (patch) | |
tree | 5ef1aa3fc6207a755aaccf1f46140ec9f72fe8f0 /include/X11/extensions/XKBrules.h |
R6.6 is the Xorg base-lineXORG-MAIN
Diffstat (limited to 'include/X11/extensions/XKBrules.h')
-rw-r--r-- | include/X11/extensions/XKBrules.h | 264 |
1 files changed, 264 insertions, 0 deletions
diff --git a/include/X11/extensions/XKBrules.h b/include/X11/extensions/XKBrules.h new file mode 100644 index 0000000..ffc5138 --- /dev/null +++ b/include/X11/extensions/XKBrules.h @@ -0,0 +1,264 @@ +#ifndef _XKBRULES_H_ +#define _XKBRULES_H_ 1 + +/* $Xorg: XKBrules.h,v 1.3 2000/08/17 19:46:43 cpqbld Exp $ */ +/************************************************************ + Copyright (c) 1996 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. + + ********************************************************/ + +/***====================================================================***/ + +typedef struct _XkbRF_VarDefs { + char * model; + char * layout; + char * variant; + char * options; + unsigned short sz_extra; + unsigned short num_extra; + char * extra_names; + char ** extra_values; +} XkbRF_VarDefsRec,*XkbRF_VarDefsPtr; + +typedef struct _XkbRF_VarDesc { + char * name; + char * desc; +} XkbRF_VarDescRec, *XkbRF_VarDescPtr; + +typedef struct _XkbRF_DescribeVars { + int sz_desc; + int num_desc; + XkbRF_VarDescPtr desc; +} XkbRF_DescribeVarsRec,*XkbRF_DescribeVarsPtr; + +typedef struct _XkbRF_Rule { + char * model; + char * layout; + char * variant; + char * option; + /* yields */ + char * keycodes; + char * symbols; + char * types; + char * compat; + char * geometry; + char * keymap; + unsigned flags; +} XkbRF_RuleRec,*XkbRF_RulePtr; + +#define XkbRF_PendingMatch (1L<<1) +#define XkbRF_Delayed (1L<<2) +#define XkbRF_Append (1L<<3) +#define XkbRF_Invalid (1L<<4) + +typedef struct _XkbRF_Rules { + XkbRF_DescribeVarsRec models; + XkbRF_DescribeVarsRec layouts; + XkbRF_DescribeVarsRec variants; + XkbRF_DescribeVarsRec options; + unsigned short sz_extra; + unsigned short num_extra; + char ** extra_names; + XkbRF_DescribeVarsPtr extra; + + unsigned short sz_rules; + unsigned short num_rules; + XkbRF_RulePtr rules; +} XkbRF_RulesRec, *XkbRF_RulesPtr; + +/***====================================================================***/ + +_XFUNCPROTOBEGIN + +extern Bool XkbRF_ApplyRule( +#if NeedFunctionPrototypes + XkbRF_RulePtr /* rule */, + XkbComponentNamesPtr /* names */ +#endif +); + +extern Bool XkbRF_CheckApplyRule( +#if NeedFunctionPrototypes + XkbRF_RulePtr /* rule */, + XkbRF_VarDefsPtr /* defs */, + XkbComponentNamesPtr /* names */ +#endif +); + +extern void XkbRF_ClearPartialMatches( +#if NeedFunctionPrototypes + XkbRF_RulesPtr /* rules */ +#endif +); + +extern Bool XkbRF_ApplyPartialMatches( +#if NeedFunctionPrototypes + XkbRF_RulesPtr /* rules */, + XkbComponentNamesPtr /* names */ +#endif +); + +extern void XkbRF_CheckApplyDelayedRules( +#if NeedFunctionPrototypes + XkbRF_RulesPtr /* rules */, + XkbRF_VarDefsPtr /* defs */, + XkbComponentNamesPtr /* names */ +#endif +); + +extern Bool XkbRF_CheckApplyRules( +#if NeedFunctionPrototypes + XkbRF_RulesPtr /* rules */, + XkbRF_VarDefsPtr /* defs */, + XkbComponentNamesPtr /* names */ +#endif +); + +extern char * XkbRF_SubstituteVars( +#if NeedFunctionPrototypes + char * /* p_name */, + XkbRF_VarDefsPtr /* defs */ +#endif +); + +extern Bool XkbRF_GetComponents( +#if NeedFunctionPrototypes + XkbRF_RulesPtr /* rules */, + XkbRF_VarDefsPtr /* var_defs */, + XkbComponentNamesPtr /* names */ +#endif +); + +extern XkbRF_RulePtr XkbRF_AddRule( +#if NeedFunctionPrototypes + XkbRF_RulesPtr /* rules */ +#endif +); + +extern Bool XkbRF_LoadRules( +#if NeedFunctionPrototypes + FILE * /* file */, + XkbRF_RulesPtr /* rules */ +#endif +); + +extern Bool XkbRF_LoadRulesByName( +#if NeedFunctionPrototypes + char * /* base */, + char * /* locale */, + XkbRF_RulesPtr /* rules */ +#endif +); + +/***====================================================================***/ + +extern XkbRF_VarDescPtr XkbRF_AddVarDesc( +#if NeedFunctionPrototypes + XkbRF_DescribeVarsPtr /* vars */ +#endif +); + +extern XkbRF_VarDescPtr XkbRF_AddVarDescCopy( +#if NeedFunctionPrototypes + XkbRF_DescribeVarsPtr /* vars */, + XkbRF_VarDescPtr /* copy_from */ +#endif +); + +extern XkbRF_DescribeVarsPtr XkbRF_AddVarToDescribe( +#if NeedFunctionPrototypes + XkbRF_RulesPtr /* rules */, + char * /* name */ +#endif +); + +extern Bool XkbRF_LoadDescriptions( +#if NeedFunctionPrototypes + FILE * /* file */, + XkbRF_RulesPtr /* rules */ +#endif +); + +extern Bool XkbRF_LoadDescriptionsByName( +#if NeedFunctionPrototypes + char * /* base */, + char * /* locale */, + XkbRF_RulesPtr /* rules */ +#endif +); + +extern XkbRF_RulesPtr XkbRF_Load( +#if NeedFunctionPrototypes + char * /* base */, + char * /* locale */, + Bool /* wantDesc */, + Bool /* wantRules */ +#endif +); + +extern XkbRF_RulesPtr XkbRF_Create( +#if NeedFunctionPrototypes + int /* sz_rules */, + int /* sz_extra */ +#endif +); + +/***====================================================================***/ + +extern void XkbRF_Free( +#if NeedFunctionPrototypes + XkbRF_RulesPtr /* rules */, + Bool /* freeRules */ +#endif +); + + +/***====================================================================***/ + +#define _XKB_RF_NAMES_PROP_ATOM "_XKB_RULES_NAMES" +#define _XKB_RF_NAMES_PROP_MAXLEN 1024 + +#ifndef XKB_IN_SERVER + +extern Bool XkbRF_GetNamesProp( +#if NeedFunctionPrototypes + Display * /* dpy */, + char ** /* rules_file_rtrn */, + XkbRF_VarDefsPtr /* var_defs_rtrn */ +#endif +); + +extern Bool XkbRF_SetNamesProp( +#if NeedFunctionPrototypes + Display * /* dpy */, + char * /* rules_file */, + XkbRF_VarDefsPtr /* var_defs */ +#endif +); + +#endif + +_XFUNCPROTOEND + +#endif /* _XKBRULES_H_ */ |