Support colorScheme <case/> condition in Keyboard XML

Change-Id: Ibbfb99e0e2b15df301f83af6739b7bca01ebf490
main
Tadashi G. Takaoka 2010-11-21 16:40:38 -08:00
parent a963d0b2e4
commit 59c9930ca9
34 changed files with 472 additions and 2657 deletions

View File

@ -32,6 +32,6 @@
latin:keyTextColor="@color/latinkeyboard_key_color_black" latin:keyTextColor="@color/latinkeyboard_key_color_black"
latin:shadowColor="@color/latinkeyboard_key_color_white" latin:shadowColor="@color/latinkeyboard_key_color_white"
latin:keyTextStyle="bold" latin:keyTextStyle="bold"
latin:symbolColorScheme="black" latin:colorScheme="black"
latin:popupLayout="@layout/input_stone_popup" latin:popupLayout="@layout/input_stone_popup"
/> />

View File

@ -30,6 +30,6 @@
latin:keyBackground="@drawable/btn_keyboard_key_stone" latin:keyBackground="@drawable/btn_keyboard_key_stone"
latin:keyTextColor="@color/latinkeyboard_key_color_black" latin:keyTextColor="@color/latinkeyboard_key_color_black"
latin:shadowColor="@color/latinkeyboard_key_color_white" latin:shadowColor="@color/latinkeyboard_key_color_white"
latin:symbolColorScheme="black" latin:colorScheme="black"
latin:popupLayout="@layout/input_stone_popup" latin:popupLayout="@layout/input_stone_popup"
/> />

View File

@ -57,14 +57,15 @@
<attr name="backgroundDimAmount" format="float" /> <attr name="backgroundDimAmount" format="float" />
<attr name="keyTextStyle"> <attr name="keyTextStyle">
<flag name="normal" value="0" /> <enum name="normal" value="0" />
<flag name="bold" value="1" /> <enum name="bold" value="1" />
<flag name="italic" value="2" /> <enum name="italic" value="2" />
</attr> </attr>
<attr name="symbolColorScheme"> <attr name="colorScheme">
<flag name="white" value="0" /> <!-- This should be aligned with BaseKeyboardView.COLOR_SCHEME_* -->
<flag name="black" value="1" /> <enum name="white" value="0" />
<enum name="black" value="1" />
</attr> </attr>
</declare-styleable> </declare-styleable>

View File

@ -31,7 +31,7 @@
<item name="shadowColor">#BB000000</item> <item name="shadowColor">#BB000000</item>
<item name="shadowRadius">2.75</item> <item name="shadowRadius">2.75</item>
<item name="backgroundDimAmount">0.5</item> <item name="backgroundDimAmount">0.5</item>
<item name="symbolColorScheme">white</item> <item name="colorScheme">white</item>
</style> </style>
<style name="KeyPreviewAnimation"> <style name="KeyPreviewAnimation">
<item name="android:windowEnterAnimation">@anim/key_preview_fadein</item> <item name="android:windowEnterAnimation">@anim/key_preview_fadein</item>

View File

@ -1,178 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<!--
Danish Keyboard Layout
Just a copy of the Norwegian layout, with æ/ø switched.
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="9.09%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="q"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_q"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_w" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_y" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyLabel="å"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="a"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_a"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_s" />
<Key
latin:keyLabel="d"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_d" />
<Key
latin:keyLabel="f" />
<Key
latin:keyLabel="g"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_g" />
<Key
latin:keyLabel="h" />
<Key
latin:keyLabel="j" />
<Key
latin:keyLabel="k" />
<Key
latin:keyLabel="l"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_l" />
<Key
latin:keyLabel="æ"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_ae" />
<Key
latin:keyLabel="ø"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_oe"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="10%p"
>
<Key
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="z"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_z" />
<Key
latin:keyLabel="x" />
<Key
latin:keyLabel="c"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_c" />
<Key
latin:keyLabel="v"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_v" />
<Key
latin:keyLabel="b" />
<Key
latin:keyLabel="n"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="m" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="15%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_black_row4" />
</Keyboard>

View File

@ -1,158 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="q"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_q"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_w" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="z"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_z" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Spacer
latin:horizontalGap="5%p" />
<Key
latin:keyLabel="a"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_a"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_s" />
<Key
latin:keyLabel="d"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_d" />
<Key
latin:keyLabel="f" />
<Key
latin:keyLabel="g"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_g" />
<Key
latin:keyLabel="h" />
<Key
latin:keyLabel="j" />
<Key
latin:keyLabel="k" />
<Key
latin:keyLabel="l"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_l"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="y"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_y" />
<Key
latin:keyLabel="x" />
<Key
latin:keyLabel="c"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_c" />
<Key
latin:keyLabel="v"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_v" />
<Key
latin:keyLabel="b" />
<Key
latin:keyLabel="n"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="m" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="15%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_black_row4" />
</Keyboard>

View File

@ -1,158 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="a"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_a"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="z"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_z" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_y" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="q"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_q"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_s" />
<Key
latin:keyLabel="d"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_d" />
<Key
latin:keyLabel="f" />
<Key
latin:keyLabel="g"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_g" />
<Key
latin:keyLabel="h" />
<Key
latin:keyLabel="j" />
<Key
latin:keyLabel="k" />
<Key
latin:keyLabel="l"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_l" />
<Key
latin:keyLabel="m"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_w" />
<Key
latin:keyLabel="x" />
<Key
latin:keyLabel="c"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_c" />
<Key
latin:keyLabel="v"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_v" />
<Key
latin:keyLabel="b" />
<Key
latin:keyLabel="n"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="\'" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="15%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_black_row4" />
</Keyboard>

View File

@ -1,109 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Spacer
latin:horizontalGap="5%p" />
<Key
latin:keyLabel="ק"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ר" />
<Key
latin:keyLabel="א" />
<Key
latin:keyLabel="ט" />
<Key
latin:keyLabel="ו" />
<Key
latin:keyLabel="ן" />
<Key
latin:keyLabel="ם" />
<Key
latin:keyLabel="פ" />
<Spacer
latin:horizontalGap="1.25%p" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="13.75%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="ש"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ד" />
<Key
latin:keyLabel="ג" />
<Key
latin:keyLabel="כ" />
<Key
latin:keyLabel="ע" />
<Key
latin:keyLabel="י" />
<Key
latin:keyLabel="ח" />
<Key
latin:keyLabel="ל" />
<Key
latin:keyLabel="ך" />
<Key
latin:keyLabel="ף"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Spacer
latin:horizontalGap="5%p" />
<Key
latin:keyLabel="ז"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ס" />
<Key
latin:keyLabel="ב" />
<Key
latin:keyLabel="ה" />
<Key
latin:keyLabel="נ" />
<Key
latin:keyLabel="מ" />
<Key
latin:keyLabel="צ" />
<Key
latin:keyLabel="ת" />
<Key
latin:keyLabel="ץ"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_black_row4" />
</Keyboard>

View File

@ -1,178 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<!--
Norwegian Keyboard Layout
Just a copy of the Swedish layout, with ä/æ and ö/ø switched.
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="9.09%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="q"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_q"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_w" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_y" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyLabel="å"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="a"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_a"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_s" />
<Key
latin:keyLabel="d"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_d" />
<Key
latin:keyLabel="f" />
<Key
latin:keyLabel="g"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_g" />
<Key
latin:keyLabel="h" />
<Key
latin:keyLabel="j" />
<Key
latin:keyLabel="k" />
<Key
latin:keyLabel="l"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_l" />
<Key
latin:keyLabel="ø"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_oe" />
<Key
latin:keyLabel="æ"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_ae"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="10%p"
>
<Key
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="z"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_z" />
<Key
latin:keyLabel="x" />
<Key
latin:keyLabel="c"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_c" />
<Key
latin:keyLabel="v"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_v" />
<Key
latin:keyLabel="b" />
<Key
latin:keyLabel="n"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="m" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="15%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_black_row4" />
</Keyboard>

View File

