diff options
| author | Jules Aguillon | 2024-06-30 00:24:39 +0200 |
|---|---|---|
| committer | Jules Aguillon | 2024-06-30 00:24:39 +0200 |
| commit | bdb080657d4e829210270b17d21df976eadf632b (patch) | |
| tree | a8aff6663b5e5932c39438a002b96ebe2916d3f2 | |
| parent | bf33230c26911f7a2e267c1ce5db4fcc096e1602 (diff) | |
| download | unexpected-keyboard-bdb080657d4e829210270b17d21df976eadf632b.tar.gz unexpected-keyboard-bdb080657d4e829210270b17d21df976eadf632b.zip | |
Option to disable key repeat
Internally "key repeat" is reword into "long press" when the same
mechanism was used for both features.
The constraint that 'timeoutWhat' must be set to '-1' when no message is
expected has been lifted to simplify the code.
| -rw-r--r-- | res/values-cs/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-de/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-es/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-fa/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-fr/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-it/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-ko/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-lv/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-pl/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-pt/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-ro/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-ru/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-tr/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-uk/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-vi/strings.xml | 1 | ||||
| -rw-r--r-- | res/values-zh-rCN/strings.xml | 1 | ||||
| -rw-r--r-- | res/values/strings.xml | 1 | ||||
| -rw-r--r-- | res/xml/settings.xml | 3 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/Config.java | 2 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/Pointers.java | 66 |
20 files changed, 53 insertions, 35 deletions
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index ffdc013..0e645a7 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -40,6 +40,7 @@ Tato aplikace neobsahuje žádné reklamy, nevyužívá připojení k síti a je <string name="pref_swipe_dist_summary">Jak daleko je třeba posunout prst pro zadání znaku/znaménka v rohu klávey (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Interval opakování znaků</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Dvojklik pro aktivaci Capslock(u)</string> <string name="pref_lock_double_tap_summary">Umožňuje zamknout Shift dvojklikem, namísto podržení</string> <string name="pref_category_behavior">Chování</string> diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 32b57c0..8a63e4c 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -40,6 +40,7 @@ Diese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quell <string name="pref_swipe_dist_summary">Abstand der Zeichen in den Ecken der Tasten (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Intervall der Tastenwiederholung</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Umschalttaste mit Doppeltippen einrasten</string> <string name="pref_lock_double_tap_summary">Anstatt Taste längere Zeit gedrückt zu halten</string> <string name="pref_category_behavior">Verhalten</string> diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 534c734..9f3322d 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -40,6 +40,7 @@ La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y <string name="pref_swipe_dist_summary">Distancia de caracteres en las esquinas de las teclas (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Intervalo de repetición de tecla</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Doble toque en Mayús para bloquear las mayúsculas</string> <string name="pref_lock_double_tap_summary">Se puede bloquear cualquier modificador manteniéndolo presionado</string> <string name="pref_category_behavior">Comportamiento</string> diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index b881889..f76e689 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -40,6 +40,7 @@ This application contains no ads, doesn't make any network requests and is Open <string name="pref_swipe_dist_summary">فاصله حروف از گوشههای کلیدها )(%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">فاصله تکرار کلید</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">دوبار ضربه روی دگرساز برای فعال شدن کپس لاک</string> <string name="pref_lock_double_tap_summary">شما میتوانید قفل کنید هر میانبری را با نگه داشتن آن</string> <string name="pref_category_behavior">ٰرفتار</string> diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index d863cc5..ba7d21a 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -40,6 +40,7 @@ Cette application ne contient pas de publicité, n'accède pas au réseau et est <string name="pref_swipe_dist_summary">La distance des caractères dans les coins (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Écart entre les répétitions</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Appuyer deux fois pour bloquer la majuscule</string> <string name="pref_lock_double_tap_summary">Un appui long bloque la majuscule</string> <string name="pref_category_behavior">Comportement</string> diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 2097e56..f4da65d 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -40,6 +40,7 @@ This application contains no ads, doesn't make any network requests and is Open <string name="pref_swipe_dist_summary">Distanza dei caratteri negli angoli dei tasti (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Intervallo ripetizione tasto</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Doppio tocco su Shift per attivare CapsLock</string> <string name="pref_lock_double_tap_summary">Invece di premere i modificatori a lungo</string> <!-- <string name="pref_category_behavior">Behavior</string> --> diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 67f9b32..20844c2 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -40,6 +40,7 @@ This application contains no ads, doesn't make any network requests and is Open <string name="pref_swipe_dist_summary">키 모서리 문자의 입력 범위 (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">키 반복 간격</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <!-- <string name="pref_lock_double_tap_title">Double tap on shift for caps lock</string> --> <!-- <string name="pref_lock_double_tap_summary">You can lock any modifier by holding it</string> --> <!-- <string name="pref_category_behavior">Behavior</string> --> diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 0bc39fe..7ae25b3 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -40,6 +40,7 @@ Tagad lieliski piemērota izmantošanai ikdienā. <string name="pref_swipe_dist_summary">Taustiņu stūros esošo rakstzīmju attālums (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Taustiņa atkārtošanās aizture</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Divkāršs piesitiens burtslēgam</string> <string name="pref_lock_double_tap_summary">Tā vietā, lai ilstoši piespiestu pārveidotāju</string> <string name="pref_category_behavior">Uzvedība</string> diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 68c10f4..4531c8f 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -40,6 +40,7 @@ Aplikacja nie zawiera reklam, nie żąda dostępu do internetu, a jej kod źród <string name="pref_swipe_dist_summary">Odległość znaków od rogów klawiszy (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Czas pomiędzy powtórzeniami</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Naciśnij Shift podwójnie, aby włączyć caps lock</string> <string name="pref_lock_double_tap_summary">Możesz zablokować modyfikator poprzez jego długie naciśnięcie</string> <string name="pref_category_behavior">Zachowanie</string> diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index fed1105..1d98260 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -40,6 +40,7 @@ Este aplicativo não contém anúncios, não faz nenhuma solicitação de rede e <string name="pref_swipe_dist_summary">Distância até acionar os cantos das teclas (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Intervalo de repetição de tecla</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Tecle duas vezes no shift para travá-lo acionado</string> <string name="pref_lock_double_tap_summary">Ao invés de apertar e segurar por um tempo</string> <string name="pref_category_behavior">Comportamento</string> diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 5dd13bc..b68f15e 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -40,6 +40,7 @@ Această aplicație nu conține publicitate, nu folosește rețeaua deloc și e <string name="pref_swipe_dist_summary">Distanța dintre caracterele din colțurile tastelor (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Intervalul de repetare a tastelor</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Apăsare dublă pe Shift activează Caps Lock</string> <string name="pref_lock_double_tap_summary">Puteți activa orice modificator, ținându-l apăsat</string> <string name="pref_category_behavior">Comportament</string> diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 6572103..c7b7e78 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -40,6 +40,7 @@ <string name="pref_swipe_dist_summary">Расстояние между символами в углах клавиш (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Интервал повтора клавиш</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">CapsLock двойным нажатием Shift</string> <string name="pref_lock_double_tap_summary">Также можно активировать модификатор долгим нажатием</string> <string name="pref_category_behavior">Поведение</string> diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 0d608cc..4a77bbc 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -40,6 +40,7 @@ Bu uygulama açık kaynaklıdır. Reklam içermez ve internete bağlanmaz."</str <string name="pref_swipe_dist_summary">Tuşların köşelerinden kaydırma mesafesi (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Tuşların tekrarlama sıklığı</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">CapsLock için Shift tuşuna çift bas</string> <string name="pref_lock_double_tap_summary">Uzun basarak CapsLock açılabilir</string> <string name="pref_category_behavior">Klavye davranışı</string> diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index a3c5253..93af083 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -40,6 +40,7 @@ <string name="pref_swipe_dist_summary">Відстань між символами в кутах клавіш (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Інтервал повторення клавіш</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Двічі торкніться Shift для Caps Lock</string> <string name="pref_lock_double_tap_summary">Ви можете заблокувати будь-який модифікатор, утримуючи його</string> <string name="pref_category_behavior">Поведінка</string> diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 46f6657..8ea468d 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -40,6 +40,7 @@ Bây giờ đã hoàn hảo cho việc sử dụng hàng ngày. <string name="pref_swipe_dist_summary">Khoảng cách giữa các ký tự ở góc phím (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">Khoảng thời gian lặp phím</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">Nhấn hai lần Shift để bật Caps Lock</string> <string name="pref_lock_double_tap_summary">Bạn có thể khóa phím hỗ trợ bằng cách giữ vào nó</string> <!-- <string name="pref_category_behavior">Behavior</string> --> diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index c585829..89b6c28 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -40,6 +40,7 @@ <string name="pref_swipe_dist_summary">输入按键四角的符号需要滑动的距离 (%s)</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_long_interval_title">长按后每次重复输入的时间间隔</string> + <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_lock_double_tap_title">双击 Shift 键锁定大写</string> <string name="pref_lock_double_tap_summary">任何时候长按修饰键均可将其锁定</string> <string name="pref_category_behavior">行为</string> diff --git a/res/values/strings.xml b/res/values/strings.xml index a61b12c..224aca5 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -40,6 +40,7 @@ This application contains no ads, doesn't make any network requests and is Open <string name="pref_swipe_dist_summary">Distance of characters in the corners of the keys (%s)</string> <string name="pref_long_timeout_title">Long press timeout</string> <string name="pref_long_interval_title">Key repeat interval</string> + <string name="pref_keyrepeat_enabled">Key repeat on long press</string> <string name="pref_lock_double_tap_title">Double tap on shift for caps lock</string> <string name="pref_lock_double_tap_summary">You can lock any modifier by holding it</string> <string name="pref_category_behavior">Behavior</string> diff --git a/res/xml/settings.xml b/res/xml/settings.xml index 270dfcd..c6c553a 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -16,7 +16,8 @@ <ListPreference android:key="swipe_dist" android:title="@string/pref_swipe_dist_title" android:summary="@string/pref_swipe_dist_summary" android:defaultValue="15" android:entries="@array/pref_swipe_dist_entries" android:entryValues="@array/pref_swipe_dist_values"/> <ListPreference android:key="circle_sensitivity" android:title="@string/pref_circle_sensitivity_title" android:summary="%s" android:defaultValue="2" android:entries="@array/pref_circle_sensitivity_entries" android:entryValues="@array/pref_circle_sensitivity_values"/> <juloo.keyboard2.prefs.IntSlideBarPreference android:key="longpress_timeout" android:title="@string/pref_long_timeout_title" android:summary="%sms" android:defaultValue="600" min="50" max="2000"/> - <juloo.keyboard2.prefs.IntSlideBarPreference android:key="longpress_interval" android:title="@string/pref_long_interval_title" android:summary="%sms" android:defaultValue="25" min="5" max="100"/> + <CheckBoxPreference android:key="keyrepeat_enabled" android:title="@string/pref_keyrepeat_enabled" android:defaultValue="true"/> + <juloo.keyboard2.prefs.IntSlideBarPreference android:key="longpress_interval" android:dependency="keyrepeat_enabled" android:title="@string/pref_long_interval_title" android:summary="%sms" android:defaultValue="25" min="5" max="100"/> <CheckBoxPreference android:key="lock_double_tap" android:title="@string/pref_lock_double_tap_title" android:summary="@string/pref_lock_double_tap_summary" android:defaultValue="false"/> </PreferenceCategory> <PreferenceCategory android:title="@string/pref_category_behavior"> diff --git a/srcs/juloo.keyboard2/Config.java b/srcs/juloo.keyboard2/Config.java index 8b72bc7..7570728 100644 --- a/srcs/juloo.keyboard2/Config.java +++ b/srcs/juloo.keyboard2/Config.java @@ -47,6 +47,7 @@ public final class Config public long vibrate_duration; public long longPressTimeout; public long longPressInterval; + public boolean keyrepeat_enabled; public float margin_bottom; public float keyHeight; public float horizontal_margin; @@ -152,6 +153,7 @@ public final class Config vibrate_duration = _prefs.getInt("vibrate_duration", 20); longPressTimeout = _prefs.getInt("longpress_timeout", 600); longPressInterval = _prefs.getInt("longpress_interval", 65); + keyrepeat_enabled = _prefs.getBoolean("keyrepeat_enabled", true); margin_bottom = get_dip_pref_oriented(dm, "margin_bottom", 7, 3); key_vertical_margin = get_dip_pref(dm, "key_vertical_margin", 1.5f) / 100; key_horizontal_margin = get_dip_pref(dm, "key_horizontal_margin", 2) / 100; diff --git a/srcs/juloo.keyboard2/Pointers.java b/srcs/juloo.keyboard2/Pointers.java index 55ca9c5..0b24b8f 100644 --- a/srcs/juloo.keyboard2/Pointers.java +++ b/srcs/juloo.keyboard2/Pointers.java @@ -24,14 +24,14 @@ public final class Pointers implements Handler.Callback /** Can't be locked, even when long pressing. */ public static final int FLAG_P_CANT_LOCK = (1 << 7); - private Handler _keyrepeat_handler; + private Handler _longpress_handler; private ArrayList<Pointer> _ptrs = new ArrayList<Pointer>(); private IPointerEventHandler _handler; private Config _config; public Pointers(IPointerEventHandler h, Config c) { - _keyrepeat_handler = new Handler(this); + _longpress_handler = new Handler(this); _handler = h; _config = c; } @@ -62,7 +62,7 @@ public final class Pointers implements Handler.Callback public void clear() { for (Pointer p : _ptrs) - stopKeyRepeat(p); + stopLongPress(p); _ptrs.clear(); } @@ -142,7 +142,7 @@ public final class Pointers implements Handler.Callback ptr.sliding.onTouchUp(ptr); return; } - stopKeyRepeat(ptr); + stopLongPress(ptr); KeyValue ptr_value = ptr.value; if (ptr.gesture != null && ptr.gesture.is_in_progress()) { @@ -206,7 +206,7 @@ public final class Pointers implements Handler.Callback KeyValue value = _handler.modifyKey(key.keys[0], mods); Pointer ptr = new Pointer(pointerId, key, value, x, y, mods); _ptrs.add(ptr); - startKeyRepeat(ptr); + startLongPress(ptr); _handler.onPointerDown(value, false); } @@ -313,7 +313,7 @@ public final class Pointers implements Handler.Callback else { ptr.value = apply_gesture(ptr, ptr.gesture.get_gesture()); - restartKeyRepeat(ptr); + restartLongPress(ptr); ptr.flags = 0; // Special behaviors are ignored during a gesture. } } @@ -382,7 +382,7 @@ public final class Pointers implements Handler.Callback // Key repeat - /** Message from [_keyrepeat_handler]. */ + /** Message from [_longpress_handler]. */ @Override public boolean handleMessage(Message msg) { @@ -390,11 +390,7 @@ public final class Pointers implements Handler.Callback { if (ptr.timeoutWhat == msg.what) { - if (handleKeyRepeat(ptr)) - _keyrepeat_handler.sendEmptyMessageDelayed(msg.what, - _config.longPressInterval); - else - ptr.timeoutWhat = -1; + handleLongPress(ptr); return true; } } @@ -403,60 +399,62 @@ public final class Pointers implements Handler.Callback private static int uniqueTimeoutWhat = 0; - private void startKeyRepeat(Pointer ptr) + private void startLongPress(Pointer ptr) { int what = (uniqueTimeoutWhat++); ptr.timeoutWhat = what; - _keyrepeat_handler.sendEmptyMessageDelayed(what, _config.longPressTimeout); + _longpress_handler.sendEmptyMessageDelayed(what, _config.longPressTimeout); } - private void stopKeyRepeat(Pointer ptr) + private void stopLongPress(Pointer ptr) { - if (ptr.timeoutWhat != -1) - { - _keyrepeat_handler.removeMessages(ptr.timeoutWhat); - ptr.timeoutWhat = -1; - } + _longpress_handler.removeMessages(ptr.timeoutWhat); } - private void restartKeyRepeat(Pointer ptr) + private void restartLongPress(Pointer ptr) { - stopKeyRepeat(ptr); - startKeyRepeat(ptr); + stopLongPress(ptr); + startLongPress(ptr); } - /** A pointer is repeating. Returns [true] if repeat should continue. */ - private boolean handleKeyRepeat(Pointer ptr) + /** A pointer is long pressing. */ + private void handleLongPress(Pointer ptr) { // Long press toggle lock on modifiers if ((ptr.flags & FLAG_P_LATCHABLE) != 0) { if (!ptr.hasFlagsAny(FLAG_P_CANT_LOCK)) lockPointer(ptr, true); - return false; + return; } - // Stop repeating: Latched key, no key + // Latched key, no key if (ptr.hasFlagsAny(FLAG_P_LATCHED) || ptr.value == null) - return false; + return; + // Key is long-pressable KeyValue kv = KeyModifier.modify_long_press(ptr.value); if (!kv.equals(ptr.value)) { ptr.value = kv; _handler.onPointerDown(kv, true); - return true; + return; } - // Stop repeating: Special keys + // Special keys if (kv.hasFlagsAny(KeyValue.FLAG_SPECIAL)) - return false; - _handler.onPointerHold(kv, ptr.modifiers); - return true; + return; + // For every other keys, key-repeat + if (_config.keyrepeat_enabled) + { + _handler.onPointerHold(kv, ptr.modifiers); + _longpress_handler.sendEmptyMessageDelayed(ptr.timeoutWhat, + _config.longPressInterval); + } } // Sliding void startSliding(Pointer ptr, float x) { - stopKeyRepeat(ptr); + stopLongPress(ptr); ptr.flags |= FLAG_P_SLIDING; ptr.sliding = new Sliding(x); } |
