00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __EGG_ACCELERATORS_H__
00022 #define __EGG_ACCELERATORS_H__
00023
00024 #include <gtk/gtkaccelgroup.h>
00025 #include <gdk/gdk.h>
00026
00027 G_BEGIN_DECLS
00028
00029
00030
00031
00032 typedef enum
00033 {
00034 EGG_VIRTUAL_SHIFT_MASK = 1 << 0,
00035 EGG_VIRTUAL_LOCK_MASK = 1 << 1,
00036 EGG_VIRTUAL_CONTROL_MASK = 1 << 2,
00037
00038 EGG_VIRTUAL_ALT_MASK = 1 << 3,
00039
00040 EGG_VIRTUAL_MOD2_MASK = 1 << 4,
00041 EGG_VIRTUAL_MOD3_MASK = 1 << 5,
00042 EGG_VIRTUAL_MOD4_MASK = 1 << 6,
00043 EGG_VIRTUAL_MOD5_MASK = 1 << 7,
00044
00045 #if 0
00046 GDK_BUTTON1_MASK = 1 << 8,
00047 GDK_BUTTON2_MASK = 1 << 9,
00048 GDK_BUTTON3_MASK = 1 << 10,
00049 GDK_BUTTON4_MASK = 1 << 11,
00050 GDK_BUTTON5_MASK = 1 << 12,
00051
00052 #endif
00053
00054 EGG_VIRTUAL_META_MASK = 1 << 24,
00055 EGG_VIRTUAL_SUPER_MASK = 1 << 25,
00056 EGG_VIRTUAL_HYPER_MASK = 1 << 26,
00057 EGG_VIRTUAL_MODE_SWITCH_MASK = 1 << 27,
00058 EGG_VIRTUAL_NUM_LOCK_MASK = 1 << 28,
00059 EGG_VIRTUAL_SCROLL_LOCK_MASK = 1 << 29,
00060
00061
00062 EGG_VIRTUAL_RELEASE_MASK = 1 << 30,
00063
00064
00065
00066
00067 EGG_VIRTUAL_MODIFIER_MASK = 0x7f0000ff
00068
00069 } EggVirtualModifierType;
00070
00071 gboolean egg_accelerator_parse_virtual (const gchar *accelerator,
00072 guint *accelerator_key,
00073 EggVirtualModifierType *accelerator_mods);
00074 void egg_keymap_resolve_virtual_modifiers (GdkKeymap *keymap,
00075 EggVirtualModifierType virtual_mods,
00076 GdkModifierType *concrete_mods);
00077 void egg_keymap_virtualize_modifiers (GdkKeymap *keymap,
00078 GdkModifierType concrete_mods,
00079 EggVirtualModifierType *virtual_mods);
00080
00081 gchar* egg_virtual_accelerator_name (guint accelerator_key,
00082 EggVirtualModifierType accelerator_mods);
00083
00084 G_END_DECLS
00085
00086
00087 #endif