@ -1,156 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="9.09%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="й"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="1"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ц"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="2" />
<Key
latin:keyLabel="у"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="3" />
<Key
latin:keyLabel="к"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="4" />
<Key
latin:keyLabel="е"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_cyrillic_e" />
<Key
latin:keyLabel="н"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="6" />
<Key
latin:keyLabel="г"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="7" />
<Key
latin:keyLabel="ш"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="8" />
<Key
latin:keyLabel="щ"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="9" />
<Key
latin:keyLabel="з"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="0" />
<Key
latin:keyLabel="х"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="ф"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ы" />
<Key
latin:keyLabel="в" />
<Key
latin:keyLabel="а" />
<Key
latin:keyLabel="п" />
<Key
latin:keyLabel="р" />
<Key
latin:keyLabel="о" />
<Key
latin:keyLabel="л" />
<Key
latin:keyLabel="д" />
<Key
latin:keyLabel="ж" />
<Key
latin:keyLabel="э"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.5%p"
>
<Key
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyWidth="11.75%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="я" />
<Key
latin:keyLabel="ч" />
<Key
latin:keyLabel="с" />
<Key
latin:keyLabel="м" />
<Key
latin:keyLabel="и" />
<Key
latin:keyLabel="т" />
<Key
latin:keyLabel="ь"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_cyrillic_soft_sign" />
<Key
latin:keyLabel="б" />
<Key
latin:keyLabel="ю" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="11.75%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_black_row4" />
</Keyboard>

View File

@ -1,149 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<!-- Serbian keyboard layout, based on the X11 layout for Serbian -->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="9.09%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="љ"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="1"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="њ"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="2" />
<Key
latin:keyLabel="е"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="3" />
<Key
latin:keyLabel="р"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="4" />
<Key
latin:keyLabel="т"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="5" />
<Key
latin:keyLabel="з"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="6" />
<Key
latin:keyLabel="у"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="7" />
<Key
latin:keyLabel="и"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="8" />
<Key
latin:keyLabel="о"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="9" />
<Key
latin:keyLabel="п"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="0" />
<Key
latin:keyLabel="ш"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="а"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="с" />
<Key
latin:keyLabel="д" />
<Key
latin:keyLabel="ф" />
<Key
latin:keyLabel="г" />
<Key
latin:keyLabel="х" />
<Key
latin:keyLabel="ј" />
<Key
latin:keyLabel="к" />
<Key
latin:keyLabel="л" />
<Key
latin:keyLabel="ч" />
<Key
latin:keyLabel="ћ" />
<Key
latin:keyLabel="ђ"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.5%p"
>
<Key
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyWidth="11.75%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ж" />
<Key
latin:keyLabel="џ" />
<Key
latin:keyLabel="ц" />
<Key
latin:keyLabel="в" />
<Key
latin:keyLabel="б" />
<Key
latin:keyLabel="н" />
<Key
latin:keyLabel="м" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="11.75%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_black_row4" />
</Keyboard>

View File

@ -1,180 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<!--
Swedish Keyboard Layout
Key positioning: Svensk standard SS 66 22 41
Foreign letters: Svenska skrivregler (2:a uppl.) §302
Local additions: ۧ
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="9.09%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="q"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_q"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_w" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_y" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyLabel="å"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="a"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_a"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_s" />
<Key
latin:keyLabel="d"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_d" />
<Key
latin:keyLabel="f" />
<Key
latin:keyLabel="g"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_g" />
<Key
latin:keyLabel="h" />
<Key
latin:keyLabel="j" />
<Key
latin:keyLabel="k" />
<Key
latin:keyLabel="l"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_l" />
<Key
latin:keyLabel="ö"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_o_umlaut" />
<Key
latin:keyLabel="ä"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_a_umlaut"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="10%p"
>
<Key
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="z"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_z" />
<Key
latin:keyLabel="x" />
<Key
latin:keyLabel="c"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_c" />
<Key
latin:keyLabel="v"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_v" />
<Key
latin:keyLabel="b" />
<Key
latin:keyLabel="n"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="m" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="15%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_black_row4" />
</Keyboard>

View File

@ -168,8 +168,8 @@
<Key <Key
latin:codes="@integer/key_shift" latin:codes="@integer/key_shift"
latin:keyLabel="@string/label_more_key" latin:keyLabel="@string/label_more_key"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyLabelOption="fontNormal|alignRight|alignBottom" latin:keyLabelOption="fontNormal|alignRight|alignBottom"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyWidth="12.430%p" latin:keyWidth="12.430%p"
latin:isModifier="true" latin:isModifier="true"
latin:isSticky="true" latin:isSticky="true"

View File

@ -1,113 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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-style
latin:styleName="functionalKeyStyle"
latin:isModifier="true" />
<key-style
latin:styleName="shiftKeyStyle"
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_keyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" />
<key-style
latin:styleName="deleteKeyStyle"
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_keyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:parentStyle="functionalKeyStyle"
latin:isRepeatable="true" />
<switch>
<!-- When this qwerty keyboard has no voice key but voice key is enabled, then symbol
keyboard will have mic key. That means we should use "?123mic" key here. -->
<case
latin:voiceKeyEnabled="true"
latin:hasVoiceKey="false"
>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_keyboard_123_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
latin:parentStyle="functionalKeyStyle" />
</case>
<default>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
<key-style
latin:styleName="toAlphaKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="settingsKeyStyle"
latin:codes="@integer/key_settings"
latin:keyIcon="@drawable/sym_keyboard_settings"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="spaceKeyStyle"
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_keyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="tabKeyStyle"
latin:codes="@integer/key_tab"
latin:keyIcon="@drawable/sym_keyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="returnKeyStyle"
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_keyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="altKeyStyle"
latin:codes="@integer/key_shift"
latin:keyLabel="@string/label_alt_key"
latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" />
<key-style
latin:styleName="smileyKeyStyle"
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_smileys"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="micKeyStyle"
latin:codes="@integer/key_voice"
latin:popupKeyboard="@xml/popup_mic"
latin:keyIcon="@drawable/sym_keyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:keyHintIcon="@drawable/hint_popup"
latin:parentStyle="functionalKeyStyle" />
</merge>

View File

@ -0,0 +1,209 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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"
>
<switch>
<case
latin:colorScheme="white"
>
<key-style
latin:styleName="functionalKeyStyle"
latin:isModifier="true" />
<key-style
latin:styleName="shiftKeyStyle"
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_keyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" />
<key-style
latin:styleName="deleteKeyStyle"
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_keyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:parentStyle="functionalKeyStyle"
latin:isRepeatable="true" />
<switch>
<!-- When this qwerty keyboard has no voice key but voice key is enabled, then
symbol keyboard will have mic key. That means we should use "?123mic" key
here. -->
<case
latin:voiceKeyEnabled="true"
latin:hasVoiceKey="false"
>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_keyboard_123_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
latin:parentStyle="functionalKeyStyle" />
</case>
<default>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
<key-style
latin:styleName="settingsKeyStyle"
latin:codes="@integer/key_settings"
latin:keyIcon="@drawable/sym_keyboard_settings"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="spaceKeyStyle"
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_keyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="tabKeyStyle"
latin:codes="@integer/key_tab"
latin:keyIcon="@drawable/sym_keyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="returnKeyStyle"
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_keyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="micKeyStyle"
latin:codes="@integer/key_voice"
latin:popupKeyboard="@xml/popup_mic"
latin:keyIcon="@drawable/sym_keyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:keyHintIcon="@drawable/hint_popup"
latin:parentStyle="functionalKeyStyle" />
<!-- Note: This key style is not for functional tab key. This is used for the tab key
which is laid out as normal letter key. -->
<key-style
latin:styleName="nonSpecialBackgroundTabKeyStyle"
latin:codes="@integer/key_tab"
latin:keyIcon="@drawable/sym_keyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab" />
</case>
<case
latin:colorScheme="black"
>
<key-style
latin:styleName="functionalKeyStyle" />
<key-style
latin:styleName="shiftKeyStyle"
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" />
<key-style
latin:styleName="deleteKeyStyle"
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:parentStyle="functionalKeyStyle"
latin:isRepeatable="true" />
<switch>
<!-- When this qwerty keyboard has no voice key but voice key is enabled, then
symbol keyboard will have mic key. That means we should use "?123mic" key
here. -->
<case
latin:voiceKeyEnabled="true"
latin:hasVoiceKey="false"
>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_bkeyboard_123_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
latin:parentStyle="functionalKeyStyle" />
</case>
<default>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
<key-style
latin:styleName="settingsKeyStyle"
latin:codes="@integer/key_settings"
latin:keyIcon="@drawable/sym_bkeyboard_settings"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="spaceKeyStyle"
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="tabKeyStyle"
latin:codes="@integer/key_tab"
latin:keyIcon="@drawable/sym_bkeyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="returnKeyStyle"
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="micKeyStyle"
latin:codes="@integer/key_voice"
latin:popupKeyboard="@xml/popup_mic"
latin:keyIcon="@drawable/sym_bkeyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:keyHintIcon="@drawable/hint_popup"
latin:parentStyle="functionalKeyStyle" />
<!-- Note: This key style is not for functional tab key. This is used for the tab key
which is laid out as normal letter key. -->
<key-style
latin:styleName="nonSpecialBackgroundTabKeyStyle"
latin:codes="@integer/key_tab"
latin:keyIcon="@drawable/sym_bkeyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab" />
</case>
</switch>
<key-style
latin:styleName="toAlphaKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="altKeyStyle"
latin:codes="@integer/key_shift"
latin:keyLabel="@string/label_alt_key"
latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" />
<key-style
latin:styleName="smileyKeyStyle"
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_smileys"
latin:parentStyle="functionalKeyStyle" />
</merge>

