/************************************************************ * Copyright (c) 1994 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. * ********************************************************/ #ifndef XKBCOMP_VMOD_H #define XKBCOMP_VMOD_H typedef struct _VModInfo { xkb_mod_mask_t defined; xkb_mod_mask_t available; } VModInfo; void InitVModInfo(VModInfo *info, struct xkb_keymap *keymap); void ClearVModInfo(VModInfo *info); bool HandleVModDef(VModDef *stmt, struct xkb_keymap *keymap, enum merge_mode mergeMode, VModInfo *info); bool ResolveVirtualModifier(ExprDef *def, struct xkb_keymap *keymap, xkb_mod_index_t *ndx_rtrn, VModInfo *info); #endif