diff --git a/java/res/xml-da/kbd_qwerty.xml b/java/res/xml-da/kbd_qwerty.xml
index 6e2e692083870c4c141be4368525fc54141ef5a9..70eab096d87d73db714645a4d1e7270c0d979d4a 100644
--- a/java/res/xml-da/kbd_qwerty.xml
+++ b/java/res/xml-da/kbd_qwerty.xml
@@ -209,7 +209,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -241,7 +241,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -385,7 +385,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -422,7 +422,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
diff --git a/java/res/xml-da/kbd_qwerty_black.xml b/java/res/xml-da/kbd_qwerty_black.xml
index 36656ed24e366a8c55ec9b75cf0f6eb820462fbe..021f991c8ae667d53750acd5b2406d8de194fba9 100644
--- a/java/res/xml-da/kbd_qwerty_black.xml
+++ b/java/res/xml-da/kbd_qwerty_black.xml
@@ -202,7 +202,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -229,7 +229,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -350,7 +350,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -381,7 +381,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
diff --git a/java/res/xml-de/kbd_qwerty.xml b/java/res/xml-de/kbd_qwerty.xml
index e74f137e5e4b17fdbc3b6cd11066eb25806d4795..c28ec5e64bfd4cf2cd7d47f915ebd5b314f7e261 100644
--- a/java/res/xml-de/kbd_qwerty.xml
+++ b/java/res/xml-de/kbd_qwerty.xml
@@ -188,7 +188,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -220,7 +220,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -364,7 +364,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -401,7 +401,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
diff --git a/java/res/xml-fr/kbd_qwerty.xml b/java/res/xml-fr/kbd_qwerty.xml
index bded3e3b3f9d2b9bc3f5ecd48596641025c81b85..aca06ea249f32e1be26e3b9a48baaf177eff9206 100644
--- a/java/res/xml-fr/kbd_qwerty.xml
+++ b/java/res/xml-fr/kbd_qwerty.xml
@@ -189,7 +189,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -221,7 +221,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -365,7 +365,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -402,7 +402,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
diff --git a/java/res/xml-fr/kbd_qwerty_black.xml b/java/res/xml-fr/kbd_qwerty_black.xml
index 679d940f8498cf2b0623e16e0c8d84fa3902da25..53eddaa40d8286d3a70b1d8039ace514d8f28c01 100644
--- a/java/res/xml-fr/kbd_qwerty_black.xml
+++ b/java/res/xml-fr/kbd_qwerty_black.xml
@@ -182,7 +182,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -209,7 +209,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -330,7 +330,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -361,7 +361,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
diff --git a/java/res/xml-iw/kbd_qwerty.xml b/java/res/xml-iw/kbd_qwerty.xml
index 0ad2ca3c32252843f986ef5eeb8322ad1102056a..b652b82bdb90740c183dd5ff1cbfc8e341b32135 100644
--- a/java/res/xml-iw/kbd_qwerty.xml
+++ b/java/res/xml-iw/kbd_qwerty.xml
@@ -147,7 +147,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -179,7 +179,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -323,7 +323,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -360,7 +360,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
diff --git a/java/res/xml-iw/kbd_qwerty_black.xml b/java/res/xml-iw/kbd_qwerty_black.xml
index 10ca0fc12f4e15d489765a6fd6c9fb0246b348a2..f191133e0e80bde1a81ac8dd4741870c08d39e51 100644
--- a/java/res/xml-iw/kbd_qwerty_black.xml
+++ b/java/res/xml-iw/kbd_qwerty_black.xml
@@ -140,7 +140,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -167,7 +167,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -288,7 +288,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -319,7 +319,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
diff --git a/java/res/xml-nb/kbd_qwerty.xml b/java/res/xml-nb/kbd_qwerty.xml
index 8377bbf3f271e0837ddb6dac86685cb7bb032969..632ee6d15a450c954ea8a5fd43160cd963c727ae 100644
--- a/java/res/xml-nb/kbd_qwerty.xml
+++ b/java/res/xml-nb/kbd_qwerty.xml
@@ -209,7 +209,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -241,7 +241,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -385,7 +385,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -422,7 +422,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
diff --git a/java/res/xml-nb/kbd_qwerty_black.xml b/java/res/xml-nb/kbd_qwerty_black.xml
index ab14984884c786c89de24910b5103266b25082f9..67d87500d8eb1d9b1eb5e5cf51b8afadc344bcef 100644
--- a/java/res/xml-nb/kbd_qwerty_black.xml
+++ b/java/res/xml-nb/kbd_qwerty_black.xml
@@ -202,7 +202,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -229,7 +229,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -350,7 +350,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -381,7 +381,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
diff --git a/java/res/xml-ru/kbd_qwerty.xml b/java/res/xml-ru/kbd_qwerty.xml
index d40ccef10aa7f33acc9e9b2c2a37f8ded243b6fb..ed44e769b86bb542ba3c12e2f2952c5bc64ef248 100644
--- a/java/res/xml-ru/kbd_qwerty.xml
+++ b/java/res/xml-ru/kbd_qwerty.xml
@@ -187,7 +187,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -219,7 +219,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -363,7 +363,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -400,7 +400,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
diff --git a/java/res/xml-ru/kbd_qwerty_black.xml b/java/res/xml-ru/kbd_qwerty_black.xml
index cc71b0812d16cf156b6de8f7f6d50c57bfc36f4d..62ce7d692d9aacea2b93af245ea52541125b39ed 100644
--- a/java/res/xml-ru/kbd_qwerty_black.xml
+++ b/java/res/xml-ru/kbd_qwerty_black.xml
@@ -180,7 +180,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -207,7 +207,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -328,7 +328,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -359,7 +359,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
diff --git a/java/res/xml-sr/kbd_qwerty.xml b/java/res/xml-sr/kbd_qwerty.xml
index 835f8c166cbfeb8ac57783a94af48e478827eb2c..e3279dc5d9e18f333abc5e1e597cd1ffc313d21d 100644
--- a/java/res/xml-sr/kbd_qwerty.xml
+++ b/java/res/xml-sr/kbd_qwerty.xml
@@ -180,7 +180,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -212,7 +212,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -356,7 +356,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -393,7 +393,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
diff --git a/java/res/xml-sr/kbd_qwerty_black.xml b/java/res/xml-sr/kbd_qwerty_black.xml
index 76a9e55c1086d5a2628ea5e289f219bd1c1124f9..b485360b04800602fce39f120c02179067e3ffd5 100644
--- a/java/res/xml-sr/kbd_qwerty_black.xml
+++ b/java/res/xml-sr/kbd_qwerty_black.xml
@@ -173,7 +173,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -200,7 +200,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -321,7 +321,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -352,7 +352,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
diff --git a/java/res/xml-sv/kbd_qwerty.xml b/java/res/xml-sv/kbd_qwerty.xml
index f88bd3c39035715ec40f58fe004647d43cdeb936..f8a7e9475836a8084947091e0aa2e1c323c1c9a6 100644
--- a/java/res/xml-sv/kbd_qwerty.xml
+++ b/java/res/xml-sv/kbd_qwerty.xml
@@ -210,7 +210,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -242,7 +242,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -386,7 +386,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -423,7 +423,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
diff --git a/java/res/xml-sv/kbd_qwerty_black.xml b/java/res/xml-sv/kbd_qwerty_black.xml
index 8493237b242dd9a9ef9ebd9523faa4c30ce80449..0141c2b05ae2a0a192e04ee3d8039f9bfc57f9f8 100644
--- a/java/res/xml-sv/kbd_qwerty_black.xml
+++ b/java/res/xml-sv/kbd_qwerty_black.xml
@@ -204,7 +204,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -231,7 +231,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -352,7 +352,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -383,7 +383,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
diff --git a/java/res/xml/kbd_qwerty.xml b/java/res/xml/kbd_qwerty.xml
index a2c9b2b8ea2f2f0754e87b4899aa0bbf46d454da..d5090b3c7d8332c29d770f5cdcdf8c61f2056430 100644
--- a/java/res/xml/kbd_qwerty.xml
+++ b/java/res/xml/kbd_qwerty.xml
@@ -186,7 +186,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -217,7 +217,7 @@
             android:isModifier="true"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -357,7 +357,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="/"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