View File

@ -26,20 +26,127 @@
latin:keyHeight="@dimen/key_height" latin:keyHeight="@dimen/key_height"
> >
<include <include
latin:keyboardLayout="@xml/kbd_functional_key_style" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<switch>
<case
latin:colorScheme="white"
>
<key-style
latin:styleName="num0KeyStyle"
latin:codes="48"
latin:keyIcon="@drawable/sym_keyboard_num0" />
<key-style
latin:styleName="num1KeyStyle"
latin:codes="49"
latin:keyIcon="@drawable/sym_keyboard_num1" />
<key-style
latin:styleName="num2KeyStyle"
latin:codes="50"
latin:keyIcon="@drawable/sym_keyboard_num2" />
<key-style
latin:styleName="num3KeyStyle"
latin:codes="51"
latin:keyIcon="@drawable/sym_keyboard_num3" />
<key-style
latin:styleName="num4KeyStyle"
latin:codes="52"
latin:keyIcon="@drawable/sym_keyboard_num4" />
<key-style
latin:styleName="num5KeyStyle"
latin:codes="53"
latin:keyIcon="@drawable/sym_keyboard_num5" />
<key-style
latin:styleName="num6KeyStyle"
latin:codes="54"
latin:keyIcon="@drawable/sym_keyboard_num6" />
<key-style
latin:styleName="num7KeyStyle"
latin:codes="55"
latin:keyIcon="@drawable/sym_keyboard_num7" />
<key-style
latin:styleName="num8KeyStyle"
latin:codes="56"
latin:keyIcon="@drawable/sym_keyboard_num8" />
<key-style
latin:styleName="num9KeyStyle"
latin:codes="57"
latin:keyIcon="@drawable/sym_keyboard_num9" />
<key-style
latin:styleName="numAltKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_keyboard_numalt"
latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
<key-style
latin:styleName="numSpaceKeyStyle"
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_keyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
</case>
<case
latin:colorScheme="black"
>
<key-style
latin:styleName="num0KeyStyle"
latin:codes="48"
latin:keyIcon="@drawable/sym_bkeyboard_num0" />
<key-style
latin:styleName="num1KeyStyle"
latin:codes="49"
latin:keyIcon="@drawable/sym_bkeyboard_num1" />
<key-style
latin:styleName="num2KeyStyle"
latin:codes="50"
latin:keyIcon="@drawable/sym_bkeyboard_num2" />
<key-style
latin:styleName="num3KeyStyle"
latin:codes="51"
latin:keyIcon="@drawable/sym_bkeyboard_num3" />
<key-style
latin:styleName="num4KeyStyle"
latin:codes="52"
latin:keyIcon="@drawable/sym_bkeyboard_num4" />
<key-style
latin:styleName="num5KeyStyle"
latin:codes="53"
latin:keyIcon="@drawable/sym_bkeyboard_num5" />
<key-style
latin:styleName="num6KeyStyle"
latin:codes="54"
latin:keyIcon="@drawable/sym_bkeyboard_num6" />
<key-style
latin:styleName="num7KeyStyle"
latin:codes="55"
latin:keyIcon="@drawable/sym_bkeyboard_num7" />
<key-style
latin:styleName="num8KeyStyle"
latin:codes="56"
latin:keyIcon="@drawable/sym_bkeyboard_num8" />
<key-style
latin:styleName="num9KeyStyle"
latin:codes="57"
latin:keyIcon="@drawable/sym_bkeyboard_num9" />
<key-style
latin:styleName="numAltKeyStyle"
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_bkeyboard_numalt"
latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
<key-style
latin:styleName="numSpaceKeyStyle"
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
</case>
</switch>
<Row <Row
latin:rowEdgeFlags="top" latin:rowEdgeFlags="top"
> >
<Key <Key
latin:codes="49" latin:keyStyle="num1KeyStyle"
latin:keyIcon="@drawable/sym_keyboard_num1"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:codes="50" latin:keyStyle="num2KeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_num2" />
<Key <Key
latin:codes="51" latin:keyStyle="num3KeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_num3" />
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle" latin:keyStyle="functionalKeyStyle"
@ -48,15 +155,12 @@
</Row> </Row>
<Row> <Row>
<Key <Key
latin:codes="52" latin:keyStyle="num4KeyStyle"
latin:keyIcon="@drawable/sym_keyboard_num4"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:codes="53" latin:keyStyle="num5KeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_num5" />
<Key <Key
latin:codes="54" latin:keyStyle="num6KeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_num6" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyStyle="functionalKeyStyle" latin:keyStyle="functionalKeyStyle"
@ -65,15 +169,12 @@
</Row> </Row>
<Row> <Row>
<Key <Key
latin:codes="55" latin:keyStyle="num7KeyStyle"
latin:keyIcon="@drawable/sym_keyboard_num7"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:codes="56" latin:keyStyle="num8KeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_num8" />
<Key <Key
latin:codes="57" latin:keyStyle="num9KeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_num9" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="20%p" latin:keyWidth="20%p"
@ -83,17 +184,12 @@
latin:rowEdgeFlags="bottom" latin:rowEdgeFlags="bottom"
> >
<Key <Key
latin:codes="@integer/key_switch_alpha_symbol" latin:keyStyle="numAltKeyStyle"
latin:keyIcon="@drawable/sym_keyboard_numalt"
latin:iconPreview="@drawable/sym_keyboard_feedback_numalt"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:codes="48" latin:keyStyle="num0KeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_num0" />
<Key <Key
latin:codes="@integer/key_space" latin:keyStyle="numSpaceKeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyWidth="20%p" latin:keyWidth="20%p"

View File

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="26.67%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:codes="49"
latin:keyIcon="@drawable/sym_bkeyboard_num1"
latin:keyEdgeFlags="left" />
<Key
latin:codes="50"
latin:keyIcon="@drawable/sym_bkeyboard_num2" />
<Key
latin:codes="51"
latin:keyIcon="@drawable/sym_bkeyboard_num3" />
<Key
latin:keyLabel="-"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:codes="52"
latin:keyIcon="@drawable/sym_bkeyboard_num4"
latin:keyEdgeFlags="left" />
<Key
latin:codes="53"
latin:keyIcon="@drawable/sym_bkeyboard_num5" />
<Key
latin:codes="54"
latin:keyIcon="@drawable/sym_bkeyboard_num6" />
<Key
latin:keyLabel="."
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:codes="55"
latin:keyIcon="@drawable/sym_bkeyboard_num7"
latin:keyEdgeFlags="left" />
<Key
latin:codes="56"
latin:keyIcon="@drawable/sym_bkeyboard_num8" />
<Key
latin:codes="57"
latin:keyIcon="@drawable/sym_bkeyboard_num9" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="20%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:rowEdgeFlags="bottom"
>
<Key
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_bkeyboard_numalt"
latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
<Key
latin:codes="48"
latin:keyIcon="@drawable/sym_bkeyboard_num0" />
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
<Key
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
</Keyboard>

View File

