From cf02653097893b06f24551b790b0f7ec288e704d Mon Sep 17 00:00:00 2001
From: Amith Yamasani <yamasani@google.com>
Date: Tue, 26 Jan 2010 21:25:29 -0800
Subject: [PATCH] New keyboard layout for bottom row.

Additional mode for WEB_EDIT fields w/Tab key for next field.
Button assets refresh and fix for a highlight asset bug.
---
 .../btn_keyboard_key_normal.9.png             | Bin 696 -> 1158 bytes
 .../btn_keyboard_key_normal_off.9.png         | Bin 941 -> 1391 bytes
 .../btn_keyboard_key_normal_on.9.png          | Bin 1076 -> 1495 bytes
 .../btn_keyboard_key_pressed.9.png            | Bin 696 -> 1082 bytes
 .../btn_keyboard_key_pressed_off.9.png        | Bin 964 -> 1362 bytes
 .../btn_keyboard_key_pressed_on.9.png         | Bin 1055 -> 1419 bytes
 res/drawable-hdpi/highlight_pressed.png       | Bin 1527 -> 4110 bytes
 res/drawable-hdpi/sym_keyboard_123_mic.png    | Bin 0 -> 2575 bytes
 .../sym_keyboard_feedback_123_mic_.png        | Bin 0 -> 1046 bytes
 ...keyboard_feedback_language_arrows_left.png | Bin 0 -> 262 bytes
 ...eyboard_feedback_language_arrows_right.png | Bin 0 -> 250 bytes
 .../sym_keyboard_feedback_tab.png             | Bin 0 -> 462 bytes
 .../sym_keyboard_feedback_tabprev.png         | Bin 0 -> 463 bytes
 .../sym_keyboard_language_arrows_left.png     | Bin 0 -> 314 bytes
 .../sym_keyboard_language_arrows_right.png    | Bin 0 -> 316 bytes
 res/drawable-hdpi/sym_keyboard_tab.png        | Bin 0 -> 1027 bytes
 res/drawable-hdpi/sym_keyboard_tabprev.png    | Bin 0 -> 1033 bytes
 .../btn_keyboard_key_normal.9.png             | Bin 809 -> 726 bytes
 .../btn_keyboard_key_pressed.9.png            | Bin 736 -> 664 bytes
 res/drawable-mdpi/sym_keyboard_123_mic.png    | Bin 0 -> 1540 bytes
 .../sym_keyboard_feedback_123_mic_.png        | Bin 0 -> 694 bytes
 ...keyboard_feedback_language_arrows_left.png | Bin 0 -> 205 bytes
 ...eyboard_feedback_language_arrows_right.png | Bin 0 -> 204 bytes
 .../sym_keyboard_feedback_tab.png             | Bin 0 -> 364 bytes
 .../sym_keyboard_feedback_tabprev.png         | Bin 0 -> 365 bytes
 .../sym_keyboard_language_arrows_left.png     | Bin 0 -> 261 bytes
 .../sym_keyboard_language_arrows_right.png    | Bin 0 -> 257 bytes
 res/drawable-mdpi/sym_keyboard_tab.png        | Bin 0 -> 645 bytes
 res/drawable-mdpi/sym_keyboard_tabprev.png    | Bin 0 -> 612 bytes
 res/xml-de/kbd_qwerty.xml                     | 153 ++++++++++-------
 res/xml-fr/kbd_qwerty.xml                     | 158 +++++++++++-------
 res/xml-ru/kbd_qwerty.xml                     | 140 ++++++++++++++--
 res/xml/kbd_qwerty.xml                        | 102 +++++++----
 .../inputmethod/latin/KeyboardSwitcher.java   |  10 +-
 .../android/inputmethod/latin/LatinIME.java   |   5 +
 .../inputmethod/latin/LatinKeyboard.java      |   4 +-
 36 files changed, 409 insertions(+), 163 deletions(-)
 mode change 100755 => 100644 res/drawable-hdpi/btn_keyboard_key_normal.9.png
 mode change 100755 => 100644 res/drawable-hdpi/btn_keyboard_key_normal_off.9.png
 mode change 100755 => 100644 res/drawable-hdpi/btn_keyboard_key_normal_on.9.png
 mode change 100755 => 100644 res/drawable-hdpi/btn_keyboard_key_pressed.9.png
 mode change 100755 => 100644 res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png
 mode change 100755 => 100644 res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png
 mode change 100755 => 100644 res/drawable-hdpi/highlight_pressed.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_123_mic.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_feedback_123_mic_.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_feedback_tab.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_feedback_tabprev.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_language_arrows_left.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_language_arrows_right.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_tab.png
 create mode 100644 res/drawable-hdpi/sym_keyboard_tabprev.png
 mode change 100755 => 100644 res/drawable-mdpi/btn_keyboard_key_pressed.9.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_123_mic.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_feedback_123_mic_.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_feedback_tab.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_feedback_tabprev.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_language_arrows_left.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_language_arrows_right.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_tab.png
 create mode 100644 res/drawable-mdpi/sym_keyboard_tabprev.png

