typedef int Bool;
#endif
-/* From filecommon */
-
-#define XkbXKMFile 0
-#define XkbCFile 1
-#define XkbXKBFile 2
-#define XkbMessage 3
-
-#define XkbMapDefined (1 << 0)
-#define XkbStateDefined (1 << 1)
-
-/***====================================================================***/
-
-#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
-
-/* From rulescommon */
-
-#define _XkbKSLower (1 << 0)
-#define _XkbKSUpper (1 << 1)
-
-#define XkbKSIsKeypad(k) (((k) >= XK_KP_Space) && ((k) <= XK_KP_Equal))
-#define XkbKSIsDeadKey(k) \
- (((k) >= XK_dead_grave) && ((k) <= XK_dead_semivoiced_sound))
-
-
-
typedef struct _XkbRMLVOSet {
char * rules;
char * model;
char * options;
} XkbRMLVOSet;
-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 {
- int number;
- int layout_num;
- int variant_num;
- 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;
-
-typedef struct _XkbRF_Group {
- int number;
- char * name;
- char * words;
-} XkbRF_GroupRec, *XkbRF_GroupPtr;
-
-#define XkbRF_PendingMatch (1L<<1)
-#define XkbRF_Option (1L<<2)
-#define XkbRF_Append (1L<<3)
-#define XkbRF_Normal (1L<<4)
-#define XkbRF_Invalid (1L<<5)
-
-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;
- unsigned short sz_groups;
- unsigned short num_groups;
- XkbRF_GroupPtr groups;
-} XkbRF_RulesRec, *XkbRF_RulesPtr;
-
-#define _XKB_RF_NAMES_PROP_ATOM "_XKB_RULES_NAMES"
-#define _XKB_RF_NAMES_PROP_MAXLEN 1024
-
-
-
-/* Action structures used in the server */
-
#define XkbcAnyActionDataSize 18
struct xkb_any_action {
unsigned char type;
extern unsigned
_XkbcKSCheckCase(uint32_t sym);
+#define _XkbKSLower (1 << 0)
+#define _XkbKSUpper (1 << 1)
+
#define XkbcKSIsLower(k) (_XkbcKSCheckCase(k) & _XkbKSLower)
#define XkbcKSIsUpper(k) (_XkbcKSCheckCase(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 Bool
XkbcNameMatchesPattern(char *name, char *ptrn);
#include <X11/Xdefs.h>
#include "X11/extensions/XKBcommon.h"
+
+/* From filecommon */
+
+#define XkbXKMFile 0
+#define XkbCFile 1
+#define XkbXKBFile 2
+#define XkbMessage 3
+
+#define XkbMapDefined (1 << 0)
+#define XkbStateDefined (1 << 1)
+
+/***====================================================================***/
+
+#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
+
+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 {
+ int number;
+ int layout_num;
+ int variant_num;
+ 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;
+
+typedef struct _XkbRF_Group {
+ int number;
+ char * name;
+ char * words;
+} XkbRF_GroupRec, *XkbRF_GroupPtr;
+
+#define XkbRF_PendingMatch (1L<<1)
+#define XkbRF_Option (1L<<2)
+#define XkbRF_Append (1L<<3)
+#define XkbRF_Normal (1L<<4)
+#define XkbRF_Invalid (1L<<5)
+
+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;
+ unsigned short sz_groups;
+ unsigned short num_groups;
+ XkbRF_GroupPtr groups;
+} XkbRF_RulesRec, *XkbRF_RulesPtr;
+
+#define _XKB_RF_NAMES_PROP_ATOM "_XKB_RULES_NAMES"
+#define _XKB_RF_NAMES_PROP_MAXLEN 1024
+
+/* Action structures used in the server */
+
extern Bool
XkbcRF_GetComponents(XkbRF_RulesPtr rules, XkbRF_VarDefsPtr defs,
struct xkb_component_names * names);