@ -25,7 +25,46 @@
latin:verticalGap="@dimen/key_bottom_gap" latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height" latin:keyHeight="@dimen/key_height"
> >
<include latin:keyboardLayout="@xml/kbd_functional_key_style" /> <include
latin:keyboardLayout="@xml/kbd_key_styles" />
<switch>
<case
latin:colorScheme="white"
>
<key-style
latin:styleName="numStarKeyStyle"
latin:codes="42"
latin:keyIcon="@drawable/sym_keyboard_numstar"
latin:keyEdgeFlags="left" />
<key-style
latin:styleName="numPoundKeyStyle"
latin:codes="35"
latin:keyIcon="@drawable/sym_keyboard_numpound" />
<key-style
latin:styleName="numSpaceKeyStyle"
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_keyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
</case>
<case
latin:colorScheme="black"
>
<key-style
latin:styleName="numStarKeyStyle"
latin:codes="42"
latin:keyIcon="@drawable/sym_bkeyboard_numstar"
latin:keyEdgeFlags="left" />
<key-style
latin:styleName="numPoundKeyStyle"
latin:codes="35"
latin:keyIcon="@drawable/sym_bkeyboard_numpound" />
<key-style
latin:styleName="numSpaceKeyStyle"
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
</case>
</switch>
<Row <Row
latin:rowEdgeFlags="top" latin:rowEdgeFlags="top"
> >
@ -61,16 +100,14 @@
</Row> </Row>
<Row> <Row>
<Key <Key
latin:codes="42" latin:keyStyle="numStarKeyStyle"
latin:keyIcon="@drawable/sym_keyboard_numstar"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<!-- Wait is a semicolon. --> <!-- Wait is a semicolon. -->
<Key <Key
latin:codes="59" latin:codes="59"
latin:keyLabel="Wait" /> latin:keyLabel="Wait" />
<Key <Key
latin:codes="35" latin:keyStyle="numPoundKeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_numpound" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="20%p" latin:keyWidth="20%p"
@ -86,9 +123,7 @@
<Key <Key
latin:keyLabel="+" /> latin:keyLabel="+" />
<Key <Key
latin:codes="@integer/key_space" latin:keyStyle="numSpaceKeyStyle" />
latin:keyIcon="@drawable/sym_keyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyWidth="20%p" latin:keyWidth="20%p"

View File

