diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index feb955e860829d43019d57708f2e3ff96306349f..7473b42ec0e81ee5e9045ded82a6eeffc88fb4f5 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -94,8 +94,16 @@ <!-- Minimum keyboard height represented in pixels, percentage of display height if fraction is positive, or percentage of display width if fraction is negative. --> <attr name="minKeyboardHeight" format="dimension|fraction" /> - <!-- Default width of a key, in pixels or percentage of display width. --> - <attr name="keyWidth" format="dimension|fraction" /> + <!-- Default width of a key, in pixels or percentage of display width. + If the value is zero, the actual key width will be determined to fill out the area up + to the right edge of the keyboard. + If the value is negative, the actual key width will be determined to fill out the + area between the nearest key on the left hand side and the right edge of the keyboard. + --> + <attr name="keyWidth" format="dimension|fraction|enum"> + <enum name="fillRight" value="0" /> + <enum name="fillBoth" value="-1" /> + </attr> <!-- Default height of a row (key height + vertical gap), in pixels or percentage of keyboard height. --> <attr name="rowHeight" format="dimension|fraction" /> @@ -161,6 +169,9 @@ <!-- Visual insets --> <attr name="visualInsetsLeft" format="dimension|fraction" /> <attr name="visualInsetsRight" format="dimension|fraction" /> + <!-- The X-coordinate of upper right corner of this key including horizontal gap. + If the value is negative, the origin is the right edge of the keyboard. --> + <attr name="keyXPos" format="dimension|fraction" /> </declare-styleable> <declare-styleable name="Keyboard_Row"> diff --git a/java/res/xml-sw768dp/kbd_ar_rows.xml b/java/res/xml-sw768dp/kbd_ar_rows.xml index e84aae6b5906c70dd83a011af3e049af9678f23d..daaa38e4d904a7106441972f12db19e05a144775 100644 --- a/java/res/xml-sw768dp/kbd_ar_rows.xml +++ b/java/res/xml-sw768dp/kbd_ar_rows.xml @@ -27,12 +27,12 @@ <include latin:keyboardLayout="@xml/kbd_key_styles" /> <Row - latin:keyWidth="7.49%p" + latin:keyWidth="7.579%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="ض" /> @@ -61,16 +61,17 @@ latin:popupCharacters="ج,Ú†" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="7.49%p" + latin:keyWidth="7.500%p" > <Key latin:keyStyle="toSymbolKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="9.219%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="Ø´" /> @@ -100,15 +101,19 @@ latin:keyLabel="Ø·" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="8.593%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="8.042%p" + latin:keyWidth="7.500%p" > <Key - latin:keyLabel="ئ" + latin:keyStyle="shiftKeyStyle" + latin:keyWidth="9.219%p" latin:keyEdgeFlags="left" /> + <Key + latin:keyLabel="ئ" /> <Key latin:keyLabel="Ø¡" /> <Key @@ -132,7 +137,8 @@ latin:keyLabel="د" /> <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="11.736%p" + latin:keyXPos="-13.750%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <include latin:keyboardLayout="@xml/kbd_qwerty_row4" /> diff --git a/java/res/xml-sw768dp/kbd_azerty_rows.xml b/java/res/xml-sw768dp/kbd_azerty_rows.xml index 564f7762901d9b002d2fab71408783534e16c2b0..5288ccf91d30242db296b8e40111cb2ba1f60237 100644 --- a/java/res/xml-sw768dp/kbd_azerty_rows.xml +++ b/java/res/xml-sw768dp/kbd_azerty_rows.xml @@ -24,12 +24,12 @@ <include latin:keyboardLayout="@xml/kbd_key_styles" /> <Row - latin:keyWidth="8.272%p" + latin:keyWidth="8.282%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="a" @@ -63,11 +63,12 @@ latin:popupCharacters="@string/alternates_for_p" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="8.157%p" + latin:keyWidth="8.125%p" > <Key latin:keyStyle="toSymbolKeyStyle" @@ -103,15 +104,16 @@ latin:keyEdgeFlags="right" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="8.593%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="8.042%p" + latin:keyWidth="8.047%p" > <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="15.192%p" + latin:keyWidth="13.829%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="w" @@ -161,7 +163,8 @@ </switch> <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="12.530%p" + latin:keyXPos="-13.750%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <include diff --git a/java/res/xml-sw768dp/kbd_iw_rows.xml b/java/res/xml-sw768dp/kbd_iw_rows.xml index a3a239dbf66f082cc4da668b8c0289ab01ff5d47..33263f576c716ea3adebd79dd14d78223253f14b 100644 --- a/java/res/xml-sw768dp/kbd_iw_rows.xml +++ b/java/res/xml-sw768dp/kbd_iw_rows.xml @@ -24,12 +24,12 @@ <include latin:keyboardLayout="@xml/kbd_key_styles" /> <Row - latin:keyWidth="8.272%p" + latin:keyWidth="8.282%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="," /> @@ -53,11 +53,12 @@ latin:keyLabel="פ" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="8.157%p" + latin:keyWidth="8.125%p" > <Key latin:keyStyle="toSymbolKeyStyle" @@ -89,15 +90,16 @@ latin:keyLabel="×£" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="8.593%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="8.042%p" + latin:keyWidth="8.047%p" > <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="15.192%p" + latin:keyWidth="13.829%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="×–" @@ -123,7 +125,8 @@ latin:popupCharacters="×¥,ץ׳" /> <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="12.530%p" + latin:keyXPos="-13.750%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <include latin:keyboardLayout="@xml/kbd_qwerty_row4" /> diff --git a/java/res/xml-sw768dp/kbd_number.xml b/java/res/xml-sw768dp/kbd_number.xml index 7cb77ea001b80571bdc572690d3c0bd648ef4e88..01c41a50c7202037a69d46950051891e13388a99 100644 --- a/java/res/xml-sw768dp/kbd_number.xml +++ b/java/res/xml-sw768dp/kbd_number.xml @@ -24,7 +24,7 @@ latin:maxKeyboardHeight="@fraction/maxKeyboardHeight" latin:minKeyboardHeight="@fraction/minKeyboardHeight" latin:rowHeight="25%p" - latin:keyWidth="11.949%p" + latin:keyWidth="11.954%p" latin:horizontalGap="@dimen/key_horizontal_gap" latin:verticalGap="@dimen/key_bottom_gap" latin:popupKeyboardTemplate="@xml/kbd_popup_template" @@ -40,42 +40,42 @@ > <!-- This row is intentionally not marked as a top row --> <Row> - <Spacer - latin:horizontalGap="32.076%p" /> <Key - latin:keyStyle="num1KeyStyle" /> + latin:keyStyle="tabKeyStyle" + latin:keyLabelOption="alignLeft" + latin:keyWidth="7.969%p" + latin:keyEdgeFlags="left" /> + <Key + latin:keyStyle="num1KeyStyle" + latin:keyXPos="32.076%p" /> <Key latin:keyStyle="num2KeyStyle" /> <Key latin:keyStyle="num3KeyStyle" /> - <Spacer - latin:horizontalGap="22.272%p" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.804%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillRight" latin:keyEdgeFlags="right" /> </Row> <Row> - <Spacer - latin:horizontalGap="32.076%p" /> <Key - latin:keyStyle="num4KeyStyle" /> + latin:keyStyle="num4KeyStyle" + latin:keyXPos="32.076%p" /> <Key latin:keyStyle="num5KeyStyle" /> <Key latin:keyStyle="num6KeyStyle" /> - <Spacer - latin:horizontalGap="17.371%p" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="14.706%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillRight" latin:keyEdgeFlags="right" /> </Row> <Row> - <Spacer - latin:horizontalGap="32.076%p" /> <Key - latin:keyStyle="num7KeyStyle" /> + latin:keyStyle="num7KeyStyle" + latin:keyXPos="32.076%p" /> <Key latin:keyStyle="num8KeyStyle" /> <Key @@ -87,7 +87,7 @@ <!-- This row is intentionally not marked as a bottom row --> <Row> <Spacer - latin:horizontalGap="44.026%p" /> + latin:keyXPos="32.076%p" /> <Key latin:keyStyle="num0KeyStyle" /> <!-- There is an empty area below the "Enter" key and right of the "#" key. To @@ -102,79 +102,72 @@ <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> - <Spacer - latin:horizontalGap="4.458%p" /> <Key latin:keyLabel="-" - latin:keyWidth="8.042%p" /> + latin:keyXPos="13.829%p" + latin:keyWidth="8.047%p" /> <Key latin:keyLabel="+" - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> <Key latin:keyLabel="." - latin:keyWidth="8.042%p" /> - <Spacer - latin:horizontalGap="4.458%p" /> + latin:keyWidth="8.047%p" /> <Key - latin:keyLabel="1" /> + latin:keyLabel="1" + latin:keyXPos="45.000%p" /> <Key latin:keyLabel="2" /> <Key latin:keyLabel="3" /> - <Spacer - latin:horizontalGap="9.360%p" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.804%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillRight" latin:keyEdgeFlags="right" /> </Row> <Row> - <Spacer - latin:horizontalGap="16.406%p" /> <Key latin:keyLabel="*" - latin:keyWidth="8.042%p" /> + latin:keyXPos="13.829%p" + latin:keyWidth="8.047%p" /> <Key latin:keyLabel="/" - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> <Key latin:keyLabel="," - latin:keyWidth="8.042%p" /> - <Spacer - latin:horizontalGap="4.458%p" /> + latin:keyWidth="8.047%p" /> <Key - latin:keyLabel="4" /> + latin:keyLabel="4" + latin:keyXPos="45.000%p" /> <Key latin:keyLabel="5" /> <Key latin:keyLabel="6" /> - <Spacer - latin:horizontalGap="4.458%p" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="14.706%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillRight" latin:keyEdgeFlags="right" /> </Row> <Row> <!-- There is an empty area below the "More" key and left of the "(" key. To ignore the touch event on the area, "(" is intentionally not marked as a left edge key. --> - <Spacer - latin:horizontalGap="16.406%p" /> <Key latin:keyLabel="(" - latin:keyWidth="8.042%p" /> + latin:keyXPos="13.829%p" + latin:keyWidth="8.047%p" /> <Key latin:keyLabel=")" - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> <Key latin:keyLabel="=" - latin:keyWidth="8.042%p" /> - <Spacer - latin:horizontalGap="4.458%p" /> + latin:keyWidth="8.047%p" /> <Key - latin:keyLabel="7" /> + latin:keyLabel="7" + latin:keyXPos="45.000%p" /> <Key latin:keyLabel="8" /> <Key @@ -185,29 +178,20 @@ </Row> <!-- This row is intentionally not marked as a bottom row --> <Row> - <!-- There is an empty area below the "More" key and left of the "space" key. To - ignore the touch event on the area, "space" is intentionally not marked as a - left edge key. --> - <Spacer - latin:horizontalGap="8.362%p" /> <switch> <case latin:hasSettingsKey="true"> <Key latin:keyStyle="settingsKeyStyle" - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> </case> - <default> - <Spacer - latin:horizontalGap="8.042%p" /> - </default> </switch> <Key latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle" - latin:keyWidth="24.127%p" /> - <Spacer - latin:horizontalGap="4.458%p" /> + latin:keyXPos="13.829%p" + latin:keyWidth="24.140%p" /> <Key - latin:keyLabel="*" /> + latin:keyLabel="*" + latin:keyXPos="45.000%p" /> <Key latin:keyLabel="0" /> <Key @@ -218,12 +202,10 @@ > <Key latin:keyStyle="micKeyStyle" - latin:keyWidth="8.042%p" /> + latin:keyXPos="-8.047%p" + latin:keyWidth="fillRight" /> </case> </switch> - <!-- There is an empty area below the "Enter" key and right of the "#" key. To - ignore the touch event on the area, "#" is intentionally not marked as a right - edge key. --> </Row> </default> </switch> diff --git a/java/res/xml-sw768dp/kbd_phone.xml b/java/res/xml-sw768dp/kbd_phone.xml index 60edcf2bdf82d00dd18f78c7ad6694106b49a5ad..583239afb0685878ff068e782b2bed385c9f7cf0 100644 --- a/java/res/xml-sw768dp/kbd_phone.xml +++ b/java/res/xml-sw768dp/kbd_phone.xml @@ -24,7 +24,7 @@ latin:maxKeyboardHeight="@fraction/maxKeyboardHeight" latin:minKeyboardHeight="@fraction/minKeyboardHeight" latin:rowHeight="25%p" - latin:keyWidth="11.949%p" + latin:keyWidth="11.954%p" latin:horizontalGap="@dimen/key_horizontal_gap" latin:verticalGap="@dimen/key_bottom_gap" latin:popupKeyboardTemplate="@xml/kbd_popup_template" @@ -39,115 +39,101 @@ <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <!-- To match one character label size with "Tab", I placed spaces around the char '-' and '+'. --> - <Spacer - latin:horizontalGap="8.470%p" /> <Key latin:code="45" latin:keyLabel=" - " - latin:keyWidth="8.042%p" /> + latin:keyXPos="20.400%p" + latin:keyWidth="8.047%p" /> <Key latin:code="43" latin:keyLabel=" + " - latin:keyWidth="8.042%p" /> - <Spacer - latin:horizontalGap="8.479%p" /> + latin:keyWidth="8.047%p" /> <Key - latin:keyStyle="num1KeyStyle" /> + latin:keyStyle="num1KeyStyle" + latin:keyXPos="45.000%p" /> <Key latin:keyStyle="num2KeyStyle" /> <Key latin:keyStyle="num3KeyStyle" /> - <Spacer - latin:horizontalGap="9.360%p" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.804%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillRight" latin:keyEdgeFlags="right" /> </Row> <Row> <Key latin:keyStyle="moreKeyStyle" + latin:keyWidth="11.172%p" latin:keyEdgeFlags="left" /> <!-- To match one character label size with "More", I placed spaces around the char ',' and '.'. --> - <Spacer - latin:horizontalGap="8.470%p" /> <Key latin:code="44" latin:keyLabel=" , " - latin:keyWidth="8.042%p" /> + latin:keyXPos="20.400%p" + latin:keyWidth="8.047%p" /> <Key latin:code="46" latin:keyLabel=" . " - latin:keyWidth="8.042%p" /> - <Spacer - latin:horizontalGap="8.479%p" /> + latin:keyWidth="8.047%p" /> <Key - latin:keyStyle="num4KeyStyle" /> + latin:keyStyle="num4KeyStyle" + latin:keyXPos="45.000%p" /> <Key latin:keyStyle="num5KeyStyle" /> <Key latin:keyStyle="num6KeyStyle" /> - <Spacer - latin:horizontalGap="4.458%p" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="14.706%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillRight" latin:keyEdgeFlags="right" /> </Row> <Row> <!-- To match one character label size with "More", I placed spaces around the char '(' and ')'. --> - <!-- There is an empty area bellow the "More" key and left of the "(" key. To ignore + <!-- There is an empty area below the "More" key and left of the "(" key. To ignore the touch event on the area, "(" is intentionally not marked as a left edge key. --> - <Spacer - latin:horizontalGap="20.427%p" /> <Key latin:code="40" latin:keyLabel=" ( " - latin:keyWidth="8.042%p" /> + latin:keyXPos="20.400%p" + latin:keyWidth="8.047%p" /> <Key latin:code="41" latin:keyLabel=" ) " - latin:keyWidth="8.042%p" /> - <Spacer - latin:horizontalGap="8.479%p" /> + latin:keyWidth="8.047%p" /> <Key - latin:keyStyle="num7KeyStyle" /> + latin:keyStyle="num7KeyStyle" + latin:keyXPos="45.000%p" /> <Key latin:keyStyle="num8KeyStyle" /> <Key latin:keyStyle="num9KeyStyle" /> - <!-- There is an empty area bellow the "Enter" key and right of the "9" key. To ignore + <!-- There is an empty area below the "Enter" key and right of the "9" key. To ignore the touch event on the area, "9" is intentionally not marked as a right edge key. --> </Row> <!-- This row is intentionally not marked as a bottom row --> <Row> - <!-- There is an empty area bellow the "More" key and left of the "space" key. To ignore - the touch event on the area, "space" is intentionally not marked as a left edge key. --> - <Spacer - latin:horizontalGap="12.340%p" /> <switch> <case latin:hasSettingsKey="true"> <Key latin:keyStyle="settingsKeyStyle" - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> </case> - <default> - <Spacer - latin:horizontalGap="8.042%p" /> - </default> </switch> <Key latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle" + latin:keyXPos="20.400%p" latin:keyWidth="16.084%p" /> - <Spacer - latin:horizontalGap="8.479%p" /> <Key - latin:keyStyle="numStarKeyStyle" /> + latin:keyStyle="numStarKeyStyle" + latin:keyXPos="45.000%p" /> <Key latin:keyStyle="num0KeyStyle" /> <Key @@ -158,10 +144,9 @@ > <Key latin:keyStyle="micKeyStyle" - latin:keyWidth="8.042%p" /> + latin:keyXPos="-8.047%p" + latin:keyWidth="fillRight" /> </case> </switch> - <!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore - the touch event on the area, "#" is intentionally not marked as a right edge key. --> </Row> </Keyboard> diff --git a/java/res/xml-sw768dp/kbd_phone_symbols.xml b/java/res/xml-sw768dp/kbd_phone_symbols.xml index c388a466722477a4d30c8e6435f1760801c5ece3..714e5e5f36e07d36eb8a346e609d09f848c6a9ad 100644 --- a/java/res/xml-sw768dp/kbd_phone_symbols.xml +++ b/java/res/xml-sw768dp/kbd_phone_symbols.xml @@ -24,7 +24,7 @@ latin:maxKeyboardHeight="@fraction/maxKeyboardHeight" latin:minKeyboardHeight="@fraction/minKeyboardHeight" latin:rowHeight="25%p" - latin:keyWidth="11.949%p" + latin:keyWidth="11.954%p" latin:horizontalGap="@dimen/key_horizontal_gap" latin:verticalGap="@dimen/key_bottom_gap" latin:popupKeyboardTemplate="@xml/kbd_popup_template" @@ -39,127 +39,113 @@ <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> - <Spacer - latin:horizontalGap="4.458%p" /> <Key latin:code="45" latin:keyLabel=" - " - latin:keyWidth="8.042%p" /> + latin:keyXPos="13.829%p" + latin:keyWidth="8.047%p" /> <Key latin:code="43" latin:keyLabel=" + " - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> <Key latin:code="44" latin:keyLabel="@string/label_pause_key" - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> <!-- To match one character label size with "Tab" and "Pause, I placed spaces around the char '-' and '+'. --> - <Spacer - latin:horizontalGap="4.458%p" /> <Key - latin:keyStyle="num1KeyStyle" /> + latin:keyStyle="num1KeyStyle" + latin:keyXPos="45.000%p" /> <Key latin:keyStyle="num2KeyStyle" /> <Key latin:keyStyle="num3KeyStyle" /> - <Spacer - latin:horizontalGap="9.360%p" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.804%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillRight" latin:keyEdgeFlags="right" /> </Row> <Row> <Key latin:keyStyle="moreKeyStyle" + latin:keyWidth="11.172%p" latin:keyEdgeFlags="left" /> - <Spacer - latin:horizontalGap="4.458%p" /> <Key latin:code="44" latin:keyLabel=" , " - latin:keyWidth="8.042%p" /> + latin:keyXPos="13.829%p" + latin:keyWidth="8.047%p" /> <Key latin:code="46" latin:keyLabel=" . " - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> <Key latin:code="59" latin:keyLabel="@string/label_wait_key" - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> <!-- To match one character label size with "More" and "Wait", I placed spaces around the char ',' and '.'. --> - <Spacer - latin:horizontalGap="4.458%p" /> <Key - latin:keyStyle="num4KeyStyle" /> + latin:keyStyle="num4KeyStyle" + latin:keyXPos="45.000%p" /> <Key latin:keyStyle="num5KeyStyle" /> <Key latin:keyStyle="num6KeyStyle" /> - <Spacer - latin:horizontalGap="4.458%p" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="14.706%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillRight" latin:keyEdgeFlags="right" /> </Row> <Row> <!-- To match one character label size with "More" and etc., I placed spaces around the char 'N', '(' and ')'. --> - <!-- There is an empty area bellow the "More" key and left of the "(" key. To ignore + <!-- There is an empty area below the "More" key and left of the "(" key. To ignore the touch event on the area, "(" is intentionally not marked as a left edge key. --> - <Spacer - latin:horizontalGap="16.406%p" /> <Key latin:code="40" latin:keyLabel=" ( " - latin:keyWidth="8.042%p" /> + latin:keyXPos="13.829%p" + latin:keyWidth="8.047%p" /> <Key latin:code="41" latin:keyLabel=" ) " - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> <Key latin:code="78" latin:keyLabel=" N " - latin:keyWidth="8.042%p" /> - <Spacer - latin:horizontalGap="4.458%p" /> + latin:keyWidth="8.047%p" /> <Key - latin:keyStyle="num7KeyStyle" /> + latin:keyStyle="num7KeyStyle" + latin:keyXPos="45.000%p" /> <Key latin:keyStyle="num8KeyStyle" /> <Key latin:keyStyle="num9KeyStyle" /> - <!-- There is an empty area bellow the "Enter" key and right of the "9" key. To ignore + <!-- There is an empty area below the "Enter" key and right of the "9" key. To ignore the touch event on the area, "9" is intentionally not marked as a right edge key. --> </Row> <!-- This row is intentionally not marked as a bottom row --> <Row> - <!-- There is an empty area bellow the "More" key and left of the "space" key. To ignore - the touch event on the area, "space" is intentionally not marked as a left edge key. --> - <Spacer - latin:horizontalGap="8.362%p" /> <switch> <case latin:hasSettingsKey="true"> <Key latin:keyStyle="settingsKeyStyle" - latin:keyWidth="8.042%p" /> + latin:keyWidth="8.047%p" /> </case> - <default> - <Spacer - latin:horizontalGap="8.042%p" /> - </default> </switch> <Key latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle" - latin:keyWidth="24.127%p" /> - <Spacer - latin:horizontalGap="4.458%p" /> + latin:keyXPos="13.829%p" + latin:keyWidth="24.140%p" /> <Key - latin:keyStyle="numStarKeyStyle" /> + latin:keyStyle="numStarKeyStyle" + latin:keyXPos="45.000%p" /> <Key latin:keyStyle="num0KeyStyle" /> <Key @@ -170,10 +156,9 @@ > <Key latin:keyStyle="micKeyStyle" - latin:keyWidth="8.042%p" /> + latin:keyXPos="-8.047%p" + latin:keyWidth="fillRight" /> </case> </switch> - <!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore - the touch event on the area, "#" is intentionally not marked as a right edge key. --> </Row> </Keyboard> diff --git a/java/res/xml-sw768dp/kbd_qwerty_row1.xml b/java/res/xml-sw768dp/kbd_qwerty_row1.xml index f5135591c3deb53b627f47243619b29ea309a8d6..3727cf34eacfafdf3ab068384e7a55363dc41da8 100644 --- a/java/res/xml-sw768dp/kbd_qwerty_row1.xml +++ b/java/res/xml-sw768dp/kbd_qwerty_row1.xml @@ -23,12 +23,12 @@ > <!-- This row is intentionally not marked as a top row --> <Row - latin:keyWidth="8.272%p" + latin:keyWidth="8.282%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="q" @@ -62,7 +62,8 @@ latin:popupCharacters="@string/alternates_for_p" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> </merge> diff --git a/java/res/xml-sw768dp/kbd_qwerty_row2.xml b/java/res/xml-sw768dp/kbd_qwerty_row2.xml index 02bd0a6c99289cd7c6e419691d94b4b62f6f7114..45af120e237b380621501d82c335f9bc56091e22 100644 --- a/java/res/xml-sw768dp/kbd_qwerty_row2.xml +++ b/java/res/xml-sw768dp/kbd_qwerty_row2.xml @@ -22,12 +22,12 @@ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > <Row - latin:keyWidth="8.157%p" + latin:keyWidth="8.125%p" > <Key latin:keyStyle="toSymbolKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="11.167%p" + latin:keyWidth="11.172%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="a" @@ -55,7 +55,8 @@ latin:popupCharacters="@string/alternates_for_l" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="15.750%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> </merge> diff --git a/java/res/xml-sw768dp/kbd_qwerty_row3.xml b/java/res/xml-sw768dp/kbd_qwerty_row3.xml index b7e9bcff9a41a820126d1b2597db2c80722a77ef..7d59dfb9eb8f5bbdfceea58b79610bb0e5dc6900 100644 --- a/java/res/xml-sw768dp/kbd_qwerty_row3.xml +++ b/java/res/xml-sw768dp/kbd_qwerty_row3.xml @@ -22,11 +22,11 @@ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > <Row - latin:keyWidth="8.042%p" + latin:keyWidth="8.047%p" > <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="15.192%p" + latin:keyWidth="13.829%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="z" @@ -72,7 +72,8 @@ </switch> <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="12.530%p" + latin:keyXPos="-13.750%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> </merge> diff --git a/java/res/xml-sw768dp/kbd_qwerty_row4.xml b/java/res/xml-sw768dp/kbd_qwerty_row4.xml index e5bc342ae8d02958dd44b2b9650169c06017211d..b24ea5e43015b23b726b530f8aafb0e47681b7c2 100644 --- a/java/res/xml-sw768dp/kbd_qwerty_row4.xml +++ b/java/res/xml-sw768dp/kbd_qwerty_row4.xml @@ -23,20 +23,18 @@ > <!-- This row is intentionally not marked as a bottom row --> <Row - latin:keyWidth="8.042%p" + latin:keyWidth="8.047%p" > - <Spacer - latin:horizontalGap="8.362%p" /> <switch> <case latin:hasSettingsKey="true"> <Key - latin:keyStyle="settingsKeyStyle" /> + latin:keyStyle="settingsKeyStyle" + latin:keyWidth="8.047%p" /> </case> - <default> - <Spacer - latin:horizontalGap="8.042%p" /> - </default> </switch> + <Spacer + latin:keyXPos="15.157%p" + latin:keyWidth="fillRight" /> <switch> <case latin:languageCode="ru" @@ -152,7 +150,8 @@ </switch> <Key latin:keyStyle="spaceKeyStyle" - latin:keyWidth="37.454%p" /> + latin:keyXPos="31.250%p" + latin:keyWidth="37.500%p" /> <switch> <case latin:languageCode="ru" @@ -251,7 +250,9 @@ latin:voiceKeyEnabled="true" > <Key - latin:keyStyle="micKeyStyle" /> + latin:keyStyle="micKeyStyle" + latin:keyXPos="-8.047%p" + latin:keyWidth="fillRight" /> </case> </switch> </Row> diff --git a/java/res/xml-sw768dp/kbd_qwerty_rows_scandinavia.xml b/java/res/xml-sw768dp/kbd_qwerty_rows_scandinavia.xml index fb2034fb75735743d98ee7e2297106ec8c1e772e..b8875282cef8536f113d9ad6df1a14c5a0356898 100644 --- a/java/res/xml-sw768dp/kbd_qwerty_rows_scandinavia.xml +++ b/java/res/xml-sw768dp/kbd_qwerty_rows_scandinavia.xml @@ -24,12 +24,12 @@ <include latin:keyboardLayout="@xml/kbd_key_styles" /> <Row - latin:keyWidth="7.520%p" + latin:keyWidth="7.579%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="q" @@ -65,16 +65,17 @@ latin:keyLabel="Ã¥" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="7.520%p" + latin:keyWidth="7.500%p" > <Key latin:keyStyle="toSymbolKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="a" @@ -108,7 +109,8 @@ latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <include diff --git a/java/res/xml-sw768dp/kbd_qwertz_rows.xml b/java/res/xml-sw768dp/kbd_qwertz_rows.xml index 3e99f05113f92e9233daf7cc70f51360fa53ac70..4e937acdaa4eadfec6b1df856d5c7282794bb2d1 100644 --- a/java/res/xml-sw768dp/kbd_qwertz_rows.xml +++ b/java/res/xml-sw768dp/kbd_qwertz_rows.xml @@ -24,12 +24,12 @@ <include latin:keyboardLayout="@xml/kbd_key_styles" /> <Row - latin:keyWidth="8.272%p" + latin:keyWidth="8.282%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="q" @@ -63,17 +63,18 @@ latin:popupCharacters="@string/alternates_for_p" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <include latin:keyboardLayout="@xml/kbd_qwerty_row2" /> <Row - latin:keyWidth="8.042%p" + latin:keyWidth="8.047%p" > <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="15.192%p" + latin:keyWidth="13.829%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="y" @@ -119,7 +120,8 @@ </switch> <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="12.530%p" + latin:keyXPos="-13.750%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <include diff --git a/java/res/xml-sw768dp/kbd_ru_rows.xml b/java/res/xml-sw768dp/kbd_ru_rows.xml index c5cd043712e0763b12997c44ced00cfb587ef683..3849141e45692497f4c00969191ae3a517660960 100644 --- a/java/res/xml-sw768dp/kbd_ru_rows.xml +++ b/java/res/xml-sw768dp/kbd_ru_rows.xml @@ -25,57 +25,49 @@ latin:keyboardLayout="@xml/kbd_key_styles" /> <!-- This row is intentionally not marked as a top row --> <Row - latin:keyWidth="7.520%p" + latin:keyWidth="7.579%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key - latin:keyLabel="й" - latin:popupCharacters="1" /> + latin:keyLabel="й" /> <Key - latin:keyLabel="ц" - latin:popupCharacters="2" /> + latin:keyLabel="ц" /> <Key - latin:keyLabel="у" - latin:popupCharacters="3" /> + latin:keyLabel="у" /> <Key - latin:keyLabel="к" - latin:popupCharacters="4" /> + latin:keyLabel="к" /> <Key latin:keyLabel="е" latin:popupCharacters="@string/alternates_for_cyrillic_e" /> <Key - latin:keyLabel="н" - latin:popupCharacters="6" /> + latin:keyLabel="н" /> <Key - latin:keyLabel="г" - latin:popupCharacters="7" /> + latin:keyLabel="г" /> <Key - latin:keyLabel="ш" - latin:popupCharacters="8" /> + latin:keyLabel="ш" /> <Key - latin:keyLabel="щ" - latin:popupCharacters="9" /> + latin:keyLabel="щ" /> <Key - latin:keyLabel="з" - latin:popupCharacters="0" /> + latin:keyLabel="з" /> <Key latin:keyLabel="Ñ…" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="7.520%p" + latin:keyWidth="7.500%p" > <Key latin:keyStyle="toSymbolKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="9.219%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="Ñ„" /> @@ -101,11 +93,12 @@ latin:keyLabel="Ñ" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="7.520%p" + latin:keyWidth="7.500%p" > <Key latin:keyStyle="shiftKeyStyle" @@ -138,7 +131,8 @@ latin:popupCharacters="," /> <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="12.400%p" + latin:keyXPos="-13.750%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <include diff --git a/java/res/xml-sw768dp/kbd_sr_rows.xml b/java/res/xml-sw768dp/kbd_sr_rows.xml index be00585051983b67c626515af2f66f0f2929d98a..fbf1e9b84269b6cd268be3229f8872591f6666d1 100644 --- a/java/res/xml-sw768dp/kbd_sr_rows.xml +++ b/java/res/xml-sw768dp/kbd_sr_rows.xml @@ -25,57 +25,48 @@ latin:keyboardLayout="@xml/kbd_key_styles" /> <!-- This row is intentionally not marked as a top row --> <Row - latin:keyWidth="7.520%p" + latin:keyWidth="7.579%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="8.640%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key - latin:keyLabel="Ñ™" - latin:popupCharacters="1" /> + latin:keyLabel="Ñ™" /> <Key - latin:keyLabel="Ñš" - latin:popupCharacters="2" /> + latin:keyLabel="Ñš" /> <Key - latin:keyLabel="е" - latin:popupCharacters="3" /> + latin:keyLabel="е" /> <Key - latin:keyLabel="Ñ€" - latin:popupCharacters="4" /> + latin:keyLabel="Ñ€" /> <Key - latin:keyLabel="Ñ‚" - latin:popupCharacters="5" /> + latin:keyLabel="Ñ‚" /> <Key - latin:keyLabel="з" - latin:popupCharacters="6" /> + latin:keyLabel="з" /> <Key - latin:keyLabel="у" - latin:popupCharacters="7" /> + latin:keyLabel="у" /> <Key - latin:keyLabel="и" - latin:popupCharacters="8" /> + latin:keyLabel="и" /> <Key - latin:keyLabel="о" - latin:popupCharacters="9" /> + latin:keyLabel="о" /> <Key - latin:keyLabel="п" - latin:popupCharacters="0" /> + latin:keyLabel="п" /> <Key latin:keyLabel="ш" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="8.640%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="7.520%p" + latin:keyWidth="7.500%p" > <Key latin:keyStyle="toSymbolKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="8.640%p" + latin:keyWidth="9.219%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="а" /> @@ -101,15 +92,16 @@ latin:keyLabel="Ñ›" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="8.640%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="7.520%p" + latin:keyWidth="7.500%p" > <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="8.640%p" + latin:keyWidth="9.219%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="Ñ•" /> @@ -143,7 +135,8 @@ latin:popupCharacters="\?" /> <Key latin:keyStyle="shiftKeyStyle" - latin:keyWidth="8.640%p" + latin:keyXPos="-13.750%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <include diff --git a/java/res/xml-sw768dp/kbd_symbols.xml b/java/res/xml-sw768dp/kbd_symbols.xml index 41e8522dc0bd6cb223088a22ec0a7d667810a1c6..26cf1ac7052ee97bc7999063fa9d0b619da3f1ae 100644 --- a/java/res/xml-sw768dp/kbd_symbols.xml +++ b/java/res/xml-sw768dp/kbd_symbols.xml @@ -35,12 +35,12 @@ latin:keyboardLayout="@xml/kbd_currency_key_styles" /> <!-- This row is intentionally not marked as a top row --> <Row - latin:keyWidth="8.272%p" + latin:keyWidth="8.282%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="1" @@ -71,16 +71,17 @@ latin:popupCharacters="â¿,∅" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="8.157%p" + latin:keyWidth="8.125%p" > <Key latin:keyStyle="toAlphaKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="11.167%p" + latin:keyWidth="11.172%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="#" /> @@ -108,15 +109,16 @@ latin:popupCharacters="],},>" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="15.750%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="8.042%p" + latin:keyWidth="8.047%p" > <Key latin:keyStyle="moreKeyStyle" - latin:keyWidth="15.192%p" + latin:keyWidth="13.829%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="<" @@ -180,32 +182,30 @@ </switch> <Key latin:keyStyle="moreKeyStyle" - latin:keyWidth="12.530%p" + latin:keyXPos="-13.750%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <!-- This row is intentionally not marked as a bottom row --> <Row - latin:keyWidth="8.042%p" + latin:keyWidth="8.047%p" > - <Spacer - latin:horizontalGap="8.362%p" /> <switch> <case latin:hasSettingsKey="true"> <Key - latin:keyStyle="settingsKeyStyle" /> + latin:keyStyle="settingsKeyStyle" + latin:keyWidth="8.047%p" /> </case> - <default> - <Spacer - latin:horizontalGap="8.042%p" /> - </default> </switch> <Key - latin:keyLabel="/" /> + latin:keyLabel="/" + latin:keyXPos="15.157%p" /> <Key latin:keyLabel="\@" /> <Key latin:keyStyle="spaceKeyStyle" - latin:keyWidth="37.454%p" /> + latin:keyXPos="31.250%p" + latin:keyWidth="37.500%p" /> <switch> <case latin:languageCode="ru" @@ -230,7 +230,9 @@ latin:voiceKeyEnabled="true" > <Key - latin:keyStyle="micKeyStyle" /> + latin:keyStyle="micKeyStyle" + latin:keyXPos="-8.047%p" + latin:keyWidth="fillRight" /> </case> </switch> </Row> diff --git a/java/res/xml-sw768dp/kbd_symbols_shift.xml b/java/res/xml-sw768dp/kbd_symbols_shift.xml index d7f5958b7f0dacc6fd50e06dd7d23c9ba0895591..94bd761ba918dfaf383436314b4ccf11208fff95 100644 --- a/java/res/xml-sw768dp/kbd_symbols_shift.xml +++ b/java/res/xml-sw768dp/kbd_symbols_shift.xml @@ -33,12 +33,12 @@ latin:keyboardLayout="@xml/kbd_key_styles" /> <!-- This row is intentionally not marked as a top row --> <Row - latin:keyWidth="8.272%p" + latin:keyWidth="8.282%p" > <Key latin:keyStyle="tabKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="7.949%p" + latin:keyWidth="7.969%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="~" /> @@ -72,16 +72,17 @@ latin:keyLabel="Δ" /> <Key latin:keyStyle="deleteKeyStyle" - latin:keyWidth="9.331%p" + latin:keyXPos="-9.219%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="8.157%p" + latin:keyWidth="8.125%p" > <Key latin:keyStyle="toAlphaKeyStyle" latin:keyLabelOption="alignLeft" - latin:keyWidth="11.167%p" + latin:keyWidth="11.172%p" latin:keyEdgeFlags="left" /> <Key latin:keyStyle="nonPasswordSymbolKeyStyle" @@ -112,15 +113,16 @@ latin:keyLabel="}" /> <Key latin:keyStyle="returnKeyStyle" - latin:keyWidth="15.750%p" + latin:keyXPos="-15.704%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <Row - latin:keyWidth="8.042%p" + latin:keyWidth="8.047%p" > <Key latin:keyStyle="moreKeyStyle" - latin:keyWidth="15.192%p" + latin:keyWidth="13.829%p" latin:keyEdgeFlags="left" /> <Key latin:keyLabel="\\" /> @@ -148,34 +150,33 @@ latin:keyLabel="¿" /> <Key latin:keyStyle="moreKeyStyle" - latin:keyWidth="12.530%p" + latin:keyXPos="-13.750%p" + latin:keyWidth="fillBoth" latin:keyEdgeFlags="right" /> </Row> <!-- This row is intentionally not marked as a bottom row --> <Row - latin:keyWidth="8.042%p" + latin:keyWidth="8.047%p" > - <Spacer - latin:horizontalGap="24.446%p" /> <switch> <case latin:hasSettingsKey="true"> <Key - latin:keyStyle="settingsKeyStyle" /> + latin:keyStyle="settingsKeyStyle" + latin:keyWidth="8.047%p" /> </case> - <default> - <Spacer - latin:horizontalGap="8.042%p" /> - </default> </switch> <Key latin:keyStyle="spaceKeyStyle" - latin:keyWidth="37.454%p" /> + latin:keyXPos="31.250%p" + latin:keyWidth="37.500%p" /> <switch> <case latin:voiceKeyEnabled="true" > <Key - latin:keyStyle="micKeyStyle" /> + latin:keyStyle="micKeyStyle" + latin:keyXPos="-8.047%p" + latin:keyWidth="fillRight" /> </case> </switch> </Row> diff --git a/java/res/xml/kbd_ar_rows.xml b/java/res/xml/kbd_ar_rows.xml index b2ea45701c137862f80268a9b9f5b555126ee758..a548775a4d41ba6b91aece37118d3dfb17257657 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 2f2b05495723dde8cb73a7b0467583720f0d4869..9c81aad71940f4a72e3caf398cd4d28a1de49f0b 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 fb0c2a91581931e7c8fa250bf38ec34986130efd..af017ad6f1a3ac2c8c7ad9dff38d02f0b242b52d 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 d4d25d4a292aae4f04aba9c98a8059f8986b54af..f888b231e5ff23552119b680640fc78ea4b90af7 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 c5e9d77f8aabdbfb2e3297263483c0565217e53e..23b88a5bdc3549dc411d2ba22937fbe36b28789d 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 ca591c72d37955c2f7af339edd532cf9b08d4fab..e1d1ee8d0d72856c50c19ea23b29cf350e1ad87f 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 99db23ef1bf2adec3258d11c032f3335eb7ff89d..2af218cfe24c272ec9ee0ea598e75440ec518519 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 3964d3c3e6647a26e4ca9cc5ea3700ab255aed66..ba804d321947167695f69986f8de4570d0465663 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 9ed4553c45bf0dbddc3b8f6ac77e0868fb470702..57bbad75abd27fd26388f69e60be925fdcd74a56 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 3d106e615a840a276a6a2fc8c879888451334f42..98f0404c007ac67e89a99b38652e8239044b9834 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 a8d150e4bfa757bbdea9ea96bf6bac85ace98d93..21d80eb0b31329e95ec5977480bd2934860ce2ae 100644 --- a/java/res/xml/kbd_qwerty_row4.xml +++ b/java/res/xml/kbd_qwerty_row4.xml @@ -27,103 +27,67 @@ > <switch> <case - latin:hasSettingsKey="false" + latin:hasSettingsKey="true" > <Key latin:keyStyle="toSymbolKeyStyle" - latin:keyWidth="20%p" + latin:keyWidth="15%p" latin:keyEdgeFlags="left" /> + <Key + latin:keyStyle="settingsKeyStyle" /> <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> + latin:keyWidth="30%p" /> </case> - <case - latin:hasSettingsKey="true" - > + <!-- latin:hasSettingsKey="false" --> + <default> <Key latin:keyStyle="toSymbolKeyStyle" - latin:keyWidth="15%p" + latin:keyWidth="20%p" latin:keyEdgeFlags="left" /> - <Key - latin:keyStyle="settingsKeyStyle" /> <include latin:keyboardLayout="@xml/kbd_qwerty_f1" /> <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> + 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 06bb286a2db9513b1f68dc618ff6880a43c8210a..8cb0640e57d21929ff7a6a159e1a74e1989c052e 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 7e8f90e32948c84803b13a8f8c7728bf394baf05..603cf351cb397cbb7e7e6ef1861cb9f97322a431 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 b992599385b5ac7354bbd1b5584f734f145a2405..76250a303afb7125180ea868546852cdf375f7eb 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 0aa17d5e4c1e25c1da3c6303f29e27662ef9622a..139af80f59396293ef8c31764c1160fbdb4ab6fb 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 0a80689912ec11fcd9a03f7a66e74f9aa6d94979..a58a51874ef3489b247819417be81f6d85995916 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 b330095af594bcf45729026a13d1e394622b29e5..e701b9cddaf4d5a327c362ed7ef4432d268b76ea 100644 --- a/java/res/xml/kbd_symbols_row4.xml +++ b/java/res/xml/kbd_symbols_row4.xml @@ -22,81 +22,72 @@ 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" + latin:hasSettingsKey="true" > <Key latin:keyStyle="toAlphaKeyStyle" - latin:keyWidth="20%p" + latin:keyWidth="15%p" latin:keyEdgeFlags="left" /> + <Key + latin:keyStyle="settingsKeyStyle" /> <include - latin:keyboardLayout="@xml/kbd_symbols_f1" /> + latin:keyboardLayout="@xml/kbd_qwerty_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> + latin:keyWidth="30%p" /> </case> - <case - latin:hasSettingsKey="true" - > + <!-- latin:hasSettingsKey="false" --> + <default> <Key latin:keyStyle="toAlphaKeyStyle" - latin:keyWidth="15%p" + latin:keyWidth="20%p" latin:keyEdgeFlags="left" /> - <Key - latin:keyStyle="settingsKeyStyle" /> <include latin:keyboardLayout="@xml/kbd_symbols_f1" /> <Key latin:keyStyle="spaceKeyStyle" - latin:keyWidth="30%p" /> + 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 cde07333b54a434c8cf3f87963dfb90c60840ab9..96e741bbc3b2f73c7331ef6e42901408d36d9acf 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 4f8567d58a9b4b9b5f5382a523eb433da6763f21..7376bab1766f60a23197cac89e9e76c1b4b2d866 100644 --- a/java/res/xml/kbd_symbols_shift_row4.xml +++ b/java/res/xml/kbd_symbols_shift_row4.xml @@ -22,79 +22,70 @@ 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" + latin:hasSettingsKey="true" > <Key latin:keyStyle="toAlphaKeyStyle" - latin:keyWidth="20%p" + latin:keyWidth="15%p" latin:keyEdgeFlags="left" /> + <Key + latin:keyStyle="settingsKeyStyle" /> <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> + latin:keyWidth="30%p" /> </case> - <case - latin:hasSettingsKey="true" - > + <!-- latin:hasSettingsKey="false" --> + <default> <Key latin:keyStyle="toAlphaKeyStyle" - latin:keyWidth="15%p" + latin:keyWidth="20%p" latin:keyEdgeFlags="left" /> - <Key - latin:keyStyle="settingsKeyStyle" /> <Key latin:keyLabel="„" latin:popupCharacters="“,â€,„,‟,«,»,‘,’,‚,‛" latin:keyStyle="nonPasswordFunctionalKeyStyle" /> <Key latin:keyStyle="spaceKeyStyle" - latin:keyWidth="30%p" /> + 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> diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index ef86d66adef706acd8a75eb5bf765423e5ff82cf..cb529461afbc733475f41c4e51b25bca46dc73f0 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -101,6 +101,10 @@ public class Key { /** Key is enabled and responds on press */ public boolean mEnabled = true; + // keyWidth constants + private static final int KEYWIDTH_FILL_RIGHT = 0; + private static final int KEYWIDTH_FILL_BOTH = -1; + private final static int[] KEY_STATE_NORMAL_ON = { android.R.attr.state_checkable, android.R.attr.state_checked @@ -140,7 +144,7 @@ public class Key { }; /** - * This constructor is being used only for key in mini popup keyboard. + * This constructor is being used only for key in popup mini keyboard. */ public Key(Resources res, Keyboard keyboard, CharSequence popupCharacter, int x, int y, int width, int height, int edgeFlags) { @@ -178,6 +182,7 @@ public class Key { * @param x the x coordinate of the top-left * @param y the y coordinate of the top-left * @param parser the XML parser containing the attributes for this key + * @param keyStyles active key styles set */ public Key(Resources res, Row row, int x, int y, XmlResourceParser parser, KeyStyles keyStyles) { @@ -185,6 +190,7 @@ public class Key { final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard); + int keyWidth; try { mHeight = KeyboardParser.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_rowHeight, @@ -192,17 +198,13 @@ public class Key { mGap = KeyboardParser.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_horizontalGap, mKeyboard.getDisplayWidth(), row.mDefaultHorizontalGap); - mWidth = KeyboardParser.getDimensionOrFraction(keyboardAttr, + keyWidth = KeyboardParser.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth, - mKeyboard.getDisplayWidth(), row.mDefaultWidth) - mGap; + mKeyboard.getDisplayWidth(), row.mDefaultWidth); } finally { keyboardAttr.recycle(); } - // Horizontal gap is divided equally to both sides of the key. - mX = x + mGap / 2; - mY = y; - final TypedArray keyAttr = res.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard_Key); try { @@ -216,6 +218,35 @@ public class Key { style = keyStyles.getEmptyKeyStyle(); } + final int keyboardWidth = mKeyboard.getDisplayWidth(); + int keyXPos = KeyboardParser.getDimensionOrFraction(keyAttr, + R.styleable.Keyboard_Key_keyXPos, keyboardWidth, x); + if (keyXPos < 0) { + // If keyXPos is negative, the actual x-coordinate will be k + keyXPos. + keyXPos += keyboardWidth; + if (keyXPos < x) { + // keyXPos shouldn't be less than x because drawable area for this key starts + // at x. Or, this key will overlaps the adjacent key on its left hand side. + keyXPos = x; + } + } + if (keyWidth == KEYWIDTH_FILL_RIGHT) { + // If keyWidth is zero, the actual key width will be determined to fill out the + // area up to the right edge of the keyboard. + keyWidth = keyboardWidth - keyXPos; + } else if (keyWidth <= KEYWIDTH_FILL_BOTH) { + // If keyWidth is negative, the actual key width will be determined to fill out the + // area between the nearest key on the left hand side and the right edge of the + // keyboard. + keyXPos = x; + keyWidth = keyboardWidth - keyXPos; + } + + // Horizontal gap is divided equally to both sides of the key. + mX = keyXPos + mGap / 2; + mY = y; + mWidth = keyWidth - mGap; + final CharSequence[] popupCharacters = style.getTextArray(keyAttr, R.styleable.Keyboard_Key_popupCharacters); if (res.getBoolean(R.bool.config_digit_popup_characters_enabled)) { diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java index 88d23985a9a11e02463673a8b9e5db8fbcd70f0f..7c03ec71e2b0afced553ce546ff688e9abb3fea7 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java @@ -159,7 +159,7 @@ public class KeyboardId { @Override public String toString() { - return String.format("[%s.xml %s %s%d %s %s %s %s%s%s%s%s%s]", + return String.format("[%s.xml %s %s%d %s %s %s%s%s%s%s%s%s]", mXmlName, mLocale, (mOrientation == 1 ? "port" : "land"), mWidth, diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java index 43d9f271f232d3ef46b2e8600b45d80eb56a9600..4ae01134732722c83e546be1be79e4d20dcc907e 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java @@ -280,7 +280,7 @@ public class KeyboardParser { if (TAG_KEY.equals(tag)) { parseKey(parser, row, keys); } else if (TAG_SPACER.equals(tag)) { - parseSpacer(parser, keys); + parseSpacer(parser, row, keys); } else if (TAG_INCLUDE.equals(tag)) { parseIncludeRowContent(parser, row, keys); } else if (TAG_SWITCH.equals(tag)) { @@ -327,19 +327,32 @@ public class KeyboardParser { } } - private void parseSpacer(XmlResourceParser parser, List<Key> keys) + private void parseSpacer(XmlResourceParser parser, Row row, List<Key> keys) throws XmlPullParserException, IOException { if (keys == null) { checkEndTag(TAG_SPACER, parser); } else { if (DEBUG) Log.d(TAG, String.format("<%s />", TAG_SPACER)); - final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser), + final TypedArray keyboardAttr = mResources.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard); - final int gap = getDimensionOrFraction(a, R.styleable.Keyboard_horizontalGap, - mKeyboard.getDisplayWidth(), 0); - a.recycle(); + if (keyboardAttr.hasValue(R.styleable.Keyboard_horizontalGap)) + throw new IllegalAttribute(parser, "horizontalGap"); + final int defaultWidth = (row != null) ? row.mDefaultWidth : 0; + final int keyWidth = getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth, + mKeyboard.getDisplayWidth(), defaultWidth); + keyboardAttr.recycle(); + + final TypedArray keyAttr = mResources.obtainAttributes(Xml.asAttributeSet(parser), + R.styleable.Keyboard_Key); + int keyXPos = KeyboardParser.getDimensionOrFraction(keyAttr, + R.styleable.Keyboard_Key_keyXPos, mKeyboard.getDisplayWidth(), mCurrentX); + if (keyXPos < 0) { + // If keyXPos is negative, the actual x-coordinate will be display_width + keyXPos. + keyXPos += mKeyboard.getDisplayWidth(); + } + checkEndTag(TAG_SPACER, parser); - setSpacer(gap); + setSpacer(keyXPos, keyWidth); } } @@ -566,14 +579,14 @@ public class KeyboardParser { private void startRow(Row row) { mCurrentX = 0; - setSpacer(mHorizontalEdgesPadding); + setSpacer(mCurrentX, mHorizontalEdgesPadding); mCurrentRow = row; } private void endRow() { if (mCurrentRow == null) throw new InflateException("orphant end row tag"); - setSpacer(mHorizontalEdgesPadding); + setSpacer(mCurrentX, mHorizontalEdgesPadding); if (mCurrentX > mMaxRowWidth) mMaxRowWidth = mCurrentX; mCurrentY += mCurrentRow.mDefaultHeight; @@ -581,7 +594,7 @@ public class KeyboardParser { } private void endKey(Key key) { - mCurrentX += key.mGap + key.mWidth; + mCurrentX = key.mX + key.mGap + key.mWidth; } private void endKeyboard(int defaultVerticalGap) { @@ -589,19 +602,23 @@ public class KeyboardParser { mTotalHeight = mCurrentY - defaultVerticalGap; } - private void setSpacer(int gap) { - mCurrentX += gap; + private void setSpacer(int keyXPos, int width) { + mCurrentX = keyXPos + width; } public static int getDimensionOrFraction(TypedArray a, int index, int base, int defValue) { final TypedValue value = a.peekValue(index); if (value == null) return defValue; - if (value.type == TypedValue.TYPE_DIMENSION) { - return a.getDimensionPixelOffset(index, defValue); - } else if (value.type == TypedValue.TYPE_FRACTION) { + if (value.type == TypedValue.TYPE_FRACTION) { // Round it to avoid values like 47.9999 from getting truncated return Math.round(a.getFraction(index, base, base, defValue)); + } else if (value.type == TypedValue.TYPE_DIMENSION) { + return a.getDimensionPixelOffset(index, defValue); + } else if (value.type >= TypedValue.TYPE_FIRST_INT + && value.type <= TypedValue.TYPE_LAST_INT) { + // For enum value. + return a.getInt(index, defValue); } return defValue; } @@ -627,6 +644,13 @@ public class KeyboardParser { } } + @SuppressWarnings("serial") + private static class IllegalAttribute extends ParseException { + public IllegalAttribute(XmlResourceParser parser, String attribute) { + super("Tag " + parser.getName() + " has illegal attribute " + attribute, parser); + } + } + @SuppressWarnings("serial") private static class NonEmptyTag extends ParseException { public NonEmptyTag(String tag, XmlResourceParser parser) {