mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Keyboard XML supports switch-case-default tags to select rows and keys
Change-Id: I0d92e513757e765d9de98561205754af5a143650
This commit is contained in:
parent
8b00bc4f32
commit
b0465116bd
@ -112,9 +112,6 @@
|
|||||||
<attr name="keyIcon" format="reference" />
|
<attr name="keyIcon" format="reference" />
|
||||||
<!-- The hint icon to display on the key in conjunction with the label -->
|
<!-- The hint icon to display on the key in conjunction with the label -->
|
||||||
<attr name="keyHintIcon" format="reference" />
|
<attr name="keyHintIcon" format="reference" />
|
||||||
<!-- Mode of the keyboard. If the mode doesn't match the
|
|
||||||
requested keyboard mode, the key will be skipped. -->
|
|
||||||
<attr name="keyboardMode" />
|
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|
||||||
<declare-styleable name="BaseKeyboard_Row">
|
<declare-styleable name="BaseKeyboard_Row">
|
||||||
@ -125,12 +122,15 @@
|
|||||||
<!-- Row is anchored to the bottom of the keyboard. -->
|
<!-- Row is anchored to the bottom of the keyboard. -->
|
||||||
<flag name="bottom" value="8" />
|
<flag name="bottom" value="8" />
|
||||||
</attr>
|
</attr>
|
||||||
<!-- Mode of the keyboard. If the mode doesn't match the
|
|
||||||
requested keyboard mode, the row will be skipped. -->
|
|
||||||
<attr name="keyboardMode" format="reference" />
|
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|
||||||
<declare-styleable name="BaseKeyboard_Include">
|
<declare-styleable name="BaseKeyboard_Include">
|
||||||
<attr name="keyboardLayout" format="reference" />
|
<attr name="keyboardLayout" format="reference" />
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|
||||||
|
<declare-styleable name="BaseKeyboard_Case">
|
||||||
|
<attr name="mode" format="string" />
|
||||||
|
<attr name="settingsKey" format="string" />
|
||||||
|
<attr name="voiceKey" format="string" />
|
||||||
|
</declare-styleable>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -25,85 +25,8 @@
|
|||||||
latin:verticalGap="@dimen/key_bottom_gap"
|
latin:verticalGap="@dimen/key_bottom_gap"
|
||||||
latin:keyHeight="@dimen/key_height"
|
latin:keyHeight="@dimen/key_height"
|
||||||
>
|
>
|
||||||
<!-- This row is intentionally not marked as a top row -->
|
<include latin:keyboardLayout="@xml/kbd_qwerty_row1" />
|
||||||
<Row>
|
<include latin:keyboardLayout="@xml/kbd_qwerty_row2" />
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row1_common" />
|
<include latin:keyboardLayout="@xml/kbd_qwerty_row3" />
|
||||||
</Row>
|
<include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
|
||||||
<!-- TODO: We should have new attributes for <Key> to eliminate these excess duplications -->
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_normal"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row2_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_url"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row2_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_email"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row2_email" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_im"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row2_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_webentry"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row2_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_normal"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row3_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_url"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row3_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_email"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row3_email" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_im"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row3_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_webentry"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row3_common" />
|
|
||||||
</Row>
|
|
||||||
<!-- This row is intentionally not marked as a bottom row -->
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_normal"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_url"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row4_url" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_email"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row4_email" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_im"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_webentry"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_qwerty_row4_common" />
|
|
||||||
</Row>
|
|
||||||
</Keyboard>
|
</Keyboard>
|
||||||
|
81
java/res/xml-xlarge/kbd_qwerty_row1.xml
Normal file
81
java/res/xml-xlarge/kbd_qwerty_row1.xml
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
<?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>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_tab"
|
||||||
|
latin:keyLabel="Tab"
|
||||||
|
latin:keyWidth="7.0%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="q"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_q" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="w"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_w" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="e"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_e" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="r"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_r" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="t"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_t" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="y"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_y" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="u"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_u" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="i"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_i" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="o"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_o" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="p"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_p" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_delete"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_delete"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
|
||||||
|
latin:keyWidth="11.0%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:isRepeatable="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</Row>
|
||||||
|
</merge>
|
@ -1,78 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_tab"
|
|
||||||
latin:keyLabel="Tab"
|
|
||||||
latin:keyWidth="7.0%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="q"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_q" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="w"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_w" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="e"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_e" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="r"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_r" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="t"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_t" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="y"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_y" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="u"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_u" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="i"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_i" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="o"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_o" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="p"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_p" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_delete"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_delete"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
|
|
||||||
latin:keyWidth="11.0%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:isRepeatable="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
83
java/res/xml-xlarge/kbd_qwerty_row2.xml
Normal file
83
java/res/xml-xlarge/kbd_qwerty_row2.xml
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
<?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>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_symbol"
|
||||||
|
latin:keyLabel="@string/label_symbol_key"
|
||||||
|
latin:keyWidth="9.7%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="a"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_a" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="s"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_s" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="d"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_d" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="f" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="g"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_g" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="h" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="j" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="k" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="l"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_l" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="email"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="\@" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="\'"
|
||||||
|
latin:temporaryShiftKeyLabel="""
|
||||||
|
latin:keyHintIcon="@drawable/key_hint_quote_holo"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters=""" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_return"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_return"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
|
latin:keyWidth="8.3%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</Row>
|
||||||
|
</merge>
|
@ -1,71 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="9.7%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="a"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_a" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="s"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_s" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="d"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_d" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="f" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="g"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_g" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="h" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="j" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="k" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="l"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_l" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="\'"
|
|
||||||
latin:temporaryShiftKeyLabel="""
|
|
||||||
latin:keyHintIcon="@drawable/key_hint_quote_holo"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters=""" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="8.3%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,67 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="9.7%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="a"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_a" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="s"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_s" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="d"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_d" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="f" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="g"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_g" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="h" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="j" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="k" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="l"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_l" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="\@" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="8.3%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
88
java/res/xml-xlarge/kbd_qwerty_row3.xml
Normal file
88
java/res/xml-xlarge/kbd_qwerty_row3.xml
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<?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>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_shift"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_shift"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
|
||||||
|
latin:keyWidth="13.1%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:isSticky="true"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="z"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_z" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="x" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="c"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_c" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="v"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_v" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="b" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="n"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="@string/alternates_for_n" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="m" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="email"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="," />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="." />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=","
|
||||||
|
latin:temporaryShiftKeyLabel="!"
|
||||||
|
latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="!" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="."
|
||||||
|
latin:temporaryShiftKeyLabel="\?"
|
||||||
|
latin:keyHintIcon="@drawable/key_hint_question_holo"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="\?" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_shift"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_shift"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
|
||||||
|
latin:keyWidth="13.1%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:isSticky="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</Row>
|
||||||
|
</merge>
|
@ -1,74 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_shift"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_shift"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
|
|
||||||
latin:keyWidth="13.1%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:isSticky="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="z"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_z" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="x" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="c"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_c" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="v"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_v" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="b" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="n"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_n" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="m" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=","
|
|
||||||
latin:temporaryShiftKeyLabel="!"
|
|
||||||
latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="!" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:temporaryShiftKeyLabel="\?"
|
|
||||||
latin:keyHintIcon="@drawable/key_hint_question_holo"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="\?" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_shift"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_shift"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
|
|
||||||
latin:keyWidth="13.1%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:isSticky="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,66 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_shift"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_shift"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
|
|
||||||
latin:keyWidth="13.1%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:isSticky="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="z"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_z" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="x" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="c"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_c" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="v"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_v" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="b" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="n"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="@string/alternates_for_n" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="m" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="," />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="." />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_shift"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_shift"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
|
|
||||||
latin:keyWidth="13.1%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:isSticky="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
95
java/res/xml-xlarge/kbd_qwerty_row4.xml
Normal file
95
java/res/xml-xlarge/kbd_qwerty_row4.xml
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
<?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>
|
||||||
|
<Spacer
|
||||||
|
latin:horizontalGap="15.1%p" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="email"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=".com"
|
||||||
|
latin:keyOutputText=".com"
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_domains"
|
||||||
|
latin:keyWidth="16.4%p" />
|
||||||
|
</case>
|
||||||
|
<!-- TODO: implement logical OR for <case> attribute -->
|
||||||
|
<case
|
||||||
|
latin:mode="url"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=".com"
|
||||||
|
latin:keyOutputText=".com"
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_domains"
|
||||||
|
latin:keyWidth="16.4%p" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=":-)"
|
||||||
|
latin:keyOutputText=":-)"
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_smileys" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="="
|
||||||
|
latin:temporaryShiftKeyLabel="+"
|
||||||
|
latin:keyHintIcon="@drawable/key_hint_plus_holo"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters=">" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_space"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
|
latin:keyWidth="37.0%p"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="email"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="_" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="-" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="-"
|
||||||
|
latin:temporaryShiftKeyLabel="/"
|
||||||
|
latin:keyHintIcon="@drawable/key_hint_slash_holo"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="/" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="_"
|
||||||
|
latin:temporaryShiftKeyLabel="\@"
|
||||||
|
latin:keyHintIcon="@drawable/key_hint_at_holo"
|
||||||
|
latin:popupKeyboard="@xml/kbd_popup_template"
|
||||||
|
latin:popupCharacters="\@" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</Row>
|
||||||
|
</merge>
|
@ -1,55 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Spacer
|
|
||||||
latin:horizontalGap="15.1%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-)"
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="="
|
|
||||||
latin:temporaryShiftKeyLabel="+"
|
|
||||||
latin:keyHintIcon="@drawable/key_hint_plus_holo"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters=">" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="37.0%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="-"
|
|
||||||
latin:temporaryShiftKeyLabel="/"
|
|
||||||
latin:keyHintIcon="@drawable/key_hint_slash_holo"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="/" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="_"
|
|
||||||
latin:temporaryShiftKeyLabel="\@"
|
|
||||||
latin:keyHintIcon="@drawable/key_hint_at_holo"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="\@" />
|
|
||||||
</merge>
|
|
@ -1,42 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Spacer
|
|
||||||
latin:horizontalGap="15.1%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=".com"
|
|
||||||
latin:keyOutputText=".com"
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_domains"
|
|
||||||
latin:keyWidth="16.4%p" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="37.0%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="_" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="-" />
|
|
||||||
</merge>
|
|
@ -1,50 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Spacer
|
|
||||||
latin:horizontalGap="15.1%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=".com"
|
|
||||||
latin:keyOutputText=".com"
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_domains"
|
|
||||||
latin:keyWidth="16.4%p" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="37.0%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="-"
|
|
||||||
latin:temporaryShiftKeyLabel="/"
|
|
||||||
latin:keyHintIcon="@drawable/key_hint_slash_holo"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters="/" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="_"
|
|
||||||
latin:temporaryShiftKeyLabel=":"
|
|
||||||
latin:keyHintIcon="@drawable/key_hint_colon_holo"
|
|
||||||
latin:popupKeyboard="@xml/kbd_popup_template"
|
|
||||||
latin:popupCharacters=":" />
|
|
||||||
</merge>
|
|
@ -22,314 +22,141 @@
|
|||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
>
|
>
|
||||||
<Row
|
<Row
|
||||||
latin:keyboardMode="@+id/mode_normal"
|
|
||||||
latin:keyWidth="10%p"
|
latin:keyWidth="10%p"
|
||||||
latin:rowEdgeFlags="bottom"
|
latin:rowEdgeFlags="bottom"
|
||||||
>
|
>
|
||||||
<Key
|
<switch>
|
||||||
latin:codes="@integer/key_symbol"
|
<case
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
latin:settingsKey="false"
|
||||||
latin:keyWidth="20%p"
|
>
|
||||||
latin:keyEdgeFlags="left" />
|
<Key
|
||||||
<Key
|
latin:codes="@integer/key_symbol"
|
||||||
latin:codes="@integer/key_f1" />
|
latin:keyLabel="@string/label_symbol_key"
|
||||||
<Key
|
latin:keyWidth="20%p"
|
||||||
latin:codes="@integer/key_space"
|
latin:keyEdgeFlags="left" />
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
<Key
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
latin:codes="@integer/key_f1" />
|
||||||
latin:keyWidth="40%p" />
|
<switch>
|
||||||
<Key
|
<case
|
||||||
latin:keyLabel="."
|
latin:mode="web"
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
>
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
<Key
|
||||||
<Key
|
latin:codes="@integer/key_space"
|
||||||
latin:codes="@integer/key_return"
|
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
latin:keyWidth="20%p" />
|
||||||
latin:keyWidth="20%p"
|
<Key
|
||||||
latin:keyEdgeFlags="right" />
|
latin:codes="@integer/key_tab"
|
||||||
</Row>
|
latin:keyIcon="@drawable/sym_bkeyboard_tab"
|
||||||
<Row
|
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
|
||||||
latin:keyboardMode="@+id/mode_url"
|
latin:keyWidth="20%p" />
|
||||||
latin:keyWidth="10%p"
|
</case>
|
||||||
latin:rowEdgeFlags="bottom"
|
<default>
|
||||||
>
|
<Key
|
||||||
<Key
|
latin:codes="@integer/key_space"
|
||||||
latin:codes="@integer/key_symbol"
|
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
latin:keyWidth="20%p"
|
latin:keyWidth="40%p" />
|
||||||
latin:keyEdgeFlags="left" />
|
</default>
|
||||||
<Key
|
</switch>
|
||||||
latin:codes="@integer/key_f1" />
|
<Key
|
||||||
<Key
|
latin:keyLabel="."
|
||||||
latin:codes="@integer/key_space"
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
latin:popupKeyboard="@xml/popup_punctuation" />
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
<switch>
|
||||||
latin:keyWidth="40%p" />
|
<case
|
||||||
<Key
|
latin:mode="im"
|
||||||
latin:keyLabel="."
|
>
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
<Key
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
latin:keyLabel=":-)"
|
||||||
<Key
|
latin:keyOutputText=":-) "
|
||||||
latin:codes="@integer/key_return"
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
latin:keyWidth="20%p"
|
||||||
latin:keyWidth="20%p"
|
latin:keyEdgeFlags="right" />
|
||||||
latin:keyEdgeFlags="right" />
|
</case>
|
||||||
</Row>
|
<default>
|
||||||
<Row
|
<Key
|
||||||
latin:keyboardMode="@+id/mode_email"
|
latin:codes="@integer/key_return"
|
||||||
latin:keyWidth="10%p"
|
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
||||||
latin:rowEdgeFlags="bottom"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
>
|
latin:keyWidth="20%p"
|
||||||
<Key
|
latin:keyEdgeFlags="right" />
|
||||||
latin:codes="@integer/key_symbol"
|
</default>
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
</switch>
|
||||||
latin:keyWidth="20%p"
|
</case>
|
||||||
latin:keyEdgeFlags="left" />
|
<case
|
||||||
<Key
|
latin:settingsKey="true"
|
||||||
latin:codes="@integer/key_f1" />
|
>
|
||||||
<Key
|
<Key
|
||||||
latin:codes="@integer/key_space"
|
latin:codes="@integer/key_symbol"
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
latin:keyLabel="@string/label_symbol_key"
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
latin:keyWidth="15%p"
|
||||||
latin:keyWidth="40%p" />
|
latin:keyEdgeFlags="left" />
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel="."
|
latin:codes="@integer/key_settings"
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
||||||
<Key
|
<Key
|
||||||
latin:codes="@integer/key_return"
|
latin:codes="@integer/key_f1" />
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
<switch>
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
<case
|
||||||
latin:keyWidth="20%p"
|
latin:mode="web"
|
||||||
latin:keyEdgeFlags="right" />
|
>
|
||||||
</Row>
|
<Key
|
||||||
<Row
|
latin:codes="@integer/key_space"
|
||||||
latin:keyboardMode="@+id/mode_im"
|
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
||||||
latin:keyWidth="10%p"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
latin:rowEdgeFlags="bottom"
|
latin:keyWidth="30%p" />
|
||||||
>
|
<Key
|
||||||
<Key
|
latin:codes="@integer/key_tab"
|
||||||
latin:codes="@integer/key_symbol"
|
latin:keyIcon="@drawable/sym_bkeyboard_tab"
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_tab" />
|
||||||
latin:keyWidth="20%p"
|
</case>
|
||||||
latin:keyEdgeFlags="left" />
|
<default>
|
||||||
<Key
|
<Key
|
||||||
latin:codes="@integer/key_f1" />
|
latin:codes="@integer/key_space"
|
||||||
<Key
|
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
||||||
latin:codes="@integer/key_space"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
latin:keyWidth="30%p" />
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
</default>
|
||||||
latin:keyWidth="40%p" />
|
</switch>
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel="."
|
latin:keyLabel="."
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
latin:popupKeyboard="@xml/popup_punctuation" />
|
||||||
<Key
|
<switch>
|
||||||
latin:keyLabel=":-)"
|
<case
|
||||||
latin:keyOutputText=":-) "
|
latin:mode="im"
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
>
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
<Key
|
||||||
latin:keyWidth="20%p"
|
latin:keyLabel=":-)"
|
||||||
latin:keyEdgeFlags="right" />
|
latin:keyOutputText=":-) "
|
||||||
</Row>
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
<Row
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
latin:keyboardMode="@+id/mode_webentry"
|
latin:keyWidth="25%p"
|
||||||
latin:keyWidth="10%p"
|
latin:keyEdgeFlags="right" />
|
||||||
latin:rowEdgeFlags="bottom"
|
</case>
|
||||||
>
|
<case
|
||||||
<Key
|
latin:mode="web"
|
||||||
latin:codes="@integer/key_symbol"
|
>
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
<Key
|
||||||
latin:keyWidth="20%p"
|
latin:codes="@integer/key_return"
|
||||||
latin:keyEdgeFlags="left" />
|
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
||||||
<Key
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
latin:codes="@integer/key_f1" />
|
latin:keyWidth="15%p"
|
||||||
<Key
|
latin:keyEdgeFlags="right" />
|
||||||
latin:codes="@integer/key_space"
|
</case>
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
<default>
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
<Key
|
||||||
latin:keyWidth="20%p" />
|
latin:codes="@integer/key_return"
|
||||||
<Key
|
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
||||||
latin:codes="@integer/key_tab"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_tab"
|
latin:keyWidth="25%p"
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
|
latin:keyEdgeFlags="right" />
|
||||||
latin:keyWidth="20%p" />
|
</default>
|
||||||
<Key
|
</switch>
|
||||||
latin:keyLabel="."
|
</case>
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
</switch>
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_normal_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_url_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_email_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_im_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_webentry_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_tab"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_tab"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_tab" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
</Row>
|
||||||
</merge>
|
</merge>
|
||||||
|
@ -22,371 +22,159 @@
|
|||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
>
|
>
|
||||||
<Row
|
<Row
|
||||||
latin:keyboardMode="@+id/mode_normal"
|
|
||||||
latin:keyWidth="10%p"
|
latin:keyWidth="10%p"
|
||||||
latin:rowEdgeFlags="bottom"
|
latin:rowEdgeFlags="bottom"
|
||||||
>
|
>
|
||||||
<Key
|
<switch>
|
||||||
latin:codes="@integer/key_symbol"
|
<case
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
latin:settingsKey="false"
|
||||||
latin:keyWidth="20%p"
|
>
|
||||||
latin:isModifier="true"
|
<Key
|
||||||
latin:keyEdgeFlags="left" />
|
latin:codes="@integer/key_symbol"
|
||||||
<Key
|
latin:keyLabel="@string/label_symbol_key"
|
||||||
latin:codes="@integer/key_f1"
|
latin:keyWidth="20%p"
|
||||||
latin:isModifier="true" />
|
latin:isModifier="true"
|
||||||
<Key
|
latin:keyEdgeFlags="left" />
|
||||||
latin:codes="@integer/key_space"
|
<Key
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
latin:codes="@integer/key_f1"
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
latin:isModifier="true" />
|
||||||
latin:keyWidth="40%p"
|
<switch>
|
||||||
latin:isModifier="true" />
|
<case
|
||||||
<Key
|
latin:mode="web"
|
||||||
latin:keyLabel="."
|
>
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
<Key
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
latin:codes="@integer/key_space"
|
||||||
latin:isModifier="true" />
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
||||||
<Key
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
latin:codes="@integer/key_return"
|
latin:keyWidth="20%p"
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
latin:isModifier="true" />
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
<Key
|
||||||
latin:keyWidth="20%p"
|
latin:codes="@integer/key_tab"
|
||||||
latin:isModifier="true"
|
latin:keyIcon="@drawable/sym_keyboard_tab"
|
||||||
latin:keyEdgeFlags="right" />
|
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
|
||||||
</Row>
|
latin:keyWidth="20%p"
|
||||||
<Row
|
latin:isModifier="true" />
|
||||||
latin:keyboardMode="@+id/mode_url"
|
</case>
|
||||||
latin:keyWidth="10%p"
|
<default>
|
||||||
latin:rowEdgeFlags="bottom"
|
<Key
|
||||||
>
|
latin:codes="@integer/key_space"
|
||||||
<Key
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
||||||
latin:codes="@integer/key_symbol"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
latin:keyWidth="40%p"
|
||||||
latin:keyWidth="20%p"
|
latin:isModifier="true" />
|
||||||
latin:isModifier="true"
|
</default>
|
||||||
latin:keyEdgeFlags="left" />
|
</switch>
|
||||||
<Key
|
<Key
|
||||||
latin:codes="@integer/key_f1"
|
latin:keyLabel="."
|
||||||
latin:isModifier="true" />
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
<Key
|
latin:popupKeyboard="@xml/popup_punctuation"
|
||||||
latin:codes="@integer/key_space"
|
latin:isModifier="true" />
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
<switch>
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
<case
|
||||||
latin:keyWidth="40%p"
|
latin:mode="im"
|
||||||
latin:isModifier="true" />
|
>
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel="."
|
latin:keyLabel=":-)"
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
latin:keyOutputText=":-) "
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
latin:isModifier="true" />
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
<Key
|
latin:keyWidth="20%p"
|
||||||
latin:codes="@integer/key_return"
|
latin:isModifier="true"
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
latin:keyEdgeFlags="right" />
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
</case>
|
||||||
latin:keyWidth="20%p"
|
<default>
|
||||||
latin:isModifier="true"
|
<Key
|
||||||
latin:keyEdgeFlags="right" />
|
latin:codes="@integer/key_return"
|
||||||
</Row>
|
latin:keyIcon="@drawable/sym_keyboard_return"
|
||||||
<Row
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
latin:keyboardMode="@+id/mode_email"
|
latin:keyWidth="20%p"
|
||||||
latin:keyWidth="10%p"
|
latin:isModifier="true"
|
||||||
latin:rowEdgeFlags="bottom"
|
latin:keyEdgeFlags="right" />
|
||||||
>
|
</default>
|
||||||
<Key
|
</switch>
|
||||||
latin:codes="@integer/key_symbol"
|
</case>
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
<case
|
||||||
latin:keyWidth="20%p"
|
latin:settingsKey="true"
|
||||||
latin:isModifier="true"
|
>
|
||||||
latin:keyEdgeFlags="left" />
|
<Key
|
||||||
<Key
|
latin:codes="@integer/key_symbol"
|
||||||
latin:codes="@integer/key_f1"
|
latin:keyLabel="@string/label_symbol_key"
|
||||||
latin:isModifier="true" />
|
latin:keyWidth="15%p"
|
||||||
<Key
|
latin:isModifier="true"
|
||||||
latin:codes="@integer/key_space"
|
latin:keyEdgeFlags="left" />
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
<Key
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
latin:codes="@integer/key_settings"
|
||||||
latin:keyWidth="40%p"
|
latin:keyIcon="@drawable/sym_keyboard_settings"
|
||||||
latin:isModifier="true" />
|
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
||||||
<Key
|
latin:isModifier="true" />
|
||||||
latin:keyLabel="."
|
<Key
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
latin:codes="@integer/key_f1"
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
latin:isModifier="true" />
|
||||||
latin:isModifier="true" />
|
<switch>
|
||||||
<Key
|
<case
|
||||||
latin:codes="@integer/key_return"
|
latin:mode="web"
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
>
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
<Key
|
||||||
latin:keyWidth="20%p"
|
latin:codes="@integer/key_space"
|
||||||
latin:isModifier="true"
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
||||||
latin:keyEdgeFlags="right" />
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
</Row>
|
latin:keyWidth="30%p"
|
||||||
<Row
|
latin:isModifier="true" />
|
||||||
latin:keyboardMode="@+id/mode_im"
|
<Key
|
||||||
latin:keyWidth="10%p"
|
latin:codes="@integer/key_tab"
|
||||||
latin:rowEdgeFlags="bottom"
|
latin:keyIcon="@drawable/sym_keyboard_tab"
|
||||||
>
|
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
|
||||||
<Key
|
latin:isModifier="true" />
|
||||||
latin:codes="@integer/key_symbol"
|
</case>
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
<default>
|
||||||
latin:keyWidth="20%p"
|
<Key
|
||||||
latin:isModifier="true"
|
latin:codes="@integer/key_space"
|
||||||
latin:keyEdgeFlags="left" />
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
||||||
<Key
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
latin:codes="@integer/key_f1"
|
latin:keyWidth="30%p"
|
||||||
latin:isModifier="true" />
|
latin:isModifier="true" />
|
||||||
<Key
|
</default>
|
||||||
latin:codes="@integer/key_space"
|
</switch>
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
<Key
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
latin:keyLabel="."
|
||||||
latin:keyWidth="40%p"
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
latin:isModifier="true" />
|
latin:popupKeyboard="@xml/popup_punctuation"
|
||||||
<Key
|
latin:isModifier="true" />
|
||||||
latin:keyLabel="."
|
<switch>
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
<case
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
latin:mode="im"
|
||||||
latin:isModifier="true" />
|
>
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel=":-)"
|
latin:keyLabel=":-)"
|
||||||
latin:keyOutputText=":-) "
|
latin:keyOutputText=":-) "
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
latin:keyWidth="20%p"
|
latin:keyWidth="25%p"
|
||||||
latin:isModifier="true"
|
latin:isModifier="true"
|
||||||
latin:keyEdgeFlags="right" />
|
latin:keyEdgeFlags="right" />
|
||||||
</Row>
|
</case>
|
||||||
<Row
|
<case
|
||||||
latin:keyboardMode="@+id/mode_webentry"
|
latin:mode="web"
|
||||||
latin:keyWidth="10%p"
|
>
|
||||||
latin:rowEdgeFlags="bottom"
|
<Key
|
||||||
>
|
latin:codes="@integer/key_return"
|
||||||
<Key
|
latin:keyIcon="@drawable/sym_keyboard_return"
|
||||||
latin:codes="@integer/key_symbol"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
latin:keyWidth="15%p"
|
||||||
latin:keyWidth="20%p"
|
latin:isModifier="true"
|
||||||
latin:isModifier="true"
|
latin:keyEdgeFlags="right" />
|
||||||
latin:keyEdgeFlags="left" />
|
</case>
|
||||||
<Key
|
<default>
|
||||||
latin:codes="@integer/key_f1"
|
<Key
|
||||||
latin:isModifier="true" />
|
latin:codes="@integer/key_return"
|
||||||
<Key
|
latin:keyIcon="@drawable/sym_keyboard_return"
|
||||||
latin:codes="@integer/key_space"
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
latin:keyWidth="25%p"
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
latin:isModifier="true"
|
||||||
latin:keyWidth="20%p"
|
latin:keyEdgeFlags="right" />
|
||||||
latin:isModifier="true" />
|
</default>
|
||||||
<Key
|
</switch>
|
||||||
latin:codes="@integer/key_tab"
|
</case>
|
||||||
latin:keyIcon="@drawable/sym_keyboard_tab"
|
</switch>
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_normal_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_url_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_email_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_im_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_webentry_with_settings_key"
|
|
||||||
latin:keyWidth="10%p"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_symbol_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_tab"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_tab"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</Row>
|
</Row>
|
||||||
</merge>
|
</merge>
|
||||||
|
@ -142,64 +142,5 @@
|
|||||||
latin:isRepeatable="true"
|
latin:isRepeatable="true"
|
||||||
latin:keyEdgeFlags="right" />
|
latin:keyEdgeFlags="right" />
|
||||||
</Row>
|
</Row>
|
||||||
<Row
|
<include latin:keyboardLayout="@xml/kbd_symbols_row4" />
|
||||||
latin:keyboardMode="@+id/mode_symbols_normal"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_url"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_email"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_im"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_im" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_webentry"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_normal_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_url_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_email_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_im_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_im_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_webentry_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
</Keyboard>
|
</Keyboard>
|
||||||
|
@ -141,64 +141,5 @@
|
|||||||
latin:isRepeatable="true"
|
latin:isRepeatable="true"
|
||||||
latin:keyEdgeFlags="right" />
|
latin:keyEdgeFlags="right" />
|
||||||
</Row>
|
</Row>
|
||||||
<Row
|
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4" />
|
||||||
latin:keyboardMode="@+id/mode_symbols_normal"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_url"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_email"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_im"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_im" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_webentry"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_normal_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_url_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_email_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_im_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_im_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_webentry_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_black_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
</Keyboard>
|
</Keyboard>
|
||||||
|
116
java/res/xml/kbd_symbols_black_row4.xml
Normal file
116
java/res/xml/kbd_symbols_black_row4.xml
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
**
|
||||||
|
** Copyright 2010, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<merge
|
||||||
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
|
>
|
||||||
|
<Row
|
||||||
|
latin:rowEdgeFlags="bottom"
|
||||||
|
>
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:settingsKey="false"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_symbol"
|
||||||
|
latin:keyLabel="@string/label_alpha_key"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_f1" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_space"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
|
latin:keyWidth="40%p" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="."
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_punctuation" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="im"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=":-)"
|
||||||
|
latin:keyOutputText=":-) "
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_return"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</case>
|
||||||
|
<case
|
||||||
|
latin:settingsKey="true"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_symbol"
|
||||||
|
latin:keyLabel="@string/label_alpha_key"
|
||||||
|
latin:keyWidth="15%p"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_settings"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_f1" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_space"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
|
latin:keyWidth="30%p" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="."
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_punctuation" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="im"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=":-)"
|
||||||
|
latin:keyOutputText=":-) "
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
|
latin:keyWidth="25%p"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_return"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
|
latin:keyWidth="25%p"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</case>
|
||||||
|
</switch>
|
||||||
|
</Row>
|
||||||
|
</merge>
|
@ -1,46 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="40%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,50 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,47 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="40%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,51 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
129
java/res/xml/kbd_symbols_row4.xml
Normal file
129
java/res/xml/kbd_symbols_row4.xml
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
**
|
||||||
|
** Copyright 2010, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<merge
|
||||||
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
|
>
|
||||||
|
<Row
|
||||||
|
latin:rowEdgeFlags="bottom"
|
||||||
|
>
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:settingsKey="false"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_symbol"
|
||||||
|
latin:keyLabel="@string/label_alpha_key"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_f1"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_space"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
|
latin:keyWidth="40%p"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="."
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_punctuation"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="im"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=":-)"
|
||||||
|
latin:keyOutputText=":-) "
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_return"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_return"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</case>
|
||||||
|
<case
|
||||||
|
latin:settingsKey="true"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_symbol"
|
||||||
|
latin:keyLabel="@string/label_alpha_key"
|
||||||
|
latin:keyWidth="15%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_settings"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_settings"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_f1"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_space"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
|
latin:keyWidth="30%p"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="."
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_punctuation"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="im"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=":-)"
|
||||||
|
latin:keyOutputText=":-) "
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
|
latin:keyWidth="25%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_return"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_return"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
|
latin:keyWidth="25%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</case>
|
||||||
|
</switch>
|
||||||
|
</Row>
|
||||||
|
</merge>
|
@ -1,51 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="40%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,56 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,52 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="40%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,57 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_f1"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="."
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_punctuation"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -121,64 +121,5 @@
|
|||||||
latin:isRepeatable="true"
|
latin:isRepeatable="true"
|
||||||
latin:keyEdgeFlags="right" />
|
latin:keyEdgeFlags="right" />
|
||||||
</Row>
|
</Row>
|
||||||
<Row
|
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4" />
|
||||||
latin:keyboardMode="@+id/mode_symbols_normal"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_url"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_email"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_im"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_im" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_webentry"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_normal_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_url_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_email_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_im_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_im_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_webentry_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
</Keyboard>
|
</Keyboard>
|
||||||
|
@ -120,64 +120,5 @@
|
|||||||
latin:isRepeatable="true"
|
latin:isRepeatable="true"
|
||||||
latin:keyEdgeFlags="right" />
|
latin:keyEdgeFlags="right" />
|
||||||
</Row>
|
</Row>
|
||||||
<Row
|
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4" />
|
||||||
latin:keyboardMode="@+id/mode_symbols_normal"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_url"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_email"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_im"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_im" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_webentry"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_common" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_normal_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_url_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_email_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_im_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_im_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
<Row
|
|
||||||
latin:keyboardMode="@+id/mode_symbols_webentry_with_settings_key"
|
|
||||||
latin:rowEdgeFlags="bottom"
|
|
||||||
>
|
|
||||||
<include latin:keyboardLayout="@xml/kbd_symbols_shift_black_row4_common_with_settings_key" />
|
|
||||||
</Row>
|
|
||||||
</Keyboard>
|
</Keyboard>
|
||||||
|
112
java/res/xml/kbd_symbols_shift_black_row4.xml
Normal file
112
java/res/xml/kbd_symbols_shift_black_row4.xml
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
**
|
||||||
|
** Copyright 2010, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<merge
|
||||||
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
|
>
|
||||||
|
<Row
|
||||||
|
latin:rowEdgeFlags="bottom"
|
||||||
|
>
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:settingsKey="false"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_symbol"
|
||||||
|
latin:keyLabel="@string/label_alpha_key"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="„" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_space"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
|
latin:keyWidth="40%p" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="…" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="im"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=":-)"
|
||||||
|
latin:keyOutputText=":-) "
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_return"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</case>
|
||||||
|
<case
|
||||||
|
latin:settingsKey="true"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_symbol"
|
||||||
|
latin:keyLabel="@string/label_alpha_key"
|
||||||
|
latin:keyWidth="15%p"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_settings"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="„" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_space"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
|
latin:keyWidth="30%p" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="…" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="im"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=":-)"
|
||||||
|
latin:keyOutputText=":-) "
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
|
latin:keyWidth="25%p"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_return"
|
||||||
|
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
|
latin:keyWidth="25%p"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</case>
|
||||||
|
</switch>
|
||||||
|
</Row>
|
||||||
|
</merge>
|
@ -1,44 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="„" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="40%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="…" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,48 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="„" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="…" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,45 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="„" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="40%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="…" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,49 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="„" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="…" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
125
java/res/xml/kbd_symbols_shift_row4.xml
Normal file
125
java/res/xml/kbd_symbols_shift_row4.xml
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
**
|
||||||
|
** Copyright 2010, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<merge
|
||||||
|
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
||||||
|
>
|
||||||
|
<Row
|
||||||
|
latin:rowEdgeFlags="bottom"
|
||||||
|
>
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:settingsKey="false"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_symbol"
|
||||||
|
latin:keyLabel="@string/label_alpha_key"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="„"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_space"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
|
latin:keyWidth="40%p"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="…"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="im"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=":-)"
|
||||||
|
latin:keyOutputText=":-) "
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_return"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_return"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
|
latin:keyWidth="20%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</case>
|
||||||
|
<case
|
||||||
|
latin:settingsKey="true"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_symbol"
|
||||||
|
latin:keyLabel="@string/label_alpha_key"
|
||||||
|
latin:keyWidth="15%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="left" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_settings"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_settings"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="„"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_space"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
||||||
|
latin:keyWidth="30%p"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<Key
|
||||||
|
latin:keyLabel="…"
|
||||||
|
latin:isModifier="true" />
|
||||||
|
<switch>
|
||||||
|
<case
|
||||||
|
latin:mode="im"
|
||||||
|
>
|
||||||
|
<Key
|
||||||
|
latin:keyLabel=":-)"
|
||||||
|
latin:keyOutputText=":-) "
|
||||||
|
latin:keyHintIcon="@drawable/hint_popup"
|
||||||
|
latin:popupKeyboard="@xml/popup_smileys"
|
||||||
|
latin:keyWidth="25%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</case>
|
||||||
|
<default>
|
||||||
|
<Key
|
||||||
|
latin:codes="@integer/key_return"
|
||||||
|
latin:keyIcon="@drawable/sym_keyboard_return"
|
||||||
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
||||||
|
latin:keyWidth="25%p"
|
||||||
|
latin:isModifier="true"
|
||||||
|
latin:keyEdgeFlags="right" />
|
||||||
|
</default>
|
||||||
|
</switch>
|
||||||
|
</case>
|
||||||
|
</switch>
|
||||||
|
</Row>
|
||||||
|
</merge>
|
@ -1,49 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="„"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="40%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="…"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,54 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="„"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="…"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_return"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,50 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="„"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="40%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="…"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="20%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -1,55 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
/*
|
|
||||||
**
|
|
||||||
** Copyright 2010, The Android Open Source Project
|
|
||||||
**
|
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
** you may not use this file except in compliance with the License.
|
|
||||||
** You may obtain a copy of the License at
|
|
||||||
**
|
|
||||||
** http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
**
|
|
||||||
** Unless required by applicable law or agreed to in writing, software
|
|
||||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
** See the License for the specific language governing permissions and
|
|
||||||
** limitations under the License.
|
|
||||||
*/
|
|
||||||
-->
|
|
||||||
|
|
||||||
<merge
|
|
||||||
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
|
|
||||||
>
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_symbol"
|
|
||||||
latin:keyLabel="@string/label_alpha_key"
|
|
||||||
latin:keyWidth="15%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="left" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_settings"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_settings"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="„"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:codes="@integer/key_space"
|
|
||||||
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
||||||
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
||||||
latin:keyWidth="30%p"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel="…"
|
|
||||||
latin:isModifier="true" />
|
|
||||||
<Key
|
|
||||||
latin:keyLabel=":-)"
|
|
||||||
latin:keyOutputText=":-) "
|
|
||||||
latin:keyHintIcon="@drawable/hint_popup"
|
|
||||||
latin:popupKeyboard="@xml/popup_smileys"
|
|
||||||
latin:keyWidth="25%p"
|
|
||||||
latin:isModifier="true"
|
|
||||||
latin:keyEdgeFlags="right" />
|
|
||||||
</merge>
|
|
@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.inputmethod.latin;
|
package com.android.inputmethod.latin;
|
||||||
|
|
||||||
|
import com.android.inputmethod.latin.KeyboardSwitcher.KeyboardId;
|
||||||
|
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@ -103,8 +105,7 @@ public class BaseKeyboard {
|
|||||||
/** Height of the screen */
|
/** Height of the screen */
|
||||||
private final int mDisplayHeight;
|
private final int mDisplayHeight;
|
||||||
|
|
||||||
/** Keyboard mode, or zero, if none. */
|
protected final KeyboardId mId;
|
||||||
private final int mKeyboardMode;
|
|
||||||
|
|
||||||
// Variables for pre-computing nearest keys.
|
// Variables for pre-computing nearest keys.
|
||||||
|
|
||||||
@ -139,9 +140,6 @@ public class BaseKeyboard {
|
|||||||
*/
|
*/
|
||||||
public int rowEdgeFlags;
|
public int rowEdgeFlags;
|
||||||
|
|
||||||
/** The keyboard mode for this row */
|
|
||||||
public int mode;
|
|
||||||
|
|
||||||
private final BaseKeyboard parent;
|
private final BaseKeyboard parent;
|
||||||
|
|
||||||
private Row(BaseKeyboard parent) {
|
private Row(BaseKeyboard parent) {
|
||||||
@ -168,7 +166,6 @@ public class BaseKeyboard {
|
|||||||
a = res.obtainAttributes(Xml.asAttributeSet(parser),
|
a = res.obtainAttributes(Xml.asAttributeSet(parser),
|
||||||
R.styleable.BaseKeyboard_Row);
|
R.styleable.BaseKeyboard_Row);
|
||||||
rowEdgeFlags = a.getInt(R.styleable.BaseKeyboard_Row_rowEdgeFlags, 0);
|
rowEdgeFlags = a.getInt(R.styleable.BaseKeyboard_Row_rowEdgeFlags, 0);
|
||||||
mode = a.getResourceId(R.styleable.BaseKeyboard_Row_keyboardMode, 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,19 +453,32 @@ public class BaseKeyboard {
|
|||||||
* @param xmlLayoutResId the resource file that contains the keyboard layout and keys.
|
* @param xmlLayoutResId the resource file that contains the keyboard layout and keys.
|
||||||
*/
|
*/
|
||||||
public BaseKeyboard(Context context, int xmlLayoutResId) {
|
public BaseKeyboard(Context context, int xmlLayoutResId) {
|
||||||
this(context, xmlLayoutResId, 0);
|
this(context, xmlLayoutResId, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a keyboard from the given xml key layout file. Weeds out rows
|
* Creates a keyboard from the given keyboard identifier.
|
||||||
* that have a keyboard mode defined but don't match the specified mode.
|
* @param context the application or service context
|
||||||
|
* @param id keyboard identifier
|
||||||
|
*/
|
||||||
|
public BaseKeyboard(Context context, KeyboardId id) {
|
||||||
|
this(context, id.getXmlId(), id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a keyboard from the given xml key layout file.
|
||||||
* @param context the application or service context
|
* @param context the application or service context
|
||||||
* @param xmlLayoutResId the resource file that contains the keyboard layout and keys.
|
* @param xmlLayoutResId the resource file that contains the keyboard layout and keys.
|
||||||
* @param modeId keyboard mode identifier
|
* @param id keyboard identifier
|
||||||
* @param width sets width of keyboard
|
|
||||||
* @param height sets height of keyboard
|
|
||||||
*/
|
*/
|
||||||
public BaseKeyboard(Context context, int xmlLayoutResId, int modeId, int width, int height) {
|
private BaseKeyboard(Context context, int xmlLayoutResId, KeyboardId id) {
|
||||||
|
this(context, xmlLayoutResId, id,
|
||||||
|
context.getResources().getDisplayMetrics().widthPixels,
|
||||||
|
context.getResources().getDisplayMetrics().heightPixels);
|
||||||
|
}
|
||||||
|
|
||||||
|
private BaseKeyboard(Context context, int xmlLayoutResId, KeyboardId id, int width,
|
||||||
|
int height) {
|
||||||
Resources res = context.getResources();
|
Resources res = context.getResources();
|
||||||
GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width);
|
GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width);
|
||||||
GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
|
GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
|
||||||
@ -481,23 +491,10 @@ public class BaseKeyboard {
|
|||||||
setKeyWidth(mDisplayWidth / 10);
|
setKeyWidth(mDisplayWidth / 10);
|
||||||
mDefaultVerticalGap = 0;
|
mDefaultVerticalGap = 0;
|
||||||
mDefaultHeight = mDefaultWidth;
|
mDefaultHeight = mDefaultWidth;
|
||||||
mKeyboardMode = modeId;
|
mId = id;
|
||||||
loadKeyboard(context, xmlLayoutResId);
|
loadKeyboard(context, xmlLayoutResId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a keyboard from the given xml key layout file. Weeds out rows
|
|
||||||
* that have a keyboard mode defined but don't match the specified mode.
|
|
||||||
* @param context the application or service context
|
|
||||||
* @param xmlLayoutResId the resource file that contains the keyboard layout and keys.
|
|
||||||
* @param modeId keyboard mode identifier
|
|
||||||
*/
|
|
||||||
public BaseKeyboard(Context context, int xmlLayoutResId, int modeId) {
|
|
||||||
this(context, xmlLayoutResId, modeId,
|
|
||||||
context.getResources().getDisplayMetrics().widthPixels,
|
|
||||||
context.getResources().getDisplayMetrics().heightPixels);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Creates a blank keyboard from the given resource file and populates it with the specified
|
* <p>Creates a blank keyboard from the given resource file and populates it with the specified
|
||||||
* characters in left-to-right, top-to-bottom fashion, using the specified number of columns.
|
* characters in left-to-right, top-to-bottom fashion, using the specified number of columns.
|
||||||
@ -608,10 +605,6 @@ public class BaseKeyboard {
|
|||||||
return mDisplayWidth;
|
return mDisplayWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getKeyboardMode() {
|
|
||||||
return mKeyboardMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean setShifted(boolean shiftState) {
|
public boolean setShifted(boolean shiftState) {
|
||||||
for (final Key key : mShiftKeys) {
|
for (final Key key : mShiftKeys) {
|
||||||
key.on = shiftState;
|
key.on = shiftState;
|
||||||
|
@ -18,6 +18,7 @@ package com.android.inputmethod.latin;
|
|||||||
|
|
||||||
import com.android.inputmethod.latin.BaseKeyboard.Key;
|
import com.android.inputmethod.latin.BaseKeyboard.Key;
|
||||||
import com.android.inputmethod.latin.BaseKeyboard.Row;
|
import com.android.inputmethod.latin.BaseKeyboard.Row;
|
||||||
|
import com.android.inputmethod.latin.KeyboardSwitcher.KeyboardId;
|
||||||
|
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
||||||
@ -52,7 +53,7 @@ import java.util.List;
|
|||||||
* ...
|
* ...
|
||||||
* >/Keyboard<
|
* >/Keyboard<
|
||||||
* </pre>
|
* </pre>
|
||||||
* The xml file which is included in other file must have >merge< as root element, such as:
|
* The XML file which is included in other file must have >merge< as root element, such as:
|
||||||
* <pre>
|
* <pre>
|
||||||
* >!-- xml/other_keys.xml --<
|
* >!-- xml/other_keys.xml --<
|
||||||
* >merge<
|
* >merge<
|
||||||
@ -70,6 +71,38 @@ import java.util.List;
|
|||||||
* ...
|
* ...
|
||||||
* >/merge<
|
* >/merge<
|
||||||
* </pre>
|
* </pre>
|
||||||
|
* You can also use switch-case-default tags to select Rows and Keys.
|
||||||
|
* <pre>
|
||||||
|
* >switch<
|
||||||
|
* >case case_attribute*<
|
||||||
|
* >!-- Any valid tags at switch position --<
|
||||||
|
* >/case<
|
||||||
|
* ...
|
||||||
|
* >default<
|
||||||
|
* >!-- Any valid tags at switch position --<
|
||||||
|
* >/default<
|
||||||
|
* >/switch<
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* TODO: These are some random ideas to improve this parser.
|
||||||
|
* - can specify keyWidth attribute by multiplication of default keyWidth
|
||||||
|
* for example: keyWidth="200%b" ("b" stands for "base")
|
||||||
|
* - can declare style and specify styles within tags.
|
||||||
|
* for example:
|
||||||
|
* >switch<
|
||||||
|
* >case colorScheme="white"<
|
||||||
|
* >declare-style name="shift-key" parentStyle="modifier-key"<
|
||||||
|
* >item name="keyIcon"<@drawable/sym_keyboard_shift">/item<
|
||||||
|
* >/declare-style<
|
||||||
|
* >/case<
|
||||||
|
* >case colorScheme="black"<
|
||||||
|
* >declare-style name="shift-key" parentStyle="modifier-key"<
|
||||||
|
* >item name="keyIcon"<@drawable/sym_bkeyboard_shift">/item<
|
||||||
|
* >/declare-style<
|
||||||
|
* >/case<
|
||||||
|
* >/switch<
|
||||||
|
* ...
|
||||||
|
* >Key include-style="shift-key" ... /<
|
||||||
*/
|
*/
|
||||||
public class BaseKeyboardParser {
|
public class BaseKeyboardParser {
|
||||||
private static final String TAG = "BaseKeyboardParser";
|
private static final String TAG = "BaseKeyboardParser";
|
||||||
@ -83,6 +116,17 @@ public class BaseKeyboardParser {
|
|||||||
private static final String TAG_SPACER = "Spacer";
|
private static final String TAG_SPACER = "Spacer";
|
||||||
private static final String TAG_INCLUDE = "include";
|
private static final String TAG_INCLUDE = "include";
|
||||||
private static final String TAG_MERGE = "merge";
|
private static final String TAG_MERGE = "merge";
|
||||||
|
private static final String TAG_SWITCH = "switch";
|
||||||
|
private static final String TAG_CASE = "case";
|
||||||
|
private static final String TAG_DEFAULT = "default";
|
||||||
|
|
||||||
|
// String representation of KeyboardSwitcher.MODE_xxx.
|
||||||
|
private static final String MODE_TEXT = "text";
|
||||||
|
private static final String MODE_URL = "url";
|
||||||
|
private static final String MODE_EMAIL = "email";
|
||||||
|
private static final String MODE_IM = "im";
|
||||||
|
private static final String MODE_WEB = "web";
|
||||||
|
private static final String MODE_PHONE = "phone";
|
||||||
|
|
||||||
private final BaseKeyboard mKeyboard;
|
private final BaseKeyboard mKeyboard;
|
||||||
private final Resources mResources;
|
private final Resources mResources;
|
||||||
@ -143,7 +187,7 @@ public class BaseKeyboardParser {
|
|||||||
a.recycle();
|
a.recycle();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseKeyboardContent(XmlResourceParser parser, final List<Key> keys)
|
private void parseKeyboardContent(XmlResourceParser parser, List<Key> keys)
|
||||||
throws XmlPullParserException, IOException {
|
throws XmlPullParserException, IOException {
|
||||||
if (DEBUG_PARSER) debugEnterMethod("parseKeyboardContent", keys == null);
|
if (DEBUG_PARSER) debugEnterMethod("parseKeyboardContent", keys == null);
|
||||||
int event;
|
int event;
|
||||||
@ -153,14 +197,13 @@ public class BaseKeyboardParser {
|
|||||||
if (DEBUG_TAG) debugStartTag("parseKeyboardContent", tag, keys == null);
|
if (DEBUG_TAG) debugStartTag("parseKeyboardContent", tag, keys == null);
|
||||||
if (TAG_ROW.equals(tag)) {
|
if (TAG_ROW.equals(tag)) {
|
||||||
Row row = mKeyboard.createRowFromXml(mResources, parser);
|
Row row = mKeyboard.createRowFromXml(mResources, parser);
|
||||||
if (keys != null && maybeStartRow(row)) {
|
if (keys != null)
|
||||||
parseRowContent(parser, row, keys);
|
startRow(row);
|
||||||
} else {
|
parseRowContent(parser, row, keys);
|
||||||
// Skip entire <Row></Row>
|
|
||||||
parseRowContent(parser, row, null);
|
|
||||||
}
|
|
||||||
} else if (TAG_INCLUDE.equals(tag)) {
|
} else if (TAG_INCLUDE.equals(tag)) {
|
||||||
parseIncludeKeyboardContent(parser, keys);
|
parseIncludeKeyboardContent(parser, keys);
|
||||||
|
} else if (TAG_SWITCH.equals(tag)) {
|
||||||
|
parseSwitchKeyboardContent(parser, keys);
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalStartTag(parser, TAG_ROW);
|
throw new IllegalStartTag(parser, TAG_ROW);
|
||||||
}
|
}
|
||||||
@ -170,6 +213,8 @@ public class BaseKeyboardParser {
|
|||||||
if (TAG_KEYBOARD.equals(tag)) {
|
if (TAG_KEYBOARD.equals(tag)) {
|
||||||
endKeyboard(mKeyboard.getVerticalGap());
|
endKeyboard(mKeyboard.getVerticalGap());
|
||||||
break;
|
break;
|
||||||
|
} else if (TAG_CASE.equals(tag) || TAG_DEFAULT.equals(tag)) {
|
||||||
|
break;
|
||||||
} else if (TAG_MERGE.equals(tag)) {
|
} else if (TAG_MERGE.equals(tag)) {
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
@ -194,6 +239,8 @@ public class BaseKeyboardParser {
|
|||||||
parseSpacer(parser, keys);
|
parseSpacer(parser, keys);
|
||||||
} else if (TAG_INCLUDE.equals(tag)) {
|
} else if (TAG_INCLUDE.equals(tag)) {
|
||||||
parseIncludeRowContent(parser, row, keys);
|
parseIncludeRowContent(parser, row, keys);
|
||||||
|
} else if (TAG_SWITCH.equals(tag)) {
|
||||||
|
parseSwitchRowContent(parser, row, keys);
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalStartTag(parser, TAG_KEY);
|
throw new IllegalStartTag(parser, TAG_KEY);
|
||||||
}
|
}
|
||||||
@ -204,6 +251,8 @@ public class BaseKeyboardParser {
|
|||||||
if (keys != null)
|
if (keys != null)
|
||||||
endRow();
|
endRow();
|
||||||
break;
|
break;
|
||||||
|
} else if (TAG_CASE.equals(tag) || TAG_DEFAULT.equals(tag)) {
|
||||||
|
break;
|
||||||
} else if (TAG_MERGE.equals(tag)) {
|
} else if (TAG_MERGE.equals(tag)) {
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
@ -237,7 +286,7 @@ public class BaseKeyboardParser {
|
|||||||
} else {
|
} else {
|
||||||
final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser),
|
final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser),
|
||||||
R.styleable.BaseKeyboard);
|
R.styleable.BaseKeyboard);
|
||||||
int gap = getDimensionOrFraction(a, R.styleable.BaseKeyboard_horizontalGap,
|
final int gap = getDimensionOrFraction(a, R.styleable.BaseKeyboard_horizontalGap,
|
||||||
mKeyboard.getKeyboardWidth(), 0);
|
mKeyboard.getKeyboardWidth(), 0);
|
||||||
a.recycle();
|
a.recycle();
|
||||||
checkEndTag(TAG_SPACER, parser);
|
checkEndTag(TAG_SPACER, parser);
|
||||||
@ -247,17 +296,20 @@ public class BaseKeyboardParser {
|
|||||||
|
|
||||||
private void parseIncludeKeyboardContent(XmlResourceParser parser, List<Key> keys)
|
private void parseIncludeKeyboardContent(XmlResourceParser parser, List<Key> keys)
|
||||||
throws XmlPullParserException, IOException {
|
throws XmlPullParserException, IOException {
|
||||||
|
if (DEBUG_PARSER) debugEnterMethod("parseIncludeKeyboardContent", keys == null);
|
||||||
parseIncludeInternal(parser, null, keys);
|
parseIncludeInternal(parser, null, keys);
|
||||||
|
if (DEBUG_PARSER) debugLeaveMethod("parseIncludeKeyboardContent", keys == null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseIncludeRowContent(XmlResourceParser parser, Row row, List<Key> keys)
|
private void parseIncludeRowContent(XmlResourceParser parser, Row row, List<Key> keys)
|
||||||
throws XmlPullParserException, IOException {
|
throws XmlPullParserException, IOException {
|
||||||
|
if (DEBUG_PARSER) debugEnterMethod("parseIncludeRowContent", keys == null);
|
||||||
parseIncludeInternal(parser, row, keys);
|
parseIncludeInternal(parser, row, keys);
|
||||||
|
if (DEBUG_PARSER) debugLeaveMethod("parseIncludeRowContent", keys == null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseIncludeInternal(XmlResourceParser parser, Row row, List<Key> keys)
|
private void parseIncludeInternal(XmlResourceParser parser, Row row, List<Key> keys)
|
||||||
throws XmlPullParserException, IOException {
|
throws XmlPullParserException, IOException {
|
||||||
if (DEBUG_PARSER) debugEnterMethod("parseInclude", keys == null);
|
|
||||||
if (keys == null) {
|
if (keys == null) {
|
||||||
checkEndTag(TAG_INCLUDE, parser);
|
checkEndTag(TAG_INCLUDE, parser);
|
||||||
} else {
|
} else {
|
||||||
@ -272,7 +324,6 @@ public class BaseKeyboardParser {
|
|||||||
throw new ParseException("No keyboardLayout attribute in <include/>", parser);
|
throw new ParseException("No keyboardLayout attribute in <include/>", parser);
|
||||||
parseMerge(mResources.getLayout(keyboardLayout), row, keys);
|
parseMerge(mResources.getLayout(keyboardLayout), row, keys);
|
||||||
}
|
}
|
||||||
if (DEBUG_PARSER) debugLeaveMethod("parseInclude", keys == null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseMerge(XmlResourceParser parser, Row row, List<Key> keys)
|
private void parseMerge(XmlResourceParser parser, Row row, List<Key> keys)
|
||||||
@ -281,7 +332,7 @@ public class BaseKeyboardParser {
|
|||||||
int event;
|
int event;
|
||||||
while ((event = parser.next()) != XmlResourceParser.END_DOCUMENT) {
|
while ((event = parser.next()) != XmlResourceParser.END_DOCUMENT) {
|
||||||
if (event == XmlResourceParser.START_TAG) {
|
if (event == XmlResourceParser.START_TAG) {
|
||||||
String tag = parser.getName();
|
final String tag = parser.getName();
|
||||||
if (DEBUG_TAG) debugStartTag("parseMerge", tag, keys == null);
|
if (DEBUG_TAG) debugStartTag("parseMerge", tag, keys == null);
|
||||||
if (TAG_MERGE.equals(tag)) {
|
if (TAG_MERGE.equals(tag)) {
|
||||||
if (row == null) {
|
if (row == null) {
|
||||||
@ -299,6 +350,113 @@ public class BaseKeyboardParser {
|
|||||||
if (DEBUG_PARSER) debugLeaveMethod("parseMerge", keys == null);
|
if (DEBUG_PARSER) debugLeaveMethod("parseMerge", keys == null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void parseSwitchKeyboardContent(XmlResourceParser parser, List<Key> keys)
|
||||||
|
throws XmlPullParserException, IOException {
|
||||||
|
if (DEBUG_PARSER) debugEnterMethod("parseSwitchKeyboardContent", keys == null);
|
||||||
|
parseSwitchInternal(parser, null, keys);
|
||||||
|
if (DEBUG_PARSER) debugLeaveMethod("parseSwitchKeyboardContent", keys == null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void parseSwitchRowContent(XmlResourceParser parser, Row row, List<Key> keys)
|
||||||
|
throws XmlPullParserException, IOException {
|
||||||
|
if (DEBUG_PARSER) debugEnterMethod("parseSwitchRowContent", keys == null);
|
||||||
|
parseSwitchInternal(parser, row, keys);
|
||||||
|
if (DEBUG_PARSER) debugLeaveMethod("parseSwitchRowContent", keys == null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void parseSwitchInternal(XmlResourceParser parser, Row row, List<Key> keys)
|
||||||
|
throws XmlPullParserException, IOException {
|
||||||
|
boolean selected = false;
|
||||||
|
int event;
|
||||||
|
if (DEBUG_TAG) Log.d(TAG, "parseSwitchInternal: id=" + mKeyboard.mId);
|
||||||
|
while ((event = parser.next()) != XmlResourceParser.END_DOCUMENT) {
|
||||||
|
if (event == XmlResourceParser.START_TAG) {
|
||||||
|
final String tag = parser.getName();
|
||||||
|
if (DEBUG_TAG) debugStartTag("parseSwitchInternal", tag, keys == null);
|
||||||
|
if (TAG_CASE.equals(tag)) {
|
||||||
|
selected |= parseCase(parser, row, selected ? null : keys);
|
||||||
|
} else if (TAG_DEFAULT.equals(tag)) {
|
||||||
|
selected |= parseDefault(parser, row, selected ? null : keys);
|
||||||
|
} else {
|
||||||
|
throw new IllegalStartTag(parser, TAG_KEY);
|
||||||
|
}
|
||||||
|
} else if (event == XmlResourceParser.END_TAG) {
|
||||||
|
final String tag = parser.getName();
|
||||||
|
if (DEBUG_TAG) debugEndTag("parseRowContent", tag, keys == null);
|
||||||
|
if (TAG_SWITCH.equals(tag)) {
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
throw new IllegalEndTag(parser, TAG_KEY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean parseCase(XmlResourceParser parser, Row row, List<Key> keys)
|
||||||
|
throws XmlPullParserException, IOException {
|
||||||
|
if (DEBUG_PARSER) debugEnterMethod("parseCase", keys == null);
|
||||||
|
final boolean selected = parseCaseCondition(parser);
|
||||||
|
if (row == null) {
|
||||||
|
// Processing Rows.
|
||||||
|
parseKeyboardContent(parser, selected ? keys : null);
|
||||||
|
} else {
|
||||||
|
// Processing Keys.
|
||||||
|
parseRowContent(parser, row, selected ? keys : null);
|
||||||
|
}
|
||||||
|
if (DEBUG_PARSER) debugLeaveMethod("parseCase", keys == null || !selected);
|
||||||
|
return selected;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean parseCaseCondition(XmlResourceParser parser) {
|
||||||
|
final BaseKeyboard keyboard = mKeyboard;
|
||||||
|
final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser),
|
||||||
|
R.styleable.BaseKeyboard_Case);
|
||||||
|
final String mode = a.getString(R.styleable.BaseKeyboard_Case_mode);
|
||||||
|
final String settingsKey = a.getString(R.styleable.BaseKeyboard_Case_settingsKey);
|
||||||
|
final String voiceKey = a.getString(R.styleable.BaseKeyboard_Case_voiceKey);
|
||||||
|
a.recycle();
|
||||||
|
|
||||||
|
final KeyboardId id = keyboard.mId;
|
||||||
|
if (id == null)
|
||||||
|
return true;
|
||||||
|
final boolean modeMatched = (mode == null
|
||||||
|
|| id.mMode == parseModeString(mode));
|
||||||
|
final boolean settingsKeyMatched = (settingsKey == null
|
||||||
|
|| id.mHasSettingsKey == Boolean.parseBoolean(settingsKey));
|
||||||
|
final boolean voiceKeyMatched = (voiceKey == null
|
||||||
|
|| id.mHasVoiceKey == Boolean.parseBoolean(voiceKey));
|
||||||
|
final boolean selected = modeMatched && settingsKeyMatched && voiceKeyMatched;
|
||||||
|
if (DEBUG_TAG) {
|
||||||
|
Log.d(TAG, "parseCaseCondition: " + Boolean.toString(selected).toUpperCase()
|
||||||
|
+ (mode != null ? " mode=" + mode : "")
|
||||||
|
+ (settingsKey != null ? " settingsKey="+settingsKey : "")
|
||||||
|
+ (voiceKey != null ? " voiceKey=" + voiceKey : ""));
|
||||||
|
}
|
||||||
|
return selected;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int parseModeString(String mode) {
|
||||||
|
if (mode.equals(MODE_TEXT)) return KeyboardSwitcher.MODE_TEXT;
|
||||||
|
if (mode.equals(MODE_URL)) return KeyboardSwitcher.MODE_URL;
|
||||||
|
if (mode.equals(MODE_EMAIL)) return KeyboardSwitcher.MODE_EMAIL;
|
||||||
|
if (mode.equals(MODE_IM)) return KeyboardSwitcher.MODE_IM;
|
||||||
|
if (mode.equals(MODE_WEB)) return KeyboardSwitcher.MODE_WEB;
|
||||||
|
if (mode.equals(MODE_PHONE)) return KeyboardSwitcher.MODE_PHONE;
|
||||||
|
throw new RuntimeException("uknown mode attribute in Keyboard XML: " + mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean parseDefault(XmlResourceParser parser, Row row, List<Key> keys)
|
||||||
|
throws XmlPullParserException, IOException {
|
||||||
|
if (DEBUG_PARSER) debugEnterMethod("parseDefault", keys == null);
|
||||||
|
if (row == null) {
|
||||||
|
parseKeyboardContent(parser, keys);
|
||||||
|
} else {
|
||||||
|
parseRowContent(parser, row, keys);
|
||||||
|
}
|
||||||
|
if (DEBUG_PARSER) debugLeaveMethod("parseDefault", keys == null);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private static void checkEndTag(String tag, XmlResourceParser parser)
|
private static void checkEndTag(String tag, XmlResourceParser parser)
|
||||||
throws XmlPullParserException, IOException {
|
throws XmlPullParserException, IOException {
|
||||||
if (parser.next() == XmlResourceParser.END_TAG && tag.equals(parser.getName()))
|
if (parser.next() == XmlResourceParser.END_TAG && tag.equals(parser.getName()))
|
||||||
@ -306,18 +464,9 @@ public class BaseKeyboardParser {
|
|||||||
throw new NonEmptyTag(tag, parser);
|
throw new NonEmptyTag(tag, parser);
|
||||||
}
|
}
|
||||||
|
|
||||||
// return true if the row is valid for this keyboard mode
|
private void startRow(Row row) {
|
||||||
private boolean maybeStartRow(Row row) {
|
mCurrentX = 0;
|
||||||
if (DEBUG_TAG)
|
mCurrentRow = row;
|
||||||
Log.d(TAG, String.format("startRow: mode=0x%08x keyboardMode=0x%08x",
|
|
||||||
row.mode, mKeyboard.getKeyboardMode()));
|
|
||||||
if (row.mode == 0 || row.mode == mKeyboard.getKeyboardMode()) {
|
|
||||||
mCurrentX = 0;
|
|
||||||
mCurrentRow = row;
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void endRow() {
|
private void endRow() {
|
||||||
|
@ -40,76 +40,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
public static final int MODE_WEB = 4;
|
public static final int MODE_WEB = 4;
|
||||||
public static final int MODE_PHONE = 5;
|
public static final int MODE_PHONE = 5;
|
||||||
|
|
||||||
// Main keyboard layouts without the settings key
|
|
||||||
private static final int KEYBOARDMODE_NORMAL = R.id.mode_normal;
|
|
||||||
private static final int KEYBOARDMODE_URL = R.id.mode_url;
|
|
||||||
private static final int KEYBOARDMODE_EMAIL = R.id.mode_email;
|
|
||||||
private static final int KEYBOARDMODE_IM = R.id.mode_im;
|
|
||||||
private static final int KEYBOARDMODE_WEB = R.id.mode_webentry;
|
|
||||||
private static final int[] QWERTY_MODES = {
|
|
||||||
KEYBOARDMODE_NORMAL,
|
|
||||||
KEYBOARDMODE_URL,
|
|
||||||
KEYBOARDMODE_EMAIL,
|
|
||||||
KEYBOARDMODE_IM,
|
|
||||||
KEYBOARDMODE_WEB,
|
|
||||||
0 /* for MODE_PHONE */ };
|
|
||||||
// Main keyboard layouts with the settings key
|
|
||||||
private static final int KEYBOARDMODE_NORMAL_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_normal_with_settings_key;
|
|
||||||
private static final int KEYBOARDMODE_URL_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_url_with_settings_key;
|
|
||||||
private static final int KEYBOARDMODE_EMAIL_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_email_with_settings_key;
|
|
||||||
private static final int KEYBOARDMODE_IM_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_im_with_settings_key;
|
|
||||||
private static final int KEYBOARDMODE_WEB_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_webentry_with_settings_key;
|
|
||||||
private static final int[] QWERTY_WITH_SETTINGS_KEY_MODES = {
|
|
||||||
KEYBOARDMODE_NORMAL_WITH_SETTINGS_KEY,
|
|
||||||
KEYBOARDMODE_URL_WITH_SETTINGS_KEY,
|
|
||||||
KEYBOARDMODE_EMAIL_WITH_SETTINGS_KEY,
|
|
||||||
KEYBOARDMODE_IM_WITH_SETTINGS_KEY,
|
|
||||||
KEYBOARDMODE_WEB_WITH_SETTINGS_KEY,
|
|
||||||
0 /* for MODE_PHONE */ };
|
|
||||||
private static final int[][] QWERTY_KEYBOARD_MODES = {
|
|
||||||
QWERTY_MODES, QWERTY_WITH_SETTINGS_KEY_MODES
|
|
||||||
};
|
|
||||||
|
|
||||||
// Symbols keyboard layouts without the settings key
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_NORMAL = R.id.mode_symbols_normal;
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_URL = R.id.mode_symbols_url;
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_EMAIL = R.id.mode_symbols_email;
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_IM = R.id.mode_symbols_im;
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_WEB = R.id.mode_symbols_webentry;
|
|
||||||
private static final int[] SYMBOLS_MODES = {
|
|
||||||
KEYBOARDMODE_SYMBOLS_NORMAL,
|
|
||||||
KEYBOARDMODE_SYMBOLS_URL,
|
|
||||||
KEYBOARDMODE_SYMBOLS_EMAIL,
|
|
||||||
KEYBOARDMODE_SYMBOLS_IM,
|
|
||||||
KEYBOARDMODE_SYMBOLS_WEB,
|
|
||||||
0 /* for MODE_PHONE */ };
|
|
||||||
// Symbols keyboard layouts with the settings key
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_NORMAL_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_symbols_normal_with_settings_key;
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_URL_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_symbols_url_with_settings_key;
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_EMAIL_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_symbols_email_with_settings_key;
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_IM_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_symbols_im_with_settings_key;
|
|
||||||
private static final int KEYBOARDMODE_SYMBOLS_WEB_WITH_SETTINGS_KEY =
|
|
||||||
R.id.mode_symbols_webentry_with_settings_key;
|
|
||||||
private static final int[] SYMBOLS_WITH_SETTINGS_KEY_MODES = {
|
|
||||||
KEYBOARDMODE_SYMBOLS_NORMAL_WITH_SETTINGS_KEY,
|
|
||||||
KEYBOARDMODE_SYMBOLS_URL_WITH_SETTINGS_KEY,
|
|
||||||
KEYBOARDMODE_SYMBOLS_EMAIL_WITH_SETTINGS_KEY,
|
|
||||||
KEYBOARDMODE_SYMBOLS_IM_WITH_SETTINGS_KEY,
|
|
||||||
KEYBOARDMODE_SYMBOLS_WEB_WITH_SETTINGS_KEY,
|
|
||||||
0 /* for MODE_PHONE */ };
|
|
||||||
private static final int[][] SYMBOLS_KEYBOARD_MODES = {
|
|
||||||
SYMBOLS_MODES, SYMBOLS_WITH_SETTINGS_KEY_MODES
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final String DEFAULT_LAYOUT_ID = "4";
|
public static final String DEFAULT_LAYOUT_ID = "4";
|
||||||
public static final String PREF_KEYBOARD_LAYOUT = "pref_keyboard_layout_20100902";
|
public static final String PREF_KEYBOARD_LAYOUT = "pref_keyboard_layout_20100902";
|
||||||
private static final int[] THEMES = new int [] {
|
private static final int[] THEMES = new int [] {
|
||||||
@ -121,14 +51,21 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
private static final int CHAR_THEME_COLOR_BLACK = 1;
|
private static final int CHAR_THEME_COLOR_BLACK = 1;
|
||||||
|
|
||||||
// Tables which contains resource ids for each character theme color
|
// Tables which contains resource ids for each character theme color
|
||||||
private static final int[] KBD_PHONE = new int[] {R.xml.kbd_phone, R.xml.kbd_phone_black};
|
private static final int[] KBD_PHONE = new int[] {
|
||||||
|
R.xml.kbd_phone, R.xml.kbd_phone_black
|
||||||
|
};
|
||||||
private static final int[] KBD_PHONE_SYMBOLS = new int[] {
|
private static final int[] KBD_PHONE_SYMBOLS = new int[] {
|
||||||
R.xml.kbd_phone_symbols, R.xml.kbd_phone_symbols_black};
|
R.xml.kbd_phone_symbols, R.xml.kbd_phone_symbols_black
|
||||||
|
};
|
||||||
private static final int[] KBD_SYMBOLS = new int[] {
|
private static final int[] KBD_SYMBOLS = new int[] {
|
||||||
R.xml.kbd_symbols, R.xml.kbd_symbols_black};
|
R.xml.kbd_symbols, R.xml.kbd_symbols_black
|
||||||
|
};
|
||||||
private static final int[] KBD_SYMBOLS_SHIFT = new int[] {
|
private static final int[] KBD_SYMBOLS_SHIFT = new int[] {
|
||||||
R.xml.kbd_symbols_shift, R.xml.kbd_symbols_shift_black};
|
R.xml.kbd_symbols_shift, R.xml.kbd_symbols_shift_black
|
||||||
private static final int[] KBD_QWERTY = new int[] {R.xml.kbd_qwerty, R.xml.kbd_qwerty_black};
|
};
|
||||||
|
private static final int[] KBD_QWERTY = new int[] {
|
||||||
|
R.xml.kbd_qwerty, R.xml.kbd_qwerty_black
|
||||||
|
};
|
||||||
|
|
||||||
private static final int SYMBOLS_MODE_STATE_NONE = 0;
|
private static final int SYMBOLS_MODE_STATE_NONE = 0;
|
||||||
private static final int SYMBOLS_MODE_STATE_BEGIN = 1;
|
private static final int SYMBOLS_MODE_STATE_BEGIN = 1;
|
||||||
@ -184,9 +121,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
final boolean hasSettingsKey = mHasSettingsKey;
|
final boolean hasSettingsKey = mHasSettingsKey;
|
||||||
final boolean hasVoiceKey = mVoiceButtonEnabled && !mVoiceButtonOnPrimary;
|
final boolean hasVoiceKey = mVoiceButtonEnabled && !mVoiceButtonOnPrimary;
|
||||||
final int imeOptions = mImeOptions;
|
final int imeOptions = mImeOptions;
|
||||||
mSymbolsId = new KeyboardId(locale, orientation, SYMBOLS_KEYBOARD_MODES, mode,
|
mSymbolsId = new KeyboardId(locale, orientation, mode,
|
||||||
KBD_SYMBOLS, colorScheme, hasSettingsKey, hasVoiceKey, imeOptions, true);
|
KBD_SYMBOLS, colorScheme, hasSettingsKey, hasVoiceKey, imeOptions, true);
|
||||||
mSymbolsShiftedId = new KeyboardId(locale, orientation, SYMBOLS_KEYBOARD_MODES, mode,
|
mSymbolsShiftedId = new KeyboardId(locale, orientation, mode,
|
||||||
KBD_SYMBOLS_SHIFT, colorScheme, hasSettingsKey, hasVoiceKey, imeOptions, true);
|
KBD_SYMBOLS_SHIFT, colorScheme, hasSettingsKey, hasVoiceKey, imeOptions, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,10 +131,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
* Represents the parameters necessary to construct a new LatinKeyboard,
|
* Represents the parameters necessary to construct a new LatinKeyboard,
|
||||||
* which also serve as a unique identifier for each keyboard type.
|
* which also serve as a unique identifier for each keyboard type.
|
||||||
*/
|
*/
|
||||||
private static class KeyboardId {
|
public static class KeyboardId {
|
||||||
public final Locale mLocale;
|
public final Locale mLocale;
|
||||||
public final int mOrientation;
|
public final int mOrientation;
|
||||||
public final int[][] mKeyboardModes;
|
|
||||||
public final int mMode;
|
public final int mMode;
|
||||||
public final int[] mXmlArray;
|
public final int[] mXmlArray;
|
||||||
public final int mColorScheme;
|
public final int mColorScheme;
|
||||||
@ -208,12 +144,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
|
|
||||||
private final int mHashCode;
|
private final int mHashCode;
|
||||||
|
|
||||||
public KeyboardId(Locale locale, int orientation, int[][] keyboardModes, int mode,
|
public KeyboardId(Locale locale, int orientation, int mode,
|
||||||
int[] xmlArray, int colorScheme, boolean hasSettingsKey, boolean hasVoiceKey,
|
int[] xmlArray, int colorScheme, boolean hasSettingsKey, boolean hasVoiceKey,
|
||||||
int imeOptions, boolean enableShiftLock) {
|
int imeOptions, boolean enableShiftLock) {
|
||||||
this.mLocale = locale;
|
this.mLocale = locale;
|
||||||
this.mOrientation = orientation;
|
this.mOrientation = orientation;
|
||||||
this.mKeyboardModes = keyboardModes;
|
|
||||||
this.mMode = mode;
|
this.mMode = mode;
|
||||||
this.mXmlArray = xmlArray;
|
this.mXmlArray = xmlArray;
|
||||||
this.mColorScheme = colorScheme;
|
this.mColorScheme = colorScheme;
|
||||||
@ -225,7 +160,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
this.mHashCode = Arrays.hashCode(new Object[] {
|
this.mHashCode = Arrays.hashCode(new Object[] {
|
||||||
locale,
|
locale,
|
||||||
orientation,
|
orientation,
|
||||||
keyboardModes,
|
|
||||||
mode,
|
mode,
|
||||||
xmlArray,
|
xmlArray,
|
||||||
colorScheme,
|
colorScheme,
|
||||||
@ -236,6 +170,14 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getXmlId() {
|
||||||
|
return mXmlArray[mColorScheme];
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAlphabetMode() {
|
||||||
|
return mXmlArray == KBD_QWERTY;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object other) {
|
public boolean equals(Object other) {
|
||||||
return other instanceof KeyboardId && equals((KeyboardId) other);
|
return other instanceof KeyboardId && equals((KeyboardId) other);
|
||||||
@ -244,7 +186,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
private boolean equals(KeyboardId other) {
|
private boolean equals(KeyboardId other) {
|
||||||
return other.mLocale.equals(this.mLocale)
|
return other.mLocale.equals(this.mLocale)
|
||||||
&& other.mOrientation == this.mOrientation
|
&& other.mOrientation == this.mOrientation
|
||||||
&& other.mKeyboardModes == this.mKeyboardModes
|
|
||||||
&& other.mMode == this.mMode
|
&& other.mMode == this.mMode
|
||||||
&& other.mXmlArray == this.mXmlArray
|
&& other.mXmlArray == this.mXmlArray
|
||||||
&& other.mColorScheme == this.mColorScheme
|
&& other.mColorScheme == this.mColorScheme
|
||||||
@ -261,33 +202,26 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
if (DEBUG) {
|
return String.format("[%s %s %5s imeOptions=0x%08x xml=0x%08x %s%s%s%s]",
|
||||||
return String.format("[%s %s %6s %5s imeOptions=0x%08x xml=0x%08x %s%s%s%s]",
|
mLocale,
|
||||||
mLocale,
|
(mOrientation == 1 ? "port" : "land"),
|
||||||
(mOrientation == 1 ? "port" : "land"),
|
modeName(mMode),
|
||||||
(mKeyboardModes == QWERTY_KEYBOARD_MODES ? "alpha" : "symbol"),
|
mImeOptions,
|
||||||
modeName(mMode),
|
mXmlArray[0],
|
||||||
mImeOptions,
|
(mColorScheme == CHAR_THEME_COLOR_WHITE ? "white" : "black"),
|
||||||
mXmlArray[0],
|
(mHasSettingsKey ? " hasSettingsKey" : ""),
|
||||||
(mColorScheme == CHAR_THEME_COLOR_WHITE ? "white" : "black"),
|
(mHasVoiceKey ? " hasVoiceKey" : ""),
|
||||||
(mHasSettingsKey ? " hasSettingsKey" : ""),
|
(mEnableShiftLock ? " enableShiftLock" : ""));
|
||||||
(mHasVoiceKey ? " hasVoiceKey" : ""),
|
|
||||||
(mEnableShiftLock ? " enableShiftLock" : ""));
|
|
||||||
} else {
|
|
||||||
return super.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String modeName(int mode) {
|
private static String modeName(int mode) {
|
||||||
if (DEBUG) {
|
switch (mode) {
|
||||||
switch (mode) {
|
case MODE_TEXT: return "text";
|
||||||
case MODE_TEXT: return "text";
|
case MODE_URL: return "url";
|
||||||
case MODE_URL: return "url";
|
case MODE_EMAIL: return "email";
|
||||||
case MODE_EMAIL: return "email";
|
case MODE_IM: return "im";
|
||||||
case MODE_IM: return "im";
|
case MODE_WEB: return "web";
|
||||||
case MODE_WEB: return "web";
|
case MODE_PHONE: return "phone";
|
||||||
case MODE_PHONE: return "phone";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -304,6 +238,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
loadKeyboardInternal(mode, imeOptions, voiceButtonEnabled, voiceButtonOnPrimary,
|
loadKeyboardInternal(mode, imeOptions, voiceButtonEnabled, voiceButtonOnPrimary,
|
||||||
false);
|
false);
|
||||||
} catch (RuntimeException e) {
|
} catch (RuntimeException e) {
|
||||||
|
Log.w(TAG, e);
|
||||||
LatinImeLogger.logOnException(mode + "," + imeOptions, e);
|
LatinImeLogger.logOnException(mode + "," + imeOptions, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -345,10 +280,8 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
conf.locale = mLanguageSwitcher.getInputLocale();
|
conf.locale = mLanguageSwitcher.getInputLocale();
|
||||||
res.updateConfiguration(conf, null);
|
res.updateConfiguration(conf, null);
|
||||||
|
|
||||||
final int keyboardMode = id.mKeyboardModes[id.mHasSettingsKey ? 1 : 0][id.mMode];
|
final int xml = id.getXmlId();
|
||||||
final int xml = id.mXmlArray[id.mColorScheme];
|
keyboard = new LatinKeyboard(mInputMethodService, id);
|
||||||
keyboard = new LatinKeyboard(mInputMethodService, xml, keyboardMode, id.mColorScheme,
|
|
||||||
id.mHasSettingsKey, id.mHasVoiceKey, id.mImeOptions);
|
|
||||||
keyboard.setVoiceMode(
|
keyboard.setVoiceMode(
|
||||||
hasVoiceKey(xml == R.xml.kbd_symbols || xml == R.xml.kbd_symbols_black),
|
hasVoiceKey(xml == R.xml.kbd_symbols || xml == R.xml.kbd_symbols_black),
|
||||||
mVoiceButtonEnabled);
|
mVoiceButtonEnabled);
|
||||||
@ -383,20 +316,17 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
final int charColorId = getCharColorId();
|
final int charColorId = getCharColorId();
|
||||||
final int[] xmlArray;
|
final int[] xmlArray;
|
||||||
final boolean enableShiftLock;
|
final boolean enableShiftLock;
|
||||||
final int[][] keyboardModes;
|
|
||||||
|
|
||||||
if (isSymbols) {
|
if (isSymbols) {
|
||||||
keyboardModes = SYMBOLS_KEYBOARD_MODES;
|
|
||||||
xmlArray = mode == MODE_PHONE ? KBD_PHONE_SYMBOLS : KBD_SYMBOLS;
|
xmlArray = mode == MODE_PHONE ? KBD_PHONE_SYMBOLS : KBD_SYMBOLS;
|
||||||
enableShiftLock = false;
|
enableShiftLock = false;
|
||||||
} else { // QWERTY
|
} else { // QWERTY
|
||||||
keyboardModes = QWERTY_KEYBOARD_MODES;
|
|
||||||
xmlArray = mode == MODE_PHONE ? KBD_PHONE : KBD_QWERTY;
|
xmlArray = mode == MODE_PHONE ? KBD_PHONE : KBD_QWERTY;
|
||||||
enableShiftLock = mode == MODE_PHONE ? false : true;
|
enableShiftLock = mode == MODE_PHONE ? false : true;
|
||||||
}
|
}
|
||||||
final int orientation = mInputMethodService.getResources().getConfiguration().orientation;
|
final int orientation = mInputMethodService.getResources().getConfiguration().orientation;
|
||||||
final Locale locale = mLanguageSwitcher.getInputLocale();
|
final Locale locale = mLanguageSwitcher.getInputLocale();
|
||||||
return new KeyboardId(locale, orientation, keyboardModes, mode, xmlArray,
|
return new KeyboardId(locale, orientation, mode, xmlArray,
|
||||||
charColorId, mHasSettingsKey, hasVoiceKey, imeOptions, enableShiftLock);
|
charColorId, mHasSettingsKey, hasVoiceKey, imeOptions, enableShiftLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -405,7 +335,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isAlphabetMode() {
|
public boolean isAlphabetMode() {
|
||||||
return mCurrentId != null && mCurrentId.mKeyboardModes == QWERTY_KEYBOARD_MODES;
|
return mCurrentId != null && mCurrentId.isAlphabetMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setShifted(boolean shifted) {
|
public void setShifted(boolean shifted) {
|
||||||
|
@ -70,7 +70,7 @@ public class LatinKeyboard extends BaseKeyboard {
|
|||||||
private LanguageSwitcher mLanguageSwitcher;
|
private LanguageSwitcher mLanguageSwitcher;
|
||||||
private final Resources mRes;
|
private final Resources mRes;
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
private int mMode; // TODO: remove this and use the corresponding mode in the parent class
|
private int mMode; // TODO: remove this and use the corresponding mode in the parent class
|
||||||
// Whether this keyboard has voice icon on it
|
// Whether this keyboard has voice icon on it
|
||||||
private boolean mHasVoiceButton;
|
private boolean mHasVoiceButton;
|
||||||
// Whether voice icon is enabled at all
|
// Whether voice icon is enabled at all
|
||||||
@ -113,14 +113,12 @@ public class LatinKeyboard extends BaseKeyboard {
|
|||||||
|
|
||||||
private static int sSpacebarVerticalCorrection;
|
private static int sSpacebarVerticalCorrection;
|
||||||
|
|
||||||
public LatinKeyboard(Context context, int xmlLayoutResId, int mode, int colorScheme,
|
public LatinKeyboard(Context context, KeyboardSwitcher.KeyboardId id) {
|
||||||
boolean hasSettingsKey, boolean hasVoiceKey, int imeOptions) {
|
super(context, id);
|
||||||
// TODO: to be used: colorScheme, hasSettingsKey, hasVoiceKey, imeOptions.
|
|
||||||
super(context, xmlLayoutResId, mode);
|
|
||||||
final Resources res = context.getResources();
|
final Resources res = context.getResources();
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mRes = res;
|
mRes = res;
|
||||||
mMode = mode;
|
mMode = id.mMode;
|
||||||
mShiftLockIcon = res.getDrawable(R.drawable.sym_keyboard_shift_locked);
|
mShiftLockIcon = res.getDrawable(R.drawable.sym_keyboard_shift_locked);
|
||||||
mShiftLockPreviewIcon = res.getDrawable(R.drawable.sym_keyboard_feedback_shift_locked);
|
mShiftLockPreviewIcon = res.getDrawable(R.drawable.sym_keyboard_feedback_shift_locked);
|
||||||
setDefaultBounds(mShiftLockPreviewIcon);
|
setDefaultBounds(mShiftLockPreviewIcon);
|
||||||
@ -138,6 +136,7 @@ public class LatinKeyboard extends BaseKeyboard {
|
|||||||
setDefaultBounds(m123MicPreviewIcon);
|
setDefaultBounds(m123MicPreviewIcon);
|
||||||
sSpacebarVerticalCorrection = res.getDimensionPixelOffset(
|
sSpacebarVerticalCorrection = res.getDimensionPixelOffset(
|
||||||
R.dimen.spacebar_vertical_correction);
|
R.dimen.spacebar_vertical_correction);
|
||||||
|
final int xmlLayoutResId = id.getXmlId();
|
||||||
mIsAlphaKeyboard = xmlLayoutResId == R.xml.kbd_qwerty
|
mIsAlphaKeyboard = xmlLayoutResId == R.xml.kbd_qwerty
|
||||||
|| xmlLayoutResId == R.xml.kbd_qwerty_black;
|
|| xmlLayoutResId == R.xml.kbd_qwerty_black;
|
||||||
mSpaceKeyIndex = indexOf(LatinIME.KEYCODE_SPACE);
|
mSpaceKeyIndex = indexOf(LatinIME.KEYCODE_SPACE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user