@ -1,98 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="26.67%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="("
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="/" />
<Key
latin:keyLabel=")" />
<Key
latin:keyLabel="-"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="N"
latin:keyEdgeFlags="left" />
<!-- Pause is a comma. Check PhoneNumberUtils.java to see if this
has changed. -->
<Key
latin:codes="44"
latin:keyLabel="Pause" />
<Key
latin:keyLabel="," />
<Key
latin:keyLabel="."
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:codes="42"
latin:keyIcon="@drawable/sym_bkeyboard_numstar"
latin:keyEdgeFlags="left" />
<!-- Wait is a semicolon. -->
<Key
latin:codes="59"
latin:keyLabel="Wait" />
<Key
latin:codes="35"
latin:keyIcon="@drawable/sym_bkeyboard_numpound" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="20%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:rowEdgeFlags="bottom"
>
<Key
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_phone_key"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="+" />
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
<Key
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
</Keyboard>

View File

@ -26,7 +26,7 @@
latin:keyHeight="@dimen/key_height" latin:keyHeight="@dimen/key_height"
> >
<include <include
latin:keyboardLayout="@xml/kbd_functional_key_style" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<Row <Row
latin:rowEdgeFlags="top" latin:rowEdgeFlags="top"
> >

View File

@ -1,158 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2008, 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.
*/
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="q"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_q"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_w" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_y" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupKeyboard="@xml/kbd_popup_narrow_template"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Spacer
latin:horizontalGap="5%p" />
<Key
latin:keyLabel="a"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_a"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_s" />
<Key
latin:keyLabel="d"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_d" />
<Key
latin:keyLabel="f" />
<Key
latin:keyLabel="g"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_g" />
<Key
latin:keyLabel="h" />
<Key
latin:keyLabel="j" />
<Key
latin:keyLabel="k" />
<Key
latin:keyLabel="l"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_l"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:codes="@integer/key_shift"
latin:keyIcon="@drawable/sym_bkeyboard_shift"
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="z"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_z" />
<Key
latin:keyLabel="x" />
<Key
latin:keyLabel="c"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_c" />
<Key
latin:keyLabel="v"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_v" />
<Key
latin:keyLabel="b" />
<Key
latin:keyLabel="n"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="m" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="15%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_qwerty_black_row4" />
</Keyboard>

View File

@ -1,62 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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"
>
<switch>
<case
latin:mode="url"
>
<Key
latin:keyLabel="/"
latin:popupKeyboard="@xml/popup_slash"
latin:keyHintIcon="@drawable/hint_popup"
latin:isModifier="true" />
</case>
<case
latin:mode="email"
>
<Key
latin:keyLabel="\@"
latin:popupKeyboard="@xml/popup_at"
latin:keyHintIcon="@drawable/hint_popup"
latin:isModifier="true" />
</case>
<case
latin:hasVoiceKey="true"
>
<Key
latin:codes="@integer/key_voice"
latin:popupKeyboard="@xml/popup_mic"
latin:keyIcon="@drawable/sym_bkeyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:keyHintIcon="@drawable/hint_popup"
latin:isModifier="true" />
</case>
<default>
<Key
latin:keyLabel=","
latin:popupKeyboard="@xml/popup_comma"
latin:keyHintIcon="@drawable/hint_popup"
latin:isModifier="true" />
</default>
</switch>
</merge>

View File

@ -1,156 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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"
>
<Row
latin:keyWidth="10%p"
latin:rowEdgeFlags="bottom"
>
<switch>
<case
latin:hasSettingsKey="false"
>
<include
latin:keyboardLayout="@xml/kbd_qwerty_black_symbol" />
<include
latin:keyboardLayout="@xml/kbd_qwerty_black_f1" />
<switch>
<case
latin:mode="web"
>
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyWidth="20%p" />
<Key
latin:codes="@integer/key_tab"
latin:keyIcon="@drawable/sym_bkeyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
latin:keyWidth="20%p" />
</case>
<default>
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyWidth="40%p" />
</default>
</switch>
<Key
latin:keyLabel="."
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_punctuation" />
<switch>
<case
latin:mode="im"
>
<Key
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_smileys"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
</case>
<case
latin:hasSettingsKey="true"
>
<include
latin:keyboardLayout="@xml/kbd_qwerty_black_symbol" />
<Key
latin:codes="@integer/key_settings"
latin:keyIcon="@drawable/sym_bkeyboard_settings"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
<include
latin:keyboardLayout="@xml/kbd_qwerty_black_f1" />
<switch>
<case
latin:mode="web"
>
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyWidth="30%p" />
<Key
latin:codes="@integer/key_tab"
latin:keyIcon="@drawable/sym_bkeyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab" />
</case>
<default>
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyWidth="30%p" />
</default>
</switch>
<Key
latin:keyLabel="."
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_punctuation" />
<switch>
<case
latin:mode="im"
>
<Key
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_smileys"
latin:keyWidth="25%p"
latin:keyEdgeFlags="right" />
</case>
<case
latin:mode="web"
>
<Key
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:keyWidth="15%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:keyWidth="25%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
</case>
</switch>
</Row>
</merge>

View File

@ -26,7 +26,7 @@
latin:keyHeight="@dimen/key_height" latin:keyHeight="@dimen/key_height"
> >
<include <include
latin:keyboardLayout="@xml/kbd_functional_key_style" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<Row <Row
latin:rowEdgeFlags="top" latin:rowEdgeFlags="top"
> >

View File

@ -1,145 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="1"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="¹½⅓¼⅛"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="2"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="²⅔" />
<Key
latin:keyLabel="3"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="³¾⅜" />
<Key
latin:keyLabel="4"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="⁴" />
<Key
latin:keyLabel="5"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="⅝" />
<Key
latin:keyLabel="6" />
<Key
latin:keyLabel="7"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="⅞" />
<Key
latin:keyLabel="8" />
<Key
latin:keyLabel="9" />
<Key
latin:keyLabel="0"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="ⁿ∅"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="\@"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="\#" />
<Key
latin:keyLabel="$"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="¢£€¥₣₤₱" />
<Key
latin:keyLabel="%"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="‰" />
<Key
latin:keyLabel="&amp;" />
<Key
latin:keyLabel="*"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="†‡★" />
<Key
latin:keyLabel="-"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="_—" />
<Key
latin:keyLabel="+"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="±" />
<Key
latin:keyLabel="("
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="[{&lt;" />
<Key
latin:keyLabel=")"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="]}&gt;"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:codes="@integer/key_shift"
latin:keyLabel="@string/label_alt_key"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="!"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="¡" />
<Key
latin:keyLabel="&quot;"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="“”«»˝" />
<Key
latin:keyLabel="\'"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="" />
<Key
latin:keyLabel=":" />
<Key
latin:keyLabel=";" />
<Key
latin:keyLabel="/" />
<Key
latin:keyLabel="\?"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="¿" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="15%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4" />
</Keyboard>

View File

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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"
>
<switch>
<case
latin:hasVoiceKey="true"
>
<Key
latin:codes="@integer/key_voice"
latin:popupKeyboard="@xml/popup_mic"
latin:keyIcon="@drawable/sym_bkeyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:keyHintIcon="@drawable/hint_popup"
latin:isModifier="true" />
</case>
<case
latin:hasVoiceKey="false"
>
<Key
latin:keyLabel=","
latin:popupKeyboard="@xml/popup_comma"
latin:keyHintIcon="@drawable/hint_popup"
latin:isModifier="true" />
</case>
</switch>
</merge>

View File

@ -1,116 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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"
>
<Row
latin:rowEdgeFlags="bottom"
>
<switch>
<case
latin:hasSettingsKey="false"
>
<Key
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key"
latin:keyWidth="20%p"
latin:keyEdgeFlags="left" />
<include
latin:keyboardLayout="@xml/kbd_symbols_black_f1" />
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyWidth="40%p" />
<Key
latin:keyLabel="."
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_punctuation" />
<switch>
<case
latin:mode="im"
>
<Key
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_smileys"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
</case>
<case
latin:hasSettingsKey="true"
>
<Key
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key"
latin:keyWidth="15%p"
latin:keyEdgeFlags="left" />
<Key
latin:codes="@integer/key_settings"
latin:keyIcon="@drawable/sym_bkeyboard_settings"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
<include
latin:keyboardLayout="@xml/kbd_symbols_black_f1" />
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyWidth="30%p" />
<Key
latin:keyLabel="."
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_punctuation" />
<switch>
<case
latin:mode="im"
>
<Key
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_smileys"
latin:keyWidth="25%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:keyWidth="25%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
</case>
</switch>
</Row>
</merge>

View File

@ -26,7 +26,7 @@
latin:keyHeight="@dimen/key_height" latin:keyHeight="@dimen/key_height"
> >
<include <include
latin:keyboardLayout="@xml/kbd_functional_key_style" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<Row <Row
latin:rowEdgeFlags="top" latin:rowEdgeFlags="top"
> >
@ -59,9 +59,7 @@
</Row> </Row>
<Row> <Row>
<Key <Key
latin:codes="@integer/key_tab" latin:keyStyle="nonSpecialBackgroundTabKeyStyle"
latin:keyIcon="@drawable/sym_keyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="£" /> latin:keyLabel="£" />

View File

@ -1,124 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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.
*/
-->
<Keyboard
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:keyHeight="@dimen/key_height"
>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="~"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="`" />
<Key
latin:keyLabel="|" />
<Key
latin:keyLabel="•"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="♪♥♠♦♣" />
<Key
latin:keyLabel="√" />
<Key
latin:keyLabel="π"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="Π" />
<Key
latin:keyLabel="÷" />
<Key
latin:keyLabel="×" />
<Key
latin:keyLabel="{" />
<Key
latin:keyLabel="}"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:codes="@integer/key_tab"
latin:keyLabel="\u21E5"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="£" />
<Key
latin:keyLabel="¢" />
<Key
latin:keyLabel="€" />
<Key
latin:keyLabel="°" />
<Key
latin:keyLabel="^"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="↑↓←→" />
<Key
latin:keyLabel="_" />
<Key
latin:keyLabel="="
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="≠≈∞" />
<Key
latin:keyLabel="[" />
<Key
latin:keyLabel="]"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:codes="@integer/key_shift"
latin:keyLabel="@string/label_alt_key"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:isSticky="true"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="™" />
<Key
latin:keyLabel="®" />
<Key
latin:keyLabel="©" />
<Key
latin:keyLabel="¶"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="§" />
<Key
latin:keyLabel="\\" />
<Key
latin:keyLabel="&lt;"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="≤«‹" />
<Key
latin:keyLabel="&gt;"
latin:popupKeyboard="@xml/kbd_popup_template"
latin:popupCharacters="≥»›" />
<Key
latin:codes="@integer/key_delete"
latin:keyIcon="@drawable/sym_bkeyboard_delete"
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:keyWidth="15%p"
latin:isRepeatable="true"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4" />
</Keyboard>

View File

@ -1,112 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, 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"
>
<Row
latin:rowEdgeFlags="bottom"
>
<switch>
<case
latin:hasSettingsKey="false"
>
<Key
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key"
latin:keyWidth="20%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="„" />
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyWidth="40%p" />
<Key
latin:keyLabel="…" />
<switch>
<case
latin:mode="im"
>
<Key
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_smileys"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
</case>
<case
latin:hasSettingsKey="true"
>
<Key
latin:codes="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key"
latin:keyWidth="15%p"
latin:keyEdgeFlags="left" />
<Key
latin:codes="@integer/key_settings"
latin:keyIcon="@drawable/sym_bkeyboard_settings"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
<Key
latin:keyLabel="„" />
<Key
latin:codes="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyWidth="30%p" />
<Key
latin:keyLabel="…" />
<switch>
<case
latin:mode="im"
>
<Key
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup"
latin:popupKeyboard="@xml/popup_smileys"
latin:keyWidth="25%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:codes="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:keyWidth="25%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
</case>
</switch>
</Row>
</merge>

View File

@ -394,18 +394,22 @@ public class BaseKeyboardParser {
final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser), final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser),
R.styleable.BaseKeyboard_Case); R.styleable.BaseKeyboard_Case);
final TypedArray viewAttr = mResources.obtainAttributes(Xml.asAttributeSet(parser),
R.styleable.BaseKeyboardView);
try { try {
final boolean modeMatched = matchInteger( final boolean modeMatched = matchInteger(a,
a, R.styleable.BaseKeyboard_Case_mode, id.mMode); R.styleable.BaseKeyboard_Case_mode, id.mMode);
final boolean settingsKeyMatched = matchBoolean( final boolean settingsKeyMatched = matchBoolean(a,
a, R.styleable.BaseKeyboard_Case_hasSettingsKey, id.mHasSettingsKey); R.styleable.BaseKeyboard_Case_hasSettingsKey, id.mHasSettingsKey);
final boolean voiceEnabledMatched = matchBoolean( final boolean voiceEnabledMatched = matchBoolean(a,
a, R.styleable.BaseKeyboard_Case_voiceKeyEnabled, id.mVoiceKeyEnabled); R.styleable.BaseKeyboard_Case_voiceKeyEnabled, id.mVoiceKeyEnabled);
final boolean voiceKeyMatched = matchBoolean( final boolean voiceKeyMatched = matchBoolean(a,
a, R.styleable.BaseKeyboard_Case_hasVoiceKey, id.mHasVoiceKey); R.styleable.BaseKeyboard_Case_hasVoiceKey, id.mHasVoiceKey);
final boolean colorSchemeMatched = matchInteger(viewAttr,
R.styleable.BaseKeyboardView_colorScheme, id.mColorScheme);
final boolean selected = modeMatched && settingsKeyMatched final boolean selected = modeMatched && settingsKeyMatched
&& voiceEnabledMatched && voiceKeyMatched; && voiceEnabledMatched && voiceKeyMatched && colorSchemeMatched;
if (DEBUG_TAG) { if (DEBUG_TAG) {
Log.d(TAG, "parseCaseCondition: " + Boolean.toString(selected).toUpperCase() Log.d(TAG, "parseCaseCondition: " + Boolean.toString(selected).toUpperCase()
@ -417,12 +421,15 @@ public class BaseKeyboardParser {
R.styleable.BaseKeyboard_Case_voiceKeyEnabled, "voiceKeyEnabled") R.styleable.BaseKeyboard_Case_voiceKeyEnabled, "voiceKeyEnabled")
+ debugBoolean(a, + debugBoolean(a,
R.styleable.BaseKeyboard_Case_hasVoiceKey, "hasVoiceKey") R.styleable.BaseKeyboard_Case_hasVoiceKey, "hasVoiceKey")
+ debugInteger(viewAttr,
R.styleable.BaseKeyboardView_colorScheme, "colorScheme")
); );
} }
return selected; return selected;
} finally { } finally {
a.recycle(); a.recycle();
viewAttr.recycle();
} }
} }

View File

