aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rwxr-xr-xjava/res/drawable-mdpi/btn_center_default.9.png (renamed from java/res/drawable-xlarge/btn_center_default.9.png)bin182 -> 182 bytes
-rwxr-xr-xjava/res/drawable-mdpi/btn_center_pressed.9.png (renamed from java/res/drawable-xlarge/btn_center_pressed.9.png)bin200 -> 200 bytes
-rw-r--r--java/res/drawable-mdpi/btn_center_selected.9.png (renamed from java/res/drawable-xlarge/btn_center_selected.9.png)bin200 -> 200 bytes
-rw-r--r--java/res/drawable-mdpi/mic_base.png (renamed from java/res/drawable-xlarge/mic_base.png)bin2957 -> 2957 bytes
-rw-r--r--java/res/drawable-mdpi/mic_full.png (renamed from java/res/drawable-xlarge/mic_full.png)bin2935 -> 2935 bytes
-rw-r--r--java/res/drawable-mdpi/vs_dialog_blue.9.png (renamed from java/res/drawable-xlarge/vs_dialog_blue.9.png)bin8275 -> 8275 bytes
-rw-r--r--java/res/drawable-mdpi/vs_dialog_red.9.png (renamed from java/res/drawable-xlarge/vs_dialog_red.9.png)bin8607 -> 8607 bytes
-rw-r--r--java/res/drawable-mdpi/vs_dialog_yellow.9.png (renamed from java/res/drawable-xlarge/vs_dialog_yellow.9.png)bin8151 -> 8151 bytes
-rw-r--r--java/res/drawable-mdpi/vs_popup_mic_edge.png (renamed from java/res/drawable-xlarge/vs_popup_mic_edge.png)bin3685 -> 3685 bytes
-rwxr-xr-xjava/res/drawable-xlarge/caution.pngbin1100 -> 0 bytes
-rw-r--r--java/res/drawable-xlarge/mic_slash.pngbin3766 -> 0 bytes
-rwxr-xr-xjava/res/drawable/btn_center_default.9.pngbin182 -> 0 bytes
-rwxr-xr-xjava/res/drawable/btn_center_pressed.9.pngbin200 -> 0 bytes
-rw-r--r--java/res/drawable/btn_center_selected.9.pngbin200 -> 0 bytes
-rwxr-xr-xjava/res/drawable/caution.pngbin1100 -> 0 bytes
-rw-r--r--java/res/drawable/mic_base.pngbin2957 -> 0 bytes
-rw-r--r--java/res/drawable/mic_full.pngbin2935 -> 0 bytes
-rw-r--r--java/res/drawable/mic_slash.pngbin3766 -> 0 bytes
-rw-r--r--java/res/drawable/vs_dialog_blue.9.pngbin8275 -> 0 bytes
-rw-r--r--java/res/drawable/vs_dialog_red.9.pngbin8607 -> 0 bytes
-rw-r--r--java/res/drawable/vs_dialog_yellow.9.pngbin8151 -> 0 bytes
-rw-r--r--java/res/drawable/vs_popup_mic_edge.pngbin3685 -> 0 bytes
-rw-r--r--java/res/layout-large/candidate.xml60
-rw-r--r--java/res/layout-large/candidate_preview.xml29
-rw-r--r--java/res/layout-large/candidates.xml45
-rw-r--r--java/res/layout-large/keyboard_popup_honeycomb.xml41
-rw-r--r--java/res/values-large-land/dimens.xml39
-rw-r--r--java/res/values-large/config.xml45
-rw-r--r--java/res/values-large/dimens.xml51
-rw-r--r--java/res/values-large/donottranslate.xml23
-rw-r--r--java/res/xml-large-land/kbd_popup_template.xml27
-rw-r--r--java/res/xml-large/kbd_azerty_rows.xml169
-rw-r--r--java/res/xml-large/kbd_key_styles.xml183
-rw-r--r--java/res/xml-large/kbd_number.xml229
-rw-r--r--java/res/xml-large/kbd_numkey_styles.xml148
-rw-r--r--java/res/xml-large/kbd_phone.xml166
-rw-r--r--java/res/xml-large/kbd_phone_symbols.xml178
-rw-r--r--java/res/xml-large/kbd_popup_template.xml27
-rw-r--r--java/res/xml-large/kbd_qwerty.xml33
-rw-r--r--java/res/xml-large/kbd_qwerty_row1.xml68
-rw-r--r--java/res/xml-large/kbd_qwerty_row2.xml61
-rw-r--r--java/res/xml-large/kbd_qwerty_row3.xml78
-rw-r--r--java/res/xml-large/kbd_qwerty_row4.xml258
-rw-r--r--java/res/xml-large/kbd_qwerty_rows.xml34
-rw-r--r--java/res/xml-large/kbd_qwerty_rows_scandinavia.xml118
-rw-r--r--java/res/xml-large/kbd_qwertz_rows.xml127
-rw-r--r--java/res/xml-large/kbd_ru_rows.xml146
-rw-r--r--java/res/xml-large/kbd_sr_rows.xml149
-rw-r--r--java/res/xml-large/kbd_symbols.xml230
-rw-r--r--java/res/xml-large/kbd_symbols_shift.xml180
50 files changed, 2942 insertions, 0 deletions
diff --git a/java/res/drawable-xlarge/btn_center_default.9.png b/java/res/drawable-mdpi/btn_center_default.9.png
index d5ec36ba4..d5ec36ba4 100755
--- a/java/res/drawable-xlarge/btn_center_default.9.png
+++ b/java/res/drawable-mdpi/btn_center_default.9.png
Binary files differ
diff --git a/java/res/drawable-xlarge/btn_center_pressed.9.png b/java/res/drawable-mdpi/btn_center_pressed.9.png
index 593a679d0..593a679d0 100755
--- a/java/res/drawable-xlarge/btn_center_pressed.9.png
+++ b/java/res/drawable-mdpi/btn_center_pressed.9.png
Binary files differ
diff --git a/java/res/drawable-xlarge/btn_center_selected.9.png b/java/res/drawable-mdpi/btn_center_selected.9.png
index f1914a886..f1914a886 100644
--- a/java/res/drawable-xlarge/btn_center_selected.9.png
+++ b/java/res/drawable-mdpi/btn_center_selected.9.png
Binary files differ
diff --git a/java/res/drawable-xlarge/mic_base.png b/java/res/drawable-mdpi/mic_base.png
index 53e29ff4b..53e29ff4b 100644
--- a/java/res/drawable-xlarge/mic_base.png
+++ b/java/res/drawable-mdpi/mic_base.png
Binary files differ
diff --git a/java/res/drawable-xlarge/mic_full.png b/java/res/drawable-mdpi/mic_full.png
index e3e3dfac3..e3e3dfac3 100644
--- a/java/res/drawable-xlarge/mic_full.png
+++ b/java/res/drawable-mdpi/mic_full.png
Binary files differ
diff --git a/java/res/drawable-xlarge/vs_dialog_blue.9.png b/java/res/drawable-mdpi/vs_dialog_blue.9.png
index cf27e8f43..cf27e8f43 100644
--- a/java/res/drawable-xlarge/vs_dialog_blue.9.png
+++ b/java/res/drawable-mdpi/vs_dialog_blue.9.png
Binary files differ
diff --git a/java/res/drawable-xlarge/vs_dialog_red.9.png b/java/res/drawable-mdpi/vs_dialog_red.9.png
index 6c08d5a30..6c08d5a30 100644
--- a/java/res/drawable-xlarge/vs_dialog_red.9.png
+++ b/java/res/drawable-mdpi/vs_dialog_red.9.png
Binary files differ
diff --git a/java/res/drawable-xlarge/vs_dialog_yellow.9.png b/java/res/drawable-mdpi/vs_dialog_yellow.9.png
index 2fb06c263..2fb06c263 100644
--- a/java/res/drawable-xlarge/vs_dialog_yellow.9.png
+++ b/java/res/drawable-mdpi/vs_dialog_yellow.9.png
Binary files differ
diff --git a/java/res/drawable-xlarge/vs_popup_mic_edge.png b/java/res/drawable-mdpi/vs_popup_mic_edge.png
index 4ff6337a2..4ff6337a2 100644
--- a/java/res/drawable-xlarge/vs_popup_mic_edge.png
+++ b/java/res/drawable-mdpi/vs_popup_mic_edge.png
Binary files differ
diff --git a/java/res/drawable-xlarge/caution.png b/java/res/drawable-xlarge/caution.png
deleted file mode 100755
index eaef53425..000000000
--- a/java/res/drawable-xlarge/caution.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-xlarge/mic_slash.png b/java/res/drawable-xlarge/mic_slash.png
deleted file mode 100644
index 1dd05c5b4..000000000
--- a/java/res/drawable-xlarge/mic_slash.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/btn_center_default.9.png b/java/res/drawable/btn_center_default.9.png
deleted file mode 100755
index d5ec36ba4..000000000
--- a/java/res/drawable/btn_center_default.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/btn_center_pressed.9.png b/java/res/drawable/btn_center_pressed.9.png
deleted file mode 100755
index 593a679d0..000000000
--- a/java/res/drawable/btn_center_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/btn_center_selected.9.png b/java/res/drawable/btn_center_selected.9.png
deleted file mode 100644
index f1914a886..000000000
--- a/java/res/drawable/btn_center_selected.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/caution.png b/java/res/drawable/caution.png
deleted file mode 100755
index eaef53425..000000000
--- a/java/res/drawable/caution.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/mic_base.png b/java/res/drawable/mic_base.png
deleted file mode 100644
index 53e29ff4b..000000000
--- a/java/res/drawable/mic_base.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/mic_full.png b/java/res/drawable/mic_full.png
deleted file mode 100644
index e3e3dfac3..000000000
--- a/java/res/drawable/mic_full.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/mic_slash.png b/java/res/drawable/mic_slash.png
deleted file mode 100644
index 1dd05c5b4..000000000
--- a/java/res/drawable/mic_slash.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/vs_dialog_blue.9.png b/java/res/drawable/vs_dialog_blue.9.png
deleted file mode 100644
index cf27e8f43..000000000
--- a/java/res/drawable/vs_dialog_blue.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/vs_dialog_red.9.png b/java/res/drawable/vs_dialog_red.9.png
deleted file mode 100644
index 6c08d5a30..000000000
--- a/java/res/drawable/vs_dialog_red.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/vs_dialog_yellow.9.png b/java/res/drawable/vs_dialog_yellow.9.png
deleted file mode 100644
index 2fb06c263..000000000
--- a/java/res/drawable/vs_dialog_yellow.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable/vs_popup_mic_edge.png b/java/res/drawable/vs_popup_mic_edge.png
deleted file mode 100644
index 4ff6337a2..000000000
--- a/java/res/drawable/vs_popup_mic_edge.png
+++ /dev/null
Binary files differ
diff --git a/java/res/layout-large/candidate.xml b/java/res/layout-large/candidate.xml
new file mode 100644
index 000000000..74532a1e2
--- /dev/null
+++ b/java/res/layout-large/candidate.xml
@@ -0,0 +1,60 @@
+<?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.
+*/
+-->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/candidate_strip_height"
+ android:orientation="horizontal"
+ android:paddingRight="@dimen/candidate_padding"
+>
+ <ImageView
+ android:id="@+id/candidate_divider"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/candidate_strip_height"
+ android:visibility="gone"
+ android:focusable="false"
+ android:clickable="false"
+ android:src="@drawable/keyboard_suggest_strip_divider"
+ android:gravity="center_vertical|center_horizontal" />
+ <Button
+ android:id="@+id/candidate_word"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/candidate_strip_height"
+ android:minWidth="@dimen/candidate_min_width"
+ android:textSize="@dimen/candidate_text_size"
+ android:textColor="@color/candidate_normal"
+ android:background="@drawable/btn_candidate_holo"
+ android:focusable="true"
+ android:clickable="true"
+ android:gravity="center_vertical|center_horizontal"
+ android:paddingLeft="@dimen/candidate_padding" />
+ <TextView
+ android:id="@+id/candidate_debug_info"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:textSize="10dip"
+ android:textColor="#ff808080"
+ android:focusable="false"
+ android:clickable="false"
+ android:gravity="bottom"
+ android:paddingLeft="4dip" />
+</LinearLayout>
diff --git a/java/res/layout-large/candidate_preview.xml b/java/res/layout-large/candidate_preview.xml
new file mode 100644
index 000000000..61d5f8e7b
--- /dev/null
+++ b/java/res/layout-large/candidate_preview.xml
@@ -0,0 +1,29 @@
+<?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.
+*/
+-->
+
+<TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="18sp"
+ android:textColor="?android:attr/textColorPrimaryInverse"
+ android:minWidth="32dip"
+ android:gravity="center"
+ android:background="@drawable/keyboard_popup_panel_background_holo" />
diff --git a/java/res/layout-large/candidates.xml b/java/res/layout-large/candidates.xml
new file mode 100644
index 000000000..e2ddb84b1
--- /dev/null
+++ b/java/res/layout-large/candidates.xml
@@ -0,0 +1,45 @@
+<?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.
+*/
+-->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/candidate_strip_height"
+ android:background="@drawable/keyboard_suggest_strip_holo"
+ android:paddingRight="@dimen/candidate_strip_padding"
+ android:paddingLeft="@dimen/candidate_strip_padding"
+>
+ <HorizontalScrollView
+ android:id="@+id/candidates_scroll_view"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/candidate_strip_height"
+ android:fadingEdge="horizontal"
+ android:fadingEdgeLength="@dimen/candidate_strip_fading_edge_length"
+ android:scrollbars="none"
+ >
+ <com.android.inputmethod.latin.CandidateView
+ android:id="@+id/candidates"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/candidate_strip_height"
+ android:background="@drawable/keyboard_suggest_strip_holo" />
+ </HorizontalScrollView>
+</LinearLayout>
diff --git a/java/res/layout-large/keyboard_popup_honeycomb.xml b/java/res/layout-large/keyboard_popup_honeycomb.xml
new file mode 100644
index 000000000..0b8229ca5
--- /dev/null
+++ b/java/res/layout-large/keyboard_popup_honeycomb.xml
@@ -0,0 +1,41 @@
+<?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.
+*/
+-->
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:background="@drawable/keyboard_popup_panel_background_holo"
+ android:paddingLeft="40dip"
+ android:paddingRight="40dip"
+ >
+ <com.android.inputmethod.keyboard.KeyboardView
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+ android:id="@+id/KeyboardView"
+ android:layout_alignParentBottom="true"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/latinkeyboard_transparent"
+
+ latin:keyBackground="@drawable/btn_keyboard_key_honeycomb_popup"
+ latin:keyHysteresisDistance="0dip"
+ latin:verticalCorrection="@dimen/mini_keyboard_vertical_correction"
+ />
+</LinearLayout>
diff --git a/java/res/values-large-land/dimens.xml b/java/res/values-large-land/dimens.xml
new file mode 100644
index 000000000..625dd263c
--- /dev/null
+++ b/java/res/values-large-land/dimens.xml
@@ -0,0 +1,39 @@
+<?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.
+*/
+-->
+
+<resources>
+ <!-- keyboardHeight = key_height*4 + key_bottom_gap*3 -->
+ <dimen name="keyboardHeight">58.0mm</dimen>
+ <!-- key_height + key_bottom_gap = popup_key_height -->
+ <!-- <dimen name="key_height">14.5mm</dimen> -->
+ <dimen name="key_bottom_gap">0.0mm</dimen>
+ <dimen name="key_horizontal_gap">0.0mm</dimen>
+ <dimen name="popup_key_height">13.0mm</dimen>
+ <dimen name="keyboard_top_padding">1.1mm</dimen>
+ <dimen name="keyboard_bottom_padding">0.0mm</dimen>
+ <!-- key_height x 1.0 -->
+ <dimen name="key_preview_height">13.0mm</dimen>
+
+ <dimen name="key_letter_size">28dip</dimen>
+ <dimen name="key_label_text_size">20dip</dimen>
+ <!-- left or right padding of label alignment -->
+ <dimen name="key_label_horizontal_alignment_padding">18dip</dimen>
+ <dimen name="candidate_strip_padding">40.0mm</dimen>
+</resources>
diff --git a/java/res/values-large/config.xml b/java/res/values-large/config.xml
new file mode 100644
index 000000000..f075b1b50
--- /dev/null
+++ b/java/res/values-large/config.xml
@@ -0,0 +1,45 @@
+<?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.
+*/
+-->
+
+<resources>
+ <bool name="config_enable_show_settings_key_option">false</bool>
+ <bool name="config_enable_show_subtype_settings">false</bool>
+ <bool name="config_enable_show_voice_key_option">false</bool>
+ <bool name="config_enable_show_popup_on_keypress_option">false</bool>
+ <bool name="config_enable_show_recorrection_option">false</bool>
+ <bool name="config_enable_quick_fixes_option">false</bool>
+ <bool name="config_enable_bigram_suggestions_option">false</bool>
+ <bool name="config_candidate_highlight_font_color_enabled">false</bool>
+ <bool name="config_swipe_down_dismiss_keyboard_enabled">false</bool>
+ <bool name="config_sliding_key_input_enabled">false</bool>
+ <bool name="config_digit_popup_characters_enabled">false</bool>
+ <!-- Whether or not Popup on key press is enabled by default -->
+ <bool name="config_default_popup_preview">false</bool>
+ <bool name="config_default_sound_enabled">true</bool>
+ <bool name="config_use_spacebar_language_switcher">false</bool>
+ <!-- Showing mini keyboard, just above the touched point if true, aligned to the key if false -->
+ <bool name="config_show_mini_keyboard_at_touched_point">true</bool>
+ <!-- The language is never displayed if == 0, always displayed if < 0 -->
+ <integer name="config_delay_before_fadeout_language_on_spacebar">1200</integer>
+ <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. -->
+ <string name="config_default_keyboard_theme_id" translatable="false">5</string>
+ <string name="config_text_size_of_language_on_spacebar" translatable="false">medium</string>
+ <integer name="config_max_popup_keyboard_column">5</integer>
+</resources>
diff --git a/java/res/values-large/dimens.xml b/java/res/values-large/dimens.xml
new file mode 100644
index 000000000..69283202e
--- /dev/null
+++ b/java/res/values-large/dimens.xml
@@ -0,0 +1,51 @@
+<?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.
+*/
+-->
+
+<resources>
+ <!-- keyboardHeight = key_height*4 + key_bottom_gap*3 -->
+ <dimen name="keyboardHeight">48.0mm</dimen>
+ <!-- key_height + key_bottom_gap = popup_key_height -->
+ <!-- <dimen name="key_height">14.5mm</dimen> -->
+ <dimen name="key_bottom_gap">0.0mm</dimen>
+ <dimen name="key_horizontal_gap">0.0mm</dimen>
+ <dimen name="popup_key_height">10.0mm</dimen>
+ <dimen name="keyboard_top_padding">1.1mm</dimen>
+ <dimen name="keyboard_bottom_padding">0.0mm</dimen>
+ <!-- key_height x 1.0 -->
+ <dimen name="key_preview_height">13.0mm</dimen>
+ <dimen name="mini_keyboard_key_horizontal_padding">12dip</dimen>
+ <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
+ <!-- popup_key_height x 1.2 -->
+ <dimen name="mini_keyboard_slide_allowance">15.6mm</dimen>
+ <!-- popup_key_height x -1.0 -->
+ <dimen name="mini_keyboard_vertical_correction">-13.0mm</dimen>
+
+ <dimen name="key_letter_size">26dip</dimen>
+ <dimen name="key_label_text_size">16dip</dimen>
+ <dimen name="key_preview_text_size_large">24dip</dimen>
+ <!-- left or right padding of label alignment -->
+ <dimen name="key_label_horizontal_alignment_padding">6dip</dimen>
+
+ <dimen name="candidate_strip_height">46dip</dimen>
+ <dimen name="candidate_strip_padding">15.0mm</dimen>
+ <dimen name="candidate_min_width">0.3in</dimen>
+ <dimen name="candidate_padding">12dip</dimen>
+ <dimen name="candidate_text_size">22dip</dimen>
+</resources>
diff --git a/java/res/values-large/donottranslate.xml b/java/res/values-large/donottranslate.xml
new file mode 100644
index 000000000..672dea589
--- /dev/null
+++ b/java/res/values-large/donottranslate.xml
@@ -0,0 +1,23 @@
+<?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.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Default value of the visibility of the suggestion strip -->
+ <string name="prefs_suggestion_visibility_default_value" translatable="false">2</string>
+</resources>
diff --git a/java/res/xml-large-land/kbd_popup_template.xml b/java/res/xml-large-land/kbd_popup_template.xml
new file mode 100644
index 000000000..3caae1a60
--- /dev/null
+++ b/java/res/xml-large-land/kbd_popup_template.xml
@@ -0,0 +1,27 @@
+<?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="3.5%p"
+ latin:horizontalGap="0px"
+ latin:verticalGap="0px"
+ latin:rowHeight="@dimen/popup_key_height"
+ >
+</Keyboard>
diff --git a/java/res/xml-large/kbd_azerty_rows.xml b/java/res/xml-large/kbd_azerty_rows.xml
new file mode 100644
index 000000000..564f77629
--- /dev/null
+++ b/java/res/xml-large/kbd_azerty_rows.xml
@@ -0,0 +1,169 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <Row
+ latin:keyWidth="8.272%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="a"
+ latin:popupCharacters="@string/alternates_for_a" />
+ <Key
+ latin:keyLabel="z"
+ latin:popupCharacters="@string/alternates_for_z" />
+ <Key
+ latin:keyLabel="e"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="y"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="u"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:popupCharacters="@string/alternates_for_p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="8.157%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="10.167%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="q"
+ latin:popupCharacters="@string/alternates_for_q" />
+ <Key
+ latin:keyLabel="s"
+ latin:popupCharacters="@string/alternates_for_s" />
+ <Key
+ latin:keyLabel="d"
+ latin:popupCharacters="@string/alternates_for_d" />
+ <Key
+ latin:keyLabel="f" />
+ <Key
+ latin:keyLabel="g"
+ latin:popupCharacters="@string/alternates_for_g" />
+ <Key
+ latin:keyLabel="h" />
+ <Key
+ latin:keyLabel="j" />
+ <Key
+ latin:keyLabel="k"
+ latin:popupCharacters="@string/alternates_for_k" />
+ <Key
+ latin:keyLabel="l"
+ latin:popupCharacters="@string/alternates_for_l" />
+ <Key
+ latin:keyLabel="m"
+ latin:keyEdgeFlags="right" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="8.593%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="8.042%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15.192%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="w"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="x" />
+ <Key
+ latin:keyLabel="c"
+ latin:popupCharacters="@string/alternates_for_c" />
+ <Key
+ latin:keyLabel="v"
+ latin:popupCharacters="@string/alternates_for_v" />
+ <Key
+ latin:keyLabel="b" />
+ <Key
+ latin:keyLabel="n"
+ latin:popupCharacters="@string/alternates_for_n" />
+ <Key
+ latin:keyLabel="\'"
+ latin:manualTemporaryUpperCaseCode="58"
+ latin:keyHintIcon="@drawable/key_hint_colon_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_colon_large_holo"
+ latin:popupCharacters=":" />
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="," />
+ <Key
+ latin:keyLabel="." />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=","
+ latin:manualTemporaryUpperCaseCode="33"
+ latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
+ latin:popupCharacters="!" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="63"
+ latin:keyHintIcon="@drawable/key_hint_question_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
+ latin:popupCharacters="\?" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.530%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml-large/kbd_key_styles.xml b/java/res/xml-large/kbd_key_styles.xml
new file mode 100644
index 000000000..fc06d00fc
--- /dev/null
+++ b/java/res/xml-large/kbd_key_styles.xml
@@ -0,0 +1,183 @@
+<?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"
+>
+ <!-- Functional key styles -->
+ <switch>
+ <case
+ latin:colorScheme="white"
+ >
+ <key-style
+ latin:styleName="functionalKeyStyle"
+ latin:isModifier="true" />
+ <key-style
+ latin:styleName="shiftKeyStyle"
+ latin:code="@integer/key_shift"
+ latin:keyIcon="@drawable/sym_keyboard_shift_holo"
+ latin:shiftedIcon="@drawable/sym_keyboard_shift_locked_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isSticky="true" />
+ <key-style
+ latin:styleName="deleteKeyStyle"
+ latin:code="@integer/key_delete"
+ latin:keyIcon="@drawable/sym_keyboard_delete_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isRepeatable="true" />
+ <key-style
+ latin:styleName="returnKeyStyle"
+ latin:code="@integer/key_return"
+ latin:keyIcon="@drawable/sym_keyboard_return_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_return"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="spaceKeyStyle"
+ latin:code="@integer/key_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ <key-style
+ latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
+ latin:code="@integer/key_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ <key-style
+ latin:styleName="smileyKeyStyle"
+ latin:keyLabel=":-)"
+ latin:keyOutputText=":-) "
+ latin:keyHintIcon="@drawable/hint_popup_holo"
+ latin:popupCharacters="@string/alternates_for_smiley"
+ latin:maxPopupKeyboardColumn="5" />
+ <key-style
+ latin:styleName="settingsKeyStyle"
+ latin:code="@integer/key_settings"
+ latin:keyIcon="@drawable/sym_keyboard_settings_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="micKeyStyle"
+ latin:code="@integer/key_voice"
+ latin:keyIcon="@drawable/sym_keyboard_voice_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
+ latin:parentStyle="functionalKeyStyle" />
+ </case>
+ <case
+ latin:colorScheme="black"
+ >
+ <key-style
+ latin:styleName="functionalKeyStyle" />
+ <key-style
+ latin:styleName="shiftKeyStyle"
+ latin:code="@integer/key_shift"
+ latin:keyIcon="@drawable/sym_bkeyboard_shift"
+ latin:shiftedIcon="@drawable/sym_bkeyboard_shift_locked"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isSticky="true" />
+ <key-style
+ latin:styleName="deleteKeyStyle"
+ latin:code="@integer/key_delete"
+ latin:keyIcon="@drawable/sym_bkeyboard_delete"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isRepeatable="true" />
+ <key-style
+ latin:styleName="returnKeyStyle"
+ latin:code="@integer/key_return"
+ latin:keyIcon="@drawable/sym_bkeyboard_return"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_return"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="spaceKeyStyle"
+ latin:code="@integer/key_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ <key-style
+ latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
+ latin:code="@integer/key_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ <key-style
+ latin:styleName="smileyKeyStyle"
+ latin:keyLabel=":-)"
+ latin:keyOutputText=":-) "
+ latin:keyHintIcon="@drawable/hint_popup_holo"
+ latin:popupCharacters="@string/alternates_for_smiley"
+ latin:maxPopupKeyboardColumn="5" />
+ <key-style
+ latin:styleName="settingsKeyStyle"
+ latin:code="@integer/key_settings"
+ latin:keyIcon="@drawable/sym_bkeyboard_settings"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="micKeyStyle"
+ latin:code="@integer/key_voice"
+ latin:keyIcon="@drawable/sym_bkeyboard_mic"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
+ latin:parentStyle="functionalKeyStyle" />
+ </case>
+ </switch>
+ <key-style
+ latin:styleName="tabKeyStyle"
+ latin:code="@integer/key_tab"
+ latin:keyLabel="@string/label_tab_key"
+ latin:keyLabelOption="fontNormal"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="toSymbolKeyStyle"
+ latin:code="@integer/key_switch_alpha_symbol"
+ latin:keyLabel="@string/label_to_symbol_key"
+ latin:keyLabelOption="fontNormal"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="toAlphaKeyStyle"
+ latin:code="@integer/key_switch_alpha_symbol"
+ latin:keyLabel="@string/label_to_alpha_key"
+ latin:keyLabelOption="fontNormal"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="moreKeyStyle"
+ latin:code="@integer/key_shift"
+ latin:keyLabel="@string/label_more_key"
+ latin:keyLabelOption="fontNormal"
+ latin:parentStyle="functionalKeyStyle"
+ latin:isSticky="true" />
+ <key-style
+ latin:styleName="comKeyStyle"
+ latin:keyLabel="@string/keylabel_for_popular_domain"
+ latin:keyLabelOption="fontNormal"
+ latin:keyOutputText="@string/keylabel_for_popular_domain"
+ latin:keyHintIcon="@drawable/hint_popup_holo"
+ latin:popupCharacters="@string/alternates_for_popular_domain" />
+ <switch>
+ <case
+ latin:passwordInput="true"
+ >
+ <key-style
+ latin:styleName="nonPasswordSymbolKeyStyle"
+ latin:enabled="false" />
+ </case>
+ <!-- latin:passwordInput="false" -->
+ <default>
+ <key-style
+ latin:styleName="nonPasswordSymbolKeyStyle"
+ latin:enabled="true" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml-large/kbd_number.xml b/java/res/xml-large/kbd_number.xml
new file mode 100644
index 000000000..012b75115
--- /dev/null
+++ b/java/res/xml-large/kbd_number.xml
@@ -0,0 +1,229 @@
+<?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:keyboardHeight="@dimen/keyboardHeight"
+ latin:maxKeyboardHeight="50%p"
+ latin:rowHeight="25%p"
+ latin:keyWidth="11.949%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:popupKeyboardTemplate="@xml/kbd_popup_template"
+ latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <include
+ latin:keyboardLayout="@xml/kbd_numkey_styles" />
+ <switch>
+ <case
+ latin:passwordInput="true"
+ >
+ <!-- This row is intentionally not marked as a top row -->
+ <Row>
+ <Spacer
+ latin:horizontalGap="32.076%p" />
+ <Key
+ latin:keyStyle="num1KeyStyle" />
+ <Key
+ latin:keyStyle="num2KeyStyle" />
+ <Key
+ latin:keyStyle="num3KeyStyle" />
+ <Spacer
+ latin:horizontalGap="22.272%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.804%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row>
+ <Spacer
+ latin:horizontalGap="32.076%p" />
+ <Key
+ latin:keyStyle="num4KeyStyle" />
+ <Key
+ latin:keyStyle="num5KeyStyle" />
+ <Key
+ latin:keyStyle="num6KeyStyle" />
+ <Spacer
+ latin:horizontalGap="17.371%p" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="14.706%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row>
+ <Spacer
+ latin:horizontalGap="32.076%p" />
+ <Key
+ latin:keyStyle="num7KeyStyle" />
+ <Key
+ latin:keyStyle="num8KeyStyle" />
+ <Key
+ latin:keyStyle="num9KeyStyle" />
+ <!-- There is an empty area below the "Enter" key and right of the "9" key. To
+ ignore the touch event on the area, "9" is intentionally not marked as a right
+ edge key. -->
+ </Row>
+ <!-- This row is intentionally not marked as a bottom row -->
+ <Row>
+ <Spacer
+ latin:horizontalGap="44.026%p" />
+ <Key
+ latin:keyStyle="num0KeyStyle" />
+ <!-- There is an empty area below the "Enter" key and right of the "#" key. To
+ ignore the touch event on the area, "#" is intentionally not marked as a right
+ edge key. -->
+ </Row>
+ </case>
+ <!-- latin:passwordInput="false" -->
+ <default>
+ <!-- This row is intentionally not marked as a top row -->
+ <Row>
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyEdgeFlags="left" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyLabel="-"
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:keyLabel="+"
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:keyLabel="."
+ latin:keyWidth="8.042%p" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyLabel="1" />
+ <Key
+ latin:keyLabel="2" />
+ <Key
+ latin:keyLabel="3" />
+ <Spacer
+ latin:horizontalGap="9.360%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.804%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row>
+ <Spacer
+ latin:horizontalGap="16.406%p" />
+ <Key
+ latin:keyLabel="*"
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:keyLabel="/"
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:keyLabel=","
+ latin:keyWidth="8.042%p" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyLabel="4" />
+ <Key
+ latin:keyLabel="5" />
+ <Key
+ latin:keyLabel="6" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="14.706%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row>
+ <!-- There is an empty area below the "More" key and left of the "(" key. To
+ ignore the touch event on the area, "(" is intentionally not marked as a left
+ edge key. -->
+ <Spacer
+ latin:horizontalGap="16.406%p" />
+ <Key
+ latin:keyLabel="("
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:keyLabel=")"
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:keyLabel="="
+ latin:keyWidth="8.042%p" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyLabel="7" />
+ <Key
+ latin:keyLabel="8" />
+ <Key
+ latin:keyLabel="9" />
+ <!-- There is an empty area below the "Enter" key and right of the "9" key. To
+ ignore the touch event on the area, "9" is intentionally not marked as a right
+ edge key. -->
+ </Row>
+ <!-- This row is intentionally not marked as a bottom row -->
+ <Row>
+ <!-- There is an empty area below the "More" key and left of the "space" key. To
+ ignore the touch event on the area, "space" is intentionally not marked as a
+ left edge key. -->
+ <Spacer
+ latin:horizontalGap="8.362%p" />
+ <switch>
+ <case latin:hasSettingsKey="true">
+ <Key
+ latin:keyStyle="settingsKeyStyle"
+ latin:keyWidth="8.042%p" />
+ </case>
+ <default>
+ <Spacer
+ latin:horizontalGap="8.042%p" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+ latin:keyWidth="24.127%p" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyLabel="*" />
+ <Key
+ latin:keyLabel="0" />
+ <Key
+ latin:keyLabel="#" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle"
+ latin:keyWidth="8.042%p" />
+ </case>
+ </switch>
+ <!-- There is an empty area below the "Enter" key and right of the "#" key. To
+ ignore the touch event on the area, "#" is intentionally not marked as a right
+ edge key. -->
+ </Row>
+ </default>
+ </switch>
+</Keyboard>
diff --git a/java/res/xml-large/kbd_numkey_styles.xml b/java/res/xml-large/kbd_numkey_styles.xml
new file mode 100644
index 000000000..e27db94c7
--- /dev/null
+++ b/java/res/xml-large/kbd_numkey_styles.xml
@@ -0,0 +1,148 @@
+<?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="num0KeyStyle"
+ latin:code="48"
+ latin:keyIcon="@drawable/sym_keyboard_num0_holo" />
+ <key-style
+ latin:styleName="num1KeyStyle"
+ latin:code="49"
+ latin:keyIcon="@drawable/sym_keyboard_num1_holo" />
+ <key-style
+ latin:styleName="num2KeyStyle"
+ latin:code="50"
+ latin:keyIcon="@drawable/sym_keyboard_num2_holo" />
+ <key-style
+ latin:styleName="num3KeyStyle"
+ latin:code="51"
+ latin:keyIcon="@drawable/sym_keyboard_num3_holo" />
+ <key-style
+ latin:styleName="num4KeyStyle"
+ latin:code="52"
+ latin:keyIcon="@drawable/sym_keyboard_num4_holo" />
+ <key-style
+ latin:styleName="num5KeyStyle"
+ latin:code="53"
+ latin:keyIcon="@drawable/sym_keyboard_num5_holo" />
+ <key-style
+ latin:styleName="num6KeyStyle"
+ latin:code="54"
+ latin:keyIcon="@drawable/sym_keyboard_num6_holo" />
+ <key-style
+ latin:styleName="num7KeyStyle"
+ latin:code="55"
+ latin:keyIcon="@drawable/sym_keyboard_num7_holo" />
+ <key-style
+ latin:styleName="num8KeyStyle"
+ latin:code="56"
+ latin:keyIcon="@drawable/sym_keyboard_num8_holo" />
+ <key-style
+ latin:styleName="num9KeyStyle"
+ latin:code="57"
+ latin:keyIcon="@drawable/sym_keyboard_num9_holo" />
+ <key-style
+ latin:styleName="numStarKeyStyle"
+ latin:code="42"
+ latin:keyIcon="@drawable/sym_keyboard_numbstar_holo" />
+ <key-style
+ latin:styleName="numPoundKeyStyle"
+ latin:code="35"
+ latin:keyIcon="@drawable/sym_keyboard_numbpound_holo" />
+ <key-style
+ latin:styleName="numAltKeyStyle"
+ latin:code="@integer/key_switch_alpha_symbol"
+ latin:keyIcon="@drawable/sym_keyboard_numalt"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
+ <key-style
+ latin:styleName="numSpaceKeyStyle"
+ latin:code="@integer/key_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ </case>
+ <case
+ latin:colorScheme="black"
+ >
+ <key-style
+ latin:styleName="num0KeyStyle"
+ latin:code="48"
+ latin:keyIcon="@drawable/sym_bkeyboard_num0" />
+ <key-style
+ latin:styleName="num1KeyStyle"
+ latin:code="49"
+ latin:keyIcon="@drawable/sym_bkeyboard_num1" />
+ <key-style
+ latin:styleName="num2KeyStyle"
+ latin:code="50"
+ latin:keyIcon="@drawable/sym_bkeyboard_num2" />
+ <key-style
+ latin:styleName="num3KeyStyle"
+ latin:code="51"
+ latin:keyIcon="@drawable/sym_bkeyboard_num3" />
+ <key-style
+ latin:styleName="num4KeyStyle"
+ latin:code="52"
+ latin:keyIcon="@drawable/sym_bkeyboard_num4" />
+ <key-style
+ latin:styleName="num5KeyStyle"
+ latin:code="53"
+ latin:keyIcon="@drawable/sym_bkeyboard_num5" />
+ <key-style
+ latin:styleName="num6KeyStyle"
+ latin:code="54"
+ latin:keyIcon="@drawable/sym_bkeyboard_num6" />
+ <key-style
+ latin:styleName="num7KeyStyle"
+ latin:code="55"
+ latin:keyIcon="@drawable/sym_bkeyboard_num7" />
+ <key-style
+ latin:styleName="num8KeyStyle"
+ latin:code="56"
+ latin:keyIcon="@drawable/sym_bkeyboard_num8" />
+ <key-style
+ latin:styleName="num9KeyStyle"
+ latin:code="57"
+ latin:keyIcon="@drawable/sym_bkeyboard_num9" />
+ <key-style
+ latin:styleName="numStarKeyStyle"
+ latin:code="42"
+ latin:keyIcon="@drawable/sym_bkeyboard_numstar" />
+ <key-style
+ latin:styleName="numPoundKeyStyle"
+ latin:code="35"
+ latin:keyIcon="@drawable/sym_bkeyboard_numpound" />
+ <key-style
+ latin:styleName="numAltKeyStyle"
+ latin:code="@integer/key_switch_alpha_symbol"
+ latin:keyIcon="@drawable/sym_bkeyboard_numalt"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_numalt" />
+ <key-style
+ latin:styleName="numSpaceKeyStyle"
+ latin:code="@integer/key_space"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
+ </case>
+ </switch>
+</merge>
diff --git a/java/res/xml-large/kbd_phone.xml b/java/res/xml-large/kbd_phone.xml
new file mode 100644
index 000000000..9122176a9
--- /dev/null
+++ b/java/res/xml-large/kbd_phone.xml
@@ -0,0 +1,166 @@
+<?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:keyboardHeight="@dimen/keyboardHeight"
+ latin:maxKeyboardHeight="50%p"
+ latin:rowHeight="25%p"
+ latin:keyWidth="11.949%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:popupKeyboardTemplate="@xml/kbd_popup_template"
+ latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <include
+ latin:keyboardLayout="@xml/kbd_numkey_styles" />
+ <!-- This row is intentionally not marked as a top row -->
+ <Row>
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyEdgeFlags="left" />
+ <!-- To match one character label size with "Tab", I placed spaces around the char '-'
+ and '+'. -->
+ <Spacer
+ latin:horizontalGap="8.470%p" />
+ <Key
+ latin:code="45"
+ latin:keyLabel=" - "
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:code="43"
+ latin:keyLabel=" + "
+ latin:keyWidth="8.042%p" />
+ <Spacer
+ latin:horizontalGap="8.479%p" />
+ <Key
+ latin:keyStyle="num1KeyStyle" />
+ <Key
+ latin:keyStyle="num2KeyStyle" />
+ <Key
+ latin:keyStyle="num3KeyStyle" />
+ <Spacer
+ latin:horizontalGap="9.360%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.804%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row>
+ <Key
+ latin:keyStyle="moreKeyStyle"
+ latin:keyEdgeFlags="left" />
+ <!-- To match one character label size with "More", I placed spaces around the char ','
+ and '.'. -->
+ <Spacer
+ latin:horizontalGap="8.470%p" />
+ <Key
+ latin:code="44"
+ latin:keyLabel=" , "
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:code="46"
+ latin:keyLabel=" . "
+ latin:keyWidth="8.042%p" />
+ <Spacer
+ latin:horizontalGap="8.479%p" />
+ <Key
+ latin:keyStyle="num4KeyStyle" />
+ <Key
+ latin:keyStyle="num5KeyStyle" />
+ <Key
+ latin:keyStyle="num6KeyStyle" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="14.706%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row>
+ <!-- To match one character label size with "More", I placed spaces around the char '('
+ and ')'. -->
+ <!-- There is an empty area bellow the "More" key and left of the "(" key. To ignore
+ the touch event on the area, "(" is intentionally not marked as a left edge key. -->
+ <Spacer
+ latin:horizontalGap="20.427%p" />
+ <Key
+ latin:code="40"
+ latin:keyLabel=" ( "
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:code="41"
+ latin:keyLabel=" ) "
+ latin:keyWidth="8.042%p" />
+ <Spacer
+ latin:horizontalGap="8.479%p" />
+ <Key
+ latin:keyStyle="num7KeyStyle" />
+ <Key
+ latin:keyStyle="num8KeyStyle" />
+ <Key
+ latin:keyStyle="num9KeyStyle" />
+ <!-- There is an empty area bellow the "Enter" key and right of the "9" key. To ignore
+ the touch event on the area, "9" is intentionally not marked as a right edge key. -->
+ </Row>
+ <!-- This row is intentionally not marked as a bottom row -->
+ <Row>
+ <!-- There is an empty area bellow the "More" key and left of the "space" key. To ignore
+ the touch event on the area, "space" is intentionally not marked as a left edge key. -->
+ <Spacer
+ latin:horizontalGap="12.340%p" />
+ <switch>
+ <case latin:hasSettingsKey="true">
+ <Key
+ latin:keyStyle="settingsKeyStyle"
+ latin:keyWidth="8.042%p" />
+ </case>
+ <default>
+ <Spacer
+ latin:horizontalGap="8.042%p" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+ latin:keyWidth="16.084%p" />
+ <Spacer
+ latin:horizontalGap="8.479%p" />
+ <Key
+ latin:keyStyle="numStarKeyStyle" />
+ <Key
+ latin:keyStyle="num0KeyStyle" />
+ <Key
+ latin:keyStyle="numPoundKeyStyle" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle"
+ latin:keyWidth="8.042%p" />
+ </case>
+ </switch>
+ <!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore
+ the touch event on the area, "#" is intentionally not marked as a right edge key. -->
+ </Row>
+</Keyboard>
diff --git a/java/res/xml-large/kbd_phone_symbols.xml b/java/res/xml-large/kbd_phone_symbols.xml
new file mode 100644
index 000000000..055c14867
--- /dev/null
+++ b/java/res/xml-large/kbd_phone_symbols.xml
@@ -0,0 +1,178 @@
+<?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:keyboardHeight="@dimen/keyboardHeight"
+ latin:maxKeyboardHeight="50%p"
+ latin:rowHeight="25%p"
+ latin:keyWidth="11.949%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:popupKeyboardTemplate="@xml/kbd_popup_template"
+ latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <include
+ latin:keyboardLayout="@xml/kbd_numkey_styles" />
+ <!-- This row is intentionally not marked as a top row -->
+ <Row>
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyEdgeFlags="left" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:code="45"
+ latin:keyLabel=" - "
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:code="43"
+ latin:keyLabel=" + "
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:code="44"
+ latin:keyLabel="@string/label_pause_key"
+ latin:keyWidth="8.042%p" />
+ <!-- To match one character label size with "Tab" and "Pause, I placed spaces around the
+ char '-' and '+'. -->
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyStyle="num1KeyStyle" />
+ <Key
+ latin:keyStyle="num2KeyStyle" />
+ <Key
+ latin:keyStyle="num3KeyStyle" />
+ <Spacer
+ latin:horizontalGap="9.360%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.804%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row>
+ <Key
+ latin:keyStyle="moreKeyStyle"
+ latin:keyEdgeFlags="left" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:code="44"
+ latin:keyLabel=" , "
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:code="46"
+ latin:keyLabel=" . "
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:code="59"
+ latin:keyLabel="@string/label_wait_key"
+ latin:keyWidth="8.042%p" />
+ <!-- To match one character label size with "More" and "Wait", I placed spaces around the
+ char ',' and '.'. -->
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyStyle="num4KeyStyle" />
+ <Key
+ latin:keyStyle="num5KeyStyle" />
+ <Key
+ latin:keyStyle="num6KeyStyle" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="14.706%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row>
+ <!-- To match one character label size with "More" and etc., I placed spaces around the
+ char 'N', '(' and ')'. -->
+ <!-- There is an empty area bellow the "More" key and left of the "(" key. To ignore
+ the touch event on the area, "(" is intentionally not marked as a left edge key. -->
+ <Spacer
+ latin:horizontalGap="16.406%p" />
+ <Key
+ latin:code="40"
+ latin:keyLabel=" ( "
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:code="41"
+ latin:keyLabel=" ) "
+ latin:keyWidth="8.042%p" />
+ <Key
+ latin:code="78"
+ latin:keyLabel=" N "
+ latin:keyWidth="8.042%p" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyStyle="num7KeyStyle" />
+ <Key
+ latin:keyStyle="num8KeyStyle" />
+ <Key
+ latin:keyStyle="num9KeyStyle" />
+ <!-- There is an empty area bellow the "Enter" key and right of the "9" key. To ignore
+ the touch event on the area, "9" is intentionally not marked as a right edge key. -->
+ </Row>
+ <!-- This row is intentionally not marked as a bottom row -->
+ <Row>
+ <!-- There is an empty area bellow the "More" key and left of the "space" key. To ignore
+ the touch event on the area, "space" is intentionally not marked as a left edge key. -->
+ <Spacer
+ latin:horizontalGap="8.362%p" />
+ <switch>
+ <case latin:hasSettingsKey="true">
+ <Key
+ latin:keyStyle="settingsKeyStyle"
+ latin:keyWidth="8.042%p" />
+ </case>
+ <default>
+ <Spacer
+ latin:horizontalGap="8.042%p" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+ latin:keyWidth="24.127%p" />
+ <Spacer
+ latin:horizontalGap="4.458%p" />
+ <Key
+ latin:keyStyle="numStarKeyStyle" />
+ <Key
+ latin:keyStyle="num0KeyStyle" />
+ <Key
+ latin:keyStyle="numPoundKeyStyle" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle"
+ latin:keyWidth="8.042%p" />
+ </case>
+ </switch>
+ <!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore
+ the touch event on the area, "#" is intentionally not marked as a right edge key. -->
+ </Row>
+</Keyboard>
diff --git a/java/res/xml-large/kbd_popup_template.xml b/java/res/xml-large/kbd_popup_template.xml
new file mode 100644
index 000000000..7d39d1a3a
--- /dev/null
+++ b/java/res/xml-large/kbd_popup_template.xml
@@ -0,0 +1,27 @@
+<?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="5.0%p"
+ latin:horizontalGap="0px"
+ latin:verticalGap="0px"
+ latin:rowHeight="@dimen/popup_key_height"
+ >
+</Keyboard>
diff --git a/java/res/xml-large/kbd_qwerty.xml b/java/res/xml-large/kbd_qwerty.xml
new file mode 100644
index 000000000..1c8d51ffe
--- /dev/null
+++ b/java/res/xml-large/kbd_qwerty.xml
@@ -0,0 +1,33 @@
+<?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:keyboardHeight="@dimen/keyboardHeight"
+ latin:maxKeyboardHeight="50%p"
+ latin:rowHeight="25%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:popupKeyboardTemplate="@xml/kbd_popup_template"
+ latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_rows" />
+</Keyboard>
diff --git a/java/res/xml-large/kbd_qwerty_row1.xml b/java/res/xml-large/kbd_qwerty_row1.xml
new file mode 100644
index 000000000..f5135591c
--- /dev/null
+++ b/java/res/xml-large/kbd_qwerty_row1.xml
@@ -0,0 +1,68 @@
+<?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"
+>
+ <!-- This row is intentionally not marked as a top row -->
+ <Row
+ latin:keyWidth="8.272%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="q"
+ latin:popupCharacters="@string/alternates_for_q" />
+ <Key
+ latin:keyLabel="w"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="e"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="y"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="u"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:popupCharacters="@string/alternates_for_p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+</merge>
diff --git a/java/res/xml-large/kbd_qwerty_row2.xml b/java/res/xml-large/kbd_qwerty_row2.xml
new file mode 100644
index 000000000..02bd0a6c9
--- /dev/null
+++ b/java/res/xml-large/kbd_qwerty_row2.xml
@@ -0,0 +1,61 @@
+<?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="8.157%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="11.167%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="a"
+ latin:popupCharacters="@string/alternates_for_a" />
+ <Key
+ latin:keyLabel="s"
+ latin:popupCharacters="@string/alternates_for_s" />
+ <Key
+ latin:keyLabel="d"
+ latin:popupCharacters="@string/alternates_for_d" />
+ <Key
+ latin:keyLabel="f" />
+ <Key
+ latin:keyLabel="g"
+ latin:popupCharacters="@string/alternates_for_g" />
+ <Key
+ latin:keyLabel="h" />
+ <Key
+ latin:keyLabel="j" />
+ <Key
+ latin:keyLabel="k"
+ latin:popupCharacters="@string/alternates_for_k" />
+ <Key
+ latin:keyLabel="l"
+ latin:popupCharacters="@string/alternates_for_l" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="15.750%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+</merge>
diff --git a/java/res/xml-large/kbd_qwerty_row3.xml b/java/res/xml-large/kbd_qwerty_row3.xml
new file mode 100644
index 000000000..b7e9bcff9
--- /dev/null
+++ b/java/res/xml-large/kbd_qwerty_row3.xml
@@ -0,0 +1,78 @@
+<?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="8.042%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15.192%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="z"
+ latin:popupCharacters="@string/alternates_for_z" />
+ <Key
+ latin:keyLabel="x" />
+ <Key
+ latin:keyLabel="c"
+ latin:popupCharacters="@string/alternates_for_c" />
+ <Key
+ latin:keyLabel="v"
+ latin:popupCharacters="@string/alternates_for_v" />
+ <Key
+ latin:keyLabel="b" />
+ <Key
+ latin:keyLabel="n"
+ latin:popupCharacters="@string/alternates_for_n" />
+ <Key
+ latin:keyLabel="m" />
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="," />
+ <Key
+ latin:keyLabel="." />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=","
+ latin:manualTemporaryUpperCaseCode="33"
+ latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
+ latin:popupCharacters="!" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="63"
+ latin:keyHintIcon="@drawable/key_hint_question_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
+ latin:popupCharacters="\?" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.530%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+</merge>
diff --git a/java/res/xml-large/kbd_qwerty_row4.xml b/java/res/xml-large/kbd_qwerty_row4.xml
new file mode 100644
index 000000000..f36b61fc7
--- /dev/null
+++ b/java/res/xml-large/kbd_qwerty_row4.xml
@@ -0,0 +1,258 @@
+<?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"
+>
+ <!-- This row is intentionally not marked as a bottom row -->
+ <Row
+ latin:keyWidth="8.042%p"
+ >
+ <Spacer
+ latin:horizontalGap="8.362%p" />
+ <switch>
+ <case latin:hasSettingsKey="true">
+ <Key
+ latin:keyStyle="settingsKeyStyle" />
+ </case>
+ <default>
+ <Spacer
+ latin:horizontalGap="8.042%p" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:languageCode="ru"
+ >
+ <switch>
+ <!-- TODO: implement logical OR for <case> attribute -->
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyStyle="comKeyStyle" />
+ </case>
+ <case
+ latin:mode="url"
+ >
+ <Key
+ latin:keyStyle="comKeyStyle" />
+ </case>
+ <case
+ latin:imeAction="actionSearch"
+ >
+ <Key
+ latin:keyLabel=":"
+ latin:manualTemporaryUpperCaseCode="43"
+ latin:keyHintIcon="@drawable/key_hint_plus_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_plus_large_holo"
+ latin:popupCharacters="+" />
+ </case>
+ <default>
+ <Key
+ latin:keyStyle="smileyKeyStyle" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="\@" />
+ </case>
+ <case
+ latin:mode="url"
+ >
+ <Key
+ latin:keyLabel="-"
+ latin:manualTemporaryUpperCaseCode="95"
+ latin:keyHintIcon="@drawable/key_hint_underline_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_underline_large_holo"
+ latin:popupCharacters="_" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="/"
+ latin:manualTemporaryUpperCaseCode="64"
+ latin:keyHintIcon="@drawable/key_hint_at_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_at_large_holo"
+ latin:popupCharacters="\@" />
+ </default>
+ </switch>
+ </case>
+ <!-- not languageCode="ru" -->
+ <default>
+ <switch>
+ <case
+ latin:mode="url"
+ >
+ <Key
+ latin:keyStyle="comKeyStyle"
+ latin:keyWidth="16.084%p" />
+ </case>
+ <default>
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyStyle="comKeyStyle" />
+ </case>
+ <case
+ latin:imeAction="actionSearch"
+ >
+ <Key
+ latin:keyLabel=":"
+ latin:manualTemporaryUpperCaseCode="43"
+ latin:keyHintIcon="@drawable/key_hint_plus_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_plus_large_holo"
+ latin:popupCharacters="+" />
+ </case>
+ <default>
+ <Key
+ latin:keyStyle="smileyKeyStyle" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="\@" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="/"
+ latin:manualTemporaryUpperCaseCode="64"
+ latin:keyHintIcon="@drawable/key_hint_at_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_at_large_holo"
+ latin:popupCharacters="\@" />
+ </default>
+ </switch>
+ </default>
+ </switch>
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="37.454%p" />
+ <switch>
+ <case
+ latin:languageCode="ru"
+ >
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="-" />
+ </case>
+ <case
+ latin:mode="url"
+ >
+ <Key
+ latin:keyLabel="/"
+ latin:manualTemporaryUpperCaseCode="58"
+ latin:keyHintIcon="@drawable/key_hint_colon_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_colon_large_holo"
+ latin:popupCharacters=":" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="\?"
+ latin:manualTemporaryUpperCaseCode="95"
+ latin:keyHintIcon="@drawable/key_hint_underline_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_underline_large_holo"
+ latin:popupCharacters="_" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="_" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="!"
+ latin:manualTemporaryUpperCaseCode="39"
+ latin:keyHintIcon="@drawable/key_hint_quote_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_quote_large_holo"
+ latin:popupCharacters="\'" />
+ </default>
+ </switch>
+ </case>
+ <!-- not languageCode="ru" -->
+ <default>
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="-" />
+ </case>
+ <case
+ latin:mode="url"
+ >
+ <Key
+ latin:keyLabel="/"
+ latin:manualTemporaryUpperCaseCode="58"
+ latin:keyHintIcon="@drawable/key_hint_colon_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_colon_large_holo"
+ latin:popupCharacters=":" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="\'"
+ latin:manualTemporaryUpperCaseCode="34"
+ latin:keyHintIcon="@drawable/key_hint_quote_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_quote_large_holo"
+ latin:popupCharacters="&quot;" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="_" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="-"
+ latin:manualTemporaryUpperCaseCode="95"
+ latin:keyHintIcon="@drawable/key_hint_underline_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_underline_large_holo"
+ latin:popupCharacters="_" />
+ </default>
+ </switch>
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle" />
+ </case>
+ </switch>
+ </Row>
+</merge>
diff --git a/java/res/xml-large/kbd_qwerty_rows.xml b/java/res/xml-large/kbd_qwerty_rows.xml
new file mode 100644
index 000000000..6237712f6
--- /dev/null
+++ b/java/res/xml-large/kbd_qwerty_rows.xml
@@ -0,0 +1,34 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row1" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row2" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row3" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml-large/kbd_qwerty_rows_scandinavia.xml b/java/res/xml-large/kbd_qwerty_rows_scandinavia.xml
new file mode 100644
index 000000000..fb2034fb7
--- /dev/null
+++ b/java/res/xml-large/kbd_qwerty_rows_scandinavia.xml
@@ -0,0 +1,118 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <Row
+ latin:keyWidth="7.520%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="q"
+ latin:popupCharacters="@string/alternates_for_q" />
+ <Key
+ latin:keyLabel="w"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="e"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="y"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="u"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:popupCharacters="@string/alternates_for_p" />
+ <Key
+ latin:keyLabel="å" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="7.520%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="a"
+ latin:popupCharacters="@string/alternates_for_a" />
+ <Key
+ latin:keyLabel="s"
+ latin:popupCharacters="@string/alternates_for_s" />
+ <Key
+ latin:keyLabel="d"
+ latin:popupCharacters="@string/alternates_for_d" />
+ <Key
+ latin:keyLabel="f" />
+ <Key
+ latin:keyLabel="g"
+ latin:popupCharacters="@string/alternates_for_g" />
+ <Key
+ latin:keyLabel="h" />
+ <Key
+ latin:keyLabel="j" />
+ <Key
+ latin:keyLabel="k"
+ latin:popupCharacters="@string/alternates_for_k" />
+ <Key
+ latin:keyLabel="l"
+ latin:popupCharacters="@string/alternates_for_l" />
+ <Key
+ latin:keyLabel="@string/keylabel_for_scandinavia_row2_10"
+ latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" />
+ <Key
+ latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
+ latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row3" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml-large/kbd_qwertz_rows.xml b/java/res/xml-large/kbd_qwertz_rows.xml
new file mode 100644
index 000000000..3e99f0511
--- /dev/null
+++ b/java/res/xml-large/kbd_qwertz_rows.xml
@@ -0,0 +1,127 @@
+<?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"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <Row
+ latin:keyWidth="8.272%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="q"
+ latin:popupCharacters="@string/alternates_for_q" />
+ <Key
+ latin:keyLabel="w"
+ latin:popupCharacters="@string/alternates_for_w" />
+ <Key
+ latin:keyLabel="e"
+ latin:popupCharacters="@string/alternates_for_e" />
+ <Key
+ latin:keyLabel="r"
+ latin:popupCharacters="@string/alternates_for_r" />
+ <Key
+ latin:keyLabel="t"
+ latin:popupCharacters="@string/alternates_for_t" />
+ <Key
+ latin:keyLabel="z"
+ latin:popupCharacters="@string/alternates_for_z" />
+ <Key
+ latin:keyLabel="u"
+ latin:popupCharacters="@string/alternates_for_u" />
+ <Key
+ latin:keyLabel="i"
+ latin:popupCharacters="@string/alternates_for_i" />
+ <Key
+ latin:keyLabel="o"
+ latin:popupCharacters="@string/alternates_for_o" />
+ <Key
+ latin:keyLabel="p"
+ latin:popupCharacters="@string/alternates_for_p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row2" />
+ <Row
+ latin:keyWidth="8.042%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15.192%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="y"
+ latin:popupCharacters="@string/alternates_for_y" />
+ <Key
+ latin:keyLabel="x" />
+ <Key
+ latin:keyLabel="c"
+ latin:popupCharacters="@string/alternates_for_c" />
+ <Key
+ latin:keyLabel="v"
+ latin:popupCharacters="@string/alternates_for_v" />
+ <Key
+ latin:keyLabel="b" />
+ <Key
+ latin:keyLabel="n"
+ latin:popupCharacters="@string/alternates_for_n" />
+ <Key
+ latin:keyLabel="m" />
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="," />
+ <Key
+ latin:keyLabel="." />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=","
+ latin:manualTemporaryUpperCaseCode="33"
+ latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
+ latin:popupCharacters="!" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="63"
+ latin:keyHintIcon="@drawable/key_hint_question_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
+ latin:popupCharacters="\?" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.530%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml-large/kbd_ru_rows.xml b/java/res/xml-large/kbd_ru_rows.xml
new file mode 100644
index 000000000..c5cd04371
--- /dev/null
+++ b/java/res/xml-large/kbd_ru_rows.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <!-- This row is intentionally not marked as a top row -->
+ <Row
+ latin:keyWidth="7.520%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="й"
+ latin:popupCharacters="1" />
+ <Key
+ latin:keyLabel="ц"
+ latin:popupCharacters="2" />
+ <Key
+ latin:keyLabel="у"
+ latin:popupCharacters="3" />
+ <Key
+ latin:keyLabel="к"
+ latin:popupCharacters="4" />
+ <Key
+ latin:keyLabel="е"
+ latin:popupCharacters="@string/alternates_for_cyrillic_e" />
+ <Key
+ latin:keyLabel="н"
+ latin:popupCharacters="6" />
+ <Key
+ latin:keyLabel="г"
+ latin:popupCharacters="7" />
+ <Key
+ latin:keyLabel="ш"
+ latin:popupCharacters="8" />
+ <Key
+ latin:keyLabel="щ"
+ latin:popupCharacters="9" />
+ <Key
+ latin:keyLabel="з"
+ latin:popupCharacters="0" />
+ <Key
+ latin:keyLabel="х" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="7.520%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%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="ж" />
+ <Key
+ latin:keyLabel="э" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="7.520%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.400%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="ь"
+ latin:popupCharacters="@string/alternates_for_cyrillic_soft_sign" />
+ <Key
+ latin:keyLabel="б" />
+ <Key
+ latin:keyLabel="ю" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="44"
+ latin:keyHintIcon="@drawable/key_hint_comma_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_comma_large_holo"
+ latin:popupCharacters="," />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.400%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml-large/kbd_sr_rows.xml b/java/res/xml-large/kbd_sr_rows.xml
new file mode 100644
index 000000000..ce9e20817
--- /dev/null
+++ b/java/res/xml-large/kbd_sr_rows.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <!-- This row is intentionally not marked as a top row -->
+ <Row
+ latin:keyWidth="7.520%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="љ"
+ latin:popupCharacters="1" />
+ <Key
+ latin:keyLabel="њ"
+ latin:popupCharacters="2" />
+ <Key
+ latin:keyLabel="е"
+ latin:popupCharacters="3" />
+ <Key
+ latin:keyLabel="р"
+ latin:popupCharacters="4" />
+ <Key
+ latin:keyLabel="т"
+ latin:popupCharacters="5" />
+ <Key
+ latin:keyLabel="з"
+ latin:popupCharacters="6" />
+ <Key
+ latin:keyLabel="у"
+ latin:popupCharacters="7" />
+ <Key
+ latin:keyLabel="и"
+ latin:popupCharacters="8" />
+ <Key
+ latin:keyLabel="о"
+ latin:popupCharacters="9" />
+ <Key
+ latin:keyLabel="п"
+ latin:popupCharacters="0" />
+ <Key
+ latin:keyLabel="ш" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="7.520%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%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="ч" />
+ <Key
+ latin:keyLabel="ћ" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="7.520%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.400%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=","
+ latin:manualTemporaryUpperCaseCode="33"
+ latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
+ latin:popupCharacters="!" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="63"
+ latin:keyHintIcon="@drawable/key_hint_question_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
+ latin:popupCharacters="\?" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="12.400%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml-large/kbd_symbols.xml b/java/res/xml-large/kbd_symbols.xml
new file mode 100644
index 000000000..1061178e0
--- /dev/null
+++ b/java/res/xml-large/kbd_symbols.xml
@@ -0,0 +1,230 @@
+<?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:keyboardHeight="@dimen/keyboardHeight"
+ latin:maxKeyboardHeight="50%p"
+ latin:rowHeight="25%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:popupKeyboardTemplate="@xml/kbd_popup_template"
+ latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <include
+ latin:keyboardLayout="@xml/kbd_currency_key_styles" />
+ <!-- This row is intentionally not marked as a top row -->
+ <Row
+ latin:keyWidth="8.272%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="1"
+ latin:popupCharacters="¹,½,⅓,¼,⅛" />
+ <Key
+ latin:keyLabel="2"
+ latin:popupCharacters="²,⅔" />
+ <Key
+ latin:keyLabel="3"
+ latin:popupCharacters="³,¾,⅜" />
+ <Key
+ latin:keyLabel="4"
+ latin:popupCharacters="⁴" />
+ <Key
+ latin:keyLabel="5"
+ latin:popupCharacters="⅝" />
+ <Key
+ latin:keyLabel="6" />
+ <Key
+ latin:keyLabel="7"
+ latin:popupCharacters="⅞" />
+ <Key
+ latin:keyLabel="8" />
+ <Key
+ latin:keyLabel="9" />
+ <Key
+ latin:keyLabel="0"
+ latin:popupCharacters="ⁿ,∅" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="8.157%p"
+ >
+ <Key
+ latin:keyStyle="toAlphaKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="11.167%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="#" />
+ <Key
+ latin:keyStyle="currencyKeyStyle" />
+ <Key
+ latin:keyLabel="%"
+ latin:popupCharacters="‰" />
+ <Key
+ latin:keyLabel="&amp;" />
+ <Key
+ latin:keyLabel="*"
+ latin:popupCharacters="†,‡,★" />
+ <Key
+ latin:keyLabel="-"
+ latin:popupCharacters="_,–,—" />
+ <Key
+ latin:keyLabel="+"
+ latin:popupCharacters="±" />
+ <Key
+ latin:keyLabel="("
+ latin:popupCharacters="[,{,&lt;" />
+ <Key
+ latin:keyLabel=")"
+ latin:popupCharacters="],},&gt;" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="15.750%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="8.042%p"
+ >
+ <Key
+ latin:keyStyle="moreKeyStyle"
+ latin:keyWidth="15.192%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="&lt;"
+ latin:popupCharacters="≤,«,‹" />
+ <Key
+ latin:keyLabel="&gt;"
+ latin:popupCharacters="≥,»,›" />
+ <Key
+ latin:keyLabel="="
+ latin:popupCharacters="≠,≈" />
+ <switch>
+ <case
+ latin:languageCode="ru"
+ >
+ <Key
+ latin:keyLabel=":" />
+ </case>
+ <case
+ latin:mode="url"
+ >
+ <Key
+ latin:keyLabel="\'" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=":" />
+ </default>
+ </switch>
+ <Key
+ latin:keyLabel=";" />
+ <switch>
+ <case
+ latin:languageCode="ru"
+ >
+ <Key
+ latin:keyLabel="\'" />
+ <Key
+ latin:keyLabel="&quot;"
+ latin:popupCharacters="“,”,«,»,˝" />
+ <Key
+ latin:keyLabel="." />
+ <Key
+ latin:keyLabel="," />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="," />
+ <Key
+ latin:keyLabel="." />
+ <Key
+ latin:keyLabel="!"
+ latin:popupCharacters="¡" />
+ <Key
+ latin:keyLabel="\?"
+ latin:popupCharacters="¿" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="moreKeyStyle"
+ latin:keyWidth="12.530%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <!-- This row is intentionally not marked as a bottom row -->
+ <Row
+ latin:keyWidth="8.042%p"
+ >
+ <Spacer
+ latin:horizontalGap="8.362%p" />
+ <switch>
+ <case latin:hasSettingsKey="true">
+ <Key
+ latin:keyStyle="settingsKeyStyle" />
+ </case>
+ <default>
+ <Spacer
+ latin:horizontalGap="8.042%p" />
+ </default>
+ </switch>
+ <Key
+ latin:keyLabel="/" />
+ <Key
+ latin:keyLabel="\@" />
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="37.454%p" />
+ <switch>
+ <case
+ latin:languageCode="ru"
+ >
+ <Key
+ latin:keyLabel="_" />
+ <Key
+ latin:keyLabel="-" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="&quot;"
+ latin:popupCharacters="“,”,«,»,˝" />
+ <Key
+ latin:keyLabel="_" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle" />
+ </case>
+ </switch>
+ </Row>
+</Keyboard>
diff --git a/java/res/xml-large/kbd_symbols_shift.xml b/java/res/xml-large/kbd_symbols_shift.xml
new file mode 100644
index 000000000..8359b7571
--- /dev/null
+++ b/java/res/xml-large/kbd_symbols_shift.xml
@@ -0,0 +1,180 @@
+<?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:keyboardHeight="@dimen/keyboardHeight"
+ latin:maxKeyboardHeight="50%p"
+ latin:rowHeight="25%p"
+ latin:horizontalGap="@dimen/key_horizontal_gap"
+ latin:verticalGap="@dimen/key_bottom_gap"
+ latin:popupKeyboardTemplate="@xml/kbd_popup_template"
+ latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
+>
+ <include
+ latin:keyboardLayout="@xml/kbd_key_styles" />
+ <!-- This row is intentionally not marked as a top row -->
+ <Row
+ latin:keyWidth="8.272%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.949%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="~" />
+ <Key
+ latin:keyLabel="`" />
+ <Key
+ latin:keyLabel="|" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="•"
+ latin:popupCharacters="♪,♥,♠,♦,♣" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="√" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="π"
+ latin:popupCharacters="Π" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="÷" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="×" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="§"
+ latin:popupCharacters="¶" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="Δ" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="9.331%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="8.157%p"
+ >
+ <Key
+ latin:keyStyle="toAlphaKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="11.167%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="£" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="¢" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="€" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="¥" />
+ <Key
+ latin:keyLabel="^"
+ latin:popupCharacters="↑,↓,←,→" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="°" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="±"
+ latin:popupCharacters="∞" />
+ <Key
+ latin:keyLabel="{" />
+ <Key
+ latin:keyLabel="}" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyWidth="15.750%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <Row
+ latin:keyWidth="8.042%p"
+ >
+ <Key
+ latin:keyStyle="moreKeyStyle"
+ latin:keyWidth="15.192%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyLabel="\\" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="©" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="®" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="™" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="℅" />
+ <Key
+ latin:keyLabel="[" />
+ <Key
+ latin:keyLabel="]" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="¡" />
+ <Key
+ latin:keyStyle="nonPasswordSymbolKeyStyle"
+ latin:keyLabel="¿" />
+ <Key
+ latin:keyStyle="moreKeyStyle"
+ latin:keyWidth="12.530%p"
+ latin:keyEdgeFlags="right" />
+ </Row>
+ <!-- This row is intentionally not marked as a bottom row -->
+ <Row
+ latin:keyWidth="8.042%p"
+ >
+ <Spacer
+ latin:horizontalGap="24.446%p" />
+ <switch>
+ <case latin:hasSettingsKey="true">
+ <Key
+ latin:keyStyle="settingsKeyStyle" />
+ </case>
+ <default>
+ <Spacer
+ latin:horizontalGap="8.042%p" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="37.454%p" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle" />
+ </case>
+ </switch>
+ </Row>
+</Keyboard>