Initial split QWERTY layout
Change [2/3]
Add an attribute that's used in layout xmls for specifying
the split-keyboard layout.
This attribute will be checked/set by the KeyboardBuilder which knows about
the "splittability" of the keyboard.
Bug: 4968173
Change-Id: I5d792e570b9648e09022e9b7e92a972a161009ee
diff --git a/java/res/xml-sw600dp/rows_qwerty.xml b/java/res/xml-sw600dp/rows_qwerty.xml
index 58ba1d7..51df4b0 100644
--- a/java/res/xml-sw600dp/rows_qwerty.xml
+++ b/java/res/xml-sw600dp/rows_qwerty.xml
@@ -23,39 +23,114 @@
>
<include
latin:keyboardLayout="@xml/key_styles_common" />
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty1" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="fillRight" />
+ <!-- TODO: Consolidate the layout specification between protrait and landscape.
+ Ideally just the keyWidth should be different and the spacer should adjust to fill
+ the available space. -->
+ <!-- First row -->
+ <Row>
+ <switch>
+ <!-- Split keyboard layout for the first row -->
+ <case
+ latin:isSplitLayout="true"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty1_left5"
+ latin:keyWidth="8.0%p" />
+ <Spacer
+ latin:keyWidth="10.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty1_right5"
+ latin:keyWidth="8.0%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="10.0%p" />
+ </case>
+ <!-- Regular layout for the first row -->
+ <default>
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty1"
+ latin:keyWidth="9.0%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </default>
+ </switch>
</Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty2"
- latin:keyXPos="4.5%p" />
- <Key
- latin:keyStyle="enterKeyStyle"
- latin:keyWidth="fillRight" />
+ <!-- Second row -->
+ <Row>
+ <switch>
+ <!-- Split keyboard layout for the second row -->
+ <case
+ latin:isSplitLayout="true"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty2_left5"
+ latin:keyXPos="4.0%p"
+ latin:keyWidth="8.0%p" />
+ <Spacer
+ latin:keyWidth="14.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty2_right4"
+ latin:keyWidth="8.0%p" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="10.0%p" />
+ </case>
+ <!-- Regular layout for the second row -->
+ <default>
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty2"
+ latin:keyXPos="4.5%p"
+ latin:keyWidth="9.0%p" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillRight" />
+ </default>
+ </switch>
</Row>
- <Row
- latin:keyWidth="9.0%p"
- >
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p" />
- <include
- latin:keyboardLayout="@xml/rowkeys_qwerty3" />
- <include
- latin:keyboardLayout="@xml/keys_exclamation_question" />
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="fillRight" />
+ <!-- Third row -->
+ <Row>
+ <switch>
+ <!-- Split keyboard layout for the third row -->
+ <case
+ latin:isSplitLayout="true"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty3_left4"
+ latin:keyWidth="8.0%p" />
+ <Spacer
+ latin:keyWidth="8.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty3_right3"
+ latin:keyWidth="8.0%p" />
+ <include
+ latin:keyboardLayout="@xml/keys_exclamation_question"
+ latin:keyWidth="8.0%p" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.0%p" />
+ </case>
+ <!-- Regular layout for the third row -->
+ <default>
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty3"
+ latin:keyWidth="9.0%p" />
+ <include
+ latin:keyboardLayout="@xml/keys_exclamation_question"
+ latin:keyWidth="9.0%p" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="fillRight" />
+ </default>
+ </switch>
</Row>
+ <!-- Fourth row -->
<include
latin:keyboardLayout="@xml/row_qwerty4" />
</merge>