OSDN Git Service

テストコード修正
[nicownn/NicoWnn.git] / src / com / hiroshica / android / input / nicownn2 / JAJP / DefaultSoftKeyboardTest.java
index 223e5fe..7788208 100644 (file)
@@ -45,26 +45,14 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
        /** 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;
 
        /** Key code for EISU-KANA conversion */
        private static final int KEYCODE_EISU_KANA = -305;
 
-       /** Key code for switching to full-width Nikotouch mode */
-       private static final int KEYCODE_SWITCH_FULL_NIKO = -400;
+       /** Key code for switching to full-width Nicotouch mode */
+       private static final int KEYCODE_SWITCH_FULL_NICO = -400;
 
        /** Key code for NOP (no-operation) */
        private static final int KEYCODE_NOP = -310;
@@ -72,7 +60,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
 
        /** Input mode toggle cycle table */
        private static final int[] JP_MODE_CYCLE_TABLE = {
-               KEYMODE_JA_FULL_NIKO, KEYMODE_JA_HALF_ALPHABET, KEYMODE_JA_HALF_NUMBER,
+               KEYMODE_JA_FULL_NICO,
        };
 
        /** Definition for {@code mInputType} (toggle) */
@@ -84,158 +72,10 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
        /** 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"); 
-               }};
-
-       /** Toggle cycle table for full-width Nikotouch */
-       private static final String[][][] JP_FULL_NIKO_CYCLE_TABLE = {
-               {
-                       {"\u3042"}, {"\u3044"}, {"\u3046"}, {"\u3048"}, {"\u304a"},      {"."},      {"-"},      {"@"},      {"_"}, {"1"},
-                       {"\u304b"}, {"\u304d"}, {"\u304f"}, {"\u3051"}, {"\u3053"},      {" "},      {"a"},      {"b"},      {"c"}, {"2"},
-                       {"\u3055"}, {"\u3057"}, {"\u3059"}, {"\u305b"}, {"\u305d"},      {"/"},      {"d"},      {"e"},      {"f"}, {"3"},
-                       {"\u305f"}, {"\u3061"}, {"\u3064"}, {"\u3066"}, {"\u3068"}, {"\u3063"},      {"g"},      {"h"},      {"i"}, {"4"},
-                       {"\u306a"}, {"\u306b"}, {"\u306c"}, {"\u306d"}, {"\u306e"},      {"("},      {"j"},      {"k"},      {"l"}, {"5"},
-                       {"\u306f"}, {"\u3072"}, {"\u3075"}, {"\u3078"}, {"\u307b"},      {")"},      {"m"},      {"n"},      {"o"}, {"6"},
-                       {"\u307e"}, {"\u307f"}, {"\u3080"}, {"\u3081"}, {"\u3082"},      {"p"},      {"q"},      {"r"},      {"s"}, {"7"},
-                       {"\u3084"}, {"\u3086"}, {"\u3088"}, {"\u3083"}, {"\u3085"}, {"\u3087"},      {"t"},      {"u"},      {"v"}, {"8"},
-                       {"\u3089"}, {"\u308a"}, {"\u308b"}, {"\u308c"}, {"\u308d"},      {"w"},      {"x"},      {"y"},      {"z"}, {"9"},
-                       {"\u308f"}, {"\u3092"}, {"\u3093"}, {"\u3001"}, {"\u3002"}, {"\u30fc"}, {"\u30fb"}, {"\uff01"}, {"\uff1f"}, {"0"},
-               },
-               {
-                       {"\u3042"}, {"\u3044"}, {"\u3046"}, {"\u3048"}, {"\u304a"},      {"."},      {"-"},      {"@"},      {"_"}, {"1"},
-                       {"\u304b"}, {"\u304d"}, {"\u304f"}, {"\u3051"}, {"\u3053"},      {" "},      {"A"},      {"B"},      {"C"}, {"2"},
-                       {"\u3055"}, {"\u3057"}, {"\u3059"}, {"\u305b"}, {"\u305d"},      {"/"},      {"D"},      {"E"},      {"F"}, {"3"},
-                       {"\u305f"}, {"\u3061"}, {"\u3064"}, {"\u3066"}, {"\u3068"}, {"\u3063"},      {"G"},      {"H"},      {"I"}, {"4"},
-                       {"\u306a"}, {"\u306b"}, {"\u306c"}, {"\u306d"}, {"\u306e"},      {"("},      {"J"},      {"K"},      {"L"}, {"5"},
-                       {"\u306f"}, {"\u3072"}, {"\u3075"}, {"\u3078"}, {"\u307b"},      {")"},      {"M"},      {"N"},      {"O"}, {"6"},
-                       {"\u307e"}, {"\u307f"}, {"\u3080"}, {"\u3081"}, {"\u3082"},      {"P"},      {"Q"},      {"R"},      {"S"}, {"7"},
-                       {"\u3084"}, {"\u3086"}, {"\u3088"}, {"\u3083"}, {"\u3085"}, {"\u3087"},      {"T"},      {"U"},      {"V"}, {"8"},
-                       {"\u3089"}, {"\u308a"}, {"\u308b"}, {"\u308c"}, {"\u308d"},      {"W"},      {"X"},      {"Y"},      {"Z"}, {"9"},
-                       {"\u308f"}, {"\u3092"}, {"\u3093"}, {"\u3001"}, {"\u3002"}, {"\u30fc"}, {"\u30fb"}, {"\uff01"}, {"\uff1f"}, {"0"},
-               }
-       };
-
-       /** Replace table for full-width Nikotouch */
-       private static final HashMap<String, String> JP_FULL_NIKO_REPLACE_TABLE = new HashMap<String, String>() {
-               /**
-                * 
-                */
-               private static final long serialVersionUID = 1L;
-
-       {
-                       put("\u3042", "\u3041"); put("\u3044", "\u3043"); put("\u3046", "\u3045"); put("\u3048", "\u3047"); put("\u304a", "\u3049"); // A
-                       put("\u3041", "\u3042"); put("\u3043", "\u3044"); put("\u3045", "\u30f4"); put("\u3047", "\u3048"); put("\u3049", "\u304a"); // a
-                       put("\u304b", "\u304c"); put("\u304d", "\u304e"); put("\u304f", "\u3050"); put("\u3051", "\u3052"); put("\u3053", "\u3054"); // K
-                       put("\u304c", "\u304b"); put("\u304e", "\u304d"); put("\u3050", "\u304f"); put("\u3052", "\u3051"); put("\u3054", "\u3053"); // k
-                       put("\u3055", "\u3056"); put("\u3057", "\u3058"); put("\u3059", "\u305a"); put("\u305b", "\u305c"); put("\u305d", "\u305e"); // S
-                       put("\u3056", "\u3055"); put("\u3058", "\u3057"); put("\u305a", "\u3059"); put("\u305c", "\u305b"); put("\u305e", "\u305d"); // s
-                       put("\u305f", "\u3060"); put("\u3061", "\u3062"); put("\u3064", "\u3065"); put("\u3066", "\u3067"); put("\u3068", "\u3069"); // T
-                       put("\u3060", "\u305f"); put("\u3062", "\u3061"); put("\u3065", "\u3063"); put("\u3067", "\u3066"); put("\u3069", "\u3068"); // t
-                       put("\u3063", "\u3064"); put("\u30f4", "\u3046");
-                       put("\u306f", "\u3070"); put("\u3072", "\u3073"); put("\u3075", "\u3076"); put("\u3078", "\u3079"); put("\u307b", "\u307c"); // H
-                       put("\u3070", "\u3071"); put("\u3073", "\u3074"); put("\u3076", "\u3077"); put("\u3079", "\u307a"); put("\u307c", "\u307d"); // h
-                       put("\u3071", "\u306f"); put("\u3074", "\u3072"); put("\u3077", "\u3075"); put("\u307a", "\u3078"); put("\u307d", "\u307b"); // h.
-                       put("\u3084", "\u3083"); put("\u3086", "\u3085"); put("\u3088", "\u3087"); // Y
-                       put("\u3083", "\u3084"); put("\u3085", "\u3086"); put("\u3087", "\u3088"); // y
-                       put("\u308f", "\u308e");
-                       put("\u308e", "\u308f");
-                       put("\u309b", "\u309c");
-                       put("\u309c", "\u309b");
-
-                       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("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("u", "U"); put("v", "V"); put("w", "W"); put("x", "X"); put("y", "Y"); put("z", "Z");
-                       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("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("U", "u"); put("V", "v"); put("W", "w"); put("X", "x"); put("Y", "y"); put("Z", "z");
-
-                       put("1", "\uff11"); put("2", "\uff12"); put("3", "\uff13"); put("4", "\uff14"); put("5", "\uff15");
-                       put("6", "\uff16"); put("7", "\uff17"); put("8", "\uff18"); put("9", "\uff19"); put("0", "\uff10");
-                       put("\uff11", "1"); put("\uff12", "2"); put("\uff13", "3"); put("\uff14", "4"); put("\uff15", "5");
-                       put("\uff16", "6"); put("\uff17", "7"); put("\uff18", "8"); put("\uff19", "9"); put("\uff10", "0");
-
-                       put(".", "\uff0e"); put("-", "\u2015"); put("@", "\uff20"); put("_", "\uff3f");
-                       put("\uff0e", "."); put("\u2015", "-"); put("\uff20", "@"); put("\uff3f", "_");
-
-                       put("\uff01", "!"); put("\uff1f", "?");
-                       put("!", "\uff01"); put("?", "\uff1f");
-
-                       put("\u3000", " "); put(" ", "\u3000");
-
-                       put("(", "["); put("[", "\u300c"); put("\u300c", "\u300e"); put("\u300e", "\u3010"); put("\u3010", "(");
-                       put(")", "]"); put("]", "\u300d"); put("\u300d", "\u300f"); put("\u300f", "\u3011"); put("\u3011", ")");
-               }};
-       
-
+       /* */
+       SetupKeyboard              mSetupKeyboard;
+       String[][][]               mCycleTable;
+       HashMap<String, String>    mReplaceTable;
        
        /** Character table for full-width number */
        private static final char[] INSTANT_CHAR_CODE_FULL_NUMBER = 
@@ -328,7 +168,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
        /** "Moji" key (this is used for canceling long-press) */
        private Keyboard.Key mChangeModeKey = null;
     
-       private boolean mNikoFirst = false;
+       private boolean mNicoFirst = false;
 
        private Keyboard[][] mNicoKeyboard;
 
@@ -349,13 +189,17 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
        private int mChangeAlphaBigMode = ALPHAMODE_SMALL;
 
        /** Default constructor */
-       public DefaultSoftKeyboardTest() {
+       public DefaultSoftKeyboardTest(SetupKeyboard keyboard) {
+               mSetupKeyboard       = keyboard;
+               mCycleTable   = keyboard.SetupCycleTable();
+               mReplaceTable = keyboard.SetupReplaceTable();
+
                mCurrentLanguage     = LANG_JA;
                mCurrentKeyboardType = KEYBOARD_12KEY;
                mHookStockKeyType    = KEYBOARD_12KEY;
                mShiftOn             = KEYBOARD_SHIFT_OFF;
-               mCurrentKeyMode      = KEYMODE_JA_FULL_NIKO;
-               mCurrentSlide        = NIKO_SLIDE_MODE_TOP;
+               mCurrentKeyMode      = KEYMODE_JA_FULL_NICO;
+               mCurrentSlide        = NICO_SLIDE_MODE_TOP;
        }
 
        /** @see com.hiroshica.android.input.nicownn2.DefaultSoftKeyboard#createKeyboards */
@@ -436,37 +280,11 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                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_NIKO:
+
+               case KEYMODE_JA_FULL_NICO:
                        mInputType = INPUT_TYPE_TOGGLE;
                        mode = NicoWnnEvent.Mode.DEFAULT;
-                       mNikoFirst = false;
+                       mNicoFirst = false;
                        mNicoFlick = false;
                        break;
 
@@ -569,11 +387,11 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
 
                case EditorInfo.TYPE_CLASS_PHONE:
                        if (mHardKeyboardHidden) {
-                               //mLimitedKeyMode = new int[] {KEYMODE_JA_FULL_NIKO};
-                               mPreferenceKeyMode = KEYMODE_JA_FULL_NIKO;
+                               //mLimitedKeyMode = new int[] {KEYMODE_JA_FULL_NICO};
+                               mPreferenceKeyMode = KEYMODE_JA_FULL_NICO;
                        } else {
                                //mLimitedKeyMode = new int[] {KEYMODE_JA_HALF_ALPHABET};
-                               mPreferenceKeyMode = KEYMODE_JA_FULL_NIKO;
+                               mPreferenceKeyMode = KEYMODE_JA_FULL_NICO;
                        }
                        break;
 
@@ -589,7 +407,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                                break;
                        case EditorInfo.TYPE_TEXT_VARIATION_URI:
                                //mPreferenceKeyMode = KEYMODE_JA_HALF_ALPHABET;
-                               mPreferenceKeyMode = KEYMODE_JA_FULL_NIKO;
+                               mPreferenceKeyMode = KEYMODE_JA_FULL_NICO;
                                break;
 
                        default:
@@ -647,8 +465,8 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                super.onUpdateState(parent);
                if (!mCapsLock) {
                        setShiftByEditorInfo();
-                       if (true == mNoInput && true == mNikoFirst) {
-                               resetNikoKeyboard();
+                       if (true == mNoInput && true == mNicoFirst) {
+                               resetNicoKeyboard();
                        }
                }
        }
@@ -657,19 +475,14 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
         */
        public void setDefaultKeyboard() {
                Locale locale = Locale.getDefault();
-               int keymode = KEYMODE_JA_FULL_NIKO;
+               int keymode = KEYMODE_JA_FULL_NICO;
 
 
                if (mPreferenceKeyMode != INVALID_KEYMODE) {
                        keymode = mPreferenceKeyMode;
                } else if (mLimitedKeyMode != null) {
                        keymode = mLimitedKeyMode[0];
-               } else {
-                       if (!locale.getLanguage().equals(Locale.JAPANESE.getLanguage())) {
-                               keymode = KEYMODE_JA_HALF_ALPHABET;
-                       }
                }
-
                changeKeyMode(keymode);
        }
 
@@ -719,73 +532,25 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                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_NIKO][0]     = new Keyboard(parent, R.xml.keyboard_qwerty_jp);
+               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_NIKO][0]     = new Keyboard(parent, R.xml.keyboard_qwerty_jp_shift);
+               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 = new Keyboard[11][2];
-               // nikotouch slide
-               mNicoKeyboard[NIKO_SLIDE_MODE_TOP][0]   = new Keyboard(parent, R.xml.keyboard_12key_full_niko_top);
-               mNicoKeyboard[NIKO_SLIDE_MODE_A][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_a);
-               mNicoKeyboard[NIKO_SLIDE_MODE_K][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_k);
-               mNicoKeyboard[NIKO_SLIDE_MODE_S][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_s);
-               mNicoKeyboard[NIKO_SLIDE_MODE_T][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_t);
-               mNicoKeyboard[NIKO_SLIDE_MODE_N][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_n);
-               mNicoKeyboard[NIKO_SLIDE_MODE_H][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_h);
-               mNicoKeyboard[NIKO_SLIDE_MODE_M][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_m);
-               mNicoKeyboard[NIKO_SLIDE_MODE_Y][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_y);
-               mNicoKeyboard[NIKO_SLIDE_MODE_R][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_r);
-               mNicoKeyboard[NIKO_SLIDE_MODE_W][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_w);
-
-               mNicoKeyboard[NIKO_SLIDE_MODE_TOP][1]   = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_top);
-               mNicoKeyboard[NIKO_SLIDE_MODE_A][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_a);
-               mNicoKeyboard[NIKO_SLIDE_MODE_K][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_k);
-               mNicoKeyboard[NIKO_SLIDE_MODE_S][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_s);
-               mNicoKeyboard[NIKO_SLIDE_MODE_T][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_t);
-               mNicoKeyboard[NIKO_SLIDE_MODE_N][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_n);
-               mNicoKeyboard[NIKO_SLIDE_MODE_H][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_h);
-               mNicoKeyboard[NIKO_SLIDE_MODE_M][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_m);
-               mNicoKeyboard[NIKO_SLIDE_MODE_Y][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_y);
-               mNicoKeyboard[NIKO_SLIDE_MODE_R][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_r);
-               mNicoKeyboard[NIKO_SLIDE_MODE_W][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_w);
+
+               mNicoKeyboard = mSetupKeyboard.SetupSoftKeyboard(parent, PORTRAIT);
                
                Keyboard[][] keyListOn;
                keyList   = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF];
                keyListOn = mKeyboard[LANG_JA][PORTRAIT][KEYBOARD_12KEY][KEYBOARD_SHIFT_ON];
