From 109a6c44b8ca7aab278dd5bcf6cb0646280f903e Mon Sep 17 00:00:00 2001 From: isXander Date: Fri, 14 Apr 2023 22:19:44 +0100 Subject: [PATCH] dualsense and dualshock3 controllers (thanks Nyaomi) --- .../controller_identification.json5 | 17 +++++++++++++++++ .../gui/gamepad/dualsense/a_button.png | Bin 0 -> 353 bytes .../gui/gamepad/dualsense/b_button.png | Bin 0 -> 352 bytes .../textures/gui/gamepad/dualsense/back.png | Bin 0 -> 298 bytes .../gui/gamepad/dualsense/dpad_down.png | Bin 0 -> 266 bytes .../gui/gamepad/dualsense/dpad_left.png | Bin 0 -> 263 bytes .../gui/gamepad/dualsense/dpad_right.png | Bin 0 -> 254 bytes .../textures/gui/gamepad/dualsense/dpad_up.png | Bin 0 -> 269 bytes .../gui/gamepad/dualsense/left_bumper.png | Bin 0 -> 144 bytes .../gui/gamepad/dualsense/left_stick_down.png | Bin 0 -> 202 bytes .../gui/gamepad/dualsense/left_stick_left.png | Bin 0 -> 211 bytes .../gui/gamepad/dualsense/left_stick_press.png | Bin 0 -> 189 bytes .../gui/gamepad/dualsense/left_stick_right.png | Bin 0 -> 216 bytes .../gui/gamepad/dualsense/left_stick_up.png | Bin 0 -> 207 bytes .../gui/gamepad/dualsense/left_trigger.png | Bin 0 -> 162 bytes .../gui/gamepad/dualsense/right_bumper.png | Bin 0 -> 151 bytes .../gui/gamepad/dualsense/right_stick_down.png | Bin 0 -> 204 bytes .../gui/gamepad/dualsense/right_stick_left.png | Bin 0 -> 211 bytes .../gamepad/dualsense/right_stick_press.png | Bin 0 -> 190 bytes .../gamepad/dualsense/right_stick_right.png | Bin 0 -> 214 bytes .../gui/gamepad/dualsense/right_stick_up.png | Bin 0 -> 203 bytes .../gui/gamepad/dualsense/right_trigger.png | Bin 0 -> 161 bytes .../textures/gui/gamepad/dualsense/start.png | Bin 0 -> 259 bytes .../gui/gamepad/dualsense/x_button.png | Bin 0 -> 316 bytes .../gui/gamepad/dualsense/y_button.png | Bin 0 -> 342 bytes .../gui/gamepad/dualshock3/a_button.png | Bin 0 -> 218 bytes .../gui/gamepad/dualshock3/b_button.png | Bin 0 -> 217 bytes .../textures/gui/gamepad/dualshock3/back.png | Bin 0 -> 2303 bytes .../gui/gamepad/dualshock3/dpad_down.png | Bin 0 -> 151 bytes .../gui/gamepad/dualshock3/dpad_left.png | Bin 0 -> 146 bytes .../gui/gamepad/dualshock3/dpad_right.png | Bin 0 -> 143 bytes .../gui/gamepad/dualshock3/dpad_up.png | Bin 0 -> 142 bytes .../gui/gamepad/dualshock3/left_bumper.png | Bin 0 -> 144 bytes .../gui/gamepad/dualshock3/left_stick_down.png | Bin 0 -> 202 bytes .../gui/gamepad/dualshock3/left_stick_left.png | Bin 0 -> 211 bytes .../gamepad/dualshock3/left_stick_press.png | Bin 0 -> 189 bytes .../gamepad/dualshock3/left_stick_right.png | Bin 0 -> 216 bytes .../gui/gamepad/dualshock3/left_stick_up.png | Bin 0 -> 207 bytes .../gui/gamepad/dualshock3/left_trigger.png | Bin 0 -> 162 bytes .../gui/gamepad/dualshock3/right_bumper.png | Bin 0 -> 151 bytes .../gamepad/dualshock3/right_stick_down.png | Bin 0 -> 204 bytes .../gamepad/dualshock3/right_stick_left.png | Bin 0 -> 211 bytes .../gamepad/dualshock3/right_stick_press.png | Bin 0 -> 190 bytes .../gamepad/dualshock3/right_stick_right.png | Bin 0 -> 214 bytes .../gui/gamepad/dualshock3/right_stick_up.png | Bin 0 -> 203 bytes .../gui/gamepad/dualshock3/right_trigger.png | Bin 0 -> 161 bytes .../textures/gui/gamepad/dualshock3/start.png | Bin 0 -> 2572 bytes .../gui/gamepad/dualshock3/x_button.png | Bin 0 -> 215 bytes .../gui/gamepad/dualshock3/y_button.png | Bin 0 -> 221 bytes 49 files changed, 17 insertions(+) create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/a_button.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/b_button.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/back.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/dpad_down.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/dpad_left.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/dpad_right.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/dpad_up.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_bumper.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_down.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_left.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_press.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_right.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_up.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_trigger.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_bumper.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_down.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_left.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_press.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_right.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_up.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_trigger.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/start.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/x_button.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/y_button.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/a_button.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/b_button.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/back.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/dpad_down.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/dpad_left.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/dpad_right.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/dpad_up.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_bumper.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_down.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_left.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_press.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_right.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_up.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_trigger.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_bumper.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_down.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_left.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_press.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_right.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_up.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_trigger.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/start.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/x_button.png create mode 100644 src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/y_button.png diff --git a/src/main/resources/assets/controlify/controllers/controller_identification.json5 b/src/main/resources/assets/controlify/controllers/controller_identification.json5 index dd9c23f..a22d834 100644 --- a/src/main/resources/assets/controlify/controllers/controller_identification.json5 +++ b/src/main/resources/assets/controlify/controllers/controller_identification.json5 @@ -29,6 +29,23 @@ [0x54c, 0xba0], ] }, + { + "name": "Dualshock 3 Controller", + "theme": "dualshock3", + + "hids": [ + [0x54c, 0x0268] + ] + }, + { + "name": "Dualsense Controller", + "theme": "dualsense", + + "hids": [ + [0x54c, 0x0ce6], + [0x54c, 0x0df2] + ] + }, { "name": "Steam Deck", "theme": "xbox_one", diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/a_button.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/a_button.png new file mode 100644 index 0000000000000000000000000000000000000000..a4abf3f2e9cbdb789f2e9f5aae073bd59a3dc709 GIT binary patch literal 353 zcmV-n0iOPeP)*lrfIPAPhx6t1WYpboell;7mCM6-a66atN2?069W> zZ!sa7WMG7Llw!W*0vjI4d{82SJM?o4^((=@Et81obP>#~J_2W82%(r~W<^9`=5{a< z$rYFtV?;^`L?pG-7kgZSKHGBJHuQauaU5UT^cMUqV+=$DN~vSqBoR4<)>@WjIYrK0 zYwNnoJkO%FmMf>pZr*zsV-P|>>q~6{TWb+QXm3La%*^T;V2pwH9>BwP*4qDpv%0Q3 zVEN+mIM-83RdCVAyYVH)2;gC_>xR=b0RWtH0Py1FBAAFyi-%!2YB~1~S_SV?&bgum zc3>3>0IFu6eCl1-Nhe_Guc(4Q)%Sh$w}JlvBj2#Afdcr000000NkvXXu0mjfG_sGE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/b_button.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/b_button.png new file mode 100644 index 0000000000000000000000000000000000000000..5354fb5386e374a21f251e67da62aec8f1dfe03c GIT binary patch literal 352 zcmV-m0iXVfP)*l(CJ(AP_}Arwb{DDaH~m#03!Kx^FV3Z>LB?wzEPh*ZrOBPk_G zDM{(a7?0RFzVEwi+a|^sxpIcftyngCQ-{IDicvj*nOT)&dGD*l0l+-ZLmqdNr?p1T z`3Zilik_O~2K<&>2mt_)bFO{}0FTE50N|Vh0Cl}2%^ed__3<=K$6Se>p)JO%I#$lP y=5hXjT`2I{iu3Tgr~fXz-_sGhR`k7Z{v_v^sd2CJ;yLf~aw(D$P zaF6rP4AxE#h688X*5}^lU|43d>Q#VoM$g5JJd@RPgASh2QaZb{!z4fO^!r%3FRDxL z{xEbCPI;zv_u2E#l`leXd1xvwP5I-O7wd1UwZ-Slz1azG`Csjp3Fa$P%lYH@m(k`= z$)4}w%XC~BUu-I0u~Ug5;`-Hs82i<;a`-L(bDg*GI+ZBxvX44_I!V^ZCOegCHd-vG!>}=dR`%73V#aoBMEYp=C0If=kML z#YK;-*3Uc?p5e=p*tK~B%i53kHe37--BNgtcdNwXw{81>JN|m7a<}V&*yKe?6{4|C z;h*n1duT50F|2+tWfI4RYn#6IyBEr^N2goY&ENjWy4!mG*ZX%X_1~zd5VCLEw4#fpq)ApYgXxee@Q{sw*wWUf*W#QLuT{+D7Oryup;Fw9Nl9b&; zk#~(Uf5hf3w7mD5ZGUV3vd0P~C*dFW`kB?X_T*7)RK`JbvY26`>JEteU=-hIz)%^bv7vWEVnTxMP z9q!sQZ3X|H^V{kb7F}jaD=QBVUCDpgEc(P5-RC(?iY!;6CI)3OaLkZ7${{M)(XsQQ zYEI~@gZ>-7f7SiNP#wsivGhk`zK)2&vPa?@o(F7P71ZjK-{KOVeo ze>L9BKlG%v;$olK%U7{HxVC-K{mY-(Bl-3-9xHcsu9~j>9O!liPgg&ebxsLQ0I;BB ArT_o{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/dpad_up.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/dpad_up.png new file mode 100644 index 0000000000000000000000000000000000000000..c3f22677c3995817216bd49cf17622a0f4575f95 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4foCO|{#S9GG!XV7ZFl&wkP;kGe zi(`mI@6{^@c@Hb_uwHn-O8i<9Q&PP;1!V?ME&O8%|p} zrAf3>Coufb`D@-vP1mY+xu5abwA42uJ9f`^=K#&tImUB}SsAWw{r~!-NlwpB`Fj_& ze+W#wq4V#q4czH*Ji7yrER+AxA0!If$_}vy|j~;L6L_w(A-hc z#DSUbZoRJam!)655(IBeZula^w|QN1b9Lu0%{d93-By1ld^;#)pBT5n{NRg-s6(9h s-$mYF3!L&{P1WJgzaNCY)ZRLaH;*k&iHWc8I?xIRPgg&ebxsLQ0NK$sOaK4? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_down.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_down.png new file mode 100644 index 0000000000000000000000000000000000000000..9af559aba135033e42ff65a90a02543bed28701e GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2CVIL!hE&|zJ8>iL0Rs+}$R^p0 zy$s$d|L;Y|NX2o5Wt=r{rok8?ye6wYCcQPG^^J88}4gJ(SDHf?F0 z6e=E<@yR4cKeTnW@Gpzdj5!697IbdizUf6b%f*DPDi;HH3OblL{<;0!;(?IH@A9fy zHV2=d6Mmy}H!|-EE4zjN-L}*?_gbf`AEw53iyJg~*3Yf50lAvN)78&qol`;+0QMG6 AjQ{`u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_left.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_left.png new file mode 100644 index 0000000000000000000000000000000000000000..8412f49f3429c478d6ad57f15694776c1046fa66 GIT binary patch literal 211 zcmV;^04)EBP)_{!EK$X-fP+O|%xan0WMX$U;TBK0!H%;iOni3( z2T7vINs^3u!OTgXeZ08v+85t6c@8eDU2$_l2emhiijxG*-k+&eoDT`&z`ByeNtH$b zaWuqxe2#cAwZFy+@1)*QUHEVNtbQJrOQ%Od4O{>K N002ovPDHLkV1lcCS$+Tj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_press.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_press.png new file mode 100644 index 0000000000000000000000000000000000000000..f670df011fbec18503c52ed44da2614a46ee75dc GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2T0C7GLn>~aoxG9vfB^?fWRq;h zUIy=q|B-sFy&?iz0)KGTxV_lu`cKSjIb%$P=;}Cuz&Wu8SNHBO+W|N#p z?g6!J|L^Gi<9)!N(s!FTZ`yng8%YP(RVNQM*=%LCIV!yGuq<3xFenUSDKGpZ%muAL!+m2Rc};lY{F4nC0lFhjXMsQv@)#idtodspsDqD z{p-&P2V%3gEWEpH_bJ(!>VK^K7k2d49AujpntwRvUT0SOy!xp32kdXNGjVw@cg?WL Q06LYy)78&qol`;+0BmJhSpWb4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_up.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/left_stick_up.png new file mode 100644 index 0000000000000000000000000000000000000000..5b4269c972fc765a18bc116b2114fc2dacd775dd GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2rg^$JhE&|zd+8u=g8~n0z_f(+ zxX1Ko4ZGAUF)QN ztDj54_Q=>bhZY@ol1mQiyutK&WwG*^l)D{2nEZ?%1UwRadxq(UNb-~QZ#OI5h^;>! zzI?NOy2U%o!)47fZ;tIa$dcW2dB)l3%(E|k`Cpg)Q+a1Umt(HmpA#UbGkCiCxvX}vy>yY2L6L(kVS2#? zv5ZE!+x64_ckGrA`t-%LHQ)z_k*glR>l7}3!=^bertKGDd-z&hO}$jYM!RCp#$C7n zyj4A;cX*jvnR4c7txJJZM??;R`K1YVMg-N&qEoJa@ L^>bP0l+XkK_BT9Z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_bumper.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_bumper.png new file mode 100644 index 0000000000000000000000000000000000000000..1a03fa020fd7f7520df3d36e2d648ee97e31c74b GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2;yhg(Ln>}vy|j^&L4k+mfX+h& zy$4L1oB!+NEAn%$a6EYE|FK6C5=4HQ25rb+uuDs%&CPF>gks>l#Ed6$)lI^4?$%fz z(>^otSVZui>hvVd4NDlWuSwtWt2LcB{^jZtugghM^Y^6K0&QaOboFyt=akR{09CR# A=>Px# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_down.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_down.png new file mode 100644 index 0000000000000000000000000000000000000000..c492f52ff19d19159da28f0fa9a44f73d3e809bc GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2CVRR#hE&|zJMkdzQ3DR=$R^pM zvrIY{|Gv+8sPCb(^u^`m98INXfm=hKOp;k{?d2lE#m;J>lzD)&S+M-?F*_cL15&vj`Q2J)D#GPlx_iK_}{jr-woq+-)4zrQX=7&dM73#-2_{%}&$*0R~} z=G{5?b?*KLo-=OWsNc}I_Lte2r+Wk62Jp?9mi>!SQQxmw`rN_-pz|0!UHx3vIVCg! E0LcJS1poj5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_left.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_left.png new file mode 100644 index 0000000000000000000000000000000000000000..ac66957448175745e2722c99a76f5fb78964db37 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2W_h|ehE&|zd+{Le5d|KXK=X%k zJ1#ZM_V{1E>qqqgW!*5HLau2_+;S6q&b%_%eDu(}V@=U}9J>$m#Sd-u=b2RS>8*(@EN&CaQk4~DpD15m#+q-(;i#w}p&ly5EK#+py8ryg zJvGl)uk+kxz4P$bxz=xd5|>V_-*7PSb@rMMey?P&w*B99{un>MbHM7pW@QVYD;Ydp L{an^LB{Ts57RFMU literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_press.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_press.png new file mode 100644 index 0000000000000000000000000000000000000000..487b7ad86cb18c538106a55cf718380984fc6b32 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2T0LDHLn>~aoqUm(L6O5bwn_F+ zDdY5l|B*Wq-nR4pnYFl6@qxzSFe+p@Kbj08L!~e|NDbd)Wt8tmJVzTZ#+}C^0dsVGf7A4F}$G;wNqcOyb}% zYT$*Hsgt9=>V}{TpG}EfqnsDtG$zIUpqv%AfvJU>o6d?O8D~{6`Ao9(RFy0B6A>Gb zOMI%jZC^|>*lkr!r@NCoT;I9Faf8C@25+#ztLDG4ns?IC(es}kPw>a_1@fp+tCHgv QI{*Lx07*qoM6N<$g4q*VC;$Ke literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_up.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_stick_up.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec9775b181a8806676941630030a8fbe695805d GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2CV9FzhE&|zd+8wO0R-8q6-ueGdY`@A!XI|d8E;f~8>6yviJFV3G7KK#!FbKz}Zg5s`ONa~_Oxyi~T00-Q$t7PD+t}7`%YCELSZU78n|^;>UNGL6cK(dr?d7iW_u|t$mv2^2 zx7b(Q_LZ&kChz`(EZ#l0XPmvAdG^IW|LekkDs9$pcPm^i^!EwSbqt=aelF{r5}E*g C*-#(= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_trigger.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/right_trigger.png new file mode 100644 index 0000000000000000000000000000000000000000..cec28562b3ae0920d9be0401d8225ba5fa3ca5f9 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2GCW-zLn>}vy>yzBL6L{$f=QyH z*#_Px8UMGQ*>s|T^XCS4V+FZ+Ld{Csr}3mneh`_J@^Isv67ie&>TeVzwXA+Dc#ZG2 zS;d);KhkEnPm{<~;?2pB*;W#-YL+S1gxtx9tr^{q;u@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/x_button.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/x_button.png new file mode 100644 index 0000000000000000000000000000000000000000..aa0c6b15fe5a7839be9a96514ce0c8461a21fa9a GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4foCO|{#S9GG!XV7ZFl&wkQ1G3n zi(`mI@6{=Wd@TwBuJ*HacXm9LIp%WyiRKEEjZfu*iv+8-Mcm-v(>oUN-wP%yPOA+3~iPQ&R<9i?euE-Yzz?81Q>jh@${ES@{KEPNJsCZZ|t z_@(Opb*~M4FY7Ja-#57}@y69GbxRiSyyul|L0Z29U+(HzQhDdxy$fjtMR!)kiWIhN zvN%>~!zy~vGb+2{{p#LJQHL$d`R2q#XEWAFZ)IgVuxlLyLoyG;nm*f{r>k| z_iEpQ(1IyO$2t}ZG=^$0thgnidOh&zA|8#sqM;u`ZQn24&-;flY-Um7yRL%MK%X;s My85}Sb4q9e05mIqfdBvi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/y_button.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualsense/y_button.png new file mode 100644 index 0000000000000000000000000000000000000000..e1e8d33279174f7e471aa38b616bfa53327c8453 GIT binary patch literal 342 zcmV-c0jd6pP)*l)bHlFc5^tPZ!b%nYS1u_e2$rute&NA{;ISPy+d0 za2P!so8xpMxREUR_tR)SS|uX5Lw~nWe-iw-a*2qNj|d^CufP%LoGb2!5EKz1gm4{9 zM3Muey!T*c5Ruf}7i(OC8e{hPx~^#37Jc6z%5)0OWsHGyE`h(5h$KU6E%Q9@Lu)O} zoUG$~Sr(b5Nwn6Ib50#cr_lfa48w5A`Q;od^)_LN4yo88w13`5bv*+|HBEEKZ+_0q zpMj%m?>&H5y#50LU>rvPfVCC?4s|Mmi70v8b=`gz_s*bI@Fr!gErx#sR-pi(YK=a+ o-jrWTfTdnh1%IpGYxK8)pA@I2J}!dGd;kCd07*qoM6N<$f}=BtJpcdz literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/a_button.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/a_button.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1e9f007851505008694d375a951e63d4352b64 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@I3?$8F6>VS)*Z=?ji;9W{v>y)+4)*r; z_VV(wv$HcaGz1EI>&~nIDq|`M@(X5QD4TrN0?5npba4!+xRsosAZlP>P*7rWV1|sY zo*XZeKv{QpcQISYjiahZj;>)m6;>M9xG6ej&YXmp|?*(dj-sz7r3}DUcm5j9uvc*6_Tw@iqmX?_A+?7 L`njxgN@xNAb6!L^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/b_button.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/b_button.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac8728819600b24f581ce2bf3cb049d01657fea GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@I3?$8F6>VS)*Z=?ji;9ZAx6cj^4)*r; z_VV(wv$HcaGz1Fne4P){$5ayJ7tFv=Hu*?y)WE=?pv2_B3>jTL zIbJ4#vhMEgVz!VQM?Fs-UBh@PtTeE3Q}mpe*f|TjqUOXnHznk#hl@){uaP@u#yFGN zbj!^nM|bQIJd={6Z>G0ipk;&Vt<&04iaBhKoqcYOjF)U#8Fn6!jLs2cItH|s!PC{x JWt~$(69DK~M0fxI literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/back.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/back.png new file mode 100644 index 0000000000000000000000000000000000000000..4479babcbf5be27d7705b40892a610e6e7c2e555 GIT binary patch literal 2303 zcmbVN3s4hh9$zP=XHn5=5xu+7Wkp0V+1&&QS&bBv01+br!vzjOmdz$CB-tgqkbn#| zP_@q0;&Y_V6?8`I4YobKQAe&;Llp`ZsNw^afr0})d*!5ey(^Bj&~JHUY{#q9elwf= z_y7I=@5k;oZc3aJ_}f4Tg68Oxv}xdfq4>;v0sJ~YI(`a*Bnudg#;9clIFV$WupC5^JFE6h5Rn&U-c;EJlClqfy@55o=E|Es#&_gqV zF*#QLVT-TT=ksxy-PfDj4tb+}N46ME9|OjAueT{;`PobmnIABErG0I{GD-UUUc)@CHeuzf8EJmE+%#H z>&>E{uHv44K&@?AF{Q6vgUg>H1q*r+dZHkLKx{k}c*43XK8lu^{Q=x0s{ZXgWny<9K*}GsA_DWNgD_1p! z(uRL_2ye~)Q+xY+jdw%%yWb3d6BQT}d@<^_tSvG-{o51kFa7O!fq4$~zPb12<6V2o z468eASwr^%d#Xz|xPy!99;W}RaQM=i>(;K}w%6WmNm;X2Ls`e)8{y}FQCrJi%>5GC z*Zh9+Md_zoDp+YhtYMzSaTKu6ZOBlez)mka(e*89P>&WE#l#`|+SkJTmK ztKPkIYf;zZn~jP#+iUOC38~+8U60yr9?!1hZ+vmPcg_Ds502D%YDP1L+s15fquQJ$ zB%1W@3h1rqi+>`tEWsF4Z11fWGWiog>P zp-_#)iw5BggAvxSE*e(JFe!y$7_3yua3xO3mDW{Yj^%O`i$(DmDIQB;aw1v*PaOo9 zb6KoJnl@p|7=VW<6iVA^ z2kjJifW`e-E}s=xKA-(Rs{PkLG5~UGF!*ge(-()sZ-N(eB_NEcggg_?n@TwvO{00X z*hSI065!@CF&d80xM)&fT_%>bPglw~?J_KnmSJ#&nQ>ZJH^1^J0a{B6v>E|bQ%JFB zDXuVyRf{E}W1>LqFl-WPU@eTb^jT0`Mc_Y%f}XLE0{L99g(9r1%Rz#G83$>jQO;>Y zV1F734Qppzz%cL*f10lcUkw*)W$fVM>95Cxrv?L|ck%-1q-ecXjexw!7{)>2L&yinwrgY(G+E8;E7HlNJ^XlHA0D{r!B}7oB7olm{jY|r-9O+X^BY~&sqgH z>7wIpAY0FEITSdLinBTy2l~?xC+?n_>uESx79#0iQ{ctF=x8U{ZZ5FKUN8lD!3qR5 zi#J8=yR{z=+K$cCea;ddZ`mt}BTMHFq;se6yrflCRja}V|NSM}x~O`8F3$~>?{a3& zGkF95qP*Jnr~xxUUwz+K*ni<@2>qL$`hgX9mPxKY;dhiCJbXl2HT>}1CrGSmXmtEy&mpw( ziZlPkG-Sz>% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/dpad_left.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/dpad_left.png new file mode 100644 index 0000000000000000000000000000000000000000..9343c4d6b2ab9dcd5f05254bb5abaa1d3752d42f GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2B0XIkLn>}Py|j^+L4kwCVS0jq zcmbpLxB0BePKr+)qaN2+E3)Ohojzd!Tgf4(x<_-TOkOz2U)@}1CrD&Ee6cs{a9(L{ z^+*2CeZJX6GlJg#S7-<~+_dt4;;D_=Zlw%7386jj!uF^o2fy)Mlf<-8(W@(|<5R*K q0e1`OM-35=1Ez=^Rax4r$jI<0?h}Jw6K@^R1_n=8KbLh*2~7aETQW%i literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/dpad_up.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/dpad_up.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d38b8ffb614e3bee552a2119e9c784fd23edec GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2LOop^Ln>~ay?l_DL4c?ApqPgSW_4h8?pKf=soQb+%!sa~Zv$(|a9RU-nXEfjbv3z+lTkE{q rAJf9}&Mcm){W;^b?X9<8PkWzY+WP5ie?dAc&;kZeS3j3^P6}vy|j~;L6L_w(A-hc z#DSUbZoRJam!)655(IBeZula^w|QN1b9Lu0%{d93-By1ld^;#)pBT5n{NRg-s6(9h s-$mYF3!L&{P1WJgzaNCY)ZRLaH;*k&iHWc8I?xIRPgg&ebxsLQ0NK$sOaK4? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_down.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_down.png new file mode 100644 index 0000000000000000000000000000000000000000..9af559aba135033e42ff65a90a02543bed28701e GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2CVIL!hE&|zJ8>iL0Rs+}$R^p0 zy$s$d|L;Y|NX2o5Wt=r{rok8?ye6wYCcQPG^^J88}4gJ(SDHf?F0 z6e=E<@yR4cKeTnW@Gpzdj5!697IbdizUf6b%f*DPDi;HH3OblL{<;0!;(?IH@A9fy zHV2=d6Mmy}H!|-EE4zjN-L}*?_gbf`AEw53iyJg~*3Yf50lAvN)78&qol`;+0QMG6 AjQ{`u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_left.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_left.png new file mode 100644 index 0000000000000000000000000000000000000000..8412f49f3429c478d6ad57f15694776c1046fa66 GIT binary patch literal 211 zcmV;^04)EBP)_{!EK$X-fP+O|%xan0WMX$U;TBK0!H%;iOni3( z2T7vINs^3u!OTgXeZ08v+85t6c@8eDU2$_l2emhiijxG*-k+&eoDT`&z`ByeNtH$b zaWuqxe2#cAwZFy+@1)*QUHEVNtbQJrOQ%Od4O{>K N002ovPDHLkV1lcCS$+Tj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_press.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_press.png new file mode 100644 index 0000000000000000000000000000000000000000..f670df011fbec18503c52ed44da2614a46ee75dc GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2T0C7GLn>~aoxG9vfB^?fWRq;h zUIy=q|B-sFy&?iz0)KGTxV_lu`cKSjIb%$P=;}Cuz&Wu8SNHBO+W|N#p z?g6!J|L^Gi<9)!N(s!FTZ`yng8%YP(RVNQM*=%LCIV!yGuq<3xFenUSDKGpZ%muAL!+m2Rc};lY{F4nC0lFhjXMsQv@)#idtodspsDqD z{p-&P2V%3gEWEpH_bJ(!>VK^K7k2d49AujpntwRvUT0SOy!xp32kdXNGjVw@cg?WL Q06LYy)78&qol`;+0BmJhSpWb4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_up.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/left_stick_up.png new file mode 100644 index 0000000000000000000000000000000000000000..5b4269c972fc765a18bc116b2114fc2dacd775dd GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2rg^$JhE&|zd+8u=g8~n0z_f(+ zxX1Ko4ZGAUF)QN ztDj54_Q=>bhZY@ol1mQiyutK&WwG*^l)D{2nEZ?%1UwRadxq(UNb-~QZ#OI5h^;>! zzI?NOy2U%o!)47fZ;tIa$dcW2dB)l3%(E|k`Cpg)Q+a1Umt(HmpA#UbGkCiCxvX}vy>yY2L6L(kVS2#? zv5ZE!+x64_ckGrA`t-%LHQ)z_k*glR>l7}3!=^bertKGDd-z&hO}$jYM!RCp#$C7n zyj4A;cX*jvnR4c7txJJZM??;R`K1YVMg-N&qEoJa@ L^>bP0l+XkK_BT9Z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_bumper.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_bumper.png new file mode 100644 index 0000000000000000000000000000000000000000..1a03fa020fd7f7520df3d36e2d648ee97e31c74b GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2;yhg(Ln>}vy|j^&L4k+mfX+h& zy$4L1oB!+NEAn%$a6EYE|FK6C5=4HQ25rb+uuDs%&CPF>gks>l#Ed6$)lI^4?$%fz z(>^otSVZui>hvVd4NDlWuSwtWt2LcB{^jZtugghM^Y^6K0&QaOboFyt=akR{09CR# A=>Px# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_down.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_down.png new file mode 100644 index 0000000000000000000000000000000000000000..c492f52ff19d19159da28f0fa9a44f73d3e809bc GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2CVRR#hE&|zJMkdzQ3DR=$R^pM zvrIY{|Gv+8sPCb(^u^`m98INXfm=hKOp;k{?d2lE#m;J>lzD)&S+M-?F*_cL15&vj`Q2J)D#GPlx_iK_}{jr-woq+-)4zrQX=7&dM73#-2_{%}&$*0R~} z=G{5?b?*KLo-=OWsNc}I_Lte2r+Wk62Jp?9mi>!SQQxmw`rN_-pz|0!UHx3vIVCg! E0LcJS1poj5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_left.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_left.png new file mode 100644 index 0000000000000000000000000000000000000000..ac66957448175745e2722c99a76f5fb78964db37 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2W_h|ehE&|zd+{Le5d|KXK=X%k zJ1#ZM_V{1E>qqqgW!*5HLau2_+;S6q&b%_%eDu(}V@=U}9J>$m#Sd-u=b2RS>8*(@EN&CaQk4~DpD15m#+q-(;i#w}p&ly5EK#+py8ryg zJvGl)uk+kxz4P$bxz=xd5|>V_-*7PSb@rMMey?P&w*B99{un>MbHM7pW@QVYD;Ydp L{an^LB{Ts57RFMU literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_press.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_press.png new file mode 100644 index 0000000000000000000000000000000000000000..487b7ad86cb18c538106a55cf718380984fc6b32 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2T0LDHLn>~aoqUm(L6O5bwn_F+ zDdY5l|B*Wq-nR4pnYFl6@qxzSFe+p@Kbj08L!~e|NDbd)Wt8tmJVzTZ#+}C^0dsVGf7A4F}$G;wNqcOyb}% zYT$*Hsgt9=>V}{TpG}EfqnsDtG$zIUpqv%AfvJU>o6d?O8D~{6`Ao9(RFy0B6A>Gb zOMI%jZC^|>*lkr!r@NCoT;I9Faf8C@25+#ztLDG4ns?IC(es}kPw>a_1@fp+tCHgv QI{*Lx07*qoM6N<$g4q*VC;$Ke literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_up.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_stick_up.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec9775b181a8806676941630030a8fbe695805d GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2CV9FzhE&|zd+8wO0R-8q6-ueGdY`@A!XI|d8E;f~8>6yviJFV3G7KK#!FbKz}Zg5s`ONa~_Oxyi~T00-Q$t7PD+t}7`%YCELSZU78n|^;>UNGL6cK(dr?d7iW_u|t$mv2^2 zx7b(Q_LZ&kChz`(EZ#l0XPmvAdG^IW|LekkDs9$pcPm^i^!EwSbqt=aelF{r5}E*g C*-#(= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_trigger.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/right_trigger.png new file mode 100644 index 0000000000000000000000000000000000000000..cec28562b3ae0920d9be0401d8225ba5fa3ca5f9 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2GCW-zLn>}vy>yzBL6L{$f=QyH z*#_Px8UMGQ*>s|T^XCS4V+FZ+Ld{Csr}3mneh`_J@^Isv67ie&>TeVzwXA+Dc#ZG2 zS;d);KhkEnPm{<~;h$3=9^rYuqIq|N&!|@!rZ+VU0Xxr&Gv%CNO zzTf}-_zom)-L%BxXC6ErZ;3WeoeaLd+_UH<@V2zPcZSE~ds8Y^qMBx*O&Dc?B*N5fTa zK8OS<`MlHF<#al&+Xt_9bXS$hoX2-0>Mw$gH_FP|0@pT%1MWMXe7?$2tc`hv&&L<@ z`FrA$3ukCIjxLNlBnA5b!$@ZQ|_tpHAWiH)PwK_IvL)u#pW8U)LV55>& z?Cs#}gq$axS{ZgOlKcX$U zSaR(V`N+@n{-W`vtj~GDyTRY8no`vo;?ta_`+lEk@5bIuT@$=!Y)z$hEIvNI_E6A~ zl%p+c2iHvqrZ-_98BV=Z)1N-p80=mjP#=BWtKLrS%?+kXub?ND+I1;|n-dZzs-|As zWQ;y21Q$aA37M&C%@8nedJc#&7{lP-tFC*wv-WFTgH&e zwQcZ=_TkRUuCSYMTXgivD68R0|7eE4pK9kmsisTwx<;c;ZSOhg@}7jsgh^pR>zn;a z-QRoJip9U_>G`;M$d4KNX8fBF54q2UkQ<`z;Ea_2oZi^_yZ3Tam*5Slu7St<-*)Ii zd$ZHWZg~t>7H+ot6x2RQ`A6P(Ys6J!|9JQA_d63JB2~C?`r`>^*;h3+^o6Xy2@ZEO z#9t78v7?kGyXvpy?YQwEoo>d41CI2jpF3_EzHlk`uT!p1cJ)2*9G)J{>N{1t=~m@| zRXg+h9}hH3yR&znsAZG>+kZ9WKw?wx-{^RJbM+s#+-=8`=#XOl_#aqIARW{Ob_7>=pSFCZ{86MBmn|s`N z$A7z=$8*0;>C@OW-4+z5%_5AT4Wy{ZYz1f@FEYBwis5-A3mM34%AyoZeBLU6C_*Vn z4b>q!tBTB_;v6<|n`5gUcjVy;LJ%DVMHZnzfSF`5sK{)xFldodFe4WQG`9^4pcx38 zrxe6+3ZXPzBBY{iB%}}_LL5O5C`=&|hlz1Xm~lPmV~GSt!eOyoC=N#v2`ZC9b4vi! z*$5+=td5;i2L6qm!KvY z+(ubhinc(UM9e@Juu1_ib=C*7bwR9!nTr#M7+i!|VX+9|e3}6g_yW#aU^C4qCvccF zk!I4uG5{-Hz*=)?mS%G37l>XsentU^txmU~O2Ww` zLl@X^Qd0=bT+Ml7MO8KuV`-b7rcLviN}M+tlE_2|6qrg`2-?mBJ;gw(F_u&cK-Q!} zL?#qV^<37%QJFjhQGNx4vJP!LkYAeYIB(0P6}jTdm)pXVn4KVncI;W8s4G#U^> zsF2E}LW5jl5QgJOsFW}mr80?Oo#d9!AHVNh_Ea04hxxq7=6!`!1HFNgVkeY{s$;XikGZ*|U zOl{HvMBBhjPAT8+0Q3B;Rvn`cJluFB!s{ZkRDD|=)U+Wv-)nPlg-+A$|G@`M?a4&T z*LzDm*LQ?`I&$!Ge{AQ}^tFh3RZCP5zWgsoU)Phr|F9(Q8hb8s z;8@sEN6*zt$K;u!lp*@hZUu$;F6rWBg4|9Xq?SX)-mMSy1N#@fJhV7+-B0)pPBNn< z%H$qZ{Obm?X5)lS^-Fw(qqx<@uc|;J;0;4=tImr8aIgNH@o)dI`=RHF!mx_{ANn?M P7m`-9RsG4vtn&W>>-WFe literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/x_button.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/x_button.png new file mode 100644 index 0000000000000000000000000000000000000000..70a84f0b2d8fa5918340ddf192cef0efa7d30c70 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@I3?$8F6>VS)*Z=?ji;9YVZd)E49PI7w z?d9cVXJ=<I6r;B4q#jWH71yKV7gMt#112bfF z_2hV&1j@R*yNlUEZX8uTa&!&jsj#4+#!b;NA+aF~x}su2oD*_V3O7_q+&*&j=uw`m zjLn_hg_X)PPTq*iiHTF>Nc7$^J>10U22YcaY;P0Ol4>r7APtGBZ_+NN04-(kboFyt I=akR{0I~c<#sB~S literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/y_button.png b/src/main/resources/assets/controlify/textures/gui/gamepad/dualshock3/y_button.png new file mode 100644 index 0000000000000000000000000000000000000000..349dcb4b9d397cf20187109471d60d9835a2d61a GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@I3?$8F6>VS)*Z=?ji;9Xetlk?O9PI7w z?d9cVXJ=<iEaktaVt4NLDay&prFL$zzi8( zJvm+`fwJ!I?qar(8%JG_9$mwDs;sDKV{}YNY{-JHs5vptO$j;b;o=gr4|{rgavn1) zEG#r^mb#VmC@JP1N1D+#ap~#d98Ncc-aZxW6)