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
main
Tadashi G. Takaoka 2014-06-03 19:07:59 +09:00
parent 9a2162e6f2
commit dc62c711aa
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 -->