|
SCIMBridge 0.4.x
|
00001 /* 00002 * SCIM Bridge 00003 * 00004 * Copyright (c) 2006 Ryo Dairiki <ryo-dairiki@users.sourceforge.net> 00005 * 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation and 00010 * appearing in the file LICENSE.LGPL included in the package of this file. 00011 * You can also redistribute it and/or modify it under the terms of 00012 * the GNU General Public License as published by the Free Software Foundation and 00013 * appearing in the file LICENSE.GPL included in the package of this file. 00014 * 00015 * This library is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 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 /*SCIM_BRIDGE_KEY_EVENT_H_*/
1.7.3