/** Enable English word prediction on half-width alphabet mode */
private static final boolean USE_ENGLISH_PREDICT = true;
- /** Key code for switching to full-width alphabet mode */
- private static final int KEYCODE_SWITCH_FULL_ALPHABET = -303;
-
- /** Key code for switching to full-width number mode */
- private static final int KEYCODE_SWITCH_FULL_NUMBER = -304;
-
- /** Key code for switching to half-width alphabet mode */
- private static final int KEYCODE_SWITCH_HALF_ALPHABET = -307;
-
- /** Key code for switching to half-width number mode */
- private static final int KEYCODE_SWITCH_HALF_NUMBER = -308;
-
/** Key code for case toggle key */
private static final int KEYCODE_SELECT_CASE = -309;
/** Input mode toggle cycle table */
private static final int[] JP_MODE_CYCLE_TABLE = {
- KEYMODE_JA_FULL_NICO, KEYMODE_JA_HALF_ALPHABET, KEYMODE_JA_HALF_NUMBER,
+ KEYMODE_JA_FULL_NICO,
};
/** Definition for {@code mInputType} (toggle) */
/** Max key number of the 12 key keyboard (depends on the definition of keyboards) */
private static final int KEY_NUMBER_12KEY = 20;
- /** Toggle cycle table for full-width alphabet */
- private static final String[][] JP_FULL_ALPHABET_CYCLE_TABLE = {
- {"\uff0e", "\uff20", "\uff0d", "\uff3f", "\uff0f", "\uff1a", "\uff5e", "\uff11"},
- {"\uff41", "\uff42", "\uff43", "\uff21", "\uff22", "\uff23", "\uff12"},
- {"\uff44", "\uff45", "\uff46", "\uff24", "\uff25", "\uff26", "\uff13"},
- {"\uff47", "\uff48", "\uff49", "\uff27", "\uff28", "\uff29", "\uff14"},
- {"\uff4a", "\uff4b", "\uff4c", "\uff2a", "\uff2b", "\uff2c", "\uff15"},
- {"\uff4d", "\uff4e", "\uff4f", "\uff2d", "\uff2e", "\uff2f", "\uff16"},
- {"\uff50", "\uff51", "\uff52", "\uff53", "\uff30", "\uff31", "\uff32", "\uff33", "\uff17"},
- {"\uff54", "\uff55", "\uff56", "\uff34", "\uff35", "\uff36", "\uff18"},
- {"\uff57", "\uff58", "\uff59", "\uff5a", "\uff37", "\uff38", "\uff39", "\uff3a", "\uff19"},
- {"\uff0d", "\uff10"},
- {"\uff0c", "\uff0e", "\uff1f", "\uff01", "\u30fb", "\u3000"}
- };
-
- /** Replace table for full-width alphabet */
- private static final HashMap<String,String> JP_FULL_ALPHABET_REPLACE_TABLE = new HashMap<String,String>() {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- {
- put("\uff21", "\uff41"); put("\uff22", "\uff42"); put("\uff23", "\uff43"); put("\uff24", "\uff44"); put("\uff25", "\uff45");
- put("\uff41", "\uff21"); put("\uff42", "\uff22"); put("\uff43", "\uff23"); put("\uff44", "\uff24"); put("\uff45", "\uff25");
- put("\uff26", "\uff46"); put("\uff27", "\uff47"); put("\uff28", "\uff48"); put("\uff29", "\uff49"); put("\uff2a", "\uff4a");
- put("\uff46", "\uff26"); put("\uff47", "\uff27"); put("\uff48", "\uff28"); put("\uff49", "\uff29"); put("\uff4a", "\uff2a");
- put("\uff2b", "\uff4b"); put("\uff2c", "\uff4c"); put("\uff2d", "\uff4d"); put("\uff2e", "\uff4e"); put("\uff2f", "\uff4f");
- put("\uff4b", "\uff2b"); put("\uff4c", "\uff2c"); put("\uff4d", "\uff2d"); put("\uff4e", "\uff2e"); put("\uff4f", "\uff2f");
- put("\uff30", "\uff50"); put("\uff31", "\uff51"); put("\uff32", "\uff52"); put("\uff33", "\uff53"); put("\uff34", "\uff54");
- put("\uff50", "\uff30"); put("\uff51", "\uff31"); put("\uff52", "\uff32"); put("\uff53", "\uff33"); put("\uff54", "\uff34");
- put("\uff35", "\uff55"); put("\uff36", "\uff56"); put("\uff37", "\uff57"); put("\uff38", "\uff58"); put("\uff39", "\uff59");
- put("\uff55", "\uff35"); put("\uff56", "\uff36"); put("\uff57", "\uff37"); put("\uff58", "\uff38"); put("\uff59", "\uff39");
- put("\uff3a", "\uff5a");
- put("\uff5a", "\uff3a");
- }};
-
- /** Toggle cycle table for half-width alphabet */
- private static final String[][] JP_HALF_ALPHABET_CYCLE_TABLE = {
- {".", "@", "-", "_", "/", ":", "~", "1"},
- {"a", "b", "c", "A", "B", "C", "2"},
- {"d", "e", "f", "D", "E", "F", "3"},
- {"g", "h", "i", "G", "H", "I", "4"},
- {"j", "k", "l", "J", "K", "L", "5"},
- {"m", "n", "o", "M", "N", "O", "6"},
- {"p", "q", "r", "s", "P", "Q", "R", "S", "7"},
- {"t", "u", "v", "T", "U", "V", "8"},
- {"w", "x", "y", "z", "W", "X", "Y", "Z", "9"},
- {"-", "0"},
- {",", ".", "?", "!", ";", " "}
- };
-
- /** Replace table for half-width alphabet */
- private static final HashMap<String,String> JP_HALF_ALPHABET_REPLACE_TABLE = new HashMap<String,String>() {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- {
- put("A", "a"); put("B", "b"); put("C", "c"); put("D", "d"); put("E", "e");
- put("a", "A"); put("b", "B"); put("c", "C"); put("d", "D"); put("e", "E");
- put("F", "f"); put("G", "g"); put("H", "h"); put("I", "i"); put("J", "j");
- put("f", "F"); put("g", "G"); put("h", "H"); put("i", "I"); put("j", "J");
- put("K", "k"); put("L", "l"); put("M", "m"); put("N", "n"); put("O", "o");
- put("k", "K"); put("l", "L"); put("m", "M"); put("n", "N"); put("o", "O");
- put("P", "p"); put("Q", "q"); put("R", "r"); put("S", "s"); put("T", "t");
- put("p", "P"); put("q", "Q"); put("r", "R"); put("s", "S"); put("t", "T");
- put("U", "u"); put("V", "v"); put("W", "w"); put("X", "x"); put("Y", "y");
- put("u", "U"); put("v", "V"); put("w", "W"); put("x", "X"); put("y", "Y");
- put("Z", "z");
- put("z", "Z");
- }};
-
-
/* */
SetupKeyboard mSetupKeyboard;
String[][][] mCycleTable;
int mode = NicoWnnEvent.Mode.DIRECT;
switch (targetMode) {
- case KEYMODE_JA_HALF_ALPHABET:
- if (USE_ENGLISH_PREDICT) {
- mInputType = INPUT_TYPE_TOGGLE;
- mode = NicoWnnEvent.Mode.NO_LV1_CONV;
- } else {
- mInputType = INPUT_TYPE_TOGGLE;
- mode = NicoWnnEvent.Mode.DIRECT;
- }
- break;
-
- case KEYMODE_JA_FULL_NUMBER:
- mInputType = INPUT_TYPE_INSTANT;
- mode = NicoWnnEvent.Mode.DIRECT;
- mCurrentInstantTable = INSTANT_CHAR_CODE_FULL_NUMBER;
- break;
-
- case KEYMODE_JA_HALF_NUMBER:
- mInputType = INPUT_TYPE_INSTANT;
- mode = NicoWnnEvent.Mode.DIRECT;
- mCurrentInstantTable = INSTANT_CHAR_CODE_HALF_NUMBER;
- break;
-
- case KEYMODE_JA_FULL_ALPHABET:
- mInputType = INPUT_TYPE_TOGGLE;
- mode = NicoWnnEvent.Mode.DIRECT;
- break;
-
+
case KEYMODE_JA_FULL_NICO:
mInputType = INPUT_TYPE_TOGGLE;
mode = NicoWnnEvent.Mode.DEFAULT;
keymode = mPreferenceKeyMode;
} else if (mLimitedKeyMode != null) {
keymode = mLimitedKeyMode[0];
- } else {
- if (!locale.getLanguage().equals(Locale.JAPANESE.getLanguage())) {
- keymode = KEYMODE_JA_HALF_ALPHABET;
- }
}
-
changeKeyMode(keymode);
}
Keyboard[][] keyList;
/* qwerty shift_off (portrait) */
keyList = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_QWERTY][KEYBOARD_SHIFT_OFF];
- keyList[KEYMODE_JA_FULL_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_full_alphabet);
- keyList[KEYMODE_JA_FULL_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_full_symbols);
- keyList[KEYMODE_JA_HALF_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_half_alphabet);
- keyList[KEYMODE_JA_HALF_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_half_symbols);
- keyList[KEYMODE_JA_HALF_PHONE][0] = new Keyboard(parent, R.xml.keyboard_12key_phone);
keyList[KEYMODE_JA_FULL_NICO][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp);
/* qwerty shift_on (portrait) */
keyList = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_QWERTY][KEYBOARD_SHIFT_ON];
- keyList[KEYMODE_JA_FULL_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_full_alphabet_shift);
- keyList[KEYMODE_JA_FULL_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_full_symbols_shift);
- keyList[KEYMODE_JA_HALF_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_half_alphabet_shift);
- keyList[KEYMODE_JA_HALF_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_half_symbols_shift);
- keyList[KEYMODE_JA_HALF_PHONE][0] = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_QWERTY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_HALF_PHONE][0];
keyList[KEYMODE_JA_FULL_NICO][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_shift);
/* 12-keys shift_off (portrait) */
keyList = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF];
- keyList[KEYMODE_JA_HALF_PHONE][0] = new Keyboard(parent, R.xml.keyboard_12key_phone);
-
- keyList[KEYMODE_JA_FULL_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_12key_full_alphabet);
- keyList[KEYMODE_JA_FULL_ALPHABET][1] = new Keyboard(parent, R.xml.keyboard_12key_full_alphabet_input);
- keyList[KEYMODE_JA_FULL_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_12key_full_num);
- keyList[KEYMODE_JA_HALF_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_12key_half_alphabet);
- keyList[KEYMODE_JA_HALF_ALPHABET][1] = new Keyboard(parent, R.xml.keyboard_12key_half_alphabet_input);
- keyList[KEYMODE_JA_HALF_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_12key_half_num);
/* 12-keys shift_on (portrait) */
keyList = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_12KEY][KEYBOARD_SHIFT_ON];
- keyList[KEYMODE_JA_HALF_PHONE] = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_HALF_PHONE];
-
- keyList[KEYMODE_JA_FULL_ALPHABET] = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_FULL_ALPHABET];
- keyList[KEYMODE_JA_FULL_NUMBER] = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_FULL_NUMBER];
- keyList[KEYMODE_JA_HALF_ALPHABET] = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_HALF_ALPHABET];;
- keyList[KEYMODE_JA_HALF_NUMBER] = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_HALF_NUMBER];
mNicoKeyboard = mSetupKeyboard.SetupSoftKeyboard(parent, PORTRAIT);
Keyboard[][] keyList;
/* qwerty shift_off (landscape) */
keyList = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_QWERTY][KEYBOARD_SHIFT_OFF];
- keyList[KEYMODE_JA_FULL_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_full_alphabet_land);
- keyList[KEYMODE_JA_FULL_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_full_symbols_land);
- keyList[KEYMODE_JA_HALF_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_half_alphabet_land);
- keyList[KEYMODE_JA_HALF_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_half_symbols_land);
- keyList[KEYMODE_JA_HALF_PHONE][0] = new Keyboard(parent, R.xml.keyboard_12key_phone_land);
keyList[KEYMODE_JA_FULL_NICO][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_land);
/* qwerty shift_on (landscape) */
keyList = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_QWERTY][KEYBOARD_SHIFT_ON];
- keyList[KEYMODE_JA_FULL_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_full_alphabet_shift_land);
- keyList[KEYMODE_JA_FULL_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_full_symbols_shift_land);
- keyList[KEYMODE_JA_HALF_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_half_alphabet_shift_land);
- keyList[KEYMODE_JA_HALF_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_half_symbols_shift_land);
- keyList[KEYMODE_JA_HALF_PHONE][0] = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_QWERTY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_HALF_PHONE][0];
keyList[KEYMODE_JA_FULL_NICO][0] = new Keyboard(parent, R.xml.keyboard_qwerty_jp_shift_land);
/* 12-keys shift_off (landscape) */
keyList = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF];
- keyList[KEYMODE_JA_FULL_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_12key_full_alphabet_land);
- keyList[KEYMODE_JA_FULL_ALPHABET][1] = new Keyboard(parent, R.xml.keyboard_12key_full_alphabet_input_land);
- keyList[KEYMODE_JA_FULL_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_12key_full_num_land);
- keyList[KEYMODE_JA_HALF_ALPHABET][0] = new Keyboard(parent, R.xml.keyboard_12key_half_alphabet_land);
- keyList[KEYMODE_JA_HALF_ALPHABET][1] = new Keyboard(parent, R.xml.keyboard_12key_half_alphabet_input_land);
- keyList[KEYMODE_JA_HALF_NUMBER][0] = new Keyboard(parent, R.xml.keyboard_12key_half_num_land);
- keyList[KEYMODE_JA_HALF_PHONE][0] = new Keyboard(parent, R.xml.keyboard_12key_phone_land);
/* 12-keys shift_on (landscape) */
keyList = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_12KEY][KEYBOARD_SHIFT_ON];
- keyList[KEYMODE_JA_FULL_ALPHABET] = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_FULL_ALPHABET];
- keyList[KEYMODE_JA_FULL_NUMBER] = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_FULL_NUMBER];
- keyList[KEYMODE_JA_HALF_ALPHABET] = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_HALF_ALPHABET];;
- keyList[KEYMODE_JA_HALF_NUMBER] = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_HALF_NUMBER];
- keyList[KEYMODE_JA_HALF_PHONE] = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF][KEYMODE_JA_HALF_PHONE];
mNicoKeyboard = mSetupKeyboard.SetupSoftKeyboard(parent, LANDSCAPE);
private String[][] getCycleTable() {
String[][] cycleTable = null;
switch (mCurrentKeyMode) {
- case KEYMODE_JA_FULL_ALPHABET:
- cycleTable = JP_FULL_ALPHABET_CYCLE_TABLE;
- break;
-
- case KEYMODE_JA_FULL_NUMBER:
- case KEYMODE_JA_HALF_NUMBER:
- /* Because these modes belong to direct input group, No toggle table exists */
- break;
-
- case KEYMODE_JA_HALF_ALPHABET:
- cycleTable = JP_HALF_ALPHABET_CYCLE_TABLE;
- break;
case KEYMODE_JA_FULL_NICO:
cycleTable = mCycleTable[mChangeAlphaBigMode];
private HashMap<String,String> getReplaceTable() {
HashMap<String,String> hashTable = null;
switch (mCurrentKeyMode) {
- case KEYMODE_JA_FULL_ALPHABET:
- hashTable = JP_FULL_ALPHABET_REPLACE_TABLE;
- break;
-
- case KEYMODE_JA_FULL_NUMBER:
- case KEYMODE_JA_HALF_NUMBER:
- /* Because these modes belong to direct input group, No replacing table exists */
- break;
-
- case KEYMODE_JA_HALF_ALPHABET:
- hashTable = JP_HALF_ALPHABET_REPLACE_TABLE;
- break;
-
case KEYMODE_JA_FULL_NICO:
hashTable = mReplaceTable;
break;
int icon = 0;
switch (mCurrentKeyMode) {
- case KEYMODE_JA_FULL_ALPHABET:
- icon = R.drawable.immodeic_full_alphabet;
- break;
- case KEYMODE_JA_FULL_NUMBER:
- icon = R.drawable.immodeic_full_number;
- break;
- case KEYMODE_JA_HALF_ALPHABET:
- icon = R.drawable.immodeic_half_alphabet;
- break;
- case KEYMODE_JA_HALF_NUMBER:
- case KEYMODE_JA_HALF_PHONE:
- icon = R.drawable.immodeic_half_number;
- break;
case KEYMODE_JA_FULL_NICO:
icon = mSetupKeyboard.SetupIcon();
break;
* Set the shift key state from {@link EditorInfo}.
*/
private void setShiftByEditorInfo() {
- if (mEnableAutoCaps && (mCurrentKeyMode == KEYMODE_JA_HALF_ALPHABET)) {
- int shift = getShiftKeyState(mWnn.getCurrentInputEditorInfo());
-
- mShiftOn = shift;
- changeKeyboard(getShiftChangeKeyboard(shift));
- }
}
/** @see com.hiroshica.android.input.nicownn2.DefaultSoftKeyboard#setHardKeyboardHidden */
}
if (mHardKeyboardHidden != hidden) {
- if ((mLimitedKeyMode != null)
- || ((mCurrentKeyMode != KEYMODE_JA_FULL_NICO) && (mCurrentKeyMode != KEYMODE_JA_HALF_ALPHABET))) {
+ if ((mLimitedKeyMode != null) || ((mCurrentKeyMode != KEYMODE_JA_FULL_NICO))) {
mLastInputType = EditorInfo.TYPE_NULL;
if (mWnn.isInputViewShown()) {
private int filterKeyMode(int keyMode) {
int targetMode = keyMode;
int[] limits = mLimitedKeyMode;
-
- if (!mHardKeyboardHidden) { /* for hardware keyboard */
- if ((targetMode != KEYMODE_JA_FULL_NICO) && (targetMode != KEYMODE_JA_HALF_ALPHABET)) {
- Locale locale = Locale.getDefault();
- int keymode = KEYMODE_JA_HALF_ALPHABET;
- if (locale.getLanguage().equals(Locale.JAPANESE.getLanguage())) {
- switch (targetMode) {
- case KEYMODE_JA_FULL_NICO:
- // hiromitsu-s!!! 2009-09-23 12:47:08
- //keymode = KEYMODE_JA_FULL_NICO;
- break;
- default:
- /* half-alphabet */
- break;
- }
- }
- targetMode = keymode;
- }
- }
-
/* restrict by the type of the text field */
if (limits != null) {
boolean hasAccepted = false;
} else {
if ((mPrevInputKeyCode != primaryCode)) {
mWnn.onEvent(mEventTouchOtherKey);
- if ((mCurrentKeyMode == KEYMODE_JA_HALF_ALPHABET)
- && (primaryCode == KEYCODE_JP12_SHARP)) {
- /* Commit text by symbol character (',' '.') when alphabet input mode is selected */
- commitText();
- }
}
/* Convert the key code to the table index and send the toggle event with the table index */
}
break;
- case KEYCODE_SWITCH_FULL_ALPHABET:
- /* Change mode to Full width alphabet */
- changeKeyMode(KEYMODE_JA_FULL_ALPHABET);
- break;
-
- case KEYCODE_SWITCH_FULL_NUMBER:
- /* Change mode to Full width numeric */
- changeKeyMode(KEYMODE_JA_FULL_NUMBER);
- break;
-
- case KEYCODE_SWITCH_HALF_ALPHABET:
- /* Change mode to Half width alphabet */
- changeKeyMode(KEYMODE_JA_HALF_ALPHABET);
- break;
-
- case KEYCODE_SWITCH_HALF_NUMBER:
- /* Change mode to Half width numeric */
- changeKeyMode(KEYMODE_JA_HALF_NUMBER);
- break;
-
case KEYCODE_SWITCH_FULL_NICO:
/* Change mode to Full width nicotouch */
changeKeyMode(KEYMODE_JA_FULL_NICO);