14e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka/*
24e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * Copyright (C) 2014 The Android Open Source Project
34e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka *
44e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * Licensed under the Apache License, Version 2.0 (the "License");
54e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * you may not use this file except in compliance with the License.
64e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * You may obtain a copy of the License at
74e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka *
84e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka *      http://www.apache.org/licenses/LICENSE-2.0
94e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka *
104e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * Unless required by applicable law or agreed to in writing, software
114e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * distributed under the License is distributed on an "AS IS" BASIS,
124e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * See the License for the specific language governing permissions and
144e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka * limitations under the License.
154e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka */
164e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka
174e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokapackage com.android.inputmethod.keyboard.layout;
184e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka
196959a0f214fc18e314f54213877956d95a1631e8Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.customizer.LayoutCustomizer;
204e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
214e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokaimport com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
224e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka
234e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaokapublic final class SouthSlavic extends LayoutBase {
244e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    private static final String LAYOUT_NAME = "south_slavic";
254e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka
264e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    public SouthSlavic(final LayoutCustomizer customizer) {
274e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka        super(customizer, Symbols.class, SymbolsShifted.class);
284e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    }
294e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka
304e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    @Override
314e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    public String getName() { return LAYOUT_NAME; }
324e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka
334e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    @Override
344e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    ExpectedKey[][] getCommonAlphabetLayout(final boolean isPhone) { return ALPHABET_COMMON; }
354e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka
364e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    public static final String ROW1_6 = "ROW1_6";
374e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    public static final String ROW2_11 = "ROW2_11";
384e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    public static final String ROW3_1 = "ROW3_1";
394e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    public static final String ROW3_8 = "ROW3_8";
404e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka
414e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka    private static final ExpectedKey[][] ALPHABET_COMMON = new ExpectedKeyboardBuilder()
424e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka            .setKeysOfRow(1,
434e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+0459: "љ" CYRILLIC SMALL LETTER LJE
440dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key("\u0459", additionalMoreKey("1")),
454e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+045A: "њ" CYRILLIC SMALL LETTER NJE
460dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key("\u045A", additionalMoreKey("2")),
474e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+0435: "е" CYRILLIC SMALL LETTER IE
480dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key("\u0435", additionalMoreKey("3")),
494e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+0440: "р" CYRILLIC SMALL LETTER ER
500dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key("\u0440", additionalMoreKey("4")),
514e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+0442: "т" CYRILLIC SMALL LETTER TE
520dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key("\u0442", additionalMoreKey("5")),
530dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key(ROW1_6, additionalMoreKey("6")),
544e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+0443: "у" CYRILLIC SMALL LETTER U
550dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key("\u0443", additionalMoreKey("7")),
564e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+0438: "и" CYRILLIC SMALL LETTER I
570dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key("\u0438", additionalMoreKey("8")),
584e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+043E: "о" CYRILLIC SMALL LETTER O
590dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key("\u043E", additionalMoreKey("9")),
604e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+043F: "п" CYRILLIC SMALL LETTER PE
610dabae720a83f9099667dea4de002007fdf35d60Tadashi G. Takaoka                    key("\u043F", additionalMoreKey("0")),
624e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    // U+0448: "ш" CYRILLIC SMALL LETTER SHA
636d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    "\u0448")
646d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka            .setKeysOfRow(2,
656d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0430: "а" CYRILLIC SMALL LETTER A
666d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0441: "с" CYRILLIC SMALL LETTER ES
676d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0434: "д" CYRILLIC SMALL LETTER DE
686d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0444: "ф" CYRILLIC SMALL LETTER EF
696d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0433: "г" CYRILLIC SMALL LETTER GHE
706d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0445: "х" CYRILLIC SMALL LETTER HA
716d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0458: "ј" CYRILLIC SMALL LETTER JE
726d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+043A: "к" CYRILLIC SMALL LETTER KA
736d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+043B: "л" CYRILLIC SMALL LETTER EL
746d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0447: "ч" CYRILLIC SMALL LETTER CHE
754e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    "\u0430", "\u0441", "\u0434", "\u0444", "\u0433", "\u0445", "\u0458", "\u043A",
764e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    "\u043B", "\u0447", ROW2_11)
776d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka            .setKeysOfRow(3,
786d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+045F: "џ" CYRILLIC SMALL LETTER DZHE
796d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0446: "ц" CYRILLIC SMALL LETTER TSE
806d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0432: "в" CYRILLIC SMALL LETTER VE
816d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0431: "б" CYRILLIC SMALL LETTER BE
826d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+043D: "н" CYRILLIC SMALL LETTER EN
836d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+043C: "м" CYRILLIC SMALL LETTER EM
846d44cb512239a11572ec18b850d609bacc3267beTadashi G. Takaoka                    // U+0436: "ж" CYRILLIC SMALL LETTER ZHE
854e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    ROW3_1, "\u045F", "\u0446", "\u0432", "\u0431", "\u043D", "\u043C", ROW3_8,
864e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka                    "\u0436")
874e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka            .build();
884e3fa638918cd459d45d4bbd310a1c87f620f695Tadashi G. Takaoka}
89