1f46a6179Smrg/************************************************************ 2f46a6179Smrg Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc. 3f46a6179Smrg 4f46a6179Smrg Permission to use, copy, modify, and distribute this 5f46a6179Smrg software and its documentation for any purpose and without 6f46a6179Smrg fee is hereby granted, provided that the above copyright 7f46a6179Smrg notice appear in all copies and that both that copyright 8f46a6179Smrg notice and this permission notice appear in supporting 9bfe6082cSmrg documentation, and that the name of Silicon Graphics not be 10bfe6082cSmrg used in advertising or publicity pertaining to distribution 11f46a6179Smrg of the software without specific prior written permission. 12bfe6082cSmrg Silicon Graphics makes no representation about the suitability 13f46a6179Smrg of this software for any purpose. It is provided "as is" 14f46a6179Smrg without any express or implied warranty. 15bfe6082cSmrg 16bfe6082cSmrg SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 17bfe6082cSmrg SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 18f46a6179Smrg AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 19bfe6082cSmrg GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 20bfe6082cSmrg DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 21bfe6082cSmrg DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 22f46a6179Smrg OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH 23f46a6179Smrg THE USE OR PERFORMANCE OF THIS SOFTWARE. 24f46a6179Smrg 25f46a6179Smrg ********************************************************/ 26f46a6179Smrg 27f46a6179Smrg#ifndef INDICATORS_H 28f46a6179Smrg#define INDICATORS_H 1 29f46a6179Smrg 30f46a6179Smrg#define _LED_Index (1<<0) 31f46a6179Smrg#define _LED_Mods (1<<1) 32f46a6179Smrg#define _LED_Groups (1<<2) 33f46a6179Smrg#define _LED_Ctrls (1<<3) 34f46a6179Smrg#define _LED_Explicit (1<<4) 35f46a6179Smrg#define _LED_Automatic (1<<5) 36f46a6179Smrg#define _LED_DrivesKbd (1<<6) 37f46a6179Smrg 38f46a6179Smrg#define _LED_NotBound 255 39f46a6179Smrg 4034345a63Smrgtypedef struct _LEDInfo 4134345a63Smrg{ 4234345a63Smrg CommonInfo defs; 4334345a63Smrg Atom name; 4434345a63Smrg unsigned char indicator; 4534345a63Smrg unsigned char flags; 4634345a63Smrg unsigned char which_mods; 4734345a63Smrg unsigned char real_mods; 4834345a63Smrg unsigned short vmods; 4934345a63Smrg unsigned char which_groups; 5034345a63Smrg unsigned char groups; 5134345a63Smrg unsigned int ctrls; 52f46a6179Smrg} LEDInfo; 53f46a6179Smrg 5434345a63Smrgextern void ClearIndicatorMapInfo(Display * /* dpy */ , 5534345a63Smrg LEDInfo * /* info */ 5634345a63Smrg ); 57f46a6179Smrg 58f46a6179Smrg 5934345a63Smrgextern LEDInfo *AddIndicatorMap(LEDInfo * /* oldLEDs */ , 606930ead5Smrg const LEDInfo * /* newLED */ 6134345a63Smrg ); 62f46a6179Smrg 6334345a63Smrgextern int SetIndicatorMapField(LEDInfo * /* led */ , 6434345a63Smrg XkbDescPtr /* xkb */ , 65c82dfdfbSmrg const char * /* field */ , 666930ead5Smrg const ExprDef * /* arrayNdx */ , 676930ead5Smrg const ExprDef * /* value */ 6834345a63Smrg ); 69f46a6179Smrg 7034345a63Smrgextern LEDInfo *HandleIndicatorMapDef(IndicatorMapDef * /* stmt */ , 7134345a63Smrg XkbDescPtr /* xkb */ , 726930ead5Smrg const LEDInfo * /* dflt */ , 7334345a63Smrg LEDInfo * /* oldLEDs */ , 7434345a63Smrg unsigned /* mergeMode */ 7534345a63Smrg ); 76f46a6179Smrg 7734345a63Smrgextern Bool CopyIndicatorMapDefs(XkbFileInfo * /* result */ , 7834345a63Smrg LEDInfo * /* leds */ , 7934345a63Smrg LEDInfo ** /* unboundRtrn */ 8034345a63Smrg ); 81f46a6179Smrg 8234345a63Smrgextern Bool BindIndicators(XkbFileInfo * /* result */ , 8334345a63Smrg Bool /* force */ , 8434345a63Smrg LEDInfo * /* unbound */ , 8534345a63Smrg LEDInfo ** /* unboundRtrn */ 8634345a63Smrg ); 87f46a6179Smrg 88f46a6179Smrg#endif /* INDICATORS_H */ 89