Enable split layout for QWERTZ keyboard layout set

This commit is contained in:
Hagen Echzell 2021-01-10 14:31:03 +01:00 committed by Daniele Laudani
parent fa66144d65
commit ecccdf5700
9 changed files with 428 additions and 111 deletions

View file

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<merge
xmlns:latin="http://schemas.android.com/apk/res-auto"
>
<include
latin:keyboardLayout="@xml/key_styles_common" />
<!-- First row -->
<Row>
<switch>
<!-- Split keyboard layout for the first row -->
<case
latin:isSplitLayout="true"
>
<include
latin:keyboardLayout="@xml/rowkeys_qwertz1_left5"
latin:keyWidth="7.0%p" />
<Spacer
latin:keyWidth="20.0%p" />
<include
latin:keyboardLayout="@xml/rowkeys_qwertz1_right5"
latin:keyWidth="7.0%p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="10.0%p" />
</case>
<!-- Regular layout for the first row -->
<default>
<include
latin:keyboardLayout="@xml/rowkeys_qwertz1"
latin:keyWidth="9.0%p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="fillRight" />
</default>
</switch>
</Row>
<!-- Second row -->
<Row>
<switch>
<!-- Split keyboard layout for the second row -->
<case
latin:isSplitLayout="true"
>
<include
latin:keyboardLayout="@xml/rowkeys_qwertz2_left5"
latin:keyXPos="4.0%p"
latin:keyWidth="7.0%p" />
<Spacer
latin:keyWidth="23.0%p" />
<include
latin:keyboardLayout="@xml/rowkeys_qwertz2_right4"
latin:keyWidth="7.0%p" />
<Key
latin:keyStyle="enterKeyStyle"
latin:keyWidth="10.0%p" />
</case>
<!-- Regular layout for the second row -->
<default>
<include
latin:keyboardLayout="@xml/rowkeys_qwertz2"
latin:keyXPos="4.5%p"
latin:keyWidth="9.0%p" />
<Key
latin:keyStyle="enterKeyStyle"
latin:keyWidth="fillRight" />
</default>
</switch>
</Row>
<!-- 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_qwertz3_left4"
latin:keyWidth="7.0%p" />
<Spacer
latin:keyWidth="17.0%p" />
<include
latin:keyboardLayout="@xml/rowkeys_qwertz3_right3"
latin:keyWidth="7.0%p" />
<include
latin:keyboardLayout="@xml/keys_exclamation_question"
latin:keyWidth="7.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_qwertz3"
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>

View file

@ -23,39 +23,114 @@
>
<include
latin:keyboardLayout="@xml/key_styles_common" />
<Row
latin:keyWidth="9.0%p"
>
<include
latin:keyboardLayout="@xml/rowkeys_qwertz1" />
<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_qwertz1_left5"
latin:keyWidth="8.0%p" />
<Spacer
latin:keyWidth="10.0%p" />
<include
latin:keyboardLayout="@xml/rowkeys_qwertz1_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_qwertz1"
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_qwertz2"
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_qwertz2_left5"
latin:keyXPos="4.0%p"
latin:keyWidth="8.0%p" />
<Spacer
latin:keyWidth="14.0%p" />
<include
latin:keyboardLayout="@xml/rowkeys_qwertz2_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_qwertz2"
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_qwertz3" />
<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_qwertz3_left4"
latin:keyWidth="8.0%p" />
<Spacer
latin:keyWidth="8.0%p" />
<include
latin:keyboardLayout="@xml/rowkeys_qwertz3_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_qwertz3"
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>

View file

@ -23,7 +23,8 @@
<Element
latin:elementName="alphabet"
latin:elementKeyboard="@xml/kbd_qwertz"
latin:enableProximityCharsCorrection="true" />
latin:enableProximityCharsCorrection="true"
latin:supportsSplitLayout="true" />
<Element
latin:elementName="symbols"
latin:elementKeyboard="@xml/kbd_symbols" />

View file

