X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fxkbcomp%2Faction.h;h=1f92e7b38e3214a95b13bd10deeaae0776f0a310;hb=e8af6d534ec8822b1eb6a41e755590ab2de83d39;hp=5d4191c7a0698e1dba889b7dae188939957cef42;hpb=ef88c7efabf98ea1fcee29e026f96b3f31b94521;p=platform%2Fupstream%2Flibxkbcommon.git diff --git a/src/xkbcomp/action.h b/src/xkbcomp/action.h index 5d4191c..1f92e7b 100644 --- a/src/xkbcomp/action.h +++ b/src/xkbcomp/action.h @@ -1,84 +1,56 @@ /************************************************************ - 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. - + * 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 ACTION_H -#define ACTION_H 1 +#ifndef XKBCOMP_ACTION_H +#define XKBCOMP_ACTION_H -#define F_ClearLocks 0 -#define F_LatchToLock 1 -#define F_GenKeyEvent 2 -#define F_Report 3 -#define F_Default 4 -#define F_Affect 5 -#define F_Increment 6 -#define F_Modifiers 7 -#define F_Group 8 -#define F_X 9 -#define F_Y 10 -#define F_Accel 11 -#define F_Button 12 -#define F_Value 13 -#define F_Controls 14 -#define F_Type 15 -#define F_Count 16 -#define F_Screen 17 -#define F_Same 18 -#define F_Data 19 -#define F_Device 20 -#define F_Keycode 21 -#define F_ModsToClear 22 -#define F_LastField F_ModsToClear -#define F_NumFields (F_LastField+1) +/* + * This struct contains the default values which every new action + * (e.g. in an interpret statement) starts off with. It can be + * modified within the files (see calls to SetActionField). + */ +typedef struct { + union xkb_action actions[_ACTION_TYPE_NUM_ENTRIES]; +} ActionsInfo; -#define PrivateAction (XkbSA_LastAction+1) +ActionsInfo * +NewActionsInfo(void); -typedef struct _ActionInfo -{ - unsigned action; - unsigned field; - ExprDef *array_ndx; - ExprDef *value; - struct _ActionInfo *next; -} ActionInfo; +void +FreeActionsInfo(ActionsInfo *info); -extern int HandleActionDef(ExprDef * /* def */ , - struct xkb_keymap * /* xkb */ , - struct xkb_any_action * /* action */ , - unsigned /* mergeMode */ , - ActionInfo * /* info */ - ); +bool +HandleActionDef(struct xkb_context *ctx, ActionsInfo *info, + const struct xkb_mod_set *mods, ExprDef *def, + union xkb_action *action); -extern int SetActionField(struct xkb_keymap * /* xkb */ , - char * /* elem */ , - char * /* field */ , - ExprDef * /* index */ , - ExprDef * /* value */ , - ActionInfo ** /* info_rtrn */ - ); +bool +SetActionField(struct xkb_context *ctx, ActionsInfo *info, + struct xkb_mod_set *mods, const char *elem, + const char *field, ExprDef *array_ndx, ExprDef *value); -extern const LookupEntry ctrlNames[]; -#endif /* ACTION_H */ +#endif