@@ -393,7 +393,7 @@
             android:iconPreview="@drawable/sym_keyboard_feedback_settings"
             android:isModifier="true" />
         <Key
-            android:keyLabel="\@"
+            android:codes="@integer/key_f1"
             android:isModifier="true" />
         <Key
             android:codes="@integer/key_space"
diff --git a/java/res/xml/kbd_qwerty_black.xml b/java/res/xml/kbd_qwerty_black.xml
index d9943a93fb04c6c276e1ddbf96070bbdafa35815..c5de4d46210509f2e91fbc02f4033173a0e6fbef 100644
--- a/java/res/xml/kbd_qwerty_black.xml
+++ b/java/res/xml/kbd_qwerty_black.xml
@@ -179,7 +179,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -205,7 +205,7 @@
             android:keyWidth="20%p"
             android:keyEdgeFlags="left" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -322,7 +322,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="/" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
@@ -352,7 +352,7 @@
             android:keyIcon="@drawable/sym_bkeyboard_settings"
             android:iconPreview="@drawable/sym_keyboard_feedback_settings" />
         <Key
-            android:keyLabel="\@" />
+            android:codes="@integer/key_f1" />
         <Key
             android:codes="@integer/key_space"
             android:keyIcon="@drawable/sym_bkeyboard_space"