@ -73,6 +73,9 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
private static final boolean DEBUG = false; private static final boolean DEBUG = false;
private static final boolean DEBUG_KEYBOARD_GRID = false; private static final boolean DEBUG_KEYBOARD_GRID = false;
public static final int COLOR_SCHEME_WHITE = 0;
public static final int COLOR_SCHEME_BLACK = 1;
public static final int NOT_A_TOUCH_COORDINATE = -1; public static final int NOT_A_TOUCH_COORDINATE = -1;
public interface OnKeyboardActionListener { public interface OnKeyboardActionListener {
@ -170,7 +173,7 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
private int mKeyTextColor; private int mKeyTextColor;
private Typeface mKeyTextStyle = Typeface.DEFAULT; private Typeface mKeyTextStyle = Typeface.DEFAULT;
private int mLabelTextSize; private int mLabelTextSize;
private int mSymbolColorScheme = 0; private int mColorScheme = COLOR_SCHEME_WHITE;
private int mShadowColor; private int mShadowColor;
private float mShadowRadius; private float mShadowRadius;
private Drawable mKeyBackground; private Drawable mKeyBackground;
@ -490,8 +493,8 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
break; break;
} }
break; break;
case R.styleable.BaseKeyboardView_symbolColorScheme: case R.styleable.BaseKeyboardView_colorScheme:
mSymbolColorScheme = a.getInt(attr, 0); mColorScheme = a.getInt(attr, COLOR_SCHEME_WHITE);
break; break;
} }
} }
@ -659,8 +662,8 @@ public class BaseKeyboardView extends View implements PointerTracker.UIProxy {
return mShowPreview; return mShowPreview;
} }
public int getSymbolColorScheme() { public int getColorScheme() {
return mSymbolColorScheme; return mColorScheme;
} }
public void setPopupParent(View v) { public void setPopupParent(View v) {

View File

@ -52,27 +52,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
R.layout.input_honeycomb, // DEFAULT_LAYOUT_ID R.layout.input_honeycomb, // DEFAULT_LAYOUT_ID
}; };
// Ids for each characters' color in the keyboard
private static final int CHAR_THEME_COLOR_WHITE = 0;
private static final int CHAR_THEME_COLOR_BLACK = 1;
// Tables which contains resource ids for each character theme color
private static final int[] KBD_PHONE = new int[] {
R.xml.kbd_phone, R.xml.kbd_phone_black
};
private static final int[] KBD_PHONE_SYMBOLS = new int[] {
R.xml.kbd_phone_symbols, R.xml.kbd_phone_symbols_black
};
private static final int[] KBD_SYMBOLS = new int[] {
R.xml.kbd_symbols, R.xml.kbd_symbols_black
};
private static final int[] KBD_SYMBOLS_SHIFT = new int[] {
R.xml.kbd_symbols_shift, R.xml.kbd_symbols_shift_black
};
private static final int[] KBD_QWERTY = new int[] {
R.xml.kbd_qwerty, R.xml.kbd_qwerty_black
};
private static final int SYMBOLS_MODE_STATE_NONE = 0; private static final int SYMBOLS_MODE_STATE_NONE = 0;
private static final int SYMBOLS_MODE_STATE_BEGIN = 1; private static final int SYMBOLS_MODE_STATE_BEGIN = 1;
private static final int SYMBOLS_MODE_STATE_SYMBOL = 2; private static final int SYMBOLS_MODE_STATE_SYMBOL = 2;
@ -137,7 +116,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
final Locale locale = mSubtypeSwitcher.getInputLocale(); final Locale locale = mSubtypeSwitcher.getInputLocale();
final int orientation = mInputMethodService.getResources().getConfiguration().orientation; final int orientation = mInputMethodService.getResources().getConfiguration().orientation;
final int mode = mMode; final int mode = mMode;
final int colorScheme = getCharColorId(); final int colorScheme = getColorScheme();
final boolean hasSettingsKey = mHasSettingsKey; final boolean hasSettingsKey = mHasSettingsKey;
final boolean voiceKeyEnabled = mVoiceKeyEnabled; final boolean voiceKeyEnabled = mVoiceKeyEnabled;
final boolean hasVoiceKey = voiceKeyEnabled && !mVoiceButtonOnPrimary; final boolean hasVoiceKey = voiceKeyEnabled && !mVoiceButtonOnPrimary;
@ -150,10 +129,10 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
// mSymbolsId and mSymbolsShiftedId to "phone keyboard" and "phone symbols keyboard" // mSymbolsId and mSymbolsShiftedId to "phone keyboard" and "phone symbols keyboard"
// respectively here for xlarge device's layout switching. // respectively here for xlarge device's layout switching.
mSymbolsId = new KeyboardId(locale, orientation, mode, mSymbolsId = new KeyboardId(locale, orientation, mode,
mode == MODE_PHONE ? KBD_PHONE : KBD_SYMBOLS, mode == MODE_PHONE ? R.xml.kbd_phone : R.xml.kbd_symbols,
colorScheme, hasSettingsKey, voiceKeyEnabled, hasVoiceKey, imeOptions, true); colorScheme, hasSettingsKey, voiceKeyEnabled, hasVoiceKey, imeOptions, true);
mSymbolsShiftedId = new KeyboardId(locale, orientation, mode, mSymbolsShiftedId = new KeyboardId(locale, orientation, mode,
mode == MODE_PHONE ? KBD_PHONE_SYMBOLS : KBD_SYMBOLS_SHIFT, mode == MODE_PHONE ? R.xml.kbd_phone_symbols : R.xml.kbd_symbols_shift,
colorScheme, hasSettingsKey, voiceKeyEnabled, hasVoiceKey, imeOptions, true); colorScheme, hasSettingsKey, voiceKeyEnabled, hasVoiceKey, imeOptions, true);
} }
@ -165,7 +144,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
public final Locale mLocale; public final Locale mLocale;
public final int mOrientation; public final int mOrientation;
public final int mMode; public final int mMode;
public final int[] mXmlArray; public final int mXmlId;
public final int mColorScheme; public final int mColorScheme;
public final boolean mHasSettingsKey; public final boolean mHasSettingsKey;
public final boolean mVoiceKeyEnabled; public final boolean mVoiceKeyEnabled;
@ -176,12 +155,12 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
private final int mHashCode; private final int mHashCode;
public KeyboardId(Locale locale, int orientation, int mode, public KeyboardId(Locale locale, int orientation, int mode,
int[] xmlArray, int colorScheme, boolean hasSettingsKey, boolean voiceKeyEnabled, int xmlId, int colorScheme, boolean hasSettingsKey, boolean voiceKeyEnabled,
boolean hasVoiceKey, int imeOptions, boolean enableShiftLock) { boolean hasVoiceKey, int imeOptions, boolean enableShiftLock) {
this.mLocale = locale; this.mLocale = locale;
this.mOrientation = orientation; this.mOrientation = orientation;
this.mMode = mode; this.mMode = mode;
this.mXmlArray = xmlArray; this.mXmlId = xmlId;
this.mColorScheme = colorScheme; this.mColorScheme = colorScheme;
this.mHasSettingsKey = hasSettingsKey; this.mHasSettingsKey = hasSettingsKey;
this.mVoiceKeyEnabled = voiceKeyEnabled; this.mVoiceKeyEnabled = voiceKeyEnabled;
@ -193,7 +172,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
locale, locale,
orientation, orientation,
mode, mode,
xmlArray, xmlId,
colorScheme, colorScheme,
hasSettingsKey, hasSettingsKey,
voiceKeyEnabled, voiceKeyEnabled,
@ -204,11 +183,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
} }
public int getXmlId() { public int getXmlId() {
return mXmlArray[mColorScheme]; return mXmlId;
} }
public boolean isAlphabetMode() { public boolean isAlphabetMode() {
return mXmlArray == KBD_QWERTY; return mXmlId == R.xml.kbd_qwerty;
} }
@Override @Override
@ -220,7 +199,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
return other.mLocale.equals(this.mLocale) return other.mLocale.equals(this.mLocale)
&& other.mOrientation == this.mOrientation && other.mOrientation == this.mOrientation
&& other.mMode == this.mMode && other.mMode == this.mMode
&& other.mXmlArray == this.mXmlArray && other.mXmlId == this.mXmlId
&& other.mColorScheme == this.mColorScheme && other.mColorScheme == this.mColorScheme
&& other.mHasSettingsKey == this.mHasSettingsKey && other.mHasSettingsKey == this.mHasSettingsKey
&& other.mVoiceKeyEnabled == this.mVoiceKeyEnabled && other.mVoiceKeyEnabled == this.mVoiceKeyEnabled
@ -241,8 +220,8 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
(mOrientation == 1 ? "port" : "land"), (mOrientation == 1 ? "port" : "land"),
modeName(mMode), modeName(mMode),
mImeOptions, mImeOptions,
mXmlArray[0], mXmlId,
(mColorScheme == CHAR_THEME_COLOR_WHITE ? "white" : "black"), colorSchemeName(mColorScheme),
(mHasSettingsKey ? " hasSettingsKey" : ""), (mHasSettingsKey ? " hasSettingsKey" : ""),
(mVoiceKeyEnabled ? " voiceKeyEnabled" : ""), (mVoiceKeyEnabled ? " voiceKeyEnabled" : ""),
(mHasVoiceKey ? " hasVoiceKey" : ""), (mHasVoiceKey ? " hasVoiceKey" : ""),
@ -260,6 +239,14 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
} }
return null; return null;
} }
private static String colorSchemeName(int colorScheme) {
switch (colorScheme) {
case BaseKeyboardView.COLOR_SCHEME_WHITE: return "white";
case BaseKeyboardView.COLOR_SCHEME_BLACK: return "black";
}
return null;
}
} }
private boolean hasVoiceKey(boolean isSymbols) { private boolean hasVoiceKey(boolean isSymbols) {
@ -315,7 +302,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
keyboard = new LatinKeyboard(mInputMethodService, id); keyboard = new LatinKeyboard(mInputMethodService, id);
keyboard.setImeOptions(res, id.mMode, id.mImeOptions); keyboard.setImeOptions(res, id.mMode, id.mImeOptions);
keyboard.setColorOfSymbolIcons(isBlackSym(id.mColorScheme));
if (id.mEnableShiftLock) { if (id.mEnableShiftLock) {
keyboard.enableShiftLock(); keyboard.enableShiftLock();
@ -338,20 +324,20 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
private KeyboardId getKeyboardId(int mode, int imeOptions, boolean isSymbols) { private KeyboardId getKeyboardId(int mode, int imeOptions, boolean isSymbols) {
final boolean hasVoiceKey = hasVoiceKey(isSymbols); final boolean hasVoiceKey = hasVoiceKey(isSymbols);
final int charColorId = getCharColorId(); final int charColorId = getColorScheme();
final int[] xmlArray; final int xmlId;
final boolean enableShiftLock; final boolean enableShiftLock;
if (isSymbols) { if (isSymbols) {
xmlArray = mode == MODE_PHONE ? KBD_PHONE_SYMBOLS : KBD_SYMBOLS; xmlId = mode == MODE_PHONE ? R.xml.kbd_phone_symbols : R.xml.kbd_symbols;
enableShiftLock = false; enableShiftLock = false;
} else { // QWERTY } else { // QWERTY
xmlArray = mode == MODE_PHONE ? KBD_PHONE : KBD_QWERTY; xmlId = mode == MODE_PHONE ? R.xml.kbd_phone : R.xml.kbd_qwerty;
enableShiftLock = mode == MODE_PHONE ? false : true; enableShiftLock = mode == MODE_PHONE ? false : true;
} }
final int orientation = mInputMethodService.getResources().getConfiguration().orientation; final int orientation = mInputMethodService.getResources().getConfiguration().orientation;
final Locale locale = mSubtypeSwitcher.getInputLocale(); final Locale locale = mSubtypeSwitcher.getInputLocale();
return new KeyboardId(locale, orientation, mode, xmlArray, charColorId, return new KeyboardId(locale, orientation, mode, xmlId, charColorId,
mHasSettingsKey, mVoiceKeyEnabled, hasVoiceKey, imeOptions, enableShiftLock); mHasSettingsKey, mVoiceKeyEnabled, hasVoiceKey, imeOptions, enableShiftLock);
} }
@ -719,23 +705,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
} }
} }
public boolean isBlackSym() { private int getColorScheme() {
if (mInputView != null && mInputView.getSymbolColorScheme() == 1) { return (mInputView != null)
return true; ? mInputView.getColorScheme() : BaseKeyboardView.COLOR_SCHEME_WHITE;
}
return false;
}
private boolean isBlackSym(int colorScheme) {
return colorScheme == CHAR_THEME_COLOR_BLACK;
}
private int getCharColorId() {
if (isBlackSym()) {
return CHAR_THEME_COLOR_BLACK;
} else {
return CHAR_THEME_COLOR_WHITE;
}
} }
public void onAutoCompletionStateChanged(boolean isAutoCompletion) { public void onAutoCompletionStateChanged(boolean isAutoCompletion) {

View File

@ -46,7 +46,7 @@ public class LatinKeyboard extends BaseKeyboard {
private static final int OPACITY_FULLY_OPAQUE = 255; private static final int OPACITY_FULLY_OPAQUE = 255;
private static final int SPACE_LED_LENGTH_PERCENT = 80; private static final int SPACE_LED_LENGTH_PERCENT = 80;
private Drawable mShiftedIcon; private final Drawable mShiftedIcon;
private Drawable mShiftLockPreviewIcon; private Drawable mShiftLockPreviewIcon;
private final HashMap<Key, Drawable> mNormalShiftIcons = new HashMap<Key, Drawable>(); private final HashMap<Key, Drawable> mNormalShiftIcons = new HashMap<Key, Drawable>();
private Drawable mSpaceIcon; private Drawable mSpaceIcon;
@ -54,6 +54,8 @@ public class LatinKeyboard extends BaseKeyboard {
private Drawable mSpacePreviewIcon; private Drawable mSpacePreviewIcon;
private final Drawable mButtonArrowLeftIcon; private final Drawable mButtonArrowLeftIcon;
private final Drawable mButtonArrowRightIcon; private final Drawable mButtonArrowRightIcon;
private final Drawable mSearchIcon;
private final int mSpaceBarTextShadowColor;
private Key mEnterKey; private Key mEnterKey;
private Key mSpaceKey; private Key mSpaceKey;
private int mSpaceKeyIndex = -1; private int mSpaceKeyIndex = -1;
@ -61,7 +63,6 @@ public class LatinKeyboard extends BaseKeyboard {
private int mSpaceDragLastDiff; private int mSpaceDragLastDiff;
private final Resources mRes; private final Resources mRes;
private final Context mContext; private final Context mContext;
private final boolean mIsAlphaKeyboard;
private boolean mCurrentlyInSpace; private boolean mCurrentlyInSpace;
private SlidingLocaleDrawable mSlidingLocaleIcon; private SlidingLocaleDrawable mSlidingLocaleIcon;
private int[] mPrefLetterFrequencies; private int[] mPrefLetterFrequencies;
@ -76,9 +77,6 @@ public class LatinKeyboard extends BaseKeyboard {
private final CharSequence mDefaultEnterLabel; private final CharSequence mDefaultEnterLabel;
private final CharSequence mDefaultEnterText; private final CharSequence mDefaultEnterText;
// TODO: generalize for any keyboardId
private boolean mIsBlackSym;
private LatinKeyboardShiftState mShiftState = new LatinKeyboardShiftState(); private LatinKeyboardShiftState mShiftState = new LatinKeyboardShiftState();
private static final float SPACEBAR_DRAG_THRESHOLD = 0.8f; private static final float SPACEBAR_DRAG_THRESHOLD = 0.8f;
@ -99,19 +97,26 @@ public class LatinKeyboard extends BaseKeyboard {
final Resources res = context.getResources(); final Resources res = context.getResources();
mContext = context; mContext = context;
mRes = res; mRes = res;
mShiftedIcon = res.getDrawable(R.drawable.sym_keyboard_shift_locked); if (id.mColorScheme == BaseKeyboardView.COLOR_SCHEME_BLACK) {
// TODO: use <case imeOptions> and <case colorScheme> in XML to load search icon
mSearchIcon = res.getDrawable(R.drawable.sym_bkeyboard_search);
mShiftedIcon = res.getDrawable(R.drawable.sym_bkeyboard_shift_locked);
mSpaceBarTextShadowColor = res.getColor(
R.color.latinkeyboard_bar_language_shadow_black);
} else { // default color scheme is BaseKeyboardView.COLOR_SCHEME_WHITE
// TODO: use <case imeOptions> and <case colorScheme> in XML to load search icon
mSearchIcon = res.getDrawable(R.drawable.sym_keyboard_search);
mShiftedIcon = res.getDrawable(R.drawable.sym_keyboard_shift_locked);
mSpaceBarTextShadowColor = res.getColor(
R.color.latinkeyboard_bar_language_shadow_white);
}
mShiftLockPreviewIcon = res.getDrawable(R.drawable.sym_keyboard_feedback_shift_locked); mShiftLockPreviewIcon = res.getDrawable(R.drawable.sym_keyboard_feedback_shift_locked);
setDefaultBounds(mShiftLockPreviewIcon); setDefaultBounds(mShiftLockPreviewIcon);
mSpaceIcon = res.getDrawable(R.drawable.sym_keyboard_space);
mSpaceAutoCompletionIndicator = res.getDrawable(R.drawable.sym_keyboard_space_led); mSpaceAutoCompletionIndicator = res.getDrawable(R.drawable.sym_keyboard_space_led);
mSpacePreviewIcon = res.getDrawable(R.drawable.sym_keyboard_feedback_space);
mButtonArrowLeftIcon = res.getDrawable(R.drawable.sym_keyboard_language_arrows_left); mButtonArrowLeftIcon = res.getDrawable(R.drawable.sym_keyboard_language_arrows_left);
mButtonArrowRightIcon = res.getDrawable(R.drawable.sym_keyboard_language_arrows_right); mButtonArrowRightIcon = res.getDrawable(R.drawable.sym_keyboard_language_arrows_right);
sSpacebarVerticalCorrection = res.getDimensionPixelOffset( sSpacebarVerticalCorrection = res.getDimensionPixelOffset(
R.dimen.spacebar_vertical_correction); R.dimen.spacebar_vertical_correction);
final int xmlLayoutResId = id.getXmlId();
mIsAlphaKeyboard = xmlLayoutResId == R.xml.kbd_qwerty
|| xmlLayoutResId == R.xml.kbd_qwerty_black;
mSpaceKeyIndex = indexOf(LatinIME.KEYCODE_SPACE); mSpaceKeyIndex = indexOf(LatinIME.KEYCODE_SPACE);
if (mEnterKey != null) { if (mEnterKey != null) {
@ -135,6 +140,8 @@ public class LatinKeyboard extends BaseKeyboard {
break; break;
case LatinIME.KEYCODE_SPACE: case LatinIME.KEYCODE_SPACE:
mSpaceKey = key; mSpaceKey = key;
mSpaceIcon = key.icon;
mSpacePreviewIcon = key.iconPreview;
break; break;
} }
@ -151,6 +158,7 @@ public class LatinKeyboard extends BaseKeyboard {
key.label = label; key.label = label;
} }
// TODO: remove this method and use <case imeOptions> in XML
public void setImeOptions(Resources res, int mode, int options) { public void setImeOptions(Resources res, int mode, int options) {
if (mEnterKey == null) if (mEnterKey == null)
return; return;
@ -170,8 +178,7 @@ public class LatinKeyboard extends BaseKeyboard {
case EditorInfo.IME_ACTION_SEARCH: case EditorInfo.IME_ACTION_SEARCH:
resetKeyAttributes(mEnterKey, null); resetKeyAttributes(mEnterKey, null);
mEnterKey.iconPreview = res.getDrawable(R.drawable.sym_keyboard_feedback_search); mEnterKey.iconPreview = res.getDrawable(R.drawable.sym_keyboard_feedback_search);
mEnterKey.icon = res.getDrawable(mIsBlackSym ? R.drawable.sym_bkeyboard_search mEnterKey.icon = mSearchIcon;
: R.drawable.sym_keyboard_search);
break; break;
case EditorInfo.IME_ACTION_SEND: case EditorInfo.IME_ACTION_SEND:
resetKeyAttributes(mEnterKey, res.getText(R.string.label_send_key)); resetKeyAttributes(mEnterKey, res.getText(R.string.label_send_key));
@ -240,11 +247,11 @@ public class LatinKeyboard extends BaseKeyboard {
} }
public boolean isAutomaticTemporaryUpperCase() { public boolean isAutomaticTemporaryUpperCase() {
return mIsAlphaKeyboard && mShiftState.isAutomaticTemporaryUpperCase(); return isAlphaKeyboard() && mShiftState.isAutomaticTemporaryUpperCase();
} }
public boolean isManualTemporaryUpperCase() { public boolean isManualTemporaryUpperCase() {
return mIsAlphaKeyboard && mShiftState.isManualTemporaryUpperCase(); return isAlphaKeyboard() && mShiftState.isManualTemporaryUpperCase();
} }
/* package */ LatinKeyboardShiftState getKeyboardShiftState() { /* package */ LatinKeyboardShiftState getKeyboardShiftState() {
@ -252,43 +259,30 @@ public class LatinKeyboard extends BaseKeyboard {
} }
public boolean isAlphaKeyboard() { public boolean isAlphaKeyboard() {
return mIsAlphaKeyboard; return mId.getXmlId() == R.xml.kbd_qwerty;
}
public void setColorOfSymbolIcons(boolean isBlack) {
mIsBlackSym = isBlack;
final Resources res = mRes;
if (isBlack) {
mShiftedIcon = res.getDrawable(R.drawable.sym_bkeyboard_shift_locked);
mSpaceIcon = res.getDrawable(R.drawable.sym_bkeyboard_space);
} else {
mShiftedIcon = res.getDrawable(R.drawable.sym_keyboard_shift_locked);
mSpaceIcon = res.getDrawable(R.drawable.sym_keyboard_space);
}
} }
/** /**
* @return a key which should be invalidated. * @return a key which should be invalidated.
*/ */
public Key onAutoCompletionStateChanged(boolean isAutoCompletion) { public Key onAutoCompletionStateChanged(boolean isAutoCompletion) {
updateSpaceBarForLocale(isAutoCompletion, mIsBlackSym); updateSpaceBarForLocale(isAutoCompletion);
return mSpaceKey; return mSpaceKey;
} }
private void updateSpaceBarForLocale(boolean isAutoCompletion, boolean isBlack) { private void updateSpaceBarForLocale(boolean isAutoCompletion) {
final Resources res = mRes; final Resources res = mRes;
// If application locales are explicitly selected. // If application locales are explicitly selected.
if (SubtypeSwitcher.getInstance().needsToDisplayLanguage()) { if (SubtypeSwitcher.getInstance().needsToDisplayLanguage()) {
mSpaceKey.icon = new BitmapDrawable(res, mSpaceKey.icon = new BitmapDrawable(res,
drawSpaceBar(OPACITY_FULLY_OPAQUE, isAutoCompletion, isBlack)); drawSpaceBar(OPACITY_FULLY_OPAQUE, isAutoCompletion));
} else { } else {
// sym_keyboard_space_led can be shared with Black and White symbol themes. // sym_keyboard_space_led can be shared with Black and White symbol themes.
if (isAutoCompletion) { if (isAutoCompletion) {
mSpaceKey.icon = new BitmapDrawable(res, mSpaceKey.icon = new BitmapDrawable(res,
drawSpaceBar(OPACITY_FULLY_OPAQUE, isAutoCompletion, isBlack)); drawSpaceBar(OPACITY_FULLY_OPAQUE, isAutoCompletion));
} else { } else {
mSpaceKey.icon = isBlack ? res.getDrawable(R.drawable.sym_bkeyboard_space) mSpaceKey.icon = mSpaceIcon;
: res.getDrawable(R.drawable.sym_keyboard_space);
} }
} }
} }
@ -343,7 +337,7 @@ public class LatinKeyboard extends BaseKeyboard {
return language; return language;
} }
private Bitmap drawSpaceBar(int opacity, boolean isAutoCompletion, boolean isBlack) { private Bitmap drawSpaceBar(int opacity, boolean isAutoCompletion) {
final int width = mSpaceKey.width; final int width = mSpaceKey.width;
final int height = mSpaceIcon.getIntrinsicHeight(); final int height = mSpaceIcon.getIntrinsicHeight();
final Bitmap buffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); final Bitmap buffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
@ -366,12 +360,9 @@ public class LatinKeyboard extends BaseKeyboard {
allowVariableTextSize); allowVariableTextSize);
// Draw language text with shadow // Draw language text with shadow
final int shadowColor = res.getColor(isBlack
? R.color.latinkeyboard_bar_language_shadow_black
: R.color.latinkeyboard_bar_language_shadow_white);
final float baseline = height * SPACEBAR_LANGUAGE_BASELINE; final float baseline = height * SPACEBAR_LANGUAGE_BASELINE;
final float descent = paint.descent(); final float descent = paint.descent();
paint.setColor(shadowColor); paint.setColor(mSpaceBarTextShadowColor);
canvas.drawText(language, width / 2, baseline - descent - 1, paint); canvas.drawText(language, width / 2, baseline - descent - 1, paint);
paint.setColor(res.getColor(R.color.latinkeyboard_bar_language_text)); paint.setColor(res.getColor(R.color.latinkeyboard_bar_language_text));
canvas.drawText(language, width / 2, baseline - descent, paint); canvas.drawText(language, width / 2, baseline - descent, paint);