projects
/
m17n
/
m17n-lib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*** empty log message ***
[m17n/m17n-lib.git]
/
src
/
input.h
diff --git
a/src/input.h
b/src/input.h
index
1e00f0e
..
a08dcbc
100644
(file)
--- a/
src/input.h
+++ b/
src/input.h
@@
-17,19
+17,28
@@
You should have received a copy of the GNU Lesser General Public
License along with the m17n library; if not, write to the Free
You should have received a copy of the GNU Lesser General Public
License along with the m17n library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
02111-1307, USA. */
#ifndef _M17N_INPUT_H_
#define _M17N_INPUT_H_
02111-1307, USA. */
#ifndef _M17N_INPUT_H_
#define _M17N_INPUT_H_
-typedef struct
+typedef struct _MInputMethodInfo MInputMethodInfo;
+
+struct _MInputMethodInfo
{
{
+ MDatabase *mdb;
+ MSymbol language, name, extra;
+ MPlist *cmds, *configured_cmds, *bc_cmds;
+ MPlist *vars, *configured_vars, *bc_vars;
+ MText *description;
MText *title;
MText *title;
+ MPlist *maps;
MPlist *states;
MPlist *macros;
MPlist *externals;
MPlist *states;
MPlist *macros;
MPlist *externals;
-} MInputMethodInfo;
+ unsigned long tick;
+};
typedef struct MIMState MIMState;
typedef struct MIMState MIMState;
@@
-40,6
+49,9
@@
typedef struct
/** The current state. */
MIMState *state;
/** The current state. */
MIMState *state;
+ /** The previous state. */
+ MIMState *prev_state;
+
/** The current map. */
MIMMap *map;
/** The current map. */
MIMMap *map;
@@
-53,6
+65,9
@@
typedef struct
/** Index of the key not yet handled. */
int key_head;
/** Index of the key not yet handled. */
int key_head;
+ /** Index of the key at the time of committing. */
+ int commit_key_head;
+
/** Saved M-text when entered in the current state. */
MText *preedit_saved;
/** Saved M-text when entered in the current state. */
MText *preedit_saved;
@@
-62,13
+77,19
@@
typedef struct
/** List of markers. */
MPlist *markers;
/** List of markers. */
MPlist *markers;
- /* List of variables. */
+ /** List of variables. */
MPlist *vars;
MPlist *vars;
+ MPlist *vars_saved;
+
+ MText *preceding_text, *following_text;
+
int key_unhandled;
/** Used by minput_win_driver (input-win.c). */
void *win_info;
int key_unhandled;
/** Used by minput_win_driver (input-win.c). */
void *win_info;
+
+ unsigned long tick;
} MInputContextInfo;
#define MINPUT_KEY_SHIFT_MODIFIER (1 << 0)
} MInputContextInfo;
#define MINPUT_KEY_SHIFT_MODIFIER (1 << 0)
@@
-78,7
+99,6
@@
typedef struct
#define MINPUT_KEY_SUPER_MODIFIER (1 << 4)
#define MINPUT_KEY_HYPER_MODIFIER (1 << 5)
#define MINPUT_KEY_SUPER_MODIFIER (1 << 4)
#define MINPUT_KEY_HYPER_MODIFIER (1 << 5)
-extern void minput__callback (MInputContext *ic, MSymbol command);
extern MSymbol minput__char_to_key (int c);
#endif /* not _M17N_INPUT_H_ */
extern MSymbol minput__char_to_key (int c);
#endif /* not _M17N_INPUT_H_ */