diff options
Diffstat (limited to 'java')
225 files changed, 10563 insertions, 4059 deletions
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal.9.png Binary files differindex 045e1bba7..0c4820b34 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal.9.png diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png Binary files differindex 14424b4c2..5a20da1db 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_off.9.png diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png Binary files differindex f30ad1e7b..4ec703d6c 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on.9.png diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed.9.png Binary files differindex 3622e6203..93322d2e2 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed.9.png diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png Binary files differindex 2733f9af7..5a9c722ce 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off.9.png diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on.9.png Binary files differindex a351be7a2..99b6cb170 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on.9.png diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_normal.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_normal.9.png Binary files differindex e9e889c29..7dc59bf82 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_light_normal.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_light_normal.9.png diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_popup_normal.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_popup_normal.9.png Binary files differindex 66f83ebd3..e3a77d61b 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_light_popup_normal.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_light_popup_normal.9.png diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_popup_selected.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_popup_selected.9.png Binary files differindex 1e6688c91..431c44967 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_light_popup_selected.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_light_popup_selected.9.png diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed.9.png Binary files differindex 46c40a4cb..c150341e3 100644 --- a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed.9.png +++ b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed.9.png diff --git a/java/res/drawable-hdpi/keyboard_dark_background.9.png b/java/res/drawable-hdpi/keyboard_dark_background.9.png Binary files differindex 2d5c02080..f315cbdd4 100644 --- a/java/res/drawable-hdpi/keyboard_dark_background.9.png +++ b/java/res/drawable-hdpi/keyboard_dark_background.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_0.9.png b/java/res/drawable-hdpi/keyboard_hint_0.9.png Binary files differnew file mode 100644 index 000000000..271264e92 --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_0.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_1.9.png b/java/res/drawable-hdpi/keyboard_hint_1.9.png Binary files differnew file mode 100644 index 000000000..eaf374262 --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_1.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_2.9.png b/java/res/drawable-hdpi/keyboard_hint_2.9.png Binary files differnew file mode 100644 index 000000000..8a1657117 --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_2.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_3.9.png b/java/res/drawable-hdpi/keyboard_hint_3.9.png Binary files differnew file mode 100644 index 000000000..34b501109 --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_3.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_4.9.png b/java/res/drawable-hdpi/keyboard_hint_4.9.png Binary files differnew file mode 100644 index 000000000..d4cc250dd --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_4.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_5.9.png b/java/res/drawable-hdpi/keyboard_hint_5.9.png Binary files differnew file mode 100644 index 000000000..6a054b42f --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_5.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_6.9.png b/java/res/drawable-hdpi/keyboard_hint_6.9.png Binary files differnew file mode 100644 index 000000000..66e91400a --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_6.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_7.9.png b/java/res/drawable-hdpi/keyboard_hint_7.9.png Binary files differnew file mode 100644 index 000000000..5eae24f4f --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_7.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_8.9.png b/java/res/drawable-hdpi/keyboard_hint_8.9.png Binary files differnew file mode 100644 index 000000000..ea7f512fd --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_8.9.png diff --git a/java/res/drawable-hdpi/keyboard_hint_9.9.png b/java/res/drawable-hdpi/keyboard_hint_9.9.png Binary files differnew file mode 100644 index 000000000..0bf85de93 --- /dev/null +++ b/java/res/drawable-hdpi/keyboard_hint_9.9.png diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background.9.png Binary files differindex dd0ce95c7..762a25704 100644 --- a/java/res/drawable-hdpi/keyboard_key_feedback_background.9.png +++ b/java/res/drawable-hdpi/keyboard_key_feedback_background.9.png diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_more_background.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_more_background.9.png Binary files differindex e14f25c1a..141d2d6be 100644 --- a/java/res/drawable-hdpi/keyboard_key_feedback_more_background.9.png +++ b/java/res/drawable-hdpi/keyboard_key_feedback_more_background.9.png diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background.9.png Binary files differindex f94bc38ed..d6b2c7936 100755..100644 --- a/java/res/drawable-hdpi/keyboard_popup_panel_background.9.png +++ b/java/res/drawable-hdpi/keyboard_popup_panel_background.9.png diff --git a/java/res/drawable-hdpi/sym_keyboard_delete.png b/java/res/drawable-hdpi/sym_keyboard_delete.png Binary files differindex 3c89e2820..459ebcff8 100755..100644 --- a/java/res/drawable-hdpi/sym_keyboard_delete.png +++ b/java/res/drawable-hdpi/sym_keyboard_delete.png diff --git a/java/res/drawable-hdpi/sym_keyboard_feedback_delete.png b/java/res/drawable-hdpi/sym_keyboard_feedback_delete.png Binary files differindex 28dca5a15..8322e8e1d 100755..100644 --- a/java/res/drawable-hdpi/sym_keyboard_feedback_delete.png +++ b/java/res/drawable-hdpi/sym_keyboard_feedback_delete.png diff --git a/java/res/drawable-hdpi/sym_keyboard_feedback_settings.png b/java/res/drawable-hdpi/sym_keyboard_feedback_settings.png Binary files differindex b72ec7bc0..8a02be07e 100644 --- a/java/res/drawable-hdpi/sym_keyboard_feedback_settings.png +++ b/java/res/drawable-hdpi/sym_keyboard_feedback_settings.png diff --git a/java/res/drawable-hdpi/sym_keyboard_feedback_shift.png b/java/res/drawable-hdpi/sym_keyboard_feedback_shift.png Binary files differindex 5f319f5c6..abf15f8f9 100644 --- a/java/res/drawable-hdpi/sym_keyboard_feedback_shift.png +++ b/java/res/drawable-hdpi/sym_keyboard_feedback_shift.png diff --git a/java/res/drawable-hdpi/sym_keyboard_feedback_shift_locked.png b/java/res/drawable-hdpi/sym_keyboard_feedback_shift_locked.png Binary files differindex 26000da50..1fd822ea6 100644 --- a/java/res/drawable-hdpi/sym_keyboard_feedback_shift_locked.png +++ b/java/res/drawable-hdpi/sym_keyboard_feedback_shift_locked.png diff --git a/java/res/drawable-hdpi/sym_keyboard_shift.png b/java/res/drawable-hdpi/sym_keyboard_shift.png Binary files differindex f433dca74..bf217d147 100644 --- a/java/res/drawable-hdpi/sym_keyboard_shift.png +++ b/java/res/drawable-hdpi/sym_keyboard_shift.png diff --git a/java/res/drawable-hdpi/sym_keyboard_shift_locked.png b/java/res/drawable-hdpi/sym_keyboard_shift_locked.png Binary files differindex 6cb5372bb..d11b39712 100644 --- a/java/res/drawable-hdpi/sym_keyboard_shift_locked.png +++ b/java/res/drawable-hdpi/sym_keyboard_shift_locked.png diff --git a/java/res/drawable-hdpi/working.png b/java/res/drawable-hdpi/working.png Binary files differindex 8b51ed116..5ea702307 100755 --- a/java/res/drawable-hdpi/working.png +++ b/java/res/drawable-hdpi/working.png diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal.9.png Binary files differdeleted file mode 100755 index 603bf0e15..000000000 --- a/java/res/drawable-land-hdpi/btn_keyboard_key_normal.9.png +++ /dev/null diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off.9.png Binary files differdeleted file mode 100755 index 6ddd516e7..000000000 --- a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off.9.png +++ /dev/null diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off_stone.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off_stone.9.png Binary files differdeleted file mode 100644 index 67a204f85..000000000 --- a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_off_stone.9.png +++ /dev/null diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on.9.png Binary files differdeleted file mode 100755 index 65fdeb353..000000000 --- a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on.9.png +++ /dev/null diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on_stone.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on_stone.9.png Binary files differdeleted file mode 100644 index 63cbe60a3..000000000 --- a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_on_stone.9.png +++ /dev/null diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_stone.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_normal_stone.9.png Binary files differdeleted file mode 100644 index 0dd33b429..000000000 --- a/java/res/drawable-land-hdpi/btn_keyboard_key_normal_stone.9.png +++ /dev/null diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_pressed.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_pressed.9.png Binary files differdeleted file mode 100755 index 7ec915fe8..000000000 --- a/java/res/drawable-land-hdpi/btn_keyboard_key_pressed.9.png +++ /dev/null diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_off.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_off.9.png Binary files differdeleted file mode 100755 index 439271723..000000000 --- a/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_off.9.png +++ /dev/null diff --git a/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_on.9.png b/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_on.9.png Binary files differdeleted file mode 100755 index c2cc32044..000000000 --- a/java/res/drawable-land-hdpi/btn_keyboard_key_pressed_on.9.png +++ /dev/null diff --git a/java/res/drawable-land-mdpi/btn_keyboard_key_normal.9.png b/java/res/drawable-land-mdpi/btn_keyboard_key_normal.9.png Binary files differdeleted file mode 100644 index ea2506c6d..000000000 --- a/java/res/drawable-land-mdpi/btn_keyboard_key_normal.9.png +++ /dev/null diff --git a/java/res/drawable-land-mdpi/btn_keyboard_key_normal_off_stone.9.png b/java/res/drawable-land-mdpi/btn_keyboard_key_normal_off_stone.9.png Binary files differdeleted file mode 100644 index 67a204f85..000000000 --- a/java/res/drawable-land-mdpi/btn_keyboard_key_normal_off_stone.9.png +++ /dev/null diff --git a/java/res/drawable-land-mdpi/btn_keyboard_key_normal_on_stone.9.png b/java/res/drawable-land-mdpi/btn_keyboard_key_normal_on_stone.9.png Binary files differdeleted file mode 100644 index 63cbe60a3..000000000 --- a/java/res/drawable-land-mdpi/btn_keyboard_key_normal_on_stone.9.png +++ /dev/null diff --git a/java/res/drawable-land-mdpi/btn_keyboard_key_normal_stone.9.png b/java/res/drawable-land-mdpi/btn_keyboard_key_normal_stone.9.png Binary files differdeleted file mode 100644 index 0dd33b429..000000000 --- a/java/res/drawable-land-mdpi/btn_keyboard_key_normal_stone.9.png +++ /dev/null diff --git a/java/res/drawable-land-mdpi/btn_keyboard_key_pressed.9.png b/java/res/drawable-land-mdpi/btn_keyboard_key_pressed.9.png Binary files differdeleted file mode 100755 index 6b5c718c7..000000000 --- a/java/res/drawable-land-mdpi/btn_keyboard_key_pressed.9.png +++ /dev/null diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png Binary files differindex 48ebb6183..53fe9c97d 100755..100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png Binary files differindex 38b8b48aa..649ef9773 100755..100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png Binary files differindex 147c1b22e..93f7d87c2 100755..100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png Binary files differindex f8affea64..8560b3ba7 100755..100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png Binary files differindex 75962e9b0..778abaf24 100755..100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png Binary files differindex b7dccfe3c..2a23945e5 100755..100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png Binary files differindex 9ccad8020..6af2d8d0c 100755..100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png Binary files differindex ce58880db..02d0fcf93 100755..100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png Binary files differindex fe6c517f9..125ff1335 100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png Binary files differindex d09bd3db3..fdaf69966 100755..100644 --- a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png +++ b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png diff --git a/java/res/drawable-mdpi/cancel.png b/java/res/drawable-mdpi/cancel.png Binary files differindex 081532bec..713a37875 100644 --- a/java/res/drawable-mdpi/cancel.png +++ b/java/res/drawable-mdpi/cancel.png diff --git a/java/res/drawable-mdpi/dialog_bubble_step02.9.png b/java/res/drawable-mdpi/dialog_bubble_step02.9.png Binary files differindex d77f85fe2..d77f85fe2 100755..100644 --- a/java/res/drawable-mdpi/dialog_bubble_step02.9.png +++ b/java/res/drawable-mdpi/dialog_bubble_step02.9.png diff --git a/java/res/drawable-mdpi/dialog_bubble_step07.9.png b/java/res/drawable-mdpi/dialog_bubble_step07.9.png Binary files differindex 80f4a0eaa..80f4a0eaa 100755..100644 --- a/java/res/drawable-mdpi/dialog_bubble_step07.9.png +++ b/java/res/drawable-mdpi/dialog_bubble_step07.9.png diff --git a/java/res/drawable-mdpi/ic_subtype_keyboard.png b/java/res/drawable-mdpi/ic_subtype_keyboard.png Binary files differindex 0d7ebd4e5..0d7ebd4e5 100755..100644 --- a/java/res/drawable-mdpi/ic_subtype_keyboard.png +++ b/java/res/drawable-mdpi/ic_subtype_keyboard.png diff --git a/java/res/drawable-mdpi/keyboard_dark_background.9.png b/java/res/drawable-mdpi/keyboard_dark_background.9.png Binary files differindex 2d5c02080..a2136f7de 100755..100644 --- a/java/res/drawable-mdpi/keyboard_dark_background.9.png +++ b/java/res/drawable-mdpi/keyboard_dark_background.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_0.9.png b/java/res/drawable-mdpi/keyboard_hint_0.9.png Binary files differnew file mode 100644 index 000000000..271264e92 --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_0.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_1.9.png b/java/res/drawable-mdpi/keyboard_hint_1.9.png Binary files differnew file mode 100644 index 000000000..eaf374262 --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_1.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_2.9.png b/java/res/drawable-mdpi/keyboard_hint_2.9.png Binary files differnew file mode 100644 index 000000000..8a1657117 --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_2.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_3.9.png b/java/res/drawable-mdpi/keyboard_hint_3.9.png Binary files differnew file mode 100644 index 000000000..34b501109 --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_3.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_4.9.png b/java/res/drawable-mdpi/keyboard_hint_4.9.png Binary files differnew file mode 100644 index 000000000..d4cc250dd --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_4.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_5.9.png b/java/res/drawable-mdpi/keyboard_hint_5.9.png Binary files differnew file mode 100644 index 000000000..6a054b42f --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_5.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_6.9.png b/java/res/drawable-mdpi/keyboard_hint_6.9.png Binary files differnew file mode 100644 index 000000000..66e91400a --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_6.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_7.9.png b/java/res/drawable-mdpi/keyboard_hint_7.9.png Binary files differnew file mode 100644 index 000000000..5eae24f4f --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_7.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_8.9.png b/java/res/drawable-mdpi/keyboard_hint_8.9.png Binary files differnew file mode 100644 index 000000000..ea7f512fd --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_8.9.png diff --git a/java/res/drawable-mdpi/keyboard_hint_9.9.png b/java/res/drawable-mdpi/keyboard_hint_9.9.png Binary files differnew file mode 100644 index 000000000..0bf85de93 --- /dev/null +++ b/java/res/drawable-mdpi/keyboard_hint_9.9.png diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png Binary files differindex 2a80f096d..a84c19c39 100644 --- a/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png +++ b/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png Binary files differindex 29aa285bd..82513aadd 100755..100644 --- a/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png +++ b/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background.9.png Binary files differindex 36d75df6f..0d9ab97f0 100644 --- a/java/res/drawable-mdpi/keyboard_popup_panel_background.9.png +++ b/java/res/drawable-mdpi/keyboard_popup_panel_background.9.png diff --git a/java/res/drawable-mdpi/keyboard_suggest_strip.9.png b/java/res/drawable-mdpi/keyboard_suggest_strip.9.png Binary files differindex 71bf5e8f4..fa6c0feff 100644 --- a/java/res/drawable-mdpi/keyboard_suggest_strip.9.png +++ b/java/res/drawable-mdpi/keyboard_suggest_strip.9.png diff --git a/java/res/drawable-mdpi/keyboard_suggest_strip_divider.png b/java/res/drawable-mdpi/keyboard_suggest_strip_divider.png Binary files differindex c9413d7c1..363936362 100644 --- a/java/res/drawable-mdpi/keyboard_suggest_strip_divider.png +++ b/java/res/drawable-mdpi/keyboard_suggest_strip_divider.png diff --git a/java/res/drawable-mdpi/mic_slash.png b/java/res/drawable-mdpi/mic_slash.png Binary files differindex 0b0fb5803..d04b56344 100644 --- a/java/res/drawable-mdpi/mic_slash.png +++ b/java/res/drawable-mdpi/mic_slash.png diff --git a/java/res/drawable-mdpi/ok_cancel.png b/java/res/drawable-mdpi/ok_cancel.png Binary files differindex 0601d3231..20d10f986 100644 --- a/java/res/drawable-mdpi/ok_cancel.png +++ b/java/res/drawable-mdpi/ok_cancel.png diff --git a/java/res/drawable-mdpi/speak_now_level0.png b/java/res/drawable-mdpi/speak_now_level0.png Binary files differindex abc845466..5bd13603e 100644 --- a/java/res/drawable-mdpi/speak_now_level0.png +++ b/java/res/drawable-mdpi/speak_now_level0.png diff --git a/java/res/drawable-mdpi/speak_now_level1.png b/java/res/drawable-mdpi/speak_now_level1.png Binary files differindex 67cb235bf..ccb76b879 100644 --- a/java/res/drawable-mdpi/speak_now_level1.png +++ b/java/res/drawable-mdpi/speak_now_level1.png diff --git a/java/res/drawable-mdpi/speak_now_level2.png b/java/res/drawable-mdpi/speak_now_level2.png Binary files differindex 1e07f26c6..715f90081 100644 --- a/java/res/drawable-mdpi/speak_now_level2.png +++ b/java/res/drawable-mdpi/speak_now_level2.png diff --git a/java/res/drawable-mdpi/speak_now_level3.png b/java/res/drawable-mdpi/speak_now_level3.png Binary files differindex 31991daee..725248a25 100644 --- a/java/res/drawable-mdpi/speak_now_level3.png +++ b/java/res/drawable-mdpi/speak_now_level3.png diff --git a/java/res/drawable-mdpi/speak_now_level4.png b/java/res/drawable-mdpi/speak_now_level4.png Binary files differindex 7363ca892..ff6c50b40 100644 --- a/java/res/drawable-mdpi/speak_now_level4.png +++ b/java/res/drawable-mdpi/speak_now_level4.png diff --git a/java/res/drawable-mdpi/speak_now_level5.png b/java/res/drawable-mdpi/speak_now_level5.png Binary files differindex 9034908f4..a5d6b89d6 100644 --- a/java/res/drawable-mdpi/speak_now_level5.png +++ b/java/res/drawable-mdpi/speak_now_level5.png diff --git a/java/res/drawable-mdpi/speak_now_level6.png b/java/res/drawable-mdpi/speak_now_level6.png Binary files differindex 3eaa9bdad..dcdb48d08 100644 --- a/java/res/drawable-mdpi/speak_now_level6.png +++ b/java/res/drawable-mdpi/speak_now_level6.png diff --git a/java/res/drawable-mdpi/sym_keyboard_delete.png b/java/res/drawable-mdpi/sym_keyboard_delete.png Binary files differindex 43a033ead..1b0f3f836 100644 --- a/java/res/drawable-mdpi/sym_keyboard_delete.png +++ b/java/res/drawable-mdpi/sym_keyboard_delete.png diff --git a/java/res/drawable-mdpi/sym_keyboard_done.png b/java/res/drawable-mdpi/sym_keyboard_done.png Binary files differindex c0d6d1394..c0d6d1394 100755..100644 --- a/java/res/drawable-mdpi/sym_keyboard_done.png +++ b/java/res/drawable-mdpi/sym_keyboard_done.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_123_mic.png b/java/res/drawable-mdpi/sym_keyboard_feedback_123_mic.png Binary files differindex bc11cf31a..c556c35cb 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_123_mic.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_123_mic.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_delete.png b/java/res/drawable-mdpi/sym_keyboard_feedback_delete.png Binary files differindex 1edb10b4e..a79f15852 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_delete.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_delete.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_done.png b/java/res/drawable-mdpi/sym_keyboard_feedback_done.png Binary files differindex 0d7ebd4e5..0d7ebd4e5 100755..100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_done.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_done.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png b/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png Binary files differindex e3f80fada..eecb02694 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png b/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png Binary files differindex 3cb0d9913..7e10ae3af 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_mic.png b/java/res/drawable-mdpi/sym_keyboard_feedback_mic.png Binary files differindex 247d5b3a9..3ed0782d3 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_mic.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_mic.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_numalt.png b/java/res/drawable-mdpi/sym_keyboard_feedback_numalt.png Binary files differindex aac737615..bc8f1cfc3 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_numalt.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_numalt.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_return.png b/java/res/drawable-mdpi/sym_keyboard_feedback_return.png Binary files differindex 03d9c9b2d..dd99ff381 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_return.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_return.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_search.png b/java/res/drawable-mdpi/sym_keyboard_feedback_search.png Binary files differindex f4af341eb..6b8e01d90 100755..100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_search.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_search.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_settings.png b/java/res/drawable-mdpi/sym_keyboard_feedback_settings.png Binary files differindex 08ba18f28..03bad1843 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_settings.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_settings.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_shift.png b/java/res/drawable-mdpi/sym_keyboard_feedback_shift.png Binary files differindex 97f4661f8..d56357559 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_shift.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_shift.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_shift_locked.png b/java/res/drawable-mdpi/sym_keyboard_feedback_shift_locked.png Binary files differindex 7194b30b0..494524a66 100755..100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_shift_locked.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_shift_locked.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_space.png b/java/res/drawable-mdpi/sym_keyboard_feedback_space.png Binary files differindex 739db6879..36eb60c13 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_space.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_space.png diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png b/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png Binary files differindex 593fa6703..a10dc8fa2 100644 --- a/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png +++ b/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png diff --git a/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png b/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png Binary files differindex 91eda5f2d..7067a8bf5 100644 --- a/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png +++ b/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png diff --git a/java/res/drawable-mdpi/sym_keyboard_language_arrows_right.png b/java/res/drawable-mdpi/sym_keyboard_language_arrows_right.png Binary files differindex 62a5beba4..f7a133d9e 100644 --- a/java/res/drawable-mdpi/sym_keyboard_language_arrows_right.png +++ b/java/res/drawable-mdpi/sym_keyboard_language_arrows_right.png diff --git a/java/res/drawable-mdpi/sym_keyboard_mic.png b/java/res/drawable-mdpi/sym_keyboard_mic.png Binary files differindex a75809549..e926b3fa6 100644 --- a/java/res/drawable-mdpi/sym_keyboard_mic.png +++ b/java/res/drawable-mdpi/sym_keyboard_mic.png diff --git a/java/res/drawable-mdpi/sym_keyboard_return.png b/java/res/drawable-mdpi/sym_keyboard_return.png Binary files differindex 17f257439..0c10f004a 100644 --- a/java/res/drawable-mdpi/sym_keyboard_return.png +++ b/java/res/drawable-mdpi/sym_keyboard_return.png diff --git a/java/res/drawable-mdpi/sym_keyboard_search.png b/java/res/drawable-mdpi/sym_keyboard_search.png Binary files differindex 127755d6b..614f85f5e 100755..100644 --- a/java/res/drawable-mdpi/sym_keyboard_search.png +++ b/java/res/drawable-mdpi/sym_keyboard_search.png diff --git a/java/res/drawable-mdpi/sym_keyboard_settings.png b/java/res/drawable-mdpi/sym_keyboard_settings.png Binary files differindex f3bcdbcac..ad7618fa0 100644 --- a/java/res/drawable-mdpi/sym_keyboard_settings.png +++ b/java/res/drawable-mdpi/sym_keyboard_settings.png diff --git a/java/res/drawable-mdpi/sym_keyboard_shift.png b/java/res/drawable-mdpi/sym_keyboard_shift.png Binary files differindex 0566e5a88..5109b0471 100644 --- a/java/res/drawable-mdpi/sym_keyboard_shift.png +++ b/java/res/drawable-mdpi/sym_keyboard_shift.png diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_lock.png b/java/res/drawable-mdpi/sym_keyboard_shift_lock.png Binary files differnew file mode 100644 index 000000000..244179c2d --- /dev/null +++ b/java/res/drawable-mdpi/sym_keyboard_shift_lock.png diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_locked.png b/java/res/drawable-mdpi/sym_keyboard_shift_locked.png Binary files differindex ccaf05d3b..244179c2d 100755..100644 --- a/java/res/drawable-mdpi/sym_keyboard_shift_locked.png +++ b/java/res/drawable-mdpi/sym_keyboard_shift_locked.png diff --git a/java/res/drawable-mdpi/sym_keyboard_space.png b/java/res/drawable-mdpi/sym_keyboard_space.png Binary files differindex 4e6273b89..cbe4a88d6 100644 --- a/java/res/drawable-mdpi/sym_keyboard_space.png +++ b/java/res/drawable-mdpi/sym_keyboard_space.png diff --git a/java/res/drawable-mdpi/sym_keyboard_space_led.9.png b/java/res/drawable-mdpi/sym_keyboard_space_led.9.png Binary files differindex 71da57319..1c1ca2cc7 100644 --- a/java/res/drawable-mdpi/sym_keyboard_space_led.9.png +++ b/java/res/drawable-mdpi/sym_keyboard_space_led.9.png diff --git a/java/res/drawable-mdpi/sym_keyboard_tab.png b/java/res/drawable-mdpi/sym_keyboard_tab.png Binary files differindex cd9daff08..eddb9a592 100644 --- a/java/res/drawable-mdpi/sym_keyboard_tab.png +++ b/java/res/drawable-mdpi/sym_keyboard_tab.png diff --git a/java/res/drawable-mdpi/voice_ime_background.9.png b/java/res/drawable-mdpi/voice_ime_background.9.png Binary files differindex 67802492a..9b15bc25f 100644 --- a/java/res/drawable-mdpi/voice_ime_background.9.png +++ b/java/res/drawable-mdpi/voice_ime_background.9.png diff --git a/java/res/drawable-mdpi/working.png b/java/res/drawable-mdpi/working.png Binary files differindex 6246a6d1c..4a930c52d 100644 --- a/java/res/drawable-mdpi/working.png +++ b/java/res/drawable-mdpi/working.png diff --git a/java/res/drawable/btn_keyboard_key_gingerbread_popup.xml b/java/res/drawable/btn_keyboard_key_gingerbread_popup.xml new file mode 100644 index 000000000..9b6d23beb --- /dev/null +++ b/java/res/drawable/btn_keyboard_key_gingerbread_popup.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 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. +--> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_pressed="true" + android:drawable="@drawable/btn_keyboard_key_light_popup_selected" /> + <item android:drawable="@drawable/btn_keyboard_key_light_popup_normal" /> +</selector> diff --git a/java/res/layout/candidate_preview.xml b/java/res/layout/candidate_preview.xml index fe2002d46..fe2002d46 100755..100644 --- a/java/res/layout/candidate_preview.xml +++ b/java/res/layout/candidate_preview.xml diff --git a/java/res/layout/candidates.xml b/java/res/layout/candidates.xml index 478e20ba1..b89d44290 100755..100644 --- a/java/res/layout/candidates.xml +++ b/java/res/layout/candidates.xml @@ -31,6 +31,8 @@ android:layout_width="wrap_content" android:layout_height="@dimen/candidate_strip_height" android:layout_weight="1" + android:fadingEdge="horizontal" + android:fadingEdgeLength="@dimen/candidate_strip_fading_edge_length" /> </LinearLayout> diff --git a/java/res/layout/input_basic.xml b/java/res/layout/input_basic.xml index 168eba691..168eba691 100755..100644 --- a/java/res/layout/input_basic.xml +++ b/java/res/layout/input_basic.xml diff --git a/java/res/layout/input_basic_highcontrast.xml b/java/res/layout/input_basic_highcontrast.xml index 19ff1db11..19ff1db11 100755..100644 --- a/java/res/layout/input_basic_highcontrast.xml +++ b/java/res/layout/input_basic_highcontrast.xml diff --git a/java/res/layout/input_gingerbread.xml b/java/res/layout/input_gingerbread.xml index 8f59cae21..8f59cae21 100755..100644 --- a/java/res/layout/input_gingerbread.xml +++ b/java/res/layout/input_gingerbread.xml diff --git a/java/res/layout/input_stone_bold.xml b/java/res/layout/input_stone_bold.xml index e3588bb22..e3588bb22 100755..100644 --- a/java/res/layout/input_stone_bold.xml +++ b/java/res/layout/input_stone_bold.xml diff --git a/java/res/layout/input_stone_normal.xml b/java/res/layout/input_stone_normal.xml index fd7bf85fc..fd7bf85fc 100755..100644 --- a/java/res/layout/input_stone_normal.xml +++ b/java/res/layout/input_stone_normal.xml diff --git a/java/res/layout/input_stone_popup.xml b/java/res/layout/input_stone_popup.xml index f159625f7..f159625f7 100755..100644 --- a/java/res/layout/input_stone_popup.xml +++ b/java/res/layout/input_stone_popup.xml diff --git a/java/res/layout/input_trans.xml b/java/res/layout/input_trans.xml index 4c0979c04..4c0979c04 100755..100644 --- a/java/res/layout/input_trans.xml +++ b/java/res/layout/input_trans.xml diff --git a/java/res/layout/keyboard_key_preview.xml b/java/res/layout/key_preview.xml index de03506ad..de03506ad 100644 --- a/java/res/layout/keyboard_key_preview.xml +++ b/java/res/layout/key_preview.xml diff --git a/java/res/layout/input_gingerbread_popup.xml b/java/res/layout/keyboard_popup.xml index 0cc953edf..9a52e2cbd 100755..100644 --- a/java/res/layout/input_gingerbread_popup.xml +++ b/java/res/layout/keyboard_popup.xml @@ -17,7 +17,6 @@ ** limitations under the License. */ --> - <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" @@ -33,7 +32,8 @@ android:layout_height="wrap_content" android:background="@drawable/keyboard_dark_background" - latin:keyBackground="@drawable/btn_keyboard_key_gingerbread" - latin:popupLayout="@layout/input_gingerbread_popup" - /> + latin:keyBackground="@drawable/btn_keyboard_key_gingerbread_popup" + latin:keyHysteresisDistance="0dip" + latin:verticalCorrection="-20dip" + /> </LinearLayout> diff --git a/java/res/layout/keyboard_popup_keyboard.xml b/java/res/layout/keyboard_popup_keyboard.xml deleted file mode 100644 index 6d3985065..000000000 --- a/java/res/layout/keyboard_popup_keyboard.xml +++ /dev/null @@ -1,39 +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. -*/ ---> -<LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:background="@drawable/keyboard_popup_panel_background" - > - <com.android.inputmethod.latin.LatinKeyboardBaseView - xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" - android:id="@+id/LatinKeyboardBaseView" - android:layout_alignParentBottom="true" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@android:color/transparent" - - latin:keyBackground="@drawable/btn_keyboard_key_gingerbread" - latin:keyPreviewLayout="@layout/keyboard_key_preview" - latin:popupLayout="@layout/keyboard_popup_keyboard" - /> -</LinearLayout> diff --git a/java/res/values-cs/donottranslate-altchars.xml b/java/res/values-cs/donottranslate-altchars.xml new file mode 100644 index 000000000..d91a0e449 --- /dev/null +++ b/java/res/values-cs/donottranslate-altchars.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">áàâãäåæ</string> + <string name="alternates_for_e">3éěèêë</string> + <string name="alternates_for_i">íìîï8</string> + <string name="alternates_for_o">óòôõöœø9</string> + <string name="alternates_for_u">ůúùûü7</string> + <string name="alternates_for_s">š§ß</string> + <string name="alternates_for_n">ňñ</string> + <string name="alternates_for_c">čç</string> + <string name="alternates_for_y">ýÿ6</string> + <string name="alternates_for_d">ď</string> + <string name="alternates_for_r">ř4</string> + <string name="alternates_for_t">ť5</string> + <string name="alternates_for_z">ž</string> +</resources> diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml index e0fbc9b92..32a593947 100644 --- a/java/res/values-cs/strings.xml +++ b/java/res/values-cs/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Pokročilé"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Uloženo"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"áàâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"éěèêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"íìîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"óòôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ůúùûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"š§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ňñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"čç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Podržením klávesy zobrazíte diakritiku (á, ž apod.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Stisknutím klávesy Zpět ↶ můžete klávesnici kdykoli zavřít."</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Přístup k číslům a symbolům"</string> diff --git a/java/res/values-da/donottranslate-altchars.xml b/java/res/values-da/donottranslate-altchars.xml new file mode 100644 index 000000000..b1cc8b627 --- /dev/null +++ b/java/res/values-da/donottranslate-altchars.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">áàâąã</string> + <string name="alternates_for_e">3éèêëę€</string> + <string name="alternates_for_i">íìîï8</string> + <string name="alternates_for_o">óòôõ9</string> + <string name="alternates_for_u">úùûū7</string> + <string name="alternates_for_s">śšşß</string> + <string name="alternates_for_n">ńñň</string> + <string name="alternates_for_c">çćč</string> + <string name="alternates_for_y">ýÿü6</string> + <string name="alternates_for_d">ðď</string> + <string name="alternates_for_r">ř4</string> + <string name="alternates_for_t">ťþ5</string> + <string name="alternates_for_z">źžż</string> + <string name="alternates_for_l">ł</string> + <string name="alternates_for_v">w</string> + <string name="alternates_for_ae">ä</string> + <string name="alternates_for_oe">öœ</string> +</resources> diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml index 0b0aff254..ed832b5ec 100644 --- a/java/res/values-da/strings.xml +++ b/java/res/values-da/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Avanceret"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Gemt"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Hold en tast nede for at se accenter (ø, ö osv.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Tryk på knappen Tilbage ↶ for når som helst at lukke for tastaturet"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Få adgang til tal og symboler"</string> diff --git a/java/res/values-de/donottranslate-altchars.xml b/java/res/values-de/donottranslate-altchars.xml new file mode 100644 index 000000000..df27bce28 --- /dev/null +++ b/java/res/values-de/donottranslate-altchars.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">ä</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">ö9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ</string> + <string name="alternates_for_z">6</string> +</resources> diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml index b0ae766f1..58b741ad7 100644 --- a/java/res/values-de/strings.xml +++ b/java/res/values-de/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Erweitert"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: gespeichert"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"ä"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"ö"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Zur Anzeige von Umlauten (ä, ö usw.) Taste gedrückt halten"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Zum Schließen der Tastatur ↶ drücken"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Auf Zahlen und Symbole zugreifen"</string> diff --git a/java/res/values-en/donottranslate.xml b/java/res/values-el/donottranslate-altchars.xml index f5692735a..d3beafade 100644 --- a/java/res/values-en/donottranslate.xml +++ b/java/res/values-el/donottranslate-altchars.xml @@ -2,7 +2,7 @@ <!-- /* ** -** Copyright 2008, The Android Open Source Project +** 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. @@ -18,14 +18,13 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Accented forms of "e" --> - <string name="alternates_for_e">èéêë3</string> - <!-- Accented forms of "i" --> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> <string name="alternates_for_i">ìíîï8</string> - <!-- Accented forms of "o" --> <string name="alternates_for_o">òóôõöœø9</string> - <!-- Accented forms of "u" --> <string name="alternates_for_u">ùúûü7</string> - <!-- Accented forms of "y" --> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> <string name="alternates_for_y">ýÿ6</string> </resources> diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml index 09a98f413..687679c2e 100644 --- a/java/res/values-el/strings.xml +++ b/java/res/values-el/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Σύνθετη"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Αποθηκεύτηκε"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Κρατήστε πατημένο ένα πλήκτρο για να δείτε τους τονισμένους χαρακτήρες (ø, ö, κ.τ.λ.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Πατήστε το πλήκτρο Πίσω ↶ για να κλείσετε το πληκτρολόγιο ανά πάσα στιγμή"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Πρόσβαση σε αριθμούς και σύμβολα"</string> diff --git a/java/res/values-pl/donottranslate.xml b/java/res/values-en/donottranslate-altchars.xml index 196e73c1d..083befa19 100644 --- a/java/res/values-pl/donottranslate.xml +++ b/java/res/values-en/donottranslate-altchars.xml @@ -2,7 +2,7 @@ <!-- /* ** -** Copyright 2009, The Android Open Source Project +** 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. @@ -18,8 +18,10 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Accented characters related to "z" --> - <string name="alternates_for_z">źż</string> - <!-- Accented characters related to "l" --> - <string name="alternates_for_l">ł</string> + <string name="alternates_for_a">àáâãäåāæ</string> + <string name="alternates_for_e">3èéêëē</string> + <string name="alternates_for_i">ìíîïī8</string> + <string name="alternates_for_o">òóôõöōœø9</string> + <string name="alternates_for_u">ùúûüū7</string> + <string name="alternates_for_y">ýÿ6</string> </resources> diff --git a/java/res/values-es-rUS/donottranslate-altchars.xml b/java/res/values-es-rUS/donottranslate-altchars.xml new file mode 100644 index 000000000..d3beafade --- /dev/null +++ b/java/res/values-es-rUS/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">òóôõöœø9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> +</resources> diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml index effd5b9c2..360b713bd 100644 --- a/java/res/values-es-rUS/strings.xml +++ b/java/res/values-es-rUS/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Avanzado"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Mantén una tecla presionada para ver los acentos (ø, ö, etc.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Pulsa la tecla hacia atrás ↶ para cerrar el teclado en cualquier momento"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Acceder a números y símbolos"</string> diff --git a/java/res/values-cs/donottranslate.xml b/java/res/values-es/donottranslate-altchars.xml index 9c2a476a6..721062d2d 100644 --- a/java/res/values-cs/donottranslate.xml +++ b/java/res/values-es/donottranslate-altchars.xml @@ -2,7 +2,7 @@ <!-- /* ** -** Copyright 2009, The Android Open Source Project +** 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. @@ -18,12 +18,13 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Accented characters related to "d" --> - <string name="alternates_for_d">ď</string> - <!-- Accented characters related to "r" --> - <string name="alternates_for_r">ř</string> - <!-- Accented characters related to "t" --> - <string name="alternates_for_t">ť</string> - <!-- Accented characters related to "z" --> - <string name="alternates_for_z">ž</string> + <string name="alternates_for_a">á</string> + <string name="alternates_for_e">3é</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">ó9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> </resources> diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml index bc98bce92..c1af352ba 100644 --- a/java/res/values-es/strings.xml +++ b/java/res/values-es/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Avanzado"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"á"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"é"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"ó"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Mantén pulsada una tecla para ver los caracteres acentuados (ø, ö, etc.)."</string> <string name="tip_dismiss" msgid="7585579046862204381">"Pulsa la tecla \"Atrás\" ↶ para cerrar el teclado en cualquier momento."</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Acceso a números y símbolos"</string> diff --git a/java/res/values-fr/donottranslate-altchars.xml b/java/res/values-fr/donottranslate-altchars.xml new file mode 100644 index 000000000..874d89dab --- /dev/null +++ b/java/res/values-fr/donottranslate-altchars.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">1àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">òóôõöœø9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> + <string name="alternates_for_q"></string> + <string name="alternates_for_w"></string> + <string name="alternates_for_z">2</string> +</resources> diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml index a9f03e56e..86014b3d4 100644 --- a/java/res/values-fr/strings.xml +++ b/java/res/values-fr/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Avancé"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : enregistré"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Maintenir une touche enfoncée pour afficher les accents (à, é, etc.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Appuyez sur la touche Retour ↶ pour fermer le clavier à tout moment."</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Accéder aux chiffres et symboles"</string> diff --git a/java/res/values-it/donottranslate-altchars.xml b/java/res/values-it/donottranslate-altchars.xml new file mode 100644 index 000000000..23960171b --- /dev/null +++ b/java/res/values-it/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àá</string> + <string name="alternates_for_e">3èé</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">òó9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> +</resources> diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml index 2063488be..995fc2946 100644 --- a/java/res/values-it/strings.xml +++ b/java/res/values-it/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Avanzate"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : parola salvata"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àá"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èé"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òó"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Tieni premuto un tasto per vedere le lettere con segni diacritici (ø, ö etc.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Premi il tasto Indietro ↶ per chiudere la tastiera"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Accedi a numeri e simboli"</string> diff --git a/java/res/values-ja/donottranslate-altchars.xml b/java/res/values-ja/donottranslate-altchars.xml new file mode 100644 index 000000000..d3beafade --- /dev/null +++ b/java/res/values-ja/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">òóôõöœø9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> +</resources> diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml index e7d3bda7a..26c2cd414 100644 --- a/java/res/values-ja/strings.xml +++ b/java/res/values-ja/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"高度"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:保存しました"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"キー長押しでアクセント文字を表示(ø、öなど)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"戻るキーでキーボードを閉じます"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"数字と記号"</string> diff --git a/java/res/values-ko/donottranslate-altchars.xml b/java/res/values-ko/donottranslate-altchars.xml new file mode 100644 index 000000000..d3beafade --- /dev/null +++ b/java/res/values-ko/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">òóôõöœø9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> +</resources> diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml index cf8d285e3..0fb53cb1c 100644 --- a/java/res/values-ko/strings.xml +++ b/java/res/values-ko/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"고급"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: 저장됨"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"키를 길게 누르면 악센트(ø, ö 등)가 표시됩니다."</string> <string name="tip_dismiss" msgid="7585579046862204381">"키보드를 닫으려면 언제든지 뒤로 키(↶)를 누르세요."</string> <string name="tip_access_symbols" msgid="6344098517525531652">"숫자 및 기호 사용"</string> diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml index 43951552e..ac0e030d4 100644 --- a/java/res/values-land/dimens.xml +++ b/java/res/values-land/dimens.xml @@ -21,5 +21,9 @@ <resources> <dimen name="key_height">47dip</dimen> <dimen name="candidate_strip_height">38dip</dimen> + <dimen name="candidate_strip_fading_edge_length">63dip</dimen> <dimen name="spacebar_vertical_correction">2dip</dimen> -</resources>
\ No newline at end of file + <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. --> + <!-- key_height * 1.7 --> + <dimen name="mini_keyboard_slide_allowance">79.9dip</dimen> +</resources> diff --git a/java/res/values-nb/donottranslate-altchars.xml b/java/res/values-nb/donottranslate-altchars.xml new file mode 100644 index 000000000..6257dfc31 --- /dev/null +++ b/java/res/values-nb/donottranslate-altchars.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">äáàâąã</string> + <string name="alternates_for_e">3éèêëę€</string> + <string name="alternates_for_i">íìîï8</string> + <string name="alternates_for_o">öóòôõ9</string> + <string name="alternates_for_u">üúùûū7</string> + <string name="alternates_for_s">śšşß</string> + <string name="alternates_for_n">ńñň</string> + <string name="alternates_for_c">çćč</string> + <string name="alternates_for_y">ýÿ6</string> + <string name="alternates_for_d">ðď</string> + <string name="alternates_for_r">ř4</string> + <string name="alternates_for_t">ťþ5</string> + <string name="alternates_for_z">źžż</string> + <string name="alternates_for_l">ł</string> + <string name="alternates_for_v">w</string> + <string name="alternates_for_oe">œ</string> +</resources> diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml index 7d49c669c..df614adac 100644 --- a/java/res/values-nb/strings.xml +++ b/java/res/values-nb/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Avansert"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Lagret"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"åæáàâãä"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"éèêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"íìîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"ôóòöõœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"üùúû"</string> - <string name="alternates_for_s" msgid="348762530927662188">"ß§"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Hold en tast nede for å se aksenterte tegn (ø, ö, osv.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Trykk tilbakeknappen, ↶, for å lukke tastaturet"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Få tilgang til tall og symboler"</string> diff --git a/java/res/values-nl/donottranslate-altchars.xml b/java/res/values-nl/donottranslate-altchars.xml new file mode 100644 index 000000000..d3beafade --- /dev/null +++ b/java/res/values-nl/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">òóôõöœø9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> +</resources> diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml index d1cfd53ab..3f663e85e 100644 --- a/java/res/values-nl/strings.xml +++ b/java/res/values-nl/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Geavanceerd"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: opgeslagen"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Houd een toets ingedrukt om diakritische tekens weer te geven (ø, ö, enzovoort)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Druk op elk gewenst moment op de toets Terug ↶ om het toetsenbord te sluiten"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Toegang tot cijfers en symbolen"</string> diff --git a/java/res/values-pl/donottranslate-altchars.xml b/java/res/values-pl/donottranslate-altchars.xml new file mode 100644 index 000000000..da6b5fd5c --- /dev/null +++ b/java/res/values-pl/donottranslate-altchars.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">ą</string> + <string name="alternates_for_e">ę3</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">ó9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">ś</string> + <string name="alternates_for_n">ń</string> + <string name="alternates_for_c">ć</string> + <string name="alternates_for_y">ýÿ6</string> + <string name="alternates_for_z">źż</string> + <string name="alternates_for_l">ł</string> +</resources> diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml index cfdfcc69d..b770cc697 100644 --- a/java/res/values-pl/strings.xml +++ b/java/res/values-pl/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Zaawansowany"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Zapisano"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"ą"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"ę"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"ó"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"ś"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ń"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ć"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Przytrzymaj klawisz, aby wyświetlić znaki akcentowane (ą, ó itp.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Naciśnij klawisz cofania ↶, aby zamknąć klawiaturę w dowolnym momencie"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Przejdź do cyfr i symboli"</string> diff --git a/java/res/values-pt-rPT/donottranslate-altchars.xml b/java/res/values-pt-rPT/donottranslate-altchars.xml new file mode 100644 index 000000000..d3beafade --- /dev/null +++ b/java/res/values-pt-rPT/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">òóôõöœø9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> +</resources> diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml index f79ae8f41..522420845 100644 --- a/java/res/values-pt-rPT/strings.xml +++ b/java/res/values-pt-rPT/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Avançados"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Mantenha uma tecla premida para ver os acentos (ø, ö, etc.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Prima a tecla de retrocesso ↶ para fechar o teclado a qualquer momento"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Aceder a números e símbolos"</string> diff --git a/java/res/values-pt/donottranslate-altchars.xml b/java/res/values-pt/donottranslate-altchars.xml new file mode 100644 index 000000000..d3beafade --- /dev/null +++ b/java/res/values-pt/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">òóôõöœø9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> +</resources> diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml index 5492da60c..12fb62b03 100644 --- a/java/res/values-pt/strings.xml +++ b/java/res/values-pt/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Avançado"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Salvo"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Segure uma tecla pressionada para ver os acentos (ø, ö, etc.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Apertar a tecla voltar ↶ para fechar o teclado, em qualquer ponto"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Acessar números e símbolos"</string> diff --git a/java/res/values-rm/donottranslate-altchars.xml b/java/res/values-rm/donottranslate-altchars.xml new file mode 100644 index 000000000..f17026fa9 --- /dev/null +++ b/java/res/values-rm/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">òóöôõœø9</string> + <string name="alternates_for_u">ùúûü7</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> +</resources> diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml index a93cd1f65..08c397202 100644 --- a/java/res/values-rm/strings.xml +++ b/java/res/values-rm/strings.xml @@ -58,15 +58,6 @@ <item msgid="4894328801530136615">"Avanzà"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Memorisà"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóöôõœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Tegnair smatgà per mussar ils accents (à, é, etc.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Smatgar ↶ per serrar la tastatura"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Acceder a cifras e simbols"</string> diff --git a/java/res/values-ru/donottranslate-altchars.xml b/java/res/values-ru/donottranslate-altchars.xml new file mode 100644 index 000000000..46241a62a --- /dev/null +++ b/java/res/values-ru/donottranslate-altchars.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">èéêë</string> + <string name="alternates_for_i">ìíîï</string> + <string name="alternates_for_o">òóôõöœø</string> + <string name="alternates_for_u">ùúûü</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ</string> + <string name="alternates_for_cyrillic_e">ё5</string> + <string name="alternates_for_cyrillic_soft_sign">ъ</string> +</resources> diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml index 91d9edf17..b35eb9ffb 100644 --- a/java/res/values-ru/strings.xml +++ b/java/res/values-ru/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Дополнительно"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: сохранено"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Удерживайте клавишу, чтобы увидеть варианты с диакритическими знаками (ø, ö и т.д.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Нажмите клавишу \"Назад\" ↶, чтобы закрыть клавиатуру в любой момент"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Открыть цифры и символы"</string> diff --git a/java/res/values-sv/donottranslate-altchars.xml b/java/res/values-sv/donottranslate-altchars.xml new file mode 100644 index 000000000..4d26e6c47 --- /dev/null +++ b/java/res/values-sv/donottranslate-altchars.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">áàâąã</string> + <string name="alternates_for_e">3éèêëę€</string> + <string name="alternates_for_i">íìîï8</string> + <string name="alternates_for_o">óòôõ9</string> + <string name="alternates_for_u">úùûū7</string> + <string name="alternates_for_s">śšşß</string> + <string name="alternates_for_n">ńñň</string> + <string name="alternates_for_c">çćč</string> + <string name="alternates_for_y">ýÿü6</string> + <string name="alternates_for_d">ðď</string> + <string name="alternates_for_r">ř4</string> + <string name="alternates_for_t">ťþ5</string> + <string name="alternates_for_z">źžż</string> + <string name="alternates_for_l">ł</string> + <string name="alternates_for_v">w</string> + <string name="alternates_for_a_umlaut">æ</string> + <string name="alternates_for_o_umlaut">øœ</string> +</resources> diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml index 86f375f14..59a0f8447 100644 --- a/java/res/values-sv/strings.xml +++ b/java/res/values-sv/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Avancerade"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: sparat"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Håll nere en tangent om du vill visa accenter (ø, ö, etc.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Tryck på Tillbaka ↶ om du vill stänga tangentbordet"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"För siffror och symboler"</string> diff --git a/java/res/values-tr/donottranslate.xml b/java/res/values-tr/donottranslate-altchars.xml index 2154c16bb..4200d949e 100644 --- a/java/res/values-tr/donottranslate.xml +++ b/java/res/values-tr/donottranslate-altchars.xml @@ -2,7 +2,7 @@ <!-- /* ** -** Copyright 2009, The Android Open Source Project +** 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. @@ -18,6 +18,14 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Accented characters related to "g" --> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">3èéêë</string> + <string name="alternates_for_i">ìíîï8</string> + <string name="alternates_for_o">öòóôõœø9</string> + <string name="alternates_for_u">üùúû7</string> + <string name="alternates_for_s">ş§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ6</string> <string name="alternates_for_g">ğ</string> </resources>
\ No newline at end of file diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml index 34438f7f6..fbc268bdb 100644 --- a/java/res/values-tr/strings.xml +++ b/java/res/values-tr/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"Gelişmiş"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Kaydedildi"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"iìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"öòóôõœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"üùúû"</string> - <string name="alternates_for_s" msgid="348762530927662188">"ş§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"Vurguları görmek için bir tuşu basılı tutun (ø, ö, v.b.)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"Klavyeyi herhangi bir anda kapatmak için geri tuşuna ↶ basın"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"Sayılara ve simgelere erişin"</string> diff --git a/java/res/values-zh-rCN/donottranslate-altchars.xml b/java/res/values-zh-rCN/donottranslate-altchars.xml new file mode 100644 index 000000000..c165b11c5 --- /dev/null +++ b/java/res/values-zh-rCN/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">èéêë</string> + <string name="alternates_for_i">ìíîï</string> + <string name="alternates_for_o">òóôõöœø</string> + <string name="alternates_for_u">ùúûü</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ</string> +</resources> diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml index c04f2e02b..05b80ccf5 100644 --- a/java/res/values-zh-rCN/strings.xml +++ b/java/res/values-zh-rCN/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"高级"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:已保存"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"按住某个键可看到重音符号(例如 ø、ö 等)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"随时可以通过按后退键 ↶ 关闭键盘"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"访问数字和符号"</string> diff --git a/java/res/values-zh-rTW/donottranslate-altchars.xml b/java/res/values-zh-rTW/donottranslate-altchars.xml new file mode 100644 index 000000000..c165b11c5 --- /dev/null +++ b/java/res/values-zh-rTW/donottranslate-altchars.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">èéêë</string> + <string name="alternates_for_i">ìíîï</string> + <string name="alternates_for_o">òóôõöœø</string> + <string name="alternates_for_u">ùúûü</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ</string> +</resources> diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml index 54d93117e..8a96f8667 100644 --- a/java/res/values-zh-rTW/strings.xml +++ b/java/res/values-zh-rTW/strings.xml @@ -56,15 +56,6 @@ <item msgid="4894328801530136615">"進階模式"</item> </string-array> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:已儲存"</string> - <string name="alternates_for_a" msgid="2566516493365324765">"àáâãäåæ"</string> - <string name="alternates_for_e" msgid="3900510936875547555">"èéêë"</string> - <string name="alternates_for_i" msgid="7097915268629342242">"ìíîï"</string> - <string name="alternates_for_o" msgid="6151402748321267776">"òóôõöœø"</string> - <string name="alternates_for_u" msgid="5899096818189442934">"ùúûü"</string> - <string name="alternates_for_s" msgid="348762530927662188">"§ß"</string> - <string name="alternates_for_n" msgid="6257322556221886400">"ñ"</string> - <string name="alternates_for_c" msgid="151699780720639892">"ç"</string> - <string name="alternates_for_y" msgid="1722776806607271199">"ýÿ"</string> <string name="tip_long_press" msgid="6101270866284343344">"按住按鍵可查看重音符號 (ø、ö 等)"</string> <string name="tip_dismiss" msgid="7585579046862204381">"隨時可以透過按後退鍵 ↶ 關閉鍵盤"</string> <string name="tip_access_symbols" msgid="6344098517525531652">"使用數字和符號"</string> diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index e3171eb33..995373e84 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -43,6 +43,9 @@ <!-- Height of the key press feedback popup. --> <attr name="keyPreviewHeight" format="dimension" /> + <!-- Hysteresis distance for key debouncing --> + <attr name="keyHysteresisDistance" format="dimension" /> + <!-- Amount to offset the touch Y coordinate by, for bias correction. --> <attr name="verticalCorrection" format="dimension" /> diff --git a/java/res/values/colors.xml b/java/res/values/colors.xml index 245648df2..0161589a4 100644 --- a/java/res/values/colors.xml +++ b/java/res/values/colors.xml @@ -19,8 +19,8 @@ --> <resources> <color name="candidate_normal">#FFFFFFFF</color> - <color name="candidate_recommended">#FFF07020</color> - <color name="candidate_other">#ffD06015</color> + <color name="candidate_recommended">#FFFCAE00</color> + <color name="candidate_other">#FFFCAE00</color> <color name="latinkeyboard_transparent">#00000000</color> <color name="latinkeyboard_bar_language_shadow_white">#80000000</color> <color name="latinkeyboard_bar_language_shadow_black">#80FFFFFF</color> diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index 39dce9db0..b399af489 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -22,10 +22,13 @@ <dimen name="key_height">54dip</dimen> <dimen name="bubble_pointer_offset">22dip</dimen> <dimen name="candidate_strip_height">42dip</dimen> + <dimen name="candidate_strip_fading_edge_length">63dip</dimen> <dimen name="spacebar_vertical_correction">4dip</dimen> <!-- If the screen height in landscape is larger than the below value, then the keyboard will not go into extract (fullscreen) mode. --> <dimen name="max_height_for_fullscreen">2.5in</dimen> <dimen name="key_text_size">22sp</dimen> - <dimen name="key_debounce_hysteresis_distance">0.05in</dimen> + <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. --> + <!-- key_height * 1.7 --> + <dimen name="mini_keyboard_slide_allowance">91.8dip</dimen> </resources> diff --git a/java/res/values/donottranslate-altchars.xml b/java/res/values/donottranslate-altchars.xml new file mode 100644 index 000000000..bba7282c9 --- /dev/null +++ b/java/res/values/donottranslate-altchars.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="alternates_for_a">àáâãäåæ</string> + <string name="alternates_for_e">èéêë</string> + <string name="alternates_for_i">ìíîï</string> + <string name="alternates_for_o">òóôõöœø</string> + <string name="alternates_for_u">ùúûü</string> + <string name="alternates_for_s">§ß</string> + <string name="alternates_for_n">ñ</string> + <string name="alternates_for_c">ç</string> + <string name="alternates_for_y">ýÿ</string> + <string name="alternates_for_q">1</string> + <string name="alternates_for_w">2</string> + <string name="alternates_for_d"></string> + <string name="alternates_for_r">4</string> + <string name="alternates_for_t">5</string> + <string name="alternates_for_z"></string> + <string name="alternates_for_l"></string> + <string name="alternates_for_g"></string> + <string name="alternates_for_p">0</string> + <string name="alternates_for_v"></string> + <string name="alternates_for_ae"></string> + <string name="alternates_for_oe"></string> + <string name="alternates_for_cyrillic_e"></string> + <string name="alternates_for_cyrillic_soft_sign"></string> + <string name="alternates_for_a_umlaut"></string> + <string name="alternates_for_o_umlaut"></string> +</resources> diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml index 97b645c4a..936609924 100644 --- a/java/res/values/donottranslate.xml +++ b/java/res/values/donottranslate.xml @@ -24,22 +24,12 @@ <string name="sentence_separators">.,!?)</string> <!-- Symbols that are suggested between words --> <string name="suggested_punctuations">!?,\u0022\u0027:()-/@_</string> - <!-- Accented characters related to "q" --> - <string name="alternates_for_q">1</string> - <!-- Accented characters related to "w" --> - <string name="alternates_for_w">2</string> - <!-- Accented characters related to "d" --> - <string name="alternates_for_d"></string> - <!-- Accented characters related to "r" --> - <string name="alternates_for_r">4</string> - <!-- Accented characters related to "t" --> - <string name="alternates_for_t">5</string> - <!-- Accented characters related to "z" --> - <string name="alternates_for_z"></string> - <!-- Accented characters related to "l" --> - <string name="alternates_for_l"></string> - <!-- Accented characters related to "g" --> - <string name="alternates_for_g"></string> - <!-- Accented characters related to "p" --> - <string name="alternates_for_p">0</string> + + <!-- Option values to show/hide the settings key in onscreen keyboard --> + <!-- Automatically decide to show or hide the settings key --> + <string name="settings_key_mode_auto" translatable="false">0</string> + <!-- Always show the settings key --> + <string name="settings_key_mode_always_show" translatable="false">1</string> + <!-- Always hide the settings key --> + <string name="settings_key_mode_always_hide" translatable="false">2</string> </resources> diff --git a/java/res/values/keycodes.xml b/java/res/values/keycodes.xml index 3f03dd665..9dded508a 100644 --- a/java/res/values/keycodes.xml +++ b/java/res/values/keycodes.xml @@ -19,6 +19,12 @@ --> <resources> + <integer name="key_tab">9</integer> + <integer name="key_return">10</integer> + <integer name="key_space">32</integer> + <integer name="key_shift">-1</integer> + <integer name="key_symbol">-2</integer> + <integer name="key_delete">-5</integer> <!-- Keycode for F1 (function) key. This one switches between language switch & comma/.com --> <integer name="key_settings">-100</integer> <integer name="key_f1">-103</integer> diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index d2febb566..3a3e1c9c2 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -91,6 +91,27 @@ <!-- Description for auto completion --> <string name="auto_complete_summary">Spacebar and punctuation automatically insert highlighted word</string> + <!-- Option to show/hide the settings key --> + <string name="prefs_settings_key">Show settings key</string> + <!-- Array of the settings key mode values --> + <string-array name="settings_key_modes_values" translatable="false"> + <item>@string/settings_key_mode_auto</item> + <item>@string/settings_key_mode_always_show</item> + <item>@string/settings_key_mode_always_hide</item> + </string-array> + <!-- Option to automatically decide to show/hide the settings key --> + <string name="settings_key_mode_auto_name">Automatic</string> + <!-- Option to always show the settings key --> + <string name="settings_key_mode_always_show_name">Always show</string> + <!-- Option to always hide the settings key --> + <string name="settings_key_mode_always_hide_name">Always hide</string> + <!-- Array of the settings key modes --> + <string-array name="settings_key_modes"> + <item>@string/settings_key_mode_auto_name</item> + <item>@string/settings_key_mode_always_show_name</item> + <item>@string/settings_key_mode_always_hide_name</item> + </string-array> + <!-- Option to enable bigram completion --> <string name="bigram_suggestion">Bigram Suggestions</string> <!-- Description for auto completion --> @@ -118,24 +139,6 @@ <!-- Indicates that a word has been added to the dictionary --> <string name="added_word"><xliff:g id="word">%s</xliff:g> : Saved</string> - <!-- Accented forms of "a" --> - <string name="alternates_for_a">àáâãäåæ</string> - <!-- Accented forms of "e" --> - <string name="alternates_for_e">èéêë</string> - <!-- Accented forms of "i" --> - <string name="alternates_for_i">ìíîï</string> - <!-- Accented forms of "o" --> - <string name="alternates_for_o">òóôõöœø</string> - <!-- Accented forms of "u" --> - <string name="alternates_for_u">ùúûü</string> - <!-- Letters associated with "s" --> - <string name="alternates_for_s">§ß</string> - <!-- Accented forms of "n" --> - <string name="alternates_for_n">ñ</string> - <!-- Accented forms of "c" --> - <string name="alternates_for_c">ç</string> - <!-- Accented forms of "y" --> - <string name="alternates_for_y">ýÿ</string> <!-- Tip to long press on keys --> <string name="tip_long_press">Hold a key down to see accents (ø, ö, etc.)</string> diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml index 16478c883..60fffe873 100644 --- a/java/res/values/styles.xml +++ b/java/res/values/styles.xml @@ -21,11 +21,12 @@ <item name="keyBackground">@drawable/btn_keyboard_key</item> <item name="keyTextSize">@dimen/key_text_size</item> <item name="keyTextColor">#FFFFFFFF</item> - <item name="keyPreviewLayout">@layout/keyboard_key_preview</item> - <item name="keyPreviewOffset">5dip</item> + <item name="keyPreviewLayout">@layout/key_preview</item> + <item name="keyPreviewOffset">0dip</item> <item name="keyPreviewHeight">80dip</item> <item name="labelTextSize">14sp</item> - <item name="popupLayout">@layout/keyboard_popup_keyboard</item> + <item name="popupLayout">@layout/keyboard_popup</item> + <item name="keyHysteresisDistance">0.05in</item> <item name="verticalCorrection">-10dip</item> <item name="shadowColor">#BB000000</item> <item name="shadowRadius">2.75</item> diff --git a/java/res/xml-da/kbd_qwerty.xml b/java/res/xml-da/kbd_qwerty.xml index 57b013a9d..a17d604bf 100644 --- a/java/res/xml-da/kbd_qwerty.xml +++ b/java/res/xml-da/kbd_qwerty.xml @@ -24,187 +24,511 @@ Just a copy of the Norwegian layout, with æ/ø switched. --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="éèêëę€"/> - <Key android:codes="114" android:keyLabel="r" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ř"/> - <Key android:codes="116" android:keyLabel="t" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ťþ"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ýÿü"/> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="úùûū"/> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="íìîï"/> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="óòôõ"/> - <Key android:codes="112" android:keyLabel="p"/> - <Key android:keyLabel="å" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" /> + <Key + android:keyLabel="å" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="áàâąã" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="śšşß"/> - <Key android:codes="100" android:keyLabel="d" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ðď"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ł"/> - <Key android:keyLabel="æ" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ä"/> - <Key android:keyLabel="ø" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="öœ" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" /> + <Key + android:keyLabel="æ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_ae" /> + <Key + android:keyLabel="ø" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_oe" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="10%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="źžż"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="çćč"/> - <Key android:codes="118" android:keyLabel="v" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="w"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ńñň"/> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + <Row + android:keyWidth="10%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_keyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isModifier="true" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="\@" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-da/kbd_qwerty_black.xml b/java/res/xml-da/kbd_qwerty_black.xml index bde77d6dc..bab7db5d3 100644 --- a/java/res/xml-da/kbd_qwerty_black.xml +++ b/java/res/xml-da/kbd_qwerty_black.xml @@ -24,186 +24,453 @@ Just a copy of the Norwegian layout, with æ/ø switched. --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="éèêëę€"/> - <Key android:codes="114" android:keyLabel="r" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ř"/> - <Key android:codes="116" android:keyLabel="t" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ťþ"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ýÿü"/> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="úùûū"/> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="íìîï"/> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="óòôõ"/> - <Key android:codes="112" android:keyLabel="p"/> - <Key android:keyLabel="å" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" /> + <Key + android:keyLabel="å" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="áàâąã" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="śšşß"/> - <Key android:codes="100" android:keyLabel="d" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ðď"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ł"/> - <Key android:keyLabel="æ" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ä"/> - <Key android:keyLabel="ø" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="öœ" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" /> + <Key + android:keyLabel="æ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_ae" /> + <Key + android:keyLabel="ø" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_oe" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="10%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_bkeyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="źžż"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="çćč"/> - <Key android:codes="118" android:keyLabel="v" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="w"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ńñň"/> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Row + android:keyWidth="10%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_bkeyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="\@"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-de/kbd_qwerty.xml b/java/res/xml-de/kbd_qwerty.xml index 52ac24210..167f84c62 100755..100644 --- a/java/res/xml-de/kbd_qwerty.xml +++ b/java/res/xml-de/kbd_qwerty.xml @@ -18,173 +18,496 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_e" - /> - <Key android:codes="114" android:keyLabel="r"/> - <Key android:codes="116" android:keyLabel="t"/> - <Key android:codes="122" android:keyLabel="z" /> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_u" - /> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_i" - /> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_o" - /> - <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_a" - android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_s" - /> - <Key android:codes="100" android:keyLabel="d"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:horizontalGap="5%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_y" - /> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_c" - /> - <Key android:codes="118" android:keyLabel="v"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_n" - /> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_keyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isModifier="true" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="\@" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-de/kbd_qwerty_black.xml b/java/res/xml-de/kbd_qwerty_black.xml index 5e7261ae7..0ec39b9c8 100755..100644 --- a/java/res/xml-de/kbd_qwerty_black.xml +++ b/java/res/xml-de/kbd_qwerty_black.xml @@ -18,173 +18,438 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_e" - /> - <Key android:codes="114" android:keyLabel="r"/> - <Key android:codes="116" android:keyLabel="t"/> - <Key android:codes="122" android:keyLabel="z" /> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_u" - /> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_i" - /> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_o" - /> - <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_a" - android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_s" - /> - <Key android:codes="100" android:keyLabel="d"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:horizontalGap="5%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyIcon="@drawable/sym_bkeyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_y" - /> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_c" - /> - <Key android:codes="118" android:keyLabel="v"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_n" - /> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_bkeyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="\@"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-fr/kbd_qwerty.xml b/java/res/xml-fr/kbd_qwerty.xml index b4da9365a..a86ae1e1c 100644 --- a/java/res/xml-fr/kbd_qwerty.xml +++ b/java/res/xml-fr/kbd_qwerty.xml @@ -18,175 +18,497 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="97" android:keyLabel="a" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_a" - android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_e" - /> - <Key android:codes="114" android:keyLabel="r"/> - <Key android:codes="116" android:keyLabel="t"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_y" - /> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_u" - /> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_i" - /> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_o" - /> - <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_s" - /> - <Key android:codes="100" android:keyLabel="d"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l"/> - <Key android:codes="109" android:keyLabel="m" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" /> + <Key + android:keyLabel="m" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_c" - /> - <Key android:codes="118" android:keyLabel="v"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_n" - /> - <!--Key android:codes="233,224,232,234" android:keyLabel="é"/--> - <Key android:keyLabel="\'"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_keyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="\'" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isModifier="true" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="\@" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-fr/kbd_qwerty_black.xml b/java/res/xml-fr/kbd_qwerty_black.xml index c49d98212..f01c3a811 100644 --- a/java/res/xml-fr/kbd_qwerty_black.xml +++ b/java/res/xml-fr/kbd_qwerty_black.xml @@ -18,175 +18,439 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="97" android:keyLabel="a" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_a" - android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_e" - /> - <Key android:codes="114" android:keyLabel="r"/> - <Key android:codes="116" android:keyLabel="t"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_y" - /> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_u" - /> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_i" - /> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_o" - /> - <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_s" - /> - <Key android:codes="100" android:keyLabel="d"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l"/> - <Key android:codes="109" android:keyLabel="m" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" /> + <Key + android:keyLabel="m" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyIcon="@drawable/sym_bkeyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_c" - /> - <Key android:codes="118" android:keyLabel="v"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_n" - /> - <!--Key android:codes="233,224,232,234" android:keyLabel="é"/--> - <Key android:keyLabel="\'"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_bkeyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="\'" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="\@"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-iw/kbd_qwerty.xml b/java/res/xml-iw/kbd_qwerty.xml index c6b2056e2..c0b133976 100755..100644 --- a/java/res/xml-iw/kbd_qwerty.xml +++ b/java/res/xml-iw/kbd_qwerty.xml @@ -18,148 +18,455 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:keyLabel="ק" - android:horizontalGap="5%p" - android:keyEdgeFlags="left"/> - <Key android:keyLabel="ר"/> - <Key android:keyLabel="א"/> - <Key android:keyLabel="ט"/> - <Key android:keyLabel="ו"/> - <Key android:keyLabel="ן"/> - <Key android:keyLabel="ם"/> - <Key android:keyLabel="פ"/> - <Key android:codes="-5" - android:horizontalGap="1.25%p" - android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="13.75%p" android:keyEdgeFlags="right" + <Key + android:keyLabel="ק" + android:horizontalGap="5%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ר" /> + <Key + android:keyLabel="א" /> + <Key + android:keyLabel="ט" /> + <Key + android:keyLabel="ו" /> + <Key + android:keyLabel="ן" /> + <Key + android:keyLabel="ם" /> + <Key + android:keyLabel="פ" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + android:keyWidth="13.75%p" + android:isModifier="true" + android:horizontalGap="1.25%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="ש" android:keyEdgeFlags="left"/> - <Key android:keyLabel="ד"/> - <Key android:keyLabel="ג"/> - <Key android:keyLabel="כ"/> - <Key android:keyLabel="ע"/> - <Key android:keyLabel="י"/> - <Key android:keyLabel="ח"/> - <Key android:keyLabel="ל"/> - <Key android:keyLabel="ך"/> - <Key android:keyLabel="ף" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="ש" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ד" /> + <Key + android:keyLabel="ג" /> + <Key + android:keyLabel="כ" /> + <Key + android:keyLabel="ע" /> + <Key + android:keyLabel="י" /> + <Key + android:keyLabel="ח" /> + <Key + android:keyLabel="ל" /> + <Key + android:keyLabel="ך" /> + <Key + android:keyLabel="ף" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="ז" android:horizontalGap="5%p" android:keyEdgeFlags="left"/> - <Key android:keyLabel="ס"/> - <Key android:keyLabel="ב"/> - <Key android:keyLabel="ה"/> - <Key android:keyLabel="נ"/> - <Key android:keyLabel="מ"/> - <Key android:keyLabel="צ"/> - <Key android:keyLabel="ת"/> - <Key android:keyLabel="ץ" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="ז" + android:horizontalGap="5%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ס" /> + <Key + android:keyLabel="ב" /> + <Key + android:keyLabel="ה" /> + <Key + android:keyLabel="נ" /> + <Key + android:keyLabel="מ" /> + <Key + android:keyLabel="צ" /> + <Key + android:keyLabel="ת" /> + <Key + android:keyLabel="ץ" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="\@" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> - diff --git a/java/res/xml-iw/kbd_qwerty_black.xml b/java/res/xml-iw/kbd_qwerty_black.xml index 8b64c82ad..b0ed519d2 100755..100644 --- a/java/res/xml-iw/kbd_qwerty_black.xml +++ b/java/res/xml-iw/kbd_qwerty_black.xml @@ -18,148 +18,397 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:keyLabel="ק" - android:horizontalGap="5%p" - android:keyEdgeFlags="left"/> - <Key android:keyLabel="ר"/> - <Key android:keyLabel="א"/> - <Key android:keyLabel="ט"/> - <Key android:keyLabel="ו"/> - <Key android:keyLabel="ן"/> - <Key android:keyLabel="ם"/> - <Key android:keyLabel="פ"/> - <Key android:codes="-5" - android:horizontalGap="1.25%p" - android:keyIcon="@drawable/sym_bkeyboard_delete" - android:keyWidth="13.75%p" android:keyEdgeFlags="right" + <Key + android:keyLabel="ק" + android:horizontalGap="5%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ר" /> + <Key + android:keyLabel="א" /> + <Key + android:keyLabel="ט" /> + <Key + android:keyLabel="ו" /> + <Key + android:keyLabel="ן" /> + <Key + android:keyLabel="ם" /> + <Key + android:keyLabel="פ" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + android:keyWidth="13.75%p" + android:horizontalGap="1.25%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="ש" android:keyEdgeFlags="left"/> - <Key android:keyLabel="ד"/> - <Key android:keyLabel="ג"/> - <Key android:keyLabel="כ"/> - <Key android:keyLabel="ע"/> - <Key android:keyLabel="י"/> - <Key android:keyLabel="ח"/> - <Key android:keyLabel="ל"/> - <Key android:keyLabel="ך"/> - <Key android:keyLabel="ף" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="ש" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ד" /> + <Key + android:keyLabel="ג" /> + <Key + android:keyLabel="כ" /> + <Key + android:keyLabel="ע" /> + <Key + android:keyLabel="י" /> + <Key + android:keyLabel="ח" /> + <Key + android:keyLabel="ל" /> + <Key + android:keyLabel="ך" /> + <Key + android:keyLabel="ף" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="ז" android:horizontalGap="5%p" android:keyEdgeFlags="left"/> - <Key android:keyLabel="ס"/> - <Key android:keyLabel="ב"/> - <Key android:keyLabel="ה"/> - <Key android:keyLabel="נ"/> - <Key android:keyLabel="מ"/> - <Key android:keyLabel="צ"/> - <Key android:keyLabel="ת"/> - <Key android:keyLabel="ץ" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="ז" + android:horizontalGap="5%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ס" /> + <Key + android:keyLabel="ב" /> + <Key + android:keyLabel="ה" /> + <Key + android:keyLabel="נ" /> + <Key + android:keyLabel="מ" /> + <Key + android:keyLabel="צ" /> + <Key + android:keyLabel="ת" /> + <Key + android:keyLabel="ץ" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="\@"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> - diff --git a/java/res/xml-nb/kbd_qwerty.xml b/java/res/xml-nb/kbd_qwerty.xml index 7bc02ebe4..89d45468c 100644 --- a/java/res/xml-nb/kbd_qwerty.xml +++ b/java/res/xml-nb/kbd_qwerty.xml @@ -24,185 +24,511 @@ Just a copy of the Swedish layout, with ä/æ and ö/ø switched. --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="éèêëę€"/> - <Key android:codes="114" android:keyLabel="r" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ř"/> - <Key android:codes="116" android:keyLabel="t" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ťþ"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ýÿ"/> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="üúùûū"/> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="íìîï"/> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="öóòôõ"/> - <Key android:codes="112" android:keyLabel="p"/> - <Key android:keyLabel="å" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" /> + <Key + android:keyLabel="å" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="äáàâąã" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="śšşß"/> - <Key android:codes="100" android:keyLabel="d" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ðď"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ł"/> - <Key android:keyLabel="ø" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="œ"/> - <Key android:keyLabel="æ" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" /> + <Key + android:keyLabel="ø" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_oe" /> + <Key + android:keyLabel="æ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_ae" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="10%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="źžż"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="çćč"/> - <Key android:codes="118" android:keyLabel="v" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="w"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ńñň"/> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + <Row + android:keyWidth="10%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_keyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isModifier="true" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="\@" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-nb/kbd_qwerty_black.xml b/java/res/xml-nb/kbd_qwerty_black.xml index e87452165..8fbfead79 100644 --- a/java/res/xml-nb/kbd_qwerty_black.xml +++ b/java/res/xml-nb/kbd_qwerty_black.xml @@ -24,185 +24,453 @@ Just a copy of the Swedish layout, with ä/æ and ö/ø switched. --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="éèêëę€"/> - <Key android:codes="114" android:keyLabel="r" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ř"/> - <Key android:codes="116" android:keyLabel="t" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ťþ"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ýÿ"/> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="üúùûū"/> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="íìîï"/> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="öóòôõ"/> - <Key android:codes="112" android:keyLabel="p"/> - <Key android:keyLabel="å" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" /> + <Key + android:keyLabel="å" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="äáàâąã" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="śšşß"/> - <Key android:codes="100" android:keyLabel="d" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ðď"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ł"/> - <Key android:keyLabel="ø" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="œ"/> - <Key android:keyLabel="æ" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" /> + <Key + android:keyLabel="ø" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_oe" /> + <Key + android:keyLabel="æ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_ae" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="10%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_bkeyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="źžż"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="çćč"/> - <Key android:codes="118" android:keyLabel="v" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="w"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ńñň"/> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Row + android:keyWidth="10%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_bkeyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="\@"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-ru/kbd_qwerty.xml b/java/res/xml-ru/kbd_qwerty.xml index 41d23b7d5..1877f838e 100755..100644 --- a/java/res/xml-ru/kbd_qwerty.xml +++ b/java/res/xml-ru/kbd_qwerty.xml @@ -18,160 +18,495 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:keyLabel="й" android:keyWidth="8.75%p" - android:keyEdgeFlags="left"/> - <Key android:keyLabel="ц"/> - <Key android:keyLabel="у"/> - <Key android:keyLabel="к"/> - <Key android:keyLabel="е" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ё" /> - <Key android:keyLabel="н"/> - <Key android:keyLabel="г"/> - <Key android:keyLabel="ш"/> - <Key android:keyLabel="щ"/> - <Key android:keyLabel="з"/> - <Key android:keyLabel="х" android:keyWidth="8.75%p" - android:keyEdgeFlags="right"/> + <Key + android:keyLabel="й" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="1" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ц" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="2" /> + <Key + android:keyLabel="у" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="3" /> + <Key + android:keyLabel="к" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="4" /> + <Key + android:keyLabel="е" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_cyrillic_e" /> + <Key + android:keyLabel="н" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="6" /> + <Key + android:keyLabel="г" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="7" /> + <Key + android:keyLabel="ш" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="8" /> + <Key + android:keyLabel="щ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="9" /> + <Key + android:keyLabel="з" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="0" /> + <Key + android:keyLabel="х" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="ф" android:keyWidth="8.75%p" - android:keyEdgeFlags="left"/> - <Key android:keyLabel="ы"/> - <Key android:keyLabel="в"/> - <Key android:keyLabel="а"/> - <Key android:keyLabel="п"/> - <Key android:keyLabel="р"/> - <Key android:keyLabel="о"/> - <Key android:keyLabel="л"/> - <Key android:keyLabel="д"/> - <Key android:keyLabel="ж"/> - <Key android:keyLabel="э" android:keyWidth="8.75%p" - android:keyEdgeFlags="right"/> + <Key + android:keyLabel="ф" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ы" /> + <Key + android:keyLabel="в" /> + <Key + android:keyLabel="а" /> + <Key + android:keyLabel="п" /> + <Key + android:keyLabel="р" /> + <Key + android:keyLabel="о" /> + <Key + android:keyLabel="л" /> + <Key + android:keyLabel="д" /> + <Key + android:keyLabel="ж" /> + <Key + android:keyLabel="э" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="8.5%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" - android:keyWidth="11.75%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:keyLabel="я"/> - <Key android:keyLabel="ч"/> - <Key android:keyLabel="с"/> - <Key android:keyLabel="м"/> - <Key android:keyLabel="и"/> - <Key android:keyLabel="т"/> - <Key android:keyLabel="ь" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ъ" /> - <Key android:keyLabel="б"/> - <Key android:keyLabel="ю"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="11.75%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + <Row + android:keyWidth="8.5%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_keyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="11.75%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="я" /> + <Key + android:keyLabel="ч" /> + <Key + android:keyLabel="с" /> + <Key + android:keyLabel="м" /> + <Key + android:keyLabel="и" /> + <Key + android:keyLabel="т" /> + <Key + android:keyLabel="ь" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_cyrillic_soft_sign" /> + <Key + android:keyLabel="б" /> + <Key + android:keyLabel="ю" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="11.75%p" + android:isModifier="true" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="\@" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> - diff --git a/java/res/xml-ru/kbd_qwerty_black.xml b/java/res/xml-ru/kbd_qwerty_black.xml index 241c8524e..ebf78ce97 100755..100644 --- a/java/res/xml-ru/kbd_qwerty_black.xml +++ b/java/res/xml-ru/kbd_qwerty_black.xml @@ -18,159 +18,437 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:keyLabel="й" android:keyWidth="8.75%p" - android:keyEdgeFlags="left"/> - <Key android:keyLabel="ц"/> - <Key android:keyLabel="у"/> - <Key android:keyLabel="к"/> - <Key android:keyLabel="е" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ё" /> - <Key android:keyLabel="н"/> - <Key android:keyLabel="г"/> - <Key android:keyLabel="ш"/> - <Key android:keyLabel="щ"/> - <Key android:keyLabel="з"/> - <Key android:keyLabel="х" android:keyWidth="8.75%p" - android:keyEdgeFlags="right"/> + <Key + android:keyLabel="й" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="1" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ц" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="2" /> + <Key + android:keyLabel="у" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="3" /> + <Key + android:keyLabel="к" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="4" /> + <Key + android:keyLabel="е" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_cyrillic_e" /> + <Key + android:keyLabel="н" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="6" /> + <Key + android:keyLabel="г" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="7" /> + <Key + android:keyLabel="ш" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="8" /> + <Key + android:keyLabel="щ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="9" /> + <Key + android:keyLabel="з" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="0" /> + <Key + android:keyLabel="х" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="ф" android:keyWidth="8.75%p" - android:keyEdgeFlags="left"/> - <Key android:keyLabel="ы"/> - <Key android:keyLabel="в"/> - <Key android:keyLabel="а"/> - <Key android:keyLabel="п"/> - <Key android:keyLabel="р"/> - <Key android:keyLabel="о"/> - <Key android:keyLabel="л"/> - <Key android:keyLabel="д"/> - <Key android:keyLabel="ж"/> - <Key android:keyLabel="э" android:keyWidth="8.75%p" - android:keyEdgeFlags="right"/> + <Key + android:keyLabel="ф" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ы" /> + <Key + android:keyLabel="в" /> + <Key + android:keyLabel="а" /> + <Key + android:keyLabel="п" /> + <Key + android:keyLabel="р" /> + <Key + android:keyLabel="о" /> + <Key + android:keyLabel="л" /> + <Key + android:keyLabel="д" /> + <Key + android:keyLabel="ж" /> + <Key + android:keyLabel="э" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="8.5%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_bkeyboard_shift" - android:keyWidth="11.75%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:keyLabel="я"/> - <Key android:keyLabel="ч"/> - <Key android:keyLabel="с"/> - <Key android:keyLabel="м"/> - <Key android:keyLabel="и"/> - <Key android:keyLabel="т"/> - <Key android:keyLabel="ь" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ъ" /> - <Key android:keyLabel="б"/> - <Key android:keyLabel="ю"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:keyWidth="11.75%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Row + android:keyWidth="8.5%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_bkeyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="11.75%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="я" /> + <Key + android:keyLabel="ч" /> + <Key + android:keyLabel="с" /> + <Key + android:keyLabel="м" /> + <Key + android:keyLabel="и" /> + <Key + android:keyLabel="т" /> + <Key + android:keyLabel="ь" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_cyrillic_soft_sign" /> + <Key + android:keyLabel="б" /> + <Key + android:keyLabel="ю" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="11.75%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="\@"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-sr/kbd_qwerty.xml b/java/res/xml-sr/kbd_qwerty.xml index 78852fc22..ba8bf8c7d 100644 --- a/java/res/xml-sr/kbd_qwerty.xml +++ b/java/res/xml-sr/kbd_qwerty.xml @@ -19,154 +19,487 @@ --> <!-- Serbian keyboard layout, based on the X11 layout for Serbian --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:keyLabel="љ" - android:keyEdgeFlags="left" /> - <Key android:keyLabel="њ" /> - <Key android:keyLabel="е" /> - <Key android:keyLabel="р" /> - <Key android:keyLabel="т" /> - <Key android:keyLabel="з" /> - <Key android:keyLabel="у" /> - <Key android:keyLabel="и" /> - <Key android:keyLabel="о" /> - <Key android:keyLabel="п" /> - <Key android:keyLabel="ш" - android:keyEdgeFlags="right" /> + <Key + android:keyLabel="љ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="1" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="њ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="2" /> + <Key + android:keyLabel="е" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="3" /> + <Key + android:keyLabel="р" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="4" /> + <Key + android:keyLabel="т" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="5" /> + <Key + android:keyLabel="з" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="6" /> + <Key + android:keyLabel="у" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="7" /> + <Key + android:keyLabel="и" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="8" /> + <Key + android:keyLabel="о" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="9" /> + <Key + android:keyLabel="п" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="0" /> + <Key + android:keyLabel="ш" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="а" - android:keyEdgeFlags="left" /> - <Key android:keyLabel="с" /> - <Key android:keyLabel="д" /> - <Key android:keyLabel="ф" /> - <Key android:keyLabel="г" /> - <Key android:keyLabel="х" /> - <Key android:keyLabel="ј" /> - <Key android:keyLabel="к" /> - <Key android:keyLabel="л" /> - <Key android:keyLabel="ч" /> - <Key android:keyLabel="ћ" /> - <Key android:keyLabel="ђ" - android:keyEdgeFlags="right" /> + <Key + android:keyLabel="а" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="с" /> + <Key + android:keyLabel="д" /> + <Key + android:keyLabel="ф" /> + <Key + android:keyLabel="г" /> + <Key + android:keyLabel="х" /> + <Key + android:keyLabel="ј" /> + <Key + android:keyLabel="к" /> + <Key + android:keyLabel="л" /> + <Key + android:keyLabel="ч" /> + <Key + android:keyLabel="ћ" /> + <Key + android:keyLabel="ђ" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="8.5%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" - android:keyWidth="11.75%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:keyLabel="ж" /> - <Key android:keyLabel="џ" /> - <Key android:keyLabel="ц" /> - <Key android:keyLabel="в" /> - <Key android:keyLabel="б" /> - <Key android:keyLabel="н" /> - <Key android:keyLabel="м" /> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="11.75%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + <Row + android:keyWidth="8.5%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_keyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="11.75%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ж" /> + <Key + android:keyLabel="џ" /> + <Key + android:keyLabel="ц" /> + <Key + android:keyLabel="в" /> + <Key + android:keyLabel="б" /> + <Key + android:keyLabel="н" /> + <Key + android:keyLabel="м" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="11.75%p" + android:isModifier="true" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="\@" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-sr/kbd_qwerty_black.xml b/java/res/xml-sr/kbd_qwerty_black.xml index c61e0ce2a..1bfb58e48 100644 --- a/java/res/xml-sr/kbd_qwerty_black.xml +++ b/java/res/xml-sr/kbd_qwerty_black.xml @@ -19,154 +19,429 @@ --> <!-- Serbian keyboard layout, based on the X11 layout for Serbian --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:keyLabel="љ" - android:keyEdgeFlags="left" /> - <Key android:keyLabel="њ" /> - <Key android:keyLabel="е" /> - <Key android:keyLabel="р" /> - <Key android:keyLabel="т" /> - <Key android:keyLabel="з" /> - <Key android:keyLabel="у" /> - <Key android:keyLabel="и" /> - <Key android:keyLabel="о" /> - <Key android:keyLabel="п" /> - <Key android:keyLabel="ш" - android:keyEdgeFlags="right" /> + <Key + android:keyLabel="љ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="1" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="њ" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="2" /> + <Key + android:keyLabel="е" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="3" /> + <Key + android:keyLabel="р" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="4" /> + <Key + android:keyLabel="т" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="5" /> + <Key + android:keyLabel="з" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="6" /> + <Key + android:keyLabel="у" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="7" /> + <Key + android:keyLabel="и" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="8" /> + <Key + android:keyLabel="о" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="9" /> + <Key + android:keyLabel="п" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="0" /> + <Key + android:keyLabel="ш" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="а" - android:keyEdgeFlags="left" /> - <Key android:keyLabel="с" /> - <Key android:keyLabel="д" /> - <Key android:keyLabel="ф" /> - <Key android:keyLabel="г" /> - <Key android:keyLabel="х" /> - <Key android:keyLabel="ј" /> - <Key android:keyLabel="к" /> - <Key android:keyLabel="л" /> - <Key android:keyLabel="ч" /> - <Key android:keyLabel="ћ" /> - <Key android:keyLabel="ђ" - android:keyEdgeFlags="right" /> + <Key + android:keyLabel="а" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="с" /> + <Key + android:keyLabel="д" /> + <Key + android:keyLabel="ф" /> + <Key + android:keyLabel="г" /> + <Key + android:keyLabel="х" /> + <Key + android:keyLabel="ј" /> + <Key + android:keyLabel="к" /> + <Key + android:keyLabel="л" /> + <Key + android:keyLabel="ч" /> + <Key + android:keyLabel="ћ" /> + <Key + android:keyLabel="ђ" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="8.5%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_bkeyboard_shift" - android:keyWidth="11.75%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:keyLabel="ж" /> - <Key android:keyLabel="џ" /> - <Key android:keyLabel="ц" /> - <Key android:keyLabel="в" /> - <Key android:keyLabel="б" /> - <Key android:keyLabel="н" /> - <Key android:keyLabel="м" /> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:keyWidth="11.75%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Row + android:keyWidth="8.5%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_bkeyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="11.75%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="ж" /> + <Key + android:keyLabel="џ" /> + <Key + android:keyLabel="ц" /> + <Key + android:keyLabel="в" /> + <Key + android:keyLabel="б" /> + <Key + android:keyLabel="н" /> + <Key + android:keyLabel="м" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="11.75%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="\@"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-sv/kbd_qwerty.xml b/java/res/xml-sv/kbd_qwerty.xml index bd5c67631..32a6add89 100644 --- a/java/res/xml-sv/kbd_qwerty.xml +++ b/java/res/xml-sv/kbd_qwerty.xml @@ -26,187 +26,510 @@ Local additions: €ß --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="éèêëę€"/> - <Key android:codes="114" android:keyLabel="r" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ř"/> - <Key android:codes="116" android:keyLabel="t" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ťþ"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ýÿü"/> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="úùûū"/> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="íìîï"/> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="óòôõ"/> - <Key android:codes="112" android:keyLabel="p"/> - <Key android:keyLabel="å" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" /> + <Key + android:keyLabel="å" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="áàâąã" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="śšşß"/> - <Key android:codes="100" android:keyLabel="d" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ðď"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ł"/> - <Key android:keyLabel="ö" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="øœ"/> - <Key android:keyLabel="ä" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="æ" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" /> + <Key + android:keyLabel="ö" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o_umlaut" /> + <Key + android:keyLabel="ä" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a_umlaut" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="10%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="źžż"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="çćč"/> - <Key android:codes="118" android:keyLabel="v" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="w"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ńñň"/> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Row + android:keyWidth="10%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_keyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="\@" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml-sv/kbd_qwerty_black.xml b/java/res/xml-sv/kbd_qwerty_black.xml index dccc63a65..56050e9d0 100644 --- a/java/res/xml-sv/kbd_qwerty_black.xml +++ b/java/res/xml-sv/kbd_qwerty_black.xml @@ -26,187 +26,453 @@ Local additions: €ß --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="9.09%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="éèêëę€"/> - <Key android:codes="114" android:keyLabel="r" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ř"/> - <Key android:codes="116" android:keyLabel="t" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ťþ"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ýÿü"/> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="úùûū"/> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="íìîï"/> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="óòôõ"/> - <Key android:codes="112" android:keyLabel="p"/> - <Key android:keyLabel="å" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" /> + <Key + android:keyLabel="å" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="áàâąã" - android:keyWidth="8.75%p" android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="śšşß"/> - <Key android:codes="100" android:keyLabel="d" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ðď"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ł"/> - <Key android:keyLabel="ö" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="øœ"/> - <Key android:keyLabel="ä" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="æ" - android:keyWidth="8.75%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:keyWidth="8.75%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" /> + <Key + android:keyLabel="ö" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o_umlaut" /> + <Key + android:keyLabel="ä" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a_umlaut" + android:keyWidth="8.75%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyWidth="10%p"> - <Key android:codes="-1" android:keyIcon="@drawable/sym_bkeyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="źžż"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="çćč"/> - <Key android:codes="118" android:keyLabel="v" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="w"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ńñň"/> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Row + android:keyWidth="10%p" + > + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_bkeyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_url" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="\@"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_email" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_im" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:keyWidth="10%p" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/azerty.xml b/java/res/xml/azerty.xml deleted file mode 100644 index 614aa4936..000000000 --- a/java/res/xml/azerty.xml +++ /dev/null @@ -1,114 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2008, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ ---> - -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" - android:keyWidth="10%p" - android:horizontalGap="0px" - android:verticalGap="0px" - android:keyHeight="@dimen/key_height" - > - - <Row> - <Key android:codes="97" android:keyLabel="a" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_a" - android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z"/> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_e" - /> - <Key android:codes="114" android:keyLabel="r"/> - <Key android:codes="116" android:keyLabel="t"/> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_y" - /> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_u" - /> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_i" - /> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_o" - /> - <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/> - </Row> - - <Row> - <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_s" - /> - <Key android:codes="100" android:keyLabel="d"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g"/> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l"/> - <Key android:codes="109" android:keyLabel="m" android:keyEdgeFlags="right"/> - </Row> - - <Row> - <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="119" android:keyLabel="w"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_c" - /> - <Key android:codes="118" android:keyLabel="v"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_n" - /> - <Key android:codes="233,224,232,234" android:keyLabel="é"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> - </Row> - - <Row android:rowEdgeFlags="bottom"> - <Key android:codes="-3" android:keyIcon="@drawable/sym_keyboard_done" - android:iconPreview="@drawable/sym_keyboard_feedback_done" - android:keyWidth="20%p" android:keyEdgeFlags="left"/> - <Key android:codes="-2" android:keyLabel="123" android:keyWidth="15%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46,44" android:keyLabel=". ," - android:popupKeyboard="@xml/popup_punctuation" android:keyWidth="15%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="20%p" android:keyEdgeFlags="right"/> - </Row> -</Keyboard> -
\ No newline at end of file diff --git a/java/res/xml/kbd_phone.xml b/java/res/xml/kbd_phone.xml index 73d022fcb..9f381b905 100755..100644 --- a/java/res/xml/kbd_phone.xml +++ b/java/res/xml/kbd_phone.xml @@ -17,49 +17,85 @@ ** limitations under the License. */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" + +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="26.67%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row> - <Key android:codes="49" android:keyIcon="@drawable/sym_keyboard_num1" android:keyEdgeFlags="left"/> - <Key android:codes="50" android:keyIcon="@drawable/sym_keyboard_num2"/> - <Key android:codes="51" android:keyIcon="@drawable/sym_keyboard_num3"/> - <Key android:keyLabel="-" android:keyWidth="20%p" android:keyEdgeFlags="right"/> + <Key + android:codes="49" + android:keyIcon="@drawable/sym_keyboard_num1" + android:keyEdgeFlags="left" /> + <Key + android:codes="50" + android:keyIcon="@drawable/sym_keyboard_num2" /> + <Key + android:codes="51" + android:keyIcon="@drawable/sym_keyboard_num3" /> + <Key + android:keyLabel="-" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="52" android:keyIcon="@drawable/sym_keyboard_num4" android:keyEdgeFlags="left"/> - <Key android:codes="53" android:keyIcon="@drawable/sym_keyboard_num5"/> - <Key android:codes="54" android:keyIcon="@drawable/sym_keyboard_num6"/> - <Key android:keyLabel="." android:keyWidth="20%p" android:keyEdgeFlags="right"/> + <Key + android:codes="52" + android:keyIcon="@drawable/sym_keyboard_num4" + android:keyEdgeFlags="left" /> + <Key + android:codes="53" + android:keyIcon="@drawable/sym_keyboard_num5" /> + <Key + android:codes="54" + android:keyIcon="@drawable/sym_keyboard_num6" /> + <Key + android:keyLabel="." + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="55" android:keyIcon="@drawable/sym_keyboard_num7" android:keyEdgeFlags="left"/> - <Key android:codes="56" android:keyIcon="@drawable/sym_keyboard_num8"/> - <Key android:codes="57" android:keyIcon="@drawable/sym_keyboard_num9"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:keyWidth="20%p" - android:isRepeatable="true" android:keyEdgeFlags="right"/> + <Key + android:codes="55" + android:keyIcon="@drawable/sym_keyboard_num7" + android:keyEdgeFlags="left" /> + <Key + android:codes="56" + android:keyIcon="@drawable/sym_keyboard_num8" /> + <Key + android:codes="57" + android:keyIcon="@drawable/sym_keyboard_num9" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="20%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyIcon="@drawable/sym_keyboard_numalt" - android:iconPreview="@drawable/sym_keyboard_feedback_numalt"/> - - <Key android:codes="48" android:keyIcon="@drawable/sym_keyboard_num0"/> - - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:isRepeatable="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:keyWidth="20%p" - android:keyEdgeFlags="right"/> + <Row + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyIcon="@drawable/sym_keyboard_numalt" + android:iconPreview="@drawable/sym_keyboard_feedback_numalt" /> + <Key + android:codes="48" + android:keyIcon="@drawable/sym_keyboard_num0" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - -</Keyboard>
\ No newline at end of file +</Keyboard> diff --git a/java/res/xml/kbd_phone_black.xml b/java/res/xml/kbd_phone_black.xml index 3738f2b68..7a956b796 100755..100644 --- a/java/res/xml/kbd_phone_black.xml +++ b/java/res/xml/kbd_phone_black.xml @@ -17,49 +17,85 @@ ** limitations under the License. */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" + +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="26.67%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row> - <Key android:codes="49" android:keyIcon="@drawable/sym_bkeyboard_num1" android:keyEdgeFlags="left"/> - <Key android:codes="50" android:keyIcon="@drawable/sym_bkeyboard_num2"/> - <Key android:codes="51" android:keyIcon="@drawable/sym_bkeyboard_num3"/> - <Key android:keyLabel="-" android:keyWidth="20%p" android:keyEdgeFlags="right"/> + <Key + android:codes="49" + android:keyIcon="@drawable/sym_bkeyboard_num1" + android:keyEdgeFlags="left" /> + <Key + android:codes="50" + android:keyIcon="@drawable/sym_bkeyboard_num2" /> + <Key + android:codes="51" + android:keyIcon="@drawable/sym_bkeyboard_num3" /> + <Key + android:keyLabel="-" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="52" android:keyIcon="@drawable/sym_bkeyboard_num4" android:keyEdgeFlags="left"/> - <Key android:codes="53" android:keyIcon="@drawable/sym_bkeyboard_num5"/> - <Key android:codes="54" android:keyIcon="@drawable/sym_bkeyboard_num6"/> - <Key android:keyLabel="." android:keyWidth="20%p" android:keyEdgeFlags="right"/> + <Key + android:codes="52" + android:keyIcon="@drawable/sym_bkeyboard_num4" + android:keyEdgeFlags="left" /> + <Key + android:codes="53" + android:keyIcon="@drawable/sym_bkeyboard_num5" /> + <Key + android:codes="54" + android:keyIcon="@drawable/sym_bkeyboard_num6" /> + <Key + android:keyLabel="." + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="55" android:keyIcon="@drawable/sym_bkeyboard_num7" android:keyEdgeFlags="left"/> - <Key android:codes="56" android:keyIcon="@drawable/sym_bkeyboard_num8"/> - <Key android:codes="57" android:keyIcon="@drawable/sym_bkeyboard_num9"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:keyWidth="20%p" - android:isRepeatable="true" android:keyEdgeFlags="right"/> + <Key + android:codes="55" + android:keyIcon="@drawable/sym_bkeyboard_num7" + android:keyEdgeFlags="left" /> + <Key + android:codes="56" + android:keyIcon="@drawable/sym_bkeyboard_num8" /> + <Key + android:codes="57" + android:keyIcon="@drawable/sym_bkeyboard_num9" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="20%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyIcon="@drawable/sym_bkeyboard_numalt" - android:iconPreview="@drawable/sym_keyboard_feedback_numalt"/> - - <Key android:codes="48" android:keyIcon="@drawable/sym_bkeyboard_num0"/> - - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:isRepeatable="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:keyWidth="20%p" - android:keyEdgeFlags="right"/> + <Row + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyIcon="@drawable/sym_bkeyboard_numalt" + android:iconPreview="@drawable/sym_keyboard_feedback_numalt" /> + <Key + android:codes="48" + android:keyIcon="@drawable/sym_bkeyboard_num0" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - </Keyboard> diff --git a/java/res/xml/kbd_phone_symbols.xml b/java/res/xml/kbd_phone_symbols.xml index 9196df8da..598e211f5 100755..100644 --- a/java/res/xml/kbd_phone_symbols.xml +++ b/java/res/xml/kbd_phone_symbols.xml @@ -18,51 +18,81 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="26.67%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row> - <Key android:keyLabel="(" android:keyEdgeFlags="left"/> - <Key android:keyLabel="/"/> - <Key android:keyLabel=")"/> - <Key android:keyLabel="-" android:keyWidth="20%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="(" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:keyLabel=")" /> + <Key + android:keyLabel="-" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="N" android:keyEdgeFlags="left"/> - <!-- Pause is a comma. - Check PhoneNumberUtils.java to see if this has changed. --> - <Key android:codes="44" android:keyLabel="Pause"/> - <Key android:keyLabel=","/> - <Key android:keyLabel="." android:keyWidth="20%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="N" + android:keyEdgeFlags="left" /> + <!-- Pause is a comma. Check PhoneNumberUtils.java to see if this + has changed. --> + <Key + android:codes="44" + android:keyLabel="Pause" /> + <Key + android:keyLabel="," /> + <Key + android:keyLabel="." + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="42" android:keyIcon="@drawable/sym_keyboard_numstar" - android:keyEdgeFlags="left"/> + <Key + android:codes="42" + android:keyIcon="@drawable/sym_keyboard_numstar" + android:keyEdgeFlags="left" /> <!-- Wait is a semicolon. --> - <Key android:codes="59" android:keyLabel="Wait"/> - <Key android:codes="35" android:keyIcon="@drawable/sym_keyboard_numpound"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:keyWidth="20%p" - android:isRepeatable="true" android:keyEdgeFlags="right"/> + <Key + android:codes="59" + android:keyLabel="Wait" /> + <Key + android:codes="35" + android:keyIcon="@drawable/sym_keyboard_numpound" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="20%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_phone_key" - android:keyEdgeFlags="left"/> - <Key android:keyLabel="+"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:isRepeatable="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:keyWidth="20%p" - android:keyEdgeFlags="right"/> + <Row + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_phone_key" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="+" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - -</Keyboard>
\ No newline at end of file +</Keyboard> diff --git a/java/res/xml/kbd_phone_symbols_black.xml b/java/res/xml/kbd_phone_symbols_black.xml index b996e8b31..5bc628965 100755..100644 --- a/java/res/xml/kbd_phone_symbols_black.xml +++ b/java/res/xml/kbd_phone_symbols_black.xml @@ -18,51 +18,81 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="26.67%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row> - <Key android:keyLabel="(" android:keyEdgeFlags="left"/> - <Key android:keyLabel="/"/> - <Key android:keyLabel=")"/> - <Key android:keyLabel="-" android:keyWidth="20%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="(" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:keyLabel=")" /> + <Key + android:keyLabel="-" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:keyLabel="N" android:keyEdgeFlags="left"/> - <!-- Pause is a comma. - Check PhoneNumberUtils.java to see if this has changed. --> - <Key android:codes="44" android:keyLabel="Pause"/> - <Key android:keyLabel=","/> - <Key android:keyLabel="." android:keyWidth="20%p" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="N" + android:keyEdgeFlags="left" /> + <!-- Pause is a comma. Check PhoneNumberUtils.java to see if this + has changed. --> + <Key + android:codes="44" + android:keyLabel="Pause" /> + <Key + android:keyLabel="," /> + <Key + android:keyLabel="." + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="42" android:keyIcon="@drawable/sym_bkeyboard_numstar" - android:keyEdgeFlags="left"/> + <Key + android:codes="42" + android:keyIcon="@drawable/sym_bkeyboard_numstar" + android:keyEdgeFlags="left" /> <!-- Wait is a semicolon. --> - <Key android:codes="59" android:keyLabel="Wait"/> - <Key android:codes="35" android:keyIcon="@drawable/sym_bkeyboard_numpound"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:keyWidth="20%p" - android:isRepeatable="true" android:keyEdgeFlags="right"/> + <Key + android:codes="59" + android:keyLabel="Wait" /> + <Key + android:codes="35" + android:keyIcon="@drawable/sym_bkeyboard_numpound" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="20%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_phone_key" - android:keyEdgeFlags="left"/> - <Key android:keyLabel="+"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:isRepeatable="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:keyWidth="20%p" - android:keyEdgeFlags="right"/> + <Row + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_phone_key" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="+" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - </Keyboard> diff --git a/java/res/xml/kbd_qwerty.xml b/java/res/xml/kbd_qwerty.xml index c75e27afb..ca9f99a31 100755..100644 --- a/java/res/xml/kbd_qwerty.xml +++ b/java/res/xml/kbd_qwerty.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- -/* +/* ** ** Copyright 2008, The Android Open Source Project ** @@ -18,201 +18,486 @@ */ --> -<!-- TODO: Add settings key to other languages --> -<!-- TODO: Add modifier attr to functional keys in other languages --> - -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_q" - /> - <Key android:codes="119" android:keyLabel="w" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_w" - /> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_e" - /> - <Key android:codes="114" android:keyLabel="r" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_r" - /> - <Key android:codes="116" android:keyLabel="t" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_t" - /> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_y" - /> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_u" - /> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_i" - /> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_o" - /> - <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_p" - /> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_a" - android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_s" - /> - <Key android:codes="100" android:keyLabel="d" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_d"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_g" - /> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_l" - android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:horizontalGap="5%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_z"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_c" - /> - <Key android:codes="118" android:keyLabel="v"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_n" - /> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_keyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isModifier="true" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_url" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="\@" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_email" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_im" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right" android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="/" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="\@" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_keyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_keyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/kbd_qwerty_black.xml b/java/res/xml/kbd_qwerty_black.xml index 06bc102bb..fa300a034 100755..100644 --- a/java/res/xml/kbd_qwerty_black.xml +++ b/java/res/xml/kbd_qwerty_black.xml @@ -18,198 +18,428 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" - > - +> <Row> - <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_q" - /> - <Key android:codes="119" android:keyLabel="w" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_w" - /> - <Key android:codes="101" android:keyLabel="e" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_e" - /> - <Key android:codes="114" android:keyLabel="r" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_r" - /> - <Key android:codes="116" android:keyLabel="t" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_t" - /> - <Key android:codes="121" android:keyLabel="y" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_y" - /> - <Key android:codes="117" android:keyLabel="u" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_u" - /> - <Key android:codes="105" android:keyLabel="i" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_i" - /> - <Key android:codes="111" android:keyLabel="o" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_o" - /> - <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_p" - /> + <Key + android:keyLabel="q" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_q" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="w" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_w" /> + <Key + android:keyLabel="e" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_e" /> + <Key + android:keyLabel="r" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_r" /> + <Key + android:keyLabel="t" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_t" /> + <Key + android:keyLabel="y" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_y" /> + <Key + android:keyLabel="u" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_u" /> + <Key + android:keyLabel="i" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_i" /> + <Key + android:keyLabel="o" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_o" /> + <Key + android:keyLabel="p" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_p" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_a" - android:keyEdgeFlags="left"/> - <Key android:codes="115" android:keyLabel="s" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_s" - /> - <Key android:codes="100" android:keyLabel="d" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_d"/> - <Key android:codes="102" android:keyLabel="f"/> - <Key android:codes="103" android:keyLabel="g" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_g" - /> - <Key android:codes="104" android:keyLabel="h"/> - <Key android:codes="106" android:keyLabel="j"/> - <Key android:codes="107" android:keyLabel="k"/> - <Key android:codes="108" android:keyLabel="l" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_l" - android:keyEdgeFlags="right"/> + <Key + android:keyLabel="a" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_a" + android:horizontalGap="5%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="s" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_s" /> + <Key + android:keyLabel="d" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_d" /> + <Key + android:keyLabel="f" /> + <Key + android:keyLabel="g" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_g" /> + <Key + android:keyLabel="h" /> + <Key + android:keyLabel="j" /> + <Key + android:keyLabel="k" /> + <Key + android:keyLabel="l" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_l" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyIcon="@drawable/sym_bkeyboard_shift" - android:keyWidth="15%p" android:isModifier="true" - android:iconPreview="@drawable/sym_keyboard_feedback_shift" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="122" android:keyLabel="z" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_z"/> - <Key android:codes="120" android:keyLabel="x"/> - <Key android:codes="99" android:keyLabel="c" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_c" - /> - <Key android:codes="118" android:keyLabel="v"/> - <Key android:codes="98" android:keyLabel="b"/> - <Key android:codes="110" android:keyLabel="n" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="@string/alternates_for_n" - /> - <Key android:codes="109" android:keyLabel="m"/> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" - android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Key + android:codes="@integer/key_shift" + android:keyIcon="@drawable/sym_bkeyboard_shift" + android:iconPreview="@drawable/sym_keyboard_feedback_shift" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="z" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_z" /> + <Key + android:keyLabel="x" /> + <Key + android:keyLabel="c" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_c" /> + <Key + android:keyLabel="v" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_v" /> + <Key + android:keyLabel="b" /> + <Key + android:keyLabel="n" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="@string/alternates_for_n" /> + <Key + android:keyLabel="m" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_normal" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="/" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_url" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="\@"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_email" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " - android:popupKeyboard="@xml/popup_smileys" - android:keyWidth="25%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_im" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> </Row> - - <Row android:keyboardMode="@+id/mode_webentry" android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_bkeyboard_mic" - android:iconPreview="@drawable/sym_keyboard_feedback_mic" - android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:keyWidth="30%p" android:isRepeatable="true"/> - <Key android:codes="9" android:keyIcon="@drawable/sym_bkeyboard_tab" - android:iconPreview="@drawable/sym_keyboard_feedback_tab" - android:keyWidth="10%p"/> - <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:keyWidth="15%p" android:keyEdgeFlags="right"/> + <Row + android:keyboardMode="@+id/mode_webentry" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="20%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" + android:keyWidth="20%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_normal_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_url_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="/" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_email_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="\@" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_im_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:popupKeyboard="@xml/popup_smileys" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_webentry_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_symbol_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" + android:keyIcon="@drawable/sym_bkeyboard_mic" + android:iconPreview="@drawable/sym_keyboard_feedback_mic" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:codes="@integer/key_tab" + android:keyIcon="@drawable/sym_bkeyboard_tab" + android:iconPreview="@drawable/sym_keyboard_feedback_tab" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="15%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/kbd_symbols.xml b/java/res/xml/kbd_symbols.xml index fad3ebc10..cb8b3b38f 100755..100644 --- a/java/res/xml/kbd_symbols.xml +++ b/java/res/xml/kbd_symbols.xml @@ -18,125 +18,195 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row> - <Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="¹½⅓¼⅛" - /> - <Key android:codes="50" android:keyLabel="2" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="²⅔" - /> - <Key android:codes="51" android:keyLabel="3" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="³¾⅜" - /> - <Key android:codes="52" android:keyLabel="4" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="⁴" - /> - <Key android:codes="53" android:keyLabel="5" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="⅝" - /> - <Key android:codes="54" android:keyLabel="6"/> - <Key android:codes="55" android:keyLabel="7" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="⅞" - /> - <Key android:codes="56" android:keyLabel="8"/> - <Key android:codes="57" android:keyLabel="9"/> - <Key android:codes="48" android:keyLabel="0" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ⁿ∅" - android:keyEdgeFlags="right"/> + <Key + android:keyLabel="1" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="¹½⅓¼⅛" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="2" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="²⅔" /> + <Key + android:keyLabel="3" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="³¾⅜" /> + <Key + android:keyLabel="4" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="⁴" /> + <Key + android:keyLabel="5" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="⅝" /> + <Key + android:keyLabel="6" /> + <Key + android:keyLabel="7" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="⅞" /> + <Key + android:keyLabel="8" /> + <Key + android:keyLabel="9" /> + <Key + android:keyLabel="0" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="ⁿ∅" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="64" android:keyLabel="\@" android:keyEdgeFlags="left"/> - <Key android:codes="35" android:keyLabel="\#"/> - <Key android:codes="36" android:keyLabel="$" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="¢£€¥₣₤₱" - /> - <Key android:codes="37" android:keyLabel="%" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="‰" - /> - <Key android:codes="38" android:keyLabel="&"/> - <Key android:codes="42" android:keyLabel="*" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="†‡★" - /> - <Key android:codes="45" android:keyLabel="-" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="_–—" - /> - <Key android:keyLabel="+" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="±" - /> - <Key android:codes="40" android:keyLabel="(" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="[{<" - /> - <Key android:codes="41" android:keyLabel=")" android:keyEdgeFlags="right" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="]}>" - /> + <Key + android:keyLabel="\@" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\#" /> + <Key + android:keyLabel="$" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="¢£€¥₣₤₱" /> + <Key + android:keyLabel="%" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="‰" /> + <Key + android:keyLabel="&" /> + <Key + android:keyLabel="*" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="†‡★" /> + <Key + android:keyLabel="-" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="_–—" /> + <Key + android:keyLabel="+" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="±" /> + <Key + android:keyLabel="(" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="[{<" /> + <Key + android:keyLabel=")" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="]}>" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyLabel="@string/label_alt_key" - android:keyWidth="15%p" android:isModifier="true" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="33" android:keyLabel="!" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="¡" - /> - <Key android:codes="34" android:keyLabel=""" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="“”«»˝" - /> - <Key android:codes="39" android:keyLabel="\'" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="‘’" - /> - <Key android:codes="58" android:keyLabel=":"/> - <Key android:codes="59" android:keyLabel=";"/> - <Key android:codes="47" android:keyLabel="/" /> - <Key android:codes="63" android:keyLabel="\?" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="¿" - /> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + <Key + android:codes="@integer/key_shift" + android:keyLabel="@string/label_alt_key" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="!" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="¡" /> + <Key + android:keyLabel=""" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="“”«»˝" /> + <Key + android:keyLabel="\'" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="‘’" /> + <Key + android:keyLabel=":" /> + <Key + android:keyLabel=";" /> + <Key + android:keyLabel="/" /> + <Key + android:keyLabel="\?" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="¿" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isModifier="true" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_alpha_key" - android:keyWidth="15%p" android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="@integer/key_f1" android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:keyWidth="30%p" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:isRepeatable="true" android:isModifier="true"/> - <Key android:codes="46" android:keyLabel="." - android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" android:keyWidth="25%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_symbols" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_alpha_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_symbols_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_alpha_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:codes="@integer/key_f1" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/kbd_symbols_black.xml b/java/res/xml/kbd_symbols_black.xml index 7eae55481..bfb1646f4 100755..100644 --- a/java/res/xml/kbd_symbols_black.xml +++ b/java/res/xml/kbd_symbols_black.xml @@ -18,125 +18,183 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row> - <Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="¹½⅓¼⅛" - /> - <Key android:codes="50" android:keyLabel="2" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="²⅔" - /> - <Key android:codes="51" android:keyLabel="3" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="³¾⅜" - /> - <Key android:codes="52" android:keyLabel="4" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="⁴" - /> - <Key android:codes="53" android:keyLabel="5" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="⅝" - /> - <Key android:codes="54" android:keyLabel="6"/> - <Key android:codes="55" android:keyLabel="7" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="⅞" - /> - <Key android:codes="56" android:keyLabel="8"/> - <Key android:codes="57" android:keyLabel="9"/> - <Key android:codes="48" android:keyLabel="0" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="ⁿ∅" - android:keyEdgeFlags="right"/> + <Key + android:keyLabel="1" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="¹½⅓¼⅛" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="2" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="²⅔" /> + <Key + android:keyLabel="3" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="³¾⅜" /> + <Key + android:keyLabel="4" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="⁴" /> + <Key + android:keyLabel="5" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="⅝" /> + <Key + android:keyLabel="6" /> + <Key + android:keyLabel="7" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="⅞" /> + <Key + android:keyLabel="8" /> + <Key + android:keyLabel="9" /> + <Key + android:keyLabel="0" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="ⁿ∅" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="64" android:keyLabel="\@" android:keyEdgeFlags="left"/> - <Key android:codes="35" android:keyLabel="\#"/> - <Key android:codes="36" android:keyLabel="$" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="¢£€¥₣₤₱" - /> - <Key android:codes="37" android:keyLabel="%" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="‰" - /> - <Key android:codes="38" android:keyLabel="&"/> - <Key android:codes="42" android:keyLabel="*" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="†‡★" - /> - <Key android:codes="45" android:keyLabel="-" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="_–—" - /> - <Key android:keyLabel="+" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="±" - /> - <Key android:codes="40" android:keyLabel="(" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="[{<" - /> - <Key android:codes="41" android:keyLabel=")" android:keyEdgeFlags="right" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="]}>" - /> + <Key + android:keyLabel="\@" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\#" /> + <Key + android:keyLabel="$" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="¢£€¥₣₤₱" /> + <Key + android:keyLabel="%" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="‰" /> + <Key + android:keyLabel="&" /> + <Key + android:keyLabel="*" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="†‡★" /> + <Key + android:keyLabel="-" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="_–—" /> + <Key + android:keyLabel="+" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="±" /> + <Key + android:keyLabel="(" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="[{<" /> + <Key + android:keyLabel=")" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="]}>" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyLabel="@string/label_alt_key" - android:keyWidth="15%p" android:isModifier="true" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:codes="33" android:keyLabel="!" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="¡" - /> - <Key android:codes="34" android:keyLabel=""" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="“”«»˝" - /> - <Key android:codes="39" android:keyLabel="\'" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="‘’" - /> - <Key android:codes="58" android:keyLabel=":"/> - <Key android:codes="59" android:keyLabel=";"/> - <Key android:codes="47" android:keyLabel="/" /> - <Key android:codes="63" android:keyLabel="\?" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="¿" - /> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Key + android:codes="@integer/key_shift" + android:keyLabel="@string/label_alt_key" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="!" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="¡" /> + <Key + android:keyLabel=""" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="“”«»˝" /> + <Key + android:keyLabel="\'" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="‘’" /> + <Key + android:keyLabel=":" /> + <Key + android:keyLabel=";" /> + <Key + android:keyLabel="/" /> + <Key + android:keyLabel="\?" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="¿" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_alpha_key" - android:keyWidth="15%p" android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:codes="@integer/key_f1" android:keyWidth="10%p"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:keyWidth="30%p" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:isRepeatable="true"/> - <Key android:codes="46" android:keyLabel="." - android:popupKeyboard="@xml/popup_punctuation" - android:keyWidth="10%p"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" android:keyWidth="25%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - /> + <Row + android:keyboardMode="@+id/mode_symbols" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_alpha_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_f1" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_symbols_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_alpha_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:codes="@integer/key_f1" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="." + android:popupKeyboard="@xml/popup_punctuation" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/kbd_symbols_shift.xml b/java/res/xml/kbd_symbols_shift.xml index b0693917e..21cbb7132 100755..100644 --- a/java/res/xml/kbd_symbols_shift.xml +++ b/java/res/xml/kbd_symbols_shift.xml @@ -18,91 +18,172 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row> - <Key android:keyLabel="~" android:keyEdgeFlags="left"/> - <Key android:keyLabel="`"/> - <Key android:keyLabel="|"/> - <Key android:keyLabel="•" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="♪♥♠♦♣" - /> - <Key android:keyLabel="√"/> - <Key android:keyLabel="π" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="Π" - /> - <Key android:keyLabel="÷"/> - <Key android:keyLabel="×"/> - <Key android:keyLabel="{"/> - <Key android:keyLabel="}" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="~" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="`" /> + <Key + android:keyLabel="|" /> + <Key + android:keyLabel="•" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="♪♥♠♦♣" /> + <Key + android:keyLabel="√" /> + <Key + android:keyLabel="π" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="Π" /> + <Key + android:keyLabel="÷" /> + <Key + android:keyLabel="×" /> + <Key + android:keyLabel="{" /> + <Key + android:keyLabel="}" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="9" android:keyLabel="\u21E5" android:keyEdgeFlags="left"/> - <Key android:keyLabel="£"/> - <Key android:keyLabel="¢"/> - <Key android:keyLabel="€"/> - <Key android:keyLabel="°"/> - <Key android:keyLabel="^" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="↑↓←→" - /> - <Key android:keyLabel="_"/> - <Key android:keyLabel="=" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="≠≈∞" - /> - <Key android:keyLabel="["/> - <Key android:keyLabel="]" android:keyEdgeFlags="right"/> + <Key + android:codes="@integer/key_tab" + android:keyLabel="\u21E5" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="£" /> + <Key + android:keyLabel="¢" /> + <Key + android:keyLabel="€" /> + <Key + android:keyLabel="°" /> + <Key + android:keyLabel="^" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="↑↓←→" /> + <Key + android:keyLabel="_" /> + <Key + android:keyLabel="=" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="≠≈∞" /> + <Key + android:keyLabel="[" /> + <Key + android:keyLabel="]" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyLabel="@string/label_alt_key" - android:keyWidth="15%p" android:isModifier="true" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:keyLabel="™"/> - <Key android:keyLabel="®"/> - <Key android:keyLabel="©"/> - <Key android:keyLabel="¶" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="§" - /> - <Key android:keyLabel="\\"/> - <Key android:keyLabel="<" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="≤«‹" - /> - <Key android:keyLabel=">" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="≥»›" - /> - <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true" android:isModifier="true"/> + <Key + android:codes="@integer/key_shift" + android:keyLabel="@string/label_alt_key" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="™" /> + <Key + android:keyLabel="®" /> + <Key + android:keyLabel="©" /> + <Key + android:keyLabel="¶" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="§" /> + <Key + android:keyLabel="\\" /> + <Key + android:keyLabel="<" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="≤«‹" /> + <Key + android:keyLabel=">" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="≥»›" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_keyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isModifier="true" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_alpha_key" android:keyWidth="15%p" - android:keyEdgeFlags="left" android:isModifier="true"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_keyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p" android:isModifier="true"/> - <Key android:keyLabel="„" android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" - android:keyWidth="30%p" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:isRepeatable="true" android:isModifier="true"/> - <Key android:keyLabel="…" android:keyWidth="10%p" android:isModifier="true"/> - <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - android:isModifier="true"/> + <Row + android:keyboardMode="@+id/mode_symbols" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_alpha_key" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="„" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" + android:isModifier="true" /> + <Key + android:keyLabel="…" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_symbols_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_alpha_key" + android:keyWidth="15%p" + android:isModifier="true" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_keyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" + android:isModifier="true" /> + <Key + android:keyLabel="„" + android:isModifier="true" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_keyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" + android:isModifier="true" /> + <Key + android:keyLabel="…" + android:isModifier="true" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_keyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:isModifier="true" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/kbd_symbols_shift_black.xml b/java/res/xml/kbd_symbols_shift_black.xml index 250e0854c..d5d49ce0d 100755..100644 --- a/java/res/xml/kbd_symbols_shift_black.xml +++ b/java/res/xml/kbd_symbols_shift_black.xml @@ -18,91 +18,160 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row> - <Key android:keyLabel="~" android:keyEdgeFlags="left"/> - <Key android:keyLabel="`"/> - <Key android:keyLabel="|"/> - <Key android:keyLabel="•" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="♪♥♠♦♣" - /> - <Key android:keyLabel="√"/> - <Key android:keyLabel="π" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="Π" - /> - <Key android:keyLabel="÷"/> - <Key android:keyLabel="×"/> - <Key android:keyLabel="{"/> - <Key android:keyLabel="}" android:keyEdgeFlags="right"/> + <Key + android:keyLabel="~" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="`" /> + <Key + android:keyLabel="|" /> + <Key + android:keyLabel="•" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="♪♥♠♦♣" /> + <Key + android:keyLabel="√" /> + <Key + android:keyLabel="π" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="Π" /> + <Key + android:keyLabel="÷" /> + <Key + android:keyLabel="×" /> + <Key + android:keyLabel="{" /> + <Key + android:keyLabel="}" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="9" android:keyLabel="\u21E5" android:keyEdgeFlags="left"/> - <Key android:keyLabel="£"/> - <Key android:keyLabel="¢"/> - <Key android:keyLabel="€"/> - <Key android:keyLabel="°"/> - <Key android:keyLabel="^" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="↑↓←→" - /> - <Key android:keyLabel="_"/> - <Key android:keyLabel="=" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="≠≈∞" - /> - <Key android:keyLabel="["/> - <Key android:keyLabel="]" android:keyEdgeFlags="right"/> + <Key + android:codes="@integer/key_tab" + android:keyLabel="\u21E5" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="£" /> + <Key + android:keyLabel="¢" /> + <Key + android:keyLabel="€" /> + <Key + android:keyLabel="°" /> + <Key + android:keyLabel="^" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="↑↓←→" /> + <Key + android:keyLabel="_" /> + <Key + android:keyLabel="=" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="≠≈∞" /> + <Key + android:keyLabel="[" /> + <Key + android:keyLabel="]" + android:keyEdgeFlags="right" /> </Row> - <Row> - <Key android:codes="-1" android:keyLabel="@string/label_alt_key" - android:keyWidth="15%p" android:isModifier="true" - android:isSticky="true" android:keyEdgeFlags="left"/> - <Key android:keyLabel="™"/> - <Key android:keyLabel="®"/> - <Key android:keyLabel="©"/> - <Key android:keyLabel="¶" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="§" - /> - <Key android:keyLabel="\\"/> - <Key android:keyLabel="<" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="≤«‹" - /> - <Key android:keyLabel=">" - android:popupKeyboard="@xml/kbd_popup_template" - android:popupCharacters="≥»›" - /> - <Key android:codes="-5" android:keyIcon="@drawable/sym_bkeyboard_delete" android:keyWidth="15%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_delete" - android:isRepeatable="true"/> + <Key + android:codes="@integer/key_shift" + android:keyLabel="@string/label_alt_key" + android:keyWidth="15%p" + android:isModifier="true" + android:isSticky="true" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="™" /> + <Key + android:keyLabel="®" /> + <Key + android:keyLabel="©" /> + <Key + android:keyLabel="¶" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="§" /> + <Key + android:keyLabel="\\" /> + <Key + android:keyLabel="<" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="≤«‹" /> + <Key + android:keyLabel=">" + android:popupKeyboard="@xml/kbd_popup_template" + android:popupCharacters="≥»›" /> + <Key + android:codes="@integer/key_delete" + android:keyIcon="@drawable/sym_bkeyboard_delete" + android:iconPreview="@drawable/sym_keyboard_feedback_delete" + android:keyWidth="15%p" + android:isRepeatable="true" + android:keyEdgeFlags="right" /> </Row> - - <Row android:rowEdgeFlags="bottom"> - <Key android:codes="-2" android:keyLabel="@string/label_alpha_key" android:keyWidth="15%p" - android:keyEdgeFlags="left"/> - <Key android:codes="@integer/key_settings" android:keyIcon="@drawable/sym_bkeyboard_settings" - android:iconPreview="@drawable/sym_keyboard_feedback_settings" - android:keyWidth="10%p"/> - <Key android:keyLabel="„" android:keyWidth="10%p" /> - <Key android:codes="32" android:keyIcon="@drawable/sym_bkeyboard_space" - android:keyWidth="30%p" - android:iconPreview="@drawable/sym_keyboard_feedback_space" - android:isRepeatable="true"/> - <Key android:keyLabel="…" android:keyWidth="10%p" /> - <Key android:codes="10" android:keyIcon="@drawable/sym_bkeyboard_return" - android:keyWidth="25%p" android:keyEdgeFlags="right" - android:iconPreview="@drawable/sym_keyboard_feedback_return" - /> + <Row + android:keyboardMode="@+id/mode_symbols" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_alpha_key" + android:keyWidth="20%p" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="„" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="40%p" /> + <Key + android:keyLabel="…" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="20%p" + android:keyEdgeFlags="right" /> + </Row> + <Row + android:keyboardMode="@+id/mode_symbols_with_settings_key" + android:rowEdgeFlags="bottom" + > + <Key + android:codes="@integer/key_symbol" + android:keyLabel="@string/label_alpha_key" + android:keyWidth="15%p" + android:keyEdgeFlags="left" /> + <Key + android:codes="@integer/key_settings" + android:keyIcon="@drawable/sym_bkeyboard_settings" + android:iconPreview="@drawable/sym_keyboard_feedback_settings" /> + <Key + android:keyLabel="„" /> + <Key + android:codes="@integer/key_space" + android:keyIcon="@drawable/sym_bkeyboard_space" + android:iconPreview="@drawable/sym_keyboard_feedback_space" + android:keyWidth="30%p" /> + <Key + android:keyLabel="…" /> + <Key + android:codes="@integer/key_return" + android:keyIcon="@drawable/sym_bkeyboard_return" + android:iconPreview="@drawable/sym_keyboard_feedback_return" + android:keyWidth="25%p" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/popup_domains.xml b/java/res/xml/popup_domains.xml index b733fe24f..0f7d97691 100644 --- a/java/res/xml/popup_domains.xml +++ b/java/res/xml/popup_domains.xml @@ -18,21 +18,29 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="15%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top|bottom" > - - <Row android:rowEdgeFlags="top|bottom"> - <Key android:keyLabel="@string/popular_domain_1" - android:keyOutputText="@string/popular_domain_1" android:keyEdgeFlags="left" /> - <Key android:keyLabel="@string/popular_domain_2" - android:keyOutputText="@string/popular_domain_2"/> - <Key android:keyLabel="@string/popular_domain_3" - android:keyOutputText="@string/popular_domain_3"/> - <Key android:keyLabel="@string/popular_domain_4" - android:keyOutputText="@string/popular_domain_4" android:keyEdgeFlags="right" /> + <Key + android:keyLabel="@string/popular_domain_1" + android:keyOutputText="@string/popular_domain_1" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="@string/popular_domain_2" + android:keyOutputText="@string/popular_domain_2" /> + <Key + android:keyLabel="@string/popular_domain_3" + android:keyOutputText="@string/popular_domain_3" /> + <Key + android:keyLabel="@string/popular_domain_4" + android:keyOutputText="@string/popular_domain_4" + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/popup_punctuation.xml b/java/res/xml/popup_punctuation.xml index a29fb520d..ee1feabec 100644 --- a/java/res/xml/popup_punctuation.xml +++ b/java/res/xml/popup_punctuation.xml @@ -18,29 +18,51 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="10%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row android:rowEdgeFlags="top"> - <Key android:keyLabel=":" android:keyEdgeFlags="left" /> - <Key android:keyLabel="/" /> - <Key android:keyLabel="&" /> - <Key android:keyLabel="(" /> - <Key android:keyLabel=")" /> - <Key android:keyLabel="-" /> - <Key android:keyLabel="+" android:keyEdgeFlags="right" /> + <Key + android:keyLabel=":" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="/" /> + <Key + android:keyLabel="&" /> + <Key + android:keyLabel="(" /> + <Key + android:keyLabel=")" /> + <Key + android:keyLabel="-" /> + <Key + android:keyLabel="+" + android:keyEdgeFlags="right" /> </Row> - <Row android:rowEdgeFlags="bottom"> - <Key android:keyLabel=";" android:keyEdgeFlags="left" /> - <Key android:keyLabel="," /> - <Key android:keyLabel="\@" /> - <Key android:keyLabel="\'" /> - <Key android:keyLabel=""" /> - <Key android:keyLabel="\?" /> - <Key android:keyLabel="!" android:keyEdgeFlags="right" /> + <Row + android:rowEdgeFlags="bottom" + > + <Key + android:keyLabel=";" + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="\@" /> + <Key + android:keyLabel="\'" /> + <Key + android:keyLabel=""" /> + <Key + android:keyLabel="\?" /> + <Key + android:keyLabel="!" /> + <Key + android:keyLabel="," + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/popup_smileys.xml b/java/res/xml/popup_smileys.xml index 5663fefc8..3b556da77 100644 --- a/java/res/xml/popup_smileys.xml +++ b/java/res/xml/popup_smileys.xml @@ -18,32 +18,72 @@ */ --> -<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" +<Keyboard + xmlns:android="http://schemas.android.com/apk/res/android" android:keyWidth="15%p" android:horizontalGap="0px" android:verticalGap="0px" android:keyHeight="@dimen/key_height" +> + <Row + android:rowEdgeFlags="top" > - - <Row android:rowEdgeFlags="top"> - <Key android:keyLabel=":-)" android:keyOutputText=":-) " android:keyEdgeFlags="left" /> - <Key android:keyLabel=":-(" android:keyOutputText=":-( "/> - <Key android:keyLabel=";-)" android:keyOutputText=";-) "/> - <Key android:keyLabel=":-P" android:keyOutputText=":-P "/> - <Key android:keyLabel="=-O" android:keyOutputText="=-O " android:keyEdgeFlags="right" /> + <Key + android:keyLabel=":-)" + android:keyOutputText=":-) " + android:keyEdgeFlags="left" /> + <Key + android:keyLabel=":-(" + android:keyOutputText=":-( " /> + <Key + android:keyLabel=";-)" + android:keyOutputText=";-) " /> + <Key + android:keyLabel=":-P" + android:keyOutputText=":-P " /> + <Key + android:keyLabel="=-O" + android:keyOutputText="=-O " + android:keyEdgeFlags="right" /> </Row> <Row> - <Key android:keyLabel=":-*" android:keyOutputText=":-* " android:keyEdgeFlags="left" /> - <Key android:keyLabel=":O" android:keyOutputText=":O "/> - <Key android:keyLabel="B-)" android:keyOutputText="B-) "/> - <Key android:keyLabel=":-$" android:keyOutputText=":-$ "/> - <Key android:keyLabel=":-!" android:keyOutputText=":-! " android:keyEdgeFlags="right" /> + <Key + android:keyLabel=":-*" + android:keyOutputText=":-* " + android:keyEdgeFlags="left" /> + <Key + android:keyLabel=":O" + android:keyOutputText=":O " /> + <Key + android:keyLabel="B-)" + android:keyOutputText="B-) " /> + <Key + android:keyLabel=":-$" + android:keyOutputText=":-$ " /> + <Key + android:keyLabel=":-!" + android:keyOutputText=":-! " + android:keyEdgeFlags="right" /> </Row> - <Row android:rowEdgeFlags="bottom"> - <Key android:keyLabel=":-[" android:keyOutputText=":-[ " android:keyEdgeFlags="left" /> - <Key android:keyLabel="O:-)" android:keyOutputText="O:-) "/> - <Key android:keyLabel=":-\\" android:keyOutputText=":-\\ "/> - <Key android:keyLabel=":'(" android:keyOutputText=":'( "/> - <Key android:keyLabel=":-D" android:keyOutputText=":-D " android:keyEdgeFlags="right" /> + <Row + android:rowEdgeFlags="bottom" + > + <Key + android:keyLabel=":-[" + android:keyOutputText=":-[ " + android:keyEdgeFlags="left" /> + <Key + android:keyLabel="O:-)" + android:keyOutputText="O:-) " /> + <Key + android:keyLabel=":-\\" + android:keyOutputText=":-\\ " /> + <Key + android:keyLabel=":'(" + android:keyOutputText=":'( " /> + <Key + android:keyLabel=":-D" + android:keyOutputText=":-D " + android:keyEdgeFlags="right" /> </Row> </Keyboard> diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml index cd0a12f77..a09e0a2b9 100644 --- a/java/res/xml/prefs.xml +++ b/java/res/xml/prefs.xml @@ -60,6 +60,15 @@ /> <ListPreference + android:key="settings_key" + android:title="@string/prefs_settings_key" + android:persistent="true" + android:entryValues="@array/settings_key_modes_values" + android:entries="@array/settings_key_modes" + android:defaultValue="@string/settings_key_mode_auto" + /> + + <ListPreference android:key="voice_mode" android:title="@string/voice_input" android:persistent="true" diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java index bd73c6fb8..0f5b43009 100755 --- a/java/src/com/android/inputmethod/latin/CandidateView.java +++ b/java/src/com/android/inputmethod/latin/CandidateView.java @@ -186,7 +186,6 @@ public class CandidateView extends View { return true; } }); - setHorizontalFadingEdgeEnabled(true); setWillNotDraw(false); setHorizontalScrollBarEnabled(false); setVerticalScrollBarEnabled(false); @@ -248,7 +247,9 @@ public class CandidateView extends View { paint.setTypeface(Typeface.DEFAULT_BOLD); paint.setColor(mColorRecommended); existsAutoCompletion = true; - } else if (i != 0) { + } else if (i != 0 || (suggestion.length() == 1 && count > 1)) { + // HACK: even if i == 0, we use mColorOther when this suggestion's length is 1 and + // there are multiple suggestions, such as the default punctuation list. paint.setColor(mColorOther); } final int wordWidth; diff --git a/java/src/com/android/inputmethod/latin/Hints.java b/java/src/com/android/inputmethod/latin/Hints.java index 2434d5195..c467365e7 100644 --- a/java/src/com/android/inputmethod/latin/Hints.java +++ b/java/src/com/android/inputmethod/latin/Hints.java @@ -106,7 +106,7 @@ public class Hints { SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(mContext).edit(); editor.putLong(PREF_VOICE_INPUT_LAST_TIME_USED, System.currentTimeMillis()); - editor.commit(); + SharedPreferencesCompat.apply(editor); mVoiceResultContainedPunctuation = false; for (CharSequence s : SPEAKABLE_PUNCTUATION.keySet()) { @@ -168,7 +168,7 @@ public class Hints { SharedPreferences.Editor editor = sp.edit(); editor.putInt(PREF_VOICE_HINT_NUM_UNIQUE_DAYS_SHOWN, numUniqueDaysShown + 1); editor.putLong(PREF_VOICE_HINT_LAST_TIME_SHOWN, System.currentTimeMillis()); - editor.commit(); + SharedPreferencesCompat.apply(editor); } if (mDisplay != null) { @@ -181,7 +181,7 @@ public class Hints { int value = sp.getInt(pref, 0); SharedPreferences.Editor editor = sp.edit(); editor.putInt(pref, value + 1); - editor.commit(); + SharedPreferencesCompat.apply(editor); return value; } } diff --git a/java/src/com/android/inputmethod/latin/InputLanguageSelection.java b/java/src/com/android/inputmethod/latin/InputLanguageSelection.java index 7258874c0..e811a2cdd 100644 --- a/java/src/com/android/inputmethod/latin/InputLanguageSelection.java +++ b/java/src/com/android/inputmethod/latin/InputLanguageSelection.java @@ -143,7 +143,7 @@ public class InputLanguageSelection extends PreferenceActivity { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); Editor editor = sp.edit(); editor.putString(LatinIME.PREF_SELECTED_LANGUAGES, checkedLanguages); - editor.commit(); + SharedPreferencesCompat.apply(editor); } ArrayList<Loc> getUniqueLocales() { diff --git a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java index 284b29305..ebf2f4e60 100644 --- a/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/latin/KeyboardSwitcher.java @@ -16,13 +16,13 @@ package com.android.inputmethod.latin; -import android.content.Context; import android.content.SharedPreferences; import android.content.res.Configuration; import android.content.res.Resources; import android.preference.PreferenceManager; import android.view.InflateException; +import java.lang.ref.SoftReference; import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -38,11 +38,29 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha public static final int MODE_IM = 6; public static final int MODE_WEB = 7; + // Main keyboard layouts without the settings key public static final int KEYBOARDMODE_NORMAL = R.id.mode_normal; public static final int KEYBOARDMODE_URL = R.id.mode_url; public static final int KEYBOARDMODE_EMAIL = R.id.mode_email; public static final int KEYBOARDMODE_IM = R.id.mode_im; public static final int KEYBOARDMODE_WEB = R.id.mode_webentry; + // Main keyboard layouts with the settings key + public static final int KEYBOARDMODE_NORMAL_WITH_SETTINGS_KEY = + R.id.mode_normal_with_settings_key; + public static final int KEYBOARDMODE_URL_WITH_SETTINGS_KEY = + R.id.mode_url_with_settings_key; + public static final int KEYBOARDMODE_EMAIL_WITH_SETTINGS_KEY = + R.id.mode_email_with_settings_key; + public static final int KEYBOARDMODE_IM_WITH_SETTINGS_KEY = + R.id.mode_im_with_settings_key; + public static final int KEYBOARDMODE_WEB_WITH_SETTINGS_KEY = + R.id.mode_webentry_with_settings_key; + + // Symbols keyboard layout without the settings key + public static final int KEYBOARDMODE_SYMBOLS = R.id.mode_symbols; + // Symbols keyboard layout with the settings key + public static final int KEYBOARDMODE_SYMBOLS_WITH_SETTINGS_KEY = + R.id.mode_symbols_with_settings_key; public static final String DEFAULT_LAYOUT_ID = "4"; public static final String PREF_KEYBOARD_LAYOUT = "pref_keyboard_layout_20100902"; @@ -68,22 +86,26 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha private static final int SYMBOLS_MODE_STATE_BEGIN = 1; private static final int SYMBOLS_MODE_STATE_SYMBOL = 2; - LatinKeyboardView mInputView; + private LatinKeyboardView mInputView; private static final int[] ALPHABET_MODES = { KEYBOARDMODE_NORMAL, KEYBOARDMODE_URL, KEYBOARDMODE_EMAIL, KEYBOARDMODE_IM, - KEYBOARDMODE_WEB}; + KEYBOARDMODE_WEB, + 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 }; - Context mContext; - LatinIME mInputMethodService; + private final LatinIME mInputMethodService; private KeyboardId mSymbolsId; private KeyboardId mSymbolsShiftedId; private KeyboardId mCurrentId; - private Map<KeyboardId, LatinKeyboard> mKeyboards; + private final Map<KeyboardId, SoftReference<LatinKeyboard>> mKeyboards; private int mMode = MODE_NONE; /** One of the MODE_XXX values */ private int mImeOptions; @@ -96,23 +118,32 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha private boolean mPreferSymbols; private int mSymbolsModeState = SYMBOLS_MODE_STATE_NONE; + // Indicates whether or not we have the settings key + private boolean mHasSettingsKey; + private static final int SETTINGS_KEY_MODE_AUTO = R.string.settings_key_mode_auto; + private static final int SETTINGS_KEY_MODE_ALWAYS_SHOW = R.string.settings_key_mode_always_show; + // NOTE: No need to have SETTINGS_KEY_MODE_ALWAYS_HIDE here because it's not being referred to + // in the source code now. + // Default is SETTINGS_KEY_MODE_AUTO. + private static final int DEFAULT_SETTINGS_KEY_MODE = SETTINGS_KEY_MODE_AUTO; + private int mLastDisplayWidth; private LanguageSwitcher mLanguageSwitcher; private Locale mInputLocale; private int mLayoutId; - KeyboardSwitcher(Context context, LatinIME ims) { - mContext = context; + public KeyboardSwitcher(LatinIME ims) { + mInputMethodService = ims; final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ims); mLayoutId = Integer.valueOf(prefs.getString(PREF_KEYBOARD_LAYOUT, DEFAULT_LAYOUT_ID)); + updateSettingsKeyState(prefs); prefs.registerOnSharedPreferenceChangeListener(this); - mKeyboards = new HashMap<KeyboardId, LatinKeyboard>(); + mKeyboards = new HashMap<KeyboardId, SoftReference<LatinKeyboard>>(); mSymbolsId = makeSymbolsId(false); mSymbolsShiftedId = makeSymbolsShiftedId(false); - mInputMethodService = ims; } /** @@ -121,24 +152,24 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha * @param locale the current input locale, or null for default locale with no locale * button. */ - void setLanguageSwitcher(LanguageSwitcher languageSwitcher) { + public void setLanguageSwitcher(LanguageSwitcher languageSwitcher) { mLanguageSwitcher = languageSwitcher; mInputLocale = mLanguageSwitcher.getInputLocale(); } - void setInputView(LatinKeyboardView inputView) { - mInputView = inputView; - } - private KeyboardId makeSymbolsId(boolean hasVoice) { - return new KeyboardId(KBD_SYMBOLS[getCharColorId()], hasVoice); + return new KeyboardId(KBD_SYMBOLS[getCharColorId()], mHasSettingsKey ? + KEYBOARDMODE_SYMBOLS_WITH_SETTINGS_KEY : KEYBOARDMODE_SYMBOLS, + false, hasVoice); } private KeyboardId makeSymbolsShiftedId(boolean hasVoice) { - return new KeyboardId(KBD_SYMBOLS_SHIFT[getCharColorId()], hasVoice); + return new KeyboardId(KBD_SYMBOLS_SHIFT[getCharColorId()], mHasSettingsKey ? + KEYBOARDMODE_SYMBOLS_WITH_SETTINGS_KEY : KEYBOARDMODE_SYMBOLS, + false, hasVoice); } - void makeKeyboards(boolean forceCreate) { + public void makeKeyboards(boolean forceCreate) { mSymbolsId = makeSymbolsId(mHasVoice && !mVoiceOnPrimary); mSymbolsShiftedId = makeSymbolsShiftedId(mHasVoice && !mVoiceOnPrimary); @@ -157,10 +188,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha * which also serve as a unique identifier for each keyboard type. */ private static class KeyboardId { - public int mXml; - public int mKeyboardMode; /** A KEYBOARDMODE_XXX value */ - public boolean mEnableShiftLock; - public boolean mHasVoice; + // TODO: should have locale and portrait/landscape orientation? + public final int mXml; + public final int mKeyboardMode; /** A KEYBOARDMODE_XXX value */ + public final boolean mEnableShiftLock; + public final boolean mHasVoice; public KeyboardId(int xml, int mode, boolean enableShiftLock, boolean hasVoice) { this.mXml = xml; @@ -178,10 +210,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha return other instanceof KeyboardId && equals((KeyboardId) other); } - public boolean equals(KeyboardId other) { - return other.mXml == this.mXml - && other.mKeyboardMode == this.mKeyboardMode - && other.mEnableShiftLock == this.mEnableShiftLock; + private boolean equals(KeyboardId other) { + return other.mXml == this.mXml + && other.mKeyboardMode == this.mKeyboardMode + && other.mEnableShiftLock == this.mEnableShiftLock + && other.mHasVoice == this.mHasVoice; } @Override @@ -191,7 +224,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha } } - void setVoiceMode(boolean enableVoice, boolean voiceOnPrimary) { + public void setVoiceMode(boolean enableVoice, boolean voiceOnPrimary) { if (enableVoice != mHasVoice || voiceOnPrimary != mVoiceOnPrimary) { mKeyboards.clear(); } @@ -200,11 +233,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha setKeyboardMode(mMode, mImeOptions, mHasVoice, mIsSymbols); } - boolean hasVoiceButton(boolean isSymbols) { + private boolean hasVoiceButton(boolean isSymbols) { return mHasVoice && (isSymbols != mVoiceOnPrimary); } - void setKeyboardMode(int mode, int imeOptions, boolean enableVoice) { + public void setKeyboardMode(int mode, int imeOptions, boolean enableVoice) { mSymbolsModeState = SYMBOLS_MODE_STATE_NONE; mPreferSymbols = mode == MODE_SYMBOLS; if (mode == MODE_SYMBOLS) { @@ -217,7 +250,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha } } - void setKeyboardMode(int mode, int imeOptions, boolean enableVoice, boolean isSymbols) { + private void setKeyboardMode(int mode, int imeOptions, boolean enableVoice, boolean isSymbols) { if (mInputView == null) return; mMode = mode; mImeOptions = imeOptions; @@ -233,25 +266,28 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha if (mode == MODE_PHONE) { mInputView.setPhoneKeyboard(keyboard); - mInputView.setPreviewEnabled(false); } mCurrentId = id; mInputView.setKeyboard(keyboard); keyboard.setShifted(false); keyboard.setShiftLocked(keyboard.isShiftLocked()); - keyboard.setImeOptions(mContext.getResources(), mMode, imeOptions); + keyboard.setImeOptions(mInputMethodService.getResources(), mMode, imeOptions); keyboard.setColorOfSymbolIcons(mIsAutoCompletionActive, isBlackSym()); + // Update the settings key state because number of enabled IMEs could have been changed + updateSettingsKeyState(PreferenceManager.getDefaultSharedPreferences(mInputMethodService)); } private LatinKeyboard getKeyboard(KeyboardId id) { - if (!mKeyboards.containsKey(id)) { - Resources orig = mContext.getResources(); + SoftReference<LatinKeyboard> ref = mKeyboards.get(id); + LatinKeyboard keyboard = (ref == null) ? null : ref.get(); + if (keyboard == null) { + Resources orig = mInputMethodService.getResources(); Configuration conf = orig.getConfiguration(); Locale saveLocale = conf.locale; conf.locale = mInputLocale; orig.updateConfiguration(conf, null); - LatinKeyboard keyboard = new LatinKeyboard(mContext, id.mXml, id.mKeyboardMode); + keyboard = new LatinKeyboard(mInputMethodService, id.mXml, id.mKeyboardMode); keyboard.setVoiceMode(hasVoiceButton(id.mXml == R.xml.kbd_symbols || id.mXml == R.xml.kbd_symbols_black), mHasVoice); keyboard.setLanguageSwitcher(mLanguageSwitcher, mIsAutoCompletionActive, isBlackSym()); @@ -259,12 +295,12 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha if (id.mEnableShiftLock) { keyboard.enableShiftLock(); } - mKeyboards.put(id, keyboard); + mKeyboards.put(id, new SoftReference<LatinKeyboard>(keyboard)); conf.locale = saveLocale; orig.updateConfiguration(conf, null); } - return mKeyboards.get(id); + return keyboard; } private KeyboardId getKeyboardId(int mode, int imeOptions, boolean isSymbols) { @@ -276,7 +312,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha if (mode == MODE_PHONE) { return new KeyboardId(KBD_PHONE_SYMBOLS[charColorId], hasVoice); } else { - return new KeyboardId(KBD_SYMBOLS[charColorId], hasVoice); + return new KeyboardId(KBD_SYMBOLS[charColorId], mHasSettingsKey ? + KEYBOARDMODE_SYMBOLS_WITH_SETTINGS_KEY : KEYBOARDMODE_SYMBOLS, + false, hasVoice); } } switch (mode) { @@ -285,32 +323,36 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha "getKeyboardId:" + mode + "," + imeOptions + "," + isSymbols); /* fall through */ case MODE_TEXT: - return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_NORMAL, true, hasVoice); + return new KeyboardId(keyboardRowsResId, mHasSettingsKey ? + KEYBOARDMODE_NORMAL_WITH_SETTINGS_KEY : KEYBOARDMODE_NORMAL, + true, hasVoice); case MODE_SYMBOLS: - return new KeyboardId(KBD_SYMBOLS[charColorId], hasVoice); + return new KeyboardId(KBD_SYMBOLS[charColorId], mHasSettingsKey ? + KEYBOARDMODE_SYMBOLS_WITH_SETTINGS_KEY : KEYBOARDMODE_SYMBOLS, + false, hasVoice); case MODE_PHONE: return new KeyboardId(KBD_PHONE[charColorId], hasVoice); case MODE_URL: - return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_URL, true, hasVoice); + return new KeyboardId(keyboardRowsResId, mHasSettingsKey ? + KEYBOARDMODE_URL_WITH_SETTINGS_KEY : KEYBOARDMODE_URL, true, hasVoice); case MODE_EMAIL: - return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_EMAIL, true, hasVoice); + return new KeyboardId(keyboardRowsResId, mHasSettingsKey ? + KEYBOARDMODE_EMAIL_WITH_SETTINGS_KEY : KEYBOARDMODE_EMAIL, true, hasVoice); case MODE_IM: - return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_IM, true, hasVoice); + return new KeyboardId(keyboardRowsResId, mHasSettingsKey ? + KEYBOARDMODE_IM_WITH_SETTINGS_KEY : KEYBOARDMODE_IM, true, hasVoice); case MODE_WEB: - return new KeyboardId(keyboardRowsResId, KEYBOARDMODE_WEB, true, hasVoice); + return new KeyboardId(keyboardRowsResId, mHasSettingsKey ? + KEYBOARDMODE_WEB_WITH_SETTINGS_KEY : KEYBOARDMODE_WEB, true, hasVoice); } return null; } - int getKeyboardMode() { + public int getKeyboardMode() { return mMode; } - boolean isTextMode() { - return mMode == MODE_TEXT; - } - - boolean isAlphabetMode() { + public boolean isAlphabetMode() { if (mCurrentId == null) { return false; } @@ -323,19 +365,19 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha return false; } - void setShifted(boolean shifted) { + public void setShifted(boolean shifted) { if (mInputView != null) { mInputView.setShifted(shifted); } } - void setShiftLocked(boolean shiftLocked) { + public void setShiftLocked(boolean shiftLocked) { if (mInputView != null) { mInputView.setShiftLocked(shiftLocked); } } - void toggleShift() { + public void toggleShift() { if (mCurrentId.equals(mSymbolsId)) { LatinKeyboard symbolsShiftedKeyboard = getKeyboard(mSymbolsShiftedId); mCurrentId = mSymbolsShiftedId; @@ -346,7 +388,8 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha // called. symbolsShiftedKeyboard.enableShiftLock(); symbolsShiftedKeyboard.setShiftLocked(true); - symbolsShiftedKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions); + symbolsShiftedKeyboard.setImeOptions(mInputMethodService.getResources(), + mMode, mImeOptions); } else if (mCurrentId.equals(mSymbolsShiftedId)) { LatinKeyboard symbolsKeyboard = getKeyboard(mSymbolsId); mCurrentId = mSymbolsId; @@ -355,11 +398,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha // indicator, we need to call enableShiftLock() and setShiftLocked(false). symbolsKeyboard.enableShiftLock(); symbolsKeyboard.setShifted(false); - symbolsKeyboard.setImeOptions(mContext.getResources(), mMode, mImeOptions); + symbolsKeyboard.setImeOptions(mInputMethodService.getResources(), mMode, mImeOptions); } } - void toggleSymbols() { + public void toggleSymbols() { setKeyboardMode(mMode, mImeOptions, mHasVoice, !mIsSymbols); if (mIsSymbols && !mPreferSymbols) { mSymbolsModeState = SYMBOLS_MODE_STATE_BEGIN; @@ -376,7 +419,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha * Updates state machine to figure out when to automatically switch back to alpha mode. * Returns true if the keyboard needs to switch back */ - boolean onKey(int key) { + public boolean onKey(int key) { // Switch back to alpha mode if user types one or more non-space/enter characters // followed by a space/enter switch (mSymbolsModeState) { @@ -440,11 +483,14 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha if (PREF_KEYBOARD_LAYOUT.equals(key)) { changeLatinKeyboardView( Integer.valueOf(sharedPreferences.getString(key, DEFAULT_LAYOUT_ID)), false); + } else if (LatinIMESettings.PREF_SETTINGS_KEY.equals(key)) { + updateSettingsKeyState(sharedPreferences); + recreateInputView(); } } public boolean isBlackSym () { - if (mInputView != null && mInputView.getSymbolColorSheme() == 1) { + if (mInputView != null && mInputView.getSymbolColorScheme() == 1) { return true; } return false; @@ -466,4 +512,19 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha .onAutoCompletionStateChanged(isAutoCompletion)); } } + + private void updateSettingsKeyState(SharedPreferences prefs) { + Resources resources = mInputMethodService.getResources(); + final String settingsKeyMode = prefs.getString(LatinIMESettings.PREF_SETTINGS_KEY, + resources.getString(DEFAULT_SETTINGS_KEY_MODE)); + // We show the settings key when 1) SETTINGS_KEY_MODE_ALWAYS_SHOW or + // 2) SETTINGS_KEY_MODE_AUTO and there are two or more enabled IMEs on the system + if (settingsKeyMode.equals(resources.getString(SETTINGS_KEY_MODE_ALWAYS_SHOW)) + || (settingsKeyMode.equals(resources.getString(SETTINGS_KEY_MODE_AUTO)) + && LatinIMEUtil.hasMultipleEnabledIMEs(mInputMethodService))) { + mHasSettingsKey = true; + } else { + mHasSettingsKey = false; + } + } } diff --git a/java/src/com/android/inputmethod/latin/LanguageSwitcher.java b/java/src/com/android/inputmethod/latin/LanguageSwitcher.java index 578c80526..7b5c30491 100644 --- a/java/src/com/android/inputmethod/latin/LanguageSwitcher.java +++ b/java/src/com/android/inputmethod/latin/LanguageSwitcher.java @@ -188,7 +188,7 @@ public class LanguageSwitcher { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(mIme); Editor editor = sp.edit(); editor.putString(LatinIME.PREF_INPUT_LANGUAGE, getInputLanguage()); - editor.commit(); + SharedPreferencesCompat.apply(editor); } static String toTitleCase(String s) { diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 7097844e2..7fa763c5e 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2008 The Android Open Source Project - * + * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at @@ -228,8 +228,9 @@ public class LatinIME extends InputMethodService private int mDeleteCount; private long mLastKeyTime; - // Shift modifier key state + // Modifier keys state private ModifierKeyState mShiftKeyState = new ModifierKeyState(); + private ModifierKeyState mSymbolKeyState = new ModifierKeyState(); private Tutorial mTutorial; @@ -260,7 +261,7 @@ public class LatinIME extends InputMethodService List<String> candidates; Map<String, List<CharSequence>> alternatives; } - + public abstract static class WordAlternatives { protected CharSequence mChosenWord; @@ -354,7 +355,7 @@ public class LatinIME extends InputMethodService final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); mLanguageSwitcher = new LanguageSwitcher(this); mLanguageSwitcher.loadLocales(prefs); - mKeyboardSwitcher = new KeyboardSwitcher(this, this); + mKeyboardSwitcher = new KeyboardSwitcher(this); mKeyboardSwitcher.setLanguageSwitcher(mLanguageSwitcher); mSystemLocale = conf.locale.toString(); mLanguageSwitcher.setSystemLocale(conf.locale); @@ -596,9 +597,10 @@ public class LatinIME extends InputMethodService switch (attribute.inputType & EditorInfo.TYPE_MASK_CLASS) { case EditorInfo.TYPE_CLASS_NUMBER: case EditorInfo.TYPE_CLASS_DATETIME: - mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_SYMBOLS, - attribute.imeOptions, enableVoiceButton); - break; + // fall through + // NOTE: For now, we use the phone keyboard for NUMBER and DATETIME until we get + // a dedicated number entry keypad. + // TODO: Use a dedicated number entry keypad here when we get one. case EditorInfo.TYPE_CLASS_PHONE: mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_PHONE, attribute.imeOptions, enableVoiceButton); @@ -793,6 +795,37 @@ public class LatinIME extends InputMethodService } } + /** + * This is called when the user has clicked on the extracted text view, + * when running in fullscreen mode. The default implementation hides + * the candidates view when this happens, but only if the extracted text + * editor has a vertical scroll bar because its text doesn't fit. + * Here we override the behavior due to the possibility that a re-correction could + * cause the candidate strip to disappear and re-appear. + */ + @Override + public void onExtractedTextClicked() { + if (mReCorrectionEnabled && isPredictionOn()) return; + + super.onExtractedTextClicked(); + } + + /** + * This is called when the user has performed a cursor movement in the + * extracted text view, when it is running in fullscreen mode. The default + * implementation hides the candidates view when a vertical movement + * happens, but only if the extracted text editor has a vertical scroll bar + * because its text doesn't fit. + * Here we override the behavior due to the possibility that a re-correction could + * cause the candidate strip to disappear and re-appear. + */ + @Override + public void onExtractedCursorMovement(int dx, int dy) { + if (mReCorrectionEnabled && isPredictionOn()) return; + + super.onExtractedCursorMovement(dx, dy); + } + @Override public void hideWindow() { LatinImeLogger.commit(); @@ -951,7 +984,7 @@ public class LatinIME extends InputMethodService private void reloadKeyboards() { if (mKeyboardSwitcher == null) { - mKeyboardSwitcher = new KeyboardSwitcher(this, this); + mKeyboardSwitcher = new KeyboardSwitcher(this); } mKeyboardSwitcher.setLanguageSwitcher(mLanguageSwitcher); if (mKeyboardSwitcher.getInputView() != null @@ -1089,11 +1122,6 @@ public class LatinIME extends InputMethodService } } - private boolean hasMultipleEnabledIMEs() { - return ((InputMethodManager) getSystemService( - INPUT_METHOD_SERVICE)).getEnabledInputMethodList().size() > 1; - } - private void showInputMethodPicker() { ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)) .showInputMethodPicker(); @@ -1101,7 +1129,7 @@ public class LatinIME extends InputMethodService private void onOptionKeyPressed() { if (!isShowingOptionDialog()) { - if (hasMultipleEnabledIMEs()) { + if (LatinIMEUtil.hasMultipleEnabledIMEs(this)) { showOptionsMenu(); } else { launchSettings(); @@ -1111,7 +1139,7 @@ public class LatinIME extends InputMethodService private void onOptionKeyLongPressed() { if (!isShowingOptionDialog()) { - if (hasMultipleEnabledIMEs()) { + if (LatinIMEUtil.hasMultipleEnabledIMEs(this)) { showInputMethodPicker(); } else { launchSettings(); @@ -1132,6 +1160,7 @@ public class LatinIME extends InputMethodService mDeleteCount = 0; } mLastKeyTime = when; + final boolean distinctMultiTouch = mKeyboardSwitcher.hasDistinctMultitouch(); switch (primaryCode) { case Keyboard.KEYCODE_DELETE: handleBackspace(); @@ -1140,9 +1169,14 @@ public class LatinIME extends InputMethodService break; case Keyboard.KEYCODE_SHIFT: // Shift key is handled in onPress() when device has distinct multi-touch panel. - if (!mKeyboardSwitcher.hasDistinctMultitouch()) + if (!distinctMultiTouch) handleShift(); break; + case Keyboard.KEYCODE_MODE_CHANGE: + // Symbol key is handled in onPress() when device has distinct multi-touch panel. + if (!distinctMultiTouch) + changeKeyboardMode(); + break; case Keyboard.KEYCODE_CANCEL: if (!isShowingOptionDialog()) { handleClose(); @@ -1160,10 +1194,6 @@ public class LatinIME extends InputMethodService case LatinKeyboardView.KEYCODE_PREV_LANGUAGE: toggleLanguage(false, false); break; - case Keyboard.KEYCODE_MODE_CHANGE: - // TODO: Mode change (symbol key) should be handled in onPress(). - changeKeyboardMode(); - break; case LatinKeyboardView.KEYCODE_VOICE: if (VOICE_INSTALLED) { startListening(false /* was a button press, was not a swipe */); @@ -1344,14 +1374,21 @@ public class LatinIME extends InputMethodService } } if (mKeyboardSwitcher.getInputView().isShifted()) { - // TODO: This doesn't work with [beta], need to fix it in the next release. if (keyCodes == null || keyCodes[0] < Character.MIN_CODE_POINT || keyCodes[0] > Character.MAX_CODE_POINT) { return; } primaryCode = keyCodes[0]; - if (mKeyboardSwitcher.isAlphabetMode()) { - primaryCode = Character.toUpperCase(primaryCode); + if (mKeyboardSwitcher.isAlphabetMode() && Character.isLowerCase(primaryCode)) { + int upperCaseCode = Character.toUpperCase(primaryCode); + if (upperCaseCode != primaryCode) { + primaryCode = upperCaseCode; + } else { + // Some keys, such as [eszett], have upper case as multi-characters. + String upperCase = new String(new int[] {primaryCode}, 0, 1).toUpperCase(); + onText(upperCase); + return; + } } } if (mPredicting) { @@ -1547,7 +1584,7 @@ public class LatinIME extends InputMethodService SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit(); editor.putBoolean(PREF_HAS_USED_VOICE_INPUT, true); - editor.commit(); + SharedPreferencesCompat.apply(editor); mHasUsedVoiceInput = true; } @@ -1557,7 +1594,7 @@ public class LatinIME extends InputMethodService SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit(); editor.putBoolean(PREF_HAS_USED_VOICE_INPUT_UNSUPPORTED_LOCALE, true); - editor.commit(); + SharedPreferencesCompat.apply(editor); mHasUsedVoiceInputUnsupportedLocale = true; } @@ -2209,13 +2246,16 @@ public class LatinIME extends InputMethodService public void onPress(int primaryCode) { vibrate(); playKeyClick(primaryCode); - if (mKeyboardSwitcher.hasDistinctMultitouch() && primaryCode == Keyboard.KEYCODE_SHIFT) { + final boolean distinctMultiTouch = mKeyboardSwitcher.hasDistinctMultitouch(); + if (distinctMultiTouch && primaryCode == Keyboard.KEYCODE_SHIFT) { mShiftKeyState.onPress(); handleShift(); - } else if (primaryCode == Keyboard.KEYCODE_MODE_CHANGE) { - // TODO: We should handle KEYCODE_MODE_CHANGE (symbol) here as well. + } else if (distinctMultiTouch && primaryCode == Keyboard.KEYCODE_MODE_CHANGE) { + mSymbolKeyState.onPress(); + changeKeyboardMode(); } else { mShiftKeyState.onOtherKeyPressed(); + mSymbolKeyState.onOtherKeyPressed(); } } @@ -2223,12 +2263,15 @@ public class LatinIME extends InputMethodService // Reset any drag flags in the keyboard ((LatinKeyboard) mKeyboardSwitcher.getInputView().getKeyboard()).keyReleased(); //vibrate(); - if (mKeyboardSwitcher.hasDistinctMultitouch() && primaryCode == Keyboard.KEYCODE_SHIFT) { + final boolean distinctMultiTouch = mKeyboardSwitcher.hasDistinctMultitouch(); + if (distinctMultiTouch && primaryCode == Keyboard.KEYCODE_SHIFT) { if (mShiftKeyState.isMomentary()) resetShift(); mShiftKeyState.onRelease(); - } else if (primaryCode == Keyboard.KEYCODE_MODE_CHANGE) { - // TODO: We should handle KEYCODE_MODE_CHANGE (symbol) here as well. + } else if (distinctMultiTouch && primaryCode == Keyboard.KEYCODE_MODE_CHANGE) { + if (mSymbolKeyState.isMomentary()) + changeKeyboardMode(); + mSymbolKeyState.onRelease(); } } diff --git a/java/src/com/android/inputmethod/latin/LatinIMESettings.java b/java/src/com/android/inputmethod/latin/LatinIMESettings.java index 565c1e6e8..f9534d265 100644 --- a/java/src/com/android/inputmethod/latin/LatinIMESettings.java +++ b/java/src/com/android/inputmethod/latin/LatinIMESettings.java @@ -46,6 +46,7 @@ public class LatinIMESettings extends PreferenceActivity private static final String PREDICTION_SETTINGS_KEY = "prediction_settings"; private static final String VOICE_SETTINGS_KEY = "voice_mode"; private static final String DEBUG_MODE_KEY = "debug_mode"; + /* package */ static final String PREF_SETTINGS_KEY = "settings_key"; private static final String TAG = "LatinIMESettings"; @@ -55,6 +56,7 @@ public class LatinIMESettings extends PreferenceActivity private CheckBoxPreference mQuickFixes; private CheckBoxPreference mDebugMode; private ListPreference mVoicePreference; + private ListPreference mSettingsKeyPreference; private boolean mVoiceOn; private VoiceInputLogger mLogger; @@ -68,6 +70,7 @@ public class LatinIMESettings extends PreferenceActivity addPreferencesFromResource(R.xml.prefs); mQuickFixes = (CheckBoxPreference) findPreference(QUICK_FIXES_KEY); mVoicePreference = (ListPreference) findPreference(VOICE_SETTINGS_KEY); + mSettingsKeyPreference = (ListPreference) findPreference(PREF_SETTINGS_KEY); SharedPreferences prefs = getPreferenceManager().getSharedPreferences(); prefs.registerOnSharedPreferenceChangeListener(this); @@ -93,6 +96,7 @@ public class LatinIMESettings extends PreferenceActivity } else { updateVoiceModeSummary(); } + updateSettingsKeySummary(); } @Override @@ -106,7 +110,7 @@ public class LatinIMESettings extends PreferenceActivity (new BackupManager(this)).dataChanged(); // If turning on voice input, show dialog if (key.equals(VOICE_SETTINGS_KEY) && !mVoiceOn) { - if (! prefs.getString(VOICE_SETTINGS_KEY, mVoiceModeOff) + if (!prefs.getString(VOICE_SETTINGS_KEY, mVoiceModeOff) .equals(mVoiceModeOff)) { showVoiceConfirmation(); } @@ -118,6 +122,13 @@ public class LatinIMESettings extends PreferenceActivity } mVoiceOn = !(prefs.getString(VOICE_SETTINGS_KEY, mVoiceModeOff).equals(mVoiceModeOff)); updateVoiceModeSummary(); + updateSettingsKeySummary(); + } + + private void updateSettingsKeySummary() { + mSettingsKeyPreference.setSummary( + getResources().getStringArray(R.array.settings_key_modes) + [mSettingsKeyPreference.findIndexOfValue(mSettingsKeyPreference.getValue())]); } private void updateDebugMode() { diff --git a/java/src/com/android/inputmethod/latin/LatinIMEUtil.java b/java/src/com/android/inputmethod/latin/LatinIMEUtil.java index 93ad4072d..34b52845e 100644 --- a/java/src/com/android/inputmethod/latin/LatinIMEUtil.java +++ b/java/src/com/android/inputmethod/latin/LatinIMEUtil.java @@ -16,6 +16,9 @@ package com.android.inputmethod.latin; +import android.view.inputmethod.InputMethodManager; + +import android.content.Context; import android.os.AsyncTask; import android.text.format.DateUtils; import android.util.Log; @@ -72,4 +75,9 @@ public class LatinIMEUtil { } } } + + public static boolean hasMultipleEnabledIMEs(Context context) { + return ((InputMethodManager) context.getSystemService( + Context.INPUT_METHOD_SERVICE)).getEnabledInputMethodList().size() > 1; + } } diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboard.java b/java/src/com/android/inputmethod/latin/LatinKeyboard.java index caae92363..14a503bc3 100644 --- a/java/src/com/android/inputmethod/latin/LatinKeyboard.java +++ b/java/src/com/android/inputmethod/latin/LatinKeyboard.java @@ -56,25 +56,28 @@ public class LatinKeyboard extends Keyboard { private Drawable mMicPreviewIcon; private Drawable m123MicIcon; private Drawable m123MicPreviewIcon; - private Drawable mButtonArrowLeftIcon; - private Drawable mButtonArrowRightIcon; + private final Drawable mButtonArrowLeftIcon; + private final Drawable mButtonArrowRightIcon; private Key mShiftKey; private Key mEnterKey; private Key mF1Key; private Key mSpaceKey; private Key m123Key; + private final int NUMBER_HINT_COUNT = 10; + private Key[] mNumberHintKeys; + private Drawable[] mNumberHintIcons = new Drawable[NUMBER_HINT_COUNT]; private int mSpaceKeyIndex = -1; private int mSpaceDragStartX; private int mSpaceDragLastDiff; - /* package */ Locale mLocale; + private Locale mLocale; private LanguageSwitcher mLanguageSwitcher; - private Resources mRes; - private Context mContext; + private final Resources mRes; + private final Context mContext; // Whether this keyboard has voice icon on it private boolean mHasVoiceButton; // Whether voice icon is enabled at all private boolean mVoiceEnabled; - private boolean mIsAlphaKeyboard; + private final boolean mIsAlphaKeyboard; private CharSequence m123Label; private boolean mCurrentlyInSpace; private SlidingLocaleDrawable mSlidingLocaleIcon; @@ -96,8 +99,15 @@ public class LatinKeyboard extends Keyboard { private static final float SPACEBAR_DRAG_THRESHOLD = 0.8f; private static final float OVERLAP_PERCENTAGE_LOW_PROB = 0.70f; private static final float OVERLAP_PERCENTAGE_HIGH_PROB = 0.85f; + // Minimum width of space key preview (proportional to keyboard width) + private static final float SPACEBAR_POPUP_MIN_RATIO = 0.4f; + // Height in space key the language name will be drawn. (proportional to space key height) + private static final float SPACEBAR_LANGUAGE_BASELINE = 0.6f; + // If the full language name needs to be smaller than this value to be drawn on space key, + // its short language name will be used instead. + private static final float MINIMUM_SCALE_OF_LANGUAGE_NAME = 0.8f; - static int sSpacebarVerticalCorrection; + private static int sSpacebarVerticalCorrection; public LatinKeyboard(Context context, int xmlLayoutResId) { this(context, xmlLayoutResId, 0); @@ -128,12 +138,22 @@ public class LatinKeyboard extends Keyboard { R.dimen.spacebar_vertical_correction); mIsAlphaKeyboard = xmlLayoutResId == R.xml.kbd_qwerty || xmlLayoutResId == R.xml.kbd_qwerty_black; - mSpaceKeyIndex = indexOf(' '); + mSpaceKeyIndex = indexOf(LatinIME.KEYCODE_SPACE); + initializeNumberHintResources(context); } - public LatinKeyboard(Context context, int layoutTemplateResId, - CharSequence characters, int columns, int horizontalPadding) { - super(context, layoutTemplateResId, characters, columns, horizontalPadding); + private void initializeNumberHintResources(Context context) { + final Resources res = context.getResources(); + mNumberHintIcons[0] = res.getDrawable(R.drawable.keyboard_hint_0); + mNumberHintIcons[1] = res.getDrawable(R.drawable.keyboard_hint_1); + mNumberHintIcons[2] = res.getDrawable(R.drawable.keyboard_hint_2); + mNumberHintIcons[3] = res.getDrawable(R.drawable.keyboard_hint_3); + mNumberHintIcons[4] = res.getDrawable(R.drawable.keyboard_hint_4); + mNumberHintIcons[5] = res.getDrawable(R.drawable.keyboard_hint_5); + mNumberHintIcons[6] = res.getDrawable(R.drawable.keyboard_hint_6); + mNumberHintIcons[7] = res.getDrawable(R.drawable.keyboard_hint_7); + mNumberHintIcons[8] = res.getDrawable(R.drawable.keyboard_hint_8); + mNumberHintIcons[9] = res.getDrawable(R.drawable.keyboard_hint_9); } @Override @@ -141,13 +161,13 @@ public class LatinKeyboard extends Keyboard { XmlResourceParser parser) { Key key = new LatinKey(res, parent, x, y, parser); switch (key.codes[0]) { - case 10: + case LatinIME.KEYCODE_ENTER: mEnterKey = key; break; case LatinKeyboardView.KEYCODE_F1: mF1Key = key; break; - case 32: + case LatinIME.KEYCODE_SPACE: mSpaceKey = key; break; case KEYCODE_MODE_CHANGE: @@ -155,6 +175,23 @@ public class LatinKeyboard extends Keyboard { m123Label = key.label; break; } + + // For number hints on the upper-right corner of key + if (mNumberHintKeys == null) { + // NOTE: This protected method is being called from the base class constructor before + // mNumberHintKeys gets initialized. + mNumberHintKeys = new Key[NUMBER_HINT_COUNT]; + } + int hintNumber = -1; + if (LatinKeyboardBaseView.isNumberAtLeftmostPopupChar(key)) { + hintNumber = key.popupCharacters.charAt(0) - '0'; + } else if (LatinKeyboardBaseView.isNumberAtRightmostPopupChar(key)) { + hintNumber = key.popupCharacters.charAt(key.popupCharacters.length() - 1) - '0'; + } + if (hintNumber >= 0 && hintNumber <= 9) { + mNumberHintKeys[hintNumber] = key; + } + return key; } @@ -298,6 +335,7 @@ public class LatinKeyboard extends Keyboard { if (mSpaceKey != null) { updateSpaceBarForLocale(isAutoCompletion, isBlack); } + updateNumberHintKeys(); } private void setDefaultBounds(Drawable drawable) { @@ -345,12 +383,23 @@ public class LatinKeyboard extends Keyboard { return mSpaceKey; } + private void updateNumberHintKeys() { + for (int i = 0; i < mNumberHintKeys.length; ++i) { + if (mNumberHintKeys[i] != null) { + mNumberHintKeys[i].icon = mNumberHintIcons[i]; + } + } + } + + public boolean isLanguageSwitchEnabled() { + return mLocale != null; + } + private void updateSpaceBarForLocale(boolean isAutoCompletion, boolean isBlack) { // If application locales are explicitly selected. if (mLocale != null) { mSpaceKey.icon = new BitmapDrawable(mRes, drawSpaceBar(OPACITY_FULLY_OPAQUE, isAutoCompletion, isBlack)); - mSpaceKey.repeatable = mLanguageSwitcher.getLocaleCount() < 2; } else { // sym_keyboard_space_led can be shared with Black and White symbol themes. if (isAutoCompletion) { @@ -360,47 +409,97 @@ public class LatinKeyboard extends Keyboard { mSpaceKey.icon = isBlack ? mRes.getDrawable(R.drawable.sym_bkeyboard_space) : mRes.getDrawable(R.drawable.sym_keyboard_space); } - mSpaceKey.repeatable = true; } } + // Compute width of text with specified text size using paint. + private static int getTextWidth(Paint paint, String text, float textSize, Rect bounds) { + paint.setTextSize(textSize); + paint.getTextBounds(text, 0, text.length(), bounds); + return bounds.width(); + } + + // Layout local language name and left and right arrow on space bar. + private static String layoutSpaceBar(Paint paint, Locale locale, Drawable lArrow, + Drawable rArrow, int width, int height, float origTextSize, + boolean allowVariableTextSize) { + final float arrowWidth = lArrow.getIntrinsicWidth(); + final float arrowHeight = lArrow.getIntrinsicHeight(); + final float maxTextWidth = width - (arrowWidth + arrowWidth); + final Rect bounds = new Rect(); + + // Estimate appropriate language name text size to fit in maxTextWidth. + String language = LanguageSwitcher.toTitleCase(locale.getDisplayLanguage(locale)); + int textWidth = getTextWidth(paint, language, origTextSize, bounds); + // Assuming text width and text size are proportional to each other. + float textSize = origTextSize * Math.min(maxTextWidth / textWidth, 1.0f); + + final boolean useShortName; + if (allowVariableTextSize) { + textWidth = getTextWidth(paint, language, textSize, bounds); + // If text size goes too small or text does not fit, use short name + useShortName = textSize / origTextSize < MINIMUM_SCALE_OF_LANGUAGE_NAME + || textWidth > maxTextWidth; + } else { + useShortName = textWidth > maxTextWidth; + textSize = origTextSize; + } + if (useShortName) { + language = LanguageSwitcher.toTitleCase(locale.getLanguage()); + textWidth = getTextWidth(paint, language, origTextSize, bounds); + textSize = origTextSize * Math.min(maxTextWidth / textWidth, 1.0f); + } + paint.setTextSize(textSize); + + // Place left and right arrow just before and after language text. + final float baseline = height * SPACEBAR_LANGUAGE_BASELINE; + final int top = (int)(baseline - arrowHeight); + final float remains = (width - textWidth) / 2; + lArrow.setBounds((int)(remains - arrowWidth), top, (int)remains, (int)baseline); + rArrow.setBounds((int)(remains + textWidth), top, (int)(remains + textWidth + arrowWidth), + (int)baseline); + + return language; + } + private Bitmap drawSpaceBar(int opacity, boolean isAutoCompletion, boolean isBlack) { - int width = mSpaceKey.width; - int height = mSpaceIcon.getIntrinsicHeight(); - Bitmap buffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(buffer); + final int width = mSpaceKey.width; + final int height = mSpaceIcon.getIntrinsicHeight(); + final Bitmap buffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + final Canvas canvas = new Canvas(buffer); canvas.drawColor(mRes.getColor(R.color.latinkeyboard_transparent), PorterDuff.Mode.CLEAR); + // If application locales are explicitly selected. if (mLocale != null) { - Paint paint = new Paint(); - paint.setAntiAlias(true); + final Paint paint = new Paint(); paint.setAlpha(opacity); - // Get the text size from the theme - paint.setTextSize(getTextSizeFromTheme(android.R.style.TextAppearance_Small, 14)); + paint.setAntiAlias(true); paint.setTextAlign(Align.CENTER); - final String language = getInputLanguage(mSpaceKey.width, paint); - final int ascent = (int) -paint.ascent(); - - int shadowColor = isBlack ? - mRes.getColor(R.color.latinkeyboard_bar_language_shadow_black) - : mRes.getColor(R.color.latinkeyboard_bar_language_shadow_white); + final boolean allowVariableTextSize = true; + final String language = layoutSpaceBar(paint, mLanguageSwitcher.getInputLocale(), + mButtonArrowLeftIcon, mButtonArrowRightIcon, width, height, + getTextSizeFromTheme(android.R.style.TextAppearance_Small, 14), + allowVariableTextSize); + + // Draw language text with shadow + final int shadowColor = mRes.getColor(isBlack + ? R.color.latinkeyboard_bar_language_shadow_black + : R.color.latinkeyboard_bar_language_shadow_white); + final float baseline = height * SPACEBAR_LANGUAGE_BASELINE; + final float descent = paint.descent(); paint.setColor(shadowColor); - canvas.drawText(language, width / 2, ascent - 1, paint); + canvas.drawText(language, width / 2, baseline - descent - 1, paint); paint.setColor(mRes.getColor(R.color.latinkeyboard_bar_language_text)); - canvas.drawText(language, width / 2, ascent, paint); - // Put arrows on either side of the text + canvas.drawText(language, width / 2, baseline - descent, paint); + + // Put arrows that are already layed out on either side of the text if (mLanguageSwitcher.getLocaleCount() > 1) { - Rect bounds = new Rect(); - paint.getTextBounds(language, 0, language.length(), bounds); - drawButtonArrow(mButtonArrowLeftIcon, canvas, - (mSpaceKey.width - bounds.right) / 2 - - mButtonArrowLeftIcon.getIntrinsicWidth(), - (int) paint.getTextSize()); - drawButtonArrow(mButtonArrowRightIcon, canvas, - (mSpaceKey.width + bounds.right) / 2, (int) paint.getTextSize()); + mButtonArrowLeftIcon.draw(canvas); + mButtonArrowRightIcon.draw(canvas); } } + // Draw the spacebar icon at the bottom if (isAutoCompletion) { final int iconWidth = width * SPACE_LED_LENGTH_PERCENT / 100; @@ -420,38 +519,13 @@ public class LatinKeyboard extends Keyboard { return buffer; } - private void drawButtonArrow(Drawable arrow, Canvas canvas, int x, int bottomY) { - arrow.setBounds(x, bottomY - arrow.getIntrinsicHeight(), x + arrow.getIntrinsicWidth(), - bottomY); - arrow.draw(canvas); - } - - private String getInputLanguage(int widthAvail, Paint paint) { - return chooseDisplayName(mLanguageSwitcher.getInputLocale(), widthAvail, paint); - } - - private String getNextInputLanguage(int widthAvail, Paint paint) { - return chooseDisplayName(mLanguageSwitcher.getNextInputLocale(), widthAvail, paint); - } - - private String getPrevInputLanguage(int widthAvail, Paint paint) { - return chooseDisplayName(mLanguageSwitcher.getPrevInputLocale(), widthAvail, paint); - } - - private String chooseDisplayName(Locale locale, int widthAvail, Paint paint) { - if (widthAvail < (int) (.35 * getMinWidth())) { - return LanguageSwitcher.toTitleCase(locale.getLanguage().substring(0, 2)); - } else { - return LanguageSwitcher.toTitleCase(locale.getDisplayLanguage(locale)); - } - } - private void updateLocaleDrag(int diff) { if (mSlidingLocaleIcon == null) { - mSlidingLocaleIcon = new SlidingLocaleDrawable(mSpacePreviewIcon, mSpaceKey.width, - mSpacePreviewIcon.getIntrinsicHeight()); - mSlidingLocaleIcon.setBounds(0, 0, mSpaceKey.width, - mSpacePreviewIcon.getIntrinsicHeight()); + final int width = Math.max(mSpaceKey.width, + (int)(getMinWidth() * SPACEBAR_POPUP_MIN_RATIO)); + final int height = mSpacePreviewIcon.getIntrinsicHeight(); + mSlidingLocaleIcon = new SlidingLocaleDrawable(mSpacePreviewIcon, width, height); + mSlidingLocaleIcon.setBounds(0, 0, width, height); mSpaceKey.iconPreview = mSlidingLocaleIcon; } mSlidingLocaleIcon.setDiff(diff); @@ -484,9 +558,8 @@ public class LatinKeyboard extends Keyboard { .equalsIgnoreCase(locale.getLanguage())) { locale = null; } - setColorOfSymbolIcons(isAutoCompletion, isBlackSym); - if (mLocale != null && mLocale.equals(locale)) return; mLocale = locale; + setColorOfSymbolIcons(isAutoCompletion, isBlackSym); } boolean isCurrentlyInSpace() { @@ -737,17 +810,16 @@ public class LatinKeyboard extends Keyboard { */ class SlidingLocaleDrawable extends Drawable { - private int mWidth; - private int mHeight; - private Drawable mBackground; + private final int mWidth; + private final int mHeight; + private final Drawable mBackground; + private final TextPaint mTextPaint; + private final int mMiddleX; + private final Drawable mLeftDrawable; + private final Drawable mRightDrawable; + private final int mThreshold; private int mDiff; - private TextPaint mTextPaint; - private int mMiddleX; - private int mAscent; - private Drawable mLeftDrawable; - private Drawable mRightDrawable; private boolean mHitThreshold; - private int mThreshold; private String mCurrentLanguage; private String mNextLanguage; private String mPrevLanguage; @@ -759,26 +831,20 @@ public class LatinKeyboard extends Keyboard { mWidth = width; mHeight = height; mTextPaint = new TextPaint(); - int textSize = getTextSizeFromTheme(android.R.style.TextAppearance_Medium, 18); - mTextPaint.setTextSize(textSize); + mTextPaint.setTextSize(getTextSizeFromTheme(android.R.style.TextAppearance_Medium, 18)); mTextPaint.setColor(R.color.latinkeyboard_transparent); mTextPaint.setTextAlign(Align.CENTER); mTextPaint.setAlpha(OPACITY_FULLY_OPAQUE); mTextPaint.setAntiAlias(true); - mAscent = (int) mTextPaint.ascent(); mMiddleX = (mWidth - mBackground.getIntrinsicWidth()) / 2; mLeftDrawable = mRes.getDrawable(R.drawable.sym_keyboard_feedback_language_arrows_left); mRightDrawable = mRes.getDrawable(R.drawable.sym_keyboard_feedback_language_arrows_right); - mLeftDrawable.setBounds(0, 0, - mLeftDrawable.getIntrinsicWidth(), mLeftDrawable.getIntrinsicHeight()); - mRightDrawable.setBounds(mWidth - mRightDrawable.getIntrinsicWidth(), 0, - mWidth, mRightDrawable.getIntrinsicHeight()); mThreshold = ViewConfiguration.get(mContext).getScaledTouchSlop(); } - void setDiff(int diff) { + private void setDiff(int diff) { if (diff == Integer.MAX_VALUE) { mHitThreshold = false; mCurrentLanguage = null; @@ -791,25 +857,39 @@ public class LatinKeyboard extends Keyboard { invalidateSelf(); } + private String getLanguageName(Locale locale) { + return LanguageSwitcher.toTitleCase(locale.getDisplayLanguage(locale)); + } + @Override public void draw(Canvas canvas) { canvas.save(); if (mHitThreshold) { - mTextPaint.setColor(mRes.getColor(R.color.latinkeyboard_feedback_language_text)); - canvas.clipRect(0, 0, mWidth, mHeight); + Paint paint = mTextPaint; + final int width = mWidth; + final int height = mHeight; + final int diff = mDiff; + final Drawable lArrow = mLeftDrawable; + final Drawable rArrow = mRightDrawable; + canvas.clipRect(0, 0, width, height); if (mCurrentLanguage == null) { - mCurrentLanguage = getInputLanguage(mWidth, mTextPaint); - mNextLanguage = getNextInputLanguage(mWidth, mTextPaint); - mPrevLanguage = getPrevInputLanguage(mWidth, mTextPaint); + final LanguageSwitcher languageSwitcher = mLanguageSwitcher; + mCurrentLanguage = getLanguageName(languageSwitcher.getInputLocale()); + mNextLanguage = getLanguageName(languageSwitcher.getNextInputLocale()); + mPrevLanguage = getLanguageName(languageSwitcher.getPrevInputLocale()); } - canvas.drawText(mCurrentLanguage, - mWidth / 2 + mDiff, -mAscent + 4, mTextPaint); - canvas.drawText(mNextLanguage, - mDiff - mWidth / 2, -mAscent + 4, mTextPaint); - canvas.drawText(mPrevLanguage, - mDiff + mWidth + mWidth / 2, -mAscent + 4, mTextPaint); - mLeftDrawable.draw(canvas); - mRightDrawable.draw(canvas); + // Draw language text with shadow + final float baseline = mHeight * SPACEBAR_LANGUAGE_BASELINE - paint.descent(); + paint.setColor(mRes.getColor(R.color.latinkeyboard_feedback_language_text)); + canvas.drawText(mCurrentLanguage, width / 2 + diff, baseline, paint); + canvas.drawText(mNextLanguage, diff - width / 2, baseline, paint); + canvas.drawText(mPrevLanguage, diff + width + width / 2, baseline, paint); + + lArrow.setBounds(0, 0, lArrow.getIntrinsicWidth(), lArrow.getIntrinsicHeight()); + rArrow.setBounds(width - rArrow.getIntrinsicWidth(), 0, width, + rArrow.getIntrinsicHeight()); + lArrow.draw(canvas); + rArrow.draw(canvas); } if (mBackground != null) { canvas.translate(mMiddleX, 0); diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java index 8f1ec6591..dafbb669e 100644 --- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java +++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java @@ -48,6 +48,7 @@ import android.widget.TextView; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; +import java.util.List; import java.util.Map; /** @@ -153,7 +154,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx // Timing constants private static final int DELAY_BEFORE_PREVIEW = 0; - private static final int DELAY_AFTER_PREVIEW = 70; + private static final int DELAY_AFTER_PREVIEW = 100; private static final int REPEAT_INTERVAL = PointerTracker.REPEAT_INTERVAL; // Miscellaneous constants @@ -170,6 +171,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx private float mShadowRadius; private Drawable mKeyBackground; private float mBackgroundDimAmount; + private float mKeyHysteresisDistance; private float mVerticalCorrection; private int mPreviewOffset; private int mPreviewHeight; @@ -180,7 +182,6 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx private Key[] mKeys; // Key preview popup - private final static boolean PREVIEW_CENTERED = false; private TextView mPreviewText; private PopupWindow mPreviewPopup; private int mPreviewTextSizeLarge; @@ -188,11 +189,10 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx private int mOldPreviewKeyIndex = NOT_A_KEY; private boolean mShowPreview = true; private boolean mShowTouchPoints = true; - private int mPopupPreviewX; - private int mPopupPreviewY; private int mPopupPreviewOffsetX; private int mPopupPreviewOffsetY; private int mWindowY; + private int mPopupPreviewDisplayedY; // Popup mini keyboard private PopupWindow mMiniKeyboardPopup; @@ -203,13 +203,13 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx private int mMiniKeyboardOriginY; private long mMiniKeyboardPopupTime; private int[] mWindowOffset; + private final float mMiniKeyboardSlideAllowance; /** Listener for {@link OnKeyboardActionListener}. */ private OnKeyboardActionListener mKeyboardActionListener; private final ArrayList<PointerTracker> mPointerTrackers = new ArrayList<PointerTracker>(); private final PointerQueue mPointerQueue = new PointerQueue(); - private final float mDebounceHysteresis; private final boolean mHasDistinctMultitouch; private int mOldPointerCount = 1; @@ -347,7 +347,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx return -1; } - public void releasePointersOlderThan(PointerTracker tracker, long eventTime) { + public void releaseAllPointersOlderThan(PointerTracker tracker, long eventTime) { LinkedList<PointerTracker> queue = mQueue; int oldestPos = 0; for (PointerTracker t = queue.get(oldestPos); t != tracker; t = queue.get(oldestPos)) { @@ -355,11 +355,24 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx oldestPos++; } else { t.onUpEvent(t.getLastX(), t.getLastY(), eventTime); + t.setAlreadyProcessed(); queue.remove(oldestPos); } } } + public void releaseAllPointersExcept(PointerTracker tracker, long eventTime) { + for (PointerTracker t : mQueue) { + if (t == tracker) + continue; + t.onUpEvent(t.getLastX(), t.getLastY(), eventTime); + t.setAlreadyProcessed(); + } + mQueue.clear(); + if (tracker != null) + mQueue.add(tracker); + } + public void remove(PointerTracker tracker) { mQueue.remove(tracker); } @@ -388,6 +401,9 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx case R.styleable.LatinKeyboardBaseView_keyBackground: mKeyBackground = a.getDrawable(attr); break; + case R.styleable.LatinKeyboardBaseView_keyHysteresisDistance: + mKeyHysteresisDistance = a.getDimensionPixelOffset(attr, 0); + break; case R.styleable.LatinKeyboardBaseView_verticalCorrection: mVerticalCorrection = a.getDimensionPixelOffset(attr, 0); break; @@ -472,7 +488,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx mSwipeThreshold = (int) (500 * res.getDisplayMetrics().density); // TODO: Refer frameworks/base/core/res/res/values/config.xml mDisambiguateSwipe = res.getBoolean(R.bool.config_swipeDisambiguation); - mDebounceHysteresis = res.getDimension(R.dimen.key_debounce_hysteresis_distance); + mMiniKeyboardSlideAllowance = res.getDimension(R.dimen.mini_keyboard_slide_allowance); GestureDetector.SimpleOnGestureListener listener = new GestureDetector.SimpleOnGestureListener() { @@ -555,7 +571,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx mKeys = mKeyDetector.setKeyboard(keyboard, -getPaddingLeft(), -getPaddingTop() + mVerticalCorrection); for (PointerTracker tracker : mPointerTrackers) { - tracker.setKeyboard(mKeys, mDebounceHysteresis); + tracker.setKeyboard(mKeys, mKeyHysteresisDistance); } requestLayout(); // Hint to reallocate the buffer if the size changed @@ -629,7 +645,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx return mShowPreview; } - public int getSymbolColorSheme() { + public int getSymbolColorScheme() { return mSymbolColorScheme; } @@ -781,6 +797,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx canvas.translate(key.x + kbdPaddingLeft, key.y + kbdPaddingTop); keyBackground.draw(canvas); + boolean shouldDrawIcon = true; if (label != null) { // For characters, use large font. For labels like "Done", use small font. if (label.length() > 1 && key.codes.length < 2) { @@ -801,14 +818,24 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx paint); // Turn off drop shadow paint.setShadowLayer(0, 0, 0, 0); - } else if (key.icon != null) { + + // Usually don't draw icon if label is not null, but we draw icon for the number + // hint. + shouldDrawIcon = isNumberAtEdgeOfPopupChars(key); + } + if (key.icon != null && shouldDrawIcon) { + // Special handing for the upper-right number hint icons + final int drawableWidth = isNumberAtEdgeOfPopupChars(key) ? + key.width : key.icon.getIntrinsicWidth(); + final int drawableHeight = isNumberAtEdgeOfPopupChars(key) ? + key.height : key.icon.getIntrinsicHeight(); + final int drawableX = (key.width - padding.left - padding.right - - key.icon.getIntrinsicWidth()) / 2 + padding.left; + - drawableWidth) / 2 + padding.left; final int drawableY = (key.height - padding.top - padding.bottom - - key.icon.getIntrinsicHeight()) / 2 + padding.top; + - drawableHeight) / 2 + padding.top; canvas.translate(drawableX, drawableY); - key.icon.setBounds(0, 0, - key.icon.getIntrinsicWidth(), key.icon.getIntrinsicHeight()); + key.icon.setBounds(0, 0, drawableWidth, drawableHeight); key.icon.draw(canvas); canvas.translate(-drawableX, -drawableY); } @@ -854,8 +881,17 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx public void showPreview(int keyIndex, PointerTracker tracker) { int oldKeyIndex = mOldPreviewKeyIndex; mOldPreviewKeyIndex = keyIndex; - // If key changed and preview is on ... - if (oldKeyIndex != keyIndex && mShowPreview) { + final boolean isLanguageSwitchEnabled = (mKeyboard instanceof LatinKeyboard) + && ((LatinKeyboard)mKeyboard).isLanguageSwitchEnabled(); + // We should re-draw popup preview when 1) we need to hide the preview, 2) we will show + // the space key preview and 3) pointer moves off the space key to other letter key, we + // should hide the preview of the previous key. + final boolean hidePreviewOrShowSpaceKeyPreview = (tracker == null) + || tracker.isSpaceKey(keyIndex) || tracker.isSpaceKey(oldKeyIndex); + // If key changed and preview is on or the key is space (language switch is enabled) + if (oldKeyIndex != keyIndex + && (mShowPreview + || (hidePreviewOrShowSpaceKeyPreview && isLanguageSwitchEnabled))) { if (keyIndex == NOT_A_KEY) { mHandler.cancelPopupPreview(); mHandler.dismissPreview(DELAY_AFTER_PREVIEW); @@ -869,8 +905,8 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx Key key = tracker.getKey(keyIndex); if (key == null) return; - final PopupWindow previewPopup = mPreviewPopup; - if (key.icon != null) { + // Should not draw number hint icons + if (key.icon != null && !isNumberAtEdgeOfPopupChars(key)) { mPreviewText.setCompoundDrawables(null, null, null, key.iconPreview != null ? key.iconPreview : key.icon); mPreviewText.setText(null); @@ -895,51 +931,48 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx lp.width = popupWidth; lp.height = popupHeight; } - if (PREVIEW_CENTERED) { - // TODO: Fix this if centering is brought back - mPopupPreviewX = 160 - mPreviewText.getMeasuredWidth() / 2; - mPopupPreviewY = - mPreviewText.getMeasuredHeight(); - } else { - mPopupPreviewX = key.x - mPreviewText.getPaddingLeft() + getPaddingLeft(); - mPopupPreviewY = key.y - popupHeight + mPreviewOffset; - } + + int popupPreviewX = key.x - (popupWidth - key.width) / 2; + int popupPreviewY = key.y - popupHeight + mPreviewOffset; + mHandler.cancelDismissPreview(); if (mOffsetInWindow == null) { mOffsetInWindow = new int[2]; getLocationInWindow(mOffsetInWindow); mOffsetInWindow[0] += mPopupPreviewOffsetX; // Offset may be zero mOffsetInWindow[1] += mPopupPreviewOffsetY; // Offset may be zero - int[] mWindowLocation = new int[2]; - getLocationOnScreen(mWindowLocation); - mWindowY = mWindowLocation[1]; + int[] windowLocation = new int[2]; + getLocationOnScreen(windowLocation); + mWindowY = windowLocation[1]; } // Set the preview background state mPreviewText.getBackground().setState( key.popupResId != 0 ? LONG_PRESSABLE_STATE_SET : EMPTY_STATE_SET); - mPopupPreviewX += mOffsetInWindow[0]; - mPopupPreviewY += mOffsetInWindow[1]; + popupPreviewX += mOffsetInWindow[0]; + popupPreviewY += mOffsetInWindow[1]; // If the popup cannot be shown above the key, put it on the side - if (mPopupPreviewY + mWindowY < 0) { + if (popupPreviewY + mWindowY < 0) { // If the key you're pressing is on the left side of the keyboard, show the popup on // the right, offset by enough to see at least one key to the left/right. if (key.x + key.width <= getWidth() / 2) { - mPopupPreviewX += (int) (key.width * 2.5); + popupPreviewX += (int) (key.width * 2.5); } else { - mPopupPreviewX -= (int) (key.width * 2.5); + popupPreviewX -= (int) (key.width * 2.5); } - mPopupPreviewY += popupHeight; + popupPreviewY += popupHeight; } - if (previewPopup.isShowing()) { - previewPopup.update(mPopupPreviewX, mPopupPreviewY, - popupWidth, popupHeight); + if (mPreviewPopup.isShowing()) { + mPreviewPopup.update(popupPreviewX, popupPreviewY, popupWidth, popupHeight); } else { - previewPopup.setWidth(popupWidth); - previewPopup.setHeight(popupHeight); - previewPopup.showAtLocation(mMiniKeyboardParent, Gravity.NO_GRAVITY, - mPopupPreviewX, mPopupPreviewY); + mPreviewPopup.setWidth(popupWidth); + mPreviewPopup.setHeight(popupHeight); + mPreviewPopup.showAtLocation(mMiniKeyboardParent, Gravity.NO_GRAVITY, + popupPreviewX, popupPreviewY); } + // Record popup preview position to display mini-keyboard later at the same positon + mPopupPreviewDisplayedY = popupPreviewY; mPreviewText.setVisibility(VISIBLE); } @@ -998,8 +1031,9 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx if (container == null) throw new NullPointerException(); - mMiniKeyboard = (LatinKeyboardBaseView)container.findViewById(R.id.LatinKeyboardBaseView); - mMiniKeyboard.setOnKeyboardActionListener(new OnKeyboardActionListener() { + LatinKeyboardBaseView miniKeyboard = + (LatinKeyboardBaseView)container.findViewById(R.id.LatinKeyboardBaseView); + miniKeyboard.setOnKeyboardActionListener(new OnKeyboardActionListener() { public void onKey(int primaryCode, int[] keyCodes, int x, int y) { mKeyboardActionListener.onKey(primaryCode, keyCodes, x, y); dismissPopupKeyboard(); @@ -1029,6 +1063,8 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx mKeyboardActionListener.onRelease(primaryCode); } }); + // Override default ProximityKeyDetector. + miniKeyboard.mKeyDetector = new MiniKeyboardKeyDetector(mMiniKeyboardSlideAllowance); Keyboard keyboard; if (popupKey.popupCharacters != null) { @@ -1037,8 +1073,8 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx } else { keyboard = new Keyboard(getContext(), popupKeyboardId); } - mMiniKeyboard.setKeyboard(keyboard); - mMiniKeyboard.setPopupParent(this); + miniKeyboard.setKeyboard(keyboard); + miniKeyboard.setPopupParent(this); container.measure(MeasureSpec.makeMeasureSpec(getWidth(), MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(getHeight(), MeasureSpec.AT_MOST)); @@ -1046,6 +1082,19 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx return container; } + private static boolean isOneRowKeyboard(Keyboard keyboard) { + final List<Key> keys = keyboard.getKeys(); + if (keys.size() == 0) return false; + final int edgeFlags = keys.get(0).edgeFlags; + // HACK: The first key of mini keyboard which was inflated from xml and has multiple rows, + // does not have both top and bottom edge flags on at the same time. On the other hand, + // the first key of mini keyboard that was created with popupCharacters must have both top + // and bottom edge flags on. + // When you want to use one row mini-keyboard from xml file, make sure that the row has + // both top and bottom edge flags set. + return (edgeFlags & Keyboard.EDGE_TOP) != 0 && (edgeFlags & Keyboard.EDGE_BOTTOM) != 0; + } + /** * Called when a key is long pressed. By default this will open any popup keyboard associated * with this key through the attributes popupLayout and popupCharacters. @@ -1070,17 +1119,35 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx mWindowOffset = new int[2]; getLocationInWindow(mWindowOffset); } - int popupX = popupKey.x + popupKey.width + getPaddingLeft(); - int popupY = popupKey.y + getPaddingTop(); - popupX -= container.getMeasuredWidth(); + + // HACK: Have the leftmost number in the popup characters right above the key + boolean isNumberAtLeftmost = + hasMultiplePopupChars(popupKey) && isNumberAtLeftmostPopupChar(popupKey); + int popupX = popupKey.x + mWindowOffset[0]; + int popupY = popupKey.y + mWindowOffset[1]; + if (isNumberAtLeftmost) { + popupX -= container.getPaddingLeft(); + } else { + popupX += popupKey.width + getPaddingLeft(); + popupX -= container.getMeasuredWidth(); + popupX += container.getPaddingRight(); + } + popupY += getPaddingTop(); popupY -= container.getMeasuredHeight(); - popupX += mWindowOffset[0]; - popupY += mWindowOffset[1]; - final int x = popupX + container.getPaddingRight(); - final int y = popupY + container.getPaddingBottom(); - mMiniKeyboardOriginX = (x < 0 ? 0 : x) + container.getPaddingLeft(); - mMiniKeyboardOriginY = y + container.getPaddingTop(); - mMiniKeyboard.setPopupOffset((x < 0) ? 0 : x, y); + popupY += container.getPaddingBottom(); + final int x = popupX; + final int y = mShowPreview && isOneRowKeyboard(mMiniKeyboard.getKeyboard()) + ? mPopupPreviewDisplayedY : popupY; + + int adjustedX = x; + if (x < 0) { + adjustedX = 0; + } else if (x > (getMeasuredWidth() - container.getMeasuredWidth())) { + adjustedX = getMeasuredWidth() - container.getMeasuredWidth(); + } + mMiniKeyboardOriginX = adjustedX + container.getPaddingLeft() - mWindowOffset[0]; + mMiniKeyboardOriginY = y + container.getPaddingTop() - mWindowOffset[1]; + mMiniKeyboard.setPopupOffset(adjustedX, y); mMiniKeyboard.setShifted(isShifted()); // Mini keyboard needs no pop-up key preview displayed. mMiniKeyboard.setPreviewEnabled(false); @@ -1101,9 +1168,40 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx return true; } + private static boolean hasMultiplePopupChars(Key key) { + if (key.popupCharacters != null && key.popupCharacters.length() > 1) { + return true; + } + return false; + } + + private static boolean isNumberAtEdgeOfPopupChars(Key key) { + return isNumberAtLeftmostPopupChar(key) || isNumberAtRightmostPopupChar(key); + } + + /* package */ static boolean isNumberAtLeftmostPopupChar(Key key) { + if (key.popupCharacters != null && key.popupCharacters.length() > 0 + && isAsciiDigit(key.popupCharacters.charAt(0))) { + return true; + } + return false; + } + + /* package */ static boolean isNumberAtRightmostPopupChar(Key key) { + if (key.popupCharacters != null && key.popupCharacters.length() > 0 + && isAsciiDigit(key.popupCharacters.charAt(key.popupCharacters.length() - 1))) { + return true; + } + return false; + } + + private static boolean isAsciiDigit(char c) { + return (c < 0x80) && Character.isDigit(c); + } + private MotionEvent generateMiniKeyboardMotionEvent(int action, int x, int y, long eventTime) { return MotionEvent.obtain(mMiniKeyboardPopupTime, eventTime, action, - x - mMiniKeyboardOriginX, y - mMiniKeyboardOriginY, 0); + x - mMiniKeyboardOriginX, y - mMiniKeyboardOriginY, 0); } private PointerTracker getPointerTracker(final int id) { @@ -1116,7 +1214,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx final PointerTracker tracker = new PointerTracker(i, mHandler, mKeyDetector, this, mHasDistinctMultitouch); if (keys != null) - tracker.setKeyboard(keys, mDebounceHysteresis); + tracker.setKeyboard(keys, mKeyHysteresisDistance); if (listener != null) tracker.setOnKeyboardActionListener(listener); pointers.add(tracker); @@ -1227,17 +1325,28 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx } private void onDownEvent(PointerTracker tracker, int x, int y, long eventTime) { + if (tracker.isOnModifierKey(x, y)) { + // Before processing a down event of modifier key, all pointers already being tracked + // should be released. + mPointerQueue.releaseAllPointersExcept(null, eventTime); + } tracker.onDownEvent(x, y, eventTime); mPointerQueue.add(tracker); } private void onUpEvent(PointerTracker tracker, int x, int y, long eventTime) { - int index = mPointerQueue.lastIndexOf(tracker); - if (index >= 0) { - mPointerQueue.releasePointersOlderThan(tracker, eventTime); + if (tracker.isModifier()) { + // Before processing an up event of modifier key, all pointers already being tracked + // should be released. + mPointerQueue.releaseAllPointersExcept(tracker, eventTime); } else { - Log.w(TAG, "onUpEvent: corresponding down event not found for pointer " - + tracker.mPointerId); + int index = mPointerQueue.lastIndexOf(tracker); + if (index >= 0) { + mPointerQueue.releaseAllPointersOlderThan(tracker, eventTime); + } else { + Log.w(TAG, "onUpEvent: corresponding down event not found for pointer " + + tracker.mPointerId); + } } tracker.onUpEvent(x, y, eventTime); mPointerQueue.remove(tracker); diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardView.java index 8f20a22d0..2872f6b46 100644 --- a/java/src/com/android/inputmethod/latin/LatinKeyboardView.java +++ b/java/src/com/android/inputmethod/latin/LatinKeyboardView.java @@ -24,6 +24,7 @@ import android.inputmethodservice.Keyboard.Key; import android.os.Handler; import android.os.Message; import android.os.SystemClock; +import android.text.TextUtils; import android.util.AttributeSet; import android.view.MotionEvent; @@ -52,9 +53,6 @@ public class LatinKeyboardView extends LatinKeyboardBaseView { /** The y coordinate of the last row */ private int mLastRowY; - // This is local working variable for onLongPress(). - private int[] mKeyCodes = new int[1]; - public LatinKeyboardView(Context context, AttributeSet attrs) { super(context, attrs); } @@ -68,6 +66,16 @@ public class LatinKeyboardView extends LatinKeyboardBaseView { } @Override + public void setPreviewEnabled(boolean previewEnabled) { + if (getKeyboard() == mPhoneKeyboard) { + // Phone keyboard never shows popup preview (except language switch). + super.setPreviewEnabled(false); + } else { + super.setPreviewEnabled(previewEnabled); + } + } + + @Override public void setKeyboard(Keyboard k) { super.setKeyboard(k); // One-seventh of the keyboard width seems like a reasonable threshold @@ -104,7 +112,7 @@ public class LatinKeyboardView extends LatinKeyboardBaseView { if (keyboard.isShifted() && keyboard instanceof LatinKeyboard && ((LatinKeyboard) keyboard).isAlphaKeyboard() - && label != null && label.length() < 3 + && !TextUtils.isEmpty(label) && label.length() < 3 && Character.isLowerCase(label.charAt(0))) { label = label.toString().toUpperCase(); } diff --git a/java/src/com/android/inputmethod/latin/MiniKeyboardKeyDetector.java b/java/src/com/android/inputmethod/latin/MiniKeyboardKeyDetector.java new file mode 100644 index 000000000..356e62d48 --- /dev/null +++ b/java/src/com/android/inputmethod/latin/MiniKeyboardKeyDetector.java @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2010 Google Inc. + * + * 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. + */ + +package com.android.inputmethod.latin; + +import android.inputmethodservice.Keyboard.Key; + +class MiniKeyboardKeyDetector extends KeyDetector { + private static final int MAX_NEARBY_KEYS = 1; + + private final int mSlideAllowanceSquare; + private final int mSlideAllowanceSquareTop; + + public MiniKeyboardKeyDetector(float slideAllowance) { + super(); + mSlideAllowanceSquare = (int)(slideAllowance * slideAllowance); + // Top slide allowance is slightly longer (sqrt(2) times) than other edges. + mSlideAllowanceSquareTop = mSlideAllowanceSquare * 2; + } + + @Override + protected int getMaxNearbyKeys() { + return MAX_NEARBY_KEYS; + } + + @Override + public int getKeyIndexAndNearbyCodes(int x, int y, int[] allKeys) { + final Key[] keys = getKeys(); + final int touchX = getTouchX(x); + final int touchY = getTouchY(y); + int closestKeyIndex = LatinKeyboardBaseView.NOT_A_KEY; + int closestKeyDist = (y < 0) ? mSlideAllowanceSquareTop : mSlideAllowanceSquare; + final int keyCount = keys.length; + for (int i = 0; i < keyCount; i++) { + final Key key = keys[i]; + int dist = key.squaredDistanceFrom(touchX, touchY); + if (dist < closestKeyDist) { + closestKeyIndex = i; + closestKeyDist = dist; + } + } + if (allKeys != null && closestKeyIndex != LatinKeyboardBaseView.NOT_A_KEY) + allKeys[0] = keys[closestKeyIndex].codes[0]; + return closestKeyIndex; + } +} diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java index 8b1f019d4..cb717cbe7 100644 --- a/java/src/com/android/inputmethod/latin/PointerTracker.java +++ b/java/src/com/android/inputmethod/latin/PointerTracker.java @@ -55,7 +55,7 @@ public class PointerTracker { private final boolean mHasDistinctMultitouch; private Key[] mKeys; - private int mKeyDebounceThresholdSquared = -1; + private int mKeyHysteresisDistanceSquared = -1; private int mCurrentKey = NOT_A_KEY; private int mStartX; @@ -106,11 +106,13 @@ public class PointerTracker { mListener = listener; } - public void setKeyboard(Key[] keys, float hysteresisPixel) { - if (keys == null || hysteresisPixel < 1.0f) + public void setKeyboard(Key[] keys, float keyHysteresisDistance) { + if (keys == null || keyHysteresisDistance < 0) throw new IllegalArgumentException(); mKeys = keys; - mKeyDebounceThresholdSquared = (int)(hysteresisPixel * hysteresisPixel); + mKeyHysteresisDistanceSquared = (int)(keyHysteresisDistance * keyHysteresisDistance); + // Update current key index because keyboard layout has been changed. + mCurrentKey = mKeyDetector.getKeyIndexAndNearbyCodes(mStartX, mStartY, null); } private boolean isValidKeyIndex(int keyIndex) { @@ -121,13 +123,26 @@ public class PointerTracker { return isValidKeyIndex(keyIndex) ? mKeys[keyIndex] : null; } - public boolean isModifier() { - Key key = getKey(mCurrentKey); + private boolean isModifierInternal(int keyIndex) { + Key key = getKey(keyIndex); if (key == null) return false; int primaryCode = key.codes[0]; - // TODO: KEYCODE_MODE_CHANGE (symbol) will be also a modifier key - return primaryCode == Keyboard.KEYCODE_SHIFT; + return primaryCode == Keyboard.KEYCODE_SHIFT + || primaryCode == Keyboard.KEYCODE_MODE_CHANGE; + } + + public boolean isModifier() { + return isModifierInternal(mCurrentKey); + } + + public boolean isOnModifierKey(int x, int y) { + return isModifierInternal(mKeyDetector.getKeyIndexAndNearbyCodes(x, y, null)); + } + + public boolean isSpaceKey(int keyIndex) { + Key key = getKey(keyIndex); + return key != null && key.codes[0] == LatinIME.KEYCODE_SPACE; } public void updateKey(int keyIndex) { @@ -173,6 +188,8 @@ public class PointerTracker { } public void onDownEvent(int x, int y, long eventTime) { + if (DEBUG) + debugLog("onDownEvent:", x, y); int keyIndex = mKeyDetector.getKeyIndexAndNearbyCodes(x, y, null); mCurrentKey = keyIndex; mStartX = x; @@ -186,6 +203,8 @@ public class PointerTracker { if (mListener != null) { int primaryCode = isValidKeyIndex(keyIndex) ? mKeys[keyIndex].codes[0] : 0; mListener.onPress(primaryCode); + // This onPress call may have changed keyboard layout and have updated mCurrentKey + keyIndex = mCurrentKey; } if (isValidKeyIndex(keyIndex)) { if (mKeys[keyIndex].repeatable) { @@ -197,11 +216,11 @@ public class PointerTracker { } showKeyPreviewAndUpdateKey(keyIndex); updateMoveDebouncing(x, y); - if (DEBUG) - debugLog("onDownEvent:", x, y); } public void onMoveEvent(int x, int y, long eventTime) { + if (DEBUG_MOVE) + debugLog("onMoveEvent:", x, y); if (mKeyAlreadyProcessed) return; int keyIndex = mKeyDetector.getKeyIndexAndNearbyCodes(x, y, null); @@ -242,15 +261,13 @@ public class PointerTracker { */ showKeyPreviewAndUpdateKey(isMinorTimeBounce() ? mLastKey : mCurrentKey); updateMoveDebouncing(x, y); - if (DEBUG_MOVE) - debugLog("onMoveEvent:", x, y); } public void onUpEvent(int x, int y, long eventTime) { - if (mKeyAlreadyProcessed) - return; if (DEBUG) debugLog("onUpEvent :", x, y); + if (mKeyAlreadyProcessed) + return; mHandler.cancelKeyTimers(); mHandler.cancelPopupPreview(); int keyIndex = mKeyDetector.getKeyIndexAndNearbyCodes(x, y, null); @@ -331,13 +348,12 @@ public class PointerTracker { } private boolean isMinorMoveBounce(int x, int y, int newKey, int curKey) { - if (mKeys == null || mKeyDebounceThresholdSquared < 0) + if (mKeys == null || mKeyHysteresisDistanceSquared < 0) throw new IllegalStateException("keyboard and/or hysteresis not set"); if (newKey == curKey) { return true; } else if (isValidKeyIndex(curKey)) { - return getSquareDistanceToKeyEdge(x, y, mKeys[curKey]) - < mKeyDebounceThresholdSquared; + return getSquareDistanceToKeyEdge(x, y, mKeys[curKey]) < mKeyHysteresisDistanceSquared; } else { return false; } @@ -384,8 +400,11 @@ public class PointerTracker { // The modifier key, such as shift key, should not be shown as preview when multi-touch is // supported. On thge other hand, if multi-touch is not supported, the modifier key should // be shown as preview. - if (!isModifier() || !mHasDistinctMultitouch) + if (mHasDistinctMultitouch && isModifier()) { + mProxy.showPreview(NOT_A_KEY, this); + } else { mProxy.showPreview(keyIndex, this); + } } private void detectAndSendKey(int index, int x, int y, long eventTime) { @@ -478,7 +497,7 @@ public class PointerTracker { } private void debugLog(String title, int x, int y) { - Key key = getKey(mCurrentKey); + Key key = getKey(mKeyDetector.getKeyIndexAndNearbyCodes(x, y, null)); final String code; if (key == null) { code = "----"; diff --git a/java/src/com/android/inputmethod/latin/SharedPreferencesCompat.java b/java/src/com/android/inputmethod/latin/SharedPreferencesCompat.java new file mode 100644 index 000000000..8364c90fa --- /dev/null +++ b/java/src/com/android/inputmethod/latin/SharedPreferencesCompat.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 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. + */ + +package com.android.inputmethod.latin; + +import android.content.SharedPreferences; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +/** + * Reflection utils to call SharedPreferences$Editor.apply when possible, + * falling back to commit when apply isn't available. + */ +public class SharedPreferencesCompat { + private static final Method sApplyMethod = findApplyMethod(); + + private static Method findApplyMethod() { + try { + Class cls = SharedPreferences.Editor.class; + return cls.getMethod("apply"); + } catch (NoSuchMethodException unused) { + // fall through + } + return null; + } + + public static void apply(SharedPreferences.Editor editor) { + if (sApplyMethod != null) { + try { + sApplyMethod.invoke(editor); + return; + } catch (InvocationTargetException unused) { + // fall through + } catch (IllegalAccessException unused) { + // fall through + } + } + editor.commit(); + } +} |