diff --git a/java/res/xml/popup_at.xml b/java/res/xml/popup_at.xml
new file mode 100644
index 0000000000000000000000000000000000000000..197eea44500e4e818822018d0387e368cf7eca98
--- /dev/null
+++ b/java/res/xml/popup_at.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/popup_key_height"
+>
+    <Row
+        android:rowEdgeFlags="top|bottom"
+    >
+        <Key
+            android:codes="@integer/key_settings"
+            android:keyIcon="@drawable/sym_keyboard_settings"
+            android:keyEdgeFlags="left" />
+        <Key
+            android:keyLabel="\@"
+            android:keyEdgeFlags="right" />
+    </Row>
+</Keyboard>
diff --git a/java/res/xml/popup_slash.xml b/java/res/xml/popup_slash.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a38fde0e47f538ecac36dc081f99b12e32ead4b1
--- /dev/null
+++ b/java/res/xml/popup_slash.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<Keyboard
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:keyWidth="10%p"
+    android:horizontalGap="0px"
+    android:verticalGap="0px"
+    android:keyHeight="@dimen/popup_key_height"
+>
+    <Row
+        android:rowEdgeFlags="top|bottom"
+    >
+        <Key
+            android:codes="@integer/key_settings"
+            android:keyIcon="@drawable/sym_keyboard_settings"
+            android:keyEdgeFlags="left" />
+        <Key
+            android:keyLabel="/"
+            android:keyEdgeFlags="right" />
+    </Row>
+</Keyboard>
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboard.java b/java/src/com/android/inputmethod/latin/LatinKeyboard.java
index e33ae145bed936ff27eaf32ce97a6a777d8ce183..8060ac9966318a57cc2dcfb10a0169617ad461ad 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboard.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboard.java
@@ -74,6 +74,7 @@ public class LatinKeyboard extends Keyboard {
     private LanguageSwitcher mLanguageSwitcher;
     private final Resources mRes;
     private final Context mContext;
+    private int mMode;
     // Whether this keyboard has voice icon on it
     private boolean mHasVoiceButton;
     // Whether voice icon is enabled at all
@@ -122,6 +123,7 @@ public class LatinKeyboard extends Keyboard {
         super(context, xmlLayoutResId, mode);
         final Resources res = context.getResources();
         mContext = context;
+        mMode = mode;
         mRes = res;
         mShiftLockIcon = res.getDrawable(R.drawable.sym_keyboard_shift_locked);
         mShiftLockPreviewIcon = res.getDrawable(R.drawable.sym_keyboard_feedback_shift_locked);
@@ -202,6 +204,7 @@ public class LatinKeyboard extends Keyboard {
     }
 
     void setImeOptions(Resources res, int mode, int options) {
+        mMode = mode;
         // TODO should clean up this method
         if (mEnterKey != null) {
             // Reset some of the rarely used attributes.
@@ -354,6 +357,11 @@ public class LatinKeyboard extends Keyboard {
     }
 
     private void updateDynamicKeys() {
+        update123Key();
+        updateF1Key();
+    }
+
+    private void update123Key() {
         // Update KEYCODE_MODE_CHANGE key only on alphabet mode, not on symbol mode.
         if (m123Key != null && mIsAlphaKeyboard) {
             if (mVoiceEnabled && !mHasVoiceButton) {
@@ -366,30 +374,65 @@ public class LatinKeyboard extends Keyboard {
                 m123Key.label = m123Label;
             }
         }
+    }
+
+    private void updateF1Key() {
+        // Update KEYCODE_F1 key. Please note that some keyboard layouts have no F1 key.
+        if (mF1Key == null)
+            return;
 
-        // Update KEYCODE_F1 key. Please note that some keyboard layout has no F1 key.
-        if (mF1Key != null) {
-            if (mHasVoiceButton && mVoiceEnabled) {
-                mF1Key.codes = new int[] { LatinKeyboardView.KEYCODE_VOICE };
-                mF1Key.label = null;
-                // HACK: draw mMicIcon and mF1HintIcon at the same time
-                mF1Key.icon = new BitmapDrawable(mRes, drawSynthesizedSettingsHintImage(
-                        mF1Key.width, mF1Key.height + mVerticalGap, mMicIcon, mF1HintIcon));
-                mF1Key.iconPreview = mMicPreviewIcon;
-                mF1Key.popupResId = R.xml.popup_mic;
+        if (mIsAlphaKeyboard) {
+            if (mMode == KeyboardSwitcher.MODE_URL) {
+                setNonMicF1Key(mF1Key, "/", R.xml.popup_slash);
+            } else if (mMode == KeyboardSwitcher.MODE_EMAIL) {
+                setNonMicF1Key(mF1Key, "@", R.xml.popup_at);
+            } else {
+                if (mVoiceEnabled && mHasVoiceButton) {
+                    setMicF1Key(mF1Key);
+                } else {
+                    setNonMicF1Key(mF1Key, ",", R.xml.popup_comma);
+                }
+            }
+        } else {  // Symbols keyboard
+            if (mVoiceEnabled && mHasVoiceButton) {
+                setMicF1Key(mF1Key);
             } else {
-                mF1Key.label = ",";
-                mF1Key.codes = new int[] { ',' };
-                // HACK: draw only mF1HintIcon on offscreen buffer to adjust position of '...' to
-                // the above synthesized icon
-                mF1Key.icon = new BitmapDrawable(mRes, drawSynthesizedSettingsHintImage(
-                        mF1Key.width, mF1Key.height + mVerticalGap, null, mF1HintIcon));
-                mF1Key.iconPreview = null;
-                mF1Key.popupResId = R.xml.popup_comma;
+                setNonMicF1Key(mF1Key, ",", R.xml.popup_comma);
             }
         }
     }
 
+    private void setMicF1Key(Key key) {
+        // HACK: draw mMicIcon and mF1HintIcon at the same time
+        final Drawable micWithSettingsHintDrawable = new BitmapDrawable(mRes,
+                drawSynthesizedSettingsHintImage(key.width, key.height + mVerticalGap,
+                        mMicIcon, mF1HintIcon));
+
+        key.label = null;
+        key.codes = new int[] { LatinKeyboardView.KEYCODE_VOICE };
+        key.popupResId = R.xml.popup_mic;
+        key.icon = micWithSettingsHintDrawable;
+        key.iconPreview = mMicPreviewIcon;
+    }
+
+    private void setNonMicF1Key(Key key, String label, int popupResId) {
+        // HACK: draw only mF1HintIcon on offscreen buffer to adjust position of '...' to
+        // the mic+hint synthesized icon
+        final Drawable onlySettingsHintDrawable = new BitmapDrawable(mRes,
+                drawSynthesizedSettingsHintImage(key.width, key.height + mVerticalGap,
+                        null, mF1HintIcon));
+
+        key.label = label;
+        key.codes = new int[] { label.charAt(0) };
+        key.popupResId = popupResId;
+        key.icon = onlySettingsHintDrawable;
+        key.iconPreview = null;
+    }
+
+    public boolean isF1Key(Key key) {
+        return key == mF1Key;
+    }
+
     /**
      * @return a key which should be invalidated.
      */
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
index c1b1008b02c6a9206f3540256b031f631e09bff0..832c768805c00f23229702865df172bb617b5b39 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
@@ -850,7 +850,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
 
                 // Usually don't draw icon if label is not null, but we draw icon for the number
                 // hint.
-                shouldDrawIcon = isCommaKeyLabelOrNumberAtEdgeOfPopupChars(key);
+                shouldDrawIcon = isNonMicLatinF1KeyOrNumberAtEdgeOfPopupChars(key);
             }
             if (key.icon != null && shouldDrawIcon) {
                 // Special handing for the upper-right number hint icons
@@ -943,7 +943,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
         if (key == null)
             return;
         // Should not draw number hint icons
-        if (key.icon != null && !isCommaKeyLabelOrNumberAtEdgeOfPopupChars(key)) {
+        if (key.icon != null && !isNonMicLatinF1KeyOrNumberAtEdgeOfPopupChars(key)) {
             mPreviewText.setCompoundDrawables(null, null, null,
                     key.iconPreview != null ? key.iconPreview : key.icon);
             mPreviewText.setText(null);
@@ -1226,12 +1226,13 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
         return false;
     }
 
-    private static boolean isCommaKeyLabelOrNumberAtEdgeOfPopupChars(Key key) {
-        return isNumberAtEdgeOfPopupChars(key) || isCommaKeyLabel(key);
+    private boolean isNonMicLatinF1KeyOrNumberAtEdgeOfPopupChars(Key key) {
+        return isNumberAtEdgeOfPopupChars(key) || isNonMicLatinF1Key(key);
     }
 
-    private static boolean isCommaKeyLabel(Key key) {
-        return ",".equals(key.label);
+    private boolean isNonMicLatinF1Key(Key key) {
+        return (mKeyboard instanceof LatinKeyboard)
+                && ((LatinKeyboard)mKeyboard).isF1Key(key) && key.label != null;
     }
 
     private static boolean isNumberAtEdgeOfPopupChars(Key key) {