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 ACTION_H 28f46a6179Smrg#define ACTION_H 1 29f46a6179Smrg 30f46a6179Smrg#define F_ClearLocks 0 31f46a6179Smrg#define F_LatchToLock 1 32f46a6179Smrg#define F_GenKeyEvent 2 33f46a6179Smrg#define F_Report 3 34f46a6179Smrg#define F_Default 4 35f46a6179Smrg#define F_Affect 5 36f46a6179Smrg#define F_Increment 6 37f46a6179Smrg#define F_Modifiers 7 38f46a6179Smrg#define F_Group 8 39f46a6179Smrg#define F_X 9 40f46a6179Smrg#define F_Y 10 41f46a6179Smrg#define F_Accel 11 42f46a6179Smrg#define F_Button 12 43f46a6179Smrg#define F_Value 13 44f46a6179Smrg#define F_Controls 14 45f46a6179Smrg#define F_Type 15 46f46a6179Smrg#define F_Count 16 47f46a6179Smrg#define F_Screen 17 48f46a6179Smrg#define F_Same 18 49f46a6179Smrg#define F_Data 19 50f46a6179Smrg#define F_Device 20 51f46a6179Smrg#define F_Keycode 21 52f46a6179Smrg#define F_ModsToClear 22 53f46a6179Smrg#define F_LastField F_ModsToClear 54f46a6179Smrg#define F_NumFields (F_LastField+1) 55f46a6179Smrg 56f46a6179Smrg#define PrivateAction (XkbSA_LastAction+1) 57f46a6179Smrg 5834345a63Smrgtypedef struct _ActionInfo 5934345a63Smrg{ 6034345a63Smrg unsigned action; 6134345a63Smrg unsigned field; 6234345a63Smrg ExprDef *array_ndx; 6334345a63Smrg ExprDef *value; 6434345a63Smrg struct _ActionInfo *next; 65f46a6179Smrg} ActionInfo; 66f46a6179Smrg 676930ead5Smrgextern int HandleActionDef(const ExprDef * /* def */ , 6834345a63Smrg XkbDescPtr /* xkb */ , 6934345a63Smrg XkbAnyAction * /* action */ , 7034345a63Smrg unsigned /* mergeMode */ , 716930ead5Smrg const ActionInfo * /* info */ 7234345a63Smrg ); 73f46a6179Smrg 7434345a63Smrgextern int SetActionField(XkbDescPtr /* xkb */ , 75c82dfdfbSmrg const char * /* elem */ , 76c82dfdfbSmrg const char * /* field */ , 7734345a63Smrg ExprDef * /* index */ , 7834345a63Smrg ExprDef * /* value */ , 7934345a63Smrg ActionInfo ** /* info_rtrn */ 8034345a63Smrg ); 81f46a6179Smrg 82f46a6179Smrgextern LookupEntry ctrlNames[]; 83f46a6179Smrg 84f46a6179Smrg#endif /* ACTION_H */ 85