aboutsummaryrefslogtreecommitdiff
path: root/libxkbfile/include/X11/extensions/XKBconfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'libxkbfile/include/X11/extensions/XKBconfig.h')
-rw-r--r--libxkbfile/include/X11/extensions/XKBconfig.h278
1 files changed, 278 insertions, 0 deletions
diff --git a/libxkbfile/include/X11/extensions/XKBconfig.h b/libxkbfile/include/X11/extensions/XKBconfig.h
new file mode 100644
index 000000000..4816917c8
--- /dev/null
+++ b/libxkbfile/include/X11/extensions/XKBconfig.h
@@ -0,0 +1,278 @@
+#ifndef _XKBCONFIG_H_
+#define _XKBCONFIG_H_ 1
+
+/************************************************************
+ Copyright (c) 1995 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 _XkbConfigRtrn *XkbConfigRtrnPtr;
+typedef struct _XkbConfigField *XkbConfigFieldPtr;
+typedef struct _XkbConfigFields *XkbConfigFieldsPtr;
+
+typedef Bool (*XkbConfigParseFunc)(
+ FILE * /* file */,
+ XkbConfigFieldsPtr /* fields */,
+ XkbConfigFieldPtr /* field */,
+ XkbDescPtr /* xkb */,
+ XkbConfigRtrnPtr /* rtrn */
+);
+
+#define XkbCF_Check 0
+#define XkbCF_Apply 1
+#define XkbCF_CleanUp 2
+#define XkbCF_Destroy 3
+
+typedef Bool (*XkbConfigFinishFunc)(
+ XkbConfigFieldsPtr /* fields */,
+ XkbDescPtr /* xkb */,
+ XkbConfigRtrnPtr /* rtrn */,
+ int /* what */
+);
+
+typedef struct _XkbConfigRtrnPriv {
+ int cfg_id;
+ XPointer priv;
+ struct _XkbConfigRtrnPriv * next;
+} XkbConfigRtrnPrivRec,*XkbConfigRtrnPrivPtr;
+
+typedef struct _XkbConfigModInfo {
+ Bool replace;
+ unsigned char mods;
+ unsigned char mods_clear;
+ unsigned short vmods;
+ unsigned short vmods_clear;
+} XkbConfigModInfoRec,*XkbConfigModInfoPtr;
+
+typedef struct _XkbConfigUnboundMod {
+ unsigned char what;
+ unsigned char mods;
+ unsigned short vmods;
+ short merge;
+ char * name;
+} XkbConfigUnboundModRec,*XkbConfigUnboundModPtr;
+
+#define XkbCF_MergeSet 0
+#define XkbCF_MergeAdd 1
+#define XkbCF_MergeRemove 2
+
+#define XkbCF_InitialMods (1L<<0)
+#define XkbCF_InternalMods (1L<<1)
+#define XkbCF_IgnoreLockMods (1L<<2)
+#define XkbCF_InitialCtrls (1L<<3)
+#define XkbCF_AccessXTimeout (1L<<4)
+#define XkbCF_AccessXTimeoutCtrlsOn (1L<<5)
+#define XkbCF_AccessXTimeoutCtrlsOff (1L<<6)
+#define XkbCF_AccessXTimeoutOptsOn (1L<<7)
+#define XkbCF_AccessXTimeoutOptsOff (1L<<8)
+#define XkbCF_GroupsWrap (1L<<9)
+#define XkbCF_InitialOpts (1L<<10)
+
+typedef struct _XkbConfigRtrn {
+ unsigned defined;
+ int error;
+ int line;
+
+ int click_volume;
+ int bell_volume;
+ int bell_pitch;
+ int bell_duration;
+ int repeat_delay;
+ int repeat_interval;
+
+ char * rules_file;
+ char * model;
+ char * layout;
+ char * variant;
+ char * options;
+
+ char * keymap;
+ char * keycodes;
+ char * geometry;
+ char * phys_symbols;
+ char * symbols;
+ char * types;
+ char * compat;
+
+ Bool replace_initial_ctrls;
+ unsigned long initial_ctrls;
+ unsigned long initial_ctrls_clear;
+
+ Bool replace_initial_opts;
+ unsigned short initial_opts;
+ unsigned short initial_opts_clear;
+
+ XkbConfigModInfoRec initial_mods;
+ XkbConfigModInfoRec internal_mods;
+ XkbConfigModInfoRec ignore_lock_mods;
+
+ short num_unbound_mods;
+ short sz_unbound_mods;
+ XkbConfigUnboundModPtr unbound_mods;
+
+ int groups_wrap;
+ int slow_keys_delay;
+ int debounce_delay;
+ int mk_delay;
+ int mk_interval;
+ int mk_time_to_max;
+ int mk_max_speed;
+ int mk_curve;
+ int ax_timeout;
+
+ Bool replace_axt_ctrls_on;
+ Bool replace_axt_ctrls_off;
+ unsigned long axt_ctrls_on;
+ unsigned long axt_ctrls_off;
+ unsigned long axt_ctrls_ignore;
+
+ Bool replace_axt_opts_off;
+ Bool replace_axt_opts_on;
+ unsigned short axt_opts_off;
+ unsigned short axt_opts_on;
+ unsigned short axt_opts_ignore;
+ XkbConfigRtrnPrivPtr priv;
+} XkbConfigRtrnRec;
+
+typedef struct _XkbConfigField {
+ char * field;
+ unsigned char field_id;
+} XkbConfigFieldRec;
+
+typedef struct _XkbConfigFields {
+ unsigned short cfg_id;
+ unsigned short num_fields;
+ XkbConfigFieldPtr fields;
+ XkbConfigParseFunc parser;
+ XkbConfigFinishFunc finish;
+ XPointer priv;
+ struct _XkbConfigFields *next;
+} XkbConfigFieldsRec;
+
+#define XkbCF_EOF -1
+#define XkbCF_Unknown 0
+#define XkbCF_EOL 1
+#define XkbCF_Semi 2
+#define XkbCF_Equals 3
+#define XkbCF_PlusEquals 4
+#define XkbCF_MinusEquals 5
+#define XkbCF_Plus 6
+#define XkbCF_Minus 7
+#define XkbCF_String 10
+#define XkbCF_Ident 11
+#define XkbCF_Integer 12
+
+#define XkbCF_UnterminatedString 100
+#define XkbCF_BadAlloc 101
+#define XkbCF_MissingIdent 102
+#define XkbCF_MissingEquals 103
+#define XkbCF_ExpectedEOS 104
+#define XkbCF_ExpectedBoolean 105
+#define XkbCF_ExpectedInteger 106
+#define XkbCF_ExpectedString 107
+#define XkbCF_ExpectedModifier 108
+#define XkbCF_ExpectedControl 109
+#define XkbCF_ExpectedAXOption 110
+#define XkbCF_ExpectedOperator 111
+#define XkbCF_ExpectedOORGroupBehavior 112
+
+typedef union {
+ int ival;
+ char * str;
+} XkbCFScanResultRec,*XkbCFScanResultPtr;
+
+extern XkbConfigFieldsPtr XkbCFDflts;
+
+_XFUNCPROTOBEGIN
+
+extern int XkbCFScan(
+ FILE * /* file */,
+ XkbCFScanResultPtr /* val_rtrn */,
+ XkbConfigRtrnPtr /* rtrn */
+);
+
+extern XkbConfigFieldsPtr XkbCFDup(
+ XkbConfigFieldsPtr /* fields */
+);
+
+extern XkbConfigFieldsPtr XkbCFFree(
+ XkbConfigFieldsPtr /* fields */,
+ Bool /* all */
+);
+
+extern XkbConfigUnboundModPtr XkbCFAddModByName(
+ XkbConfigRtrnPtr /* rtrn */,
+ int /* what */,
+ char * /* name */,
+ Bool /* merge */,
+ XkbConfigUnboundModPtr /* last */
+);
+
+extern Bool XkbCFBindMods(
+ XkbConfigRtrnPtr /* rtrn */,
+ XkbDescPtr /* xkb */
+);
+
+extern Bool XkbCFApplyMods(
+ XkbConfigRtrnPtr /* rtrn */,
+ int /* what */,
+ XkbConfigModInfoPtr /* info */
+);
+
+extern Bool XkbCFApplyRtrnValues(
+ XkbConfigRtrnPtr /* rtrn */,
+ XkbConfigFieldsPtr /* fields */,
+ XkbDescPtr /* xkb */
+);
+
+extern XkbConfigRtrnPrivPtr XkbCFAddPrivate(
+ XkbConfigRtrnPtr /* rtrn */,
+ XkbConfigFieldsPtr /* fields */,
+ XPointer /* ptr */
+);
+
+extern void XkbCFFreeRtrn(
+ XkbConfigRtrnPtr /* rtrn */,
+ XkbConfigFieldsPtr /* fields */,
+ XkbDescPtr /* xkb */
+);
+
+extern Bool XkbCFParse(
+ FILE * /* file */,
+ XkbConfigFieldsPtr /* fields */,
+ XkbDescPtr /* xkb */,
+ XkbConfigRtrnPtr /* rtrn */
+);
+
+extern void XkbCFReportError(
+ FILE * /* file */,
+ char * /* name */,
+ int /* error */,
+ int /* line */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XKBCONFIG_H_ */