diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/fragments/settings/MiscFragment.java b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/fragments/settings/MiscFragment.java index bb4e0e0..b7c1817 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/fragments/settings/MiscFragment.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/fragments/settings/MiscFragment.java @@ -25,6 +25,7 @@ public class MiscFragment extends BaseSettingsFragment { addCheckedAction(R.string.increase_kbd_size, R.string.increase_kbd_size_desc, mPrefs::getEnlargeKeyboard, mPrefs::setEnlargeKeyboard); addCheckedAction(R.string.enable_suggestions, R.string.enable_suggestions_desc, mPrefs::getSuggestionsEnabled, mPrefs::setSuggestionsEnabled); addCheckedAction(R.string.show_launcher_icon, R.string.show_launcher_icon_desc, this::getLauncherIconShown, this::setLauncherIconShown); + addCheckedAction(R.string.enable_cyclic_navigation, R.string.enable_cyclic_navigation_desc, mPrefs::getCyclicNavigationEnabled, mPrefs::setCyclicNavigationEnabled); } @NonNull diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/ime/LeanbackKeyboardContainer.java b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/ime/LeanbackKeyboardContainer.java index ecd568f..ce86dcc 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/ime/LeanbackKeyboardContainer.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/ime/LeanbackKeyboardContainer.java @@ -738,19 +738,9 @@ public class LeanbackKeyboardContainer { return true; } } else { - boolean left; - if ((direction & DIRECTION_LEFT) != 0) { - left = true; - } else { - left = false; - } + boolean left = (direction & DIRECTION_LEFT) != 0; - boolean right; - if ((direction & DIRECTION_RIGHT) != 0) { - right = true; - } else { - right = false; - } + boolean right = (direction & DIRECTION_RIGHT) != 0; if (left || right) { offsetRect(mRect, mRootView); diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/ime/LeanbackKeyboardController.java b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/ime/LeanbackKeyboardController.java index 257b5df..35db496 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/ime/LeanbackKeyboardController.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/ime/LeanbackKeyboardController.java @@ -16,7 +16,6 @@ import android.view.inputmethod.EditorInfo; import android.widget.Button; import android.widget.RelativeLayout; import androidx.annotation.NonNull; -import com.liskovsoft.leankeyboard.addons.keyboards.KeyboardManager.KeyboardData; import com.liskovsoft.leankeyboard.ime.LeanbackKeyboardContainer.KeyFocus; import com.liskovsoft.leankeyboard.ime.pano.util.TouchNavSpaceTracker; import com.liskovsoft.leankeykeyboard.R; @@ -37,7 +36,7 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi private LeanbackKeyboardContainer mContainer; private InputMethodService mContext; private DoubleClickDetector mDoubleClickDetector; - private LeanbackKeyboardContainer.KeyFocus mDownFocus; + private LeanbackKeyboardContainer.KeyFocus mCurrentFocus; private Handler mHandler; private InputListener mInputListener; ArrayList mKeyChangeHistory; @@ -81,7 +80,7 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi }; mTouchEventListener = new TouchEventListener(); - mDownFocus = new KeyFocus(); + mCurrentFocus = new KeyFocus(); mTempFocus = new KeyFocus(); mKeyChangeHistory = new ArrayList<>(11); mTempPoint = new PointF(); @@ -576,9 +575,29 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi } private boolean onDirectionalMove(int dir) { - if (mContainer.getNextFocusInDirection(dir, mDownFocus, mTempFocus)) { + if (mContainer.getNextFocusInDirection(dir, mCurrentFocus, mTempFocus)) { + if (mCurrentFocus.equals(mTempFocus)) { + String direction = "UNKNOWN"; + + switch (dir) { + case LeanbackKeyboardContainer.DIRECTION_DOWN: + direction = "DOWN"; + break; + case LeanbackKeyboardContainer.DIRECTION_LEFT: + direction = "LEFT"; + break; + case LeanbackKeyboardContainer.DIRECTION_RIGHT: + direction = "RIGHT"; + break; + case LeanbackKeyboardContainer.DIRECTION_UP: + direction = "UP"; + break; + } + + Log.d(TAG, "Same key focus found! Direction: " + direction + " Key Label: " + mCurrentFocus.label); + } mContainer.setFocus(mTempFocus); - mDownFocus.set(mTempFocus); + mCurrentFocus.set(mTempFocus); clearKeyIfNecessary(); } @@ -695,7 +714,7 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi //if (event.getDeviceId() > 0 && event.isPrintingKey()) onPhysicalKeyboardKeyPressed(); if (event.isPrintingKey()) onPhysicalKeyboardKeyPressed(); - mDownFocus.set(mContainer.getCurrFocus()); + mCurrentFocus.set(mContainer.getCurrFocus()); if (mSpaceTracker != null && mSpaceTracker.onKeyDown(keyCode, event)) { return true; } else { diff --git a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/utils/LeanKeyPreferences.java b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/utils/LeanKeyPreferences.java index b81d742..ca3d24e 100644 --- a/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/utils/LeanKeyPreferences.java +++ b/leankeykeyboard/src/main/java/com/liskovsoft/leankeyboard/utils/LeanKeyPreferences.java @@ -16,6 +16,7 @@ public final class LeanKeyPreferences { public static final String THEME_DARK2 = "Dark2"; public static final String THEME_DARK3 = "Dark3"; private static final String SUGGESTIONS_ENABLED = "suggestionsEnabled"; + private static final String CYCLIC_NAVIGATION_ENABLED = "cyclicNavigationEnabled"; private static LeanKeyPreferences sInstance; private final Context mContext; private SharedPreferences mPrefs; @@ -100,4 +101,14 @@ public final class LeanKeyPreferences { public boolean getSuggestionsEnabled() { return mPrefs.getBoolean(SUGGESTIONS_ENABLED, true); } + + public void setCyclicNavigationEnabled(boolean enabled) { + mPrefs.edit() + .putBoolean(CYCLIC_NAVIGATION_ENABLED, enabled) + .apply(); + } + + public boolean getCyclicNavigationEnabled() { + return mPrefs.getBoolean(CYCLIC_NAVIGATION_ENABLED, true); + } } diff --git a/leankeykeyboard/src/main/res/values-ar/strings.xml b/leankeykeyboard/src/main/res/values-ar/strings.xml index 2dc9afd..4f4a66d 100644 --- a/leankeykeyboard/src/main/res/values-ar/strings.xml +++ b/leankeykeyboard/src/main/res/values-ar/strings.xml @@ -18,4 +18,45 @@ لليمين يمكنك توصيل سماعة رأس لسماع مفاتيح كلمة المرور عندما يتم نطقها. نقطة + + + ٪س + لغة + مدخل الصوت + حدد تخطيطات إضافية + لفتح مربع حوار في المرة القادمة ، اضغط مع الاستمرار على زر \"العالم \" + اسم المستخدم + البريد الإلكتروني + تخطيط لوحة المفاتيح + نسق + الإعدادات + إعدادات لوحة المفاتيح + تنشيط لوحة المفاتيح + غير الواجهة او التصميم + تحتاج إلى تمكين٪ s في تفضيلات النظام + حول + عن التطبيق + احتفظ به على الشاشة أثناء تنشيط لوحة المفاتيح الفعلية + متفرقات + إعدادات متنوعة + ابق على الشاشة + الحافظة + تكبير لوحة المفاتيح + زيادة حجم لوحة المفاتيح + حدث خطأ. حاول تنشيط٪ s باستخدام الأوامر أدناه. \n\n٪ s \n\n٪ s + تبرع + موقع الكتروني + لا يمكن فتح إعدادات kbd للنظام. \nإعادة التوجيه إلى الموقع بتعليمات يدوية ... + إرسال قضية + احصل على نسخة جديدة + موضوع + موضوع لوحة المفاتيح + غير الخلفية + تمكين الاقتراحات + تمكين صف الاقتراحات + إظهار الرمز + إظهار أيقونة المشغل + التنقل الدوري + التنقل الدوري من خلال لوحة المفاتيح + diff --git a/leankeykeyboard/src/main/res/values-bg/strings.xml b/leankeykeyboard/src/main/res/values-bg/strings.xml index a77b198..bef525f 100644 --- a/leankeykeyboard/src/main/res/values-bg/strings.xml +++ b/leankeykeyboard/src/main/res/values-bg/strings.xml @@ -18,4 +18,45 @@ Right Включете слушалки, за да чуете изговарянето на клавишите за паролата. Точка. + + + + език + Гласов вход + Изберете допълнителни оформления + За да отворите диалоговия прозорец следващия път, дълго натиснете бутона \"свят \" + Потребителско име + електронна поща + Клавиатурна подредба + оформление + Настройки + Настройки на клавиатурата + Активирайте клавиатурата + Промяна на оформлението + Трябва да активирате %s в системни предпочитания + относно + Относно приложението + Дръжте го на екрана, докато физическата клавиатура е активна + Разни + Разни настройки + Дръжте на екрана + клипборда + Уголемяване на клавиатурата + Увеличете размера на клавиатурата + Възникна грешка. Опитайте да активирате %s с команди по-долу. \N \n%s \n\n%s + Дарете + Уеб сайт + Не мога да отворя настройките на системния kbd. \NПренасочване към сайта с ръчни инструкции ... + Изпратете проблем + Вземете нова версия + тема + Тема на клавиатурата + Промяна на темата + Активиране на предложенията + Активиране на реда с предложения + Показване на икона + Показване на иконата на стартовия панел + Циклична навигация + Циклична навигация през клавиатурата + diff --git a/leankeykeyboard/src/main/res/values-el/strings.xml b/leankeykeyboard/src/main/res/values-el/strings.xml index e22e90a..bd58046 100644 --- a/leankeykeyboard/src/main/res/values-el/strings.xml +++ b/leankeykeyboard/src/main/res/values-el/strings.xml @@ -18,4 +18,45 @@ Δεξιά Συνδέστε ακουστικά για να ακούσετε τα πλήκτρα του κωδικού πρόσβασης να εκφωνούνται. Τελεία. + + + %μικρό + Γλώσσα + Φωνητική είσοδος + Επιλέξτε πρόσθετες διατάξεις + Για να ανοίξετε το διάλογο την επόμενη φορά, πατήστε παρατεταμένα το κουμπί \"κόσμος \" + Ονομα χρήστη + ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ + Διάταξη πληκτρολογίου + Σχέδιο + Ρυθμίσεις + Ρυθμίσεις πληκτρολογίου + Ενεργοποίηση πληκτρολογίου + Αλλαγή διάταξης + Πρέπει να ενεργοποιήσετε το %s στις Προτιμήσεις συστήματος + Σχετικά με + Σχετικά με την εφαρμογή + Διατηρήστε το στην οθόνη ενώ το φυσικό πληκτρολόγιο είναι ενεργό + Διάφορα + Διάφορες ρυθμίσεις + Κρατήστε στην οθόνη + Πρόχειρο + Μεγέθυνση πληκτρολογίου + Αυξήστε το μέγεθος του πληκτρολογίου + Προέκυψε σφάλμα. Προσπαθήστε να ενεργοποιήσετε το %s με τις παρακάτω εντολές. \N \n%s \n\n%s + Προσφέρω + Ιστοσελίδα + Δεν είναι δυνατό το άνοιγμα των ρυθμίσεων kbd συστήματος. \NΑνακατεύθυνση στον ιστότοπο με μη αυτόματες οδηγίες… + Υποβάλετε ένα ζήτημα + Αποκτήστε μια νέα έκδοση + Θέμα + Θέμα πληκτρολογίου + Αλλαξε θέμα + Ενεργοποίηση προτάσεων + Ενεργοποίηση σειράς προτάσεων + Εμφάνιση εικονιδίου + Εμφάνιση εικονιδίου εκκίνησης + Κυκλική πλοήγηση + Κυκλική πλοήγηση μέσω πληκτρολογίου + diff --git a/leankeykeyboard/src/main/res/values-fa/strings.xml b/leankeykeyboard/src/main/res/values-fa/strings.xml index ccd379f..c0973ae 100644 --- a/leankeykeyboard/src/main/res/values-fa/strings.xml +++ b/leankeykeyboard/src/main/res/values-fa/strings.xml @@ -18,4 +18,45 @@ راست هدست را برای شنیدن کلیدهای گذرواژه که خوانده می‌شوند، وصل کنید. نقطه. + + + ٪ s + زبان + ورودی صدا + طرح بندی های اضافی را انتخاب کنید + برای باز کردن گفتگو دفعه بعد ، دکمه "جهان" را فشار دهید + نام کاربری + پست الکترونیک + چیدمان صفحه کلید + چیدمان + تنظیمات + تنظیمات صفحه کلید + صفحه کلید را فعال کنید + طرح بندی را تغییر دهید + شما باید٪ s را در تنظیمات برگزیده سیستم فعال کنید + در باره + درباره برنامه + در حالی که صفحه کلید فیزیکی فعال است ، آن را روی صفحه نگه دارید + متفرقه + تنظیمات متفرقه + روی صفحه نگه دارید + کلیپ بورد + صفحه کلید را بزرگ کنید + اندازه صفحه کلید را افزایش دهید + خطا رخ داده است. سعی کنید٪ s را با دستورات زیر فعال کنید. \n\n٪ s \n\n٪ s + اهدا کنید + سایت اینترنتی + نمی توانید تنظیمات سیستم kbd را باز کنید. \nبا هدایت دستی به سایت هدایت شوید ... + ارسال یک شماره + یک نسخه جدید دریافت کنید + موضوع + تم صفحه کلید + تغییر زمینه + پیشنهادات را فعال کنید + ردیف پیشنهادات را فعال کنید + نماد نمایش + نماد پرتاب را نشان دهید + ناوبری حلقوی + ناوبری حلقوی از طریق صفحه کلید + diff --git a/leankeykeyboard/src/main/res/values-fr/strings.xml b/leankeykeyboard/src/main/res/values-fr/strings.xml index 2a9c3ff..4946133 100644 --- a/leankeykeyboard/src/main/res/values-fr/strings.xml +++ b/leankeykeyboard/src/main/res/values-fr/strings.xml @@ -18,4 +18,45 @@ Droite "Branchez un casque pour entendre l'énoncé des touches lors de la saisie du mot de passe." Point. + + + %s + Langue + Entrée vocale + Sélectionnez des dispositions supplémentaires + Pour ouvrir la boîte de dialogue la prochaine fois, appuyez longuement sur le bouton \\'monde \\' + Nom d\'utilisateur + Email + Clavier + Disposition + Paramètres + Paramètres du clavier + Activer le clavier + Changer la disposition + Vous devez activer %s dans les Préférences Système + À propos + À propos de l\'application + Gardez-le à l\'écran lorsque le clavier physique est actif + Divers + Paramètres divers + Gardez à l\'écran + Presse-papiers + Agrandir le clavier + Augmenter la taille du clavier + Erreur est survenue. Essayez d\'activer %s avec les commandes ci-dessous. \N \n%s \n\n%s + Faire un don + Site Internet + Impossible d\'ouvrir les paramètres du système kbd. \NRedirection vers le site avec des instructions manuelles… + Soumettre un problème + Obtenez une nouvelle version + Thème + Thème du clavier + Change le thème + Activer les suggestions + Activer la ligne des suggestions + Montrer l\'icône + Afficher l\'icône du lanceur + Navigation cyclique + Navigation cyclique via le clavier + diff --git a/leankeykeyboard/src/main/res/values-ru/strings.xml b/leankeykeyboard/src/main/res/values-ru/strings.xml index 485d540..336dfbf 100644 --- a/leankeykeyboard/src/main/res/values-ru/strings.xml +++ b/leankeykeyboard/src/main/res/values-ru/strings.xml @@ -48,4 +48,6 @@ Отображать ряд с подсказками при вводе Отображать иконку Отображать иконку лаунчера + Циклическая навигация + Циклическая навигация по клавиатуре diff --git a/leankeykeyboard/src/main/res/values-uk/strings.xml b/leankeykeyboard/src/main/res/values-uk/strings.xml index a80132e..b950c3f 100644 --- a/leankeykeyboard/src/main/res/values-uk/strings.xml +++ b/leankeykeyboard/src/main/res/values-uk/strings.xml @@ -48,4 +48,6 @@ Відображати ряд з підказками при вводі Відображати іконку Відображати іконку лаунчера + Циклічна навігація + Циклічна навігація по клавіатурі diff --git a/leankeykeyboard/src/main/res/values/strings.xml b/leankeykeyboard/src/main/res/values/strings.xml index 30f458e..f0cf270 100644 --- a/leankeykeyboard/src/main/res/values/strings.xml +++ b/leankeykeyboard/src/main/res/values/strings.xml @@ -2,7 +2,7 @@ LeanKey Keyboard Pro LeanKey Keyboard Pro - " .,;:!? + " .,;:!? ()[]*&@{}/<>_+=|" Go @@ -59,4 +59,6 @@ Enable suggestions row Show icon Show launcher icon + Сyclic navigation + Сyclic navigation through keyboard