-               keyList[KEYMODE_JA_FULL_NIKO]     = mNicoKeyboard[NIKO_SLIDE_MODE_TOP];
-               keyListOn[KEYMODE_JA_FULL_NIKO]   = mNicoKeyboard[NIKO_SLIDE_MODE_A];
+               keyList[KEYMODE_JA_FULL_NICO]     = mNicoKeyboard[NICO_SLIDE_MODE_TOP];
+               keyListOn[KEYMODE_JA_FULL_NICO]   = mNicoKeyboard[NICO_SLIDE_MODE_A];
        }
 
        /**
@@ -797,71 +562,25 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                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_NIKO][0]     = new Keyboard(parent, R.xml.keyboard_qwerty_jp_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_NIKO][0]     = new Keyboard(parent, R.xml.keyboard_qwerty_jp_shift_land);
+               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 = new Keyboard[11][2];
-               // nikotouch slide
-               mNicoKeyboard[NIKO_SLIDE_MODE_TOP][0]   = new Keyboard(parent, R.xml.keyboard_12key_full_niko_top_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_A][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_a_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_K][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_k_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_S][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_s_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_T][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_t_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_N][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_n_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_H][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_h_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_M][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_m_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_Y][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_y_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_R][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_r_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_W][0]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_w_land);
-
-               mNicoKeyboard[NIKO_SLIDE_MODE_TOP][1]   = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_top_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_A][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_a_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_K][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_k_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_S][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_s_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_T][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_t_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_N][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_n_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_H][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_h_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_M][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_m_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_Y][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_y_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_R][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_r_land);
-               mNicoKeyboard[NIKO_SLIDE_MODE_W][1]     = new Keyboard(parent, R.xml.keyboard_12key_full_niko_input_w_land);
+
+               mNicoKeyboard = mSetupKeyboard.SetupSoftKeyboard(parent, LANDSCAPE);
                
                Keyboard[][] keyListOn;
                keyList   = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_12KEY][KEYBOARD_SHIFT_OFF];
                keyListOn = mKeyboard[LANG_JA][LANDSCAPE][KEYBOARD_12KEY][KEYBOARD_SHIFT_ON];
-               keyList[KEYMODE_JA_FULL_NIKO]     = mNicoKeyboard[NIKO_SLIDE_MODE_TOP];
-               keyListOn[KEYMODE_JA_FULL_NIKO]   = mNicoKeyboard[NIKO_SLIDE_MODE_A];
+               keyList[KEYMODE_JA_FULL_NICO]     = mNicoKeyboard[NICO_SLIDE_MODE_TOP];
+               keyListOn[KEYMODE_JA_FULL_NICO]   = mNicoKeyboard[NICO_SLIDE_MODE_A];
        }
 
        /**
@@ -897,21 +616,9 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
        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_NIKO:
-                       cycleTable = JP_FULL_NIKO_CYCLE_TABLE[mChangeAlphaBigMode];
+               case KEYMODE_JA_FULL_NICO:
+                       cycleTable = mCycleTable[mChangeAlphaBigMode];
                        break;
 
                default:
@@ -928,21 +635,8 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
        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_NIKO:
-                       hashTable = JP_FULL_NIKO_REPLACE_TABLE;
+               case KEYMODE_JA_FULL_NICO:
+                       hashTable = mReplaceTable;
                        break;
 
                default:
@@ -958,21 +652,8 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                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_NIKO:
-                       icon = R.drawable.immodeic_niko;
+               case KEYMODE_JA_FULL_NICO:
+                       icon = mSetupKeyboard.SetupIcon();
                        break;
 
                default:
@@ -1002,12 +683,6 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
         * 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 */
