Remove the last offender against -DGTK_DISABLE_SINGLE_INCLUDES
[claws.git] / src / plugins / notification / gtkhotkey / x11 / eggaccelerators.h
1 /* eggaccelerators.h
2  * Copyright (C) 2002  Red Hat, Inc.
3  * Developed by Havoc Pennington
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20
21 #ifndef __EGG_ACCELERATORS_H__
22 #define __EGG_ACCELERATORS_H__
23
24 #include <gdk/gdk.h>
25
26 G_BEGIN_DECLS
27
28 /* Where a value is also in GdkModifierType we coincide,
29  * otherwise we don't overlap.
30  */
31 typedef enum
32 {
33   EGG_VIRTUAL_SHIFT_MASK    = 1 << 0,
34   EGG_VIRTUAL_LOCK_MASK     = 1 << 1,
35   EGG_VIRTUAL_CONTROL_MASK  = 1 << 2,
36
37   EGG_VIRTUAL_ALT_MASK      = 1 << 3, /* fixed as Mod1 */
38   
39   EGG_VIRTUAL_MOD2_MASK     = 1 << 4,
40   EGG_VIRTUAL_MOD3_MASK     = 1 << 5,
41   EGG_VIRTUAL_MOD4_MASK     = 1 << 6,
42   EGG_VIRTUAL_MOD5_MASK     = 1 << 7,
43
44 #if 0
45   GDK_BUTTON1_MASK  = 1 << 8,
46   GDK_BUTTON2_MASK  = 1 << 9,
47   GDK_BUTTON3_MASK  = 1 << 10,
48   GDK_BUTTON4_MASK  = 1 << 11,
49   GDK_BUTTON5_MASK  = 1 << 12,
50   /* 13, 14 are used by Xkb for the keyboard group */
51 #endif
52   
53   EGG_VIRTUAL_META_MASK = 1 << 24,
54   EGG_VIRTUAL_SUPER_MASK = 1 << 25,
55   EGG_VIRTUAL_HYPER_MASK = 1 << 26,
56   EGG_VIRTUAL_MODE_SWITCH_MASK = 1 << 27, 
57   EGG_VIRTUAL_NUM_LOCK_MASK = 1 << 28,
58   EGG_VIRTUAL_SCROLL_LOCK_MASK = 1 << 29,
59
60   /* Also in GdkModifierType */
61   EGG_VIRTUAL_RELEASE_MASK  = 1 << 30,
62
63   /*     28-31 24-27 20-23 16-19 12-15 8-11 4-7 0-3
64    *       7     f     0     0     0    0    f   f
65    */  
66   EGG_VIRTUAL_MODIFIER_MASK = 0x7f0000ff
67
68 } EggVirtualModifierType;
69
70 gboolean egg_accelerator_parse_virtual        (const gchar            *accelerator,
71                                                guint                  *accelerator_key,
72                                                EggVirtualModifierType *accelerator_mods);
73 void     egg_keymap_resolve_virtual_modifiers (GdkKeymap              *keymap,
74                                                EggVirtualModifierType  virtual_mods,
75                                                GdkModifierType        *concrete_mods);
76 void     egg_keymap_virtualize_modifiers      (GdkKeymap              *keymap,
77                                                GdkModifierType         concrete_mods,
78                                                EggVirtualModifierType *virtual_mods);
79
80 gchar* egg_virtual_accelerator_name (guint                  accelerator_key,
81                                      EggVirtualModifierType accelerator_mods);
82
83 G_END_DECLS
84
85
86 #endif /* __EGG_ACCELERATORS_H__ */