From 40fd7dcc726dfe6ea7342ac5e8d1c3c91648caa5 Mon Sep 17 00:00:00 2001 From: Daniel Sinn Date: Wed, 23 Dec 2015 01:08:11 -0500 Subject: [PATCH] Add Keypads module --- index.html | 5 ++++ keypads/ae.png | Bin 0 -> 2978 bytes keypads/at.png | Bin 0 -> 3263 bytes keypads/balloon.png | Bin 0 -> 3333 bytes keypads/bt.png | Bin 0 -> 2125 bytes keypads/copyright.png | Bin 0 -> 5013 bytes keypads/cursive.png | Bin 0 -> 4164 bytes keypads/doublek.png | Bin 0 -> 4041 bytes keypads/dragon.png | Bin 0 -> 3545 bytes keypads/euro.png | Bin 0 -> 3135 bytes keypads/filledstar.png | Bin 0 -> 2531 bytes keypads/hollowstar.png | Bin 0 -> 3682 bytes keypads/hookn.png | Bin 0 -> 3452 bytes keypads/leftc.png | Bin 0 -> 2785 bytes keypads/meltedthree.png | Bin 0 -> 2532 bytes keypads/nwithhat.png | Bin 0 -> 3490 bytes keypads/omega.png | Bin 0 -> 3125 bytes keypads/paragraph.png | Bin 0 -> 1261 bytes keypads/pitchfork.png | Bin 0 -> 2702 bytes keypads/pumpkin.png | Bin 0 -> 4330 bytes keypads/questionmark.png | Bin 0 -> 2054 bytes keypads/rightc.png | Bin 0 -> 2736 bytes keypads/six.png | Bin 0 -> 3545 bytes keypads/smileyface.png | Bin 0 -> 2730 bytes keypads/squidknife.png | Bin 0 -> 3461 bytes keypads/squigglyn.png | Bin 0 -> 2879 bytes keypads/tracks.png | Bin 0 -> 3089 bytes keypads/upsidedowny.png | Bin 0 -> 3349 bytes ktane.css | 20 ++++++++++++++++ ktane.js | 49 +++++++++++++++++++++++++++++++++++++++ 30 files changed, 74 insertions(+) create mode 100644 keypads/ae.png create mode 100644 keypads/at.png create mode 100644 keypads/balloon.png create mode 100644 keypads/bt.png create mode 100644 keypads/copyright.png create mode 100644 keypads/cursive.png create mode 100644 keypads/doublek.png create mode 100644 keypads/dragon.png create mode 100644 keypads/euro.png create mode 100644 keypads/filledstar.png create mode 100644 keypads/hollowstar.png create mode 100644 keypads/hookn.png create mode 100644 keypads/leftc.png create mode 100644 keypads/meltedthree.png create mode 100644 keypads/nwithhat.png create mode 100644 keypads/omega.png create mode 100644 keypads/paragraph.png create mode 100644 keypads/pitchfork.png create mode 100644 keypads/pumpkin.png create mode 100644 keypads/questionmark.png create mode 100644 keypads/rightc.png create mode 100644 keypads/six.png create mode 100644 keypads/smileyface.png create mode 100644 keypads/squidknife.png create mode 100644 keypads/squigglyn.png create mode 100644 keypads/tracks.png create mode 100644 keypads/upsidedowny.png diff --git a/index.html b/index.html index c0fd16c..2431659 100755 --- a/index.html +++ b/index.html @@ -50,6 +50,11 @@ +
+

Keypads

+
+
+

Simon Says

