Add Ctrl+space customization.
[platform/upstream/ibus.git] / src / ibuskeys.h
1 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
2 /* vim:set et sts=4: */
3 /* ibus - The Input Bus
4  * Copyright (C) 2011 Peng Huang <shawn.p.huang@gmail.com>
5  * Copyright (C) 2011 Google, Inc.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22
23 #if !defined (__IBUS_H_INSIDE__) && !defined (IBUS_COMPILATION)
24 #error "Only <ibus.h> can be included directly"
25 #endif
26
27 #ifndef __IBUS_KEYS_H_
28 #define __IBUS_KEYS_H_
29
30 #include <glib.h>
31
32 /**
33  * ibus_keyval_name:
34  * @keyval: Key symbol.
35  * @returns: Corresponding key name. %NULL if no such key symbol.
36  *
37  * Return the name of a key symbol.
38  *
39  * Note that the returned string is used internally, so don't free it.
40  */
41 const gchar     *ibus_keyval_name       (guint           keyval);
42
43 /**
44  * ibus_keyval_from_name:
45  * @keyval_name: Key name in #gdk_keys_by_name.
46  * @returns: Corresponding key symbol.
47  *
48  * Return the key symbol that associate with the key name.
49  */
50 guint            ibus_keyval_from_name  (const gchar    *keyval_name);
51
52 /**
53  * ibus_unicode_to_keyval:
54  * @wc: a ISO10646 encoded character
55  * 
56  * Convert from a ISO10646 character to a key symbol.
57  * 
58  * Return value: the corresponding IBus key symbol, if one exists.
59  *               or, if there is no corresponding symbol,
60  *               wc | 0x01000000
61  **/
62 guint            ibus_unicode_to_keyval (gunichar        wc);
63
64 /**
65  * ibus_keyval_to_unicode:
66  * @keyval: an IBus key symbol
67  * 
68  * Convert from an IBus key symbol to the corresponding ISO10646 (Unicode)
69  * character.
70  * 
71  * Return value: the corresponding unicode character, or 0 if there
72  *               is no corresponding character.
73  **/
74 gunichar         ibus_keyval_to_unicode (guint           keyval);
75
76 #endif // __IBUS_KEYS_H_