@@ -1018,8 +693,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        }
 
                        if (mHardKeyboardHidden != hidden) {
-                               if ((mLimitedKeyMode != null)
-                                   || ((mCurrentKeyMode != KEYMODE_JA_FULL_NIKO) && (mCurrentKeyMode != KEYMODE_JA_HALF_ALPHABET))) {
+                               if ((mLimitedKeyMode != null) || ((mCurrentKeyMode != KEYMODE_JA_FULL_NICO))) {
                                        
                                        mLastInputType = EditorInfo.TYPE_NULL;
                                        if (mWnn.isInputViewShown()) {
@@ -1040,26 +714,6 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
        private int filterKeyMode(int keyMode) {
                int targetMode = keyMode;
                int[] limits = mLimitedKeyMode;
-
-               if (!mHardKeyboardHidden) { /* for hardware keyboard */
-                       if ((targetMode != KEYMODE_JA_FULL_NIKO) && (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_NIKO:
-                                               // hiromitsu-s!!! 2009-09-23 12:47:08
-                                               //keymode = KEYMODE_JA_FULL_NIKO;
-                                               break;
-                                       default:
-                                               /* half-alphabet */
-                                               break;
-                                       }
-                               }
-                               targetMode = keymode;
-                       }
-               } 
-
                /* restrict by the type of the text field */
                if (limits != null) {
                        boolean hasAccepted = false;
@@ -1101,7 +755,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        return;
                }
 
-               if (mCurrentKeyMode == KEYMODE_JA_FULL_NIKO) {
+               if (mCurrentKeyMode == KEYMODE_JA_FULL_NICO) {
                        if (true == onKeyNico(primaryCode, keyCodes)) {
                                /* update shift key's state */
                                if (!mCapsLock && (primaryCode != DefaultSoftKeyboard.KEYCODE_QWERTY_SHIFT)) {
@@ -1177,11 +831,6 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        } 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 */
@@ -1215,29 +864,9 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        }
                        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_NIKO:
-                       /* Change mode to Full width nikotouch */
-                       changeKeyMode(KEYMODE_JA_FULL_NIKO);
+               case KEYCODE_SWITCH_FULL_NICO:
+                       /* Change mode to Full width nicotouch */
+                       changeKeyMode(KEYMODE_JA_FULL_NICO);
                        break;
 
                case KEYCODE_SELECT_CASE:
@@ -1293,7 +922,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
 
 
        /*****************************************
-        * onkey nikotouch
+        * onkey nicotouch
         */
        private boolean onKeyNico(int primaryCode, int[] keyCodes) {
                Keyboard newKeyboard = null;
@@ -1304,8 +933,8 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                switch (primaryCode) {
                case DefaultSoftKeyboard.KEYCODE_QWERTY_BACKSPACE:
                case KEYCODE_JP12_BACKSPACE:
-                       if (mNikoFirst == true) {
-                               resetNikoKeyboard();
+                       if (mNicoFirst == true) {
+                               resetNicoKeyboard();
                        }
                        else {
                                mWnn.onEvent(mEventInputKeyDel);
@@ -1314,15 +943,15 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        break;
                case KEYCODE_QWERTY_ENTER:
                case KEYCODE_JP12_ENTER:
-                       if (mNikoFirst == false) {
+                       if (mNicoFirst == false) {
                                mWnn.onEvent(mEventInputEnter);
                        }
                        retcode = true;
                        break;
 
                case KEYCODE_JP12_REVERSE:
-                       if (mNikoFirst == true) {
-                               resetNikoKeyboard();
+                       if (mNicoFirst == true) {
+                               resetNicoKeyboard();
                        }
                        //mWnn.mushup();
                        retcode = true;
@@ -1330,12 +959,12 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
 
                case KEYCODE_QWERTY_KBD:
                case KEYCODE_JP12_KBD:
-                       resetNikoKeyboard();
+                       resetNicoKeyboard();
                        break;
 
                case KEYCODE_JP12_EMOJI:
                case KEYCODE_QWERTY_EMOJI:
-                       if (mNikoFirst == false) {
+                       if (mNicoFirst == false) {
                                commitText();
                                mWnn.onEvent(mEventChangeModeSymbol);
                        }
@@ -1343,7 +972,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        break;
 
                case KEYCODE_JP12_SHARP:
-                       if (mNikoFirst == false && mNoInput) {
+                       if (mNicoFirst == false && mNoInput) {
                                commitText();
                                mWnn.onEvent(mEventChangeModeDocomo);
                        }
@@ -1360,7 +989,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                case KEYCODE_JP12_8:
                case KEYCODE_JP12_9:
                case KEYCODE_JP12_0:
-                       if ((NICOFLICK_1STROKE == mFlickNicoInput) && (false == mNikoFirst)) {
+                       if ((NICOFLICK_1STROKE == mFlickNicoInput) && (false == mNicoFirst)) {
                                retcode = true;
                                break;
                        }
@@ -1369,16 +998,16 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                                retcode = true;
                                break;
                        }
-                       if (mNikoFirst == false) {
+                       if (mNicoFirst == false) {
                                mWnn.onEvent(mEventTouchOtherKey);
                                mPrevInputKeyCode = primaryCode;
-                               mNikoFirst = true;
+                               mNicoFirst = true;
 
                                /* change keymap */
                                int index = getTableIndex(primaryCode);
                                Keyboard[][] keyList = mKeyboard[LANG_JA][mDisplayMode][KEYBOARD_12KEY][KEYBOARD_SHIFT_ON];
 
-                               keyList[KEYMODE_JA_FULL_NIKO] = mNicoKeyboard[index+1];
+                               keyList[KEYMODE_JA_FULL_NICO] = mNicoKeyboard[index+1];
                                if (false == mNoFlipScreen) {
                                        newKeyboard = getShiftChangeKeyboard(KEYBOARD_SHIFT_ON);
                                        mShiftOn = KEYBOARD_SHIFT_ON;
@@ -1395,7 +1024,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                                else{
                                        mWnn.onEvent(new NicoWnnEvent(NicoWnnEvent.TOGGLE_CHAR, cycleTable[col * 10 + row]));
                                }
-                               mNikoFirst = false;
+                               mNicoFirst = false;
                                mNicoFlick = false;
                                if (false == mNoFlipScreen) {
                                        newKeyboard = getShiftChangeKeyboard(KEYBOARD_SHIFT_OFF);
@@ -1407,10 +1036,10 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        break;
 
                case KEYCODE_JP12_ASTER:
-                       if (mNikoFirst == true) {
-                               resetNikoKeyboard();
+                       if (mNicoFirst == true) {
+                               resetNicoKeyboard();
                        }
-                       if (mNikoFirst == false && !mNoInput) {
+                       if (mNicoFirst == false && !mNoInput) {
                                /* Processing to toggle Dakuten, Handakuten, and capital */
                                HashMap<String,String> replaceTable = getReplaceTable();
                                if (replaceTable == null) {
@@ -1424,7 +1053,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        break;
 
                case KEYCODE_JP12_SPACE:
-                       if (mNikoFirst == false) {
+                       if (mNicoFirst == false) {
                                if ((mCurrentKeyMode == KEYMODE_JA_FULL_HIRAGANA) && !mNoInput) {
                                        mWnn.onEvent(mEventConvert);
                                } else {
@@ -1435,7 +1064,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        break;
 
                case KEYCODE_EISU_KANA:
-                       if (mNikoFirst == false) {
+                       if (mNicoFirst == false) {
                                mWnn.onEvent(mEventChangeModeEisuKana);
                        }
                        retcode = true;
@@ -1447,13 +1076,13 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        break;
             
                case KEYCODE_JP12_LEFT:
-                       if (mNikoFirst == false) {
+                       if (mNicoFirst == false) {
                                mWnn.onEvent(mEventInputDpadLeft);
                        }
                        retcode = true;
                        break;
                case KEYCODE_JP12_RIGHT:
-                       if (mNikoFirst == false) {
+                       if (mNicoFirst == false) {
                                mWnn.onEvent(mEventInputDpadRight);
                        }
                        retcode = true;
@@ -1462,17 +1091,17 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                return retcode;
        } // onKeyNico
        /*
-        * reset nikotouch keyboard
+        * reset nicotouch keyboard
         */
-       @Override public void resetNikoKeyboard() {
+       @Override public void resetNicoKeyboard() {
                Keyboard newKeyboard = getShiftChangeKeyboard(KEYBOARD_SHIFT_OFF);
                if (newKeyboard != null) {
                        mShiftOn = KEYBOARD_SHIFT_OFF;
                        changeKeyboard(newKeyboard);
                }
-               mNikoFirst = false;
+               mNicoFirst = false;
                mNicoFlick = false;
-       } // resetNikoKeyboard
+       } // resetNicoKeyboard
 
        /**
         */
@@ -1481,7 +1110,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                Keyboard newKeyboard = null;
 
                mStockFlickCode = primaryCode;
-               if (mCurrentKeyMode == KEYMODE_JA_FULL_NIKO) {
+               if (mCurrentKeyMode == KEYMODE_JA_FULL_NICO) {
                        if (NICOFLICK_NONE == mFlickNicoInput) {
                                return;
                        }
@@ -1496,13 +1125,13 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                        case KEYCODE_JP12_8:
                        case KEYCODE_JP12_9:
                        case KEYCODE_JP12_0:
-                               if ((false == mNikoFirst) && (false == mNicoFlick)) {
+                               if ((false == mNicoFirst) && (false == mNicoFlick)) {
                                        mWnn.onEvent(mEventTouchOtherKey);
                                        if (false == mNoFlipScreen) {
                                                /* change keymap */
                                                int index = getTableIndex(primaryCode);
                                                Keyboard[][] keyList = mKeyboard[LANG_JA][mDisplayMode][KEYBOARD_12KEY][KEYBOARD_SHIFT_ON];
-                                               keyList[KEYMODE_JA_FULL_NIKO] = mNicoKeyboard[index+1];
+                                               keyList[KEYMODE_JA_FULL_NICO] = mNicoKeyboard[index+1];
                                                newKeyboard = getShiftChangeKeyboard(KEYBOARD_SHIFT_ON);
                                                if (newKeyboard != null) {
                                                        mShiftOn = KEYBOARD_SHIFT_ON;
@@ -1510,7 +1139,7 @@ public class DefaultSoftKeyboardTest extends DefaultSoftKeyboard {
                                                }
                                        }
                                        mPrevInputKeyCode = primaryCode;
-                                       mNikoFirst = true;
+                                       mNicoFirst = true;
                                        mNicoFlick = true;
                                }
                                break;