diff --git a/res/drawable-hdpi/btn_keyboard_key_normal.9.png b/res/drawable-hdpi/btn_keyboard_key_normal.9.png
old mode 100755
new mode 100644
index 90b51fa637037082d109eeba3edc5098939bb609..5bd9f0ed606bca597432f957ad89ac87e5d1235e
GIT binary patch
delta 1115
zcmV-h1f=`81%?Tb7YalO1^@s6!$f9nks&941Sm;FK~#9!>|4!F<1i3*OF&2k#I@qY
zi90V+9+d+Rz*8V`;(&O80^*;nKJQL<>dx5X#7WI+ExAqGB>q0nkH?d#bK|vk$eT~_
za&~ssx*yzbZ*M14_m8yyL~3gd|M2zo<z8Q3-TV8yKd!Ou?CiL`y*;<TzweJXhyeJ1
z)6<i?xVUg9Cns)qch`M?fBW9Ht?wJ2VlpY~)|4^Or_-tLA0Hp?;o-quUS7I`gM$^B
z6_J;h7q?g}-0A75`~3V|Nu?$t0F4fez<PCc<;koOd3$?v^ZDE}1`%{lWSfl>X`064
z0ajq%AOhe}ClDbrwGrW1fE5@?m>b4_PSU862;rd5qSwMnWZdW=(UnNbcDme;t|7^U
zxYi`XNpMm*1M@*kk)esfJFvl4fJ<FRLU+r1AJ0?DqfsZEs%pjhwp$8UW4)**BFPXX
zJh3(+8qT7s)s?I@I>=Tn3z0s=Lg3cWCpEFEM7Z|~J%ojfm59ZC(_$!j)ToVrgl;ZJ
zDpnQK2!-F{GfgBBirNS#!U;%3B(NoIgnviTFA>rvRt-^N66s<yIb<{<JUoepD3V&$
zL?pD4sA_QnRw8|ZLFu}bYDw|mMyw@~p^HjOLL<P#bsS4Jl8m(^7soFuB@Joz`8~qW
zU0WKmB~sE;Y4?ywktEC#;Wi?Fx!|G0bd40g3pZ0q8_`zvZ3K>zL}GZvbtGmZLu{sE
zVGBt_i#W2^ks)`2nw@al&0a@R!P(F%##JhXExC?pVf>hOLhDB?pf#-{F;_RX!E0X2
z9LCqO)wN)nTK31a?bnmZhp}^2CHM7BEHocF@sN{ZP3=;f98g1M5pxKCMw1UEXFPR&
zP6{YTwc0L&^pQ~43`^`h5SjeGck8xo_^D7OcD|aR(^9BI5tBj^9?EN&qU(r75~UZ)
zt{Kg!vGWHjUDT_Ov4=6171K23A*36mfb_95X&enx^7)7*FRMLb>+|g0I$2pE3eP9;
z8IX=krc5=7a2(k-5=tU}MxvA?Qj*ceF-fE^&^|=6B@#3ClCy91Viu{GjXm@lLrKQ+
ztRyvV6H_b8fThS;?h#Y3ro;e4Z=SL?R()ovhFxNlyQ*$;s~fW!F+`~Wyv0sbuf<QY
z5E`Qt(28x12o*q584(pe){sR37Q#k2RU)VtL_JhksU~F_hf+U(antk%IPjqa5bx+w
zBK(;huOrOehL+s&5*8vtWJDqm+4J+WJ3KsGn*piFYwX5Vo`^g?KJo(Q$%+VmyuZJ9
z=jZ3EveZ=F@0ebSm&*d{&CQK}-;fCEXRoiX{Y5AcJ~}$`-`7M0ZMj^!ySqD&_4xSs
z?|FE^|3^@HjgoRks2A#fx2;YwHG?E(vzecK)XC%jBWtRKAE_q3hAg}$A&>z9u39no
hQ|rHcM9jYg7yxih?jyNj*}wn*002ovPDHLkV1oWi7OVgO

delta 649
zcmV;40(Sj|3AhE27Ya=X1^@s6<V!cDks&940$NE#K~#9!?3+2x!Y~kp$01?~h=PuS
zo>Nd!(Q-k~Lc<l{1awFs7P01MEc`2kET#y&m>J2Uh$G&|%(D}0t1t|y=uk@Cza~_L
zen$`l)a&(%rztSz^SScKk?>uBxR)+DlM#1IYq#6ccDtq1=>#dbTCGy6)uLvznGUjl
z*=(rYZqsNqqHecKJT!k|c((Ncx8-t4)9IAf>$TRJ2*Q~dkH=K6*EQ7bc7p=(JWq=s
z4u>?EOwvKF*DEy|4Z2(|x*>vautwIF=@IS_ZxEx>10qFJ_yWQiFr7I=C>b$2(yAm8
zB;HUWOOt@WgCxPAfmqG##!SZWXcMA;(e^tTan9`V@f)GEva(W|(#q45Yj%`J6qA+G
zoBi#Kpqf2TllvgZ9{J6TlpZ8H38H~yP0*#9N21zf9uc#D+w4x1md%ade5sPsDnn_x
zyFTLF@QeJ2V(k(1Q7h3S`~5z2!6UM&D<A?QAOa#F0>U6c5GWTwoO${cj|hl=fV^pT
zvoIfR2$84Bx497s<n4^u-27>fEKP2g7CMMkY4P4cvk}tlBZL@UA9|vjG=C=}(T0|h
zG+p8mc#oKlX*YZmB&zM@I-gF+n@13vwb?6`%F~RBkP+5oZFcVL`@Vh)V+f?Z@kX2Z
zk)ws=$2%Vm2Yu{<A$V^*A_!}AjA!KugpcygW-}TL2KwX-;<1bK`K&dv)~D+%wBPS*
zwVZ*~YDLH65o()k9H>^SQK!@SFR{g9@mgBk0qM9!5{NN<YH68H31)&1U0U%IWG2v-
j<&yqPyld2-e*z2uWZX{~+N+c+00000NkvXXu0mjf&OkcB

diff --git a/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png b/res/drawable-hdpi/btn_keyboard_key_normal_off.9.png
old mode 100755
new mode 100644
index 6ddd516e790627b773405917a89b9da4feee36c9..aa4a4a368c9d8b5598ccf4b44a6ab35702acbc22
GIT binary patch
delta 1336
zcmV-81;_fW2k#1yNPh(pNkl<Zc-rh+$xb6N5Uqq}-;oePT!0IAzJmjw%7G8yE0DMV
z65;>|vF}Tdo|(#2953bG(lZ)MCP}xu{hn)a*)E8hD|wwS@8HkY)>ck`aXC6V>U8NJ
zDgTMItz`1Y*Vh-lzP{4?`@8wx#xgQ8LStiNG%+z@z7G%q@PEh0N7~)prM0y+8XX;_
z@9%F@^E@|oz*BTO)w(rLAE@1K*VK=X4>~_Tr@g&BnwgpDk?DCYkl5MTq0P-r`uzMf
z#8BHr1fWr~ETiM&W7^-}H)P<odJ=hid!yCWRl^uWm<$scW|2fd0(gKGm_ejZwE!II
z1R_kPZA2s%V1ETh7UqDlvozXBgmLh1r`JLwHf~hgMp8RYwT0OG_!*XrjjK;0l7u9c
z(y{EcDl$AU_yjiC3UGPn5!>C$%H{6vj;^k*=>GnmUS3{ka&nU9=H_U5d70+t=WA0#
ziG^``RV!3cE-o%ig?MLYXK8V9(by6Qot~c3%F2qVb$=6a4REG?2$HzGyfhL(1sRB%
zXIYTJ{qgZ}BbhphL_-w2p?vuE_SX1tfMycXgWx)(b8~ZJRILsoKAcIa_5A#7Mw<!P
zFJkGSovpuRJX~Sb@;!h+5=2}i<V(>mqyjc@ZRq185S57ZUidyeJ>Bybu8!Dkb2}{&
zjr-=w(0}DogEnHjIeZ5|*a-)2wu-?%5ZWv(EU1<MK0@|&{AN{ULO~mmL?i+JgeSt>
zfj|v$4jVkTflA>T485$4$ZH(^G9h0y?hR3FLI9756KesuT9yj#K^pjt`)CJJWkMPs
z5gDEYLll=<@dH>nPEAeG#>NI+UtgPf1s)1>%74<*lBpmAl0||-twhwSB?;J~e0q8^
zE*2xdzP@he6-Wc>2BNrMgn-MHhg8euOa@{t7a4wtC4*Wdij4)1HZfLRmyJYYEtiXv
z5Bb0sB_&5+zQYdPeN#iSL|j0th;(i6_H~woS|ZX$TrRju@F}El&0b7JZNxXLheD3J
zNq<R+gzz}$k&um4X&;)fg(c#PIFjd)I_x86C(?G4=aE=&R=0{tm5O1D&Lh6Kzezjc
z`6Cq2s^*c9t83ceeO^l)#>dvlO%jS>>T1@<!!8;;S<zkcrngMh2R*)Zc-6axMYmX8
zSfZN`O-m+qeIML>sB*+(?NhdZQdBE1(tk-A2^HO83AF=}&d<AZ8n)rbLX}W^?*^T3
z3$-p{u8>5A@;*$#c|;?Lswc{rS5muQ-@!@|^(tfRc8sOP)Qx!v*9&4m%GjB!A0MXZ
z`G{s;)_25K=ImWNSV<v@+)t7t;QC(GE=ouu5=XL)*pdj5s7ews$@uzFNu(^$GJiyp
zB@#0BDo0=I#WYe;8@uf_>XMA+tR&WN7E&ushgFf&yd$JuSrr}By?9DmSd|&2Hmnk}
z)LC_yOWlyoI75^+fY;cG*K5f}8bVE^0&21K5#a<#P9x&P$2RPu01IPdoL(Y06T}(0
zovG&9X{<~AoQtO4z=02^#`r`H5`U3rb~2AJbs1Xal9#bC5hmj#0+HcV7I|251YAj8
zO&6*1OyuF=K_)Q&NteaVv$HeW-rnw|rN;7poAgpLT^3jm4-d`ffJBf#dvI`I9zs$8
z=Ulak2ny0jPEJk?R^+|(+Tjl}v5|IxY;33(l4FLgP9ZgeB#`8T!AAl^Uoj>&-{hS5
uHtfRtBm^=bAXO{me%kt9K2FTP1Q-Ceh;lqz4>QI90000<MNUMnLSTZ@GkkCW

delta 882
zcmV-&1C9Le3atl_NPh!QNkl<Zc-rh+xsK{U5NvZ}4v8ZnAVT6Zh=@q}LB55AUw|Be
z1PF1O8{XDv2N|zz3~S?lUXL_du^O8ys=9m3G|KIEBd>>|C|_@LQ#^eSRaL24t$NSK
z!_n{el?Vl7#DYNL%eoX8MS^Rs?RHC>&4!N0BTK-EM1r!}EPrJ(8EYb|)r#`@JhfUa
zs#Ge3)clF`>@*HA$Kx?|yIoo?mjbIP5h&4aw<(oM2~yYVl@*alBqG2!n@#F;I@Uxk
zmkXuSX*!?JVsa#c0gS+A8zWd?oGh}^Hwg<&w;x2HfLsiPxF{lVSh>WMh;iE89Fl*M
zj1{JriQx5my?>_telHY@Mx(;BNQqvPa*YUNoy}&V)_?$fi+Y1>r)e6M%jLV5eJ5f@
zMv|CJCUiQTM0(bL`d9;nrqijXWbCYNnzi%+FE2!00oY_R`4D{f8^vNmDcH<db=@q8
z65Csf;07Q8J6Xj6{tq&{-Hz~#<GUheF#@Z|PvKcQ#(z4H@}mB{73{_o3pG&f?T7$;
zJRZMWz-?>Usp805m`Jb4Ojh>78l+?Ff4tb*JgaL@gB|m5IEZY7U`7lW$zVOy0*PEM
zM~lV6v;CG;ut%IKf?83p*9A}zLmCEn{Ke}+p+L1-O{_D!-p%=Tuwwu$iXp(_Spd}?
z#SrNjwtoXb)De*Lx)}btvV+WUI23iFR4R#dD-{`yMjzXryhOxq8xJ)w{dgvEZPV!I
zHs00U?|(x?U%j~zvD;ZVsv}&69^2d7cuv;(RUHX~-S1!zgteSp=ob;I%oSRTo3(;_
zJ`%X}%Xy39I7YZ<Ez=m$H0>6I7>TH=s)WJLD1X?)bM}x(NaV#}m*)`r$zeRh6mxPR
zCn7H^;^g8_6S2b-Y-@2R;>cP!W|Ms%ULG~SoL;~2=zCKBjw1TWO%W?xVT`bk5xLOn
z0zZl9vHhJoA|=ETw7#NpP(*elIkFZO<B(H!JaB3Sl-T5ltQRb1T#SYQ*~WxU29894
z(QBy60}*uf^m;vNG#a8&m}8eIj>Cb`*n#x$vkNFNpU=g)ITr$EgwUi=EEew;8w>_N
zt%U`gx=YQ7$e_2hmRw{KOzekZ*X_pbTS&7n6VZBw@lSvO0II`AoJcib5C8xG07*qo
IM6N<$g0l;wE&u=k

diff --git a/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png b/res/drawable-hdpi/btn_keyboard_key_normal_on.9.png
old mode 100755
new mode 100644
index 65fdeb353f8d1de9d732405dceb11a9cc2f4e27b..27556f8451e7959168f6994ffe96f51267016a3f
GIT binary patch
delta 1441
zcmV;S1z!5J2-gdcNPh)+Nkl<Zc-rh+U2h^)7=EBbKPXVPNv%kB3uN71?5>(7-Wo5w
zGA8XmwHMVZFPiAa#Jy3YUAz5E5VzH=whYix3M22>gNNaK4a^Lq*^?X?;G8+nbKZ~h
zo-;2%bj1nt<_UUPUtf3dA1?d*`-vp}C*=*1xD|{4(Cv0{eSdw8o0}W=I*w&#W(Kpf
zvzVWscdti?5b#E$fvv4A6pKZqQYrL$J-0fJ<JJ*Rkw^sV)+A$4O(v6W?Q}Y*)oR$@
z-bN;q8ITzexw^W-=H@2K<uYz>ZwFF|6A=PUl`s<4ot+(*%n*@wyNyDj;4&s6RCyxP
zEIbj*vRpibm47gg5Fy~CPDF%}i5n3f3t=UUOqe6a&ZH4XA`A!nEc9B`h#5CkA~7xz
zo$ZWsKh}py#*1r6B0LG66yKrMYN1}QquFe_IyyHu=jv%Tn?*XE9vU<#GHhb#ov@Lu
z5H9ID;&r!trE+<B2`77scRs3O<=qQp-)_M^OXH7&JbzxlxR0BQ5|);h!ihLJEDWbq
zwN#ZPktrSH;U}lat+wyF=8!G{tEC3&?;Ydts~(!aK5``!CK2xhk4Qw-DZOIj>8CdG
z1@Vk$*MM~Y_n$tu;WQRPC87;cybbxzYfn3PP<cx^Sgr!ppLB5gtrH3n8BSlSwf1-h
z3#ohB0e{z?baDKw7np||TeV~zN|hpdNn1N$sgmutZ%b9c3*0pHkrB{Jg!f)_-8x@J
z?!JDe>(%9c`<gKk)tWKbYuqh{B9E%H5wDx0>$AgItd>{MMN=MPV-YV8ETb)ejF9(x
z`pjG{Bc!wuo(NBXy&wK~iS_p@$QCa8WUd4x7Jp#B%H!n^M<YJoFCqRr7X30pvS?fy
zqId}%{c?_HUuN*}XB8|LZ_#n;E+Hb2O62fo&B8Zd9QE6sjTK9o5aGiUWr!kDD}Dx^
ze|>=0zuWlW!!jN{et^~DJ)GD6!v4=SeE;1^pTw)NgF;h@7^@afKqSh;7r)_PuNGJ^
zD1YjwQ!P;-I}&S&$gob{&Xb1sG6H<KPS+wE(Z*UL7sq#!fghI?Kl}VWyrH{nY49x(
z5zrtuTwd_r@0lcwCBoZ?$OQ)p-VZ7I&byh?+K6mbS4Ev+lj0?!!XsQqR5lW%eVBwT
zOd_&~!}mH8hJEPlgtuMa>xeEm3tPo_m4DJ<)2<`3xIaoeVe5w~pfy@YRIV;+gO_<N
z<1k*gPmYq14pY)(e?0ACg2x*7lsxJqQ{x9cqJYp;t-@SKR9Li!4^d0T@BUtS_z>ib
z>)QJ{0`j9;&NzciBB60lSXAwZNaCM+JD9fN>p~S(d+7n4><Be1Vxo|Q59MW;lz;1p
zi6nwvD0N=R*!_xT$B)+t%GkXzmMNyB&O?Z9paU|Aor%VgVbVSyF*%o&Jz|^W*}Lgv
z`3h0^^CW%-MAt!`qNpUo<M3@GUP-7(1SJWbWMtzQNn}!>lMwMO5tXqAIs2ww%tR{2
z#_shRVM)g1S&433OQlvO0|rIT<bNJ2^|FE(AneVPuZ`6tvlNG2qUCp0o#s|oWi!GM
zB@W<C>_qCd_(mp#qDTca#WqBQB|x$?B9{0Vhf@^7!mu%%QX-TuNYBW<nQEew#<0{+
zxM{irPWUJVklv{(iSW<t_&h?t+t47lybKE?!pI1TkjN-2jxyo+84x9TMSop*m1jh3
z+vXFP69XdjW3^hv#>U1VEmfEI8>N@x(`5<k-rk=3J|YpyOWfVvbvsdla4wf~zmF3U
zDwI!oa&qEg&FAy~wxbvN{|IGXQ%X6h7v=p<Tb)#DMv_=uTy!U&^5p6NBSWf1KeC+o
vIGn=EBt&G00Iymq_Y>ED`5Fi@|1H1(U0p}@mXW7Z00000NkvXXu0mjfr}?&g

delta 1018
zcmV<W0|oro3$zH3NPh#?Nkl<Zc-rh*-*3`T7(Feeg_a>;HnVJ~i4Q)_#J4@|#U&<t
z^$*y;w*SJ1C1#l>GtopJ7Q=ipPGOr1V^Dt6)_x6lDbQje6s{fLa?>o_3+HgY^W9te
z36^Cc><|RO{uoOL^)pmeMLwSopG}BSC=>({5eX>@B<$2hWPcQiZfe!*b?CZ|PN%~q
zU|E)tN~NG_nm>_hwTg5)jlI1+tgo+wO7lF*b5I}9D3wY$K0e0n?X82=v-}o|MeOhI
zBaukJFbtTc$rTY%6cLNX&}y}CaBzT)jSc6uv$Hc{KoJ6;OeWFm^_;;Y5emXc*v5K<
zCJYZQs#2eX4}T_Wga|3XCX+(ED8g{~Wr-(|;lWFc!!#9<cDwBujuew535udP<G&$7
zz$=vstmGw9n-wUj4%#&Z)r$;7{Sh*m%v~-ooQM}03aVm6Vr}aup1-<;q6&5?Byvr(
z>NhAHHgWwek8C#Ul*llN1lrk|nV8|(!dk6{C)>ZU^?$mKWGW3YMjI5pxxFT9A^k?j
zSGk0%Q)ytMn)QaruuY{1siCda@M70OCTD-+(&#->LbmX7uY;rWI(l6-6jdft#LFY(
zjm>8kvY8yzq~s_uvMz2blj&mhv57z5jZnNYmD%0@lcebfNvMiF;{LZVmePfmZsWS2
z0<%u7aet}=N-cU5qm@8hNJELqKHrvImhC^IS-s2Ud8rY|?95o@-xAEGhWLu+7=1X5
zo;|mv<EGRIZ6h6Lb}@(|G_KDDoPOw_*U%uDS;#^TiulmE#*7R)x`r?B+R)2_=lWTW
zsm;#f(_sZ>N5=N<QzTW{Rz`$rn5gS5ynlOv(|?b(xon0rIih?%y2Ot{6|3tj&{h=a
zw=G;<=qO({=XN}qh{(8O{8h2;j78j&%=FN>=#%gLBI3S@;f;v<I`uxnL%6X`eT?V%
z?r>@L|H|x<NUb0X7e&OcaxGJfx73R6^O4AvU!IRBfjz=|)$;U6qtURU;1N+(Rbgp%
zj(^O)e9pckvLrI0+1Yal_uwJ^g-HsskS8J&D-vY!yorp%6z$aFok*b6qDN+|?<34d
z%@dc`J|1^Z%KcHqJ$O^Z57*Ko+<Syg^jok<B5rK=XCGk_vK9<ph%iin%}$f42a7cd
z@YD*(uzB>k3^r%d<Yu$!beTHc4*gD3-gAf$#$i<kh*0b7$;k<Jc6OXbVII3oyWOsX
zk+2TD?(X{~1<K{J)9S}lFXJ#FYCFv3a(5{<()UY@X#!8(rCvms>3vg+O$w`(FI0lV
ox#kYueueb<G1128T>lC%09A-MFpcEZasU7T07*qoM6N<$f-kfGGynhq

diff --git a/res/drawable-hdpi/btn_keyboard_key_pressed.9.png b/res/drawable-hdpi/btn_keyboard_key_pressed.9.png
old mode 100755
new mode 100644
index efaad9612d2f3578707c27318e384bd11d0e3f7e..e43504ce0680e2f5546891ad33a8842ae61fddd2
GIT binary patch
delta 1038
zcmV+p1o8X01-b~37YalO1^@s6!$f9nks&941KdeOK~#9!?3>H3DM1v5t7(@QcmYHt
z5+l3@GcPM*;vK|<F(w{B#H~+OCCe#g)vZ-`my=UT?Y-H3`M+Mbs!|xsuO(StJc1vC
z!60Ej+;+QNRAT=~`wtRYi^Uhu=ab#<clLNZcn`6a%Vpl<IA*0%=@SGXuGcG@PN!^t
zJRY-7r^8Q3l7#mnTNFjS!^7S0_iVjhv&CY;s@3WX<^^)Q-PmL@VYAtcLqUi4LIMHN
z-ENoldOfabxm>bZt@aKAE;SmBUT%dj2;l+)H`NxD6xTu!=-?@!bv~bef`IsTyG??G
zVi8dbYQ<;s7VJQa5coSSh{`HyuZ19g_!_K2W-T}f0YbHi{GO=mBmE*!$ROZ3piNmv
z5JH408Ul5RK@Ymb8bX4odeIi4^eJN`R1lrUpR$NbUnZ`V7S>ceok3Ipm>sgRis`zT
zW+AwpUCWeyvvxJnN|>?mf#Oib=vtz9@pVxkvUruISXV<-wWJ6T8A{e=EQs=d2_^_z
zNK=r@;^nHYbuAl<6b*t^-D-%U8>YCpm3*um#I7J1^j0xK^|T;9CR8$r3dWdziwbt}
z9x{lrvQutl8Ug!)(z%^H-9=qiF(MbltgWEBK0<&Nrx>9E-dBvI9lFbwpmdS0<vO|g
z7LH2Asu&S9I?WLCm?he#VpUatHx@)weE0^`6-mnFwZnK3An$p*Dc~{nQls*(ERy%^
z(8?mzFg}!(6qQA^Af`!v2=jHy4PzUK&_F1dpIJpQX^OKLx#pFUzh0ord-1`><pCt|
zX$>DUMBRi;XOReDbkw#2v#9nqUJ_FRTmwFhcxq7Sl76kSmTm6#wPdP)8=6q}c3%5c
z!TF348wlq`Y?F0-#)4^pD1Kh3vVv9mRo&G0kY0`t3P4WB#zpKj0)1J=B^^_(<Rd+X
zaE(}(32cMVWd+ejyh}P(x|V!^PB<m{o2RQfmx>XkMbh|X8cTcwZk4rcQljlKd5n6s
zLlo6gewKpM!fCf~xcX{;UPE{rZLyC4%wy5PxsKSlR|syUtt0a15P1|e*AIW>r6JO_
za0jQDt98TdJgtFS0L8A15!iw%0;m>@iw3DwDqO1)1Wtg1aBC`b(+ts99O<r)UEK34
z-!~SmaXOv&rbjrK+G$#}MbIjs^>8?dR*7DJ!Dis?cFX$xzH-ZXY$zbmK`Utfut=lP
zV5`-NA3PimS*z9JCxiq75BGRHvdw10wKkj0zsJB2`2Glpy<9Hrd_ME7<rp6!HH;Im
z1U&e9z0Ti*?~ladLGTX<c66%{o9JF|MN*eYSeT8}{6~NR0N$@jq0f0$0{{R307*qo
IM6N<$f`QiS00000

delta 649
zcmV;40(Skn2)G517Ya=X1^@s6<V!cDks&940$NE#K~#9!?3>T-!9WnlXRAR<NL+E0
zcpXpR;;kILgJ&Ub4vrFnAXujPjkIgo{(eb+rkj~$(}NA)kNLCPc2;SvA#YPkJ$^>3
zTz?~qBItIz`P1ZRv)N1q;E9DkKs-Vhyzz*?p|#)dVYl1C`Fv(6xLhtny<Ue}t@a*&
zWV_u$r_+Jqa0tC#4{o;`{6~4toCiSwi^T#alL;)BOK3D2_VT-0tzbMJL$le0>-EYK
zq*N-wX0w6OXawzcJN|4wpR1HdP&`6hE|(O@w_y;1Ku`;6L~S2)1ScQ_4Ne|GZ^RWU
zc&Sm^3X&Y0KxmlWuzG|-DLJ^<Cr#pi5%wOzN!&e>8N@~ZO^+n6h0YPuB_M?Zu~jZ^
zRV&jr-pkOUQq1BG@Ug#2YRd#-t|gr8-Jk1R5V?W83wLLZa0K~PjwC(9>9NnB*O9`4
zaLy3|$($oxs}}8iCA10|T3qiCU7Gw2Ew6IKi_oHpoXf8yyW|Lm94Q>g;c(D@ww0aZ
zHlA*GZ6NYiS3m?rKm<fU1O!+1D2lK}PZxcQ;%}Rictnz2Km<fU1VlgtL_h?@xoJ$c
z+|l4*E=~S~7M@OUd4%I|h88u_V>>xsxr7$#B5jtI@>dX?h$9Tc=NE8k@<&ai&zusP
z)Od!34w=x?Z!R98KNvNdUP*y;;8~LCbP9vP0IJpM^RxmNk08kLc#Jio*3=vn+3)vb
zr6_#8Uc>2hV%3ysLRBgiXti3;5PLZYgYLo!oX(BdKx_#g+9p|&iM_?4Wu71-GhfSn
j+kPG<ni}KlU4Q`q0e6P-xG9{b00000NkvXXu0mjf$!{ze

diff --git a/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png b/res/drawable-hdpi/btn_keyboard_key_pressed_off.9.png
old mode 100755
new mode 100644
index 43927172310d4d3b24260b4e1ec2280596d4d33b..e55ab1ead14f788b0cbf1d0232f866c65c9006b1
GIT binary patch
delta 1307
zcmV+$1?2j~2hs|VNPh(MNkl<Zc-rh+*-9ia6usS+`-Uj)qN1oT>Tl?qKP%#kf8c}o
zqPQTqpgy>P`_j${+~#&VNhQ@))iuKeGETRt)H!wTmQ*CluT`>~yo7%i7Z)q^7q`R1
z!%~_4k@lZR(OM)w{QUgT*Vh+)e}Ai9#MaW%qIwiXR4$k6iGP5^$Hxb)udmbU>MBi5
zO{ohim5S=kY^733bv)ej^K;tU+oP?mEoy6PtCFb_`TYE(wY4?c*w|2{(D7Z7hye8T
z^fb-R&MHjX+uPLM-d;-tCbhD%QZ*|k!z4n;;HJ)ml3*?-f(}ao*3He$dLjTnIXP)0
zQWQlb7RJiYrhmrS!Inwz&!j|bswAC@iSTErVvJfC!~}|}i2j|#RTqAlP?3qia)8a6
zN0@{pqm#J4zNWLYGrGOKrKhJS>g(&H;o)JLnVF%{(a~(G%|95V(*u{xAx0v$j&^)}
zOh-pYDj5w84bk}cxXL|`kB_vwyGsiT3p6)3mx&@Ke1BFSarK*<8#*~Tq5l4Ur2@#{
z23=iU)YH?W)B(}%?rs_x8Ocl;8yRm!E-o&pqoad*dwZ$1wY5fSkiz#!pcn^J%Y#TF
z(}MW`EQdWg5r@Oh&Q5xGc&Ky4Mv`YR5gP#p_5S{@OiGS5fx@_uC>J-D!z`RT*tAUH
z7iw^RF@H7AKOh^TNSsO>v3O1{Rbov`f|sA+<oEaYs^Wx?$jR^%{_*zqMgs!_sS?q_
zOH9tpt}DXdArgVe%gc-M1^5KZj)L>`^;OM-aaj=2N$F%_6QWcEN$>RZROJp{3-CGy
zH$Zs}(*m(Zom>a6XLYA(xfB6dJZ<EStE(%zyMMc*=jUgYHwFg>X>4pv`4OBwjc8>f
z!dcy`M6s1A@B!qKrKP3nQj-^8>?5v-q&sma5q5enA2D@#5h4@RNt)1-_=zN9BNH2b
zP3*I-hV>F%ClZ_4O=e{xk_9Q3+3Cw&#^vQBdP2-v1>5{g0$754#N_buqP!MavUJy#
zFn{4PnpWK6DsA&Jg<_kJNQ^-%L?0qqnU%{&f)Zk!f22*&l_X6j?=0gbfxHy)b$AZF
zrcIHC6v?xBD`G0+^H#*iM`Fu(DXnWI)=Wht7H1xDEqRMX#6%`&U#mz&oTim!(#s+w
zC)%LPyZQ|^c@U|jsfO>^xa1eA3W$`LjDL%@FTgCay^obdCIF!hp9H+AC=3a|UQx?8
zcBi3)z8bXs&V<W*@7G2yO&{?g5xj{Vr%sx_5LY0|_l2(g=GgFSyJ^}bz3v|-0(v-(
z-Na4;FfC<5!m+89(+H16m?LsU0$(Q#*+KLH9}<qOrlk*X0k^&ENn06{k60B+Vt<!O
zlxT#wSJd(eiN0g<sCu0xift=DOTbCVIgfCJ+G<`Uybrc04F}9)(;+yI_?TA_%*vTZ
z^!E^XB(>0&Kl;{?(X{vkr;OFEGCNN-_z0lvRv*E8K}o>2VccvYc+U^4RwB5756tjM
zhPV}CT7Kl3pSwKstKT=0YTz&#4u3sju<4{}vlU@gfEA~Zges-#|8M}{;NXDf=jW|Q
zW{W}u9aw?6P7xdg*xA`pgO`_=X<}kRT~H(<c(|9Bm$bjXudwoIB_i?nBLIsR{y1xb
z_vq{&MQZFPPy!DghZpc2{(dBqgYXMDyX!bpvzs)pnk4B8Bvj01#QZD302J4!+VOHP
RP~rdp002ovPDHLkV1gA{h!p?;

delta 906
zcmV;519kk;3d9GHNPh!nNkl<Zc-rh*%Wmp05S@fjs+3oGtSB2$H!S!UzJN{tiY5Qh
zUuglcVSxmwKwHWia(k@nE0da6F98#IBr9!Vk~uzeX6(d<<2dBC8HVxw7{~DR8MbXx
zHk<VxjfeL7`f8Zu6SMpP;yZN7H;ni<w7$N+Xfztpd_Gsw;eVT(8w!WRba!{R9mvPW
z2R%GIP`O;D$Hzxnuh(>r^n9=mOp_Xo234z7YPDJvjYj3^x7}`2rBb0-EJmx<N=YDr
zK!D!g-|6Y;i87fCyH=~!j15NMJU}d$%MBox1_KZr2z-H$@NK6?&;cNLQ;89<!7`Nj
zBS$$>AYxMq2!C&GHl&R3P!gNW#PhiMIc%3tM>B$Ry<U%o!y!x2p-_n8@i?VYDH-MJ
zF@htKK(pDTx3@P627}D;@pw#~PKWyaKIL*bvMkFphK^zcon(wG77MD^>ol26SV0m;
zAFO~O<oJ9(&p>*~hzy9iE%rt9$X*!r&(BZhv^#|G|9|c6Ee!?(#+I12Pu<-5JW3+~
zf)U5`V4Dtb9!#KEC6mdM>qXSZK^l<(!4dk{7yED?{bUbP0tgJn2w7@ZT|s|dv`!6X
z9}sh2c0j`oFhPUhw*kS;asB@OerxtSrA~g$2xi5Y9fK8~dd1(&W-~Sif<C-h0{mBK
zaectxTz|1xq?eZ$mYo2Gr$Ssyr_*fekGkT8Mlf)qZwCQ!*Ajjn3$8+;K;3Sau>%&6
zb|aAptL(V$1qfN4JGvl>Kf>Rr;8>kuTEa&O+CX|fhi#k4?$wA4J*qp}CG2R8h|H+;
z+UM7G<Z6NJ(ugWR4%Ub)YpDX{;H;%XOSRBCbboGhZrkURe?!Yx8u3MF@s28|UoCd6
z5fwCYbwIwCrjD$#t2mA43ppte+qUtt%DHw%{QFf`GjeJDXdoJh2BLvzAR34UqJdn&
zq*2^qz?&+|++99tMpR?Ok}W6k(I4A3a8v~d{NldJwuk%xf{tj|uEcMk%AQ8}#Qk%3
zv47mC@!6U0spX4(RT$v|3?JRBYyiR5+2`kHDwRs?`#Im7sR|<iGM!GDkMMP)kGSs_
zj^jHzHUg-!R+oXop0PwC@h`-F?E3{>=%CUzSs4(S;4N7viI|i(!yRj)x!*!w+Wx*w
gbo<DTe*_o+Bfh!IeFUxE00000NkvXXt^-0~f>kWKq5uE@

diff --git a/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png b/res/drawable-hdpi/btn_keyboard_key_pressed_on.9.png
old mode 100755
new mode 100644
index c2cc3204482d9ee2a41d3bc2d4d5a3afd7f5402a..02010b443e142ea497760600746e4650f199a660
GIT binary patch
delta 1364
zcmV-a1*`g>2#X7lNPh(_Nkl<Zc-rh+OHb=Y7(EGjrz8pmng<cki^QS=y10ujy6Osc
z{8@z9u<NEst++@PEUI!#!bOQn9+!mh2yQ;BLx;)Ccx-IrRvl>qPR8~*KHqC56Ck{1
z1$prpy{xaVTlg2Zv$L~U9RHE_Kar@l1b^`K^n}O9M~uf~yMITq&CJZ$J&{Nt9*<8G
zArklZ_t@Fl!PeFm>h-#Pf@N8Df6Eq&#q3TG_u}FL$H&Lm-`__nm3k)gOyuF=0o&W#
z*xlW=Nl~ZwqC|v1FE1}+b#>LobZ~HhbUOW#2$|I8=H|0mF*1yV8!~iLZ9?&IEk=Yo
zSqfp@+uNHaLVw_wmX@SMqM`_og<)mS=7qBpTSkKY^-4sgiq~r~BJ7w{kwz^V#0W%H
z5%E19*Hrjrgj7Vj-7ebgHaeXS27>|e`8-Oc5*8O1Q7jfiAwrfz*pzvMk>JVjB(AQm
z(7HQ9YUNi{zW;>GTo0q`B5oQLd~AM$h2eXY%Vqzo&3_37-suS!pF^ZXRK3^hp`ZQ{
z)$e{rcJA}vXUrm7eL|_)#O-w-*T38$-TA?HWf%z&lhQ|YeKd29`ulU_=d+X1*{Pe&
zR)Ku#9NnXH6s*l)<^d91t`(WBwNR;-CZkHq8x`u4eDtXWt7C;i#FJ?)e0`5>vgCNP
z#mTtd(SMU~$<s9v6#*6<s<j1-<9)}QRci%wf3jSGb0SJ($hlpcmMr{^`xT_-oh#z|
zc4aCwz9yNnh{dkSN)<=b;=%LBx2<^;%Xb)Kpf0hIM{hFDPa-0C9+Nh+i;A%Kx|bQ0
zS5}ZIT}{Z`N=Rh!a9u{{lAhkkcOoJwk&I(PWPiu)%OP?f3V8SJ8fL$|!GqPe2@!#0
ztbpO4U*O}1JG7cTUz}V7FJ^VEY3UT9_WNlUH@zI{?~3@UUc+1|jb7&tjf)%n@mp^~
zc3@nWc_qTKx>1RuEmInw?d~NaiB9a62y=QPACYzbq}No!UMFWf5fvH7@GD~<bXhN!
z=zk&+$ILD>D;bd>Na@T@obEDQMm{1Y#GqABU7wL4EUtV+=J0;`h}Y6xR6>SJYFfIe
z6@+=oLb1w6c#N)Qh$cjWGAo^rxJrml{^2)4U6PcUyta(z352DHsl&6-D_azKl_Fs_
zV?|_TeAtSZ_=sZ}&r7SDiM^#FJQi&p(SJ>OqeMhT#(41|YDBcA6=c#2A|!iSpbNYD
zb!+lO#PU-OKW2!!37Jlj7$c)&Z3-}mY;R&E2^j#l4(|oLtSEF7evP7*Y3%kx32`>4
z`b>t)c<on3&QBjPA>n!v+esZieZi?f<i9UesbCa-RX6p!q!;}|MnDY5j*Hk{0Dt<W
zjGJ&QYjHoqV-&8D&_x1MCv>xdXae3%I98gLI6wzn2KqHmS9Pw;N0f?qu}d#XyoR_@
z)G`T)rengWdbK5rYAHWRz+TB|w{W<%)v!u<6Kn}T959SU2iJMT#Jr+lR@yuweh(2w
zQgi#|kGM1>H7&M-laJN9GCNE)*nbv4zAJr%wxIF^R13y$O(dC2+E|rD=mZ+Xwx&{d
znj!k-N4o2?&hPmZ@0;M&Xti4Qrbikq+iCjNiZE3OYopQNRf#?SN1K69PfxM7wx--N
z8x<nd2`gcqQY4ql;qdU#9=x%!fm*F*pAaP?^l+QaCQeRHY^;Ss;h!<|LQTIPv3JRh
zMi>r<_SSOdA5m(|Pe=)R@R>};evf`XlHdo?2juL`tfJU>^Lmjab%6xYY*NgB2`~V{
W7`ik3vC&@u0000<MNUMnLSTZ~v7BK5

delta 997
zcmV<B0~-8`3!ey(NPh#tNkl<Zc-rim&2HL25Xb+<HU{&NK>7h9q?M|uhaRf-P^piR
zC&(plm1Eu^FVIU4y|k)Y5ULtck>*QO5C{fiyE|?c8Dj{EVzMBwv_cA#_5A#wnO&Qa
z9LGV}Ly{zR8Al5B8oI8dTrP)C6XK{;DpCw9GL%(-V4;hZQGaB0L#x~EqSNVMFc=8w
za6BGII-N!;m6{IHZnv?yxryD~U2Jb}!?tZKqCC%?2eBAxwHgi%4p6Vxk<Dg<%kRm_
z3HJB*v9`7b%d&(7k!2aJRttN3dnlDk?swH{RT@)-oF|Cka5x6?*f0daLC6>Kk$jt(
zBV<4je2Sz9sej>CsMth}asolTQzQ^R{b~d%!b8bBMH#bvx|bqUo@tt<2~|~*$z&$V
zq0owu<5bz2Mg>y30V&ae)6d|~?=m*@*C-Z?P!vTBMaU>fk$%6AMxz09;|PV1U!duf
zd{pTGqx&7LZ|68Z{(!Bmtx#aRip&iXM1OgCiCF0fFMr<uL^7R4Or}N2j)h~+VVhG8
zr=JyETqIE_6hc$P`+4UaAvK2a-zdI4!+JgkS($uBO2i#V@9H@J^orT%+}sI65$@N$
zKqxnoPg}^X=b<MRSBZ(c#r(F{O|)|@n0<3p^MwMT1@x2(U1K2X^!Rr)6A7Jt-$&rZ
z777wnxqsZdYh|EHGBi0pC4R~OK4Q#{?8Df9X6<WpD`IsvVD}`bnUtI8{$UN7y}`<H
z@5yK#VM2?SVs|0q8P2QhP?^?Pm}xgv>whUEh+e0U(;sofhU`EG`@z+q^Oe`Pxj_7T
z2_LQcbJXlBynG`gsWYc#wzy@Z+cEI#tAg%Xj(=7N{g^WM&h8H{@Az9!p><|J&sb13
zU|;~fEA~HwROk@i8-3>-38J@qakP6Ae_hDI@y<EoRYs)OKKI^7mKNl;91#Iz?i`s`
zwL}1!yJ|(DC0b~S`pkZtPpcbRE0rTF5n9|(<nkLOdz2$0<jB&2Twh;1K|8yM$9Vp@
z8-EC*>pHzjaF$(>)%{gBQslAoCjyB;B9I6q0*OE(kO*W64vpRp13pE0%$?;^q=;yW
zC_#^t^gB6q&(WtSAmkVKEue#L5`+wC@(v%~M<{|C<P-PLZ=(3Asb!Wok@1IpQ54}f
zn0)lBG6q7evxkR=*xA`ZB9Rz1XNsZ-fnFGf;rd9vj@fwoe#!A>v+1@qiPX#Jhtf0+
z`Fws9ViSG8Bo`To)FvAQ5|r>tkkLc;S}g?7A8X#>e+&88<K|_e-$(cJp8x{@50W6*
TvCH#q00000NkvXXu0mjfv{T_>

diff --git a/res/drawable-hdpi/highlight_pressed.png b/res/drawable-hdpi/highlight_pressed.png
old mode 100755
new mode 100644
index d2276feb82c5fc8041bf75e171470e98f8aa7830..ae04901a0655fce7e719df852977c0347e644f0b
GIT binary patch
literal 4110
zcmV+p5b^JcP)<h;3K|Lk000e1NJLTq002w?002w~1^@s6$Cptn00009a7bBm000XU
z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag
z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V
z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H
zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T
zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j
zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p
z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i
z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i
z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf
z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G
zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u
zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm
z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v
zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW
zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo
z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X
zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t
z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl
zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4
z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_
zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l
znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U
zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0
zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O
zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p
z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya?
z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y
zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB
zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt
z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc=
zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C
z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB
zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe
zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0
z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ
zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$
z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4
z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu
zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu
z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E
ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw
zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX
z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&
z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01
z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R
z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw
zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD
zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3|
zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy
zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z
zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h
z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F}
z000F!Nkl<Zc-q{Y{c;*H48-L_36spU58K!3`?b>~p#DMHGQ^g4Wf@3sro%x4XaBrf
z$-a;F{hL^8B25am7QAP_f4&*{TQ>Rq&ezREbpIf-+eEe|(n_cS;Hr*;fU$x@n8?vY
z4o4AveiYe1i0JMFZJDAPsVEjy1ZM)|(L~-3BEMcm^y{<8A85NR39DTh+6*k?p&gDV
zSU+Cg753#x<mpl5VOIpIkt%G(uxw(#v%MZfe!iUcb^maJ^}H8()Ja$^slZBL(S8Ej
z%iF(K-EAjjJ!+sZ6wpd&D`0`pUf)iZrD?xv$^ToC03yik?6voqowXqdPlaJ2U^2>E
zRcbU4;0R<2*bFRIWo;5n57G!uq%a4XPQ$t-u*y&cp($N2wF#A70~o5R(RVJ}WD&58
zqV5UUibRkK$yNw33#csw<Utz(W3yfsT-DU5fuN#9G4iiY2rHHS*!}9Vq6f<BERs<p
zg<Z5CFDquju^~A!VWzBLK>@Xx(xre0sP}&}X5T=iA>a^z;)Lk?dxh(-2wVhfWk`CS
z)PpzzB@V2=3PX+Edyj@9t1d4jM^Fq@o(IZ-ukiAX2MWoGRSS+$C`AB;0N43@Edw<>
z0ndaaTOvpjob)^_>dfdfwv?DDUJ>s?N`&6}R~vlxAtX_CjUZ(v?K9w_Y=*8pFz^~W
zmy`fd3#$040(R6HVoEdgGcTcZ+Otu9(i|USUmG|mnIwZ+1R5=8@3)k)n5Ao^(W6d8
zpsJRZkbbvwg|W&)>n&Dc0(4|XVKOMV38g8N5i`p!)oWr%MILz>aFQcx&*pY`CM40!
zIis+OW0U>HPqRgaFJK3<Q>AF?GRlaa%A$-cBZXBh5zm~8%PMTu>h7R#nqK{^C_<U<
z+Jp~Tuursc3rDg-aTO}as%y6W)Jc#=_*a$6qN=-EUF21dn_O$ldKv3oi?{7+psqbI
zpB7lw{F~Hgy1M{&hn-s4#(7|gYeuiW6}D0Ds#DGBl>ILu$&Bu`)%2-N--6da`@Jio
zjr^U3o2EvJIrYwlqj&6?+h@G}(LYFGRybNls*COXYPEG(s5{b(Nmr=L7I@U;T_Bf#
zyOo-yO{mMr(XLc4(Kn?*cs_Qin&=Xw(X#VwO=Vzt0{YfR4>M;(Evcxe162x}JvP~I
z9p2b9ljV9ULoN=<co<{+8UHgcOBz7^as)EIVnqtG2|puBiSy4j963*I$i*MGR#;U?
zn&)At(z1;<$9&OFSn{}0UxL9=s_Jfz-ys<hStiaDut?ErLHGyC>YF}#wVoHM>`esO
zIw^BMq<{)@GO`XEfL^gD9hD*1YBkU&5&uG=F^~qor7kSbl)WqVqWciDMJqe09>GGr
zvGbb>&ks>>k-|i<lc~`uwJ2M%Nye~&(BXkR6(HAxMgY--!h9CZQ&CVBg(PCy0w~10
zsUY&MY)GP0E*rc@C->6xFf^Mn*C=GY3pvY;_!qMe_@F{_L<7Ul>uB^hD?&004!TL+
zfGG|ODw+~ig(L!rg*AB9)CvO%N`g?GUEIs43ov$XN~KUZ&fY|TY}JM9EI{}%49pWm
znq2q1V-+w4R`^r_WI+&_60LyBKE){u$?-}&BxNCpTL4Q=+VQd?vrx#C6|>oqnSf_k
zI0QLsgg&YuTYRnn#)2VE$>FEj?jaG}@cCgJFcI$V*KC1%D`-SLsPqUkw-4VUELnhL
z@vP|vXVg@2!_+Eh%Ya2Iv#ViMK%1D7X-Rl6>tt2)NEAfzlY@T`09&M`)+c8};Q#;t
M07*qoM6N<$f)#Y3r~m)}

literal 1527
zcmV<T1qk|yP)<h;3K|Lk000e1NJLTq002$^002%11^@s6j;bIX0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU%nMp)JRCwCloNsd6L=eTh<#9q>1=rys
zRKYQTPaJ_Sz%^3bgbP7oJ84#Ns2HQ^ey_V{cPpw|OS|5c)W3QCXGSCG+wWz~qP6dS
z_p8{xe*5EOPe$zD`R=#BS<bxQe>nY7vD1sP6^5XVz*!ru`1^yO+v(3YznG43BeK74
zHjzy~KwP7^D$oibYdFMdAMa1EckiFxk5@zFi(8S`w@&~!U8pcEx-_CdTcf}o+T%Ns
zzaKt=+o64RCvx}d3Er-}6f`|Eyb3hq;q6M>q5XOP5!?=IhxX+gkvFIH?M)LfB~_`-
z(5$e1usod9_SgNV_a9>14sVBc_gZ9k-4ZlSDzXz?w4H!=|M=ha*kju6p1aa^Xs+T=
zP%GiBfCj>Qc>EN~Mk$_Y@_#E5MFd-)t&cvlXXgOKy+J`k0A-Z8szgx`<P2yDTm>4d
zIxPY^f;EE_DK3CFTA*DLT&D{Y@J6cM(t_&F0S;B!>^CpZ$xv_^g<TW46$zu{s@e!L
z3rZJ)^5BKw*esa^*wy7y5LlE@X7O#}+Jl0oiS6!k<OrB&G?IZM#T}eKSB_KxvaUJ{
z)=W9V0t0Kgk*fGTP)Gl(Bn1VPhX6!CisQP^jyI_KEdm%pTj{D^%sPTO111i%|0xbl
z0N#7lMOn3Zt~!Hbpb|Y`;+G|Z8aDEPAz8F*;4^Zu2&51IC)s;YF)adC?dWG*l`SnK
z2~fNk7a2ACj4eSbMKBWEkkaC4{7omHO<fgL+YDA_aG(M(%6@2Poq?!qUsVE78uSXf
z3gMYiOjl_Z@4Un_IiHP=H|oSWcCBFJWRejYI#BO<@qUBi8k+SgCqFYL0@gL8h1jh}
zier_A)@!Wd1Td(gIGGggr1A!wK{LZW-D7e{g&)N_@M27KK3iyb#Z}QvTTxucu@iQ4
zmj|Q7AfO@HE?Cqhnq^Q=bx{VFNO4_5*Og0%S;egyZFX!MrP0`qVwU->72=cy+hnZU
zpqA}ur4ChO)mA<K)WsSl;#-&MqAI>yZHZZ+o1AmW#yU2(onhI|3hdksv=ZFcKXuHI
zU0^U;_FQP$mKc1EOY=EyfBf9Ao5Y;jvoFo(IIhk(b&Rvm%~hG!{!EUyUBsZ-`rqxN
z8RSOpXYn%9EyqkLVBOR^cICDtZ+rHl6laaCXQbL#2&>gMVKKs%XM%Z$+H64#E8bOe
z^xdsJs9Hg7Mz(&Znn~M6miRQzy;M;&^=dX8UaiRtENh6kcC0vaTG)~biwx;fT=m!q
zyT{>9&}pJkY(!>#R~5%5h)jGmB&!<G3NKqE6L+jhaaM?TObKEy6=y(8dg?<axm;Rt
zU9M_Kj6;=|J$ZA2G-`|`j~m$nG}54}cy;0-l0lK->r5ex6u%aP1wd)@<bcjz^jw&|
z86#U~W$s56P;utF_Ha)Goxvyvszc_gDHulujKgTMLSZ@T9@B#%!P}d`7~Kb&Eq>X~
z`wSWyJ16@bRR0qN7%5H!yC@u83XHNVn~Y50e(i7%=&1skFB^eG6A$xQ)DK31S>&oh
z1a|=x<K3JQ#kR`xl8~;PP2Qt}2#3kR$n3|=!N|ro<f=Uq-<WN%Cp4gzMW+!&AfxZB
zaMdh8>R|>3be&jWQCF+WRS{S$G^f`wpemm!Ef_be6u%X<AqgNDX&JDaR&T~YmhJ+$
z3X*<&2J=K1mGfRV?E=R@gP#I{3``<jtrc+Dr*>sw1p^M8tI9$kmjIU?9H7gQ%z!0R
zj#RTL)6p+L!@!B)kC@07u`9r_fXGXU+~vV*NEjD<eq0Wm2zNJfwotwlJhGk~sTOB$
z>%N4$vLF*h_$ZxtMqM2@rmcdv9GoOaO}e0Uz$<q3Mw{C(<8)p9R20a9CsC`}wa#|F
d?&Ti=1^`|ex8Etv*zf=V002ovPDHLkV1lu5$P)kn

diff --git a/res/drawable-hdpi/sym_keyboard_123_mic.png b/res/drawable-hdpi/sym_keyboard_123_mic.png
new file mode 100644
index 0000000000000000000000000000000000000000..62669803d9c7c7b682ac2f0dfca532c3f9031f04
GIT binary patch
literal 2575
zcmV+q3h?!bP)<h;3K|Lk000e1NJLTq002<{001)x1^@s6@3Z7*0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU*u}MThRCwC#TYF5D*%hA|=E<_WVSrr}
z-DN8*Rl2&EMWWSJ(m&XA)ocWbMjHQ6SKV0ZBQ_0EYYc_fC~8KnT{NWYuGK)-X5%A@
zt5&TV12!66T2d4vAg>vi_oL^KbCZ)V^F-LT`rYK@W9~iYyZ8RS^SoD;KA%q^w-;+F
z83GwZ8AKUGxyc~PAj%-hAj(Y!Q3g>4Q3g?NL7Vzz+Kf`E3^+ujqNiwh`r@T$z>}Cz
zhcxO}#M+{OG(=kJL-3qHE+P;0z1o@>Km!p#15gZ5EYNGTZ#U2gkQrzg$QDW?UsVth
zKs`_#Q0mg9OJ}TEv*shW+a0A=t34)@>FZOcPPM{V4}oVRa3gDI@4;xCwL<tM74uKZ
z2xY>N6S6uWBhZhktE;Q*cDvQb8ve$9949`VzxRg1NEr&K0M43kEQ(Dm{ECOZtdg0O
z@JoW<OC<b}hnW(WQM11ljMtx>bd6}bDL`)z4i27(i;GK?G7Sw4^~cA@m%^XzK)qz*
zzDNR#YK)E=Hx><)0F;cT0)z{EogBBC@#(1_`O<*i1e!!oBgsWGfCbp%{YEB(^ajlr
z&*W4AKpb7?+O=!*{Q-y#`*ED!r4B>GU&tp4?Gqb}B>-NdemhV<&;U7V1pyjEU?6YY
zx^?SvQ&Li5dwYA$2M-?n2lNdBJ*TIYv{O$YC86x%#fzs-pFSOdRJ69Xb~QCMb<kXW
zs7$0iZb@_%+N=XjOANL#8rMmzYTSLIl4&1mK@QOT)vH%;2Q%ptK4$;^{Trcw3IVJq
z;NB@HC@8sb;liK&`K0sb&z}OGAEU_;*eGjUv}n<sYuBzdn$6~3pQPcO`}Xat1HK}l
zERs?CQ4locSzESj`K>QV!*S#zes#ncg$bgH(gXxB7pVB~;lrQXpz+1*+`02tFqTIe
zgc_PwTU%Q?JUrYTY!m0sojVP@9{^>NZ060IH-GO7(VCl^j{)yYGI^~Z5OKW)n>TN+
z4fY-!M?T_@7({gheo#ZeB!Pxh78Vv3OPK&ugVZcKJ3B2}trq1J4u`{b`SRtv{r&x(
z88c=~&B@6@|E2(~TMUmska;@LG-uDA-O%0L{b6);bo$-9ciT>$JozXyGxLp#ii-Kk
z$;s$r74zoJD}l%7k~yWpEDAQN3So^Z&d>72u<}NA1pZJ{Qc{v~^ytz3si~>cv9qJ2
zV_?dZDG7qf<#K5y(brX9U;hX;{b^ZQSvlls$L`&`H|mA}kf{Lh&xP!c9Xkqu{!Krz
zk}xk@w(PT!k&)ML-MXb9ADIfkD(mX%J`zEJ1r`pThJeM7r}ua~QNcDx<9gz^(}#2g
ziTq<vw$Ge7V}_Jx^rh|X?H!;AEnQt*75+XhEdUoYR8>{=EzsX-bLhVuj~_pd2{4VD
zKvcD~v~*Hrk0V*fz`%eAT8f^Yo+q?fkuIqS3<Jp_$g%Kob;0&U<04Sv+AWlL+rlXY
z!%cB~v{>u%<;&OKxN)N~J3D*l)2B~6gUEOZL<^Z|4@F`8?OeZpeU@NEGY2iaP2jmn
z&Out?7L`X<R#qbLEfjLcj~{O$9w*HwO1uPc0l$3k;K6QK=Om}oX$S$L9{G?T<tV@z
zSZ+ElnkYcDK$QI#5IW*?nkblzNQOoFp%Z4def##G3dV~UFJ7P&$42uAUleue(xp$P
zO`En9BDoGg%trpczCQDwJ$wGTYuB#7F-`Qbyfi*PKY!Fhii?ZetyZf(6o|l=2lFhT
zu0ynz;qg3A6qUsY%j^0{tAaUfAFE-bDe@Y@$9<L#4F|x-b#2?W?F)LJmDR4J{w*OP
z;mx$Pv^)VI1TP2XiqLOhfk4HcA{85LMMXuqZEbC~VCy`4_Us_?v95>`??}v9lv;M$
ztc}blSjniO)I(G(87EGhSTSqXtl7eh!B^J9CjZGa(ZkO9oDhg^p!<N0HpAcdQEtJ4
z1v!<Kl^@@}efv}LWd`z@;)5$8zeE?Jm@{Y25ANK#W50g=x?k4=dFprI*L}!`ze!HX
zw0pu1AaLRD0xgr|TXiho5)m?)lJnw2hYmFeUd%C9u3Y(R%y59Fk(TP&nO`jBfA0Xj
z5A+kDipi5F{|3y{F5YwCz=0adO%o`(W&jmJ8g^Fj?A^Qf8Yup8_z>Um_2Tc0jEn{x
z7kwy)^7J0vcqZGCf@mb|z_bL-aFNMmIwtrKge6Os96(TjKBRZ0QxuM&r;)0W96Dv0
zi}L|(xqtuu6G@^zld25^Mc8+tOf2IS5&{MNCIIb^<>lpH;}d^#0FfW%Xgwl*8n<M7
zEKNgZY&>%0NEwufE3p&uJ{JJ^4Qzgh081nj7Nw<&a?*52seDX3qlt7_dy7e+8nUuL
z<RN!61TLZjs;Yw<Hf*RwzKt6<7D8t6LwF}@qjKTGg&8nMwn*HuAwSAdJ#MG>P3WPl
zSLzehYPE|^jPEvV+O#Qu#flZBY|}1CmOlXA_mLmSt<&k8kpDf%%gd{x)JEIT&|tDy
zEKUd_kH9BBb-Ue~n3$NP($doTeB+IcjV<gjRRll`c-;V8)AQ%gt&j=)0_HHF+^SWp
z-ji+wee>?!yKAeftIwkx$-5@nC!z+ug?=tT?VKWf;gu^_{^SdzJ$v@74fx+9^Ua5-
z-5N^f^y$-$<i9dWOT`(dmV6|xu_!k;_h;}?{sI+J50{6$@G<t|I2~rZMRHmmbSKK3
zh1m>Bj+D&oSZXu{LoEv{O;D-4?9xd2@ZrO6v2F(KOOf(orSc^-(6nYhn&YGStz->a
z@S$Cxffz8_L9@%j@1=s-_CWpq74%_d@PrBiGfT6=zO))Eh~ko`2hy0C6vbS$2n(4x
z`Z!BLK|u{2E{NkXUf>ItFiaoBOy;bfJ9n-Lo?pR6)4_-4c)eZ~mYkq{4-o+37w3sK
zNuBFuWhahVw{G1!36k{G*x1<7J>wJnv@t0u$z4-ZbC38OW4ZMk>-B&r^7X7d^0Gy{
z2t+NJ89&`o`N=<>tXB1~qc<Tdz2>yBT-6>xb3}rlc=hVlO2`8@1ll8{HT95e|Bfa6
zp6}z{nct1r{oJv5C49p{PK|v`bNJnigS0)0$@*9s>5|;%1YD~|qX~M0N8{eHM%b}x
z;`e!PEWOza_nc3~j>E+DL@cu$4{5TQU2BZc$MZ&_iT~>$zUT)~6Oh6+@Jlo=J9e`&
zpXiSCwomyo{bwLQADmz7M)`3m{G>_hiYDAA{=YOY)3^z1FBORYEvu6MeWDDa45AF8
l+++}C5M>Zw!uB5l1^~YXk@3?uQgHwP002ovPDHLkV1n6Z>7M`q

literal 0
HcmV?d00001

diff --git a/res/drawable-hdpi/sym_keyboard_feedback_123_mic_.png b/res/drawable-hdpi/sym_keyboard_feedback_123_mic_.png
new file mode 100644
index 0000000000000000000000000000000000000000..f57e581d5a318d13c2ec1b74f3d32ca955002a88
GIT binary patch
literal 1046
zcmV+x1nK*UP)<h;3K|Lk000e1NJLTq00372002Y?1^@s6^oprj0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#xJg7oRCwC#nt^fJFcgNN#{k|SY=AmJ
zoe2UH)ZKtg5N86@2}~w{Okg^JlL<m6h&Q0p-SeHQO4gHwO;Y}M_wG2bpRG^g>Al~c
zo=&F;Y#93j1b_>;Fu(;|z=Z)W-~uiTZ~+%^VSo#`S7)<p2QZyZIfrG^7t-g_U!@<&
zCtZ^5^xE}Y4_qOAM^H`MOaCGHHGmrqR{^c1Cmp9BB)?na+;DsFfK`^t$;q&C!&fdB
z%w95FVde5o1RR?nEreNejvzD7Zdn+!_#}NBxB|Yb++@U2Wy~+>8|h6zyruMS6f4!f
zS213sKdbxe+QC1{%vF?kbkCXR&mHHR{!TR{2kILmUK?|%_7aY}HY(<|lvg3KMaMum
za8nxKDZo?DM1{sXaRHABH}edH1Gnx0;*HTE1;_kIa0^DDoS9Pe391QB;#t|LCvHi{
zm3scBL98A3D=rN;p%%|PsgB6Gf&k_LD{;-3w0}w@Z6Kv>!Y&DSMuC<_aJBQ^5}-b&
z&i^X?==lBEqx@+r0+;<}UT0LvQ3()_+IL$5GmngY46Gw#LEM<}<m$O7+*WeTNm6^(
z>eyt!>)zQ!kcbvGwUl)C0V!-r|BOv!E1hWRZKLbCtC1#jZUJ!!Sh=YooGdJ9O-X@!
zX1vN+NHKs*?Otv!A(oex?;ZoruewAO=|3gdkbgm9`P{d|(<gpDwzg1MO0I28N-#Fj
zCUUP>XtB7~I3}v`%|hQ&j9Y&B#Aufk$Z1Lhvx%sU*4eD9eV$RAWeBTt!p$5SKx{?Q
zZbqdmJ_D}VJY@lGccsNKwG=T1T;UkFI7gn*250Ni3I<$ZS@nr_@2+-UHC_qDNNuh6
z&~Sxi_Rj`Zhf9NDcTYx#R(aCZlE&V;@Qg7V8t&j=8F1g3aBV4|X58!AcAlrTj)t3z
z0oF(h^N5w(rM&Ivw^Z}BLzew3&kq4NapbAKVArM+X2R{bW)Udd^pQ5570M7zMCAZc
zb2>=JWM$+>szG11mUBT1!B)~e1>XCX;_m`08Se`s=UTa^2)9|@Ggc8Hmba_eC;XRP
zvgZE^H;;UVX8v<Zm-gHh`!l?V*FGV>n{+>|Xj=L7%u-`x(TZ8^aTnZ!BM0`$o3Vr2
zXlj+P<kyR9w^k5%ooVW-(Yc$NT7)axW`;Lz?Dh~)Eu^k85pex7V(;T;;Apk`iT#16
z%~ZaBLCzi7kQM+JaAAN8xPS`-T)+if7~ldf;KBeGZ~+$vxPW{0_D6sL0Il%2ahIQA
Qy#N3J07*qoM6N<$g0D*Ji~s-t

literal 0
HcmV?d00001

diff --git a/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png b/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f9b493acaf521eb0bc2d234d6d3faa1f8a803bf
GIT binary patch
literal 262
zcmeAS@N?(olHy`uVBq!ia0vp^d_b(m!3HG1Y+uy{q$EpRBT9nv(@M${i&7aJQ}UBi
z6+Ckj(^G>|6H_V+Po~-c6|L}eaSW-rmGtNTe|u)jhR#MGgH?qgk2hSBkdo43IHZ!v
zl2yPE^t|x~L*yLR`MM6P<U52noZS52f(XNsXUrQJ^qM0#++eyS;860wA$O;LkJ^S_
z2VSm#Xc>>*K9(TUM$>h1dv`H<STlWOo+Qi=@R?B|mE%aS%5s?n&-epwJF>+nSe|4w
zjb}(|+V<F|h$WXjl(D72!^4A7Kw6>Ou<x4eVyTl%42*0H)-Qwht6OiH3v@Gsr>mdK
II;Vst06xcADgXcg

literal 0
HcmV?d00001

diff --git a/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png b/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2fbd0fd0f8f7261066ba80dd2d0c0341a7d14df
GIT binary patch
literal 250
zcmeAS@N?(olHy`uVBq!ia0vp^d_b(m!3HG1Y+uy{q$EpRBT9nv(@M${i&7aJQ}UBi
z6+Ckj(^G>|6H_V+Po~-c70vN<aSW-rmGtNTe|u)jhR#MGgH?qgk0)G_kdo43IP~O3
z2E&o(jk9D=6s}?tc+Z|Sum5~mO`Q+Jqu&l^8K1E5ojCT@;q2>+x$0&i%olRg6&2YM
zw#hSG>U?rUS>uRsgvXUH3@Nu?U0uyTAt_l|K)T69@bz)-fM`7hZlOyzIIdi1@NH@p
yiT;rJhv7)81Fta0&iRE~-bq~b5M$slU^xERVC~zUX`6uVWbkzLb6Mw<&;$Tg(qKIR

literal 0
HcmV?d00001

diff --git a/res/drawable-hdpi/sym_keyboard_feedback_tab.png b/res/drawable-hdpi/sym_keyboard_feedback_tab.png
new file mode 100644
index 0000000000000000000000000000000000000000..7754752f3a12ce3384d2a6747772ada1b0bfb850
GIT binary patch
literal 462
zcmeAS@N?(olHy`uVBq!ia0vp^#z5@C!3HFC+IWM3lw^r(L`iUdT1k0gQ7VIDN`6wR
zf@f}GdTLN=VoGJ<$y6H#2F3zU7srr_TW@av&uwxLVK3;jV35vu%w*yCQl*vml}aDO
z>>GXo>>0s#4)A{1%hG%F-{Hdk>V0+bMUK7}KPvY87A=jvt{SG~%fo6Am0Vc)a87Xj
z=GRZN+}r;=Tl_ZsckzzHHXa5`c2v$+OmARhlSqIPZmMn9lvJnQ@jAU`#T!+}V*9j6
zeyuf6&aj3=y<&KEVZn{PkpUCh*3ERxpLT4fY-5&pbDE{-l3X?e&Mgu>m+s_x@n)SC
zRItn2-~aX`x3g#g@BEVq(+$G7KTh}h{>6xG3ZK>q5!<3l`yFX^Gtygy6WOlX&ERj9
zxc6{<jREh}Fv*mVb1~KoR-KCeLB>&C*X{IO70P3a`>VvG=7>(3U~f2av7*b<>Y^;x
zMV!Wxi&%wO7AdA{HJONsr8_Db8Xi>KXrMG<XK`D)gmjb45<LTHw^gPl`m-C6eHd?Z
ttA9&-_QH7SR=#>mMz$IMyDhm57;+|OuDa9gYygZP22WQ%mvv4FO#u4`t)c(`

literal 0
HcmV?d00001

diff --git a/res/drawable-hdpi/sym_keyboard_feedback_tabprev.png b/res/drawable-hdpi/sym_keyboard_feedback_tabprev.png
new file mode 100644
index 0000000000000000000000000000000000000000..36f6b536459f3c4b1b94132c224cbdefc102acad
GIT binary patch
literal 463
zcmeAS@N?(olHy`uVBq!ia0vp^#z5@C!3HFC+IWM3lw^r(L`iUdT1k0gQ7VIDN`6wR
zf@f}GdTLN=VoGJ<$y6H#2F5~97srr_TW@Y(<ZUt#U`tTpIlz`w!Z63-E{oX(PZ`I#
zE_WMPeM*?k5A1$o(yPC0>(=l;`k5RmY<4@fp9;Cv-cNV#w2=;ASZvBwoF3+zbt|XW
z`R>!QyBY2_ulH40$6bn0I@`d=CXoOq+Gq5wp5->#rcH5+<)syqjtQh_PB40DGI`4{
z%Oloq3cH`EH{1}&muOm(>}<isFW_b}v*|=T(@(C&ypN`&wLH))&t{Z7U99d>aQy4L
z7C{bs=dAAeri||&%w3o1cYAf{EK4UR_soBRW~Q5i*(#46V!d3{r*&k`TEn0W?No(z
zQ}<qGIiRp=?$p$`A5QWqs+8C+U%xDk{leS7OIFFv;#p*9o?rOsv?SBkSq?kf_k=Q^
zvK3v#HDUX7W5%t`2RJh1g`ezQC@3tl<f;g_$Qn+K1=l~>bjlrI5BPq1tBln10}RYO
z22djTH`f8(8<RKQU)m!1aI$bh!_W9L&JBzV*UAgcUTL&P0%M55)78&qol`;+0E-E>
AasU7T

literal 0
HcmV?d00001

diff --git a/res/drawable-hdpi/sym_keyboard_language_arrows_left.png b/res/drawable-hdpi/sym_keyboard_language_arrows_left.png
new file mode 100644
index 0000000000000000000000000000000000000000..65ccfda875c0c4f1ff33d4572678ddf15cca1abe
GIT binary patch
literal 314
zcmV-A0mc4_P)<h;3K|Lk000e1NJLTq000;O0012b1^@s6u)3^E0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUy+(|@1RCwBA{Qv(y11$j)1C7C`1)~;>
zTEM`-g3MuLWF(}X1DNxF(8>o60s;a_6!`!LkO1NUH#fHkaUcM)r%}@a2Sr822wPiQ
ze{ODWi7#Ki+@O{Z1fZ@?P*zs9r&=UKfrX@`WT2y?V;Da_zXDZL5fFGdI5-rjsj1mB
zGc$8gJ(*@^X1W6@cba9i>C>kd0;xut=47BH4M55fh#%6dr~q1W07w}C@dTQcML<hF
zK!c1T-w-S+kbT3&#r1|{8$it#7$yXOsZ0S`Ju#SZv|Tj(EdU5G0DP!j=Ll3O=>Px#
M07*qoM6N<$f|${8*#H0l

literal 0
HcmV?d00001

diff --git a/res/drawable-hdpi/sym_keyboard_language_arrows_right.png b/res/drawable-hdpi/sym_keyboard_language_arrows_right.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d01bc224322f14f91828d248e9c81cc637a59f3
GIT binary patch
literal 316
zcmV-C0mJ@@P)<h;3K|Lk000e1NJLTq000;O0012b1^@s6u)3^E0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUy-bqA3RCwBA{Qv(y11$j)1C7C`1)~;>
zTEM`-LaGKvMn(=G^#h+8<kEp;9|#BtBmpT0qBVeQBL&CC#$I=Gb2|XkngPTTgv=x>
z4wRLZ?c?I&>J=3g8wmM^>`3P3=9cjA@JI*x24qPBDD-HOia@@Jii)b2l$5LlaxG|*
zO!@iw6?}bt^Bf!;K)&&yD4F5{%*@OjnwpyKKztp@-9f92);N9o^g>$r;2|iYfrcNT
zMI1~3Vgqc3Q|bepuBONbTwGjl2)UY~q9QXhQ-KsS8Asbi!`}jc00RIOM2ojB^u<L0
O0000<MNUMnLSTZ5cYUA$

literal 0
HcmV?d00001

diff --git a/res/drawable-hdpi/sym_keyboard_tab.png b/res/drawable-hdpi/sym_keyboard_tab.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d4d92bd16c5768e15bcb70000d7a8f7e0f0c16f
GIT binary patch
literal 1027
zcmV+e1pNDnP)<h;3K|Lk000e1NJLTq001Na001)x1^@s6|I@0w0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#rAb6VRCwC#na^tzK@`WcKa#EMnxw^w
z2wDVB{sVfEQV`Od+CssAp$(xZ{R70C^j3=WXbQngp%6WIXnQI3QV3Yoo(jQ(2qj>P
z6isNF#59{--wSVKTuVEl+icJbJevKHnNQ|@-+MDt$+m4@CpFpEVXX_)1^VZJI<6`I
zGmuQ<p{ev&a=xUVbrg|IFF_-K0GOY~wZM+ZOzg@PpcZBaVJ?zsV0ExVnk9>@ZBfR6
zf?Hc#PheI*<@5Okxb6k(;a%6xuty-HQmG(-uU4zE84K_n?E+#N(g?(7nkLHS0?Eb`
zARJ2tkY;3Cmc^n@?v{>L+L^<ia*U6Q6r1vs?FA6i1~ZmZY~XAFljQ}FLWwRw{WU22
z)&Q#BDwG>QSPJyz<>mXOQb~))<L}|R0#?FIj8N?qH3KpZ4i2uxVzGsEI{gr?Z-8CF
z%uF+PY#}`tQBxm!u~@vMC`w>zYU*hq5V)R5BwlkMHPMxYdW=97&SZh_hrs#(C`?f&
zPfkw8L!nUr*w|Q#`YDpm6j30FKKm)1>(qh&6eyM4aur<G%Rd+$9gS>kY=olG=zO(W
z{YqljC_@VYDFlKYU#4HK(>u}$8pHzGUoMyXoDT;F2k&lfZay0t8k#E<3O`U!rvdRR
zM+3z;J3E_z0$8$LY&$zUp9cm8lF)w)qVWyh%jI(KkQwYIdF8JtYw8Dn)g2I};bu7i
zm|Lr>tB+6uz#@r+y-gXmvA({Zh3U<^2?R6rWqf@6C9V=d^tNb};kvdmGc)rM>;b1C
zzlesWr>F0wQmLr(h3)O_-0<-5+}_^ackD}+WlIFeW<WGkRj_?ZYSIZnEXqoTVcd2;
z%x1G6B9X{*h_YSkKhz3PgA!PsfJE~UMx`7K1`GUym6esZBO@a(;3K-fKxw2$6o`jv
z5R_<QZMrQS4i{<JVJ$5!y_%Sq$PmmoDz+i&``k+hx}pp~CCD-6;^N|bGMQW>m+w=N
zl|*3N0J7Qs3S73E$z&b_%pcXBo~vx()-Iq5=w;2h9>QnnLI`!?aohkxfS&~Md&P+N
zy;w2Y+%~u)*3|sKuADD-_hp>|#I$Crs@lv)l(8G^7{&{rW@*wi?WieURW+$ZnLJcG
zU4|fsx~^l2@DW&<?pr>`_V>Jx^b|UnI_?Cm!p)Q`dwY@B*m)wGDd!oZ<;5v11FLf&
xb<&pY1rVRr8(f6h&fP{wHL277qxegJ0RYYfvJyBoU3dTh002ovPDHLkV1l<e+1LO8

literal 0
HcmV?d00001

diff --git a/res/drawable-hdpi/sym_keyboard_tabprev.png b/res/drawable-hdpi/sym_keyboard_tabprev.png
new file mode 100644
index 0000000000000000000000000000000000000000..51bff1bcd580c0d86a64e043bc0d12c008f00379
GIT binary patch
literal 1033
zcmV+k1or!hP)<h;3K|Lk000e1NJLTq001Na001)x1^@s6|I@0w0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#t4TybRCwC#m`iIDQ546MnaRT>#>9oX
zYO1a!GzeNZO?Pe!#R|zHEu|n`R&lAg$rq4N#0mvnbyFxBEPWsfet=RJrJ9mzRn#Qr
zHIvCadTuzkj6<4CnsgE*1Apd`o0;F7=bdX+Rn^i<o3#(r2kHZz_SOe7;xen%T02HD
zC~~Y2X3hT8={YSNp4(9@NCH(s6_8vHs9g)AG3o*lt2jVzkOyQ#kP?CjX1I*eS;z_U
zr_<>Ky!of??d`{Keh#lQW&<(kDz_jA#8Q@Wx$M+f%i0Yf;zFk^%Orj*l}g2qZsfWF
zbOa?yQVj^eC?sQ6+B23O+j<U&Yo~-@9ig$MVqH?Z0mNY8q?Mgka|QU6cA&Tu!q_nT
zY<Ld|i>TOci{V;y5sMHWlzVY;@w(IL<R>O3-XVx=R#3B8IK7|?puqh6{M|?-@(jwv
zK&J{Q*8(_gx&&rmVPWCU<m6-&Vus0NG6d2E`g^Kb2C+$J0B7)$kH9P~E!`U*AHPk<
z<#IW4{XFS57}!#i=PKx0DmuL}1mwU5>jz!j*x0x~Iy!nwJ1(Eklix1kjXfCTjbP}M
zhP(ie=j1<XLm)*_7<2{e_xpY8>+27OhK7Rraivm;Smz4pEKXOH<K7V;Tt@f)24z9T
zqxqJmWDvJp28Fk_wmy<tvbMICg!4!s5SUJ-QoCvgH)!02csw2>A%Iq8n`RkW$hNYw
zGCeprc(s!)!fv;FMn*<%AP8e9?HPut`5OZG#opfD=S~7;v)T0O>gxNJf*P`g4B~fo
zc5<Om=+Wlp=EGnxcuhZUc6RnnB9Zt2hrbNOP*oE{fACl`l=f&L@`oI}QFeHE_(?LE
zoC8ze)Q)qz-5J<@0UeN}YmjBMt%#Z|6KIAtbs1Wyf^T!c^Zaf&9F8w9FTd4}^Lo7`
zQ+^=Oegl04eFObO>lE}~G)90VtQ7?6J18|aHue;H*h@&3nrnPMUk-K|9FvFZ%~S;O
zpsN1!%4q9Q(98mDps`r&xhRVJQ&UrO094S&f*IXj#(>NtAU`uR^UCFN?LrC{vA9*+
z{km-hNY$9PfEFu6qtVxB8PRMYeJ@hbh5yVLy8&d;J-8?4)Exupf0wljL}EkYIIcEP
zXIWOk3{tuQL?12yNDav0aL}G3nX!6S4~PJi;IoE6SfJ<$oho=IS!1M=`Fbm8MXWip
znM-;K0?_G!c8yUy&O-Vd{&%ae{e^QwF6*W3P=Emdg2XA`Vzt8>00000NkvXXu0mjf
Drrp=U

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/btn_keyboard_key_normal.9.png b/res/drawable-mdpi/btn_keyboard_key_normal.9.png
index d0f9b7cc68907243d491edf188157a1486a8f8ce..7ba18dd25ac8f79d769a2291c77ab2844e3d21b3 100644
GIT binary patch
delta 715
zcmV;+0yO=p2G#|T7k@4Y1^@s6O@+(30000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+
zQe|Oed2z{QJOBU!cu7P-RCwCVSxJt<Fc55qupM{@oZ!a)Pe_Oh5**+q>|~}QHR?F+
zB{&|9r6>rT?n+g8YfM#Dl-i6jzhNqq6azpOi$yw`gmyZeOn*WDr2QKpC4YcK_xqim
z&nNZan@}4Lhcp_E;IAf->-9?O^_u4MIhAEe@AtcRKuB5?MSVXU4z%0tXgZxXfjk}$
zS}vD#yWQw=xzOwN%EH88FsRvBtyZ+zY}!E3APp{n$_WHavm`wH8y-P&cmzNoO^$}R
z00H@>^rhX2y??<#B=VHTNfD3pI7bb4kVfs>uv(55Blv-@T+)CM&f#Q4g77gCVo8&e
zzvI|8m=+^Un;bP=!1zE&dAy8B{d}y%_{JKZpSv_`aMXYeTpEyA^SXe@JSrn-3?MfU
zj_;KQ9i&H6hp`O;cg_(lO;;9T*$GNxn>7azEq-v+<bMJZB@K775vO=WJ{x4jCruxV
zU1w>eM7g#B_A=s};<ZJoucm>hckyf_nOrVPIW9Y2i;-BJQ$~&NI8nK#aUXy#tFPRh
zxt0q6F$~6+D3%qwp9JQMQP^*<0r=KCnipKTirBaN#wT5#FGCAd7oYe{scj3K6PoO3
zYb%HOw||MXxGE#u(SATO6JjZ}DbnIcGopb>-KBXMalL^JAmuob<PlqrF2_)f*(i^s
zOw%dTzABC8kv;(grLjkiUB^gW{<ZijBdBTd?w!vyeFH(E26=EfrQzZliYPfNM#zKm
zl>lizK*r-SozLgGm^YbB8YjJPOzV0UKv2*-9z>6I&K4uH*^Ku4J#Dw!Z2MIS2q2KN
x1q43;Eox|g(YU(UsKqOYvsQeyKM;Nd7yzIKFqsU(eDeSR002ovPDHLkV1jUzKt2Ef

delta 799
zcmV+)1K|AD1*ry*7k@Me1^@s6@5t&z00001b5ch_0Itp)=>Px#24YJ`L;wH)0002_
zL%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iXV&6A3Zci=B%A00OB=L_t(o
z!|j-{lJX!Fh0hIy#KPym%I$pr%EnR)^B&F^lMuEdKS4qg34i}=Av4bItib*DoC{na
ztu<mB5oxV8Ma`kL#^G>?r-^9y`<*iUk@jamxcNnEjizbPbse_Io4J<fIfM`(qA^Ha
z*EpR{kWzwkj=t|V2O=V5Sq37)^?JqSa=~u58-uiMi{tT#*XxDn^9iL?5+xX8$nzXO
zKR-C1&+i}r(0?=ynx;Y9wn;&>)`KNx`Hyl$DTS`<(6%l5zE1+u_dSRRob!?O-0fs?
z!+_Z2G0g-eq9M-YsxckxMBO@JeKFn?(OM6mRMrsD5Mxpi8zQ90oJu}B&EL%2F3g)E
zMmBrZtbqwZ*!Bb!vHc6FvLtVu<vIMclXZ60D5ap3@_&LXP2MRGJC0Wo00Tg35Ho+!
z8l}`IM`D+;3qeFfjK$WhRbi<*v(~uDngYZ(|Lm$s1+vH*)5#@{$q{?(tRf+6wm9ro
zTVq?4stj<Ck;yIIcPMSud=LPTnMAUK+lNw$j~nkzk)=MzteVhuLQieuA%HcfuU(x@
z9T(r5-hUV53$hwy>ZQk5r~0aI-?*uMp>cd}@A#xl^qsu+{^E<3E!|N+*<II+=W}J<
zn%y<DmHUe6pf&dW!~V`b96t^0o7by|>F5q{y<T(W^i}ch{EHO{CElk%K}Dwi0~a9X
z5+0Q!t{rP0Z+yxw%8{7jCZ<^OTI0)+Edge&aer5h`}!AKH2dZsK!^xZN&tWmVz~2~
z*MO}-7-JAZKnO8yjd_yhoF{!}6+$4-^O0i%NKq81stQs{lw~=3ANeF{r^YhIkYyQe
zw;PJ0`1c(ENGWw)*LXZ0c)ec9Zh1CPQ54wk_bAH}RaK1@VT_^cy8luLnK${7B0gmk
da~QnE{RMP18V>MZW%mF8002ovPDHLkV1hYQb6@}f

diff --git a/res/drawable-mdpi/btn_keyboard_key_pressed.9.png b/res/drawable-mdpi/btn_keyboard_key_pressed.9.png
old mode 100755
new mode 100644
index 91809e242239d063a7ddaca169a8451d13423909..39b9314a1a699813ecc408a150b7ac8b7b4217d9
GIT binary patch
delta 653
zcmV;80&@M}1(*ep7k@4Y1^@s6O@+(30000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+
zQe|Oed2z{QJOBU!I!Q!9RCwCVnM<zfFbsy>5}p$KU<ZsCGh?Sr7&BtT5?BZW-aYrP
z<SQpQX`3cMq^L;8wZHliCpkq`Rn&JBMe$EfRrJyUki}xrpMR#uIGs*KNk1}v2E_0W
zgy?p=(c|%;6nWD$hQlF^MkC~x4RX0$XtUYSYPF)-Y(}rwD^Cc@lAg~e?e}}y?RGSs
zPHm9;{Z8xkx)y?Ga)MyO)^@vn2f+XYfbi5n*o|$67GgjQ1_MhM%HPTn0PxJ^5rzYh
z1hqT@<8tO2@PCG@-}1<(L4MyOJadC^enfdBc9GL6P1FCDBU~|f<^q9klyIX*xP<#c
z_+WxL!lZKM1aUpChUQZq@rFj`hf5p-<ZB5*k8qC2B|i0bfWc6{!K#rExvK`VRn>gW
zBW~5??7qA?`g+r2{a<f-jZ3`S_;Ph#X-D;l3)5u_*nf6Q>C<0gzbKWvFk0?tGF|1}
z4=UxEwaGy0*(ygg;n*df-*fY$b&g2En8gk6xcSoPksKghlGSL2LJ)0%WLV^HpRO`R
zW9xI!@_Iyr;UtSWc53pPE#sq<#$AQ63tC8r2`O(<=)TkEkZwYTQiP$YoK+AAb%BTl
zm3Gw7uz!Fin6mrw^o9m^TD~1rs(}-pF{ZZV4Gk{XAczaS)cX<kI6e{}c#6Lj|3Sv%
zF&&RbS}vC~pU<=2p#kb}IMg=ZZk}<gcs`%$dc9`dCUTwt0v|k?OzN9w%Of0?PYl>X
nDp(#-h_f~w?H>q#0t^6uKU&u06kO>50000<MFvhpu0mjfztl8~

delta 725
zcmV;`0xJEO1>gmc7k@Me1^@s6@5t&z00001b5ch_0Itp)=>Px#24YJ`L;(K){{a7>
zy{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iXV&6A>SVMhG1M00Ll1L_t(o
z!|j;6(y}lRhTly%s54v#-hq`hop)+uZDr*p=zUlqu;j1u{eKCBgFw{6%w&clY#!b{
zWC<yyFn17<QcBS*8%il`x7+zNGsf+9BY`g&Ujq{82c;B>qCizuSR!tQMi_>Oq6kD}
zgXDRR!{LDaevi#&gSxK$xIhRnGtTETPNx&r>$MG1mL;+*12dy23a=nS2xM7?<MG%A
z0RU!3S(adCCx3{RaqMupSO@_rrDcnVlocb){5O3mqTz%P7O162UDww1HHfHX-%{k=
zAm6Wup1whJd`wbgYLRngn#+DGMs&t7vo{cChLmzx5uL(wA-Z6CV?>jh(<ew%ai?qE
zrAVi1%=l;$PXX#W5_%QUF=CeZrP~1wCWPqE8WX~I)_*YbxUBh@BF(JvdHU++=;Mc;
zw*T=%Z?MES4?bTfuepy?ktWP5E#TOevdg|8B4rwH!nk6`wdU3J%@6wh>HR={ATNWM
zH$6jXx%3=WSzU{#Hb(lrW>p<sS<Qu0S^}k1tI7^4;sfNB5+ArW>Vp^yWV*$C?y@D8
zXb0z9Pk(eO;)2mZHs!L$wcfQ?&_!u(-ZVJ14d}BG^cf#A*nDTs)mG5A(GqSLN@phs
z5xoR471Z3v=^DMjwQ$LvRZq(`M1(X=0RT}Hb^doOHKddXf&ftzb-N}ELr5u6Rn_8M
zyjENYfglJVgjK@m4<wFbT(4K`b~_|V;`QcPDNcpU<$^el|C0bfnx-nxb37goJfBam
zKUX?V;y6Z<Bv`FhxZm%#BHAtQ7*a}vVQ4Gja;ayI*1rD$O@2>ff}>xQ00000NkvXX
Hu0mjfm5e`Q

diff --git a/res/drawable-mdpi/sym_keyboard_123_mic.png b/res/drawable-mdpi/sym_keyboard_123_mic.png
new file mode 100644
index 0000000000000000000000000000000000000000..35afe0821aa86f0ffbb72de1b46cf152c497a9d9
GIT binary patch
literal 1540
zcmV+f2K)JmP)<h;3K|Lk000e1NJLTq001@s001Hg1^@s66ap$x0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU%rb$FWRCwC#SZhdJR}gmHM@%+}tBH^G
z)wRa>T-|EaCL#zCTL1V&p*{+>Mn&{T&5wXWML`hqCn*+cMMYxK3JS*fXlq-1CRGF_
zN<@usjnTNKwZ>i7bvv`n4VTNhSxo|x?t$Und(PZ*=9@F~&AFGS)9EZe#Aa#nfi^QR
zGcYqSGcYr-{{=9?Nil@S<8d7>1hE1+MSW@z6^I7pfURukkRdpM&gKyqTM#K-u_-~G
z(G>w2KQbX&t{gL@`Q#`8J@X70{3ad7*$yBPLqkJ<>8Rm7_R*N&jTlS-#;1_52C)G-
z2O?sDIRkPL<RcIdy4q1cpY{F)5Lb{(q~}C)iZ}pK*Q>g^x=P1s*oR}JV-%Rcgd7x;
zQMUB_H^@53zho4GlE%l!`}zC(yKX_NsHhl*z7>!cAp0Qa5r{&e@Q8_tk>kXrrKJxk
zv`}7x?6KB7Yhz<0;~GPKXH7~WBReLb9g_R``F%M)KK>ZJ*3;9|2z{5ySclBa%=o3H
zr6+99&d$zG2L%Nsz_=SaBsMno%KZHN!$Wo;2t>kSXq@-crlzJpx%$|LW2AHJP&^Id
zo{*66^~%c1GiLI(wzdv326xbTWMrfk`)6imW^rMqQn`iCy}iA^!}up4ju?K6i;IH`
z3k#E|Gdeo@+7XF~iC^J7<VZe6K!g!s5v0RsLii}5h%X4EqoW-f8XCS6i9}~sS6A1Z
zoSYo@_Vz?93RVRN2j8x*uYa1Bmi7emtE#F>4ZHXm=*q}BNX^@BZf?1h_}DLn#fx!*
zfPes(=H_NT(YuHoCNUCZHl%~Jzsm|?lL|C$o3^vF^Lbxi-@WAI<U0cc1C#m}EG?ND
zg4Z38H2_ry*E!5R7Z(?6JvS?rFKBT!=^;&T<8xeGoTJ_=(29$TM@Ubfuif3<-=wCd
zUOfy|N=nLA&?z8-vN}$I#>KXxqN47?)i)_ANkN5F#{z~%YZ)p}Pfz!XjEvOlm6Vj+
z!}qD?paXS~r#Ho7aez!FyEHa7HVFjs2aRhf3hb_5zn-JfXdZ2EZ>tO$m7AOUd3bm@
zu2Dy%bL1nHhCIB1J0TPbHLTrazmK#o_3`nMmzS4kT0yI<tgLHqZyzRL`<zJ7?^Ix5
zpm#w*!8P)_ka7k?*CH$|%o}!Pfol-<`TF|GSY?5C9AG-~B*ySQ?9_pQcM+5`EEWoj
zmSGNdb#*<;$;o*D{r`}21dQQO4sN@<yMOED<#iWx7Cm2ETN^_q1=mweOiVlmT9<@`
zgg6!!7XCavJw1<t_t=MH!^6WvlwX?naaKfQ&&%a<1%T0mf;=1r!uf>^wI*;PdbXoJ
zAuyzBV`Jkbz9W@N9mx(1>y4tKqVF3U8}A?iA)waQ)-hZxBO@cs)6-LiyIodRR!uch
z^)^Q;JZS_0k=#eh#VgT0GMsOJfB&xx9ZyY7&7nMn20Jni<NhEY*VWbC*xcNl>*(mX
z-_p|Z8_e;#ra{i!L>&r4WW0c^tgKr&50~z-FFQN?7U~dl^55o2g$rJW-S`P7$14?R
ztR>!1<0f>6G%~;gaxX=#R`0OKcA?eO)cgqJSLkHJP(JQ#C`cBt=MPvzQScu7Xv~gu
z58WJ|p+hg{6GBLp{sMu-*xsZt5Yw5@j_#S<d_}~uMj?h{&iVQIArgti7E1=O<{*u)
z(J_swM|v`XW7!RRd;3seWd#w(==%ElP+neM6&=G~F=S*Ag9*SaDF;rGSG8p90rj7z
zF?PN(q_a!+LINiyJuMlwLpu8`wnetHhhtg;)WmCSLzb792VGrVzo4_K%GmdqDZt*<
zHx`fcsiGw?Is>G1j&k@S-CI!ULBe=W_nMOc?5N*%LIaVoPm!|A{fagj*a`SGaHMvk
qe+|5A2b+JtnSq&sz2Ekq00RIC9-5B+L`{MK0000<MNUMnLSTYU{m_;G

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/sym_keyboard_feedback_123_mic_.png b/res/drawable-mdpi/sym_keyboard_feedback_123_mic_.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc11cf31ab8758f15a0e016f03b38a5bf84ef8ca
GIT binary patch
literal 694
zcmV;n0!jUeP)<h;3K|Lk000e1NJLTq0024w001or1^@s6|7ds%0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!SV=@dRCwC#n9*^<FbqJOUjCaAGD0?}
zJ3$$NPSA7$=mhBo=?1_ArV}KcfHDDWklJ?&Csf-}0`x8*-{~NUl=xY)EIVqN=I$0+
zB%lH+paLqO0xF;adi9`D6wS@gBV6u{yc?$asz42-Hb08owy;lsU@hnv#k7g-zDE{R
z|9-?#n+2Xt=#AL8-}jOP{;xYesL&kQg8mPqlh*D5uD`9F8TtKxj#Np)AT(+lPv{f_
zY<5QS9-%uAgl^-|KQ!yX%3<Vcv(QICa)({Pu$x>GG=mXsn4nm{gfO(CkzM7ntpGSf
zp}z?wl5>G7qQni|%#qp^)AlIqlL*n50F5De*fl3L@&fD7l+nk!<9VONlA!;qOD3R%
zgi<fBcoJF3{BBOdJ@I%jg%H<Vk3#a>fv$787y?S|(txfex*G`JgcGVgKo{+FI9I`t
z!Aslr##l>nOJVe113GI|`l*hovqbM@dxjH!RnL&kP^O-dtXl>`_ejSP8LcS7QJe}o
z1k#mtQyTUjSPV9W@6XXdEl^cgbxk8K=*f_HQ$aoA0j2BxoX%_LKkirI+o5qmhd?Ti
zM-|7TpgVPxjv9oPm)cbV_5tOTat+MCBQEGn3D0JZ0!1^51r?~758n3Gx_v<P37{dV
zLf-W3NlRj%yWSCdDw?jXS<MX9ExERp*E7tulq?;#BKqvJRWrJF8Cja;rmf^w=HACu
zof#Rp3~jJyXu!U#vncSGL0#uXxY=`~LuAGyK1%uO*ih7Rt}CDdDxd-?paLqO0xF=l
c(0&CN036%G`^|+mZU6uP07*qoM6N<$f(t)BLI3~&

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png b/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ab87d05ec613fa9602bac636f4d7685df65a7ee
GIT binary patch
literal 205
zcmeAS@N?(olHy`uVBq!ia0vp^oIote!3HEByR&qII3=zTCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*D5X@;zM~Ln>}1{rUgjo>}pL#i|YsR~`k|8wDO79n3vvo7QQX
zn1nEToNX`SZ{ScfVP$oAWg}p%(7k!V%d!K{RMcX21&SC7FwO{DA7{(xA$>@u^Rmi<
zL+lQ3I8wxzKC<t*_RvJsKSAoijl<Tqj4Toi$NkFm<s+X}1FdH8boFyt=akR{0AjjA
AqW}N^

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png b/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png
new file mode 100644
index 0000000000000000000000000000000000000000..92d19b5b130e86fc76b114854d84f28da3d8c804
GIT binary patch
literal 204
zcmeAS@N?(olHy`uVBq!ia0vp^oIote!3HEByR&qII3=zTCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*D5X@;qG}Ln>}1{rUgjo>}q05eF8D(3SuZDXCWt-h#?HM;g1n
zIUf}YUmy3EVScH?<#WuYA_7H|83evJ`>-XkI`Os7_L}lO;=>8qhDxT{i})Sxa7>xg
zaC!;zjiv@h5kCbPA)zFO<i*Ly66e-1GVw4}uC@7-&Yk=pXfuPStDnm{r-UW|rG-QC

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/sym_keyboard_feedback_tab.png b/res/drawable-mdpi/sym_keyboard_feedback_tab.png
new file mode 100644
index 0000000000000000000000000000000000000000..593fa67034e8f2c1b9a55992e6b741323d99b59a
GIT binary patch
literal 364
zcmV-y0h9iTP)<h;3K|Lk000e1NJLTq001HY001or1^@s6%MrO30000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz4oO5oRCwC#*y{~~Knwt2jyQlDh;ac%
zzzrPX+`tu_KsS(0U<3!ycy8bZ*e1pJL%9R4&>wBWE8+3cd(dE-rb#43nh1#nu8c90
zJ#e$imaxg`(B0g_&6N>ERJ2%eO`{NnC`2J5ATVv`xJbwdem|-)n3zq|VhRa;q{Ub%
zo%PZe!#QetVYr7cVot#o8dXhrK{ldq{EGwL|NeA)FN7*3%a|Dpn4}An2E0+M*a0T<
zK}sxS84-BzEo8)XHVvJy9x=riR1E)$D<NKUj+!6@HzXLr2`T#^zK3sAgm2E6A|rzk
zu_5Q7h-gg%fEqTn)~pIqh(Z*?^wA5c){eCQnT?J9d6o)!3orn69#Aw}*5AGW0000<
KMNUMnLSTZ+`;ZU-

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/sym_keyboard_feedback_tabprev.png b/res/drawable-mdpi/sym_keyboard_feedback_tabprev.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4b3e7db3b8da530da3af0d185452ef3443bcc29
GIT binary patch
literal 365
zcmV-z0h0cSP)<h;3K|Lk000e1NJLTq001HY001or1^@s6%MrO30000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz4@pEpRCwC#*ntUxKokaG6$fyGj2gf;
z$PF67MsO0{KsU(|Y=FQva0B}vyugA^ySzK0_ux^1#K-fx`_mtW!CONG-byNbzS+my
z7%wq@Y;X6jw}qg)GM-3=zHldhdus$D5P=B9DP*^a6Kbar2GDU3IfDRkToR!L0U}!(
z@il}ImD9y)5-}SBL}3!~lF$^0ibK<<DsYW%n(NRxx(|OucnhStE4mC62+FS~3!7@B
zTq6k2G`5t-XR7GC>&Z0&OpD1JCIWSe>l)*~8va{BlWCnFdNwe#H?$F^b{+!=gFc(U
zXq~<$Fxq*9F{QOFegczAW)+A)1R@Z{&f2^sC#&VlljpTU9s&#iQ4muC6`Wn}00000
LNkvXXu0mjf^DvDA

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/sym_keyboard_language_arrows_left.png b/res/drawable-mdpi/sym_keyboard_language_arrows_left.png
new file mode 100644
index 0000000000000000000000000000000000000000..91eda5f2dd89c40a5ce4f3428a42714d71c3af8a
GIT binary patch
literal 261
zcmeAS@N?(olHy`uVBq!ia0vp^0zfRx!3HE}ruUu)Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS>Jik5r2IEGZ*O8WEvzdf^RLuaFtK^DU##-5&@8yi@5>OEjc
z;&*jD%I3tjAwe+s!Q;o>TefcfI(hQs%?zK6J4_i;RyR+Z7S__*+G=lYy_>->k-^--
z!9n5Vty@-NS=tvF@*G@TTr3PO=xB7Z)+?AchA>Mc&g2xyRhTey=1YbpVhkH?I_z_A
znYc|_RQT)5OZJ8-j2G82?qmp`#<uGigIYhgG2h=$3<?JrGB;Vxs$bIN3v@Drr>mdK
II;Vst0I^426aWAK

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/sym_keyboard_language_arrows_right.png b/res/drawable-mdpi/sym_keyboard_language_arrows_right.png
new file mode 100644
index 0000000000000000000000000000000000000000..62a5beba490b006f55c3dd56c6ebff96886ef1a3
GIT binary patch
literal 257
zcmeAS@N?(olHy`uVBq!ia0vp^0zfRx!3HE}ruUu)Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS>JiWYmiIEGZ*O8WEvzdf^RLuaFtK^B7`n}Ly$7lR?QmD()^
zSJ$I#3Qrl2$V7-XTw=7FGjrz8`?qiZwvd;PR}I+7w99VMAqPLdb4n^IOMJY&xeuG_
z9AOi)w%*;acW<rD1@Bkx{c@p9T)xUD8B(sFICbh@lca;6i66tUCi|0d3{CA0a|~*K
zePLEOw<YtkhnI(N!wrUIGp}Tr91#E8<GkO7fy02oH7<6Zp2yY_pmP~KUHx3vIVCg!
E0GQ-j{r~^~

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/sym_keyboard_tab.png b/res/drawable-mdpi/sym_keyboard_tab.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd9daff08aa710f6a65654ec1dc8dd360b3cb773
GIT binary patch
literal 645
zcmV;00($+4P)<h;3K|Lk000e1NJLTq000;O001Hg1^@s6MV1*e0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!CrLy>RCwC#R?kZtQ4r2sx7qq@#ae&m
z5D-bJcosbL5S8BQB?%PIUXx&;mlATWw?IOUJt{~DB6v6ClK;V+LXjS74@QlR*&lu*
zv$83P8hl$pI`C~~U&ws(=6y4H!nSRnm!|kUw*LgrPoUC62=UZ71HdbeN3v`K24Ja@
z64iiFKnJdYbD%*4vPv`vOrxicE0xL@_-}Ye($2sSjFHo5G)C|-?8KHuKxgopoK~yl
zXF}!Qsi+T0E1WHv$*^S+3~+5nn5YR{P*r3#8cFeOxm^BQEEZGnL%<~0UU>|Ga5aq9
z1(f-0C=~h>i^aC``FsNJ?}?PZ7x$IOQNbve!QUmTap0X{7`MNP$KxA;Kwvr=jc#+P
zwEGA&&SWl=$*eV-&0#c6M@Ep}P`lmk2oi}zR&%-BuVga0->Xcjt5GHp^r&AMCK8Fy
zilUg<(b4lwQyx&iF;!O{Dp5L}{um4f1I{`Qdk-Z#aP>#0@t?k<@flzqSO6CP!Utfp
zUaz0nY}stKh_zK<8Ca*aQmM29e~ATiw*!+K=MU|qN9jmKLRD3o^S(l%u$xMyzQa9c
z1?mrVvh8aBZbnl4S*z6!tJP`?hf3N108W9aUL&KQQ9&c&G#n0p>oO`V8MDabfLC4(
zJBwkw$ZLzq3iN53cFlcd$t0kFXXNO*PUm##5D02C3HPF*9@iE_*1gD)>ZR-AWw}R%
fXC}NRxDj9gmafD?CfAE800000NkvXXu0mjfEhZo*

literal 0
HcmV?d00001

diff --git a/res/drawable-mdpi/sym_keyboard_tabprev.png b/res/drawable-mdpi/sym_keyboard_tabprev.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb90872fc5c188bc47ecbdba057ed6611e6735d9
GIT binary patch
literal 612
zcmV-q0-ODbP)<h;3K|Lk000e1NJLTq000;O001Hg1^@s6MV1*e0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!21!IgRCwC#S4&F*Q52r>(Uh4*OynOZ
zS_idj(?3WCqIN;J@qt2%T8sP8fxvwbh>O+{i2aHp2xc)67LjQ<I?nAJI~Oc`l`~k-
zh0nQ<x#zp*IaiS}COFw#g2U~fVEhCg{1HXbMSU+00VbdcXxTzQn)m@TfC)ea@Ctad
z%S3qc`BJHL0C{l({YAi(oj$<lbfr@9(|DFNv6W!LFbpnq65#$jQ8b{5qz%^yBg-O;
zOn|~AiZCAutpaMp61WDep)VEyOZj|0Su7Thpf3~YNG9SZM`0`3Y<5pklpS5yH5i|f
z7R@gEtPZe#1YEekP$(RRLZMBZG))uVU#88^U4%Ete3+zl^j9x}w#_q{%oZ2UTR0rv
z@Or)Lk|ce~aws><=kwK4snjJ5?*Qd?C7>@FmWVYt?J4`1*jH7x-Tz60{i}evvF1T7
z8jYS?mgSDcV%vOD(=<JuPG5kDi~%NkB7gKGz$hul<MCXp)p92i3574@a=9ybTo2)7
zqaOh-K4K&!lgSe}aU&9m?0P&N{7zuCz3oEqtuSSD8YB_GTxu{Fe2`@s!}p#vG)65I
zR;MPAXvZC;!mz8@F%o8yT|0}NZPk<!f%&ViE$tA4*ly6cZpV${D?u#~2vlkO!V_iG
yCSvJ;EJR-foVd1d0>>_1g46#GM5hVf1sDL3P5q<Hn`=J+0000<MNUMnLSTY<)C9Ev

literal 0
HcmV?d00001

diff --git a/res/xml-de/kbd_qwerty.xml b/res/xml-de/kbd_qwerty.xml
index 3fb8f52262..9e2f5841dd 100755
--- a/res/xml-de/kbd_qwerty.xml
+++ b/res/xml-de/kbd_qwerty.xml
@@ -96,7 +96,7 @@
     </Row>
     
     <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom">
-        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
@@ -112,115 +112,116 @@
                 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"
+    <Row android:keyboardMode="@+id/mode_normal_voice" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="/" android:keyWidth="15%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
+                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
                 android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="15%p" android:isRepeatable="true"/>
-        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
-        <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
+                android:keyWidth="40%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_keyboard_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" 
+    <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+        <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="15%p" android:isRepeatable="true"/>
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
         <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="10%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>
 
-    <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom">
+    <Row android:keyboardMode="@+id/mode_url_voice" android:rowEdgeFlags="bottom">
         <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="10%p"/>
+        <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="40%p" android:isRepeatable="true"/>
-        <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
                 android:keyWidth="10%p"/>
-        <Key android:keyLabel=":-)" android:keyOutputText=":-) "
-                android:popupKeyboard="@xml/popup_smileys"
+        <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>
 
-    <Row android:keyboardMode="@+id/mode_normal_voice" android:rowEdgeFlags="bottom">
-        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+    <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic" 
-                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
-                android:keyWidth="10%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+        <Key android:keyLabel="\@"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
                 android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="40%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_keyboard_return" 
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
 
-    <Row android:keyboardMode="@+id/mode_url_voice" android:rowEdgeFlags="bottom">
+    <Row android:keyboardMode="@+id/mode_email_voice" android:rowEdgeFlags="bottom">
         <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="\@"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
         <Key android:keyLabel="@string/popular_domain_0"
                 android:keyOutputText="@string/popular_domain_0"
                 android:popupKeyboard="@xml/popup_domains"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="/" android:keyWidth="15%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
-                android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="15%p" android:isRepeatable="true"/>
-        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
         <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>
 
-    <Row android:keyboardMode="@+id/mode_email_voice" android:rowEdgeFlags="bottom">
+    <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom">
         <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
-        <Key android:keyLabel="@string/popular_domain_0"
-                android:keyOutputText="@string/popular_domain_0"
-                android:popupKeyboard="@xml/popup_domains"
-                android:keyWidth="15%p"/>
+        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
+                android:keyWidth="10%p"/>
         <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
                 android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="15%p" android:isRepeatable="true"/>
-        <Key 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="40%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="20%p" android:keyEdgeFlags="right"/>
     </Row>
 
@@ -229,7 +230,7 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic" 
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
                 android:iconPreview="@drawable/sym_keyboard_feedback_mic"
                 android:keyWidth="10%p"/>
         <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
@@ -242,4 +243,42 @@
                 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:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab"
+                android:iconPreview="@drawable/sym_keyboard_feedback_tab"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
+
+    <Row android:keyboardMode="@+id/mode_webentry_voice" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
+                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab"
+                android:iconPreview="@drawable/sym_keyboard_feedback_tab"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
diff --git a/res/xml-fr/kbd_qwerty.xml b/res/xml-fr/kbd_qwerty.xml
index fef260d1da..7abe18eb23 100644
--- a/res/xml-fr/kbd_qwerty.xml
+++ b/res/xml-fr/kbd_qwerty.xml
@@ -100,128 +100,130 @@
     <Row android:keyboardMode="@+id/mode_normal" android:rowEdgeFlags="bottom">
         <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
                 android:popupKeyboard="@xml/kbd_popup_template"
-                android:popupCharacters=""
+                android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
         <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
                 android:keyWidth="10%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
                 android:iconPreview="@drawable/sym_keyboard_feedback_space"
                 android:keyWidth="40%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_keyboard_return" 
+        <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>
 
-    <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom">
+    <Row android:keyboardMode="@+id/mode_normal_voice" android:rowEdgeFlags="bottom">
         <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
                 android:popupKeyboard="@xml/kbd_popup_template"
-                android:popupCharacters=""
+                android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="/" android:keyWidth="15%p"/>
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
+                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+                android:keyWidth="10%p"/>
         <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
                 android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="15%p" android:isRepeatable="true"/>
-        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation" 
-                android:keyWidth="15%p"/>
+                android:keyWidth="40%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_keyboard_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" 
+    <Row android:keyboardMode="@+id/mode_url" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
-                android:popupCharacters=""
+                android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+        <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="15%p" android:isRepeatable="true"/>
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
         <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="10%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>
 
-    <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom">
+    <Row android:keyboardMode="@+id/mode_url_voice" android:rowEdgeFlags="bottom">
         <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
-                android:popupCharacters=""
+                android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="10%p"/>
+        <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="40%p" android:isRepeatable="true"/>
-        <Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
                 android:keyWidth="10%p"/>
-        <Key android:keyLabel=":-)" android:keyOutputText=":-) "
-                android:popupKeyboard="@xml/popup_smileys"
+        <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>
 
-    <Row android:keyboardMode="@+id/mode_normal_voice" android:rowEdgeFlags="bottom">
-        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+    <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic" 
-                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
-                android:keyWidth="10%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+        <Key android:keyLabel="\@"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
                 android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="40%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_keyboard_return" 
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
 
-    <Row android:keyboardMode="@+id/mode_url_voice" android:rowEdgeFlags="bottom">
+    <Row android:keyboardMode="@+id/mode_email_voice" android:rowEdgeFlags="bottom">
         <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:keyLabel="\@"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
         <Key android:keyLabel="@string/popular_domain_0"
                 android:keyOutputText="@string/popular_domain_0"
                 android:popupKeyboard="@xml/popup_domains"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="/" android:keyWidth="15%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
-                android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="15%p" android:isRepeatable="true"/>
-        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
         <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>
 
-    <Row android:keyboardMode="@+id/mode_email_voice" android:rowEdgeFlags="bottom">
+    <Row android:keyboardMode="@+id/mode_im" android:rowEdgeFlags="bottom">
         <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
-        <Key android:keyLabel="@string/popular_domain_0"
-                android:keyOutputText="@string/popular_domain_0"
-                android:popupKeyboard="@xml/popup_domains"
-                android:keyWidth="15%p"/>
+        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
+                android:keyWidth="10%p"/>
         <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
                 android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="15%p" android:isRepeatable="true"/>
-        <Key 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="40%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="20%p" android:keyEdgeFlags="right"/>
     </Row>
 
@@ -230,7 +232,7 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic" 
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
                 android:iconPreview="@drawable/sym_keyboard_feedback_mic"
                 android:keyWidth="10%p"/>
         <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
@@ -242,5 +244,45 @@
                 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:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab"
+                android:iconPreview="@drawable/sym_keyboard_feedback_tab"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
+
+    <Row android:keyboardMode="@+id/mode_webentry_voice" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
+                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab"
+                android:iconPreview="@drawable/sym_keyboard_feedback_tab"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
     
diff --git a/res/xml-ru/kbd_qwerty.xml b/res/xml-ru/kbd_qwerty.xml
index 9a42d421c6..8a3a59229d 100755
--- a/res/xml-ru/kbd_qwerty.xml
+++ b/res/xml-ru/kbd_qwerty.xml
@@ -96,37 +96,97 @@
                 android:keyWidth="20%p" android:keyEdgeFlags="right"/>
     </Row>
 
+    <Row android:keyboardMode="@+id/mode_normal_voice" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key" 
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
+                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="40%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_keyboard_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:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="/" android:keyWidth="15%p"/>
+        <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="15%p" android:isRepeatable="true"/>
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
         <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="10%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>
 
-    <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom">
+    <Row android:keyboardMode="@+id/mode_url_voice" android:rowEdgeFlags="bottom">
         <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
+        <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="15%p" android:isRepeatable="true"/>
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
         <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="10%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>
+
+    <Row android:keyboardMode="@+id/mode_email" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <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="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
+
+    <Row android:keyboardMode="@+id/mode_email_voice" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <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="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
         <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
                 android:iconPreview="@drawable/sym_keyboard_feedback_return"
                 android:keyWidth="20%p" android:keyEdgeFlags="right"/>
@@ -148,5 +208,63 @@
                 android:popupKeyboard="@xml/popup_smileys"
                 android:keyWidth="20%p" android:keyEdgeFlags="right"/>
     </Row>
+
+    <Row android:keyboardMode="@+id/mode_im_voice" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
+                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="40%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="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:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab"
+                android:iconPreview="@drawable/sym_keyboard_feedback_tab"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
+
+    <Row android:keyboardMode="@+id/mode_webentry_voice" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
+                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab"
+                android:iconPreview="@drawable/sym_keyboard_feedback_tab"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
     
diff --git a/res/xml/kbd_qwerty.xml b/res/xml/kbd_qwerty.xml
index 552e7e5440..e0fe5cdc32 100755
--- a/res/xml/kbd_qwerty.xml
+++ b/res/xml/kbd_qwerty.xml
@@ -128,7 +128,7 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic" 
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
                 android:iconPreview="@drawable/sym_keyboard_feedback_mic"
                 android:keyWidth="10%p"/>
         <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" 
@@ -146,18 +146,16 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="15%p"/>
-        <!--Key android:keyLabel="@string/popular_domain_0"
-                android:keyOutputText="@string/popular_domain_0"
-                android:popupKeyboard="@xml/popup_domains"
-                android:keyWidth="15%p"/-->
-        <Key android:keyLabel="/" android:keyWidth="15%p"/>
+        <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="15%p" android:isRepeatable="true"/>
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
         <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="10%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"/>
@@ -168,16 +166,16 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <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="20%p" android:isRepeatable="true"/>
         <Key android:keyLabel="@string/popular_domain_0"
                 android:keyOutputText="@string/popular_domain_0"
                 android:popupKeyboard="@xml/popup_domains"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="/" android:keyWidth="15%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
-                android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="15%p" android:isRepeatable="true"/>
+                android:keyWidth="20%p"/>
         <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="10%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"/>
@@ -188,18 +186,15 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
-                android:keyWidth="15%p"/>
-        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
-        <!--Key android:keyLabel="@string/popular_domain_0"
-                android:keyOutputText="@string/popular_domain_0"
-                android:popupKeyboard="@xml/popup_domains"
-                android:keyWidth="15%p"/-->
+        <Key android:keyLabel="\@"/>
         <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
                 android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="15%p" android:isRepeatable="true"/>
-        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:keyLabel="@string/popular_domain_0"
+                android:keyOutputText="@string/popular_domain_0"
+                android:popupKeyboard="@xml/popup_domains"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
         <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
                 android:iconPreview="@drawable/sym_keyboard_feedback_return"
                 android:keyWidth="20%p" android:keyEdgeFlags="right"/>
@@ -210,16 +205,15 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:keyLabel="\@" android:keyWidth="15%p"/>
+        <Key android:keyLabel="\@"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
         <Key android:keyLabel="@string/popular_domain_0"
                 android:keyOutputText="@string/popular_domain_0"
                 android:popupKeyboard="@xml/popup_domains"
-                android:keyWidth="15%p"/>
-        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
-                android:iconPreview="@drawable/sym_keyboard_feedback_space"
-                android:keyWidth="15%p" android:isRepeatable="true"/>
-        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"
-                android:keyWidth="15%p"/>
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
         <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
                 android:iconPreview="@drawable/sym_keyboard_feedback_return"
                 android:keyWidth="20%p" android:keyEdgeFlags="right"/>
@@ -247,7 +241,7 @@
                 android:popupKeyboard="@xml/kbd_popup_template"
                 android:popupCharacters="_"
                 android:keyWidth="20%p" android:keyEdgeFlags="left"/>
-        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic" 
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
                 android:iconPreview="@drawable/sym_keyboard_feedback_mic"
                 android:keyWidth="10%p"/>
         <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
@@ -259,5 +253,45 @@
                 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:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="@integer/key_f1" android:keyIcon="@drawable/sym_keyboard_globe"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab"
+                android:iconPreview="@drawable/sym_keyboard_feedback_tab"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
+
+    <Row android:keyboardMode="@+id/mode_webentry_voice" android:rowEdgeFlags="bottom">
+        <Key android:codes="-2" android:keyLabel="@string/label_symbol_key"
+                android:popupKeyboard="@xml/kbd_popup_template"
+                android:popupCharacters="_"
+                android:keyWidth="20%p" android:keyEdgeFlags="left"/>
+        <Key android:codes="-102" android:keyIcon="@drawable/sym_keyboard_mic"
+                android:iconPreview="@drawable/sym_keyboard_feedback_mic"
+                android:keyWidth="10%p"/>
+        <Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
+                android:iconPreview="@drawable/sym_keyboard_feedback_space"
+                android:keyWidth="20%p" android:isRepeatable="true"/>
+        <Key android:codes="9" android:keyIcon="@drawable/sym_keyboard_tab"
+                android:iconPreview="@drawable/sym_keyboard_feedback_tab"
+                android:keyWidth="20%p"/>
+        <Key android:keyLabel="." android:popupKeyboard="@xml/popup_punctuation"/>
+        <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>
 
diff --git a/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/src/com/android/inputmethod/latin/KeyboardSwitcher.java
index aa52c03810..45d0a1e126 100644
--- a/src/com/android/inputmethod/latin/KeyboardSwitcher.java
+++ b/src/com/android/inputmethod/latin/KeyboardSwitcher.java
@@ -33,6 +33,7 @@ public class KeyboardSwitcher {
     public static final int MODE_URL = 4;
     public static final int MODE_EMAIL = 5;
     public static final int MODE_IM = 6;
+    public static final int MODE_WEB = 7;
     
     public static final int MODE_TEXT_QWERTY = 0;
     public static final int MODE_TEXT_ALPHA = 1;
@@ -42,6 +43,7 @@ public class KeyboardSwitcher {
     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;
 
     private static final int SYMBOLS_MODE_STATE_NONE = 0;
     private static final int SYMBOLS_MODE_STATE_BEGIN = 1;
@@ -52,7 +54,8 @@ public class KeyboardSwitcher {
         KEYBOARDMODE_NORMAL,
         KEYBOARDMODE_URL,
         KEYBOARDMODE_EMAIL,
-        KEYBOARDMODE_IM};
+        KEYBOARDMODE_IM,
+        KEYBOARDMODE_WEB};
 
     //LatinIME mContext;
     Context mContext;
@@ -91,6 +94,7 @@ public class KeyboardSwitcher {
         mModeToVoice.put(R.id.mode_url, R.id.mode_url_voice);
         mModeToVoice.put(R.id.mode_email, R.id.mode_email_voice);
         mModeToVoice.put(R.id.mode_im, R.id.mode_im_voice);
+        mModeToVoice.put(R.id.mode_webentry, R.id.mode_webentry_voice);
         mInputMethodService = ims;
     }
 
@@ -212,10 +216,12 @@ public class KeyboardSwitcher {
                     || id.mKeyboardMode == KEYBOARDMODE_URL
                     || id.mKeyboardMode == KEYBOARDMODE_IM
                     || id.mKeyboardMode == KEYBOARDMODE_EMAIL
+                    || id.mKeyboardMode == KEYBOARDMODE_WEB
                     || id.mKeyboardMode == R.id.mode_normal_voice
                     || id.mKeyboardMode == R.id.mode_url_voice
                     || id.mKeyboardMode == R.id.mode_im_voice
                     || id.mKeyboardMode == R.id.mode_email_voice
+                    || id.mKeyboardMode == R.id.mode_webentry_voice
                     ) {
                 keyboard.setExtension(R.xml.kbd_extension);
             }
@@ -255,6 +261,8 @@ public class KeyboardSwitcher {
                 return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_EMAIL, true);
             case MODE_IM:
                 return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_IM, true);
+            case MODE_WEB:
+                return new KeyboardId(R.xml.kbd_qwerty, KEYBOARDMODE_WEB, true);
         }
         return null;
     }
diff --git a/src/com/android/inputmethod/latin/LatinIME.java b/src/com/android/inputmethod/latin/LatinIME.java
index a9a61c3a2b..7eecfb9b94 100644
--- a/src/com/android/inputmethod/latin/LatinIME.java
+++ b/src/com/android/inputmethod/latin/LatinIME.java
@@ -502,6 +502,8 @@ public class LatinIME extends InputMethodService
                 } else if (variation == EditorInfo.TYPE_TEXT_VARIATION_FILTER) {
                     mPredictionOn = false;
                 } else if (variation == EditorInfo.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT) {
+                    mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_WEB,
+                            attribute.imeOptions, mEnableVoiceButton);
                     // If it's a browser edit field and auto correct is not ON explicitly, then
                     // disable auto correction, but keep suggestions on.
                     if ((attribute.inputType & EditorInfo.TYPE_TEXT_FLAG_AUTO_CORRECT) == 0) {
@@ -915,6 +917,9 @@ public class LatinIME extends InputMethodService
                     startListening(false /* was a button press, was not a swipe */);
                 }
                 break;
+            case 9 /*Tab*/:
+                sendKeyChar((char) primaryCode);
+                break;
             default:
                 if (isWordSeparator(primaryCode)) {
                     handleSeparator(primaryCode);
diff --git a/src/com/android/inputmethod/latin/LatinKeyboard.java b/src/com/android/inputmethod/latin/LatinKeyboard.java
index f5748f4153..df38358d6b 100644
--- a/src/com/android/inputmethod/latin/LatinKeyboard.java
+++ b/src/com/android/inputmethod/latin/LatinKeyboard.java
@@ -261,11 +261,11 @@ public class LatinKeyboard extends Keyboard {
             Paint paint = new Paint();
             paint.setAntiAlias(true);
             // TODO: Make the text size a customizable attribute
-            paint.setTextSize(22);
+            paint.setTextSize(18);
             paint.setTextAlign(Align.CENTER);
             // Draw a drop shadow for the text
             paint.setShadowLayer(1f, 0, 0, 0xFF000000);
-            paint.setColor(0x80C0C0C0);
+            paint.setColor(0xFF808080);
             canvas.drawText(mLocale.getDisplayLanguage(mLocale),
                     buffer.getWidth() / 2, - paint.ascent() + 2, paint);
             int x = (buffer.getWidth() - mSpaceIcon.getIntrinsicWidth()) / 2;
-- 
GitLab