00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00025 #ifndef SCIM_BRIDGE_KEY_EVENT_H_
00026 #define SCIM_BRIDGE_KEY_EVENT_H_
00027
00028 #include "scim-bridge.h"
00029 #include "scim-bridge-key-code.h"
00030
00034 typedef unsigned int scim_bridge_key_quirk_t;
00035
00039 #define SCIM_BRIDGE_KEY_NO_QUIRK (0)
00040
00044 #define SCIM_BRIDGE_KEY_ALL_QUIRKS (0xF)
00045
00049 #define SCIM_BRIDGE_KEY_QUIRK_KANA_RO (1 << 1)
00050
00054 typedef struct _ScimBridgeKeyEvent ScimBridgeKeyEvent;
00055
00056 #ifdef __cplusplus
00057 extern "C"
00058 {
00059 #endif
00060
00066 ScimBridgeKeyEvent *scim_bridge_alloc_key_event ();
00067
00074 void scim_bridge_free_key_event (ScimBridgeKeyEvent *key_event);
00075
00082 scim_bridge_key_code_t scim_bridge_key_event_get_code (const ScimBridgeKeyEvent *key_event);
00083
00090 void scim_bridge_key_event_set_code (ScimBridgeKeyEvent *key_event, scim_bridge_key_code_t key_code);
00091
00098 boolean scim_bridge_key_event_is_pressed (const ScimBridgeKeyEvent *key_event);
00099
00106 void scim_bridge_key_event_set_pressed (ScimBridgeKeyEvent *key_event, boolean pressed);
00107
00108
00114 void scim_bridge_key_event_clear_modifiers (ScimBridgeKeyEvent *key_event);
00115
00116
00123 boolean scim_bridge_key_event_is_shift_down (const ScimBridgeKeyEvent *key_event);
00124
00131 void scim_bridge_key_event_set_shift_down (ScimBridgeKeyEvent *key_event, boolean down);
00132
00139 boolean scim_bridge_key_event_is_caps_lock_down (const ScimBridgeKeyEvent *key_event);
00140
00147 void scim_bridge_key_event_set_caps_lock_down (ScimBridgeKeyEvent *key_event, boolean down);
00148
00155 boolean scim_bridge_key_event_is_control_down (const ScimBridgeKeyEvent *key_event);
00156
00163 void scim_bridge_key_event_set_control_down (ScimBridgeKeyEvent *key_event, boolean down);
00164
00171 boolean scim_bridge_key_event_is_alt_down (const ScimBridgeKeyEvent *key_event);
00172
00179 void scim_bridge_key_event_set_alt_down (ScimBridgeKeyEvent *key_event, boolean down);
00180
00187 boolean scim_bridge_key_event_is_meta_down (const ScimBridgeKeyEvent *key_event);
00188
00195 void scim_bridge_key_event_set_meta_down (ScimBridgeKeyEvent *key_event, boolean down);
00196
00203 boolean scim_bridge_key_event_is_super_down (const ScimBridgeKeyEvent *key_event);
00204
00211 void scim_bridge_key_event_set_super_down (ScimBridgeKeyEvent *key_event, boolean down);
00212
00219 boolean scim_bridge_key_event_is_hyper_down (const ScimBridgeKeyEvent *key_event);
00220
00227 void scim_bridge_key_event_set_hyper_down (ScimBridgeKeyEvent *key_event, boolean down);
00228
00235 boolean scim_bridge_key_event_is_num_lock_down (const ScimBridgeKeyEvent *key_event);
00236
00243 void scim_bridge_key_event_set_num_lock_down (ScimBridgeKeyEvent *key_event, boolean down);
00244
00251 boolean scim_bridge_key_event_is_quirk_enabled (const ScimBridgeKeyEvent *key_event, scim_bridge_key_quirk_t quirk);
00252
00260 void scim_bridge_key_event_set_quirk_enabled (ScimBridgeKeyEvent *key_event, scim_bridge_key_quirk_t quirk, boolean enabled);
00261
00267 void scim_bridge_key_event_clear_all_quirks (ScimBridgeKeyEvent *key_event);
00268
00269 #ifdef __cplusplus
00270 }
00271 #endif
00272 #endif