Add keyHysteresisDistance xml attribute
This change also introduces MiniKeyboardKeyDetector and
mini_keyboad_slide_allowance parameter to tune the key detection
behavior.
Bug: 2993769
Change-Id: I1932b0a382e172cb77b9e098ae182049c834dfe0
diff --git a/java/res/layout/keyboard_popup.xml b/java/res/layout/keyboard_popup.xml
index 1005e7e..9a52e2c 100644
--- a/java/res/layout/keyboard_popup.xml
+++ b/java/res/layout/keyboard_popup.xml
@@ -33,5 +33,7 @@
android:background="@drawable/keyboard_dark_background"
latin:keyBackground="@drawable/btn_keyboard_key_gingerbread_popup"
+ latin:keyHysteresisDistance="0dip"
+ latin:verticalCorrection="-20dip"
/>
</LinearLayout>
diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml
index 4395155..4f87b79 100644
--- a/java/res/values-land/dimens.xml
+++ b/java/res/values-land/dimens.xml
@@ -22,4 +22,7 @@
<dimen name="key_height">47dip</dimen>
<dimen name="candidate_strip_height">38dip</dimen>
<dimen name="spacebar_vertical_correction">2dip</dimen>
-</resources>
\ No newline at end of file
+ <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
+ <!-- key_height * 1.7 -->
+ <dimen name="mini_keyboard_slide_allowance">79.9dip</dimen>
+</resources>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index a8eaab9..995373e 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -43,12 +43,12 @@
<!-- Height of the key press feedback popup. -->
<attr name="keyPreviewHeight" format="dimension" />
+ <!-- Hysteresis distance for key debouncing -->
+ <attr name="keyHysteresisDistance" format="dimension" />
+
<!-- Amount to offset the touch Y coordinate by, for bias correction. -->
<attr name="verticalCorrection" format="dimension" />
- <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
- <attr name="miniKeyboardSlideAllowance" format="dimension" />
-
<!-- Layout resource for popup keyboards. -->
<attr name="popupLayout" format="reference" />
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
index 39dce9d..af8b381 100644
--- a/java/res/values/dimens.xml
+++ b/java/res/values/dimens.xml
@@ -27,5 +27,7 @@
will not go into extract (fullscreen) mode. -->
<dimen name="max_height_for_fullscreen">2.5in</dimen>
<dimen name="key_text_size">22sp</dimen>
- <dimen name="key_debounce_hysteresis_distance">0.05in</dimen>
+ <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
+ <!-- key_height * 1.7 -->
+ <dimen name="mini_keyboard_slide_allowance">91.8dip</dimen>
</resources>
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 48f0d5e..258082e 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -26,8 +26,8 @@
<item name="keyPreviewHeight">80dip</item>
<item name="labelTextSize">14sp</item>
<item name="popupLayout">@layout/keyboard_popup</item>
+ <item name="keyHysteresisDistance">0.05in</item>
<item name="verticalCorrection">-10dip</item>
- <item name="miniKeyboardSlideAllowance">40dip</item>
<item name="shadowColor">#BB000000</item>
<item name="shadowRadius">2.75</item>
<item name="backgroundDimAmount">0.5</item>