Support de,fr locale keyboard layouts for tablet

This change introduces,
- support de QWERTZ
- support fr AZERTY
- support fr_CA QWERTY layout
- support fr_CH QWERTZ layout
- refactor some common keyboard row layouts

Bug: 2334086
Change-Id: I3e01e841e0dc72419d55e29d426bdec70655459c
diff --git a/java/res/xml-sr/kbd_qwerty.xml b/java/res/xml-sr/kbd_qwerty.xml
index c9a4e44..77e7647 100644
--- a/java/res/xml-sr/kbd_qwerty.xml
+++ b/java/res/xml-sr/kbd_qwerty.xml
@@ -26,6 +26,8 @@
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:keyHeight="@dimen/key_height"
 >
+    <include
+        latin:keyboardLayout="@xml/kbd_key_styles" />
     <Row
         latin:rowEdgeFlags="top"
     >
@@ -116,12 +118,8 @@
         latin:keyWidth="8.5%p"
     >
         <Key
-            latin:codes="@integer/key_shift"
-            latin:keyIcon="@drawable/sym_keyboard_shift"
-            latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
+            latin:keyStyle="shiftKeyStyle"
             latin:keyWidth="11.75%p"
-            latin:isModifier="true"
-            latin:isSticky="true"
             latin:keyEdgeFlags="left" />
         <Key
             latin:keyLabel="ж" />
@@ -138,13 +136,10 @@
         <Key
             latin:keyLabel="м" />
         <Key
-            latin:codes="@integer/key_delete"
-            latin:keyIcon="@drawable/sym_keyboard_delete"
-            latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
+            latin:keyStyle="deleteKeyStyle"
             latin:keyWidth="11.75%p"
-            latin:isModifier="true"
-            latin:isRepeatable="true"
             latin:keyEdgeFlags="right" />
     </Row>
-    <include latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+    <include
+        latin:keyboardLayout="@xml/kbd_qwerty_row4" />
 </Keyboard>