From 88aae77921e44d4f2dd45a58f21beaf6a3fccafe Mon Sep 17 00:00:00 2001 From: Diego Waxemberg Date: Sun, 8 Dec 2013 16:24:47 -0500 Subject: [PATCH] now support all 3 mouse buttons. audio renderer no longer lags. app is now full screen --- limelight-pc/libs/limelight-common.jar | Bin 169930 -> 170141 bytes .../binding/audio/JavaxAudioRenderer.java | 2 +- .../src/com/limelight/gui/StreamFrame.java | 37 +++++++--- .../src/com/limelight/input/MouseHandler.java | 63 +++++++++++++++--- 4 files changed, 84 insertions(+), 18 deletions(-) diff --git a/limelight-pc/libs/limelight-common.jar b/limelight-pc/libs/limelight-common.jar index 88527702c3b660e1cc3e23f206e621e94e52ab57..1e5a4a88dd01d5c0383b5ee25451ceb849c676f5 100644 GIT binary patch delta 8773 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 HI1v61yDd)f delta 8504 zcmZ8`Wmp{DvNaikLvRZg2p)8B4H6)O1b3Ig-F+aq%K(FWaCditORylp-Gc;4fZX9d z-#Pc(ulq-@U8}lkKlQBc-n}cU7JalD9aBjT@g)HQD*W`YPrx(;T-rfvFnD1e-c_Aq zxAiHHES&!nG(?M~-#eu@hAm#tlfg&U9B^`>trZJ4I#Cv+sMmQuaHIF*N6jnK&@V+URuiYUl<(!TOgCO+ z@t2~3&rkH{NJy6Q&K~kU7YppDi^$oTQkF3OytBbYfh3pz<~0G-tv6l!5~2&7 zxcKFNOl*{76`%6xj}N=v8J)LCGI%Q84QuJna zVk^Z-PgeSpCH042x8FChx*)TzLqR)bh054(u+M@8A~u-z!9!@hCZ*pik}Y2{-Qy&A|U*)t6YL|<`MiNt@+PK9xG@oRD9=epj-q?=Kk!1>Ts$COo0c20NK zUxc3oE6C2lZN#p2hVCKkQ|t|uzY|`CtTbZ(ZVy!Hn*}QI*t6n{!tB@K%F0>^vw-OV zAso^ruj*xLRnF4bQB8kKNH;1Jc}Q=p8~0$87W#uMxuqp4a`4dG#bx9Jlp2hTete)* zC8AfN-ys9_C%sMP4{x`i5hgt-6Aaw{U2M+?<(DJEs|{{cM*iNUZ7Uj`9O3nYw?<5h z^o9B6t24Z>`cwGIYCh8ZuP-to$BAXc#}M)ASBUGxo3Rl-T0qB~8d2bIpYvrGbAnQq zJC4kjdWBo=+I8ZUNJGu%Wu+UU&7Jq)^%G~a!Vr^9sFqZJ&+EKj*c=$gmU!kJ$Dw=w=uexL~=nw7TqMU^{3D- zSKTafLhS&*3*7VJN~=#pFknXf;Q{$sSZH}^hd{WnLjONu)z@IiBmVnsRv8XJsTaat z10Y`7g+s-)8DY8M08FS79x4RQH)%KRZ}$kTA<$Rv8$w_J(}!`SgaBpn=}h|g;CQr% z7ldJHab{*f=%g>cm`$auolV@YlByO;u-%}BZXhpOcwJNbVC8CM<7%b8&r-i>`)T&7 zyME=#U$1U(VtP#NP4e8ib&JB#KCiJ_h*qGzxJnSw|1^{&O-q zZ1f{m`{`-4skhCN)&%K9iQA;7fMehLZ*Dj6B<@PPBoYFHMZ6&uzGbG~Fhr%;FrFIHpuAi{3K5|%T2H;Qowao~w(XfW44?C? zvKGkR*?eufYQT-=34QEzLYlAO(BwL(p%H(#a2WSX2Y-A+D|~2jp6s|%EJ-Nq(IoNc z&^X8O({)vC3~pIwHVG4fd04>COmgWJrEfR zUTrF2?K>f;?&}+!z+ehO6&UfKwhW=;ba&TRr2etfEUPwa zbi9j&0Bwnkz*>&p=TiIL-ikOVKbHB527iz~(y>dz9Au@*M!?3A5Mq0noX!z%nwtro zP2xS?o1HXdW3Gja_Jp8E%~H|LRT2z+Ak@HD@KcCW-0Wa#II=ge*q{kXZ1B;MNLbaV zNzqtQ@UsPJp~*HQ4;mzG;^AJXgzP2m?Zuq;(mY=Bw;hv9RdOkZ4_*`0H7(;k3Jnf< zgt9t0U1YIASZGZ>W=wBGNQm|ohg4kCT}W6ep8_&u$=^Y^KFP|?f;k=f*8+InFl-|q z5fahPCd9R{3bmd{y-ml|D^-gBF=M{ulV7_!fx8lUdWph1I`#WgWc-Y8lMi^cH_KSYlBqk%vTm-Z#|juCi3Zqw3JngfW5T$395E91m@BgCd830 zjv^!35aW3R_P!0f!D~UA6R}g#jIubB03i17el(ja2%EP!$ga%aY)UZUy*bURGIk$L z?uB!U{TXf*`<#j;?zOjz$OfvJ(_+=-LMBZ?g)L-irveFM&}tgrn%P#r z$s)Os;L&_5wG$giQEii8Z7`Fvxi6^~op;PWM2c0ljl;ttBvXIw$qWZXS^35Nkvx&d z&r3EJ($OX1Tp1U&?T1)U+d(ffJT@6%8T7Hom2z?Qh-%sl(>Lh}r?~(zvEXT7Agd*6 z6Zc$hvG*YRqpmBqzKdQ%MCbzOsC8(-cKl+?;Gs0|j}}$tAfdySKj>EbDeGG*>i{JO zC$X1-FyjEF;M-adUson%U;s1KfIR66Ql%se$-lR4hClUD6qwey{7CIxw{Gq(JhC!dsu4+}+-@20PNT*W zTh$2nLN!ps7CF1057XDr8o#)lNdAHDDKd?jBoaIL@sCb~#&=q)t1@ZN(SfTw8s@V68)s_m>@56>MdMbiCeRc0yAsXFrug^d zZM}(yIjMK0?)q54nyL1xeX5^-?*sOU(fJ+>djuqRg_?9T8F3YH#XD{_>Gw_zLjI=^rtgNkraT;3H`17K%OHr3P@=jzeBk z)^a0CeyB7ss5-LHLZ&b29DU6DthGZ<&ud*k* z>hTh#-(}_MrzvHSeT-Qov7t8CzKz)uCDiQ3M*N0+@!?Ib9BpF^73iGR zDp<#&gjwVL`A|85Xx7=1AVdHy6RgzLy`#DeE{Xao@+PynB9G1d8wb{5q^6g8V_Q;Q z)xsr6u(BpzOvz>r>})CWZdJ|Cm6isV2|Y{XE`rVDZSR65jeVmu3Tx{NKhZ#aA%y^S z1NDNV5X~TorE3Iq6rzG7Sydji5B)Re-p*66bc|P~_+XbYue=ZLK#=H0w3S%tBkktb zWp?SPnm+2~TlKzYFPU{wFy}cHUfXn7M@>(E{EGe|E5++R<<8p1PgKTfb(YpELDQ|2 zQkh&b&pADk4BWrCS{mXALCU~wa$m}-RdT3)z@+=iWh%iSu$zn}Dnzj8r+ySLnw7^F z%l0MOTQAwJ?&dW5ausrfp26A|ncH5(WZ4J{Tx0lrS*a>&CoVO7vbrGJWy**p^oxb( z7c-UH<2NHq&Ed$41r6T|_Fk`6`Co`dzjMoSad>o(Gx*Mbx-Gc6j{5#kYZ{-bSoyKA zRND%+1y8H_n1L5sl9{!aEy~Eun3_wAD%ZZN)t8E!zc(w(;EsaqHQiKZnFibQ&dZps zt*F#DR#sWbDEPF?uUnU`T;Ejf{YEBE$h&)^%TENgQ#PcT{!UWY*Bh$E@|vqhFK7FE zM4e}{zl-9#quHmklSE^|RSprjO7Kk^G~T&>BA(HHnmcvYdfQB8SmrPS<`x_gUcTry z%eb+yt!7UTN2-8)jqhmLFT&GdD$70RaiP&5z8Tt9IWs$qLZ&k6Ohq#y0`7##-vDNheVOVyh=P zfn~(%ugW^SpTXc=Ni72n&fvs4e8%Go&q=94qHgO`IL{BqO>7m!@IrNURp}X%SqN!|ZS-iOXLjO(`yvRdZ;W(f4|UWe#O2rk0DY zsB&YmrqC^DO>LtIiSDIf*f%!>`ahaE5*ku+_g5UPyMiGopSm-jKK|^CBZwC2vlAd> z4dY;N+b@TZo0azO>e*NFhZNy2N`1L*1Z()bGTx2sh~L*XyD`()@zJ2_w_oS?=qAPHH1v3&sWK@+te+fA>NM9-Z3CP;%bTLAlA>JRGk<{wc-_R0%e@ zgJRndJg$tt_vQ=jsTLcm$nK>Wz%>)v8jk+^sww~Mox$YSV_nGBzqnRy&qa}{x%=-} zG7u*ZdN`hownh7 zmW7GMlJ{#aVa6C0hOGU%MojHD2CdZ(T@aHF`zE@q>lqsGM?2Utvg-*)cc0z}rv-PY z6-Q@SCF_!0H>*fBZvu`wKc`pccd^sa25RrsxEg0mI(Vb4zr99B|LwO-AJp!0;c)_n zSW`RauJs}zi_l6MykT-WLj5L5{oyBAo&cqh;Ir4u_auG&v1NaIt^6x`1<~Fr2DLy> z&S@6g(}K=G-!_57dZEIu^qd_F3RHw5BNy<&3sLNDT&GA#~W zUEg!y+}FYDqiS z?cABXN1`-SC z>7-`CV;o*qEp5SU;HNiGasS$-n_x?Cw z`);6~JE(5L8D-yMWB3VEz2$D>Pyy(sm&`~`-E(yydRt0oPy0j6EvS_q+tAoRaD2W% ztw$L^X|hK~f3Q6c-;8J%iCX24fS`6w#y=rT{?2GYD^A_*8cg*H)IMC1=UJydg&lCL zn@ax?Rk%m=4J5r}dWa`5?B%+{EfpStzTckIRHZqQ`u@_(QzE$>J%4;?+d4#N#Iu!3 zpiD*oBP0ZBOYEMzCVtl{BAz6<3k(t1z)UN`GNVB+1JtFJoA~)^_+%; zg=lRA^rz>8W>Fj$UySQgK&78Yt#@O8a(QCU^@R809(9I!ix#YA?UVq3Su7Fax(`tGF*G}Xc?@XPp%4d6Jyi*#t&M5bU<-cMJ6t@!43d$av!HkOqS+nJI;!HDK(zCF7TJs^hKQctc7_)dhd_^dO30|MWZLqR>Z;oaQFK|pv#53TJchyKkXgDFJ--qiQKJ%BodW6%~AO91-XWy>Y@Y-Ai$?4--;oTdQx<e9>xkaH@K0KV4gly>cKdH81!n#BT&EuH?oWjRkSb&yImXp1y*te3ex+ZS z{Z^qlWoRTznzoY6T+L!ZE7wvH1!Qk4sHS!UA{j?}OpDtw8Db!BFn7&b}smB&U2 zyZ9yk+My17$Yuu3DrS+$@nv48`|9RLF}9@eJcqxk13V>V10H#il?qMQ_FQ#qGk>MVGM&njrO+PznZer_|cm1TciQWjI z&CW!5brEgJgN$Zi;@9Bbqu6rJ&XUvj7|gD;>L4t}?}%<#7{`VsNe~v{CAld6H=*Pf zBjlp_Cvu^OBT7dO?r$-&PkQ+zv|PCWzRCv@y0kZWIA2$M>|V%k0H+NUOd@xRtwfN9 zIK3P{8eNMrQO-)ExCtD279D?C`-O+5bl0_YB=bQhyu8*D!$YUVFjDG0^<3Y!%J_UA zRHY)s;(UcQ>nMMAv%w6zZ!}*u> zNbRRMfPFjY_1FivxHWK|ULxZc=%I2lZE*7?E{ATU{9vbxXyxWcR<+GcZBPK;8@-gs zuai#~6<;rW%t#xUU@NZ^^Bzdq=s(@ z=L2`;1Y@_fNDM7W?hSi;Tg{hn^`s?;GInYuQ?)-r2+ZctC^R`rscqY03)0D>&d>Wr zVeD?cAxyDi>UUl)79&}NO&5s|1K&R*es|Ry!qQO2^|$CB_7rw0swogy=V&I1$ueg^F7IP%wlatxfUbJ7Wldhd7=tgw`jfG5N>96NUlOd# z=s5F2SifjfxTNj}+@Il(K_}uEvcJ6b40h<>xXTeNL8pjIFn(ee9xIkpe9+dxyF`@} ztgDO7c5ByIot`!Gb&E@NsM>a@gx*0n5WLu>^yy2sOP_jBN{0ySCkd>|PDE|YfJ}dFETqau8 zSBFfatM(5JZ5AqGRJ^3_#bm;*XlAip_guz{RJa@30*~-?IKwwY>mKo@_9!0T7>v~- zH6zLN*~x>^;9JWT<8EbR`XKBajME3CT5DM!+im0m@u%{$z$Tn+9)0wm=6{@^>v z;b|{Nj)AqYwf;eYf1zaD&rODpBOTwZcPTcOhqw^=M{eIVdM&rNNGD=t%Eos09%>$) zaI6mz%)F5Z2j1XFmtY|kb4HTn(nj?4_K`N;3fNIwTc}@C?3FlmCisS34I;C3^=e)6 zd|lggPB=b<`e6;A{9a$+WShtnQ~@zT=A3?E**9^Knvmmk=d=)qXVNaanT$kVBjlwe z(4V{2H<4?mRZ<3bTnR~}X&$+zdgXxKPMO(fc)#Ak1Wk@6Qg4%Fh|l-6(SGt2t-rg* zMn2hQE^ohobsJSs%k@pEfnk{pi|=PmY?@$Kf{zqvL&0oE5+V}Cz7wMCO?Y&_r;=fj5@-MYpf3iUK=GX zh9Qr-RZzVGDh&O>{38~aiSgr>@e`HQ7tlQ;FQc1sQ_VePjY1;buUZ68xmRL{D{d`e zZ>P2h{$fabp~%dUF#Z+UA#qR)An%`=Fdy0|HMc1#(|UqDzuOKBS6bTP-H?bN>~GE3 z-(ILU0zB+t=AnQO@OB8SA{3zcd_@WaXkx*;A(H>;%)zX}0P=61P5<3fd57@dM>i@I zSBUhvdx8b;+M&Q&69Jgd(Qv{6s0L*|ZntzP&wTLX>ivHi205%c<-~iY$!VUB=>PP?(@af$@*ykC0 zu>FJQpRo?-KbSoVAPk7%`!`00D)PUA6-U7{_z1#{EU>@N_zVQcq|hu`>}L)KW*QB6 z4UkrZiffU>GNJ*30A!VC3~f;%gMYu_4wNx)2P(CH95iC!RW8?rV?o$d1f1M^Cfl_B zAt_@40)QX7P;qMpSU@a*AMm92jG^uNc(4N)025{u2Y3lXjDz1XU;<~@UnP5_1Z zKe*}{ms`O$;{b*)uwdfx03!gVGn`_DO~=Cv5#|lYG|=}xxUk10cxI^t!0Q(tFrx&x zUke0goB&{h{Y-$zAPM@{U?CDf46{sxXA21Xm!&QdPJ2W>4_IM%P7IY3r_-w0Dwi$-q52Wg6DZL z18hp6FUpwyRa=u}xbs>$-0%jLoeUuQrvl{v`*B7<;Ql}Ipl^n9_R&H&n(>~eg9#%_ z0Z;;@+u%kjn0g986mZ$~jG<@Uxc{2(d!< 0) { + conn.sendMouseButtonDown(mouseButton); + } } @Override public void mouseReleased(MouseEvent e) { - conn.sendMouseButtonUp(); + byte mouseButton = 0x0; + + if (SwingUtilities.isLeftMouseButton(e)) { + mouseButton = MouseButtonPacket.BUTTON_1; + } + + if (SwingUtilities.isMiddleMouseButton(e)) { + mouseButton = MouseButtonPacket.BUTTON_2; + } + + if (SwingUtilities.isRightMouseButton(e)) { + mouseButton = MouseButtonPacket.BUTTON_3; + } + + if (mouseButton > 0) { + conn.sendMouseButtonUp(mouseButton); + } } @Override @@ -70,6 +103,18 @@ public class MouseHandler implements MouseListener, MouseMotionListener { conn.sendMouseMove((short)(x - lastX), (short)(y - lastY)); lastX = x; lastY = y; - } + + parent.getSize(size); + if (x < size.width / 2 - 500 || x > size.width / 2 + 500) { + robot.mouseMove(size.width / 2, y); + lastX = size.width / 2; + } + if (y < size.height / 2 - 300 || y > size.height / 2 + 300) { + robot.mouseMove(x, size.height / 2); + lastY = size.height / 2; + } + + } + }