1053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/*
2053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Copyright (C) 2008,2009  OMRON SOFTWARE Co., Ltd.
3053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
4053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * you may not use this file except in compliance with the License.
6053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * You may obtain a copy of the License at
7053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
8053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
10053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * See the License for the specific language governing permissions and
14053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * limitations under the License.
15053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */
16053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
17053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectpackage jp.co.omronsoft.openwnn;
18053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
19053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport android.view.KeyEvent;
20053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectimport java.util.*;
21053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
22053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project/**
233feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa * The definition class of event message used by OpenWnn framework.
24053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project *
25053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD.  All Rights Reserved.
26053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project */
27053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Projectpublic class OpenWnnEvent {
28053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Offset value for private events */
29053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int PRIVATE_EVENT_OFFSET = 0xFF000000;
30053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
31053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Undefined */
32053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int UNDEFINED = 0;
33053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
34053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
35053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Reverse key.
36053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
37053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * This is used for multi-tap keyboard like 12-key.
38053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
39053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int TOGGLE_REVERSE_CHAR = 0xF0000001;
40053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
41053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
42053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Convert.
43053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
447b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * This event makes {@link OpenWnn} to display conversion candidates from {@link ComposingText}.
45053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
46053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int CONVERT = 0xF0000002;
47053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
48053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
49053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Predict.
50053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
517b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * This event makes {@link OpenWnn} to display prediction candidates from {@link ComposingText}.
52053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
53053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int PREDICT = 0xF0000008;
54053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
55053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
56053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * List candidates (normal view).
57053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
58053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * This event changes the candidates view's size
59053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
60053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int LIST_CANDIDATES_NORMAL = 0xF0000003;
61053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
62053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
63053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * List candidates (wide view).
64053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
65053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * This event changes the candidates view's size
66053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
67053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int LIST_CANDIDATES_FULL = 0xF0000004;
68053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
69053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
70053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Close view
71053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
72053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int CLOSE_VIEW = 0xF0000005;
73053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
74053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
75053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Insert character(s).
76053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
777b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * This event input specified character({@code chars}) into the cursor position.
78053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
79053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int INPUT_CHAR = 0xF0000006;
80053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
81053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
82053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Toggle a character.
83053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
847b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * This event changes a character at cursor position with specified rule({@code toggleMap}).
85053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * This is used for multi-tap keyboard.
86053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
87053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int TOGGLE_CHAR = 0xF000000C;
88053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
89053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
90053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Replace a character at the cursor.
91053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
92053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int REPLACE_CHAR = 0xF000000D;
93053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
94053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
95053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Input key.
96053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
977b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * This event processes a {@code keyEvent}.
98053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
99053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int INPUT_KEY  = 0xF0000007;
100053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
101053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
102053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Input Soft key.
103053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
1047b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * This event processes a {@code keyEvent}.
1057b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * If the event is not processed in {@link OpenWnn}, the event is thrown to the IME's client.
106053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
107053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int INPUT_SOFT_KEY  = 0xF000000E;
108053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
109053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
110053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Focus to the candidates view.
111053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
112053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int FOCUS_TO_CANDIDATE_VIEW  = 0xF0000009;
113053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
114053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
115053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Focus out from the candidates view.
116053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
117053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int FOCUS_OUT_CANDIDATE_VIEW  = 0xF000000A;
118053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
119053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
120053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Select a candidate
121053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
122053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int SELECT_CANDIDATE  = 0xF000000B;
123053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
124053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
125053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Change Mode
126053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
127053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int CHANGE_MODE  = 0xF000000F;
128053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
129053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
1303feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa     * The definition class of engine's mode.
131053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
132053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final class Mode {
1337b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa        /** Default (use both of the letterConverter and the {@link WnnEngine}) */
134053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        public static final int DEFAULT      = 0;
1357b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa        /** Direct input (not use the letterConverter and the {@link WnnEngine}) */
136053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        public static final int DIRECT       = 1;
1377b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa        /** Do not use the {@link LetterConverter} */
138053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        public static final int NO_LV1_CONV  = 2;
1397b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa        /** Do not use the {@link WnnEngine} */
140053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        public static final int NO_LV2_CONV  = 3;
141053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
142053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
143053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
144053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Commit the composing text
145053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
146053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int COMMIT_COMPOSING_TEXT  = 0xF0000010;
147053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
148053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
149053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * List symbols
150053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
151053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int LIST_SYMBOLS  = 0xF0000011;
152053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
153053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
154053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Switch Language
155053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
156053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int SWITCH_LANGUAGE  = 0xF0000012;
157053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
158053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
159053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Initialize the user dictionary.
160053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
161053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int INITIALIZE_USER_DICTIONARY = 0xF0000013;
162053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
163053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
164053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Initialize the learning dictionary.
165053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
166053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int INITIALIZE_LEARNING_DICTIONARY = 0xF0000014;
167053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
168053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
169053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * List words in the user dictionary.
170053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
1717b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * To get words from the list, use {@code GET_WORD} event.
172053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
173053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int LIST_WORDS_IN_USER_DICTIONARY = 0xF0000015;
174053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
175053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
176053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Get a word from the user dictionary.
177053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
1787b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Get a word from top of the list made by {@code LIST_WORDS_IN_USER_DICTIONARY}.
179053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
180053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int GET_WORD  = 0xF0000018;
181053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
182053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
183053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Add word to the user dictionary.
184053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
185053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int ADD_WORD     = 0xF0000016;
186053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
187053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
188053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Delete a word from the dictionary.
189053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
190053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int DELETE_WORD  = 0xF0000017;
191053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
192053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
193053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * Update the candidate view
194053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
195053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public static final int UPDATE_CANDIDATE = 0xF0000019;
196053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
1977b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    /**
1987b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Edit words in the user dictionary.
1997b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     */
2007b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    public static final int EDIT_WORDS_IN_USER_DICTIONARY = 0xF000001A;
2017b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa
2027b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    /**
2037b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Undo
2047b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     */
2057b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    public static final int UNDO  = 0xF000001B;
2067b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa
2077b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    /**
2087b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Change input view
2097b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     */
2107b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    public static final int CHANGE_INPUT_VIEW = 0xF000001C;
2117b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa
2127b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    /**
2137b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Touch the candidate view.
2147b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     */
2157b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    public static final int CANDIDATE_VIEW_TOUCH = 0xF000001D;
216053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
2173feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa    /**
2183feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa     * Key up event.
2193feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa     */
2203feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa    public static final int KEYUP = 0xF000001F;
2213feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa
222e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa    /**
223e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa     * Touch the other key.
224e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa     */
225e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa    public static final int TOUCH_OTHER_KEY = 0xF0000020;
226e83971e4dafd53e9fb00386355afdbae7e00c0cfDaisuke Miyakawa
227053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Event code */
228053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public int code = UNDEFINED;
229053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Detail mode of the event */
230053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public int mode = 0;
231053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Type of dictionary */
232053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public int dictionaryType = 0;
233053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Input character(s) */
234053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public char[] chars = null;
235053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Key event */
236053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public KeyEvent keyEvent = null;
237053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Mapping table for toggle input */
238053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public String[]  toggleTable = null;
239053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Mapping table for toggle input */
2407b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    public HashMap<?,?> replaceTable = null;
241053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Word's information */
242053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public WnnWord  word = null;
243053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /** Error code */
244053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public int errorCode;
245053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
246053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
2477b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent}
248053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
2497b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param code      The code
250053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
251053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public OpenWnnEvent(int code) {
252053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.code = code;
253053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
254053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
2557b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent} for changing the mode
256053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
2577b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param code      The code
2587b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param mode      The mode
259053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
260053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public OpenWnnEvent(int code, int mode) {
261053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.code = code;
262053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.mode = mode;
263053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
264053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
2657b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent} for a inputing character
266053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
2677b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param code      The code
2687b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param c         The inputing character
269053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
270053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public OpenWnnEvent(int code, char c) {
271053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.code = code;
272053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.chars = new char[1];
273053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.chars[0] = c;
274053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     }
275053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
2767b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent} for inputing characters
277053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
2787b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param code      The code
2797b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param c         The array of inputing character
280053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
281053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public OpenWnnEvent(int code, char c[]) {
282053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.code = code;
283053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.chars = c;
284053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
285053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
2867b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent} for toggle inputing a character
287053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
2887b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param code          The code
2897b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param toggleTable   The array of toggle inputing a character
290053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
291053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public OpenWnnEvent(int code, String[] toggleTable) {
292053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.code = code;
293053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.toggleTable = toggleTable;
294053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
295053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
2967b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent} for replacing a character
297053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
2987b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param code          The code
2997b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param replaceTable  The replace table
300053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
3017b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa    public OpenWnnEvent(int code, HashMap<?,?> replaceTable) {
302053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.code = code;
303053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.replaceTable = replaceTable;
304053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
305053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
3067b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent} from {@link KeyEvent}
307053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     * <br>
3087b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * This constructor is same as {@code OpenWnnEvent(INPUT_KEY, ev)}.
309053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
3107b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param ev    The key event
311053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
312053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public OpenWnnEvent(KeyEvent ev) {
3133feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa        if(ev.getAction() != KeyEvent.ACTION_UP){
3143feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa            this.code = INPUT_KEY;
3153feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa        }else{
3163feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa            this.code = KEYUP;
3173feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa        }
318053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.keyEvent = ev;
319053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
320053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
3217b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent} from {@link KeyEvent}
322053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
3237b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param code      The code
3247b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param ev        The key event
325053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
326053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public OpenWnnEvent(int code, KeyEvent ev) {
327053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.code = code;
328053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.keyEvent = ev;
329053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
330053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
3317b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent} for selecting a candidate
332053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
3337b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param code      The code
3347b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param word      The selected candidate
335053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
336053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public OpenWnnEvent(int code, WnnWord word) {
337053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.code = code;
338053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.word = word;
339053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
340053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project
341053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    /**
3427b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * Generate {@link OpenWnnEvent} for dictionary management
343053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     *
3447b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param code      The code
3457b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param dict      The type of dictionary
3467b3b414976b6b3d6d85459de79e843d5ab35ed06Daisuke Miyakawa     * @param word      The selected candidate
347053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project     */
348053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    public OpenWnnEvent(int code, int dict, WnnWord word) {
349053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.code = code;
350053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.dictionaryType = dict;
351053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project        this.word = word;
352053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project    }
353053d50935e0e311286543bd7c535ae2c863c0deThe Android Open Source Project}
3543feb3d26d59be1626c59b72654020179e2b2ebe0Daisuke Miyakawa
355