@ -21,52 +21,10 @@
<merge
xmlns:latin="http://schemas.android.com/apk/res-auto"
>
<Key
latin:keySpec="q"
latin:keyHintLabel="1"
latin:additionalMoreKeys="1" />
<Key
latin:keySpec="w"
latin:keyHintLabel="2"
latin:additionalMoreKeys="2"
latin:moreKeys="!text/morekeys_w" />
<Key
latin:keySpec="e"
latin:keyHintLabel="3"
latin:additionalMoreKeys="3"
latin:moreKeys="!text/morekeys_e" />
<Key
latin:keySpec="r"
latin:keyHintLabel="4"
latin:additionalMoreKeys="4"
latin:moreKeys="!text/morekeys_r" />
<Key
latin:keySpec="t"
latin:keyHintLabel="5"
latin:additionalMoreKeys="5"
latin:moreKeys="!text/morekeys_t" />
<Key
latin:keySpec="z"
latin:keyHintLabel="6"
latin:additionalMoreKeys="6"
latin:moreKeys="!text/morekeys_z" />
<Key
latin:keySpec="u"
latin:keyHintLabel="7"
latin:additionalMoreKeys="7"
latin:moreKeys="!text/morekeys_u" />
<Key
latin:keySpec="i"
latin:keyHintLabel="8"
latin:additionalMoreKeys="8"
latin:moreKeys="!text/morekeys_i" />
<Key
latin:keySpec="o"
latin:keyHintLabel="9"
latin:additionalMoreKeys="9"
latin:moreKeys="!text/morekeys_o" />
<Key
latin:keySpec="p"
latin:keyHintLabel="0"
latin:additionalMoreKeys="0" />
<!-- q,w,e,r,t -->
<include
latin:keyboardLayout="@xml/rowkeys_qwertz1_left5" />
<!-- z,u,i,o,p -->
<include
latin:keyboardLayout="@xml/rowkeys_qwertz1_right5" />
</merge>

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2012, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<merge
xmlns:latin="http://schemas.android.com/apk/res-auto"
>
<Key
latin:keySpec="q"
latin:keyHintLabel="1"
latin:additionalMoreKeys="1" />
<Key
latin:keySpec="w"
latin:keyHintLabel="2"
latin:additionalMoreKeys="2"
latin:moreKeys="!text/morekeys_w" />
<Key
latin:keySpec="e"
latin:keyHintLabel="3"
latin:additionalMoreKeys="3"
latin:moreKeys="!text/morekeys_e" />
<Key
latin:keySpec="r"
latin:keyHintLabel="4"
latin:additionalMoreKeys="4"
latin:moreKeys="!text/morekeys_r" />
<Key
latin:keySpec="t"
latin:keyHintLabel="5"
latin:additionalMoreKeys="5"
latin:moreKeys="!text/morekeys_t" />
</merge>

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2012, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<merge
xmlns:latin="http://schemas.android.com/apk/res-auto"
>
<Key
latin:keySpec="z"
latin:keyHintLabel="6"
latin:additionalMoreKeys="6"
latin:moreKeys="!text/morekeys_z" />
<Key
latin:keySpec="u"
latin:keyHintLabel="7"
latin:additionalMoreKeys="7"
latin:moreKeys="!text/morekeys_u" />
<Key
latin:keySpec="i"
latin:keyHintLabel="8"
latin:additionalMoreKeys="8"
latin:moreKeys="!text/morekeys_i" />
<Key
latin:keySpec="o"
latin:keyHintLabel="9"
latin:additionalMoreKeys="9"
latin:moreKeys="!text/morekeys_o" />
<Key
latin:keySpec="p"
latin:keyHintLabel="0"
latin:additionalMoreKeys="0" />
</merge>

View file

@ -21,36 +21,10 @@
<merge
xmlns:latin="http://schemas.android.com/apk/res-auto"
>
<Key
latin:keySpec="y"
latin:keyHintLabel="*"
latin:additionalMoreKeys="*"
latin:moreKeys="!text/morekeys_y" />
<Key
latin:keySpec="x"
latin:keyHintLabel="&quot;"
latin:additionalMoreKeys="&quot;" />
<Key
latin:keySpec="c"
latin:keyHintLabel="&apos;"
latin:additionalMoreKeys="&apos;"
latin:moreKeys="!text/morekeys_c" />
<Key
latin:keySpec="v"
latin:keyHintLabel=":"
latin:additionalMoreKeys=":"
latin:moreKeys="!text/morekeys_v" />
<Key
latin:keySpec="b"
latin:keyHintLabel=";"
latin:additionalMoreKeys=";" />
<Key
latin:keySpec="n"
latin:keyHintLabel="!"
latin:additionalMoreKeys="!"
latin:moreKeys="!text/morekeys_n" />
<Key
latin:keySpec="m"
latin:keyHintLabel="\?"
latin:additionalMoreKeys="\\?" />
<!-- y,x,c,v -->
<include
latin:keyboardLayout="@xml/rowkeys_qwertz3_left4" />
<!-- b,n,m -->
<include
latin:keyboardLayout="@xml/rowkeys_qwertz3_right3" />
</merge>

View file

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2012, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<merge
xmlns:latin="http://schemas.android.com/apk/res-auto"
>
<Key
latin:keySpec="y"
latin:keyHintLabel="*"
latin:additionalMoreKeys="*"
latin:moreKeys="!text/morekeys_y" />
<Key
latin:keySpec="x"
latin:keyHintLabel="&quot;"
latin:additionalMoreKeys="&quot;" />
<Key
latin:keySpec="c"
latin:keyHintLabel="&apos;"
latin:additionalMoreKeys="&apos;"
latin:moreKeys="!text/morekeys_c" />
<Key
latin:keySpec="v"
latin:keyHintLabel=":"
latin:additionalMoreKeys=":"
latin:moreKeys="!text/morekeys_v" />
</merge>

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2012, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<merge
xmlns:latin="http://schemas.android.com/apk/res-auto"
>
<Key
latin:keySpec="b"
latin:keyHintLabel=";"
latin:additionalMoreKeys=";" />
<Key
latin:keySpec="n"
latin:keyHintLabel="!"
latin:additionalMoreKeys="!"
latin:moreKeys="!text/morekeys_n" />
<Key
latin:keySpec="m"
latin:keyHintLabel="\?"
latin:additionalMoreKeys="\\?" />
</merge>