diff options
Diffstat (limited to 'java')
22 files changed, 144 insertions, 63 deletions
diff --git a/java/res/xml-da/kbd_qwerty.xml b/java/res/xml-da/kbd_qwerty.xml index fb8d062ee..967fda851 100644 --- a/java/res/xml-da/kbd_qwerty.xml +++ b/java/res/xml-da/kbd_qwerty.xml @@ -188,7 +188,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left" android:isModifier="true"/> + android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p" android:isModifier="true"/> @@ -197,10 +197,10 @@ android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p" android:isModifier="true"/> + android:keyWidth="10%p" android:isModifier="true"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" diff --git a/java/res/xml-da/kbd_qwerty_black.xml b/java/res/xml-da/kbd_qwerty_black.xml index b9d1d1796..bde77d6dc 100644 --- a/java/res/xml-da/kbd_qwerty_black.xml +++ b/java/res/xml-da/kbd_qwerty_black.xml @@ -187,7 +187,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left"/> + android:keyWidth="15%p" android:keyEdgeFlags="left"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p"/> @@ -196,10 +196,10 @@ android:keyWidth="10%p"/> <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true"/> + android:keyWidth="30%p" android:isRepeatable="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p"/> + android:keyWidth="10%p"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p"/> <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" diff --git a/java/res/xml-de/kbd_qwerty.xml b/java/res/xml-de/kbd_qwerty.xml index 763627a34..53f7434fb 100755 --- a/java/res/xml-de/kbd_qwerty.xml +++ b/java/res/xml-de/kbd_qwerty.xml @@ -168,7 +168,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left" android:isModifier="true"/> + android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p" android:isModifier="true"/> @@ -177,10 +177,10 @@ android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p" android:isModifier="true"/> + android:keyWidth="10%p" android:isModifier="true"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" diff --git a/java/res/xml-de/kbd_qwerty_black.xml b/java/res/xml-de/kbd_qwerty_black.xml index b0b6c238f..5e7261ae7 100755 --- a/java/res/xml-de/kbd_qwerty_black.xml +++ b/java/res/xml-de/kbd_qwerty_black.xml @@ -168,7 +168,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left"/> + android:keyWidth="15%p" android:keyEdgeFlags="left"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p"/> @@ -177,10 +177,10 @@ android:keyWidth="10%p"/> <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true"/> + android:keyWidth="30%p" android:isRepeatable="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p"/> + android:keyWidth="10%p"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p"/> <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" diff --git a/java/res/xml-fr/kbd_qwerty.xml b/java/res/xml-fr/kbd_qwerty.xml index 0f08c26c2..d750e5854 100644 --- a/java/res/xml-fr/kbd_qwerty.xml +++ b/java/res/xml-fr/kbd_qwerty.xml @@ -170,7 +170,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left" android:isModifier="true"/> + android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p" android:isModifier="true"/> @@ -179,10 +179,10 @@ android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p" android:isModifier="true"/> + android:keyWidth="10%p" android:isModifier="true"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" diff --git a/java/res/xml-fr/kbd_qwerty_black.xml b/java/res/xml-fr/kbd_qwerty_black.xml index 6d3aeb829..c49d98212 100644 --- a/java/res/xml-fr/kbd_qwerty_black.xml +++ b/java/res/xml-fr/kbd_qwerty_black.xml @@ -170,7 +170,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left"/> + android:keyWidth="15%p" android:keyEdgeFlags="left"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p"/> @@ -179,10 +179,10 @@ android:keyWidth="10%p"/> <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true"/> + android:keyWidth="30%p" android:isRepeatable="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p"/> + android:keyWidth="10%p"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p"/> <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" diff --git a/java/res/xml-iw/kbd_qwerty.xml b/java/res/xml-iw/kbd_qwerty.xml index 208ba92b4..c427a0547 100755 --- a/java/res/xml-iw/kbd_qwerty.xml +++ b/java/res/xml-iw/kbd_qwerty.xml @@ -142,7 +142,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left" android:isModifier="true"/> + android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p" android:isModifier="true"/> @@ -151,10 +151,10 @@ android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p" android:isModifier="true"/> + android:keyWidth="10%p" android:isModifier="true"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" diff --git a/java/res/xml-iw/kbd_qwerty_black.xml b/java/res/xml-iw/kbd_qwerty_black.xml index 981ad37c3..8b64c82ad 100755 --- a/java/res/xml-iw/kbd_qwerty_black.xml +++ b/java/res/xml-iw/kbd_qwerty_black.xml @@ -142,7 +142,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left"/> + android:keyWidth="15%p" android:keyEdgeFlags="left"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p"/> @@ -151,10 +151,10 @@ android:keyWidth="10%p"/> <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true"/> + android:keyWidth="30%p" android:isRepeatable="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p"/> + android:keyWidth="10%p"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p"/> <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" diff --git a/java/res/xml-nb/kbd_qwerty.xml b/java/res/xml-nb/kbd_qwerty.xml index d033bb02c..952759b59 100644 --- a/java/res/xml-nb/kbd_qwerty.xml +++ b/java/res/xml-nb/kbd_qwerty.xml @@ -186,7 +186,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left" android:isModifier="true"/> + android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p" android:isModifier="true"/> @@ -195,10 +195,10 @@ android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p" android:isModifier="true"/> + android:keyWidth="10%p" android:isModifier="true"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" diff --git a/java/res/xml-nb/kbd_qwerty_black.xml b/java/res/xml-nb/kbd_qwerty_black.xml index 14456e6b6..e87452165 100644 --- a/java/res/xml-nb/kbd_qwerty_black.xml +++ b/java/res/xml-nb/kbd_qwerty_black.xml @@ -186,7 +186,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left"/> + android:keyWidth="15%p" android:keyEdgeFlags="left"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p"/> @@ -195,10 +195,10 @@ android:keyWidth="10%p"/> <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true"/> + android:keyWidth="30%p" android:isRepeatable="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p"/> + android:keyWidth="10%p"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p"/> <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" diff --git a/java/res/xml-ru/kbd_qwerty.xml b/java/res/xml-ru/kbd_qwerty.xml index e512c0b84..320ee50a7 100755 --- a/java/res/xml-ru/kbd_qwerty.xml +++ b/java/res/xml-ru/kbd_qwerty.xml @@ -154,7 +154,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left" android:isModifier="true"/> + android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p" android:isModifier="true"/> @@ -163,10 +163,10 @@ android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p" android:isModifier="true"/> + android:keyWidth="10%p" android:isModifier="true"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" diff --git a/java/res/xml-ru/kbd_qwerty_black.xml b/java/res/xml-ru/kbd_qwerty_black.xml index 00c399273..241c8524e 100755 --- a/java/res/xml-ru/kbd_qwerty_black.xml +++ b/java/res/xml-ru/kbd_qwerty_black.xml @@ -154,7 +154,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left"/> + android:keyWidth="15%p" android:keyEdgeFlags="left"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p"/> @@ -163,10 +163,10 @@ android:keyWidth="10%p"/> <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true"/> + android:keyWidth="30%p" android:isRepeatable="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p"/> + android:keyWidth="10%p"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p"/> <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" diff --git a/java/res/xml-sr/kbd_qwerty.xml b/java/res/xml-sr/kbd_qwerty.xml index cab846004..96f015f4e 100644 --- a/java/res/xml-sr/kbd_qwerty.xml +++ b/java/res/xml-sr/kbd_qwerty.xml @@ -150,7 +150,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left" android:isModifier="true"/> + android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p" android:isModifier="true"/> @@ -159,10 +159,10 @@ android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p" android:isModifier="true"/> + android:keyWidth="10%p" android:isModifier="true"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" diff --git a/java/res/xml-sr/kbd_qwerty_black.xml b/java/res/xml-sr/kbd_qwerty_black.xml index 00a289449..c61e0ce2a 100644 --- a/java/res/xml-sr/kbd_qwerty_black.xml +++ b/java/res/xml-sr/kbd_qwerty_black.xml @@ -150,7 +150,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left"/> + android:keyWidth="15%p" android:keyEdgeFlags="left"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p"/> @@ -159,10 +159,10 @@ android:keyWidth="10%p"/> <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true"/> + android:keyWidth="30%p" android:isRepeatable="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p"/> + android:keyWidth="10%p"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p"/> <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" diff --git a/java/res/xml-sv/kbd_qwerty.xml b/java/res/xml-sv/kbd_qwerty.xml index 514a44154..6b70542d3 100644 --- a/java/res/xml-sv/kbd_qwerty.xml +++ b/java/res/xml-sv/kbd_qwerty.xml @@ -190,7 +190,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left" android:isModifier="true"/> + android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p" android:isModifier="true"/> @@ -199,10 +199,10 @@ android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p" android:isModifier="true"/> + android:keyWidth="10%p" android:isModifier="true"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" diff --git a/java/res/xml-sv/kbd_qwerty_black.xml b/java/res/xml-sv/kbd_qwerty_black.xml index 4cc37cec8..dccc63a65 100644 --- a/java/res/xml-sv/kbd_qwerty_black.xml +++ b/java/res/xml-sv/kbd_qwerty_black.xml @@ -190,7 +190,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left"/> + android:keyWidth="15%p" android:keyEdgeFlags="left"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p"/> @@ -199,10 +199,10 @@ android:keyWidth="10%p"/> <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true"/> + android:keyWidth="30%p" android:isRepeatable="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p"/> + android:keyWidth="10%p"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p"/> <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" diff --git a/java/res/xml/kbd_qwerty.xml b/java/res/xml/kbd_qwerty.xml index 0aeaf6cc7..6884502f7 100755 --- a/java/res/xml/kbd_qwerty.xml +++ b/java/res/xml/kbd_qwerty.xml @@ -196,7 +196,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left" android:isModifier="true"/> + android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p" android:isModifier="true"/> @@ -205,10 +205,10 @@ android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p" android:isModifier="true"/> + android:keyWidth="10%p" android:isModifier="true"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p" android:isModifier="true"/> <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" diff --git a/java/res/xml/kbd_qwerty_black.xml b/java/res/xml/kbd_qwerty_black.xml index 8b68d7500..06bc102bb 100755 --- a/java/res/xml/kbd_qwerty_black.xml +++ b/java/res/xml/kbd_qwerty_black.xml @@ -193,7 +193,7 @@ <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="10%p" android:keyEdgeFlags="left"/> + android:keyWidth="15%p" android:keyEdgeFlags="left"/> <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" android:iconPreview="@drawable/sym_keyboard_feedback_settings" android:keyWidth="10%p"/> @@ -202,10 +202,10 @@ android:keyWidth="10%p"/> <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="20%p" android:isRepeatable="true"/> + android:keyWidth="30%p" android:isRepeatable="true"/> <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="15%p"/> + android:keyWidth="10%p"/> <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="10%p"/> <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" diff --git a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java index 2919e9b56..3fb74b238 100644 --- a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java @@ -365,6 +365,10 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha } } + public boolean hasDistinctMultitouch() { + return mInputView != null && mInputView.hasDistinctMultitouch(); + } + /** * Updates state machine to figure out when to automatically switch back to alpha mode. * Returns true if the keyboard needs to switch back diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index ea8c93934..2cff232a6 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1135,7 +1135,9 @@ public class LatinIME extends InputMethodService LatinImeLogger.logOnDelete(); break; case Keyboard.KEYCODE_SHIFT: - // Shift key is handled in onPress(). + // Shift key is handled in onPress() when device has distinct multi-touch panel. + if (!mKeyboardSwitcher.hasDistinctMultitouch()) + handleShift(); break; case Keyboard.KEYCODE_CANCEL: if (!isShowingOptionDialog()) { @@ -1935,7 +1937,7 @@ public class LatinIME extends InputMethodService List<CharSequence> suggestions = mWordToSuggestions.get(selectedWord); // If the first letter of touching is capitalized, make all the suggestions // start with a capital letter. - if (Character.isUpperCase((char) touching.word.charAt(0))) { + if (Character.isUpperCase(touching.word.charAt(0))) { for (int i = 0; i < suggestions.size(); i++) { String origSugg = (String) suggestions.get(i); String capsSugg = origSugg.toUpperCase().charAt(0) @@ -2196,7 +2198,7 @@ public class LatinIME extends InputMethodService public void onPress(int primaryCode) { vibrate(); playKeyClick(primaryCode); - if (primaryCode == Keyboard.KEYCODE_SHIFT) { + if (mKeyboardSwitcher.hasDistinctMultitouch() && primaryCode == Keyboard.KEYCODE_SHIFT) { mShiftKeyState.onPress(); handleShift(); } else if (primaryCode == Keyboard.KEYCODE_MODE_CHANGE) { @@ -2210,7 +2212,7 @@ public class LatinIME extends InputMethodService // Reset any drag flags in the keyboard ((LatinKeyboard) mKeyboardSwitcher.getInputView().getKeyboard()).keyReleased(); //vibrate(); - if (primaryCode == Keyboard.KEYCODE_SHIFT) { + if (mKeyboardSwitcher.hasDistinctMultitouch() && primaryCode == Keyboard.KEYCODE_SHIFT) { if (mShiftKeyState.isMomentary()) resetShift(); mShiftKeyState.onRelease(); diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java index c449b36e7..51bdc2c0c 100644 --- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java +++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java @@ -17,6 +17,7 @@ package com.android.inputmethod.latin; import android.content.Context; +import android.content.pm.PackageManager; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Bitmap; @@ -204,6 +205,8 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx private final ArrayList<PointerTracker> mPointerTrackers = new ArrayList<PointerTracker>(); private final PointerQueue mPointerQueue = new PointerQueue(); private final float mDebounceHysteresis; + private final boolean mHasDistinctMultitouch; + private int mOldPointerCount = 1; protected KeyDetector mKeyDetector = new ProximityKeyDetector(); @@ -508,6 +511,9 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx final boolean ignoreMultitouch = true; mGestureDetector = new GestureDetector(getContext(), listener, null, ignoreMultitouch); mGestureDetector.setIsLongpressEnabled(false); + + mHasDistinctMultitouch = context.getPackageManager() + .hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT); } public void setOnKeyboardActionListener(OnKeyboardActionListener listener) { @@ -564,6 +570,14 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx } /** + * Return whether the device has distinct multi-touch panel. + * @return true if the device has distinct multi-touch panel. + */ + public boolean hasDistinctMultitouch() { + return mHasDistinctMultitouch; + } + + /** * Sets the state of the shift key of the keyboard, if any. * @param shifted whether or not to enable the state of the shift key * @return true if the shift key state changed, false if there was no change @@ -1090,7 +1104,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx // Create pointer trackers until we can get 'id+1'-th tracker, if needed. for (int i = pointers.size(); i <= id; i++) { final PointerTracker tracker = - new PointerTracker(i, mHandler, mKeyDetector, this); + new PointerTracker(i, mHandler, mKeyDetector, this, mHasDistinctMultitouch); if (keys != null) tracker.setKeyboard(keys, mDebounceHysteresis); if (listener != null) @@ -1107,6 +1121,13 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx final int action = me.getActionMasked(); final long eventTime = me.getEventTime(); + // TODO: cleanup this code into a multi-touch to single-touch event converter class? + // If the device does not have distinct multi-touch support panel, ignore all multi-touch + // events except a transition from/to single-touch. + if (!mHasDistinctMultitouch && pointerCount > 1 && mOldPointerCount > 1) { + return true; + } + // Track the last few movements to look for spurious swipes. mSwipeTracker.addMovement(me); @@ -1138,6 +1159,34 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx // Up event will pass through. } + // TODO: cleanup this code into a multi-touch to single-touch event converter class? + // Translate mutli-touch event to single-touch events on the device that has no distinct + // multi-touch panel. + if (!mHasDistinctMultitouch) { + // Use only main (id=0) pointer tracker. + PointerTracker tracker = getPointerTracker(0); + int index = me.getActionIndex(); + int x = (int)me.getX(index); + int y = (int)me.getY(index); + int oldPointerCount = mOldPointerCount; + if (pointerCount == 1 && oldPointerCount == 2) { + // Multi-touch to single touch transition. + // Send a down event for the latest pointer. + tracker.onDownEvent(x, y, eventTime); + } else if (pointerCount == 2 && oldPointerCount == 1) { + // Single-touch to multi-touch transition. + // Send an up event for the last pointer. + tracker.onUpEvent(tracker.getLastX(), tracker.getLastY(), eventTime); + } else if (pointerCount == 1 && oldPointerCount == 1) { + tracker.onTouchEvent(action, x, y, eventTime); + } else { + Log.w(TAG, "Unknown touch panel behavior: pointer count is " + pointerCount + + " (old " + oldPointerCount + ")"); + } + mOldPointerCount = pointerCount; + return true; + } + if (action == MotionEvent.ACTION_MOVE) { for (int index = 0; index < pointerCount; index++) { int x = (int)me.getX(index); diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java index 2685e87c6..1f6005621 100644 --- a/java/src/com/android/inputmethod/latin/PointerTracker.java +++ b/java/src/com/android/inputmethod/latin/PointerTracker.java @@ -22,12 +22,13 @@ import com.android.inputmethod.latin.LatinKeyboardBaseView.UIHandler; import android.inputmethodservice.Keyboard; import android.inputmethodservice.Keyboard.Key; import android.util.Log; +import android.view.MotionEvent; import android.view.ViewConfiguration; public class PointerTracker { private static final String TAG = "PointerTracker"; private static final boolean DEBUG = false; - private static final boolean DEBUG_MOVE = DEBUG && true; + private static final boolean DEBUG_MOVE = false; public interface UIProxy { public void invalidateKey(Key key); @@ -51,6 +52,7 @@ public class PointerTracker { private final UIHandler mHandler; private final KeyDetector mKeyDetector; private OnKeyboardActionListener mListener; + private final boolean mHasDistinctMultitouch; private Key[] mKeys; private int mKeyDebounceThresholdSquared = -1; @@ -85,13 +87,15 @@ public class PointerTracker { // pressed key private int mPreviousKey = NOT_A_KEY; - public PointerTracker(int id, UIHandler handler, KeyDetector keyDetector, UIProxy proxy) { + public PointerTracker(int id, UIHandler handler, KeyDetector keyDetector, UIProxy proxy, + boolean hasDistinctMultitouch) { if (proxy == null || handler == null || keyDetector == null) throw new NullPointerException(); mPointerId = id; mProxy = proxy; mHandler = handler; mKeyDetector = keyDetector; + mHasDistinctMultitouch = hasDistinctMultitouch; resetMultiTap(); } @@ -146,6 +150,25 @@ public class PointerTracker { mKeyAlreadyProcessed = true; } + public void onTouchEvent(int action, int x, int y, long eventTime) { + switch (action) { + case MotionEvent.ACTION_MOVE: + onMoveEvent(x, y, eventTime); + break; + case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_POINTER_DOWN: + onDownEvent(x, y, eventTime); + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_POINTER_UP: + onUpEvent(x, y, eventTime); + break; + case MotionEvent.ACTION_CANCEL: + onCancelEvent(x, y, eventTime); + break; + } + } + public void onDownEvent(int x, int y, long eventTime) { int keyIndex = mKeyDetector.getKeyIndexAndNearbyCodes(x, y, null); mCurrentKey = keyIndex; @@ -242,7 +265,7 @@ public class PointerTracker { showKeyPreviewAndUpdateKey(NOT_A_KEY); // If we're not on a repeating key (which sends on a DOWN event) if (!wasInKeyRepeat) { - detectAndSendKey(mCurrentKey, (int)x, (int)y, eventTime); + detectAndSendKey(mCurrentKey, x, y, eventTime); } if (isValidKeyIndex(keyIndex)) mProxy.invalidateKey(mKeys[keyIndex]); @@ -355,7 +378,10 @@ public class PointerTracker { private void showKeyPreviewAndUpdateKey(int keyIndex) { updateKey(keyIndex); - if (!isModifier()) + // The modifier key, such as shift key, should not be shown as preview when multi-touch is + // supported. On thge other hand, if multi-touch is not supported, the modifier key should + // be shown as preview. + if (!isModifier() || !mHasDistinctMultitouch) mProxy.showPreview(keyIndex, this); } |