Adaptive keyboard width/position parser
This change introduces the following features to Keyboard XML format.
* "keyXPos" can specify the key X coordinate directly.
* "keyXPos" can be negative. The X coordinate will be calcluated from
the right edge of the keyboard toward left.
* "keyWidth" can be zero to be filled up to the right side.
* "keyWidth can be negative. The key will be filled up to both sides.
* Spacer's horizontalGap is renamed as keyWidth, and can be inherited
from key-style.
* Spacer can have keyXPos attribute.
Using these syntax, all keyboard layouts have been re-written.
Cherry-Pick: I314b2e8ca2aa145ff9506cbf927140a15685af42
Bug: 4442045
Change-Id: I048fe5eaef020d8472ab577e9d326042bae2f3fa
diff --git a/java/res/xml/kbd_ar_rows.xml b/java/res/xml/kbd_ar_rows.xml
index b2ea457..a548775 100644
--- a/java/res/xml/kbd_ar_rows.xml
+++ b/java/res/xml/kbd_ar_rows.xml
@@ -53,6 +53,7 @@
<Key
latin:keyLabel="ج"
latin:popupCharacters="چ"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -84,6 +85,7 @@
<Key
latin:keyLabel="ك"
latin:popupCharacters="گ"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -112,7 +114,8 @@
latin:keyLabel="ث" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="12%p"
+ latin:keyWidth="fillRight"
+ latin:visualInsetsLeft="1%p"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
diff --git a/java/res/xml/kbd_azerty_rows.xml b/java/res/xml/kbd_azerty_rows.xml
index 2f2b054..9c81aad 100644
--- a/java/res/xml/kbd_azerty_rows.xml
+++ b/java/res/xml/kbd_azerty_rows.xml
@@ -68,6 +68,7 @@
latin:keyLabel="p"
latin:keyHintIcon="@drawable/key_hint_num0"
latin:popupCharacters="@string/alternates_for_p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -100,6 +101,7 @@
latin:popupCharacters="@string/alternates_for_l" />
<Key
latin:keyLabel="m"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -132,7 +134,7 @@
latin:popupCharacters="‘,’,‚,‛" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="fillRight"
latin:visualInsetsLeft="1%p"
latin:keyEdgeFlags="right" />
</Row>
diff --git a/java/res/xml/kbd_iw_rows.xml b/java/res/xml/kbd_iw_rows.xml
index fb0c2a9..af017ad 100644
--- a/java/res/xml/kbd_iw_rows.xml
+++ b/java/res/xml/kbd_iw_rows.xml
@@ -29,10 +29,9 @@
<Row
latin:rowEdgeFlags="top"
>
- <Spacer
- latin:horizontalGap="5%p" />
<Key
latin:keyLabel="ק"
+ latin:keyXPos="5%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ר" />
@@ -50,7 +49,7 @@
latin:keyLabel="פ" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="fillRight"
latin:visualInsetsLeft="1%p"
latin:keyEdgeFlags="right" />
</Row>
@@ -76,13 +75,13 @@
latin:keyLabel="ך" />
<Key
latin:keyLabel="ף"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Spacer
- latin:horizontalGap="5%p" />
<Key
latin:keyLabel="ז"
+ latin:keyXPos="5%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ס" />
@@ -101,6 +100,7 @@
<Key
latin:keyLabel="ץ"
latin:keyEdgeFlags="right" />
+ <!-- Here is 5%p space -->
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
</merge>
diff --git a/java/res/xml/kbd_key_styles.xml b/java/res/xml/kbd_key_styles.xml
index d4d25d4..f888b23 100644
--- a/java/res/xml/kbd_key_styles.xml
+++ b/java/res/xml/kbd_key_styles.xml
@@ -51,7 +51,7 @@
<key-style
latin:styleName="settingsPopupStyle"
latin:keyHintIcon="@drawable/hint_popup"
- latin:popupCharacters="\@drawable/sym_keyboard_settings|\@integer/key_settings"
+ latin:popupCharacters="\@drawable/sym_keyboard_settings_holo|\@integer/key_settings"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
@@ -101,20 +101,20 @@
<key-style
latin:styleName="settingsKeyStyle"
latin:code="@integer/key_settings"
- latin:keyIcon="@drawable/sym_keyboard_settings"
- latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
+ latin:keyIcon="@drawable/sym_keyboard_settings_holo"
+ latin:iconPreview="@drawable/sym_keyboard_settings_holo"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space"
latin:keyIcon="@drawable/sym_keyboard_space"
- latin:iconPreview="@drawable/sym_keyboard_feedback_space"
+ latin:iconPreview="@drawable/sym_keyboard_space"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="tabKeyStyle"
latin:code="@integer/key_tab"
latin:keyIcon="@drawable/sym_keyboard_tab"
- latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
+ latin:iconPreview="@drawable/sym_keyboard_tab"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="micKeyStyle"
@@ -128,7 +128,7 @@
latin:styleName="nonSpecialBackgroundTabKeyStyle"
latin:code="@integer/key_tab"
latin:keyIcon="@drawable/sym_keyboard_tab"
- latin:iconPreview="@drawable/sym_keyboard_feedback_tab" />
+ latin:iconPreview="@drawable/sym_keyboard_tab" />
</case>
<case
latin:colorScheme="black"
@@ -277,7 +277,7 @@
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyIcon="@drawable/sym_keyboard_return"
- latin:iconPreview="@drawable/sym_keyboard_feedback_return"
+ latin:iconPreview="@drawable/sym_keyboard_return"
latin:parentStyle="functionalKeyStyle" />
</case>
<case
diff --git a/java/res/xml/kbd_number.xml b/java/res/xml/kbd_number.xml
index c5e9d77..23b88a5 100644
--- a/java/res/xml/kbd_number.xml
+++ b/java/res/xml/kbd_number.xml
@@ -68,21 +68,19 @@
latin:keyStyle="num9KeyStyle" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:rowEdgeFlags="bottom"
>
- <Spacer
- latin:horizontalGap="26.67%p" />
+ <Spacer />
<Key
latin:keyStyle="num0KeyStyle" />
- <Spacer
- latin:horizontalGap="26.67%p" />
+ <Spacer />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
</case>
@@ -101,7 +99,7 @@
<Key
latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -115,7 +113,7 @@
<Key
latin:keyLabel=","
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -128,7 +126,7 @@
latin:keyLabel="9" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -143,7 +141,7 @@
latin:keyLabel="." />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
</default>
diff --git a/java/res/xml/kbd_phone.xml b/java/res/xml/kbd_phone.xml
index ca591c7..e1d1ee8 100644
--- a/java/res/xml/kbd_phone.xml
+++ b/java/res/xml/kbd_phone.xml
@@ -47,7 +47,7 @@
<Key
latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -61,7 +61,7 @@
<Key
latin:keyLabel="."
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -74,7 +74,7 @@
latin:keyStyle="num9KeyStyle" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -89,7 +89,7 @@
latin:keyStyle="numSpaceKeyStyle" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
</Keyboard>
diff --git a/java/res/xml/kbd_phone_symbols.xml b/java/res/xml/kbd_phone_symbols.xml
index 99db23e..2af218c 100644
--- a/java/res/xml/kbd_phone_symbols.xml
+++ b/java/res/xml/kbd_phone_symbols.xml
@@ -47,7 +47,7 @@
<Key
latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -64,7 +64,7 @@
<Key
latin:keyLabel="."
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -79,7 +79,7 @@
latin:keyStyle="numPoundKeyStyle" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -95,7 +95,7 @@
latin:keyStyle="numSpaceKeyStyle" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
</Keyboard>
diff --git a/java/res/xml/kbd_qwerty_row1.xml b/java/res/xml/kbd_qwerty_row1.xml
index 3964d3c..ba804d3 100644
--- a/java/res/xml/kbd_qwerty_row1.xml
+++ b/java/res/xml/kbd_qwerty_row1.xml
@@ -66,6 +66,7 @@
latin:keyLabel="p"
latin:keyHintIcon="@drawable/key_hint_num0"
latin:popupCharacters="@string/alternates_for_p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml/kbd_qwerty_row2.xml b/java/res/xml/kbd_qwerty_row2.xml
index 9ed4553..57bbad7 100644
--- a/java/res/xml/kbd_qwerty_row2.xml
+++ b/java/res/xml/kbd_qwerty_row2.xml
@@ -24,11 +24,10 @@
<Row
latin:keyWidth="10%p"
>
- <Spacer
- latin:horizontalGap="5%p" />
<Key
latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a"
+ latin:keyXPos="5%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
@@ -52,5 +51,6 @@
latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l"
latin:keyEdgeFlags="right" />
+ <!-- Here is 5%p space -->
</Row>
</merge>
diff --git a/java/res/xml/kbd_qwerty_row3.xml b/java/res/xml/kbd_qwerty_row3.xml
index 3d106e6..98f0404 100644
--- a/java/res/xml/kbd_qwerty_row3.xml
+++ b/java/res/xml/kbd_qwerty_row3.xml
@@ -49,7 +49,7 @@
latin:keyLabel="m" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="fillBoth"
latin:visualInsetsLeft="1%p"
latin:keyEdgeFlags="right" />
</Row>
diff --git a/java/res/xml/kbd_qwerty_row4.xml b/java/res/xml/kbd_qwerty_row4.xml
index a8d150e..21d80eb 100644
--- a/java/res/xml/kbd_qwerty_row4.xml
+++ b/java/res/xml/kbd_qwerty_row4.xml
@@ -27,54 +27,6 @@
>
<switch>
<case
- latin:hasSettingsKey="false"
- >
- <Key
- latin:keyStyle="toSymbolKeyStyle"
- latin:keyWidth="20%p"
- latin:keyEdgeFlags="left" />
- <include
- latin:keyboardLayout="@xml/kbd_qwerty_f1" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="40%p" />
- <switch>
- <case
- latin:webInput="true"
- >
- <Key
- latin:keyHintIcon="@drawable/hint_popup"
- latin:popupCharacters="@string/alternates_for_web_tab_punctuation"
- latin:maxPopupKeyboardColumn="8"
- latin:keyStyle="tabKeyStyle" />
- </case>
- <default>
- <Key
- latin:keyLabel="."
- latin:keyHintIcon="@drawable/hint_popup"
- latin:popupCharacters="@string/alternates_for_punctuation"
- latin:maxPopupKeyboardColumn="7"
- latin:keyStyle="functionalKeyStyle" />
- </default>
- </switch>
- <switch>
- <case
- latin:mode="im"
- >
- <Key
- latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="20%p"
- latin:keyEdgeFlags="right" />
- </case>
- <default>
- <Key
- latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
- latin:keyEdgeFlags="right" />
- </default>
- </switch>
- </case>
- <case
latin:hasSettingsKey="true"
>
<Key
@@ -88,42 +40,54 @@
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="30%p" />
- <switch>
- <case
- latin:webInput="true"
- >
- <Key
- latin:keyHintIcon="@drawable/hint_popup"
- latin:popupCharacters="@string/alternates_for_web_tab_punctuation"
- latin:maxPopupKeyboardColumn="8"
- latin:keyStyle="tabKeyStyle" />
- </case>
- <default>
- <Key
- latin:keyLabel="."
- latin:keyHintIcon="@drawable/hint_popup"
- latin:popupCharacters="@string/alternates_for_punctuation"
- latin:maxPopupKeyboardColumn="7"
- latin:keyStyle="functionalKeyStyle" />
- </default>
- </switch>
- <switch>
- <case
- latin:mode="im"
- >
- <Key
- latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="25%p"
- latin:keyEdgeFlags="right" />
- </case>
- <default>
- <Key
- latin:keyStyle="returnKeyStyle"
- latin:keyWidth="25%p"
- latin:keyEdgeFlags="right" />
- </default>
- </switch>
</case>
+ <!-- latin:hasSettingsKey="false" -->
+ <default>
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyWidth="20%p"
+ latin:keyEdgeFlags="left" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_f1" />
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="40%p" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:webInput="true"
+ >
+ <Key
+ latin:keyHintIcon="@drawable/hint_popup"
+ latin:popupCharacters="@string/alternates_for_web_tab_punctuation"
+ latin:maxPopupKeyboardColumn="8"
+ latin:keyStyle="tabKeyStyle" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="."
+ latin:keyHintIcon="@drawable/hint_popup"
+ latin:popupCharacters="@string/alternates_for_punctuation"
+ latin:maxPopupKeyboardColumn="7"
+ latin:keyStyle="functionalKeyStyle" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:mode="im"
+ >
+ <Key
+ latin:keyStyle="smileyKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:keyEdgeFlags="right" />
+ </case>
+ <default>
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:keyEdgeFlags="right" />
+ </default>
</switch>
</Row>
</merge>
diff --git a/java/res/xml/kbd_qwerty_rows_scandinavia.xml b/java/res/xml/kbd_qwerty_rows_scandinavia.xml
index 06bb286..8cb0640 100644
--- a/java/res/xml/kbd_qwerty_rows_scandinavia.xml
+++ b/java/res/xml/kbd_qwerty_rows_scandinavia.xml
@@ -71,7 +71,7 @@
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyLabel="å"
- latin:keyWidth="8.75%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -109,7 +109,7 @@
<Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_11"
- latin:keyWidth="8.75%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml/kbd_qwertz_rows.xml b/java/res/xml/kbd_qwertz_rows.xml
index 7e8f90e..603cf35 100644
--- a/java/res/xml/kbd_qwertz_rows.xml
+++ b/java/res/xml/kbd_qwertz_rows.xml
@@ -68,6 +68,7 @@
latin:keyLabel="p"
latin:keyHintIcon="@drawable/key_hint_num0"
latin:popupCharacters="@string/alternates_for_p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<include
@@ -100,7 +101,7 @@
latin:keyLabel="m" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="fillRight"
latin:visualInsetsLeft="1%p"
latin:keyEdgeFlags="right" />
</Row>
diff --git a/java/res/xml/kbd_ru_rows.xml b/java/res/xml/kbd_ru_rows.xml
index b992599..76250a3 100644
--- a/java/res/xml/kbd_ru_rows.xml
+++ b/java/res/xml/kbd_ru_rows.xml
@@ -71,7 +71,7 @@
latin:popupCharacters="0" />
<Key
latin:keyLabel="х"
- latin:keyWidth="8.75%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -101,7 +101,7 @@
latin:keyLabel="ж" />
<Key
latin:keyLabel="э"
- latin:keyWidth="8.75%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -132,7 +132,7 @@
latin:keyLabel="ю" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="11.75%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml/kbd_sr_rows.xml b/java/res/xml/kbd_sr_rows.xml
index 0aa17d5..139af80 100644
--- a/java/res/xml/kbd_sr_rows.xml
+++ b/java/res/xml/kbd_sr_rows.xml
@@ -70,6 +70,7 @@
latin:popupCharacters="0" />
<Key
latin:keyLabel="ш"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -98,6 +99,7 @@
latin:keyLabel="ч" />
<Key
latin:keyLabel="ћ"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -126,7 +128,7 @@
latin:keyLabel="ж" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="11.00%p"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml/kbd_symbols.xml b/java/res/xml/kbd_symbols.xml
index 0a80689..a58a518 100644
--- a/java/res/xml/kbd_symbols.xml
+++ b/java/res/xml/kbd_symbols.xml
@@ -65,6 +65,7 @@
<Key
latin:keyLabel="0"
latin:popupCharacters="ⁿ,∅"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -95,6 +96,7 @@
<Key
latin:keyLabel=")"
latin:popupCharacters="],},>"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -126,7 +128,7 @@
latin:popupCharacters="¿" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="fillRight"
latin:visualInsetsLeft="1%p"
latin:keyEdgeFlags="right" />
</Row>
diff --git a/java/res/xml/kbd_symbols_row4.xml b/java/res/xml/kbd_symbols_row4.xml
index b330095..e701b9c 100644
--- a/java/res/xml/kbd_symbols_row4.xml
+++ b/java/res/xml/kbd_symbols_row4.xml
@@ -22,45 +22,11 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<Row
+ latin:keyWidth="10%p"
latin:rowEdgeFlags="bottom"
>
<switch>
<case
- latin:hasSettingsKey="false"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyWidth="20%p"
- latin:keyEdgeFlags="left" />
- <include
- latin:keyboardLayout="@xml/kbd_symbols_f1" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="40%p" />
- <Key
- latin:keyLabel="."
- latin:keyHintIcon="@drawable/hint_popup"
- latin:popupCharacters="@string/alternates_for_punctuation"
- latin:maxPopupKeyboardColumn="7"
- latin:keyStyle="functionalKeyStyle" />
- <switch>
- <case
- latin:mode="im"
- >
- <Key
- latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="20%p"
- latin:keyEdgeFlags="right" />
- </case>
- <default>
- <Key
- latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
- latin:keyEdgeFlags="right" />
- </default>
- </switch>
- </case>
- <case
latin:hasSettingsKey="true"
>
<Key
@@ -70,33 +36,58 @@
<Key
latin:keyStyle="settingsKeyStyle" />
<include
- latin:keyboardLayout="@xml/kbd_symbols_f1" />
+ latin:keyboardLayout="@xml/kbd_qwerty_f1" />
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="30%p" />
+ </case>
+ <!-- latin:hasSettingsKey="false" -->
+ <default>
+ <Key
+ latin:keyStyle="toAlphaKeyStyle"
+ latin:keyWidth="20%p"
+ latin:keyEdgeFlags="left" />
+ <include
+ latin:keyboardLayout="@xml/kbd_symbols_f1" />
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="40%p" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:webInput="true"
+ >
+ <Key
+ latin:keyHintIcon="@drawable/hint_popup"
+ latin:popupCharacters="@string/alternates_for_web_tab_punctuation"
+ latin:maxPopupKeyboardColumn="8"
+ latin:keyStyle="tabKeyStyle" />
+ </case>
+ <default>
<Key
latin:keyLabel="."
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_punctuation"
latin:maxPopupKeyboardColumn="7"
latin:keyStyle="functionalKeyStyle" />
- <switch>
- <case
- latin:mode="im"
- >
- <Key
- latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="25%p"
- latin:keyEdgeFlags="right" />
- </case>
- <default>
- <Key
- latin:keyStyle="returnKeyStyle"
- latin:keyWidth="25%p"
- latin:keyEdgeFlags="right" />
- </default>
- </switch>
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:mode="im"
+ >
+ <Key
+ latin:keyStyle="smileyKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:keyEdgeFlags="right" />
</case>
+ <default>
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:keyEdgeFlags="right" />
+ </default>
</switch>
</Row>
</merge>
diff --git a/java/res/xml/kbd_symbols_shift.xml b/java/res/xml/kbd_symbols_shift.xml
index cde0733..96e741b 100644
--- a/java/res/xml/kbd_symbols_shift.xml
+++ b/java/res/xml/kbd_symbols_shift.xml
@@ -63,6 +63,7 @@
latin:keyLabel="{" />
<Key
latin:keyLabel="}"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -94,6 +95,7 @@
latin:keyLabel="[" />
<Key
latin:keyLabel="]"
+ latin:keyWidth="fillRight"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -125,7 +127,7 @@
latin:popupCharacters="≥,»,›" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="fillRight"
latin:visualInsetsLeft="1%p"
latin:keyEdgeFlags="right" />
</Row>
diff --git a/java/res/xml/kbd_symbols_shift_row4.xml b/java/res/xml/kbd_symbols_shift_row4.xml
index 4f8567d..7376bab 100644
--- a/java/res/xml/kbd_symbols_shift_row4.xml
+++ b/java/res/xml/kbd_symbols_shift_row4.xml
@@ -22,44 +22,11 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<Row
+ latin:keyWidth="10%p"
latin:rowEdgeFlags="bottom"
>
<switch>
<case
- latin:hasSettingsKey="false"
- >
- <Key
- latin:keyStyle="toAlphaKeyStyle"
- latin:keyWidth="20%p"
- latin:keyEdgeFlags="left" />
- <Key
- latin:keyLabel="„"
- latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛"
- latin:keyStyle="nonPasswordFunctionalKeyStyle" />
- <Key
- latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="40%p" />
- <Key
- latin:keyLabel="…"
- latin:keyStyle="nonPasswordFunctionalKeyStyle" />
- <switch>
- <case
- latin:mode="im"
- >
- <Key
- latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="20%p"
- latin:keyEdgeFlags="right" />
- </case>
- <default>
- <Key
- latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
- latin:keyEdgeFlags="right" />
- </default>
- </switch>
- </case>
- <case
latin:hasSettingsKey="true"
>
<Key
@@ -75,26 +42,50 @@
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="30%p" />
+ </case>
+ <!-- latin:hasSettingsKey="false" -->
+ <default>
+ <Key
+ latin:keyStyle="toAlphaKeyStyle"
+ latin:keyWidth="20%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="„"
+ latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛"
+ latin:keyStyle="nonPasswordFunctionalKeyStyle" />
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="40%p" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:webInput="true"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle" />
+ </case>
+ <default>
<Key
latin:keyLabel="…"
latin:keyStyle="nonPasswordFunctionalKeyStyle" />
- <switch>
- <case
- latin:mode="im"
- >
- <Key
- latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="25%p"
- latin:keyEdgeFlags="right" />
- </case>
- <default>
- <Key
- latin:keyStyle="returnKeyStyle"
- latin:keyWidth="25%p"
- latin:keyEdgeFlags="right" />
- </default>
- </switch>
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:mode="im"
+ >
+ <Key
+ latin:keyStyle="smileyKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:keyEdgeFlags="right" />
</case>
+ <default>
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:keyEdgeFlags="right" />
+ </default>
</switch>
</Row>
</merge>