mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Reorder keys around the spacebar
This CL reorders keys around the spacebar. - On phone's symbols and symbols shift layout, the comma key is moved to the left of the spacebar to aligned with main layout. - On tablet's layout, the comma key is moved to the left of the spacebar on all layout to aligned with the same layout of phone's. Also the comma key has "settings" as more keys. - In Arabic and Perisan, the comma key of tablet already has some more keys This CL remove "/" and add "settings" instead. Bug: 15281451 Change-Id: I6e0e75e4d4abfb1f356e7499be91424c7c57c58b
This commit is contained in:
parent
9a2162e6f2
commit
dc62c711aa
47
java/res/xml-sw600dp/key_comma.xml
Normal file
47
java/res/xml-sw600dp/key_comma.xml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
**
|
||||||
|
** Copyright 2014, 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/com.android.inputmethod.latin"
|
||||||
|
>
|
||||||
|
<!-- The table comma key which may have settings as popup key. -->
|
||||||
|
<!-- Kept as a separate file for cleaner overriding by an overlay. -->
|
||||||
|
<key-style
|
||||||
|
latin:styleName="baseTabletCommaKeyStyle"
|
||||||
|
latin:keySpec="!text/keyspec_tablet_comma"
|
||||||
|
latin:keyHintLabel="!text/keyhintlabel_tablet_comma"
|
||||||
|
latin:keyLabelFlags="hasPopupHint"
|
||||||
|
latin:parentStyle="hasShiftedLetterHintStyle" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:clobberSettingsKey="true"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:moreKeys="!text/morekeys_tablet_comma"
|
||||||
|
latin:keyStyle="baseTabletCommaKeyStyle" />
|
||||||
|
</case>
|
||||||
|
<!-- clobberSettingsKey="false" -->
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:moreKeys="!text/morekeys_tablet_comma,!text/keyspec_settings"
|
||||||
|
latin:keyStyle="baseTabletCommaKeyStyle" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</merge>
|
@ -2,7 +2,7 @@
|
|||||||
<!--
|
<!--
|
||||||
/*
|
/*
|
||||||
**
|
**
|
||||||
** Copyright 2013, The Android Open Source Project
|
** Copyright 2014, The Android Open Source Project
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
** you may not use this file except in compliance with the License.
|
** you may not use this file except in compliance with the License.
|
||||||
@ -21,13 +21,8 @@
|
|||||||
<merge
|
<merge
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
>
|
>
|
||||||
<Key
|
<!-- The table period key which may have different label depending on locale -->
|
||||||
latin:keySpec="!text/keyspec_tablet_comma"
|
<!-- Kept as a separate file for cleaner overriding by an overlay. -->
|
||||||
latin:keyHintLabel="!text/keyhintlabel_tablet_comma"
|
|
||||||
latin:keyLabelFlags="hasPopupHint"
|
|
||||||
latin:moreKeys="!text/morekeys_tablet_comma"
|
|
||||||
latin:backgroundType="functional"
|
|
||||||
latin:keyStyle="hasShiftedLetterHintStyle" />
|
|
||||||
<switch>
|
<switch>
|
||||||
<case
|
<case
|
||||||
latin:languageCode="hi"
|
latin:languageCode="hi"
|
@ -35,6 +35,9 @@
|
|||||||
latin:keyLabelFlags="hasShiftedLetterHint" />
|
latin:keyLabelFlags="hasShiftedLetterHint" />
|
||||||
</default>
|
</default>
|
||||||
</switch>
|
</switch>
|
||||||
|
<!-- Base key style for the key which may have settings key as more keys. -->
|
||||||
|
<include
|
||||||
|
latin:keyboardLayout="@xml/key_styles_settings" />
|
||||||
<!-- Functional key styles -->
|
<!-- Functional key styles -->
|
||||||
<!-- Base style for shift key. A single space is used for dummy label in moreKeys. -->
|
<!-- Base style for shift key. A single space is used for dummy label in moreKeys. -->
|
||||||
<key-style
|
<key-style
|
||||||
|
@ -30,19 +30,19 @@
|
|||||||
latin:keyWidth="10.0%p" />
|
latin:keyWidth="10.0%p" />
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/key_settings" />
|
latin:keyboardLayout="@xml/key_settings" />
|
||||||
<include
|
<Key
|
||||||
latin:keyboardLayout="@xml/key_f1" />
|
latin:keySpec="_"
|
||||||
|
latin:keyHintLabel="-"
|
||||||
|
latin:moreKeys="-"
|
||||||
|
latin:keyStyle="hasShiftedLetterHintStyle" />
|
||||||
<include
|
<include
|
||||||
latin:keyXPos="28.0%p"
|
latin:keyXPos="28.0%p"
|
||||||
latin:keyboardLayout="@xml/key_space_5kw"
|
latin:keyboardLayout="@xml/key_space_5kw"
|
||||||
latin:backgroundType="normal" />
|
latin:backgroundType="normal" />
|
||||||
|
<include
|
||||||
|
latin:keyboardLayout="@xml/key_f1" />
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/key_question_exclamation" />
|
latin:keyboardLayout="@xml/key_question_exclamation" />
|
||||||
<Key
|
|
||||||
latin:keySpec="-"
|
|
||||||
latin:keyHintLabel="_"
|
|
||||||
latin:moreKeys="_"
|
|
||||||
latin:keyStyle="hasShiftedLetterHintStyle" />
|
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/key_f2" />
|
latin:keyboardLayout="@xml/key_f2" />
|
||||||
</Row>
|
</Row>
|
||||||
|
@ -29,15 +29,18 @@
|
|||||||
latin:keyStyle="toSymbolKeyStyle"
|
latin:keyStyle="toSymbolKeyStyle"
|
||||||
latin:keyWidth="10.0%p" />
|
latin:keyWidth="10.0%p" />
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/key_settings" />
|
latin:keyboardLayout="@xml/key_comma" />
|
||||||
<include
|
<Key
|
||||||
latin:keyboardLayout="@xml/key_f1" />
|
latin:keySpec="_" />
|
||||||
|
<!-- Space key. -->
|
||||||
<include
|
<include
|
||||||
latin:keyXPos="28.0%p"
|
latin:keyXPos="28.0%p"
|
||||||
latin:keyboardLayout="@xml/key_space_5kw"
|
latin:keyboardLayout="@xml/key_space_5kw"
|
||||||
latin:backgroundType="normal" />
|
latin:backgroundType="normal" />
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/keys_comma_period" />
|
latin:keyboardLayout="@xml/key_f1" />
|
||||||
|
<include
|
||||||
|
latin:keyboardLayout="@xml/key_period" />
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/key_f2" />
|
latin:keyboardLayout="@xml/key_f2" />
|
||||||
</Row>
|
</Row>
|
||||||
|
@ -27,20 +27,20 @@
|
|||||||
>
|
>
|
||||||
<Key
|
<Key
|
||||||
latin:keySpec="/"
|
latin:keySpec="/"
|
||||||
latin:keyStyle="f1MoreKeysStyle" />
|
latin:keyStyle="settingsMoreKeysStyle" />
|
||||||
</case>
|
</case>
|
||||||
<case
|
<case
|
||||||
latin:mode="email"
|
latin:mode="email"
|
||||||
>
|
>
|
||||||
<Key
|
<Key
|
||||||
latin:keySpec="\@"
|
latin:keySpec="\@"
|
||||||
latin:keyStyle="f1MoreKeysStyle" />
|
latin:keyStyle="settingsMoreKeysStyle" />
|
||||||
</case>
|
</case>
|
||||||
<default>
|
<default>
|
||||||
<Key
|
<Key
|
||||||
latin:keySpec="!text/keyspec_comma"
|
latin:keySpec="!text/keyspec_comma"
|
||||||
latin:keyLabelFlags="hasPopupHint"
|
latin:keyLabelFlags="hasPopupHint"
|
||||||
latin:keyStyle="f1MoreKeysStyle" />
|
latin:keyStyle="settingsMoreKeysStyle" />
|
||||||
</default>
|
</default>
|
||||||
</switch>
|
</switch>
|
||||||
</merge>
|
</merge>
|
||||||
|
@ -35,9 +35,9 @@
|
|||||||
latin:keyLabelFlags="hasShiftedLetterHint" />
|
latin:keyLabelFlags="hasShiftedLetterHint" />
|
||||||
</default>
|
</default>
|
||||||
</switch>
|
</switch>
|
||||||
<!-- Base key style for the key which may have settings or tab key as popup key. -->
|
<!-- Base key style for the key which may have settings key as more keys. -->
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/key_styles_f1" />
|
latin:keyboardLayout="@xml/key_styles_settings" />
|
||||||
<!-- Functional key styles -->
|
<!-- Functional key styles -->
|
||||||
<!-- Base style for shift key. A single space is used for dummy label in moreKeys. -->
|
<!-- Base style for shift key. A single space is used for dummy label in moreKeys. -->
|
||||||
<key-style
|
<key-style
|
||||||
@ -104,7 +104,7 @@
|
|||||||
latin:keyIconDisabled="!icon/shortcut_key_disabled"
|
latin:keyIconDisabled="!icon/shortcut_key_disabled"
|
||||||
latin:keyActionFlags="noKeyPreview|altCodeWhileTyping"
|
latin:keyActionFlags="noKeyPreview|altCodeWhileTyping"
|
||||||
latin:altCode="!code/key_space"
|
latin:altCode="!code/key_space"
|
||||||
latin:parentStyle="f1MoreKeysStyle" />
|
latin:parentStyle="settingsMoreKeysStyle" />
|
||||||
<key-style
|
<key-style
|
||||||
latin:styleName="settingsKeyStyle"
|
latin:styleName="settingsKeyStyle"
|
||||||
latin:keySpec="!icon/settings_key|!code/key_settings"
|
latin:keySpec="!icon/settings_key|!code/key_settings"
|
||||||
|
@ -21,25 +21,31 @@
|
|||||||
<merge
|
<merge
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
>
|
>
|
||||||
|
<!-- The less and greater keys' style which may have different label depending on locale. -->
|
||||||
|
<!-- Kept as a separate file for cleaner overriding by an overlay. -->
|
||||||
<switch>
|
<switch>
|
||||||
<case
|
<case
|
||||||
latin:languageCode="fa"
|
latin:languageCode="fa"
|
||||||
>
|
>
|
||||||
<Key
|
<key-style
|
||||||
|
latin:styleName="lessKeyStyle"
|
||||||
latin:keySpec="!text/keyspec_left_double_angle_quote"
|
latin:keySpec="!text/keyspec_left_double_angle_quote"
|
||||||
latin:backgroundType="functional"
|
latin:backgroundType="functional"
|
||||||
latin:moreKeys="!text/morekeys_less_than" />
|
latin:moreKeys="!text/morekeys_less_than" />
|
||||||
<Key
|
<key-style
|
||||||
|
latin:styleName="greaterKeyStyle"
|
||||||
latin:keySpec="!text/keyspec_right_double_angle_quote"
|
latin:keySpec="!text/keyspec_right_double_angle_quote"
|
||||||
latin:backgroundType="functional"
|
latin:backgroundType="functional"
|
||||||
latin:moreKeys="!text/morekeys_greater_than" />
|
latin:moreKeys="!text/morekeys_greater_than" />
|
||||||
</case>
|
</case>
|
||||||
<default>
|
<default>
|
||||||
<Key
|
<key-style
|
||||||
|
latin:styleName="lessKeyStyle"
|
||||||
latin:keySpec="!text/keyspec_less_than"
|
latin:keySpec="!text/keyspec_less_than"
|
||||||
latin:backgroundType="functional"
|
latin:backgroundType="functional"
|
||||||
latin:moreKeys="!text/morekeys_less_than" />
|
latin:moreKeys="!text/morekeys_less_than" />
|
||||||
<Key
|
<key-style
|
||||||
|
latin:styleName="greaterKeyStyle"
|
||||||
latin:keySpec="!text/keyspec_greater_than"
|
latin:keySpec="!text/keyspec_greater_than"
|
||||||
latin:backgroundType="functional"
|
latin:backgroundType="functional"
|
||||||
latin:moreKeys="!text/morekeys_greater_than" />
|
latin:moreKeys="!text/morekeys_greater_than" />
|
@ -21,20 +21,20 @@
|
|||||||
<merge
|
<merge
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
>
|
>
|
||||||
<!-- Base key style for the key which may have settings or tab key as popup key. -->
|
<!-- Base key style for the key which may have settings key as more keys. -->
|
||||||
<!-- Kept as a separate file for cleaner overriding by an overlay. -->
|
<!-- Kept as a separate file for cleaner overriding by an overlay. -->
|
||||||
<switch>
|
<switch>
|
||||||
<case
|
<case
|
||||||
latin:clobberSettingsKey="true"
|
latin:clobberSettingsKey="true"
|
||||||
>
|
>
|
||||||
<key-style
|
<key-style
|
||||||
latin:styleName="f1MoreKeysStyle"
|
latin:styleName="settingsMoreKeysStyle"
|
||||||
latin:backgroundType="functional" />
|
latin:backgroundType="functional" />
|
||||||
</case>
|
</case>
|
||||||
<!-- clobberSettingsKey="false" -->
|
<!-- clobberSettingsKey="false" -->
|
||||||
<default>
|
<default>
|
||||||
<key-style
|
<key-style
|
||||||
latin:styleName="f1MoreKeysStyle"
|
latin:styleName="settingsMoreKeysStyle"
|
||||||
latin:keyLabelFlags="hasPopupHint"
|
latin:keyLabelFlags="hasPopupHint"
|
||||||
latin:moreKeys="!text/keyspec_settings"
|
latin:moreKeys="!text/keyspec_settings"
|
||||||
latin:backgroundType="functional" />
|
latin:backgroundType="functional" />
|
@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2013, 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/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:keySpec="!text/keyspec_comma" />
|
|
||||||
<!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
|
|
||||||
<Key
|
|
||||||
latin:keySpec="."
|
|
||||||
latin:moreKeys="…" />
|
|
||||||
</merge>
|
|
@ -30,7 +30,7 @@
|
|||||||
<Key
|
<Key
|
||||||
latin:keySpec="q"
|
latin:keySpec="q"
|
||||||
latin:backgroundType="normal"
|
latin:backgroundType="normal"
|
||||||
latin:keyStyle="f1MoreKeysStyle" />
|
latin:keyStyle="settingsMoreKeysStyle" />
|
||||||
<include
|
<include
|
||||||
latin:keyXPos="25%p"
|
latin:keyXPos="25%p"
|
||||||
latin:keyboardLayout="@xml/key_space_5kw" />
|
latin:keyboardLayout="@xml/key_space_5kw" />
|
||||||
|
@ -20,11 +20,15 @@
|
|||||||
|
|
||||||
<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" >
|
<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" >
|
||||||
<Key
|
<Key
|
||||||
latin:keySpec="_" />
|
latin:keySpec="!text/keyspec_comma" />
|
||||||
<Key
|
<Key
|
||||||
latin:keySpec="/" />
|
latin:keySpec="_" />
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/key_space_symbols" />
|
latin:keyboardLayout="@xml/key_space_symbols" />
|
||||||
<include
|
<Key
|
||||||
latin:keyboardLayout="@xml/keys_comma_period_symbols" />
|
latin:keySpec="/" />
|
||||||
|
<!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
|
||||||
|
<Key
|
||||||
|
latin:keySpec="."
|
||||||
|
latin:moreKeys="…" />
|
||||||
</merge>
|
</merge>
|
||||||
|
@ -18,9 +18,18 @@
|
|||||||
*/
|
*/
|
||||||
-->
|
-->
|
||||||
<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" >
|
<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" >
|
||||||
|
<include
|
||||||
<include latin:keyboardLayout="@xml/keys_less_greater" />
|
latin:keyboardLayout="@xml/key_styles_less_greater" />
|
||||||
|
<Key
|
||||||
|
latin:keySpec="!text/keyspec_comma" />
|
||||||
|
<Key
|
||||||
|
latin:keyStyle="lessKeyStyle" />
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/key_space_symbols" />
|
latin:keyboardLayout="@xml/key_space_symbols" />
|
||||||
<include latin:keyboardLayout="@xml/keys_comma_period_symbols" />
|
<Key
|
||||||
|
latin:keyStyle="greaterKeyStyle" />
|
||||||
|
<!-- U+2026: "…" HORIZONTAL ELLIPSIS -->
|
||||||
|
<Key
|
||||||
|
latin:keySpec="."
|
||||||
|
latin:moreKeys="…" />
|
||||||
</merge>
|
</merge>
|
||||||
|
@ -602,7 +602,7 @@ public final class KeyboardTextsTable {
|
|||||||
/* keyspec_right_double_angle_quote */ "\u00BB|\u00AB",
|
/* keyspec_right_double_angle_quote */ "\u00BB|\u00AB",
|
||||||
/* keyspec_left_single_angle_quote */ "\u2039|\u203A",
|
/* keyspec_left_single_angle_quote */ "\u2039|\u203A",
|
||||||
/* keyspec_right_single_angle_quote */ "\u203A|\u2039",
|
/* keyspec_right_single_angle_quote */ "\u203A|\u2039",
|
||||||
/* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,\",\'",
|
/* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,\",\'",
|
||||||
// U+0651: "ّ" ARABIC SHADDA
|
// U+0651: "ّ" ARABIC SHADDA
|
||||||
/* keyhintlabel_period */ "\u0651",
|
/* keyhintlabel_period */ "\u0651",
|
||||||
/* morekeys_tablet_period */ "!text/morekeys_arabic_diacritics",
|
/* morekeys_tablet_period */ "!text/morekeys_arabic_diacritics",
|
||||||
@ -1551,7 +1551,7 @@ public final class KeyboardTextsTable {
|
|||||||
/* keyspec_right_double_angle_quote */ "\u00BB|\u00AB",
|
/* keyspec_right_double_angle_quote */ "\u00BB|\u00AB",
|
||||||
/* keyspec_left_single_angle_quote */ "\u2039|\u203A",
|
/* keyspec_left_single_angle_quote */ "\u2039|\u203A",
|
||||||
/* keyspec_right_single_angle_quote */ "\u203A|\u2039",
|
/* keyspec_right_single_angle_quote */ "\u203A|\u2039",
|
||||||
/* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,/,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote",
|
/* morekeys_tablet_comma */ "!fixedColumnOrder!4,:,!,\u061F,\u061B,-,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote",
|
||||||
// U+064B: "ً" ARABIC FATHATAN
|
// U+064B: "ً" ARABIC FATHATAN
|
||||||
/* keyhintlabel_period */ "\u064B",
|
/* keyhintlabel_period */ "\u064B",
|
||||||
/* morekeys_tablet_period */ "!text/morekeys_arabic_diacritics",
|
/* morekeys_tablet_period */ "!text/morekeys_arabic_diacritics",
|
||||||
|
@ -74,7 +74,12 @@ public final class Arabic extends LayoutBase {
|
|||||||
// U+060C: "،" ARABIC COMMA
|
// U+060C: "،" ARABIC COMMA
|
||||||
return joinKeys(key("\u060C", SETTINGS_KEY));
|
return joinKeys(key("\u060C", SETTINGS_KEY));
|
||||||
}
|
}
|
||||||
return super.getKeysLeftToSpacebar(isPhone);
|
// U+060C: "،" ARABIC COMMA
|
||||||
|
// U+061F: "؟" ARABIC QUESTION MARK
|
||||||
|
// U+061B: "؛" ARABIC SEMICOLON
|
||||||
|
return joinKeys(key("\u060C", joinMoreKeys(
|
||||||
|
":", "!", "\u061F", "\u061B", "-", "\"", "'", SETTINGS_KEY)),
|
||||||
|
"_");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -85,9 +90,7 @@ public final class Arabic extends LayoutBase {
|
|||||||
// U+060C: "،" ARABIC COMMA
|
// U+060C: "،" ARABIC COMMA
|
||||||
// U+061F: "؟" ARABIC QUESTION MARK
|
// U+061F: "؟" ARABIC QUESTION MARK
|
||||||
// U+061B: "؛" ARABIC SEMICOLON
|
// U+061B: "؛" ARABIC SEMICOLON
|
||||||
return joinKeys(
|
return joinKeys("/", key(".", getPunctuationMoreKeys(isPhone)));
|
||||||
key("\u060C", joinMoreKeys(":", "!", "\u061F", "\u061B", "-", "/", "\"", "'")),
|
|
||||||
key(".", getPunctuationMoreKeys(isPhone)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -55,12 +55,20 @@ public final class ArmenianPhonetic extends LayoutBase {
|
|||||||
SHIFT_KEY);
|
SHIFT_KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
|
||||||
|
// U+002C: "," COMMA
|
||||||
|
// U+055D: "՝" ARMENIAN COMMA
|
||||||
|
return isPhone ? joinKeys(key("\u002C", SETTINGS_KEY))
|
||||||
|
: joinKeys(key("\u055D", SETTINGS_KEY), "_");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
||||||
// U+0589: "։" ARMENIAN FULL STOP
|
// U+0589: "։" ARMENIAN FULL STOP
|
||||||
// U+055D: "՝" ARMENIAN COMMA
|
// U+055D: "՝" ARMENIAN COMMA
|
||||||
final ExpectedKey fullStopKey = key("\u0589", getPunctuationMoreKeys(isPhone));
|
final ExpectedKey fullStopKey = key("\u0589", getPunctuationMoreKeys(isPhone));
|
||||||
return isPhone ? joinKeys(fullStopKey) : joinKeys("\u055D", fullStopKey);
|
return isPhone ? joinKeys(fullStopKey) : joinKeys("/", fullStopKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -121,7 +129,7 @@ public final class ArmenianPhonetic extends LayoutBase {
|
|||||||
} else {
|
} else {
|
||||||
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
||||||
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
||||||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
|
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey())
|
||||||
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
||||||
}
|
}
|
||||||
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||||
|
@ -51,7 +51,8 @@ public final class Dvorak extends LayoutBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
|
public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
|
||||||
return isPhone ? joinKeys(key("q", SETTINGS_KEY)) : joinKeys(key("/"));
|
return isPhone ? joinKeys(key("q", SETTINGS_KEY)) :
|
||||||
|
joinKeys(SETTINGS_KEY, key("_", moreKey("-")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -60,7 +61,7 @@ public final class Dvorak extends LayoutBase {
|
|||||||
convertToAdditionalMoreKeys(getPunctuationMoreKeys(isPhone));
|
convertToAdditionalMoreKeys(getPunctuationMoreKeys(isPhone));
|
||||||
return isPhone
|
return isPhone
|
||||||
? joinKeys(key("z", punctuationMoreKeys))
|
? joinKeys(key("z", punctuationMoreKeys))
|
||||||
: joinKeys(key("?", moreKey("!")), key("-", moreKey("_")));
|
: joinKeys("/", key("?", moreKey("!")));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ExpectedAdditionalMoreKey[] convertToAdditionalMoreKeys(
|
private static ExpectedAdditionalMoreKey[] convertToAdditionalMoreKeys(
|
||||||
|
@ -72,7 +72,13 @@ public final class Farsi extends LayoutBase {
|
|||||||
// U+060C: "،" ARABIC COMMA
|
// U+060C: "،" ARABIC COMMA
|
||||||
return joinKeys(key("\u060C", SETTINGS_KEY));
|
return joinKeys(key("\u060C", SETTINGS_KEY));
|
||||||
}
|
}
|
||||||
return super.getKeysLeftToSpacebar(isPhone);
|
// U+060C: "،" ARABIC COMMA
|
||||||
|
// U+061F: "؟" ARABIC QUESTION MARK
|
||||||
|
// U+061B: "؛" ARABIC SEMICOLON
|
||||||
|
return joinKeys(key("\u060C", joinMoreKeys(
|
||||||
|
":", "!", "\u061F", "\u061B", "-", RtlSymbols.DOUBLE_ANGLE_QUOTES_LR_RTL,
|
||||||
|
SETTINGS_KEY)),
|
||||||
|
"_");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -80,13 +86,7 @@ public final class Farsi extends LayoutBase {
|
|||||||
if (isPhone) {
|
if (isPhone) {
|
||||||
return super.getKeysRightToSpacebar(isPhone);
|
return super.getKeysRightToSpacebar(isPhone);
|
||||||
}
|
}
|
||||||
// U+060C: "،" ARABIC COMMA
|
return joinKeys("/", key(".", getPunctuationMoreKeys(isPhone)));
|
||||||
// U+061F: "؟" ARABIC QUESTION MARK
|
|
||||||
// U+061B: "؛" ARABIC SEMICOLON
|
|
||||||
return joinKeys(
|
|
||||||
key("\u060C", joinMoreKeys(":", "!", "\u061F", "\u061B", "-", "/",
|
|
||||||
RtlSymbols.DOUBLE_ANGLE_QUOTES_LR_RTL)),
|
|
||||||
key(".", getPunctuationMoreKeys(isPhone)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -50,7 +50,7 @@ public final class HindiCompact extends LayoutBase {
|
|||||||
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
||||||
// U+0964: "।" DEVANAGARI DANDA
|
// U+0964: "।" DEVANAGARI DANDA
|
||||||
final ExpectedKey periodKey = key("\u0964", getPunctuationMoreKeys(isPhone));
|
final ExpectedKey periodKey = key("\u0964", getPunctuationMoreKeys(isPhone));
|
||||||
return isPhone ? joinKeys(periodKey) : joinKeys(",", periodKey);
|
return isPhone ? joinKeys(periodKey) : joinKeys("/", periodKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -94,7 +94,7 @@ public final class Khmer extends LayoutBase {
|
|||||||
} else {
|
} else {
|
||||||
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
||||||
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
||||||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
|
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey())
|
||||||
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
||||||
}
|
}
|
||||||
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||||
|
@ -98,7 +98,7 @@ public final class Lao extends LayoutBase {
|
|||||||
} else {
|
} else {
|
||||||
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
||||||
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
||||||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
|
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey())
|
||||||
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
||||||
}
|
}
|
||||||
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||||
|
@ -161,7 +161,8 @@ public abstract class LayoutBase extends AbstractLayoutBase {
|
|||||||
*/
|
*/
|
||||||
public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
|
public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
|
||||||
// U+002C: "," COMMA
|
// U+002C: "," COMMA
|
||||||
return isPhone ? joinKeys(key("\u002C", SETTINGS_KEY)) : joinKeys("/");
|
return isPhone ? joinKeys(key("\u002C", SETTINGS_KEY))
|
||||||
|
: joinKeys(key("\u002C", SETTINGS_KEY), "_");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -171,7 +172,7 @@ public abstract class LayoutBase extends AbstractLayoutBase {
|
|||||||
*/
|
*/
|
||||||
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
||||||
final ExpectedKey periodKey = key(".", getPunctuationMoreKeys(isPhone));
|
final ExpectedKey periodKey = key(".", getPunctuationMoreKeys(isPhone));
|
||||||
return isPhone ? joinKeys(periodKey) : joinKeys(",", periodKey);
|
return isPhone ? joinKeys(periodKey) : joinKeys("/", periodKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -296,7 +297,7 @@ public abstract class LayoutBase extends AbstractLayoutBase {
|
|||||||
} else {
|
} else {
|
||||||
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
||||||
.addKeysOnTheRightOfRow(2, ENTER_KEY)
|
.addKeysOnTheRightOfRow(2, ENTER_KEY)
|
||||||
.addKeysOnTheLeftOfRow(4, customizer.getSymbolsKey(), SETTINGS_KEY)
|
.addKeysOnTheLeftOfRow(4, customizer.getSymbolsKey())
|
||||||
.addKeysOnTheRightOfRow(4, EMOJI_KEY);
|
.addKeysOnTheRightOfRow(4, EMOJI_KEY);
|
||||||
}
|
}
|
||||||
builder.addKeysOnTheLeftOfRow(3, (Object[])customizer.getLeftShiftKeys(isPhone))
|
builder.addKeysOnTheLeftOfRow(3, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||||
|
@ -47,13 +47,19 @@ public final class Myanmar extends LayoutBase {
|
|||||||
return isPhone ? EMPTY_KEYS : EXCLAMATION_AND_QUESTION_MARKS;
|
return isPhone ? EMPTY_KEYS : EXCLAMATION_AND_QUESTION_MARKS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
|
||||||
|
// U+002C: "," COMMA
|
||||||
|
// U+104A: "၊" MYANMAR SIGN LITTLE SECTION
|
||||||
|
return isPhone ? joinKeys(key("\u002C", SETTINGS_KEY))
|
||||||
|
: joinKeys(key("\u104A", moreKey(","), SETTINGS_KEY), "_");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
||||||
// U+104B: "။" MYANMAR SIGN SECTION
|
// U+104B: "။" MYANMAR SIGN SECTION
|
||||||
// U+104A: "၊" MYANMAR SIGN LITTLE SECTION
|
|
||||||
final ExpectedKey periodKey = key("\u104B", getPunctuationMoreKeys(isPhone));
|
final ExpectedKey periodKey = key("\u104B", getPunctuationMoreKeys(isPhone));
|
||||||
final ExpectedKey commaKey = key("\u104A", moreKey(","));
|
return isPhone ? joinKeys(periodKey) : joinKeys("/", periodKey);
|
||||||
return isPhone ? joinKeys(periodKey) : joinKeys(commaKey, periodKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -106,7 +112,7 @@ public final class Myanmar extends LayoutBase {
|
|||||||
} else {
|
} else {
|
||||||
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
||||||
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
||||||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
|
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey())
|
||||||
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
||||||
}
|
}
|
||||||
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||||
|
@ -167,7 +167,7 @@ public class Symbols extends AbstractLayoutBase {
|
|||||||
// U+00BF: "¿" INVERTED QUESTION MARK
|
// U+00BF: "¿" INVERTED QUESTION MARK
|
||||||
key("?", moreKey("\u00BF")))
|
key("?", moreKey("\u00BF")))
|
||||||
.setKeysOfRow(4,
|
.setKeysOfRow(4,
|
||||||
key("_"), key("/"), SPACE_KEY, key(","),
|
key(","), key("_"), SPACE_KEY, key("/"),
|
||||||
// U+2026: "…" HORIZONTAL ELLIPSIS
|
// U+2026: "…" HORIZONTAL ELLIPSIS
|
||||||
key(".", moreKey("\u2026")))
|
key(".", moreKey("\u2026")))
|
||||||
.build();
|
.build();
|
||||||
|
@ -117,15 +117,16 @@ public class SymbolsShifted extends AbstractLayoutBase {
|
|||||||
// U+2105: "℅" CARE OF
|
// U+2105: "℅" CARE OF
|
||||||
"\\", "\u00A9", "\u00AE", "\u2122", "\u2105", "[", "]")
|
"\\", "\u00A9", "\u00AE", "\u2122", "\u2105", "[", "]")
|
||||||
.setKeysOfRow(4,
|
.setKeysOfRow(4,
|
||||||
|
",",
|
||||||
// U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
// U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
|
||||||
// U+2264: "≤" LESS-THAN OR EQUAL TO
|
// U+2264: "≤" LESS-THAN OR EQUAL TO
|
||||||
// U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
// U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||||
key("<", joinMoreKeys("\u2039", "\u2264", "\u00AB")),
|
key("<", joinMoreKeys("\u2039", "\u2264", "\u00AB")),
|
||||||
|
SPACE_KEY,
|
||||||
// U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
// U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
|
||||||
// U+2265: "≥" GREATER-THAN EQUAL TO
|
// U+2265: "≥" GREATER-THAN EQUAL TO
|
||||||
// U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
// U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||||
key(">", joinMoreKeys("\u203A", "\u2265", "\u00BB")),
|
key(">", joinMoreKeys("\u203A", "\u2265", "\u00BB")),
|
||||||
SPACE_KEY, ",",
|
|
||||||
// U+2026: "…" HORIZONTAL ELLIPSIS
|
// U+2026: "…" HORIZONTAL ELLIPSIS
|
||||||
key(".", moreKey("\u2026")))
|
key(".", moreKey("\u2026")))
|
||||||
.build();
|
.build();
|
||||||
|
@ -111,7 +111,7 @@ public final class Thai extends LayoutBase {
|
|||||||
} else {
|
} else {
|
||||||
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
||||||
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
.addKeysOnTheRightOfRow(3, ENTER_KEY)
|
||||||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
|
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey())
|
||||||
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
||||||
}
|
}
|
||||||
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||||
|
@ -80,7 +80,7 @@
|
|||||||
U+061B: "؛" ARABIC SEMICOLON -->
|
U+061B: "؛" ARABIC SEMICOLON -->
|
||||||
<string name="keyspec_tablet_comma">"،"</string>
|
<string name="keyspec_tablet_comma">"،"</string>
|
||||||
<string name="keyhintlabel_tablet_comma">"؟"</string>
|
<string name="keyhintlabel_tablet_comma">"؟"</string>
|
||||||
<string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,؟,؛,-,/,\",\'"</string>
|
<string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,؟,؛,-,\",\'"</string>
|
||||||
<!-- U+266A: "♪" EIGHTH NOTE -->
|
<!-- U+266A: "♪" EIGHTH NOTE -->
|
||||||
<string name="morekeys_bullet">♪</string>
|
<string name="morekeys_bullet">♪</string>
|
||||||
<!-- U+2605: "★" BLACK STAR
|
<!-- U+2605: "★" BLACK STAR
|
||||||
|
@ -82,7 +82,7 @@
|
|||||||
U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
|
U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
|
||||||
<string name="keyspec_tablet_comma">"،"</string>
|
<string name="keyspec_tablet_comma">"،"</string>
|
||||||
<string name="keyhintlabel_tablet_comma">"؟"</string>
|
<string name="keyhintlabel_tablet_comma">"؟"</string>
|
||||||
<string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,؟,؛,-,/,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote"</string>
|
<string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,؟,؛,-,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote"</string>
|
||||||
<!-- U+FDFC: "﷼" RIAL SIGN -->
|
<!-- U+FDFC: "﷼" RIAL SIGN -->
|
||||||
<string name="keyspec_currency">﷼</string>
|
<string name="keyspec_currency">﷼</string>
|
||||||
<!-- U+266A: "♪" EIGHTH NOTE -->
|
<!-- U+266A: "♪" EIGHTH NOTE -->
|
||||||
|
Loading…
Reference in New Issue
Block a user