diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png
new file mode 100644
index 000000000..9aa8db60e
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_active_ics.9.png differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png
new file mode 100644
index 000000000..9f4587b4a
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_normal_on_ics.9.png differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png
new file mode 100644
index 000000000..7ec33dd20
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_ics.9.png differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
new file mode 100644
index 000000000..655bc01b1
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_off_ics.9.png differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
new file mode 100644
index 000000000..138e915d9
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_dark_pressed_on_ics.9.png differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png
new file mode 100644
index 000000000..5612c51a1
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_light_pressed_ics.9.png differ
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_ics.9.png b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_ics.9.png
new file mode 100644
index 000000000..c2e8b3779
Binary files /dev/null and b/java/res/drawable-hdpi/btn_keyboard_key_popup_selected_ics.9.png differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_ics.9.png
new file mode 100644
index 000000000..28b406a5c
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_background_ics.9.png differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_ics.9.png
new file mode 100644
index 000000000..e42cd88dc
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_left_background_ics.9.png differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_ics.9.png
new file mode 100644
index 000000000..160344073
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_left_more_background_ics.9.png differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_more_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_ics.9.png
new file mode 100644
index 000000000..a40d4277c
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_more_background_ics.9.png differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_ics.9.png
new file mode 100644
index 000000000..1f6807376
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_right_background_ics.9.png differ
diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_ics.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_ics.9.png
new file mode 100644
index 000000000..ec53593d9
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_key_feedback_right_more_background_ics.9.png differ
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background_ics.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background_ics.9.png
new file mode 100644
index 000000000..53d7b6fb3
Binary files /dev/null and b/java/res/drawable-hdpi/keyboard_popup_panel_background_ics.9.png differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png
new file mode 100644
index 000000000..e810c7789
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_active_ics.9.png differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png
new file mode 100644
index 000000000..f3fc64114
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on_ics.9.png differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png
new file mode 100644
index 000000000..8f340d355
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_ics.9.png differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
new file mode 100644
index 000000000..53ea5f894
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off_ics.9.png differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
new file mode 100644
index 000000000..69c84e7ec
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on_ics.9.png differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png
new file mode 100644
index 000000000..c39dd4a94
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed_ics.9.png differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_ics.9.png b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_ics.9.png
new file mode 100644
index 000000000..93a6e7921
Binary files /dev/null and b/java/res/drawable-mdpi/btn_keyboard_key_popup_selected_ics.9.png differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_ics.9.png
new file mode 100644
index 000000000..7a9f640d1
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_background_ics.9.png differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_ics.9.png
new file mode 100644
index 000000000..5b06f09bb
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_left_background_ics.9.png differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_ics.9.png
new file mode 100644
index 000000000..fd992d6f4
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_left_more_background_ics.9.png differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_ics.9.png
new file mode 100644
index 000000000..128dcd6ad
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_more_background_ics.9.png differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_ics.9.png
new file mode 100644
index 000000000..0b08d1747
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_right_background_ics.9.png differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_ics.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_ics.9.png
new file mode 100644
index 000000000..cf0b33c1d
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_key_feedback_right_more_background_ics.9.png differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background_ics.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background_ics.9.png
new file mode 100644
index 000000000..61988a8e1
Binary files /dev/null and b/java/res/drawable-mdpi/keyboard_popup_panel_background_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png
new file mode 100644
index 000000000..d990c0258
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png
new file mode 100644
index 000000000..ab8fb2e86
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_normal_on_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png
new file mode 100644
index 000000000..3871689ef
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
new file mode 100644
index 000000000..912506368
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
new file mode 100644
index 000000000..35ce67fdc
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png
new file mode 100644
index 000000000..c23a4b225
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_light_pressed_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_ics.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_ics.9.png
new file mode 100644
index 000000000..0c7bfdace
Binary files /dev/null and b/java/res/drawable-xhdpi/btn_keyboard_key_popup_selected_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_background_ics.9.png
new file mode 100644
index 000000000..d999127f2
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_background_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_ics.9.png
new file mode 100644
index 000000000..c4d694136
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_left_background_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_ics.9.png
new file mode 100644
index 000000000..5429c1785
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_left_more_background_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_ics.9.png
new file mode 100644
index 000000000..5135a0869
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_more_background_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_ics.9.png
new file mode 100644
index 000000000..19a77a29f
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_right_background_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_ics.9.png
new file mode 100644
index 000000000..ae2ffff8e
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_key_feedback_right_more_background_ics.9.png differ
diff --git a/java/res/drawable-xhdpi/keyboard_popup_panel_background_ics.9.png b/java/res/drawable-xhdpi/keyboard_popup_panel_background_ics.9.png
new file mode 100644
index 000000000..1dee699f4
Binary files /dev/null and b/java/res/drawable-xhdpi/keyboard_popup_panel_background_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png
new file mode 100644
index 000000000..680421eaf
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_active_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png
new file mode 100644
index 000000000..40f5011c0
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_normal_on_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png
new file mode 100644
index 000000000..6ff6319d3
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png
new file mode 100644
index 000000000..818ea70fd
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_off_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png
new file mode 100644
index 000000000..a476d2a9e
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_dark_pressed_on_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png
new file mode 100644
index 000000000..3c17c5eec
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_light_pressed_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_ics.9.png b/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_ics.9.png
new file mode 100644
index 000000000..6d2af5942
Binary files /dev/null and b/java/res/drawable-xxhdpi/btn_keyboard_key_popup_selected_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_ics.9.png
new file mode 100644
index 000000000..bd1ef3cd9
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_background_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_ics.9.png
new file mode 100644
index 000000000..65af4b569
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_background_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_ics.9.png
new file mode 100644
index 000000000..ac6750dcb
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_left_more_background_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_ics.9.png
new file mode 100644
index 000000000..cea7c05f6
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_more_background_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_ics.9.png
new file mode 100644
index 000000000..520fa7c6b
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_background_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_ics.9.png
new file mode 100644
index 000000000..eee221758
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_key_feedback_right_more_background_ics.9.png differ
diff --git a/java/res/drawable-xxhdpi/keyboard_popup_panel_background_ics.9.png b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_ics.9.png
new file mode 100644
index 000000000..721c24400
Binary files /dev/null and b/java/res/drawable-xxhdpi/keyboard_popup_panel_background_ics.9.png differ
diff --git a/java/res/drawable/btn_keyboard_key_functional_ics.xml b/java/res/drawable/btn_keyboard_key_functional_ics.xml
new file mode 100644
index 000000000..847ca72f4
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_key_functional_ics.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/java/res/drawable/btn_keyboard_key_ics.xml b/java/res/drawable/btn_keyboard_key_ics.xml
new file mode 100644
index 000000000..259bb9ba5
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_key_ics.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/drawable/btn_keyboard_key_popup_ics.xml b/java/res/drawable/btn_keyboard_key_popup_ics.xml
new file mode 100644
index 000000000..31b613176
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_key_popup_ics.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/java/res/drawable/btn_suggestion_ics.xml b/java/res/drawable/btn_suggestion_ics.xml
new file mode 100644
index 000000000..8f528ee4b
--- /dev/null
+++ b/java/res/drawable/btn_suggestion_ics.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/java/res/drawable/keyboard_key_feedback_ics.xml b/java/res/drawable/keyboard_key_feedback_ics.xml
new file mode 100644
index 000000000..b52a61fbf
--- /dev/null
+++ b/java/res/drawable/keyboard_key_feedback_ics.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/layout/key_preview_ics.xml b/java/res/layout/key_preview_ics.xml
new file mode 100644
index 000000000..33b6947ef
--- /dev/null
+++ b/java/res/layout/key_preview_ics.xml
@@ -0,0 +1,27 @@
+
+
+
+
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index 66b9b7082..8f6c12561 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -42,7 +42,7 @@
16
1100
- 0
+ 2
5
Gingerbread
IceCreamSandwich
+ KeyLimePie
- @string/layout_ics
- @string/layout_gingerbread
+ - @string/layout_klp
- 0
- 1
+ - 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/prefs_for_debug.xml b/java/res/xml/prefs_for_debug.xml
index 5d89b9cb2..8d9508e38 100644
--- a/java/res/xml/prefs_for_debug.xml
+++ b/java/res/xml/prefs_for_debug.xml
@@ -28,6 +28,7 @@