termux-x11/app/src/main/jni/libxkbcommon/xkbcommon/src/xkbcomp/keywords.gperf

78 lines
2.1 KiB
Plaintext

%{
#include "config.h"
#include "xkbcomp-priv.h"
#include "parser-priv.h"
static const struct keyword_tok *
keyword_gperf_lookup (register const char *str, register size_t len);
%}
struct keyword_tok { int name; int tok; };
%language=ANSI-C
%define hash-function-name keyword_gperf_hash
%define lookup-function-name keyword_gperf_lookup
%readonly-tables
%enum
%includes
%struct-type
%pic
%ignore-case
%%
action, ACTION_TOK
alias, ALIAS
alphanumeric_keys, ALPHANUMERIC_KEYS
alternate_group, ALTERNATE_GROUP
alternate, ALTERNATE
augment, AUGMENT
default, DEFAULT
function_keys, FUNCTION_KEYS
group, GROUP
hidden, HIDDEN
include, INCLUDE
indicator, INDICATOR
interpret, INTERPRET
keypad_keys, KEYPAD_KEYS
key, KEY
keys, KEYS
logo, LOGO
modifier_keys, MODIFIER_KEYS
modifier_map, MODIFIER_MAP
mod_map, MODIFIER_MAP
modmap, MODIFIER_MAP
outline, OUTLINE
overlay, OVERLAY
override, OVERRIDE
partial, PARTIAL
replace, REPLACE
row, ROW
section, SECTION
shape, SHAPE
solid, SOLID
text, TEXT
type, TYPE
virtual_modifiers, VIRTUAL_MODS
virtual, VIRTUAL
xkb_compatibility_map, XKB_COMPATMAP
xkb_compatibility, XKB_COMPATMAP
xkb_compat_map, XKB_COMPATMAP
xkb_compat, XKB_COMPATMAP
xkb_geometry, XKB_GEOMETRY
xkb_keycodes, XKB_KEYCODES
xkb_keymap, XKB_KEYMAP
xkb_layout, XKB_LAYOUT
xkb_semantics, XKB_SEMANTICS
xkb_symbols, XKB_SYMBOLS
xkb_types, XKB_TYPES
%%
int
keyword_to_token(const char *string, size_t len)
{
const struct keyword_tok *kt = keyword_gperf_lookup(string, len);
if (!kt)
return -1;
return kt->tok;
}