Merge "Reorder keys around the spacebar"

This commit is contained in:
Tadashi G. Takaoka 2014-06-04 04:04:28 +00:00 committed by Android (Google) Code Review
commit 6e00de046a
28 changed files with 160 additions and 103 deletions

View 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>

View file

@ -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"

View file

@ -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

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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"

View file

@ -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" />

View file

@ -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" />

View file

@ -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="&#x2026;" />
</merge>

View file

@ -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" />

View file

@ -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="&#x2026;" />
</merge> </merge>

View file

@ -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="&#x2026;" />
</merge> </merge>

View file

@ -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",

View file

@ -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

View file

@ -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))

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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))

View file

@ -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))

View file

@ -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))

View file

@ -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))

View file

@ -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();

View file

@ -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();

View file

@ -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))

View file

@ -80,7 +80,7 @@
U+061B: "؛" ARABIC SEMICOLON --> U+061B: "؛" ARABIC SEMICOLON -->
<string name="keyspec_tablet_comma">"&#x060C;"</string> <string name="keyspec_tablet_comma">"&#x060C;"</string>
<string name="keyhintlabel_tablet_comma">"&#x061F;"</string> <string name="keyhintlabel_tablet_comma">"&#x061F;"</string>
<string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,&#x061F;,&#x061B;,-,/,\",\'"</string> <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,&#x061F;,&#x061B;,-,\",\'"</string>
<!-- U+266A: "♪" EIGHTH NOTE --> <!-- U+266A: "♪" EIGHTH NOTE -->
<string name="morekeys_bullet">&#x266A;</string> <string name="morekeys_bullet">&#x266A;</string>
<!-- U+2605: "★" BLACK STAR <!-- U+2605: "★" BLACK STAR

View file

@ -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">"&#x060C;"</string> <string name="keyspec_tablet_comma">"&#x060C;"</string>
<string name="keyhintlabel_tablet_comma">"&#x061F;"</string> <string name="keyhintlabel_tablet_comma">"&#x061F;"</string>
<string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,&#x061F;,&#x061B;,-,/,!text/keyspec_left_double_angle_quote,!text/keyspec_right_double_angle_quote"</string> <string name="morekeys_tablet_comma">"!fixedColumnOrder!4,:,!,&#x061F;,&#x061B;,-,!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">&#xFDFC;</string> <string name="keyspec_currency">&#xFDFC;</string>
<!-- U+266A: "♪" EIGHTH NOTE --> <!-- U+266A: "♪" EIGHTH NOTE -->