From b9f308b262ab76b7d052861c9de094f17404eee5 Mon Sep 17 00:00:00 2001 From: Ben Reaves Date: Fri, 31 Jan 2020 12:13:06 -0600 Subject: [PATCH] - Updated kintox11 to accept and run de commands per keyboard config --- kintox11/binary/kintox11_ubuntu19-10 | Bin 22208 -> 22328 bytes kintox11/src/kintox11.c | 45 ++++++++++++++++++++++++--- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/kintox11/binary/kintox11_ubuntu19-10 b/kintox11/binary/kintox11_ubuntu19-10 index 6ee14dbc9ab4f866d29401b9dace1c3d892dbdd3..37760e7afa1cd7f60132b08b74a69ec588c9a4dd 100755 GIT binary patch literal 22328 zcmeHP4R9RAmG0G#EsQM5!3Kc=FC0!}5)0X2pMNk&w$~n|)>yGEM+tG3wRUA~EbWT@ z0XYRkSS;mXy`am*hwCb-b8?rQD}mrt;*>&gkZeGLketl%ql7>d{<5-7PADM=&Y=5V z|IGG|c7WWa?x;F<)$W`3^?R>hzwYUt>6z)Tc)aThTrQ?kA-jeVH*$_ZYGp>}MtJ~I z%a*a3_@BovX4AkIaZKdb3W8jbh6{3OiNp&*Nw1O)^3V$f%oJ4~5+yyS)H_q;D9S1X zPkP04D0w@bbCHl!ROMUc)rfp%qlWZfQC*K>(|fhh>-FZ+CaKpdsnVlxk=~%x8*iNs^Up8q2DrT&raRQqvYoQjM?>+KX$rS$}37`P}=-zJn-KsuR-b!%Q)KUEy6rg zRF(G`=uuogY*NjfRg@6+ar`J%U9|VY)t+ZgJ^1ohZ#f?PW&5vgY`Re7O#S~h zppQ+3*$WQ%E)<+ko=!7&9y{9{YpU+jS2>3|<~!2ihs zf7Jn>?ts7OfbVyx*8<>f{OoBPfPC$BuY>(f4)Q;Bkl*Tn-|Ao|L=8|3NSw5RvD zoveK;ALC5ZqD3^YEM>m>EgO7+U^KWR6pII=TQ;m|i-dz){M*}t%;($D9trzmaep-K z^9j+sf=$;2JL8_4g5fx8+8m5~qR~jy@P`9!!6<85AB@+BI}-7Ak>*5<^4o&V0^xaU z+WfJY5hB%%9l`M0P^_cPzl$~1wY5c>vzhSuOR-3JVKcdX6{BNcWc!z3%IA+p{kwc^ z!SIfFtH_8)b_T=2sIS8xjRkXLcLd|8Pc#(XF$E?UbhFYrG;&~38rca2IvL#J9xY`p zEp3TdD}(Xoj$JI+8H%%5FpfI-5y_Sasz!O?=JpPTV8jqy#I<>+ueo)nuf-o~WAR8^ zuQ6crZRg|=#EEzzJq07K24eqT!{>~9NwImjJA z89pDmCflyv9||*HFyN2-k+D4%6F8u7fUWn|uU_L@jG(Hc#nnqxUqP4Sb3+0C)o~#| zRvbx+V}&S6I3^DMPf~Q`<$aPk%vGTfhV(*K4h5Rm5*LKdBAxTe0Ft_XQRhV;O>Rhi z^7=&KT@o*`okxlvme-Lqm(l#E(ujsr`6^{JT$<)tV;b&O!k`lxK3~Jtc}?^6r5ZkV zonWSeARJbj&~O<7ktgkwyqfDNqeR2043#Q0T)%#))Nrz;l3T-7OewEQ!_hESs?qQn z7K-aY4L@7MYc;%7!wn6Wm(V=7LBq>5`6dl7*YF!Oe3pi{YPdfBc4)Y~<=|SK8a_v} z)1~3(YWN-vKTpGZG`v#7_iOn18h${-FVOIV8a`LU4{5l5(bcQr^45ZD^=bIUnw>!n zpQqtN8h(j}pE*1efxkus{#btTJ4W}Z5+haot7{oEl6~=l$swcrk&5~^(ceu@PWEt~2F~%(;}%Z?=J;s8#nV7JKKcWTr-6Tb^qUq>1LpYX z-&s5jl;fkfTRaVrTmHhz@h#Y zPXin3Z}Bvsq5c+60~zXX@ic&;{uWOI7wT{EG+?3r7Ec2e>aTdT?(3_lb=NZ9zTls^ zI+y>2jepd}AF=U=ZT$T<{@XVG8#aEQjZfS7q>aDT#wToiyNwUp_-!`6(Z+AE@g5t$ z%Em9T@e6JId>em}jh|!VXWIB;8~^Ug-1d4?=NG+RZyx`mVZLN^zcSXa#hWgkh8|<2 zXWoO3WTaPp3FqhJoTs4jryj6xz7{ z%P%=fWWjreIcD_#;aa1AqR?CiA=jh7m!RV`pLpL=(5G84eb_*iieylWeDt@25K^k!tzK_m1G^VW=+c*SfS8StD2 zJ~`l-Acs$WBITJd_8aNhNn(wZCu6vVQf#?rBvFDa({uV{X}4#>h2xc;S8h3;@|@mw z%(B{jszzEi%*J7u<~CQu%&=h&WE$b4VIGAJ6;b+VwunI^g~B#K>X#(=5PVAZC5j<= za#pwJG>SV-#r?RKe0|(1a5DzwDwGJl#1NHI{$p1D<33pUGKw;f0UENP9e@@bGlxyj zsqR}(vBcR@;SOHVsgtEfw`bUezaiJjA7X5;x<0376%UiU85geug4BKM1WTNYmi;}t zNoEB+ewar1Ob-blJXtT{WCfg@fRkg8A13)3kRK?1Xt}ta?j_9}1&ZTvz(^I%uR@k# zdL|b28R^DTMtZ{-`7Hx=B??Ow?}8chJ91_(8NdHOl{1CHnK5)r?(1EYeYchU3cP?d zSWHX=j4Q9=g~f|APeLNcomwl%X5(Py-FK)RNv#pT4MUnk+hGv_P8GkpjC@K=qfo~` z`EYS$Yk@;dh?OGBd8<8F`=YBkgNnzV0tz` z6?=3gKKOT((!kEvkWBCR{JkTsMiLSn)1}= z2CF_@!u36x>t?b;fSnrn(K&xw$@hWeh&#h}6Yb&;77nVbMU52)D>Ylc*UQL}V+R(-Ej|GrQk6Jne|efUpOonlT(cJ(b% zJtEX6gcv7KUk-K5J}AC5t8bX4M{P)IHV|&yFdxGNUjVDUG|*+%lZ9@c+(nsW*>60!4xwO59X0Sl5fdg;TR|BB?oZ-M!`J59ZwGB zWL_^byG7=($mB9mnF)JlvJWn#`2R}o*lnePGdYJ!axI9zI8Ne^aB=!y$-O6W;!MtE zE6(Sz=p(~|Cj zElBSH5z+(o=3{ja)3G;|q+D+*O}Sq4iTd&fp7ol2AOpC-Euh1g%<4}=OCBemidTra{{80kE<`ewrVf}oELx;r#&{2p zaX%u^AX=o!YLR{;eWADovD&XED-By{ktPt)BGjn00yHFuAU5C-K_oFA#KR=wO&uW- z(NGg2h*w(;^_*e8V>FXTH4s7>%RsVaxCK}xL2v3XiNPd^dChmwP$YteB9UxE;l!mf z#_HcfLy0nuQ-2T*#p|h0?myEmzW!|N%x$RGj0HGJ$Nx$VrBCkrDZtub`!ZIj@{SMR z_zwu$#|IPZLo_~g@oU6n9~n!DF(kdjkeSUQb5LY*8K^8Id#Qbu98HfPbcR{<1hlyv z1WJWK)f9nVLefi$r1>IYUXD#____NJYWP9zhGCr=bo5*JLlL4-IinN}!Pui%_@av3 z`v$)WUFbDW82u*-Axk~kFps0zgp;X#WX*6rVGI-vkb0yEZtY{{n|GjFMRtb3iX9`cSs%x^Q zzS}1eM}W$xol^HaF<9}*M(3arzL34bduCZF6u=5orjE(Q*& z+EN9}cVA1jO)r@NOAphkappcq3!8JrseFLDo)n}f!z;|WRM!YG`*Hn09V@pUZ571IfPfJ6f@Tt~Vn}W!*=( z+4AJ4DKp>MKY(R(^5raPr9fDrvxK}EeF4jWALaz3_9HL84f*%0!o9rCN4@5#(Lb6U zWPX`vSV$EO%GHw7h%AgJ7vOTZ`v^tS6`v^%3d)n`@QdUrBO5C9wNW0yD&8X5F%LN> zC}$u!q^kKh_O|=KC(RL?5E%ozbhsROZ-`X3@A~{)Me@6YnC4N)dRL zDAx-7If@kn3*98E%hULxY}cV4Wuy%k>fJ@{QT~8v5X>gB?EerV zCgbcnB+jl%(WJzs(lnll6Lb3s3h$4=cORjD*11gf`qVz+jclAde-Ad5q`omF?@7wj zddENT-tjB+STzb~RmvYg1@`6k55Hl47~#A>_gQax)m%4YbzAGrXX_g4 z%{S||)S0Injr77&z?;1b-lb=jnQLE$iT-yBn3Oa*62Rw zGM2xPI6==duisYpg}QBZU##;TYiX%2pLYj>CZ2a4laxOPg(UH3(wPYSe~19R2S$nB zdUMAkZhAM)-Q)5n@4;g--277F9Fyg-nJ0?gkW58V`G(L@-4 z4@A62c>Vmgz_u0c`LP+y-_a5Fw+Ca4{@IR1h;2%Q!&EYvaW_ZW+wqR0kfr*#<`%BJ z1(Y7;8^4{LJOo6Vyb=w?^p*Yo1! zlu3Y0WH*jqE$|`Imx;=vdzRm!ysdR_Xx6O#IyMo@aYNUFVgcx5nR6p`OhQ&9zDO{PRqvz zEgZ9x~H!N{58lNz%!*F*;rRraZf>g zS>@e@o-%j3$WvCew|H$?&7ISXvSr=V*O%3X%a+xZ)zp<$tuAw~E~{K!Rh=^ppPzik-8+sB^gh4df0}0r9i2~ z`2`)0@tB3Dl7)ieZ8DzJcQ11#k4t8r=oMQ^>iZYE&ZeaD-+XT}Li_FD7)@!@}P~VnV-$Y2m3a^p{E5GUf zh?4roM3t|;RZw!c<>B>1I5~ue@|>TLiddUc`P?2JUvd6BG9Q=EoLBYWLVv|S^}V#+ zWR1LOs+F`s(iKdPvefNrxmIk#tN_d`!qwg`{ptYb33ev_aAvB<+y2 zOVS=m4@i1Q(mqLtBps1-Oj3KjKZsY~XRTkeW`(<|aeE>hPq>#?FRos+aCw4rix&vq zy|`x4@A83zQ{SKG;zjJ1JRPMFXO%j?a^bVAuDGU zdGQKszXn~Wkj-LhJj=ylq((=?aUna0sqgXi+(N86G%eB*B|pddE>O=cWanDrVlI9j z%XeNDvPx?l%az9{+@K@kxKR5}SI;eEYLw2RG~5@lH~15-EXt@w&Fb~zy*IQrJr(oVe2?PH4g34PM^*GE-pVcp8J94^WUjn|IF>oW^1p+ zfi2~;^8+q3XG(h=1@2-~+w132Ud@ZDh!^?6)c*4Zw==bU8*n}s#zK=f-75*5V zL~?#s^XVrzuDr<76%P1D;O?xLb+i+BzVE+(hWXTu@4xN+@GFqdb1JgG=XeEsTTa+~ zJq)EBaFG9r15Qub^4X_-0`h&2?zG>)C1j^y>NxPWgMC`Z%vbJZ4)`?=_~#w)umipu zIK}@$c^(zXmN6aV4?5rv0jK!b+v{-$`4=4U6Tsb8@5mm!4SZI?`Ap51DrXw{^DK&7 zjX;$DbAacI=f@rJl@9nij#sdrPYL^c4HJi39pveoo_yuf>+<>bEjY^Kkex@a5XG?D z9PFfklO6S4wG?OfI>>*Y;}t9_FGTq|EtG!fAm1+9z$9% z)^1|H_1=xE>%6{=>(*`dZ1HWWTkZAurtDZDcVK9aC3r2wCK9$zPb&AJ>Q}(>bm9o1_8-Ac`Vp9yc9R@|Ry(3pCXHydU zhA6&3EaGeB8=YWxl#MVG2!(z0P;%-%C~|uboAvC*DOz{oPbtM#AGzXUkC9v~XG0Zz za}R6xkz9Gc7YJ?2lHFScK2t3CCMCJT6p;{ZS%L$fc+QHG8XLCcbSiD96x#PB*M!f9 zJ!RC1N1M&40m8P`jJ}CUt_9l;G9unS(d5+a_;XSt}u!aG#(W> zcyJvH;W0B8lZ+2}(O{dO6y#AyTbxz%)~&{2^^OQwI*0|ES#=zH=&))U@E{%Gd$m*t zTjdbf8h|y$2^(Up6B_CmMfux9FecQo(+jJn=hU<_&;K~loenPHa1AX|CFTiAimLS} zfeKl5O!RN?qctFpR)q~UZ)&0Gq?i}gd zy<#Zqv-tfPYe>p}wGN=DTAfhqY`9^w5PSM+d(VCm$)jEZu@-mdiSofc7QA*=S zZKCwmdWNFIB!py-pQ``8$RqvLBt%KAdq}F*AxWQf?D6|1F!D>;$Hk;blG^X&?fvKL zHhs6$Q*^`@aGQDduQq+_qEBA@DS7FY-92{5rmxmz6dn42@_%B}SNm-$Iv=+%db0cT zuuWgB^C&t~SH`hDeve9h)&A1X^ws*3qGPuB z*~@8o}8zN-NuDLKJqd4<1=4C=e8e6_Bn_U%;r zbJF-hN$II}{2nl>qS9CE_`}#{g%Z7oq$j1X=rrW(`quq!tu&o@ug5EOqH+h zYbt7m#0TlmlI7PZgOVzJd7EnGlCP9>YV|#l#s6z-1=Ay+6I=wg8b9T~8hwJyzfBIj7uXbREc-7toT()f?1VBN%CY* z*dkbyN{ND(X{(%OSFD0tLYrl`D?HP{`V2~cl;6&HHd}Bv(>fuR>S%{$enz)3x7(O& z(tKlue6m{~Oy0ID_Vl%yzaIb1$;{U!-=FT<_<*{aHd@Df(qT--H3U~v;ft~)C&n?^ zI67>tl2=hiOqN_m73d$v*e&nj{SMj>iN?occ)yPKukijj?~k#bcG?uVk&U(uNu}!2 zRJn+9hGfZ=v;zHu98zmbmCLDP$Xw4hc;b>qNQvd}04+`s=|jqhb$c#Bn+R>Xp*57! zU#KG1Eq~g!I(DK=uf%PjJM014Z68A??2{+u^GO1lym~b@%qo3j$m&O|wo8&l`W`%M z-QALENu->iZrU(3!C{MmLL4mh({8Y9%akwz%eg(B9;+G(IIw zev_1x@s`{hv@WGEIRu1yOwme1&etU8Ywc=R7udRBQDEE0rmC-##9T)!8CNK>Ym}+p$W7s5D+IRMbsjMXe7hYGrrik!#%D zK7~@!Q2ZqyHH+;mZ@yYt9O=Jcv#HMO~3z?r)$;C^>=jX-rWAiy+imSg%waRT?8QtTY>(8c1ZLu0ZNZeUy%HB!*D~ zl90xM2qEoHA4jsMx@0>A2sPf%;LAOpz&Jls zvDKAEzOtqX`FXHu^xr41sOy;AhOqCWN#mvR@DJ-LL#*AU}zmmaMT+j^iBhP za1fo%MqPn?5XsMT-3c4%LOPyF(R^Bf;e1+<;e6_GpVq=4KJ5htDRb_9$ESut+Lho; zi%)GYyK+X6PbunExKyTgdXE^(m#KgA9_AL+tAM}jQzIaqVpgBC?8;elT8~oINqf>$ zX-(#@=>boIza0y~(OM8@;5;5r(vNP6bOpehH|67Gu_?!dGQx~$V&j5SyA0*aLfI#j z9D^Ne{+40=E!(*`$Q)4AnB$nvfk3R`h?dq{07gYDGwjb5_6ImFzzJseUp6ZO;Z;M& z!`p=(ONd2LdZ-OWiwP;gscD9_Cs9c__>&a%1Eu40E5JNOYLDXFE4CGXk`cYMX$WDL=tuoCIc8*8JjNu%o~P>kj?TGjf65UV~G=$6MzS z_97DbJ>ogY!jBvh8_>->)&hbwN1!n{t)Z7O+m(*qSVaygnv!T}UiY(?E=4`T5>(6* z6fD>cYmt9{gQo?*={lGc$4?k%q)VzkNdLGOC=IXibH^`Tth!38T)U%S?;u zHlA89Tt@w)*lQXOvqZ{ub}_Kj-~S^~VU@P8c=B3#4vjlE9E8UHHA^?MBGPSJk}Wc@ zoGVzq*u($)X7o{;;pdh_&4?;k`z_mVJehtr;jMQoU2`JYO*py}0AE2cmh? zugl@b#m`ST+ZH9L$OxJrcIRFZ8;-b<|G*wNZ&v;ARY;9AM}0{4b~B?Z|jdWp8NSdws!ze@&Dm@8UA`q_?t6 zz3g4&Rj*en!AWmHywEq{2HxP}BA32sJ93xT+EzZL+TPagP~>gdkNH>B*4C_ec-12k z>!o$|HPS=%tC1r~9%-FX3(7u5wtTGXFM;|#(e<}L?*}~#n((QvZvnjwdL8svXLWrP zGW<4ZA!x#9y1pE=0JH)0Ezq5y$~j$c2le$Qzz_z95bj+TTAY(PdczrA&w?$fB$j{i zjKlD5T)iJ*4z=Wr&E3$e>s-Z9Xm|)ob+~FF-v?u68-)S$uKx_h=Z>)L#;}Mc4abYVOF1mg6ZI6NCGBIrpqXEpVLMr7-6OYB#jG@W z8Lgf5kQ^p&(J*Sa#8BU?a9enGstmjRg>I-byeU?@)C%eb3|!1mXfHa>XyQ^ z7F>kXqV*F(#$Ot99zNFa0)-7Va%IXh$W`p7!s2vTSyAlvn7K6dk76K8Y^ANmb1m=Y z(g($pJ?4)A6Lge=m;)IlZjbrj#ngVp2g9UisiMR^m~c}&o*pg9vy^AjpG#`w=P08z zPp+b+rO#N9fX_>xPGNsRMwJV6j4`R6Tyxw=O%M7P`S<|qZAY<->9pT6Ozxqaxo*!# z;9U~l3$lMW{|i3nd)^PD6+mJufJ>BmGX!##vC?Fw#h)7V)HgTP^E@mvoVjcK3<0~C zTd9H-_Fu;QYhxIZ)^P1p#u^{udx14x@SqxBV+ZSVb{m+h#y0Vr1TY5-`Eq0KMrHu5 zlg~ZP`q7twaalaKtbPr0o)udP5}3*JlS8gD_jJ6dh-i#I8D^C=8LO#=7i-00(mVs- zlhSsyY@>x1`0i-i;sK~On z8q!wksmO~D8yrqt(t@A4%!6psCR)0{AII)$tkLELZo0C-mD-D!8rDpTI_Hf8@)o*M z`wW0d%{v$etY7F#GB?zu2X3S17fy~hZzCwicNWf(w~=R2mg|<^khBz1^NgA_L^~E` zky4pR;YHbY^T>qARhefG`-FdCs;JBxJQ5N7#9=L!c2w%JLOT}c*_+CQ>=*R@;=K5C N^8`0SrVr+i`46$jJ8u90 diff --git a/kintox11/src/kintox11.c b/kintox11/src/kintox11.c index a5274dc..ec5c621 100644 --- a/kintox11/src/kintox11.c +++ b/kintox11/src/kintox11.c @@ -119,10 +119,10 @@ int main(void){ *de_obj, *de_obj_id, *de_obj_active, *de_obj_run; int arraylen; - int appnames_len, init_len, de_len; + int appnames_len, init_len, de_len, config_de_len; int system(const char *command); - size_t i,n; + size_t i,n,r; fp = fopen("kinto.json","r"); fread(buffer, 10240, 1, fp); @@ -155,21 +155,30 @@ int main(void){ de_active_array[i] = json_object_get_int(de_obj_active); de_obj_run = json_object_object_get(de_obj, "run"); de_run_array[i] = json_object_get_string(de_obj_run); + printf("de_run_array[%ld]: %s\n",i,de_run_array[i]); } // de ends int appnames_max = 0; + int config_de_max = 0; for (i = 0; i < arraylen; i++) { config_obj = json_object_array_get_idx(config, i); config_obj_appnames = json_object_object_get(config_obj, "appnames"); + config_obj_de = json_object_object_get(config_obj, "de"); + appnames_len = json_object_array_length(config_obj_appnames); if (appnames_len > appnames_max){ appnames_max = appnames_len; } + config_de_len = json_object_array_length(config_obj_de); + if(config_de_len > config_de_max){ + config_de_max = config_de_len; + } } - const char *appnames_array[arraylen][appnames_max]; + const char *appnames_array[arraylen][appnames_max]; + int config_de_array[arraylen][config_de_max]; for (i = 0; i < arraylen; i++) { config_obj = json_object_array_get_idx(config, i); @@ -198,11 +207,25 @@ int main(void){ // printf("%s i:%ld n:%ld %s\n",name_array[i],i,n,appnames_array[i][n]); } } + + config_obj_de = json_object_object_get(config_obj, "de"); + config_de_len = json_object_array_length(config_obj_de); + for (n = 0; n < config_de_max; n++) { + if(n < config_de_len){ + // printf("de value: %d\n",json_object_get_int(json_object_array_get_idx(config_obj_de, n))); + config_de_array[i][n] = json_object_get_int(json_object_array_get_idx(config_obj_de, n)); + } + else{ + // printf("de -1 value: %d\n",json_object_get_int(json_object_array_get_idx(config_obj_de, n))); + config_de_array[i][n] = -1; + } + + } } for (i = 0; i < init_len; i++) { init_array[i] = json_object_get_int(json_object_array_get_idx(init, i)); - int de_id_idx = in_int(de_id_array, init_len, init_array[i]); + int de_id_idx = in_int(de_id_array, de_len, init_array[i]); printf("Running init command: %s\n",de_run_array[de_id_idx]); system(de_run_array[de_id_idx]); } @@ -243,6 +266,13 @@ int main(void){ // printf("1st if %s i:%ld n:%ld %s\n",name_array[i],i,n,appnames_array[i][n]); printf("%s\n",name_array[i]); system(run_array[i]); + for(r = 0; r < config_de_max; r++){ + if(config_de_array[i][r] != -1){ + int de_id_idx = in_int(de_id_array, de_len, config_de_array[i][r]); + // printf("Running de command: %s\n",de_run_array[de_id_idx]); + system(de_run_array[de_id_idx]); + } + } remap_bool = 0; fflush(stdout); breakouter = 1; @@ -261,6 +291,13 @@ int main(void){ printf("%s\n",name_array[gui_idx]); system(run_array[gui_idx]); } + for(r = 0; r < config_de_max; r++){ + if(config_de_array[gui_idx][r] != -1){ + int de_id_idx = in_int(de_id_array, de_len, config_de_array[gui_idx][r]); + // printf("Running de command: %s\n",de_run_array[de_id_idx]); + system(de_run_array[de_id_idx]); + } + } // printf("3rd elseif %s i:%ld n:%ld %s\n",name_array[i],i,n,appnames_array[i][n]); remap_bool = 1; fflush(stdout);