Test: Catch SIGUSR1 from Xvfb for X11 tests
[platform/upstream/libxkbcommon.git] / src / xkbcomp / keywords.gperf
1 %{
2 #include "config.h"
3
4 #include "xkbcomp-priv.h"
5 #include "parser-priv.h"
6
7 static const struct keyword_tok *
8 keyword_gperf_lookup (register const char *str, register size_t len);
9 %}
10
11 struct keyword_tok { int name; int tok; };
12 %language=ANSI-C
13 %define hash-function-name keyword_gperf_hash
14 %define lookup-function-name keyword_gperf_lookup
15 %readonly-tables
16 %enum
17 %includes
18 %struct-type
19 %pic
20 %ignore-case
21
22 %%
23 action,                 ACTION_TOK
24 alias,                  ALIAS
25 alphanumeric_keys,      ALPHANUMERIC_KEYS
26 alternate_group,        ALTERNATE_GROUP
27 alternate,              ALTERNATE
28 augment,                AUGMENT
29 default,                DEFAULT
30 function_keys,          FUNCTION_KEYS
31 group,                  GROUP
32 hidden,                 HIDDEN
33 include,                INCLUDE
34 indicator,              INDICATOR
35 interpret,              INTERPRET
36 keypad_keys,            KEYPAD_KEYS
37 key,                    KEY
38 keys,                   KEYS
39 logo,                   LOGO
40 modifier_keys,          MODIFIER_KEYS
41 modifier_map,           MODIFIER_MAP
42 mod_map,                MODIFIER_MAP
43 modmap,                 MODIFIER_MAP
44 outline,                OUTLINE
45 overlay,                OVERLAY
46 override,               OVERRIDE
47 partial,                PARTIAL
48 replace,                REPLACE
49 row,                    ROW
50 section,                SECTION
51 shape,                  SHAPE
52 solid,                  SOLID
53 text,                   TEXT
54 type,                   TYPE
55 virtual_modifiers,      VIRTUAL_MODS
56 virtual,                VIRTUAL
57 xkb_compatibility_map,  XKB_COMPATMAP
58 xkb_compatibility,      XKB_COMPATMAP
59 xkb_compat_map,         XKB_COMPATMAP
60 xkb_compat,             XKB_COMPATMAP
61 xkb_geometry,           XKB_GEOMETRY
62 xkb_keycodes,           XKB_KEYCODES
63 xkb_keymap,             XKB_KEYMAP
64 xkb_layout,             XKB_LAYOUT
65 xkb_semantics,          XKB_SEMANTICS
66 xkb_symbols,            XKB_SYMBOLS
67 xkb_types,              XKB_TYPES
68 %%
69
70 int
71 keyword_to_token(const char *string, size_t len)
72 {
73     const struct keyword_tok *kt = keyword_gperf_lookup(string, len);
74     if (!kt)
75         return -1;
76     return kt->tok;
77 }