From cf02653097893b06f24551b790b0f7ec288e704d Mon Sep 17 00:00:00 2001 From: Amith Yamasani 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 | 187 ++++++++++------- res/xml-fr/kbd_qwerty.xml | 190 +++++++++++------- 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, 442 insertions(+), 196 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|M2zoX`064 z0ajq%AOhe}ClDbrwGrW1fE5@?m>b4_PSU862;rd5qSwMnWZdW=(UnNbcDme;t|7^U zxYi`XNpMm*1M@*kk)esfJFvl4fJ=Tn3z0s=Lg3cWCpEFEM7Z|~J%ojfm59ZC(_$!j)ToVrgl;ZJ zDpnQK2!-F{GfgBBirNS#!U;%3B(NoIgnviTFA>rvRt-^N66szL}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+`~Wyv0sbufz9u39no hQ|rHcM9jYg7yxih?jyNj*}wn*002ovPDHLkV1oWi7OVgO delta 649 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 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(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-0fJZwFF|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+8CdG z1@Vk$*MM~Y_n$tu;WQRPC87;cybbxzYfn3PP(%9c`$AgItd>{MMN=MPV-YV8ETb)ejF9(x z`pjG{Bc!wuo(NBXy&wK~iS_p@$QCa8WUd4x7Jp#B%H!n^M=0zuWlW!!jN{et^~DJ)GD6!v4=SeE;1^pTw)NgF;h@7^@afKqSh;7r)_PuNGJ^ zD1YjwQ!P;-I}&S&$gob{&Xb1sG6HxeEm3tPo_m4DJ<)2<`3xIaoeVe5w~pfy@YRIV;+gO_ib z>)QJ{0`j9;&NzciBB60lSXAwZNaCM+JD9fN>p~S(d+7n4>lMwMO5tXqAIs2ww%tR{2 z#_shRVM)g1S&433OQlvO0|rIT_qCd_(mp#qDTca#WqBQB|x$?B9{0Vhf@^7!mu%%QX-TuNYBWU1VEmfEI8>N@x(`5ED`5Fi@|1H1(U0p}@mXW7Z00000NkvXXu0mjfr}?&g delta 1018 zcmV;HnVJ~i4Q)_#J4@|#U&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!!#9NhAHHgWwek8C#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;|mvN5=N=#%gLBI3S@;f;v@L|H|xk3^r%d3vg+O$w`(FI0lV ox#kYueueblC%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|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-dBvI9lFbwpmdS0DUMBRi;XOReDbkw#2v#9nqUJ_FRTmwFhcxq7Sl76kSmTm6#wPdP)8=6q}c3%5c z!TF348wlq`Y?F0-#)4^pD1Kh3vVv9mRo&G0kY0`t3P4WB#zpKj0)1J=B^^_(XkMbh|X8cTcwZk4rcQljlKd5n6s zLlo6gewKpM!fCf~xcX{;UPE{rZLyC4%wy5PxsKSlR|syUtt0a15P1|e*AIW>r6JO_ za0jQDt98TdJgtFS0L8A15!iw%0;m>@iw3DwDqO1)1Wtg1aBC`b(+ts99O8?dR*7DJ!Dis?cFX$xzH-ZXY$zbmK`Utfut=lP zV5`-NA3PimS*z9JCxiq75BGRHvdw10wKkj0zsJB2`2Glpy<9Hrd_ME7T-!9WnlXRAR3 zTz?~qBItIz`P1ZRv)N1q;E9DkKs-Vhyzz*?p|#)dVYl1C`Fv(6xLhtny-EYK zq*N-wX0w6OXawzcJN|4wpR1HdP&`6hE|(O@w_y;1Ku`;6L~S2)1ScQ_4Ne|GZ^RWU zc&Sm^3X&Y0KxmlWuzG|-DLJ^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>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+kPGTl?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+`^;OM-aaj=2N$F%_6QWcEN$>RZROJp{3-CGy zH$Zs}(*m(Zom>a6XLYA(xfB6dJZX>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&V0&Kl;{?(X{vkr;OFEGCNN-_z0lvRv*E8K}o>2VccvYc+U^4RwB5756tjM zhPV}CT7Kl3pSwKstKT=0YTzu3sju<4{}vlU@gfEA~Zges-#|8M}{;NXDf=jW|Q zW{W}u9aw?6P7xdg*xA`pgO`_=X<}kRT~H(r^n9=mOp_Xo234z7YPDJvjYj3^x7}`2rBb0-EJmxAYxMq2!C&GHl&R3P!gNW#PhiMIc%3tM>B$Ryol26SV0m; zAFO~O*~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%&6 zb|aAptL(V$1qfN4JGvl>Kf>Rr;8>kuTEa&O+CX|fhi#k4?$wA4J*qp}CG2R8h|H+; z+UM7G=%CUzSs4(S;4N7viI|i(!yRj)x!*!w+Wx*w gbokWKq5uE@ 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(_NklqPR8~*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~$1RuEmInw?d~NaiB9a62y=QPACYzbq}No!UMFWf5fvH7@GD~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)cn!v+esZieZi?fxdXae3%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 z8xr<_SSOdA5m(|Pe=)R@R>};evf`XlHdo?2juL`tfJU>^Lmjab%6xYY*NgB2`~V{ W7`ik3vC&@u00007h9q?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%4p6VxkKk$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&iXM1OgCiCF0fFMrwhUEh+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@ypHzjaF$(>)%{gBQslAoCjyB;B9I6q0*OE(kO*W64vpRp13pE0%$?;^q=;yW zC_#^t^gB6q&(WtSAmkVKEue#L5`+wC@(v%~M<{|Cv+1@qiPX#Jhtf0+ z`Fws9ViSG8Bo`To)FvAQ5|r>tkkLc;S}g?7A8X#>e+&88 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 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 M07*qoM6N<$f)#Y3r~m)} literal 1527 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 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)Al~c zo=&F;Y#93j1b_>;Fu(;|z=Z)W-~uiTZ~+%^VSo#`S7)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<}eyt!>)zQ!kcbvGwUl)C0V!-r|BOv!E1hWRZKLbCtC1#jZUJ!!Sh=YooGdJ9O-X@! zX1vN+NHKs*?Otv!A(oex?;ZoruewAO=|3gdkbgm9`P{d|(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;;UVX8vn{+>|Xj=L7%u-`x(TZ8^aTnZ!BM0`$o3Vr2 zXlj+P|6H_V+Po~-c6|L}eaSW-rmGtNTe|u)jhR#MGgH?qgk2hSBkdo43IHZ!v zl2yPE^t|x~L*yLR`MM6P>*K9(TUM$>h1dv`H+nSe|4w zjb}(|+VOumdK 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+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{&C*X{IO70P3a`>VvG=7>(3U~f2av7*b<>Y^;x zMV!Wxi&%wO7AdA{HJONsr8_Db8Xi>KXrMGmMz$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((=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(>}aQy4L z7C{bs=dAAeri||&%w3o1cYAf{EK4UR_soBRW~Q5i*(#46V!d3{r*&k`TEn0W?No(z zQ}bjlrI5BPq1tBln10}RYO z22djTH`f8(8 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) 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@dTQcMLPx# 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) zTEM`-LaGKvMn(=G^#h+8 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^uP z6isNF#59{--wSVKTuVEl+icJbJevKHnNQ|@-+MDt$+m4@CpFpEVXX_)1^VZJI<6`I zGmuQ@ZBfR6 zf?Hc#PheI*<@5Okxb6k(;a%6xuty-HQmG(-uU4zE84K_n?E+#N(g?(7nkLHS0?Eb` zARJ2tkY;3Cmc^n@?v{>L+L^QSPJyz<>mXOQb~))zYU*hq5V)R5BwlkMHPMxYdW=97&SZh_hrs#(C`?f& zPfkw8L!nUr*w|Q#`YDpm6j30FKKm)1>(qh&6eyM4aurkY=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}+WlIFeWm+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&`_V>Jx^b|UnI_?Cm!p)Q`dwY@B*m)wGDd!oZ<;5v11FLf& xb<&pY1rVRr8(f6h&fP{wHL277qxegJ0RYYfvJyBoU3dTh002ovPDHLkV1l#>9oX zYO1a!GzeNZO?Pe!#R|zHEu|n`R&lAg$rq4N#0mvnbyFxBEPWsfet=RJrJ9mzRn#Qr zHIvCadTuzkj6<4CnsgE*1Apd`o0;F7=bdX+Rn^iKy!of??d`{Keh#lQW&<(kDz_jA#8Q@Wx$M+f%i0Yf;zFk^%Orj*l}g2qZsfWF zbOa?yQVj^eC?sQ6+B23O+jTOci{V;y5sMHWlzVY;@w(ILO3-XVx=R#3B8IK7|?puqh6{M|?-@(jwv zK&J{Q*8(_gx&&rmVPWCUjz!j*x0x~Iy!nwJ1(Eklix1kjXfCTjbP}M zhP(ie=j1+27OhK7Rraivm;Smz4pEKXOHA%Iq8n`RkW$hNYw zGCeprc(s!)!fv;FMn*<%AP8e9?HPut`5OZG#opfD=S~7;v)T0O>gxNJf*P`g4B~fo zc5lE}~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|~}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+eM7g#B_A=s};hckyf_nOrVPIW9Y2i;-BJQ$~&NI8nK#aUXy#tFPRh zxt0q6F$~6+D3%qwp9JQMQP^*<0r=KCnipKTirBaN#wT5#FGCAd7oYe{scj3K6PoO3 zYb%HOw||MXxGE#u(SATO6JjZ}DbnIcGopb>-KBXMalL^JAmuoblizK*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?r-^9y`<*iUk@jamxcNnEjizbPbse_Io4J)`KNx`Hyl$DTS`<(6%l5zE1+u_dSRRob!?O-0fs? z!+_Z2G0g-eq9M-YsxckxMBO@JeKFn?(OM6mRMrsD5Mxpi8zQ90oJu}B&EL%2F3g)E zMmBrZtbqwZ*!Bb!vHc6FvLtVuZQk5r~0aI-?*uMp>cd}@A#xl^qsu+{^E<3E!|N+*F5q{yMZW%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!9RCwCVnM5}p$KUgW zBW~5??7qA?`g+r2{aC<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)cXX nDp(#-h_f~w?H>q#0t^6uKU&u06kO>50000gmc7k@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{ zWCqCizuSR!tQMi_>Oq6kD} zgXDRR!{LDaevi#&gSxK$xIhRnGtTETPNx&r>$MG1mL;+*12dy23a=nS2xM7?jh(HR={ATNWM zH$6jXx%3=WSzU{#Hb(lrW>pVp^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@m4ff}>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 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 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`#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%*;acWRCwC#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)(Uh4*OynOZ zS_idj(?3WCqIN;J@qt2%T8sP8fxvwbh>O+{i2aHp2xc)67LjQ<=kwK4snjJ5?*Qd?C7>@FmWVYt?J4`1*jH7x-Tz60{i}evvF1T7 z8jYS?mgSDcV%vOD(=>_1g46#GM5hVf1sDL3P5q - @@ -112,37 +112,97 @@ android:keyWidth="20%p" android:keyEdgeFlags="right"/> + + + + + + + + - - + + android:keyWidth="20%p" android:isRepeatable="true"/> + + android:keyWidth="10%p"/> + + + + + + + + + - - - - + - + android:keyWidth="20%p" android:isRepeatable="true"/> + + + + + + + + + + + @@ -163,65 +223,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -229,7 +230,7 @@ android:popupKeyboard="@xml/kbd_popup_template" android:popupCharacters="_" android:keyWidth="20%p" android:keyEdgeFlags="left"/> - + + + + + + + + + + + + + + + + + diff --git a/res/xml-fr/kbd_qwerty.xml b/res/xml-fr/kbd_qwerty.xml index fef260d1d..7abe18eb2 100644 --- a/res/xml-fr/kbd_qwerty.xml +++ b/res/xml-fr/kbd_qwerty.xml @@ -100,10 +100,28 @@ + + + + + + + + @@ -115,72 +133,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - @@ -190,16 +157,35 @@ android:popupKeyboard="@xml/kbd_popup_template" android:popupCharacters="_" android:keyWidth="20%p" android:keyEdgeFlags="left"/> + + - + android:keyWidth="20%p"/> + + + + + + + - + android:keyWidth="20%p" android:isRepeatable="true"/> + + @@ -210,27 +196,43 @@ android:popupKeyboard="@xml/kbd_popup_template" android:popupCharacters="_" android:keyWidth="20%p" android:keyEdgeFlags="left"/> - + + - - + android:keyWidth="20%p"/> + + + + + + + + + - + + + + + + + + + + + + + + + + + + + diff --git a/res/xml-ru/kbd_qwerty.xml b/res/xml-ru/kbd_qwerty.xml index 9a42d421c..8a3a59229 100755 --- a/res/xml-ru/kbd_qwerty.xml +++ b/res/xml-ru/kbd_qwerty.xml @@ -96,19 +96,59 @@ android:keyWidth="20%p" android:keyEdgeFlags="right"/> + + + + + + + + - - + + android:keyWidth="20%p" android:isRepeatable="true"/> + + android:keyWidth="10%p"/> + + + + + + + + + @@ -119,14 +159,34 @@ android:popupKeyboard="@xml/kbd_popup_template" android:popupCharacters="_" android:keyWidth="20%p" android:keyEdgeFlags="left"/> - - + - + android:keyWidth="20%p" android:isRepeatable="true"/> + + + + + + + + + + + @@ -148,5 +208,63 @@ android:popupKeyboard="@xml/popup_smileys" android:keyWidth="20%p" android:keyEdgeFlags="right"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/xml/kbd_qwerty.xml b/res/xml/kbd_qwerty.xml index 552e7e544..e0fe5cdc3 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"/> - - - - + + android:keyWidth="20%p" android:isRepeatable="true"/> + + android:keyWidth="10%p"/> @@ -168,16 +166,16 @@ android:popupKeyboard="@xml/kbd_popup_template" android:popupCharacters="_" android:keyWidth="20%p" android:keyEdgeFlags="left"/> + + - - + android:keyWidth="20%p"/> + android:keyWidth="10%p"/> @@ -188,18 +186,15 @@ android:popupKeyboard="@xml/kbd_popup_template" android:popupCharacters="_" android:keyWidth="20%p" android:keyEdgeFlags="left"/> - - - + - + android:keyWidth="20%p" android:isRepeatable="true"/> + + @@ -210,16 +205,15 @@ android:popupKeyboard="@xml/kbd_popup_template" android:popupCharacters="_" android:keyWidth="20%p" android:keyEdgeFlags="left"/> - + + - - + android:keyWidth="20%p"/> + @@ -247,7 +241,7 @@ android:popupKeyboard="@xml/kbd_popup_template" android:popupCharacters="_" android:keyWidth="20%p" android:keyEdgeFlags="left"/> - + + + + + + + + + + + + + + + + + + + diff --git a/src/com/android/inputmethod/latin/KeyboardSwitcher.java b/src/com/android/inputmethod/latin/KeyboardSwitcher.java index aa52c0381..45d0a1e12 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 a9a61c3a2..7eecfb9b9 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 f5748f415..df38358d6 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;