diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 4af7efb..fc084f6 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -36,8 +36,6 @@ Interval opakování znaků Vibrace Zapnout/Vypnout vibrace při stisku klávesy - Precizní posun kurzoru - Zda-li posun prstem ovlivňuje rychlost kurzoru Dvojklik pro aktivaci caps lock(u) Dvojklik namísto držení modifikačních kláves po nějakou dobu Styl diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index c51e52f..e810baa 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -36,8 +36,6 @@ Intervall der Tastenwiederholung Vibration Vibration bei Tastendruck ein-/ausschalten - Präzise Cursorsteuerung - Geschwindigkeit der Tastenwiederholung durch weniger oder mehr Wischen anpassen Umschalttaste mit Doppeltippen einrasten Anstatt Taste längere Zeit gedrückt zu halten Design diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 6d35522..e029a3c 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -36,8 +36,6 @@ Intervalo de repetición de tecla Vibración Habilitar/deshabilitar vibración al presionar una tecla - Movimientos de cursor preciso - Modular la velocidad de repetición de teclas según si se desliza más o menos Estilo diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 6f6e221..773398b 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -36,8 +36,6 @@ Écart entre les répétitions Vibreur Vibration a chaque touche - Mouvement précis du curseur - Modifier la vitesse de répétition en bougeant le doigt Appuyer deux fois pour bloquer la majuscule Un appui long bloque la majuscule Style diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index a0374ce..ef467bf 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -36,8 +36,6 @@ Intervallo ripetizione tasto Vibrazione Abilita/Disabilita Vibrazione alla pressione dei tasti - Movimento puntatore preciso - Modula la veocità della ripetizione con lo swipe Doppio tocco su Shift per attivare CapsLock Invece di premere i modificatori a lungo Stile diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 22184c2..d11c6f7 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -36,8 +36,6 @@ 키 반복 간격 진동 키 누를 때 진동 키거/끄기 - 정확한 커서 움직임 - 더 많거나 적은 스와이프로 키 반복 조절 스타일 diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 1eaddf1..6854892 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -36,8 +36,6 @@ Taustiņa atkārtošanās aizture Trīcēšana Iespējot/atspējot taustiņa piespiešanas trīcēšanu - Pielāgojama kursora kustība - Mainīt taustiņa atkārtošanās ātrumu ar pavilkšanas attālumu Divkāršs piesitiens burtslēgam Tā vietā, lai ilstoši piespiestu pārveidotāju Izskata pielāgojumi diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index f4482e6..2313c63 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -36,8 +36,6 @@ Czas pomiędzy powtórzeniami Wibracja Wł./wył. wibrację przy naciśnięciu klawisza - Dokładne poruszanie kursorem - Reguluj prędkość powtarzania naciśnięć klawisza poprzez przesunięcie dalej lub bliżej Naciśnij Shift podwójnie, aby włączyć caps lock Możesz zablokować modyfikator poprzez jego długie naciśnięcie Styl diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index a52ccc5..5c3f4ed 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -36,8 +36,6 @@ Intervalo de repetição de tecla Vibração Ativar/desativar vibração ao digitar - Precisão nos movimentos do cursor - Varia a velocidade de repetição a depender do quanto deslizar Tecle duas vezes no shift para caixa alta Ao invés de apertar e segurar por um tempo Estilo diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index c89d436..a845ccf 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -36,8 +36,6 @@ Интервал повтора клавиш Вибрация Включение/выключение вибрации при нажатии клавиши - Точные перемещения курсора - Изменяйте скорость повтора клавиш, проводя пальцем больше или меньше Двойное нажатие на Shift активирует Caps lock Вы можете активировать модификатор, удерживая клавишу Стиль diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index dc0a8d3..1e9aba4 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -36,8 +36,6 @@ Tuş tekrarlama aralığı Titreşim Tuşa basıldığında titreşimi etkinleştir - İmleç hareketini ayarla - Tuş tekrar hızını az ya da çok kaydırarak ayarla Stil diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index fa6c4a5..c3c1412 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -36,8 +36,6 @@ 长按后每次重复输入的时间间隔 振动 启用或者禁用按下按键时振动 - 精确控制光标移速 - 按键重复按下速度由手指滑动的距离决定 双击Shift键锁定大写 任何时候都可以长按修改键以锁定 样式 diff --git a/res/values/strings.xml b/res/values/strings.xml index 802ee14..8a717a4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -36,8 +36,6 @@ Key repeat interval Vibration Enable/disable vibration on keypress - Precise cursor movements - Modulate key repeat speed by swiping more or less Double tap on shift for caps lock You can lock any modifier by holding it Style diff --git a/res/xml/settings.xml b/res/xml/settings.xml index dac5df2..8633ae0 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -47,7 +47,6 @@ - diff --git a/srcs/juloo.keyboard2/Config.java b/srcs/juloo.keyboard2/Config.java index fbb542a..b8580e6 100644 --- a/srcs/juloo.keyboard2/Config.java +++ b/srcs/juloo.keyboard2/Config.java @@ -41,7 +41,6 @@ final class Config public int keyboardOpacity; // 0 - 255 public int keyOpacity; // 0 - 255 public int keyActivatedOpacity; // 0 - 255 - public boolean preciseRepeat; public boolean double_tap_lock_shift; public float characterSize; // Ratio public int accents; // Values are R.values.pref_accents_v_* @@ -142,7 +141,6 @@ final class Config horizontal_margin = get_dip_pref(dm, oriented_pref("horizontal_margin"), res.getDimension(R.dimen.horizontal_margin)); - preciseRepeat = _prefs.getBoolean("precise_repeat", true); double_tap_lock_shift = _prefs.getBoolean("lock_double_tap", false); characterSize = _prefs.getFloat("character_size", 1.f) diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index b7a0593..8d12518 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -78,7 +78,7 @@ final class KeyValue public static final int FLAG_LOCK = (1 << 21); // Special keys are not repeated and don't clear latched modifiers. public static final int FLAG_SPECIAL = (1 << 22); - public static final int FLAG_PRECISE_REPEAT = (1 << 23); + // Free flag: (1 << 23); // Rendering flags. public static final int FLAG_KEY_FONT = (1 << 24); // special font file public static final int FLAG_SMALLER_FONT = (1 << 25); // 25% smaller symbols @@ -328,10 +328,10 @@ final class KeyValue addKeyeventKey("esc", "Esc", KeyEvent.KEYCODE_ESCAPE, FLAG_SMALLER_FONT); addKeyeventKey("enter", 0x0E, KeyEvent.KEYCODE_ENTER, 0); - addKeyeventKey("up", 0x05, KeyEvent.KEYCODE_DPAD_UP, FLAG_PRECISE_REPEAT); - addKeyeventKey("right", 0x06, KeyEvent.KEYCODE_DPAD_RIGHT, FLAG_PRECISE_REPEAT); - addKeyeventKey("down", 0x07, KeyEvent.KEYCODE_DPAD_DOWN, FLAG_PRECISE_REPEAT); - addKeyeventKey("left", 0x08, KeyEvent.KEYCODE_DPAD_LEFT, FLAG_PRECISE_REPEAT); + addKeyeventKey("up", 0x05, KeyEvent.KEYCODE_DPAD_UP, 0); + addKeyeventKey("right", 0x06, KeyEvent.KEYCODE_DPAD_RIGHT, 0); + addKeyeventKey("down", 0x07, KeyEvent.KEYCODE_DPAD_DOWN, 0); + addKeyeventKey("left", 0x08, KeyEvent.KEYCODE_DPAD_LEFT, 0); addKeyeventKey("page_up", 0x02, KeyEvent.KEYCODE_PAGE_UP, 0); addKeyeventKey("page_down", 0x03, KeyEvent.KEYCODE_PAGE_DOWN, 0); addKeyeventKey("home", 0x0B, KeyEvent.KEYCODE_MOVE_HOME, 0); diff --git a/srcs/juloo.keyboard2/Pointers.java b/srcs/juloo.keyboard2/Pointers.java index 46b76fc..448fd4c 100644 --- a/srcs/juloo.keyboard2/Pointers.java +++ b/srcs/juloo.keyboard2/Pointers.java @@ -147,11 +147,6 @@ public final class Pointers implements Handler.Callback public void onTouchDown(float x, float y, int pointerId, KeyboardData.Key key) { - // Ignore new presses while a modulated key is active. On some devices, - // ghost touch events can happen while the pointer travels on top of other - // keys. - if (isModulatedKeyPressed()) - return; // Don't take latched modifiers into account if an other key is pressed. // The other key already "own" the latched modifiers and will clear them. Modifiers mods = getModifiers(isOtherPointerDown()); @@ -207,7 +202,6 @@ public final class Pointers implements Handler.Callback float dx = x - ptr.downX; float dy = y - ptr.downY; float dist = Math.abs(dx) + Math.abs(dy); - ptr.ptrDist = dist; int direction; if (dist < _config.swipe_dist_px) @@ -237,12 +231,6 @@ public final class Pointers implements Handler.Callback int old_flags = ptr.flags; ptr.value = newValue; ptr.flags = newValue.getFlags(); - // Keep the keyrepeat going between modulated keys. - if ((old_flags & ptr.flags & KeyValue.FLAG_PRECISE_REPEAT) == 0) - { - stopKeyRepeat(ptr); - startKeyRepeat(ptr); - } _handler.onPointerDown(true); } } @@ -299,16 +287,6 @@ public final class Pointers implements Handler.Callback _handler.onPointerFlagsChanged(shouldVibrate); } - private boolean isModulatedKeyPressed() - { - for (Pointer ptr : _ptrs) - { - if ((ptr.flags & KeyValue.FLAG_PRECISE_REPEAT) != 0) - return true; - } - return false; - } - // Key repeat /** Message from [_keyrepeat_handler]. */ @@ -320,7 +298,8 @@ public final class Pointers implements Handler.Callback if (ptr.timeoutWhat == msg.what) { if (handleKeyRepeat(ptr)) - _keyrepeat_handler.sendEmptyMessageDelayed(msg.what, nextRepeatInterval(ptr)); + _keyrepeat_handler.sendEmptyMessageDelayed(msg.what, + _config.longPressInterval); else ptr.timeoutWhat = -1; return true; @@ -329,17 +308,6 @@ public final class Pointers implements Handler.Callback return false; } - private long nextRepeatInterval(Pointer ptr) - { - long t = _config.longPressInterval; - if (_config.preciseRepeat && (ptr.flags & KeyValue.FLAG_PRECISE_REPEAT) != 0) - { - // Modulate repeat interval depending on the distance of the pointer - t = (long)((float)t * 2.f / modulatePreciseRepeat(ptr)); - } - return t; - } - private static int uniqueTimeoutWhat = 0; private void startKeyRepeat(Pointer ptr) @@ -348,11 +316,7 @@ public final class Pointers implements Handler.Callback return; int what = (uniqueTimeoutWhat++); ptr.timeoutWhat = what; - long timeout = _config.longPressTimeout; - // Faster repeat timeout for modulated keys - if ((ptr.flags & KeyValue.FLAG_PRECISE_REPEAT) != 0) - timeout /= 2; - _keyrepeat_handler.sendEmptyMessageDelayed(what, timeout); + _keyrepeat_handler.sendEmptyMessageDelayed(what, _config.longPressTimeout); } private void stopKeyRepeat(Pointer ptr) @@ -361,7 +325,6 @@ public final class Pointers implements Handler.Callback { _keyrepeat_handler.removeMessages(ptr.timeoutWhat); ptr.timeoutWhat = -1; - ptr.repeatingPtrDist = -1.f; } } @@ -381,16 +344,6 @@ public final class Pointers implements Handler.Callback return true; } - private float modulatePreciseRepeat(Pointer ptr) - { - if (ptr.repeatingPtrDist < 0.f) - ptr.repeatingPtrDist = ptr.ptrDist; // First repeat - if (ptr.ptrDist > ptr.repeatingPtrDist * 2.f) - ptr.repeatingPtrDist = ptr.ptrDist / 2.f; // Large swipe, move the middle point - float left = ptr.repeatingPtrDist / 2.f; - float accel = (ptr.ptrDist - left) / (ptr.repeatingPtrDist - left); - return Math.min(8.f, Math.max(0.1f, accel)); - } private static final class Pointer { @@ -404,16 +357,12 @@ public final class Pointers implements Handler.Callback public KeyValue value; public float downX; public float downY; - /** Distance of the pointer to the initial press. */ - public float ptrDist; /** Modifier flags at the time the key was pressed. */ public Modifiers modifiers; /** Flags of the value. Latch, lock and locked flags are updated. */ public int flags; /** Identify timeout messages. */ public int timeoutWhat; - /** ptrDist at the first repeat, -1 otherwise. */ - public float repeatingPtrDist; public Pointer(int p, KeyboardData.Key k, KeyValue v, float x, float y, Modifiers m) { @@ -423,11 +372,9 @@ public final class Pointers implements Handler.Callback value = v; downX = x; downY = y; - ptrDist = 0.f; modifiers = m; flags = (v == null) ? 0 : v.getFlags(); timeoutWhat = -1; - repeatingPtrDist = -1.f; } }