From 508749b9b765a3271190cf15341ddf81a61bca36 Mon Sep 17 00:00:00 2001 From: pelya Date: Sat, 3 Jan 2015 21:59:53 +0200 Subject: [PATCH] Added BasiliskII subproject, added on-screen keyboard sources to Gimp, added safety checks to Guichan-TTF. --- .gitmodules | 3 +++ project/jni/application/basiliskii/basiliskii | 1 + .../xserver-debian/AndroidData/postinstall2.sh | 1 + .../keyboard/UltimateDroidButton1.png | Bin 0 -> 830 bytes .../keyboard/UltimateDroidButton1Auto.png | Bin 0 -> 680 bytes .../keyboard/UltimateDroidButton1AutoAnim.png | Bin 0 -> 677 bytes .../keyboard/UltimateDroidButton1Pressed.png | Bin 0 -> 811 bytes .../keyboard/UltimateDroidButton2.png | Bin 0 -> 728 bytes .../keyboard/UltimateDroidButton2Auto.png | Bin 0 -> 643 bytes .../keyboard/UltimateDroidButton2AutoAnim.png | Bin 0 -> 639 bytes .../keyboard/UltimateDroidButton2Pressed.png | Bin 0 -> 711 bytes .../keyboard/UltimateDroidButton3.png | Bin 0 -> 1029 bytes .../keyboard/UltimateDroidButton3Pressed.png | Bin 0 -> 970 bytes .../keyboard/UltimateDroidButton4.png | Bin 0 -> 556 bytes .../keyboard/UltimateDroidButton4Pressed.png | Bin 0 -> 632 bytes .../keyboard/UltimateDroidButton5.png | Bin 0 -> 560 bytes .../keyboard/UltimateDroidButton5Pressed.png | Bin 0 -> 595 bytes .../keyboard/UltimateDroidButton6.png | Bin 0 -> 558 bytes .../keyboard/UltimateDroidButton6Pressed.png | Bin 0 -> 634 bytes .../keyboard/UltimateDroidButton7.png | Bin 0 -> 3368 bytes .../keyboard/UltimateDroidDPadButton.png | Bin 0 -> 3462 bytes .../keyboard/UltimateDroidDownButtonPressed.png | Bin 0 -> 3544 bytes .../keyboard/UltimateDroidLeftButtonPressed.png | Bin 0 -> 3732 bytes .../keyboard/UltimateDroidRightButtonPressed.png | Bin 0 -> 3698 bytes .../keyboard/UltimateDroidUpButtonPressed.png | Bin 0 -> 3612 bytes .../keyboard/UltimateDroidmouse_pointer.png | Bin 0 -> 1207 bytes .../application/xserver-gimp/keyboard/key.xcf | Bin 0 -> 9882 bytes .../guichan/src/contrib/sdl/sdltruetypefont.cpp | 9 ++++++++- 28 files changed, 13 insertions(+), 1 deletion(-) create mode 160000 project/jni/application/basiliskii/basiliskii create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1Auto.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1AutoAnim.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1Pressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton2.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton2Auto.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton2AutoAnim.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton2Pressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton3.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton3Pressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton4.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton4Pressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton5.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton5Pressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton6.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton6Pressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidButton7.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidDPadButton.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidDownButtonPressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidLeftButtonPressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidRightButtonPressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidUpButtonPressed.png create mode 100644 project/jni/application/xserver-gimp/keyboard/UltimateDroidmouse_pointer.png create mode 100644 project/jni/application/xserver-gimp/keyboard/key.xcf diff --git a/.gitmodules b/.gitmodules index dd1673082..b514e468b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -62,3 +62,6 @@ [submodule "project/jni/application/uae4all2"] path = project/jni/application/uae4all2 url = git@github.com:lubomyr/uae4all2.git +[submodule "project/jni/application/basiliskii/basiliskii"] + path = project/jni/application/basiliskii/basiliskii + url = git@github.com:pelya/BasiliskII-android.git diff --git a/project/jni/application/basiliskii/basiliskii b/project/jni/application/basiliskii/basiliskii new file mode 160000 index 000000000..e4c2f6fef --- /dev/null +++ b/project/jni/application/basiliskii/basiliskii @@ -0,0 +1 @@ +Subproject commit e4c2f6fef979cb84dfd638838c71a5467adc9d66 diff --git a/project/jni/application/xserver-debian/AndroidData/postinstall2.sh b/project/jni/application/xserver-debian/AndroidData/postinstall2.sh index 9fcaeccc2..8d03a6d81 100755 --- a/project/jni/application/xserver-debian/AndroidData/postinstall2.sh +++ b/project/jni/application/xserver-debian/AndroidData/postinstall2.sh @@ -6,4 +6,5 @@ cd $SECURE_STORAGE_DIR rm -f $UNSECURE_STORAGE_DIR/data-1.tar.gz cd $SECURE_STORAGE_DIR/img echo "Installation path: $SECURE_STORAGE_DIR/img" +ls -l $SECURE_STORAGE_DIR/img ./postinstall.sh diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1.png new file mode 100644 index 0000000000000000000000000000000000000000..b3396cc9c11c905c1f650982fe6c7d29a9b79bc6 GIT binary patch literal 830 zcmeAS@N?(olHy`uVBq!ia0y~yU~mCp4h9AW2HA=;c?=8;Ea{HEjtmSN`?>!lvNA9* zFct^7J29*~C-ahlfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>f~R+lCv588=9?G^!tqXrB|^cxJhdgPT$$ z_k`S)35-SaG-sZ=?^3ieay|EFj)~iw5BttLdAFq1qiC^ntUkZ`8qZ@BPfMz2EUz=k z_ekUiP{ zyOP2ELtOIgmn&v}n0MBM_hjE~#+_m%d}rT3W8hcG?6}jqAT3TSL-~50b;E=OO1TW% zI_`a#a?T@>Z(`S$N$>hfCuWN~D9e6SI1ud>c>9FAG~+DQtc}8D4}LjW=Bhkf&1mDH zyG`Kp#{;GJGo>sywe7Jss=aaU#I~R3e0h`adoSCjx2A51;>;Hek(+sCYmXiGkY7>! z{2oV=hJBmL3BNh!_j@(eyYtQ{&duhmU|#-tM$FLj#!__v|9L*c*JlB%x1?rR*6^dxC5<@X5K zV>Eqsd5Vol?@XURyffp><~w{8P3%?WC^&!rZD5#GLiz><1_sFz*N775{M_8syb=cI zqSVBa)D(sC%#sWRcTeAd@J2py1_lOIkfM~tl2of?unGnv149#C17lqS!w@4QD+3cN qQ%h|FBP#=gD}J5fC>nC}Q!>*kacfvAZ1@_KF+5%UT-G@yGywpWicG}- literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1Auto.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1Auto.png new file mode 100644 index 0000000000000000000000000000000000000000..0917ea7f022659752cfebafe4f35823e5342d782 GIT binary patch literal 680 zcmeAS@N?(olHy`uVBq!ia0y~yV31~DV36TpW?*1g&Tn#`fq{V~-O<;Pfnj4m_n$;o z1_lPk;vjb?hIQv;UNSH+C?tCX`7$t6sWC7#v@kIIVqjosc)`F>YQVtoDuIE)Y6b&? zc)^@qfi?^b3}*s-LR=Xb7#JooFtji*G%_$WFfi0IFjO-zlru1tF)*|;Fmy98Ok`k~ z%D^y-fnhEK!vY3|MGOp67#MsR80;AstQi>085oQh81xtzG#MDw85j&07%UkWoEaFx z85rUj7}6OS@)#J385ou@F!(btcrY-yGB7wYFxW6KSTHb{FfiydFz7Ha1TiqgFfb%D zFk~|@6f!VWF)%D;VE7Mm8bdn+!zKoX4Gau@3=F*t3|$Ni9SjW33=A_E80IlBEN5U? z#lWzZfngoP|Ns9Li&d|J0;D9!FPOpM*^M+1C&}C0#X0=~ZxRCo180FpWHAE+w=f7Z zGR&GI!N9<<*VDx@MC1J2NzeJ33`E@YPXq-Bx)kacH0-u0c>UXc%33#P4{pxq?_b8A zWoM9?FYMwO#<5A|3HPcnovEb{%*t zP0!@}{<%i_Rn=o_I@RKQb@abx2^H+KaDK2gZm%8JQL6H$MVTK^S}Qp_A%UB zCzpLrQ%&&;0|SFRdP{kVo554k%6I!u7R!Y#Rwjnp2F6wf1|Cb<0zlE>>FVdQ&MBb@ E0MjbL8~^|S literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1AutoAnim.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton1AutoAnim.png new file mode 100644 index 0000000000000000000000000000000000000000..73b7dfa3e32760436ef69ddeba9ec2e1b8d00a33 GIT binary patch literal 677 zcmeAS@N?(olHy`uVBq!ia0y~yV31~DV36TpW?*1g&Tn#`fq{V~-O<;Pfnj4m_n$;o z1_lPk;vjb?hIQv;UNSH+C?tCX`7$t6sWC7#v@kIIVqjosc)`F>YQVtoDuIE)Y6b&? zc)^@qfi?^b3?~D8LR=Xb7#JooFtji*G%_$WFfi0IFjO-zlru1tF)*|;Fmy98Ok`k~ z%D^y-fnhEK!vY3|MGOp67#MsR80;AstQi>085oQh81xtzG#MDw85j&07%UkWoEaFx z85rUj7}6OS@)#J385ou@F!(btcrY-yGB7wYFxW6KSTHb{FfiydFz7Ha1TiqgFfb%D zFk~|@6f!VWF)%Czxr?ElfngH^!v+S1J_d$f28J#Mh7JaXW(I~C3=H!a7?v|ItYTnT z%fPUX;s5{t>zbrAK%r3*g{JrU8i9lQ9tJdgV)35VGh?@G+#E9?$#_DSCv zmA|cPi}Qk=oX_hQT8kt|=s9p~l-*|eD(HFYn@MxNSIS?gW>Zo-99aD?CQ7z#EBD#I z`OD9A-=B9n^^fVPhnK33Z8~!5!M_7%^y*a(KD!cJ(f5P9vES)k)#dm7&$%D)exH!- zbhGpAN(Kf7)e_f;l9a@fRIB8o)Wnih1|tJQ6I}yiT?4}qBSR|_ODj_&Z381K0|UJ! zo`EPDa`RI%(<(t440H`Fbd3!|49%!lvNA9* zFct^7J29*~C-ahlfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>6rpdK8d)s=Vv|H>Qrf#i@ zmcKPGSt=?y*7t8(*X=ZsCoTKgBD3P|?9AUbufS%nw%eX-#xW<~&R|T9n#=TQsjhd+ z4QWXQFWr>OQmjllr3y}NKhCY3^^jHhuN#}g+fIRO$Pp1xTmLp(nr|4h!};WNxv)w5cjOz;f z&AEzz^bhM@9Oq>9c_=S7Iw<^e@4H|7=1Eo`>Sx-fe=~yH|G<~>NEg>7*8Cnv?l2!Z z&3UfJb|(Lk>7C_QU)Sg?oB8SIo&VOe_ip?)TPHDI?|9IOlq)F*w8AGv*Gyy8;87K{ z+jvUJFGtDa$A-IIS-M=dXzU*^{P9 zvt0xh>}N=qNRK#H>5;*}z#v)T8d2h$pPQSSSHj?2l$uzQnxasiS(2gP?&%v4-pD7; zz`&piQk0Tdl4_L5FoU}&OiV61Ck7-D2(WngM$Xr^soWMyFB**B*OMMG|WN@iLm VZVeWfRgQsjfv2mV%Q~loCIF#;LHGaw literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton2.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton2.png new file mode 100644 index 0000000000000000000000000000000000000000..9f4c3255515fa1db54396827b94a5071912f8c27 GIT binary patch literal 728 zcmeAS@N?(olHy`uVBq!ia0y~yU~mCp4h9AW2HA=;c?=8;Ea{HEjtmSN`?>!lvNA9* zFct^7J29*~C-ahlfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>XNpPGFi~)7`10eaLf75})sH5A&Ado1MzVLRTyW*$h9u zO4U)kDPV9TE=Ti7&j*=scFVSg1M^)%qd65WfG5^C4I<{P@{AMQ`B-#B0n4Fhxk+*4!Fcx5L;pY`}X7fLA>D+|WISZ5) zHr#8Id1WA)n4EM(*7RBnZ=~8`4~05T=}Sw_9&*^In7F`=b#utCv?orzR}2c-D&3O! zvV=QBoO2xb!WI~m9jJ8AydmMFB4L`6B5726TyE0=P8H`(%k@?G*EmQd&5aLrR(sJb z{pf|i-3bde)0Q9yQD=!645DjI@3P)$f5E`OAX(xXQR1ARo12YQVtoDuIE)Y6b&? zc)^@qfi?^b3>yP{LR=Xb7#JooFid1%=wo2$Wnk!HVCZ0AXklPzW?-1Xz%Y-2VG#qv zat4M~3=C@-7}hZ`OkrT~Wni#pV6bLjFlS&eVqnl?V9;b>P-kE;U|_IhU~pz&2xnl3 zXJANYV8~-&C}v>Tz`!t-fx(}F!GnRpm4U&Lfx(7>!GeLogn>byfkB6XA&7w?hJhiO zfgziLp^$;0jDew=fuWs&VG{#G6$8Uk28RD2XEM|>{Qv*|?Wf~kLB1{t@(X5gcy=QV z#7XjYcd_#0JOc7BXMsm#F#`j)FbFd;%$g&?z`(HC)5S4FX@Qw&ar9cpyBHu z%r9Hc?wZ|@{VdL}^nQ9@(IcNLdsJ%&iPev<-}{3=HO7 RSLX$VuBWS?%Q~loCIH^VypjL_ literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton2AutoAnim.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton2AutoAnim.png new file mode 100644 index 0000000000000000000000000000000000000000..01f9992c1d7311949af3ecd19dddb99f9a4d2674 GIT binary patch literal 639 zcmeAS@N?(olHy`uVBq!ia0y~yV31~DV36TpW?*1g&Tn#`fq{V~-O<;Pfnj4m_n$;o z1_lPk;vjb?hIQv;UNSH+C?tCX`7$t6sWC7#v@kIIVqjosc)`F>YQVtoDuIE)Y6b&? zc)^@qfi?^b4C?}XLR=Xb7#JooFid1%=wo2$Wnk!HVCZ0AXklPzW?-1Xz%Y-2VG#qv zat4M~3=C@-7}hZ`OkrT~Wni#pV6bLjFlS&eVqnl?V9;b>P-kE;U|_IhU~pz&2xnl3 zXJANYV8~-&C}v>Tz`!t-fx(}F!GnRpm4U&Lfx(7>!GeLogn>byfkB6XA&7w?hJhiO zfgziLp^$;0jDew=fuWs&VG{#G6$8UkkQ*6l8UFwO|CRe=0m#cGL4Lsu4$p3+fjCLt z?k<+s8KycgFfecyctjR6FmMZlFeAgPIT8#E44XV%978nD&z*ErsL6oGwOMJ0cE_VW zr5z30S+D-r&s=-kV6Iu;yz9o9)w8)7+!kg`)7h=FLHF{CknFE+n_1^NITDX$W=r?{I%~SE}`?i+jjqbSaIr{I7jlyrT&|=wPcL?jv2a4k*!vc z*}iFa;f%C*PeZ=fKGQgU-sNoc3ZDC)7M=?%mbn`}<=x!asfyG8>bt+;5H0>$e^CD0 zx)(wh9arskdH&w@O6gaYruSDF7#LJbTq8!lvNA9* zFct^7J29*~C-ahlfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>pUOug9 z`jc6=bzfic5L15S<*>z|P;J`vmx4Rfq^ACzkmGphNzt=Lsh3L%_dRP2D|{y{#^UbW z8Tm5V)8Kf|6rno3C579(rYT>ZmOSPAvy;7ZBfP?QMy+vKZ@TWV*c~^ikGI4wdaY!r ze6#$}asT`Ke@beuko&|`HB(Q)kjsgEYFd91yWx~uj|*R~%e<8uvh42%1+5qAU4}|0 zKIFW4uV^ZH|HPXG6VntIc{E+vZMw=f=rgz3->vSSx|JTd1y$^Fy8qDFGC1RV3bXj* zwKacT7r9>h*u*^N?#nxKAIx|Bbw=W6e#beH$qs!1Q+4~r7NxB(>e=~LX`@QD(OUl& z^F9TJeay>S!iww&&^HED`9XhN=+)MDN0E!NwrD_t6(rPFf`FMFxE9N3^6jYGO(~RG1WFOvNA9@TET3Lq9HdwB{QuO Vw}vgMyZb>Y)YH|^Wt~$(69Ch!6g2<< literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton3.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton3.png new file mode 100644 index 0000000000000000000000000000000000000000..084c411984018e114893651436083c0ba27c6c85 GIT binary patch literal 1029 zcmeAS@N?(olHy`uVBq!ia0y~yU~mCp4h9AW2HA=;c?=8;Ea{HEjtmSN`?>!lvNA9* zFct^7J29*~C-ahlfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>NHocj z6J?IifBvp)_AcFa?~N-(E^pA^c429gN5o|RX&ZRLxv{$93=|5i2c`RAHm*eYj&f8g9d$UxJagLVOaFfLx*f1^-tDfqS-LOrRe z_Nh&Kd9oiq5BXvHT7mh)+(coQTfx4sS}*?Ue#UO^`6Nns)<@GD4BS;KSBZF-JFs;> zOE#C>lW8({`y@S$)5=;)*cJXQvQ!c}u`@s~|72cAU$A1h!rLIXi@v$pHIaAkuyf2? z;^ek)!n>Dq|IA-xQ2(w@@dvAqoky!pw(95ScM8vPlutbO_*~nUh`gJAYL^V0TbC?n zS!?KPOOyPyE$lz3r1H=uTMTEK+$WDWmxL z?Vt>y54xB5tyr%8Te7-Qxqt12np#&&y@x6SyZ-5)n5ev>$z^4pf?BP=?ynq)+sDf! zxT_5m6z=?(Qdn;Geo|ez?U_xvg)KHWZ%j>S);aJ|;n++CZ`%pE(d$KvcFdl$FRQio z=`C|Vo|QM$WxXxKI&SPwJF`lx$@1dW?Gx-~g_^q`v}apcGmk^w)8g1>S+9DjPv1qp zMI3ECRP>7X)9vqk&vNFi)KPYs+*(&{b5Qz%;E8K-lXv{e-P3wUcVqSBwHrQP*tm^F zS|zIb_H+fF^XD|3O9J%|@8%YlWjZ!>`wvE0p>3CcweVG5Y`dxG9Hkr+J+=4y$E@r{ zwI1J2UKKIhs6M-dQK4?~=e=y5Q)N~$8qN2Zd3EL4BTs6U*2?HllZjS6;gRulZe%XQ z$60e6HALi1Dz0@;*w}f?bomQ`u(@0;h5H$7ZL}A-_k`|XU|^6eag8W(&d<$F%`0JW zE=o--Nlj5G&n(GMaQE~L2yf&QXJBAZ1u05NEJ?LW2CHB&GB7mJH89pSFbpv=vNANV qGBMINFtRc*xYV|&6GcOAeoAIqC2kFiZ%dhi^0%j}pUXO@geCxs38zW` literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton3Pressed.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton3Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb3c4a27cc9f34949b73469e6608dbfcea8a8e8a GIT binary patch literal 970 zcmeAS@N?(olHy`uVBq!ia0y~yU~mCp4h9AW2HA=;c?=8;Ea{HEjtmSN`?>!lvNA9* zFct^7J29*~C-ahlfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>9zh+ zjsnNZzgs+T*swsbgVlAFrs_7wOP7ubEM)bX&2&jZQIo~fpjD*#Vz*n--*+H&z6Yhx%_s;NMyzdaV^g#|`&44*ASC%>W zIh!a|yxO&Vi=u+>jk27UJ@0&+g#3CYh~#E(i@D{nSSVgf!8-mar-#cDf$~C$j9m+s zZit+!Z7sIIW9B;xmC~~GmYiU=Pg|>J&28Q|VG7g!$wIu7wl*;a?GEGlbZ~zz@7c); zSDH32lY0LCjKPAIMFt9T4J~cYs@eY*pN?CdfA#HzJKKFa#1#%M+{rEc?o`Y--J6UT zHH0^Do~@aCFXK4VtV&)1nPjJL3KRPlcmH!&-TFU&%Y&a>DVFD2WSr(ExJR0DWp9xz zOk>-4dd}2iXFS!Or27PDe-3^8>bTt(=EzBN9oI;SXTU)v&Icyw`JnnuxF&tw zM@NfO{|uejlH%HSXRcRyP`zx%-;hAAu&}us6gxxD@HeI#3jIC)=|yeL#W^eZJ@@a4 zNXq94nt#c$`Lj!F&2`yR98Z$hW=@HI+j;P3WUWkkse5$$o3ziYi^CWn8CpEPFzblB z%~VB|nhym_tC%^~|KnnrXwScVW9PL$Hyjuk7$i$vBTAg}b8}PkN*J7rQWHy3QxwWG zOEMJPJ$(bh8~MZ;7#LJRic%6wQmvA~Dj19m3{7+mjCBnRLyU~93=OPIjkOJotPBix hM6Xgnp|vd$@?2>@MKj`{!q literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton4.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton4.png new file mode 100644 index 0000000000000000000000000000000000000000..85c5654df06661930fa354307d9fd3965ce551c0 GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0y~yV31~DV36TpW?*1g&Tn#`fq{V~-O<;Pfnj4m_n$;o z1_lPk;vjb?hIQv;UNSH+C?tCX`7$t6sWLD$G&3;#{LjG9@REU{)PRBERRRNp)eHs( z@%%~gN8K107#0Qigt-3y|DRz#1H)VfhFJ^@GZ+}AGB8YHVCZ9D=w)D-%)l^{fngZ~ z!&(N0O$-d%85njmFzjbwILN@Tkbxn9fx(-B!Ht2zk%7U6fx(=C!H|JLkAcCGfx(4= zA%=k=gMp!tfuWj#p_zf9lY!wd1H&Q)h9CxpFa`!+1_loX24@BaI|c>|1_o0Gh9m}t zJO+j`28MbDhIR&qi3|)!85kHC{{R2a{MFkBgTe~DWM4f*Q1B) literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton4Pressed.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton4Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..b76f78f41dbfdbf24c7bcf55d8b0dee452fef863 GIT binary patch literal 632 zcmeAS@N?(olHy`uVBq!ia0y~yV31~DV36TpW?*1g&Tn#`fq{V~-O<;Pfnj4m_n$;o z1_lPk;vjb?hIQv;UNSH+C?tCX`7$t6sWLD$G&3;#{LjG9@REU{)PRBERRRNp)eHs( z@%%~gN8K107!C*cgt-3y|DU0ifuV(gp^<^1fq|ixfuWj#p`3xCjDew>fng#8!&C-_ zSquzw85kBYFsx%>XlGz>W?-;qV6bLjFlS&eVqnl?V9;b>P-kE;U|_IhVDM#N2xnl3 zXJANYV8~-&C}v>Tz`)SKz~IWj;K9J)$iQI3z+l0^V8Xzl&%mI=z!1d15W~Qb%)pS% zz);A*u!(`8iU9=t85pK8Fic`#=wo2$Wnk!HU}$Dwn8Cm>kAYzk1H*C#hE)s#HkpK}0a<;_9f{ut~m_oye#z>Rt zhaZa-{dLdZnJ6>w&aoYr6`DIu&TTn;AmLPMTHeAVDV$6`UeA_=T{GKO_U(WPKSRrs zq*lI^wYM1<7*tDKBT7;dOH!?pi&7IyQW=a43{7+mjCBnRLyQcqOf0QTjkFDntPBkF zmUsrDXvob^$xN#RX)w?=u+TL!4KXybGBC6|1_o0Gh9m}t zJO+j`28MbDhIR&qi3|)!85kHC{{R2a{MFkBVOu<8c~vxSdwa$ zT$GwvlFDFYU}&OiV61Ck7-D2-WnyV%YNTyoWMyEWx5P6LMMG|WN@iLmNP~f{frYM- jX^5ebm4Ts^p{cfkv6X>=Q5eT(P_THq`njxgN@xNAOr(dI literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton5Pressed.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton5Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..9b09786e723671d59cc43cdb5da8f00065f7b290 GIT binary patch literal 595 zcmeAS@N?(olHy`uVBq!ia0y~yV31~DV36TpW?*1g&Tn#`fq{V~-O<;Pfnj4m_n$;o z1_lPk;vjb?hIQv;UNSH+C?tCX`7$t6sWLD$G&3;#{LjG9@REU{)PRBERRRNp)eHs( z@%%~gN8K107*+@Pgt-3y|DRzJ1H(iHhCT*{UIvCP28Ip>h86~fW(I~C3=H!a7#1-w zEN5U?#lWzZfngm3!xRPvUj_zy1_o;e26F}mBL)UN1_n(A26YAo0|o|51_oyahHwUk zcm{@a28KKahGGVW4GauZ85sN-7(5slTp1V~85nFB7%UhVOc)sS85ndJ7=joWVi*{b z85pt|7z!B}$`}}`85r6b7&b95R55@+EyMr+{}+hfeh2bzNswPKgTu2MX&_FLx4R2N z2dk_H0|NtRfk$L90|U1(2s1Lwnj^u$z|iUG;uxZFJ~<&FAtfm-F*W%)17n$)n46zo zo?M(=9h-uHfQXQops4V42F5~9%}hthNXtsrGFLV>)l|_?(^6hv-CThSLV`gTFJ8TD zZeU_$mY5KHR56`vsxdQjhfGVaN;)5lfu+IhV?`Brn$GhJSa$Hq6eY}lq0xR^_pp)N zhoz1+nd1Jl*cn3hlx$aTVhLklU{Eb_jVMV;EJ?LWE=o--No6oHFf`FMFxE9N3^6ja zGO@HWHPSXPvNABxTjCjrq9HdwB{QuOq`^Sfz(Uu^G{n%z%D~Xd&{EsL*vi1*>$jwK PP>^}L`njxgN@xNAySa{e literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton6.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton6.png new file mode 100644 index 0000000000000000000000000000000000000000..6edbb311b4d2744eba8b1e8ec0e20ba2a20d1dfe GIT binary patch literal 558 zcmeAS@N?(olHy`uVBq!ia0y~yV31~DV36TpW?*1g&Tn#`fq{V~-O<;Pfnj4m_n$;o z1_lPk;vjb?hIQv;UNSH+C?tCX`7$t6sWLD$G&3;#{LjG9@REU{)PRBERRRNp)eHs( z@%%~gN8K107#0Qigt-3y|DRz#1H)VfhFJ^@GZ+}AGB8YHVCZ9D=w)D-%)l^{fngZ~ z!&(N0O$-d%85njmFzjbwILN@Tkbxn9fx(-B!Ht2zk%7U6fx(=C!H|JLkAcCGfx(4= zA%=k=gMp!tfuWj#p_zf9lY!wd1H&Q)h9CxpFa`!+1_loX24@BaI|c>|1_o0Gh9m}t zJO+j`28MbDhIR&qi3|)!85kHC{{R2a{MFkBVFpir==-j;CI$uu)e_f;l9a@fRIB8o z)Wnih1|tJQ6I}yiT?4}qBSR|_ODj_&Z381K0|UJ!o`EPDa`RI%(<(t440H`Fbd5|y h42`S|46TfewGE7|3=HmbT4{j-#naW#Wt~$(69C*7iOB!} literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton6Pressed.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton6Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c0640540f595889fc9b21ba39975a5d5d5b2d7 GIT binary patch literal 634 zcmeAS@N?(olHy`uVBq!ia0y~yV31~DV36TpW?*1g&Tn#`fq{V~-O<;Pfnj4m_n$;o z1_lPk;vjb?hIQv;UNSH+C?tCX`7$t6sWLD$G&3;#{LjG9@REU{)PRBERRRNp)eHs( z@%%~gN8K107!C*cgt-3y|DRzJ1H(iHhCT*{UIvCP28Ip>h86~fW(I~C3=H!a7#1-w zEN5U?#lWzZfngm3!xRPvUj_zy1_o;e26F}mBL)UN1_n(A26YAo0|o|51_oyahHwUk zcm{@a28KKahGGVW4GauZ85sN-7(5slTp1V~85nFB7%UhVOc)sS85ndJ7=joWVi*{b z85pt|7z!B}$`}}`85r6b7&bA0KotW+EdxU<14APNLjwatIRisC1H&u^hPez33mE?Y z|G!MPY6&PDN`m}?862M7NCR<_yxmQL70(Y)*J~228J1) zE{-7@=aUl>5>k@V5>u0(GccB!iMjdd<;lg_)v+lE2#5%Y35p6&XJ9P!)Xa30jI^v| zEpugKQ%w~OH7(`!)y);SAS4)c@#59X<_0E4W{C;Gtfyu+F}m;_GBYu1J~@+_(TDHM zvW+rw+Y>%B8x}48C%xw%^D;-a-EY^nTD85kH;OI#yLQW8s2t&)pU6H8JVj0_A-bPbGk4Gcq!46RHotxS!y4UDV| z4D^cps|0B<&^55oH8Kq`G_o=mdKI;Vst E0MtC3;{X5v literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton7.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidButton7.png new file mode 100644 index 0000000000000000000000000000000000000000..3af73b0c27ecd094186a5b58b55d881efbe88e9f GIT binary patch literal 3368 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 Pz`)??>gTe~DWM4fY9@S# literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidDownButtonPressed.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidDownButtonPressed.png new file mode 100644 index 0000000000000000000000000000000000000000..82058864118f5f1b54da3e8947f38ac3b9fbda21 GIT binary patch literal 3544 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 literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidLeftButtonPressed.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidLeftButtonPressed.png new file mode 100644 index 0000000000000000000000000000000000000000..661542e3a7340db22c0958f5bf40467ec3ee9169 GIT binary patch literal 3732 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 B#pM71 literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidRightButtonPressed.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidRightButtonPressed.png new file mode 100644 index 0000000000000000000000000000000000000000..14ec6ab70312ad74dc4bfb6aff7562f5962be9ce GIT binary patch literal 3698 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_tsSkfJR9T^xl_H+M9WMyDr zU@Q)DcVbv~PUa;81A{`cN02WALzOB6LqjtI!_WT=3=Jfq{W7$=lt9;Xep2*t>i(0|NtRfk$L90|U1(2s1Lwnj^u$z?<&r;uunK>+Rgi zHL{_y$L)*L?_Jt=%ZWQ=0h5>pOUlZPT$?%M$V zJEVB(Ga7cV+)-HYCTM|J%ES(~lV)7gLjr|$DP_br7t=s0<-;6Esoq^F!W*Yk##)*2s&I~f9I>r|d3c|4NJWN)uDiha)SCa(J8YuOw^vrcVvi7L)*BMOT*v>ieNS3&BHqJdzdLS%lS^HX5 zgIM?1iAHlW)3p@c+OM*ND!HBcp|OEiFy}&+4qKUV>K}%Rqf-PYUs+@{`&x>YY1WEE zcV;m8na$T%dgNQ`VYor|>#s%M?ekArUyS+85x9HSs>_#)HcWn}^7tMb4|_q3<6pC$ z85XDAu3r3C#@YGG_!-|Ft1WY`a2`J3%xIIIcW*Ic`!=iZza%nWWIo@n{`PyYQ&)mS z1z&|m<6~(7^$ic1Gyl@lfJdU*?|gb% z;O>?s$%*@Ws?2vBuc?!X=&@PuuXu9D{;>Xy`fsXuB-!L#^*-)Aka$341G5Fw4}lLk zN|~D336=#*Ze?CKdUg1~IxGBlc}K=4GeX zC_m72xiYz-Tq$~DiHGoszqT?J628+}ws^ZwJeYp;L%*V)l8WeerQL;kcUMpKSJ?g| zZ^^kudh^#y{4-oK)w6u|>-j9xW=Qdi`fy5F)X5os;#WK05W;2Ky#KE%li6gy{{J$) z=2Ztfe%3JdCf*AufBYzkn z$j({4L6KW%Q-j|Jf2UO!-iLZ5_D4(*IR9XN%aJMe8POXQxiz{t){52eRY=d;vMy+| z+KOPA0CUBLtq0DA-1n3|u=+snfvJKYWVd*|WnUGb{xhr4vMYHd_j2anCJo=OM|9q- z*m`KwtiS1o2{k%O{w~)Stms?S8z*eRRk7^JCT0lgQrO1oyIB~KT9wRO$( z0E?H&&wfii|6l8?EN}LGkIQbat^k2;f9*JS|8WYS*bNwcK4t+MQ$<7(2TK@^1**$aD16x+O7b5!(fp@O33v-*Vh)ygYTk zTk{5G?q^rI*Ua9_*K4@1*Jf|8$FAuYHY%T4zv)>};O@YEDK0D8dnbMSuxLZvRPNIq zAN4-JVioRilYSA^`qWtEe7BW+rTXL$bIo-2nau|KelxC~cqP@q3tjAJIxaRN+F1lKJ;QQIFwG)5MN-wL((_h{B<&M;o@aCEy z-e zbLrKi$Z zuG;Z@Zws@}>Wd5BwKW~t!PYxz|D2!ig+xwmytpMjg`sqF?pEnQ@r65$S1^@3{vw+a!}UZoP`T!*l0tueRPKKmZ{Y@Vly>VNSi=i<`;y;fIHUj3%u^<4kmhtVqcWjHg_PZ-?Q zkMvz!ywcCHIDXs2W;;Uz!_>7#FXLbEOu29I{Z8JiO?@UCGH-3klq#La9KgTrdUdPn zkD}mt(P8Gfr!K6Vt9ZNd`hw3qyCwhJl&j%+dC(wrZeXhPhDjxFm8D%Tsmz_lVSHZC z=>ON~{h3Rcrk@K8Q#TP@yM23nUjON+u9_d5A~&ydJN@dmn&Tq7h)ZYbAI5hv8_w+B z_4d`an-jaeFIFt(^HJh|nptwpbLI`%3f)gauMcLd6F3tz1hU=(1=gD)+ zrm;pJ6PV}O!Jlqu`gzP7mU+j)-;{$^!uMdu}FG&V2ZG0Eb|l&7sN zKN6gEVx)tfc^udpyw2pBC%3-pkzIR2SL$eY#(8$|n;r3LUcKp*THjPY`H*RE6@DBN zSgn;5#5{fT9?O6oLXV~fes5HaoNC$<_GDhcyO-Zhx30^wyP(*lD{K=OX(v%?ZLsCo zHNCBU3%+~mvVL3ey?L>e#)m{}uI^ZutSfgdb@kcW>^wTQDsEdIp(NWRb|z^{Wijhr z?^7Hf{6)_0;If!ecJ)PbVE$%ByFCV{Q$4P=t#K9nV7^E;X7hE6=WZ=Z?DeUitZzM$ zv`*c@v(npX&PpYFl_R~kPOO@^v}3~TK!!UfMdF>fFNnP;6cOA!!(`Tl)IH&5N7|<+ z?Xt32P@8bWw5aKKLEj_J84Gh?^6vraW-zW(-Xw4u+0+f^o9k$WZQmQG6d ze=~8Cxw4ad;yP8!@0BmV{ZddAt28^JW6k+Ta|DE@dq;fc?}yWWga0cEF- z>u!EmW_{A1Q&Wg-3yW{FjZ@W;dtoU*#Ao0C{B&Zvv&{qn`y7u4HRsZuV~(8o8|zzT zac&kvm`c*In)A=U`n`xr%Y4hPFroaBkKQ#w*I8>N?h2|qN*Ba&E)YDhYMR8=myxS~ z<@6-oo!rf`>`hCD+ugg)qKrXPQ_sK9a$3Mv&~dZt3a?}P#fqi6JS+I5X3S9054|Q} zHQ@n^Nu9>0Bv0#5{+HaE)`=4<-)Y|Ze&hPGO_w$;ezL0S{%_$J38v0fml?JxD(~g< z^y)sidXo5sygRZxjQ2WzI{fQ?W61v_o-)TK_*^o`%I3&@v8VG>U+bpXKktSfvCt^) z4oJLmZo(7yV9$cO3T?+p^DMJCL$7(ae2)3M;Nj6@OK(Xs9SBHfUYo$X#ji?)Fi6yBFMh1o^x(3F& z28JOfq{W7$=lt9;Xep2*t>i(0|NtRfk$L90|U1(2s1Lwnj^u$z$@tK;uunK>+Rg^ zGqSFd$Ln`j-}BD&_I3>9+8Uyfv2~#XYlukG1J(%&M+7D;;JC*j6=)df@nQBsek~T} zP6>`hGcuaG6j(Kzw#2yVg|$YAtn^(v)%*9h+S}#je?QEBdG6ir=X36Uo@blxZ}UIJ z*t&Y|-2Z1jpLtrDX8X*vLE=z^;*1?Pw=UfMUhXyDGlu)D=gc}g(!cFE^npQs$Gpgz z$qf?%6Rya}vPvE3=Tm+BwhG3B2EV zbkCXW{h{r_zdhQ{zTtnPsLZm+?DxdYsgHNgUatFP(qG%zspr-zF8;RiLh{6`4Buvz zeaT74VSE2+u7QG}=;8x>52l^j>^{>u;as@Vrlb##UMgvS=qd3sI(#5ZU3{<5)0yJ2 z3^`0@OM)Y~8ijW)IdY)xfOv!a1F=mr7QFGcYMtH^_{(Sc{Ak%eW;H=Y-h@?Wzw#z9 zrT*Aayw|(qu8yHTc^nZ|X&L)58x0AHC`oZWLV+YR0(6Wvxj=x`f9?(}*evm1;~{Mj#MVAx&AlBxf5L(?&N14YKk#z$L4_k_0W{l`vE1y&p=Kq#1?m-^UeQ*Ev9Nq_f6fw zxTf@x`Q@nm6hVvg8#n7tUQu7$i56|60>~VBz0?JD#o3S4>vf`_6B| zT>e7!mAB4r{37^Ob;*e*A=(z(B#(6PNMDoq8vg2kx`a@WF%RcT$+ng&JkCy8ZHkJf zhbK&!mFVGd)<9)RnuO4$@*Ur+qx#ifO?Nh&2e-~Knv~kD%n@npI zQbZN&O8+UIORrYr`Ji~u^T~bJ2eJ1Ro>U9O#ss$U3yCqPfB&;q@PVttm&8TK7JluVUX~$_xu|6@FK5RBja4R#P%~ALaL`BYAF7 zOuCGDaqb=2bKgDrUsum8j`MplQKITUuO)x)jFO*$hd&y!+~cXa^k#pa+&iJ9_AQIe z5^p?{F;TB#{*ZOFg<(&U(X$6W%hL8Pd^1h=ZJyh2-A8hnPC99f>uq#>#yK?+}2TgZsXDe#cA~m6*Id#_Y1!~a`)Wze|J+7%+vUsQ(Cq&M_fB-{MV`7 zD}m>Sd4ampVyzod9~G1yTRd3q@xqDnf>acsQ$Epy3~XH4M>UPT`ZS!kW#r6Hv6}I zSCrXv<(;;{$?bPncvssgJxaXdwB_ez##7TL2C6K&w&2nZnH>TX16_|7$z0``&=+;_ zS@yCCvLA#V1U+zgkbFS$z}IKHrZ<|;e4YO4rz}&x>)Ok^8|@d*D%#;$ebPoV+}Ukn z?B(?WlJf4|NpGA@l~y|@xm5|TJ;_iRbeCgK_mSDJd>(v1(C_m{M&()GqUvW3lb_v9 zXOwr@cBFstt;nDj(bbCEe%U5(`+4B`#7lS1nLPi#F3I+iq`1fqGnX#eOUDY{8$W#B z@H-&5c+-dL;>}y7?fAaxzjK=xmv3Hpn=8Bdo98C)z%`CrA7@Oq{2h3PYj5z4Wx5Bp zbKTp_YjJjo`R~;Ita%Lg;uB{%yL?HyvV6Dv5AIhf`b#eaDX!&|bX9uncxAnXxUTT# z*;&z{W~r|y%GhmuvbQoX=d{lbK~twyM^s*Q&Tq>)?(Fej*Lm$GF(K9X_8Vb`Hp~6t z>s+B7pq)DDUN4uwqTmJIi$wxb>c7?ZZj9^k`4z5o*Qn3q<^xsP<1#+~uP}uEY_F}* zYo>)t_Y^JmHx4DIs*t!p`#xw$-lB>hz5?m*x{z+50Un@<6oh z9;q8LtG|{9Tq(J;u9BD0!f4uwU+e{(`_+R+WAezAbqr@_p6^hgH`Vd8fFSFZy>P z=E{N%$`^Dm>|4I?w9N;R2L>Tu*EwxXTfeQmobPo$UqR`?>SGftc5rA0i2pZAoSNB| za^S0($+dEg4}2jF+*iINIje7Tk!9U;d(Q{2D=OPw3x&119*{lomUZ1+-aB1w{`;m` ze&>B+Q6+!1;_x-fSyC|u)xX7j%Owi>wwyOXk6Qh(SU$PYLe(dlMfHoZFJ=cZiO8!Iyy zaz#IcoA`yaZrVQg@Yal$Z`VDRKTT8*n$th)hyR5n6NSKU##>@G_n*l8HpfW9@zDo8 z6-z$%)(n=3fkjP=H~$pK{#K-;#i_3}al_1a*G06;*D}9&nYOv>o^DWCy=j*0y!1=O zn|A(l3F&y}l1%-fjF*J>^XnM~(XI({orw&}>pxRU%Ie+@SOoFX1*c`DA6 z>w?bpu*o;pifm>mH0BOT-5#8)f5Wc2e$r0<>pUlpZGQdz*5l-o`s%+J3iIH zw0h2x@Yo{(df8iVbS|9pe#!g5pslBp`Jx+GSI+xcU1YR{LoshzyY9JE&W*o?J=E9e zdw6MYiMn~q-S<*!22-ZkS>C6czNh7G-L!0R<+3FPclEN(FJ)c}a(({qw!#;s->X^N zCN8|AYka0>X41nm@)v~^g<}1UYF8HSme_CFwt04T&fM4@`|P_B$8OxZnmp0|s=^2P zrVl-~?93raRgdM3WcS8wxg?rBt>w*qK^;c3#k!hii$8N@hD~1f_k!wVx%>O~IzFiF zy0Bm9QLw_d7Z3FXd2CWVF28sEq1GU-v3%BU#`!1iyFR$zcfMTefHup$)CcUpc5^HV z&pYY(J*!Jp&VPZKxBW*BMs+~}fd{^u-{z)%zkTMP`T1?v{X#1JB-jP*1YI;auj&6^ zX*2mn-GOBb`|DEfU3j@Uk3cJ6#rs`*jeYMHC_dF&p4GJFcd_}r%#)V8?#thh`6?0_ zd?H~%^oDZ_%Kq)odVN$XVg}t^KQ(T zz;i0zw=(^IVM=M574&$wmv_wKSYbnKtWh z>519fI_hRJ{}GA|)pMwm487S?D)?2MMd-QbgrkqFqWpjKDc1km?fZv=t%*lM#VMw? zh&M~@`Agy7${VwN|IDaU-zUS?EHGo8|2pOP`7A0`$(%y5rtdh?3@ut5qUP^8QBrFp z{j%5BBS&}9_U^1Q#%5Ozm48YTuBnIR-$_2VHs!&I21iwvOTUi%+xOe5IHz*I@J-8C zcZ2iU!sq8Wx!ef5;;(hP*Kl_FpI}J(;4+One15~Rm0hoT zXZ;i3KF>6Tujo?F^j$gsm+%~WaklBKYT$mUO=70;&&BuDalPzGv)^<6@VyM5*BhIz ze;4TearIx8{rS%d*@bn=pBBvZ58^&`sC3H7JpBcxGItw~G3ejB^}q0^Rfo>&6Vr~Z zwe>rySN6qPc>$Y}cHd(O-HMC(Hdo%WFjSoCw^Kj#`J3ar@9&p?SN30gAot9pOBL03 zzVG|{pW%VFuT-CTrvU>4gKCLuL`h0wNvc(HQEFmIDua=Mp^2`6v95t(h>@X{iKUgP zk+y-6m4SiY63;*s4Y~O#nQ4_E4F~JA%;d)28LFq7TN~JRt5&wPp6+`U|?YI MboFyt=akR{0K`DML;wH) literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/UltimateDroidmouse_pointer.png b/project/jni/application/xserver-gimp/keyboard/UltimateDroidmouse_pointer.png new file mode 100644 index 0000000000000000000000000000000000000000..7ebc9f07dbd9cb30f02c14a9b66c7dfed74eba3d GIT binary patch literal 1207 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4rT@h2A3sW#~2tGSkfJR9T^xl_H+M9WMyDr zU@Q)DcVbv~PUa;@WwJ+*F9SoB8UsT^3j@P11_p+P7Yq!g1`G_Z5*Qe)W-u^_7tGle zXv4t3cqPCm#FYUIVm8@l?eeQQ5MR7Mf`Ne{b-QQGCi|qV?htPD2Ak-Oc2$QH85kJC zR#=5Bu?${p?lskrfq}tqma%h}cJ6MFOFgF;m=!CybnED)OEEAo=%h$8Ffiz)OJ(m0 z^qpzs+^+4=s*$+Wg@J(~aK2gY?x3(0R=zWhyrvpv?+RpKU>SEud z;W@=1YOPJmHjmWpo)K%T!&h2It+iobV3>QYWB>DwJ!i@nT<_oaeBI(36S8*&cAqJk zcByIV#l}c08mVy~%&Dcd}%4krdLHV;{18NI=#@?gU49~T|lGz<2G zC2n+Sh_f@fWBn|!`@+oR<( zE;nENbhPbc{>|^_=U?yn|Nno%=a1P83=F;{L4LsuEaLOOKNgs;yZ5_@-u~|j(FbGh zs1)7ZYta6&^OMCZhgW-xkNybfSaRL<`}gY-u0OI9ete(*w&dq`=kK+jzrX$b-8s9q z_{aChkKNwBH7Q&va2Ax}lDyqrX1~7?-on7Zz**oCS{H~;vx@j=LegD0QL3rHO4Q906k@BK2Bb4j_1iv zLQmQ^v#=;D9bU93IqC5P-Ue*}p+5f){ytuQp1#h84UQ~6U0qAlQcy0ob1^Q2GQT*^h=HQmCN7eqWxPf3|NZRzso)7_`2wuCH@JfNT*E;%tUG&VRo zRD5ELROtPNG=}CqPRWj5USYAp#V#)1*%7YWl%h_YG}h2uEt0ZDRm?3#bZdFZuhomR z1DJ(gy);x5jJ=q<@8Mmk7lF$BJlVc$GyVttzi{Njyf_|a2QHJX!GFB1fBjPbvfTH| z!H$^9SlhpzijsdPZ(f$-|2EhBKuAKyl#A0Y+Mm6lqQ4<&mu8zy^UTUiJrDWJ5oO5+0B`nfIZzP^FzLCE5YrB;NQ>35qt+^XD3JP<%i;G!|@7iuS zVSJ*xs?yr%0izuc3xmBPYfg&@j}8Na+V|)edz-I;B1W~uHKHUXu_VKYp88kvU}8CV&b dTN#^c8yH&|7@X#Jy8tRTJYD@<);T3K0RUv>^Nj!i literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/keyboard/key.xcf b/project/jni/application/xserver-gimp/keyboard/key.xcf new file mode 100644 index 0000000000000000000000000000000000000000..dd434730d5568b3a31867d69a33093dde1925094 GIT binary patch literal 9882 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 literal 0 HcmV?d00001 diff --git a/project/jni/guichan/src/contrib/sdl/sdltruetypefont.cpp b/project/jni/guichan/src/contrib/sdl/sdltruetypefont.cpp index 150a192f8..5a0005b51 100644 --- a/project/jni/guichan/src/contrib/sdl/sdltruetypefont.cpp +++ b/project/jni/guichan/src/contrib/sdl/sdltruetypefont.cpp @@ -83,6 +83,11 @@ namespace gcn int SDLTrueTypeFont::getWidth(const std::string& text) const { int w, h; + if (text.size() == 0) + { + __android_log_print(ANDROID_LOG_INFO, "GUICHAN", "SDLTrueTypeFont::getWidth(): empty text string"); + return 0; + } TTF_SizeText(mFont, text.c_str(), &w, &h); return w; @@ -95,8 +100,9 @@ namespace gcn void SDLTrueTypeFont::drawString(gcn::Graphics* graphics, const std::string& text, const int x, const int y) { - if (text == "") + if (text.size() == 0 || getWidth(text) == 0) { + __android_log_print(ANDROID_LOG_INFO, "GUICHAN", "SDLTrueTypeFont::drawString(): empty text string: '%s'", text.c_str()); return; } @@ -104,6 +110,7 @@ namespace gcn if (sdlGraphics == NULL) { + __android_log_print(ANDROID_LOG_INFO, "GUICHAN", "SDLTrueTypeFont::drawString(): Graphics object not an SDL graphics object!"); throw GCN_EXCEPTION("SDLTrueTypeFont::drawString. Graphics object not an SDL graphics object!"); return; }