diff --git a/keypads/ae.png b/keypads/ae.png new file mode 100644 index 0000000000000000000000000000000000000000..3f523bd46898717a593fa57afdae7d344434fe6e GIT binary patch literal 2978 zcmchZ`B&0g7l*%~f`q1tvp2OI3ugo6Rdeh*Th68CY$c|WL(U3C4y87jn!`0KOAR!z zOq`M^@tQd_kR}eG*DT8fOQke<>HhZq1MfQLti8{(KWp#3)>&t*U3A3DS$c=+4gdh8 zU0s}f001O%L4YJgWI~dfPKXR7(%sn!5dL2Ey^Uoe0>il+O9lWq;`ado)wRkZ2u*SI zJOrH;mzGrnE!pq25~1C(en(Rr6XWA!5>iB00B}r-iAafw)=Y~{Ii>0B>UkvEC41n(>ktc#brE;zake7;$?1aMs8U&ubzdB zKoUT87ZtiK&aWQC>6swWk9&$s_|s6bi@duG&xD5vzv%DcZ}x|!3JnwbR~B494xfcr zQR%l-7NBvq6r+Ol56`0}Bi4LWQh@@o4)C-D>gRB|5@8TWp#5y(OVs$~Cqr!o4Pz+>C4ADEshWIM?nWPpl0JdT>G13AEuf2FKd*8v2pTQr%^Fb5u z%;{QmxG6IsJcgWh2X<$7qg-fJofBHD;sdAv&TA~+t{JNVD|!|r1Xb#RXa z)4Hp4PkxotiyW(QEcryp^(OF%c->FT84KS8AYZ$9@zF&5;r2Wv3~{v~KXn)LRp1^F z;Gy^O-cUC`tlHbUK*xH!m##s6tyT&nDUqD9;9|vQ>`I2MCk zOfPkzty~W7XWdLTJ7tn#g?h#mI@mA9BrufM+p6P|zc$%}l|9drzSa7SWnj<|Qhkp^ zw2ovC2GY^zEfsyHd_r~;+jsgt=O;2GM<0Kv#^#WQ#II$jtd*kW>`F zt&Am7Rris#3>;RQS;teaCsk3}KJHy+m)K0UCkdqNN-{f~HdiC&mOarRmtR?pPMd8n z#KXZyo+y@|3Onf9(_5qqH0MpDO5?K-__uw+YQO`)hQ(q3V4oEQaw>CGZ=MrMIeVk3i|C8L!_z zgk7px&lKF<@&t@PiqY8%KcP4UifxYV;QCU6j2%YBNigyJ=HS=v?9T*eg2wBK0|9D< z*Qs8dDX9nRYWM;CrO44pO%K55&p$zx{aGsps@q_WPmr1*3VcOQ4O}Z@FkJuY0VqLh z8j2LD90ov%(PO+>h>@<8q}!mlrjAKI<-pmce4#2%_q{aO4CG>14ckJVd6oyiacDhC z)Rqt2NPAh25zybdO{ra<71u=F5~G>&{e^p0Z@!2FU#Z5qGnfw*Y4!D%9>8nhco~Ij zAhr`}qKLpB08Z+jKH#pu{m@tRCiYe!Bm#9~fgY+;D5{J)h5p3+su6bWhNv&GQn!ht zxyNtQe)}J^vHH^u8Y80QW(RB{96RqtQ>%amL)t-ZuTUF-_cLrhv0)R&nD7854Q$c7 zX5OUfOul=j?o|ccU%(UDnKRG!A?(_}{3Qr*Fate`1t0ywy$-7nI_pVmVg0L$sUfn1 zR{n*Ly=X1e-_Qd{eH-I%3VQphp2(hTWe$8Y<&XlD5O&jKS6WLf>Yx__-$~3sq|Ubl zs|9;>aoh3?BC?zNqA1m?3uruZv#6o>z z;-No7w+_WGeV6JQ=vGo5mE|NcIwUib_apHSkx8wU+?12?(H&B%&$T4_lW=nmakgy4f`ldy@6k|yJ&G`S(CTjWO(rKO}W}}Z>q(k9ZJ^Twh5Xw<1xqj z%r&G#cIA;eq8FkVOMhD_;SP2{a>cXpNcCn=*eGvCFebI0W`IKt=R9xd#;ZT=r58mD znc-m^3%WDypDM_y+lCk7U+h;#&-e`rAH3k`4!fxjaFJz9+y#;JS&b#%BTc!f0 z8bHsR6VgI04m2Pw9veBAHDo;m;dIb%=+3D--WZSsxJ!aiEP1f33t)EH6PY<2t z-mQ|VcXI3)YDMo=w27Btv%0iv6kd`0q#kE;EG3Zf3-5@xA-EDjhwczs@LmiYn?;0P zyabE-J}VvysVffr)m0^b*6L6h@q1KuJ>=!o>JWbJzxsz*4FCWD literal 0 HcmV?d00001 diff --git a/keypads/at.png b/keypads/at.png new file mode 100644 index 0000000000000000000000000000000000000000..674dede8a0dd307f378527d3ddb88afcd729ee19 GIT binary patch literal 3263 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 VO-V%w+5g@n%uTF}E3bGY{115h?5h9( literal 0 HcmV?d00001 diff --git a/keypads/balloon.png b/keypads/balloon.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb016c48921482fa789161ff54bc41045e98cbc GIT binary patch literal 3333 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 G@&5odB5czD literal 0 HcmV?d00001 diff --git a/keypads/cursive.png b/keypads/cursive.png new file mode 100644 index 0000000000000000000000000000000000000000..9f5bd48b9802b72af74656d3d792c6934be29246 GIT binary patch literal 4164 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 literal 0 HcmV?d00001 diff --git a/keypads/dragon.png b/keypads/dragon.png new file mode 100644 index 0000000000000000000000000000000000000000..a571ab1049feadb1f154d8cc0788df32f57e1b09 GIT binary patch literal 3545 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 X{I5JamrJnU|9D#~$HR4paF_oLoOg*a literal 0 HcmV?d00001 diff --git a/keypads/filledstar.png b/keypads/filledstar.png new file mode 100644 index 0000000000000000000000000000000000000000..67cdcdddd7b5782e931d91a22ef282dd755c85c2 GIT binary patch literal 2531 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 Db4P<8 literal 0 HcmV?d00001 diff --git a/keypads/leftc.png b/keypads/leftc.png new file mode 100644 index 0000000000000000000000000000000000000000..b0cade580f247cc9dcf9bc41a75ce54ea20e5913 GIT binary patch literal 2785 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 aK!Fa_L!AiIdP`XTY5IEY@T}NI{po*juFVAi literal 0 HcmV?d00001 diff --git a/keypads/meltedthree.png b/keypads/meltedthree.png new file mode 100644 index 0000000000000000000000000000000000000000..fc1d4a2036b97948e59bf386e946fc98c37b81bf GIT binary patch literal 2532 zcmbVOjX#rXAHVL+=56HVBzaxlcS0zgNl9igA}x7YWGf_^?P%31v>}cjN28gFOsC0P z2d5fNG zH93?JvZhi)&%oTh=ZsM)0$J`0kK&M6OlCqV2k8PpN=smH65{cP_i>W&0hExic-I6? zL@$uyzbTwMI5wP-6!*mP?&rg0mzpWDZG+OK3og0;yr-_{g|z-9#e*H{UpLz838s@rP8Oz&eD3xGzb>6;>$BX zCDNlmn;-IQGMO?Mh`6?*^1Pc3+lsB#Bv1=J`O8OdCLYsh#SNskY&(ytjAmN0ZP`W) zi%qtL*apn5)Cr%SnT*6+;FN z1GBAJGtV%bQVZ0x!C!?301i?%s(q~d&-@)30X}wKxYe}=h(U zI}U1pyUMx|w4-WdEquqIfmF@RgaP0Niq%8K&Bw}PJ3&poV#K3Ge=gMYeiASRg8{>y zgQY(5>-;~C=+XgqTKvmW`~3%+hdYt1M@^S@Msv+w0c-2H9rr*@zxD) zKJzW2CFA6MDH_M4y>EEwQ}Xkb%=k!m@IL9F-sHZ@9Om5JhTVWWFV6Ll?QVa7_@-bQ z3kS8Ggy=wWp&;_ms(~GMly<@D6A!*AM2%#HB0{CtCV~W6jxL+Nvi{l_6y-!#pq!up zgd&N;gYIq~$xlkCy>3v0KS{+QmH z=jtNE)Lhb+N6ks$qw6^Avu5wnn^Oz=axH$O9nj$x?QCInu*n}L|;N@zD%w6!~eh1{2 zQ!Bx9&$(UQMm-UNPIdh>yeALt;7yC7>SWXKRpIJGaEk`jrdKP|kK1oB^HR0Gdu7$j z82Zlt7>wR2$(F>IgZ=pysN=WYov0q6E9O4Pt3*43?(QDBY_a}mIh?=H2`OqsMHr0h z-YE`xikh`e(~3!muHtYE_Yyw$S)1*`KkPfk%#mVax&A?&`{g4m z{%Alwo#_q?>dq(vjWuf8uvq!_C6CVMVoy=MwU0WTCW zDsFc&aI$3iD-=JA9)qxT5oAS$c-c=tD3Bs+urmD{S+T3y-V+E5PuZ}>gOL~kRO#^f zM!lJ*(a$??5$y&*STjTye>L%)qZT8J))&kBc>2mfSKbmx4=e{BKzNZNfukoTPe1E(|TD<4K)W0Hq<&9>EV@W=Arn}hG4 zu|$JF4`8<(6ypE|%d8ZV_*jCr&>dA$cX8RT*mfN|G>!V z4Kyy3=$zG!37DFyhVTh>mQ#eL+dwe!1X`a80*|yAnYsZ<`g!!nMdNp-mjwdP(oi^a zK$VHikcR{4UGPm%-gz0PMm_=HWT3lCu)EuVFz;Zm1Ez1fdsYeu-dPWj{c z4@p|!f5+YOp&fJ=lHztrlMqa+>Ao*-?8EwTe6mZV1m>VyP&T00qtQ>`gW+l8k0y-g#NNlE4Uf{rrL4W9 z80|!DyA5CULB;DTKdbEBi{xGz(}L1pC&s}?u)oIwPtTF0`5(ZD@9?X4NjRg+7 z`RCp_va)UWnM2%DEeCjAjaJc}yeA_5fu7tOoI31-vgqvah<+9zBJTPix%YAHKgcz= z=x6c@6MH@FOYYg!zOGhtBaPOB4HCjMgRFI6uK<=+Bm3q|ncdtdn^$X8FQ|danF$=v zGFY3e%PvlNZse<1?O>AmpkUVb<6F2!v}dhoSU%)y$=$p;1LtUoUd^N*B($e(AEmS8 z@K+Ni`f!MA!~=`Xc!P?u>YZ>4PzF)!Wn`;mXuN3Qi};5z>)(fRsb`Bm>rf0&Ydryb zuLKCqH22KWw8FxLB)paB#%NlE3jO}?Dpjc8&OfK9p98nCpscY5mfLFkA6WSrJ|#}oV4ED$?knG! zi*?)}DLvffzAmg()}vB^-c>DH9Go2&MUaZy(@FxGW-KzM;hBU)-7>k}Nat*8+2N9~ zV#~vM0W0z@98;2NG0QI#>|)6_#Pd8Rb#tP>GdXT-oMCV?eh6+$A*qq9r>+R+SifUUe_q`(UD8(-$~e2%lHts zH5}3KIoV316Qru@&lWh4&!o?l?`0ij><{_&<0vc<%#@NM3z;TZL*EXJxwpTgF5&bz zQq(?DTt!cCsHnJ$#K4R?Fi0% zsSiDQkZrYkuC=UlN;UbvHq1}P2Ux5ro4)RQ_N$rg?UsFh(#IX`F?V_fM{^dKVs8aT zhouU7jz!O$v$C(YRsoIvrx1y;*zwVMcvr$XFRH*7O?l2e=j!nx?D0S1wqWPhoJ7|g z&+h{CRF?V&ivK~2*+}c%f0fkVgyUe35Lsg$mN3h{IIcdFW$3##`Lx0}wXF9q37-q~ zYe6TZV}6D=c2O9*txW_yuP1e(>wLc7&s;jT){?ankVI;$d@cZQYIag>{yrC!q`#k$ zm@CRGOVC&rZV4W9g7VeR&MdHUMOkSbRV52bIVE%VsAl+vs>L#IG3Qs~s+?dg?dOds z<8B2fjnR(z-U#4UMLT~N#=>zPA7=tMf<`hx6(B``aQZ4>IFE(W#)XL_hmjT+MOpHA z2mhz{v&ww>j$k;)AY2c8J9yk)ngE?q#SWqyZnCTjKOWU@TFATFIlue+74E?cfMFgm zN%SvIsX95U0m{x{SRMu+evqAMI9M47sk{*n9fGvEE(2YdLNh^Me!6+_(rx-BQ-C-n z1lQ4eW4o0hVtpe=Qs2sa@BmX7;=TjqD;n9Sl#cgj0?#-sy8S>IK;zwr32;VX*#MSI z@NQP<_C;BAR|1h>5EtJ%;yB#_Wba;0w)R33CDgBF@i0ZzZ}ONs#;mvB85TRa+e)L)fVZ;j9reGbsU)$(`1j3f+5sMD*ASxlnV+QZgWoOOgR$2rbUb2iQqWH9r zx@%UJPLs9=Z#nV)qETDUP{i!v^pd0W#Cb>tkh|Uyb)t1(Ta|UTXW%?4`G_ss1V{nz zdhj}{DqRmY4ypq>(N)5M1n9jnu!##|UoTDPi2W+2qa4*a zfb{hQbi4dLDb}WKv4CSe8z}1Vflmi7Mp#}twj2d_UF{se6qbsy?&U>~d`nni7HfVJ zbuQTb_b+s>#-ipJzJgy(elTYUOXSV4|1(a= zg8&JhM(Y+%EDn@S+fq>{&+PeSvQekGESYfAz&oXuH`AhZH46|7K~Fvj9AAWo?sj@f z%72Z+=_i$eOb#F1Gn+Q$7_0aH+Tx8okOYwuJ7&G}cdhdW1Ba=(J1=-)QVc_BTr#T8cklNCv zp(nViEp?2yJ*;v13{+?}CC5?C6Ib5{N` zwSF0ude97*hX%xu3VX7Ee&v5>Qh&`17yazIqdB4TIg^!k{?&p^Zv=@5sJr`Bj2_~~ zzCWF$pN{+Ql9Wh5_V^HGV$BEj>@-b@u&A68T;V>m?k^2f@?>^%#;XAH$KFJ06j;_h z>yn`c>vG(lI?Tn?=sFbB3k4uYi;E}Yu%`NCz2f$&cd_J(yal@+-H*=rB;Jw;XTj>~ zcAQ2}RRo05ybmwVr-Ut5aAxrD;dJ1YzqGWHvbAteE2Ba~sl3P6Yi9e+7&jw6bgXsP z)`CIP3C#&}*Jq!!%PJaEs&g(BHqfrdLzJ6YI|tGK7IKnaT* z);US&Sc=?F&Pnpn2dUu*u-Y|K;A~_h1w~6!&Z9*a8>C%kxA}$r5LhDh{m`~Ol6{p( zW)6L+C0TJLm3w*&VS-N`No}Z{rQM0-l^UElMO(FTddRP9_+2O_)@w9MICbS|;mKqsZl6@Ho zzmk#$V@+dX!kdb*R<_K1)A{~_@0{;D&;302bzSE?&$-WY?sJ_x-O14!At)mV0007O zW9b3_FfN1vd-%EO+{KDuZsHHHv$g~{e-^2uJe#ZRjk56|0D#c`KN|)V6iIVM0V3AH zN?@87f#gMKJ@dQ6mE=Osx)U*xczjR7KY1P!U(+m--@UGw^BV#pg=H6FbG`3abO}F4xQqDH76cwvlBglQFt-r2+2capSSs0^jg_`0V<3QGvTMA*^3Qr zXn?Mx45~wH=p!qj9u7i))w@9k00JnVPu!g z=cj6Pe<24wYrFa}$((&*)3sh=We3dvWP54WIW+wp48tCSJ|faS0mBXRXd8&Xf8~JIjX> z(ohLgu8Lry&$zV}DbTijl~_xq#GS@r6iLHKleDg_81K|zT#I~p;Z6<+BpvUfAc z(?dA%Cud;K;g%z}TDJoehfl_~?O!v&v^!3VrfmfY{PcqWu8%w-vUqaLH z0M6l`-hO4&h`lzDAvtE%vuo(};@$YtlCf<|`|S?cq91NLCnfFUy&vM3r*X%Qf9>SB zU?#Oc@bwG47^Hn?F~o?=hP||3?-Ol~s1jP=;ZxnhjI|Vpp4+s~R&ef!K9@K_r-j~D zf^=cn*xM!j0iNcQR8`aHdz<0r*ED%r^qM^EQ5-vWQ}TxKXjC_LVU3{np%sC5GZVs< zT9Ne?LhJ0(JQmD`X~Fu*zuz|`f`hX3FEX~&YuU92=*SPeO=EESZ1#d+)S;u=kHY6PSRDh&mP^Ml6u!zmY%!q=Va^{#p@KQAaY_} z2vYv_F1NsB_A_53(P#;a#fVg+sUl~P;8F)4!Ecc$Q@BV>>;pq>GGMjEcfLkV$p!05;(S87(s z4UH(AOXnlO-*^CMK=q$L5HRJXMq|9Y-LU0XHx=XC^aEq*GzI) zdkuGjDZ>Z0o?oduTic3#=niQ3Rq&Bwb6fs{>-Zosb8Lc3f*gYKW(iz4$Xnf_kQ>~; zw!}ynrm$WX=)k|$M{ReH33&f0un#1NG>hhjx%;$Kq;XI}=B8G9i_$xOm8cnxHkX+yL^+!AyVRs@cKLB@zQ8kJIB?RvD*De= zUsJiLfz@9x=@OtJ_cIH)%$t=`MmJ>^iOP;&lCks@x<}x77vV=K(d_v$H;p7lpGo=n zw-}_ccJ*aB&%{Wldqx^%un8EQ`~eaiTeNdgsHHe=k*q0@ARp?BwtD^HGRMz-0pAEF zfMa?@*~)#lQ60^BjdD`@UvJdaD}$<#>4QN-ecUd}C94@3PA*%?P=uV$SOYh2e)e%pNgiPpYOY3;bk_|d z$tA`x{jsxa+Ngwmt$V_HM8|X=OgWh$4QR|8>uTkU`M!j z6M;rJebF2<$@n`%n(rVUhbcnR+(r;#jdI9)XGM*qkQbLZHs)Rq`c2z-^MK+I_eLWF z(rq@*ov&{HR$dNUcH$K+m}_OBUw(PGHnsCYuCOj01L<*ek{IpyzhvBg9v6;BDGr@O zz3_Jw!DUO?XkW)h){B1Y?_?NLZy7Z0Hkhu+Y{f+xP0+p|OCD$!Fs>pc5b-lw*lt`Sb#Jp%D!o^}@4Z`+(- zvNY+Y)r?$+9ra~h>Dr#XPdaZhM(cb=z-ANM0@+y1Q}%NeMWy!SMqzw>Q6i`<Y5i-5A2AZE3Vs?@ z_K5)DTGns<;lSQlukMq=6ybQ&!&)4bjt+I#SEnF}xvRyLjl8gvBmC<;vf1(vI>p6r zxI(QN@pd_l$}8=pxn*^uaVzp*q3gS}0CI!Q3Vm5?=7{Um=j2wtF!=;;(M6B7m?gg7 zl+7JW?}b20V;0>>ZRIF)2pXvW5~wmi^n7pkv*h*kj|Tp%a;0*n%A-)G&hTtiugC}= zL#Sv!5iu`5zbx2!=Nl9qdwFaqf{d^95m~YnLvcDeuo_iU=S-RC#3+?-2eukgCBY!5 zDIkB@%{#QZ1S)~zdJUr8$KX17O=dIcWb4$bv?o{IFXe^pu3KZDE?4;phh)BwfR=h5 zm1@u)F1OU7`Gd0$2`MOc{M-z;3NS%#Zh3N+EV+JAT}M(=Oog6aZxZ;(J(Kxug79yHLw ziWJoA6UQ($&6j5@kE5?m!GD|<2+1jF<@!(S!M9$3j5BbDB)=}*S43U6Y3!B+wlu9khMR`#?4zWwO+9jwl>+6NuEPV3US0sbYW)^UGbhQw>%P9{$TXk(qcO-EdX(Ii z^-%hSJ^f&5#s`{n3dh$Mflm7N7TAHG!Fn|yT14Yl+XO*Y2sN~ym8T*E{&(@eA7?vu Zr4nfhpC#9>TmG5eu~v?jHGlbC`#1ZItN{Q3 literal 0 HcmV?d00001 diff --git a/keypads/paragraph.png b/keypads/paragraph.png new file mode 100644 index 0000000000000000000000000000000000000000..51b85cbc450127f30fcac7a86472ed8402d10545 GIT binary patch literal 1261 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 Uu2s#!ezb+Qmgg)Q&f;(U7e&#pmH+?% literal 0 HcmV?d00001 diff --git a/keypads/pumpkin.png b/keypads/pumpkin.png new file mode 100644 index 0000000000000000000000000000000000000000..210c7d30b1c24efb3e1ec016ee2411d6f2e9bd6b GIT binary patch literal 4330 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 literal 0 HcmV?d00001 diff --git a/keypads/questionmark.png b/keypads/questionmark.png new file mode 100644 index 0000000000000000000000000000000000000000..5fe397cf4ea41bad8c71b205d86feede696e8d21 GIT binary patch literal 2054 zcmbVMX;hO*7Oh|)F&#m%Sp?}g`h_Ua0YZ?c;jpXHw8b@x}xO3AwUSNWXGK%pJq8&sZszAQ6s}>krCVIF|_Dyt|Twt z2x25kWj#%Da`aCbni)-~2svkjn*Vx&UfX@081<J#vS{ap^Y# zM=JxuuKx>E8j$xJ<`>w%z!-0A8$*sU&Z@QIh_J`<UXO`ct5}hkXnq=}Z znJs^OT0Pr#%ZK7cDNiV)_ed`YrN)0e>wn!uxt93QTwUV^E5Uonklk!8=!H=1&mIyt z*oHmA6JMpaCI%IVhaeQ}=^2)4Ea)e7a5PtDG9V>4{GC!MNrXA>XgMtvF1tOr%6`!T zO>?wYA}^%BFFC$!Os={q(uy)3JX#?o6r$KKj~t60-;i0vpfrf6Ic!I15OKnU-qJhDeg|6xGU!SX`CG$d3<%R`8KvWgU8Bp%Q>w>!2u*omx ze&Gm*rsc2aWLf{ ziTAz-MFqMm6P=kw$^d+(V($)tJo7rk^%Kh+V1l{gsx5nzb8K!|fyhT?M6a}287foY z`wQW|`j`*KgI8w1P^$aC2?-5&feC)vr>&iqU&x#){uF#Ao|1Nmq~M7k($-z@-l=M+ zKZiqDu|~w*7JH^rwr^4!U<=oG_Rm{dqS3$s05z}?qyc~g+x}?R|3cNpwrHb)i;zsJ z@~SzqE0k90S@WadyD19FZdCnaDV-oC!G%7x3+iA=q)wW3qn^%Unu8mzV{CCx#u`HX zPLM`U+|mQ0CyVe%z=R=#no1OOcVXkmT(Kc3|LEye8GQU&MEc=F!BuWGw-5G}cuHz% zKW$9!F!P{C@oDc$+$DX`oPT(9-+KsUVx>&z8+AY$&|Kgm6Dvh=tF@h|LWiU{UMfxS zrf=R9{aVKUY&!ByXe_B;J)drfISJSlB^ z%r|6+*8QW`Hb1yV%D7!A(kiK*pW!=`OL4^}BdfCT+yqMcRO@gpQEX zvKHdhZV>X(0Qv0W-K6$eFV!jfqadiX5}kJOO-LBel*0*pr?vt&n?CP)QuZwi zDul=!@yyh$-&S|Yd6)r7J>XGIbr(M-9TA^!2FK^#@uEojp?gN!d9a5m@>wnO1a+3% zQO_?BcchfA-w~eFNdL;wOkXq{3Ph5tg_8-ts z9yp3lLm9lO*10A%>m1(t1Ged$j#}vUb7R&PM)+I%ZC;5cvHpt=nc&;l)>&anW684n z=T5qjO6Q|;wv)#G>MC2z$&f9WXQSHVFE$3Is_wQrdHNy3QREh+p`|BLSyt;7;ewr1N!PXFJ1`pB4;pFGs3YE#dS|m8f0sf z{acT7@NGR*eXn`OI{s8~9>Ov2pLkO8QA~OXf$X0&9GiD~wdhcW-&xWryWH9SE3QXA z+-Z8msUL`TaOu@Ev3@PqPmjffXrFKDt&gYew76RzfKAVV7+zFo_~DlL4{Z?2^vt+i z6X7x#1mglU(*-XwgyJOzvH5OqavT+H@##IjAx8IL=yt(Fh>mRw?YF95XvGXun^-M9 zKVjrcX}GRBJ-zrf{o-g|8e z@q@40I~c@KpT9dGir|sqOC9!HajfO#UH(a7@Z8NJ=w^8bW53{w_t&swGq)PN;66$7 zrC%S;Q&I-uas)9SxakgMv6RMEYn(gv)myWPZXHF>0&TZ!q)=Q;W1;z#t7>V>W;kT) zby{Dp57DE~_HAwS{9FcYaoGrG=8B5?UWmPNyYFew=N#H@Ma#{)KflNS16i0T)>%CL UIq?xQ#COe3a`twrIvASqA3P_O>Hq)$ literal 0 HcmV?d00001 diff --git a/keypads/rightc.png b/keypads/rightc.png new file mode 100644 index 0000000000000000000000000000000000000000..24c550b24e055a20ea50b95b8b764b4272f2556d GIT binary patch literal 2736 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 literal 0 HcmV?d00001 diff --git a/keypads/six.png b/keypads/six.png new file mode 100644 index 0000000000000000000000000000000000000000..0054a6e06833c9fc660d688a0aeb28f01a3f08c4 GIT binary patch literal 3545 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 GhyMqyi<*%D literal 0 HcmV?d00001 diff --git a/keypads/smileyface.png b/keypads/smileyface.png new file mode 100644 index 0000000000000000000000000000000000000000..9350efcf54d8cf3a74204aa628d56e9c33f4c3a3 GIT binary patch literal 2730 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 dza-!*iKeY8%0-W$XS4Q?b#?S~VC@Ue`XAm|HL zy2ex1<`Y`n++;`$ZST&C%C7r7)b$Nf+TsK$y_e@2$r}016v=ef6 zdB+?O(z^=7!U^!SEhh~Fdza0eN1rTYIJwV)`6HJf$29q@f1^fickSbPMkusTAAhl9 zCRvBu<~Pb|o&t*S-2dAg@+x(yfXs>(9oOIyhsmJ25(PYbAMKK$cq_GsW26-=qvSs% zPdYz37;kGgiwh;w46cGlxF9eD>dvwCD(0*H0Foc_Nq)8={j32MWE`N?lHsD<@p@cO z{N9ZQuojpQ&0jOAf7-)+NvJ}vkRuO^MdC&IzsUD_{h1zKxxt9bdQcF@hpIy~iM~^# zm!^I%k;qaw7$%x8b#hM+>N`nduI$>)b;ycyD%(IOX$BQclLZ7CqVqA|so0xh>pUm4 zDmDmx9Et{zPGMb=!L?~9qWYKNcwg?;W1Yt&oaxYqAV-5`$f)EF=YFxg-OQXIH$zHC z?4~vvH(u&};IjZh+qziS!5T(VJh&V}zCvv|noq@ZdK_=y8qp2RPq$1JpJ9oT*GNT5 znK7|%$TUgiQbRj(F-(jsg;shB!wYYNjpbEX2@aAq{=t2AU8VxpBy}Dnn*4--cC4Ka zWJp}&Hg%nqSn`V#P!)Vcl5uV`>#y?wvQ5l?Vjjb`nj7OKHZE|H*-|Y%K~=6F!~7Wy zN+DBjj$Vu%`P+Mr27u`!Zn3eG^lHI{x#H16uV{ug2Lwps4VuoEelPFphY#(()|*@9 zHz_J&OExH1nSv*`dJdb+6>}p-^Z@U*yk*#cUH@8tA}0! zZo^s+o=hV%S8)@OPr9=bU!`0w1V;02TpG-{$L;r^+SLw|ih1L!x-3M`s7)3n@UZ0? zTRnA}<8dv&lB?5qz`fdoLTI@b{1fk$9|e#YTYNNiE1W*3*+o@H?Rxxr+@m0$J9b6w%iRaZ|7JDB%8@gE-7pLaESP;EVofD zwrY=c@H6?jx;8ES1>Z(khOx`)jXTdvH1;=}WpSY{@4%-{d5ji+wQ=#9aH!YoV!?m( z1s6J}8ZgcuG*kI!a~tbF7Jq&oOCL;9qImcD<7{53=JpvEwrI|LQs@PHqXDcs*tuD+ zR2EiKN`Hh?UbWujW!BI8q_@K2Z2vjfCAUmj4TWJn##IjUi?4+|II%nmD)mI{ypir} zL%JaS+uxy}b&2ZwCJdUx9JE?K4pp{Axn6dcTyiIU6YbTUF{>ri2e~WHXC0Bz9v#F* z?!}F&xMf6;4pRDOzz#Y+ZU{Y-Wp@r=<%5Ui6CW>?v2IMB--g4w(ZfB7BxIour;nQA8Lv9u)lIEJ$bx2L#94Jm2GrKe7~ErMbxyHH_t5Tkxqh)l z{oH8MeGWN2_u@xu58vusMR0`fZdq(%!*b)T>mp%Olm(J-K?E}6nuDHHqS>bL8WRZ= zes!KsE5A*~EYfhUj@=f&4M*dR{*=ddXU7)?sr&B`EEof#(8Herh?B??wZo_c# z=vt-#8B;L^!67ktnO@3(y(=HDz=cAO&&9^e+mGlkg?O%y#d$HhfaJSKz+2F!@G2>Q z4}TDSc1a}lqI31tEcx~?p3{vqc$}y-K`en)UjK3ouv@ZDGMmL}gQFZUZf)v~45F_F zL-b5zx#=_~a)(lu<2Gn93(w+WzgM zrvPt?AsdbM0(Ocq1hHn7Hwg5(4TC;dM()e$!j{W-B`N9U3bR22C{;l`;qIEtBkpN; zjh+SFA>xa0nQ#Mw*z?8y(H%eWKp;R8rPWpHx5|!^0-$bJ@?@I%Yd!V7VCQMl@;>EP zM!7gLI9*ouait+YpopPO^gTH@}ad`T@=4t-AJn zx)v+2p!Ku=j-9Z0%*Ky>1Ymq!(UGkhlX>VtFIIZ|Tg}C$PU7NeJV>*e^*Z}0>2fmL z&=02`9%gZFk$6P2p)YOS0!-DXdd6^Uz7T>gCO=(*u)6|M zveG%#(JoegbWdfg%?bA2`|p8q^vBYYO9~dHK&jrfP=3XHowrz!Fbq*Q|D5k^N09Fx zRohIZ{gyAUk|XVsglaQT28I5}y}Rk*BNf%WiCoOfB4MCBT%@YjeLewicl}Q0lF0D<0l z%EQ(?q+NeJ+A>X=^bn`3YBm7=y54O&8E9{{^0UwuS%z literal 0 HcmV?d00001 diff --git a/keypads/upsidedowny.png b/keypads/upsidedowny.png new file mode 100644 index 0000000000000000000000000000000000000000..7f7f6ca07a9f391b316db94e8d9a3be668bc1175 GIT binary patch literal 3349 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 literal 0 HcmV?d00001 diff --git a/ktane.css b/ktane.css index 4b809be..fd27b0b 100755 --- a/ktane.css +++ b/ktane.css @@ -116,6 +116,26 @@ h2 { border-width: 1px; } +#sectionKeypads ul { + display: inline-block; + list-style-type: none; + margin-right: 2em; + padding-left: 0; +} +#sectionKeypads li { + border: 1px solid black; + border-bottom: 0; +} +#sectionKeypads li:last-child { + border-bottom: 1px solid black; +} +#sectionKeypads .selected { + background: #ff6; +} +#sectionKeypads ul[data-count='4'] .selected { + background: lightgreen; +} + #simonInputs { float: left; margin-right: 5em; diff --git a/ktane.js b/ktane.js index 9739d91..208dcae 100755 --- a/ktane.js +++ b/ktane.js @@ -9,6 +9,7 @@ $('h2').on('dblclick', function () { ktane.resetInputs = function ($container) { $container.find('textarea').val(''); + $container.find('.selected').removeClass('selected'); return $container.find('input').each(function () { if (this.type === 'text') { @@ -166,6 +167,54 @@ $('.jsResetSection').on('click', function () { }); })(); +(function () { + /** + * Keypads + */ + var columns = [ + ['balloon', 'at', 'upsidedowny', 'squigglyn', 'squidknife', 'hookn', 'leftc'], + ['euro', 'balloon', 'leftc', 'cursive', 'hollowstar', 'hookn', 'questionmark'], + ['copyright', 'pumpkin', 'cursive', 'doublek', 'meltedthree', 'upsidedowny', 'hollowstar'], + ['six', 'paragraph', 'bt', 'squidknife', 'doublek', 'questionmark', 'smileyface'], + ['pitchfork', 'smileyface', 'bt', 'rightc', 'paragraph', 'dragon', 'filledstar'], + ['six', 'euro', 'tracks', 'ae', 'pitchfork', 'nwithhat', 'omega'] + ], + $section = $('#sectionKeypads'), + $imageLists = {}; // name -> $('')[] + + $.each(columns, function (i, column) { + var $column = $('
    '); + $section.append($column); + + $.each(column, function (i, name) { + var $img = $(''); + $column.append($('
  • ').append($img)); + + name in $imageLists + ? $imageLists[name].push($img) + : $imageLists[name] = [$img]; + }); + }); + + $section.on('click', 'img', function () { + var $img = $(this), + name = $img.data('name'), + endState = !$img.hasClass('selected'), + offset = endState ? 1 : -1; + + $.each($imageLists[name], function (i, $img) { + var $column = $img.parent().parent(); + $img.toggleClass('selected', endState); + $column.attr('data-count', parseInt($column.attr('data-count'), 10) + offset); + }); + }); + + $section.find('.jsResetSection').on('click', function () { + // Also need to reset the indices after removing .selected + $section.find('ul').attr('data-count', 0); + }); +})(); + (function () { /** * Simon