From 8c794d73fa75fa2f3f985617a2b566974f3b29bf Mon Sep 17 00:00:00 2001 From: folkert4 Date: Fri, 27 Jan 2017 13:51:39 -0500 Subject: [PATCH] Added Espynn's keymap --- keyboards/planck/keymaps/espynn/Makefile | 63 ++++ .../planck/keymaps/espynn/keyboard-layout.jpg | Bin 0 -> 52908 bytes keyboards/planck/keymaps/espynn/keymap.c | 151 ++++++++++ keyboards/planck/keymaps/espynn/layout.json | 271 ++++++++++++++++++ keyboards/planck/keymaps/espynn/readme.md | 18 ++ 5 files changed, 503 insertions(+) create mode 100644 keyboards/planck/keymaps/espynn/Makefile create mode 100644 keyboards/planck/keymaps/espynn/keyboard-layout.jpg create mode 100644 keyboards/planck/keymaps/espynn/keymap.c create mode 100644 keyboards/planck/keymaps/espynn/layout.json create mode 100644 keyboards/planck/keymaps/espynn/readme.md diff --git a/keyboards/planck/keymaps/espynn/Makefile b/keyboards/planck/keymaps/espynn/Makefile new file mode 100644 index 0000000000..44a030ba38 --- /dev/null +++ b/keyboards/planck/keymaps/espynn/Makefile @@ -0,0 +1,63 @@ +#---------------------------------------------------------------------------- +# On command line: +# +# make all = Make software. +# +# make clean = Clean out built project files. +# +# make coff = Convert ELF to AVR COFF. +# +# make extcoff = Convert ELF to AVR Extended COFF. +# +# make program = Download the hex file to the device. +# Please customize your programmer settings(PROGRAM_CMD) +# +# make teensy = Download the hex file to the device, using teensy_loader_cli. +# (must have teensy_loader_cli installed). +# +# make dfu = Download the hex file to the device, using dfu-programmer (must +# have dfu-programmer installed). +# +# make flip = Download the hex file to the device, using Atmel FLIP (must +# have Atmel FLIP installed). +# +# make dfu-ee = Download the eeprom file to the device, using dfu-programmer +# (must have dfu-programmer installed). +# +# make flip-ee = Download the eeprom file to the device, using Atmel FLIP +# (must have Atmel FLIP installed). +# +# make debug = Start either simulavr or avarice as specified for debugging, +# with avr-gdb or avr-insight as the front end for debugging. +# +# make filename.s = Just compile filename.c into the assembler code only. +# +# make filename.i = Create a preprocessed source file for use in submitting +# bug reports to the GCC project. +# +# To rebuild project do "make clean" then "make all". +#---------------------------------------------------------------------------- + +# Build Options +# change to "no" to disable the options, or define them in the makefile.mk in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/planck/keymaps/espynn/keyboard-layout.jpg b/keyboards/planck/keymaps/espynn/keyboard-layout.jpg new file mode 100644 index 0000000000000000000000000000000000000000..55e5396bfde7346da254bac1c926a9abe205a05b GIT binary patch literal 52908 zcmex=N4?hnVHy<}AC$AtcAHRTrpa2(-kg$+|Fu#C+0LTzVkWOY64i**;0d7ui0g}Q0 z0}O&33~!j`Ff%GKFbOg;3o`yc!XVGUz{tu71`JTZ$i&RT%Er#Y$;JKu2*XwZ1|~*k zW+oP9R#p}k1_s7jMkZzk7C}}aMMFn6;lM<8r9u&-#)%6#l$|yn6b-ugLB%+!sELzH zOk6@zN>xo=LsQGd)Xdz%(#qMz)y>_*(j7{Xt-7LX_Cexk35C{4AXMXoV&BafA(UJMdh~Q zztbcCGb~*8{v-RJ%=+!7dH*zb|LIM+S$9@m$W%Jw{hB(XKi<>srSi+n^KYA6G_Qs2 z^1*|@LjE&+I6Ys~{>6qGum24DY7GA~oDj9UWZQJ+!oNFL?O&wt`OmN~`cLNL=qnrS zA1&YgpJAW$pKSeqlKGG3{}uhu&>8>zc$@uCrv4wP`@8DDg#S~mzi%h;pWz9Y?UHKN znQKhfy32nuj;p`F(*D>y)3wg>pA2LEGu$`&&(NDJe>3~h^x%)xkHY_ceAxfbVV(H# zIFXOb583l()eDM0YVWY|UjCy%%03MZQ2DRpAN}}f>%e)ChXq6 z^1Q%i+lcJ&9nX)L+kZc^|FNIc)o1ok5_bG&*r)oRLF!XIRe|HJ9~qV0dK z$#>R&KMxL|Ou2(;rOe^;ng6L>xBn^rC-ZSAh&_G&_cQY!$1MM2^!;f3FCBZK{|xWv z^VEN0b*%nvTH|$jZOXoVKhA$NlCB8ZGpRC8s45&jyQE(gIOZ1Tu02Ya;(MEIR$s{6B;4{C^IM=d#YcS)UbGe4C8=lsWt!v751^B>{ zo3`{ycKW|x@_%yvGgv(|^>3Ij^d;lMtNC(uYLT6t9&;ajc+(XvdHm#ZxdU@#(%JTW z_;LD?<&PQm=`0^vvL87n|7YOju2}r0c`keT)MwoJU+Z&zyT7Y{KFz**^S?;uS&C`Z z-*10SKL73gKO6fWSLJiARcD|6&rr+%&pgI#>IeBpc^mp}#UG#FIlYNVDBQcAPpR#I z#m_GfZ!|Z~NeO-bBkg`q{FkUYby%jbybw7z{I==*U;OL;ezE^?SN+!4`M)H@|NV~t zAbPs~uz5|=e}+XDKbrsh@nQde28H1EH%~uKDEV>uqcKE8`^9s|v{L!(Yt`8={I3Mp zU0+*&p|;-ZS^dK~`;7SNAC}a3|7X}=C;p$|X>Dp&Jx86!i_KfOKfXU!_$pwLwcf!PTCntPxdyw(GBXaKj+ok(|@oN5OXyjsjxBWkZW5WFp2HJ<~ zZMdZ!cYb>8Mw{!Yx92Oj*@c-9d)H~#k4_rEyJKQH-r z;o9$4LgD8B8F-$4?ElxTf29BS$A|I%!Y}@3;CYTJa<1vjOZzRQ>wo^4@lXAaX8o3} z^MC%F|L>Rm!WL>rvIyonP0R2N6>$U%xt^q?*G{SGdzs*ek^N$d_Mah`;|3rvmd2xeRS6R z@PxhZHZRHEl{c&BTEUY$GgLNhZCpH4z?k>p)vjEHynAau$t#g;myf|@oMsLWz3w(Fa6uao0kNtP?nytS5`|bZ3 zxC*Y6_SCP~WA`ulKSOKL{txHmCH$2i>mQl_`}4#6f8m$@GaR-6r;O7d)&KqZ5e@Um z`nR&t|0+P`=}Y@VbM(LF|9n{bpP_!qe+I56`ybA+GpxUu{$uKYhPpkv{~1pGivN)= z-!uP9RGnJ=eK~Lvk$ItWZui?+JD+C;n@B7CvSLt@}N1lH++docQDBoV9 zSsJ0Rb?3Hg&+T7qJo9a$yYOub{v91tFC4%6{ZG4z)0yuN%U3@BXREjW{ge5BLTzGS zS;)Vb9{>GQ{Kxesm;MR<3AvW$UH0QY!{f|S$&eEtGOg0u^Rs3!mrvU+7PM=Ddhch; zC%i|l9sgsz|JeLry7PtW-}iI>XZW=n#{M6%ARYHx|1OJ{?Di5@5|~> zE54A5KiJ}^J~xl{b%s}XL|fU!=a`h_rZq5|NZ%4{eK4S7ylVr z**_iz1<-nEEPkJR^Hdi60=PHV>p+4;@u zpL}???N{p3tyk}!+s-JT?J@72q_TGk&uq`mxu@q$x!q>DNGyF{eWrQp{D1!$?0*FQ zUG#5r|L=_d41atJzQwcD8E2VoydUwW_{UV!J*VU>?M^-{xwm{F%IE(mG$o*{%3exdQ85- zUb<5Kar}|_f7rpHxw`jb<&XXk)ecwoDV_i59sMzF=EDJVY->;B#mZ)PyOw@yD0`Q8{+|f@vCHTG z=yrO7bS}7aUv7GNeB1qhYCG=#2#}Yqf3fwC z*MElna^R3K|0ntRaU`f5zW!1B-=80_a@g8_OZW}4D)Z_KT-cN^zeU%!?vIX&7y}NouS%6?I_zn zx&IkJVvwd);JKzV@5{E7XKRqH~r7>X!Y5z{!RDAOfoKR^}ogZ zD0jw;DV_K3AD*O{lP<3|r<$ptaE{c2+mGCj9Q)B@pZ4{-u6yUv{y!?bkLGWj18xa* z*WL@iZFlkaym?{pmQXGCQ;=m>pFi9GCscnbDE`Cif4u+CAR3pw^pEI|^=lSyoBr`X z!=uy(EiF?o-99{VMGkZSd_UO^3&~@yasL_GYJS}O&)~ZIQTgAG59|MhUp&`z=Dp48 z_doya`pLic=?$N&OaC+U{b%?XdZ_-eT}{q^hDEnO8vpwXsr1^vRsFb9^(Xts zOn9XR%2V%d-@88De)*4!-TQz3oBh%BVEtj6KNOWR4iZRjt z`2LvZiUW&6wq5UdP5Y zKYE*W+&?-bLr=`OHFMJu9v+Qb4hO!hSN{?JXm!7Qh1U5a;k#JM$`3vI?6<#3ZQ|m- zZ|7b`M^EkT0X<~rLf6j z*Ob(y3I6A*{(Y#|diIaguwJkxB5C7FJLBdSmGyrbO!{W3|GXZ%CaUe~``M}Q&5h3OPAG05ws{7n8dHX-Zn%K4f8I=A_yuwv#C!$i7-d|(+=)L%>d5jnK zSf>})=FF3-UcI{FpW_TRs29hVoi_WCRFS^bQ8CHpWQyW#ePzQh$0D}JKIH!?^2Pr*dvyJarE9}WdZj!i zv{tCjn8Uzc95KbJ>(hI&f0zF=Z2r&CY{GqB@YQ_r8g<*P4Pmpab<=J=Dp-1G(njTJ zxjRpCaUQT>Us~lie?`QrYht&S%`6waI`@gEjqs6!lOk>~tyxmaBH+ppv3{a`mi)5$|-Rmd*xBCBiEI$_iTfD~iKf@xu42Hkc?VohjNd0HnSbo_4m(s1> zf9(&~DPQ@gU$Op})b9I^5ATWxO>|qaUuf&>{EZ!N7UnK?iTKa3`AM($G+pI6Po_CH z@H76_t3N67!}LEx()+ghFRoi_%N^u2f1CfLC{O9aFvU};owJbMdxBU!QWb>wHn(Mb+ZV3xE3ouBkd|Pk4<;Uj*u`##e%v<*O zv$uZbUh!tlo^aDW%sxA2dD`qaz?59H;+@l)^-M=@Pia?dRFIn;DX0IRVWNNZe})aE z=l^wOU0>5L{-5E*^0ogNZdg74&){mxP$T<0rT#46e}+wGAI|@~WBtlK0`JAvuke)K zWR-C}XU%dJfr|;v@jCx*%71p=|7LSV`hSKz?bq^c_Mgn`|28lG&v0?W1@?Ir>W8<- zN&WDwe009c>e$MMt8>HsHx;ks@1Cb{W%1lt=XX11y;7BO+AYejy045)!Gl5a8-J73 z)@NHk9CzEhZ{MU}F}?!3v#0HhZtnj_PhMG z%;S%%eA_g(HbaxmCzW)H6+RmzrW9)AJU@N%_B`#28O$9&HvVT&h_(KANc%s-BDMA1 z`=2Y;e|M|@ZW*8P2h=syoBN+3QS?8P(j7wz%p+gbi$)_(@S z5AWw(zy43-@>?N`t*`froY`c%X-nF#i&5332_E`V(+&yx3zXj#qHl!-sQhbxVEKzkDSN7y(=_%(!@FZler{zeDiPl&+v)$O8pz9 z`@fW=-o9X5ar9#3#0e8P!;XdDc&z+sc{uw=_D7p587yfcTijUsYziPw0u%hhTvtKuDOumPQef;Bm%|>H&+txt+ znakYX7922Un3Nm1WA1_L=j%7_|8rgbx6VDa{|vXQejh(1|4H-3{BL~Q{xe+kc94@@ zc)EP~zl&$t|EM31oVv`6`7r1DthdEWB2*{6*)#8+_rzQ!lZ_ib$6cLyD^=-X$IW<` zz_`%$HPu$`9e+F*zTD68r*M7b57)>25m&!lUfLaHV1f zpTQ;OB6`M_C!~O(>{3PXBeta<^^e^%y!_?$?bEqp?;e)iJbt7%Pj=Hcd>@4QI6CheIz$>N=- zuj>+xC{4T2o)ZjD*&Nn~F5p2g4$w=3JvH(F8IELL$PMVjomu~g4j|OyC#J&RR3o{E>NzozQAt%;rF3S75WE%<+rO} zE!B0)j@WE^Y~hMK@jjOfbq=4~S*e=JGGX`KjsP~_lF;VI@sgSIm@m3_l&;R+etFU( ziM-{FqSMY<%IMG6ix3nN;@)sFaB>fm)601VmreVHU+ojWym03%Uoj22Pj5r(&P+PR zt;4uI<&<#t1aZb#qoM-=Y;OzY#q6JOFR#DhTK~o6>h0@-ACvz%>?;4;68@jT#n(Yz zy#Acie};EG{~6vD?d$reWA*g@q3plbhxZl7$NyODzs2Lx^>tr@jZSrJ1alqFNfcsN-OgrLmCWVNJIUe%yQ6E;kL;sW6AT5;DTtLMxNb?tTub@uh5TOH&AKU)8DJMy1lLy7z^v#g)i-^~9r%zFHv zA$9hV`@i$!BmVgPXPCIr{*5gAzusB<{Qma-XLz>bKf}$mkLLewUtqs5&-TOf?mh9V zD%hPqyq$aY>!ym#ck9+Z{?WdsA~2jcYf-$hPw%aV4QY%jw-y&#H?G>n-({*@e@pzI zz*_r&>+iN|`#Kz7q4H0~T&(cL{-k1#-z<|QLys)7xog7UairhQ$tU^lA4O0i?F1## z{J$bw*E_I^c0Q69d$~{QN(rygFYcMDAH^1xoDLRR88XFD=Vr|Y#j-<(6@({Q9P_xn zfN7u0-xdEEo^;iuf-3wY_kSrp+qWB|rLchcTg-okNtz$B{~f*0^Pk~Gch-xYTjyx7;(y4F#b*RCz)Wj{VSv&wC%wmlVN&aWJD0cO$+2n_{+|E}`d(*u)e$qGnJ>%V1Nt^5Wb|I~bVTXmp z1&?*NG8E2RGK=B!j(0VwOKZxnDqq6v@}s%$n%HVs=$#~jKlQPd6cqe-^L%w{~45%K~0(ZztX%6#qw-5f{&~9+rxjo z+g!RTV^-hBMF(}aEtWqL8-L{8tBaMr2HUSH2}GXqlyTX_xT9ynVyj(z3m;`Z{Gqza z|IypPhgWqjY5#UsnzDDo%c4`Mb5DF$$vwrvy6w42Q-S-I>xLhdk6*LrwNWj6bl2Ja z%GQv!>gPk&+wvi z^`rMcPsIPdIREdt@LTrCh0(|IKTq`ky*U5xxd!u#^+Jc&#r{#-e|eAfbJMT?8M;h< zyY%T+y>~U%>Cag!xo=C@yt@%X+{cz~sFJ#T#m4s0dX^vThYWa=Lod8r{LyTdskFwP z@Y+X=1!{YHd3;x7ap*1S&OCQOS<<>PrtPhr@PCFA;(`AeHgwm&=*Zr_fS-HA$K{9r zMt|#`emG9{$IfRJ{XUaIu9;M?7i&_9SD3na`z4#RJAF@T-{ENH-Cc9i=%MYUo%K>R zJ|E%_zc~D3b?7YSC!S>|^OFn9Rmwg-t~obBd6Uadh7$)gRCu0T^L>8Yzin38>ZKX8 z`c|*J6_@QV6>;3Id4-$WeJz*XoeQ~Eq)aotcSJ9y*g^Iyfi{Yq=?5;~eJoenZ$8fd zvF1#Q`^w#QAC>--<=oVv&NW6F6Z zr~eEeW*(g4ro#VY`Io+DbNyR6ZSX!1pGGj>VatfL|f;TWx<>zDSaf7Jcg{m7p)gDR#UpZ1?YRCkZn^?fqCFTR_4&)4kQxrgiDDMBiZMGQ;E3JcA5cJ3UpjME6Zy)F8A8 ztp#+fCichV^*>zS?6H4v){1*?d7!gOT?yL*rS}mRgBW$}O8VY0gv}D++GKrVq2=>E z{2#TC#p!+6-|;10_T{vTSpqN3Hytm|Psyn{ulb~@q&m5<_^HTL4xa5o+C3B8EE#@w ze>?G?VU{eYem!jeyD&cDk0Gdj{m<}5*8X2_+djX)o9v&p*WXP0aQ@$&@T>Rvcn%-A zEM4M0C3Cu5)NawBdnpzy4IYy3o4+jJk6Oq7*uL$L_alCG?tYfrN6kA;s&{Oa)l4aM z%?#Ig71_aD66CdK;7+d6-L2JI8ef<&KCZGq#Or?eKZB5srE2R2JITu?yCauR@Mx&dxD|amQ!d!L zvtk`{9<%%oNrkuPHwDJ!e*FE|Z0-mB1GvF8=Tb_4eHV9n$^Jut;&;y**{OANjY{3I8#Cpnr$`hb{laDvFQyS1*n^ zzdCZwcHPByetyfgQ1O_!&r>l%@VreCyBEXf{|vXd58Qg+QB(h5zR;~7+{fkAFO|%e z4ZHQpp8dx{6YC$Tb8bs?&bWWm*v%y<)n!R~rd9#Rm;VfHD|O;{F28;HVSnczn*@HL z8x_;TeEkDmc?vGwS$g&Q?Aq78*t7MsyyPmW_>#DyqB&%?W3HdIb;LBmhW&Y4 zZk286^P0KjNWG5!IR@K9`wBm%zj?l<;`EVtks43cd%Kt4e|4*M>9JOkIQ6~TFMYL0 z+PK}V?bE4y4-+R@s(30D>r|hT<72vhvCw0(%Vf8QSFadtc;P6U`Gs-r!{a+9AO4kn z_eHwfoLjEXGLJsa-(+@hMzN$u+21=WmHV{aHvB1Em0hLYVp-{e}i}!{r+Nb+`YNUf+|d+jm#)`=MWXb6L;N zYOg&K9-gn1bM9g5G~-DI&L$J{EFk|)>q)#vp8TzLOmhEUwwVdMsOgsH%lkJ>;32s_?dCcpQ6)Y?6Oel90V|&2w zv46v+t2uclXT7dj&-UIikMrTga+Qf26sI=6;!p_}{Gfi&Jf44__=|tiSGIiHawSRV zWYwma+C}bDmn83edgu1JyNj*+8Tf9j``5*wjW)=$YQMBi<@yTlL!H$RJrd?e?3kkx z=(+r4or~7erBkAh>!==TFc+I<8c-B5L3HJh&C&jXKiCi7Im-ZcI>;*__XW`k8RQ`)f6qsMqYujSnD%Bn3;f-=bw=)@%#xp9`Ss6u zh|bM7-9&DIop zyznw%<&SpDGF8uK%?#Vsw`NU~boF#j>88VF5t|-!Prkn5 zmarHm#ZaTlzo4*+S6p;-mb(+t;t&r#w^o$cLHJg=CHH>^Npn zb8_>Y{|v@o*H5WWuK&5t{#)c8-~SBTzA%38Z?S(8e9``mENHr7+Sb>H_SAoD4*8L~ z@JFid*ZDjz!%jbZxKiZW!l_TM#c5ps%XDJN3ZbH%xktPljwvNh+V?ouVCVL(2ih7_ zMGtLwl9JBWU~#`APUc$adBF;{-`<-)Ke$-qa{c=GXG%W}YTI7v{z&4k`Ly8BlRr0) zF)D9c)Wx8UF)*C{^1VRzcd4|M3p1_-x?Pt#``RVS!Rt6rp~)sQMwtnX?l$7=6FBS* z{#~j6TgS6u#-ORi_){o~3 zA2y3hiE3Gy^i5nlO)XN_xiV{@qkkKP@*R<>)+#Vsj)3k3UL z$MK7|>{Gi}V|ICe`s?!yCt26_gw4wNr}evbapt86M=g0Hjh6XYzn$Hs{`4{}+AV+2 zK+^87D}yLTC+*RmhSVvJGt1X8$bFU{rdGxyE?m8>sjQosfScDHaSJk>}O!$RQbTlQ1!I(_*=#Y zbK@V$ANKsCzUWp=jDP8>%pi|#-Ke%j~1Nx%JCqj~C|~urvjEoD5@VvaoerYsK)iM)bq+Lv{?4UOji{ z4x9JxtB~dU(%QV=VY@3XZ1nhdvD#!)3+s#)-YsJ4GS@?0MHr9N;2Z{CzoiaWLnVOy zmObZxh9}%B{xjTg-T%eK^!D{0{UdMrAMzizO+WTear@^rYqzGfPX6uhx8dX@i;%kC z0Xw&EmzmeAp}v6SW9<1u`#YobkM3uU{PFzohf1^XP2N)K-=@v4ZrdqkG^e z#A&mF-B6|>{)}qf+C>dqpZYuRe=<}5+q~dE!^O>E>yPI5TJays{9;`j@AOe`(XYE- z%2t)k=X({^b)?55O*b>w=)FvmlJkCR$AfF~J1(o9?@ZXyo5HC#J@1uD@5BZpAGgqk zRJ#QY?o|w*`ft9I4*OBR!lcz)Uh>Cb%OL+hJyGpTtM+ysn`qFnQo8>xOPSo(C-s|u zAF^Rx(VofppP}XaFV+kdca{?YtsH`^Wlo(Ipb|5K52&40ZyO13yqXYJ&2v%1}9E5EneR6o>j zsWbh!clr_Etm}twm3Ns&=N5ZkEtO;uGwOfy+uKt2R@sqEE!%l-*M)34wY0eH@cct6 zwegvc^ci2tiC_E@FEsP?%lXN(Pye<(e!4IxbaBDO9sybAWD8r4SK15zGqg^AaQ_$Q z`TqZFy{;#R{Kf?pw`=8+< zXc5TqjQ=MaTa$^j%=Tv|Y~TgYB7b*Nw8aAABpjq{p52PS%l? zF;=TuCnWYUH!&WRX>dRLpJB_H*X19SA3c4ftrhbl`bhAKyoGVs$|S!Z6czttQvT-a ze+Jjb5AXjI6|?_Swo|@aUaU^K#`{O%BmcJfynFH&Rcw#@ST?nEVRUqc`Ndakx8DYu z=oVYHY-p3XdZy=Gh`{V{olp<<)ZfN_+vYRb3Es2Xth&8*kF|BHq-xMLHjD2EOyAs! zoB1K%{o~&6M|7>jK89HBTWTB=d#rSA?i$r8$CU5n_$<4uDC+R{y0n{tTlO>mmU!`f z(lzEk@*l2ms~7r{zvzei5j&wvYqwahjxGCUYk&T?PBzDmhBKk5U9PSZBRM5%WDF9l z<$q+nzxn!K_wmE~|7hvd|9Hzl&A?t;6Lr}}{G*n(_g?#B(|4(@O+Zte>dfTqjHpwOPGx(#Pf3-x zRy?f1GQnx$g|F);*IB>*RetRAgY!RvzX$x-r{BI$bK}Qr3(J?B*e%70cv-nlme}*m74{$ExE&e$D;H{D!(r-&`lenc<_!)2WP*0g;Ciyhd zQTC`9^ZgoW^+WQE+>0Ns{AyBtc9Cbk%9Z>jg3HQW`U_$gcbc2sn9>q^JgeurH+pja z*^QYk+%bILU^f>%j|E@(lm6j*M4!Y~>61^rE2lj&{N}y%NcY^epB9`mo>%?gE7QI_ zEZO8DmYlhOKlfwW_J`ejnLR&zZ~b$A^UF@ z{hwi%@qdP$r@r{3$4900>kH~{CFXBAxn-{$Lq7L^hC>{s_M1Gn+h_hxxKj4GV)Omq z{pNXh@7vXE-q#(&zqy9_(OKcc*UYy??fG=*a%|J-k52*I`&OheQo)!G~d)chC&8%PVyuGQky>VV-%(svr|3nA5 zTD0cpsyy8~k&4A$7bYJIe8u+JV@u!FOPu)&JST>*brt40#T@c_erkG^+|uHB#Xr2) z-`KI9f1L5p@T`3Ef**~KR^OL-xxH%h8nKPK-_Bk$x+DBl^^9HAJGaCg9$fDjH@^DM zfZOYEp#wM z8e84{!|`KhMc1k6c48kzUP-SA-#WLg_JgbXo3mE8YB+wlSG+ni?Vi|&H}6DJrg}$6 zJigCxUHPN`qxpyDcg6Gl@%(W7;q=}u{^HsH^e?^JqMe<~9nkgXcI_&)mOFPOW=@kx z4mUEk3~>tu4L%VvWt`Y@tJX z3Yn2%87U!=q8BzCe(C5KnKmKi72D0!lpB|ISN=V8CitmQ zi;(DpjWXeZR4Y8>KWwUz{?FiO`Jdqf8z=(T&)AQd+Obr;%rEu}Rs23I)!zP9*Y4P- z%5{2gQ=3eFtDO97HI-#r0E6WDs2_(>hx_6>u@pJ$^?p2Eb?Z;*e})#*eZ2ncJ&8Xm zAI;{M%@VKj`FK9t=*Ih_Eyiu1p6s0Bbu=(y>ZfymcTZMb$9{F6;8l~o%2Cz5ncR{7 z>85LDbeym&b8ZXZRA^CN_&RzY-}Hy<4g0Ru80#$*j+-L1_i~napP=#6BfWN?WjuFo zb7@g}XC0EZhfDsJ`vabd&7~hFAG}p^fZynH@HK^vyIMES-Q;MkGI7Isty3H}fWoB;XBkR2ZfBWLC?o~^gN^^J2=rOzbcF#_yO_L;@6B`dR zS*+2G^Jji}PyEsz#Rt}v375b8UTjhzGQ*uIXF`s@`2?dsS|1n=FeHTc|7XD3Sn9=S zEX_q8Mcg;5JNQQ_f791q<43VycGb<;E`Lk6YPz{t+sz;oxvaYmr&V{W9V%bFlHu#? zcpbZC!r$8cZ`It4>u*2%u>OZ5-|}zax94xI-H>Hnxc^P{e}=+mZ*T8@etuf{_4vo& zMQaRy+#lp-yKVe&_rtqKxlYGCl3Vu#C(J(0lWV<{A^pBc)PY*(hxa?;+4txsE~|)k zx_(LGozkRgiI|wPrnjEgOlF^8GI>&r@dWqk&`-Rr5E!E$=MVEj`NOT-a=in7JYD{p?a?3Zz4l%| zR;TA$wk9}oyZmR!-rgIS`dP|hnOaTHY6j({*X$I21c!dqKm1-K9<)x3{eAt0l+EVb zwo6T2vN_sAVQSv;t_SgMOHS?#`1fSHlU?j72fNcBmu*d6|D)lRRJO;rm)RnW_spEm ztW_3bW+?pJc;Zd=)AKj(|I6k@;K757@T9iI?~zyYhVh-J36Goe{rY zygjAs9$RH<@y$R_+t$kZgSJVhAL#ru_3xQ3_`{CB!%lPW$7{38S9@%TI<);abA)e! z|CH$lKeKmAwmnqP-obV-!EVQ_`wzoAOYZZ}mrz^y?XS>9-LiwaUo^E?13vobp75R# zvA`~5_k{;SJJ;Q*@%)e>AvNX3e}?s-3VB}=(QTFG^=Lf=_dh!G+5R(J@T>pBxZ^*= zBkgDU=#3N1%7WpSbj(Nprmfv)m4o`D=W*|q`usLv|F_b^Y+-JF9w%;Dq?A3kF$g|q zP*?YNS$g#TMtO04!N{QJhwdrObuQ)lwt2((eH<$=3(c*k|M>q{_~HGd?T60`{xSHG z_&8Sl=&%0_-CuUE<+^v-z1YGYA(-|*sQ@`7_oUyg8Q+e z>_eDgyaijieC|I3@>s6uSNW!|t7VywFb7&bps%`@x;T#|-}1eDrPa+sb`b_S&;csT=QhbEF49Jz1(TwQJGF+fV2IE?2A7 zlfUKsfP2C3_+$R;FE{sa>YDn3Is?&?w{?U!c}nwqTCg)ZiCweylHd zH$HRY(GS0m{j%#`!Ra`uHvQ1`TXS^f_(EJozMYY___=-J!JmFbHq4lJNIUHFQN6QdZ*_Rv&vk0MFMW}ot9HZn>8@2BdFpew*Zi4p(EMWSr~eGF8G7xD zm`$y%PtUJp`MYrPw*_YAk01W7i2ocmK!F-wv+KJ@zqu|982(ySw+*{7kPE z+aaG^!G3g>di$FEoUN5lTbJ$n{5ZAAlUcJ@TwcLKVd3jn+AGjIJT-^*Z>fLt>6JuH z#gED+BjZQa3iZnBBKv8XZkMk6Q~KfGe}V*wXm%vAsmi+2RfJf2`Qb zck|KSe4hy?nGL&4ex5kwxu-<-Q+C4-*@th_9e)BU@$=Q$3xb6(eDctE>rMp9`MV$A10LQ@_hT&-cEsQ^+Wrr*OGOf7PuQRbf->mOVPA_;-G0rRrfvwZNz4dv5ML zcx%Io*qu4Q!nT?|dTsttDu#PzVF%;m%J)y_KabgeFs$sO{?WDx82lju3?zheV;e7KyL$CaY!}5&(8D32LWAdNj zklgt{*)Mi!FhBSIk=Wnxcb^zU^xU5K$MOgFx7%~?lmD^#5&z-+%o%nfAJv=I=$Crr zm1t|c5qok|`@{#I4XZjAPH;OBdhkF^kI`!WJy;f3Gq?RP{gD3f_>uSR_k@2me&jyz zOT630^Kmw}Zdmo&x>MF4^RBO&q$AKdwZ-6wN=T@~9yPy+jdqv+Gw>LGkl%j@;_~bA z=%eSg^@zvZk3VB z&+WOs`_4Yhzv=wIZubhc{{IYI{RhK^D|v0M|Jv5hx42j#XjPPF8k=X#G|BWLf0fB` z@u*|xYw9HaGn}~bpWz$d{QnGYhy5ND)}u!sXtYn_2mgNtm+cRi{}cFD|2W?Dq6hz6 zjKl%j7-{%H9w`j=buVhLi~Jb=ruu{MVX+M{{vYxm?!6NpG`o27A+v%_hHeRUuhU!Y zW<1)%^CRu*{!GE&CR@J8e^`J0(0_&xb9s&57Co51Rx?Id_6C_7(E)R zmLIDB$@I$pn_&K5LEf@2jGvePF*tsp{+H^0Ui%O2oBuONVfgs^#gYK_bMw(dEPL`t z`!`EJs2~0{In(>Y^n=s3Gl}eI4!C6EQF435cCmnqXBi@s3PK)EJSZdJTALq-x*n3@ z$Kwa??Q8y7o_-u@XM9+`C+SE1qt*ABUtX))ATBmZx9{xrO$QF2n)E2%u-sbn_%x=s zJO}>r6U@wUvS4UT6TWowEtmeKOB)yjDtjX7%W?r9c_dF5}G%@P9$+g4A&P_73sYdyS`-lGwkIpyj zQU53oS_I%PQ8D}2HL<8Q-|G}M`#MB#eYK>UMJeHsM3Rt})`Gy6lc&Yhw_vQd?7vz3 z&tv()^}oeyjQ=w%(p|AbwjJcVy8jH^byD>Y`P1D&T;%BerPswkY;pFiH~E|955Xmw z;Z-Yscz(F_Ao9@XE%6^(Zyw(nlG1P^M~3;Ju;cb`7Ib~^I=`b%Ytsj_ zrI||>9n9sxmX-G}utVKk@xvOmFYo$>eZ`ODZ$UqVAMtvYO#9*eVE4>3x}eP7$+x&v z?^0Kk=Q3WMb>2LicdAeFG`)sVc&)qqu>VhQ|9^&rm;V{QvQJ~%yXQYcYt=r9{|qf}GUsR22!ETu z@jpYl___ZK8-LE<|EWCp{KzV91LUfTwl%)1o2Q6uVC1XstBowLuxo;y{b%vjczP`4NFjQ64k)iU;*%-`JF zRo7p;=8x?U-zEF@Ts)r0dcIYM*Ertrf)>l2f#HNJ4~)Kzuf`*imw#V~gkeq9&W83wvLo(SxA`_B-ufcQeb1QNjT z0^s;Q?HbJw;s^gTF#TBn$o;TBYet>mNAsqf{L+YZCDIme#9rLgKJo4I8m&bcse+q~ zENtxDu7xIkPp#?1T-H~(pL3tk59UYD8*MZ{%0G&4Ht`q#G5gpzv#2fK>l8Ni{fRdH zw4^(q>&%)BhXp1E1~T=i`9*A&5AnZo{aeoD$jOI0ALO^3U41lf`=ki{<~O{D9L|Jz zC7*lH+Q_)E$xVAM`sS>?uMe<2^6#h@RJ*dsBY)rBWQi{2efFDlH++(@WSEw7BC^12 z;ubLmYlh18=w%48RYcajjlV_ya9lE3y*H#rnHjzJ6?uO= z3o{EPDwbV(r##W$Em%dN|HQ=ti>H6v>X2WB#rGp8Q($Kf|Q>CI1<29AEjL;id1}n*GQHihjaiXjGWLS^h!$ z@U6+2o*!o8ZB#g}U;7$udzD<|2jieCU*ETzeX3~t`F{PEv%wJ;mhPVL%zNSTSK(%! z#uFU$Ugxbl!eDNAK=kFUnoJR$6&5=FFSJkDr=K>Ten6_F>5(e?u{whX9iRU*D2pw8 zb>QFB*J1`+1g4~iscxRiWzFy8nyugBU3_}$qWQPYe_m9a{8uY}&W_VH&u2ZW<4XP~ zJ${TidPwr=etC%jK0H7An8d=cqrid{O-ktK0t>Ty?`gKJU=4(SGnZ{D@WQ67%q| zuxB2L^PDE`e!?Kxpu#iHgKZ6RcO{Eo_D9kCqxbl)?lE8fsxb3<__wzr;zhTmTiX1% zcDu-OH#nSXkLi27HYxCV*nW{ZwfnCGE8_h>{AXxS`50s&)izP(x?r!J%;!R#gAtXw z%};l&G?HWbvnl6`Kj)84{KAff`L>H+-r6_kk*v4x)W%8IoQyb>+j|>SRb&jlC{C%Y z?LQdbU6p%w-`3QR(T6l2vCKce`&#tD>1xmZnAx0I{-2?9-nEVfrUi`2w{|nV6@4{N z^uyZat!tL{>Z$JCzjyLmskViM{dS*<81#NTU|`@{%+uVbflxgNjOe)xLF_R8)4sY-{dR8HPL(#Ms{thL6k zFs^yU;mX40cW%G@o}FE)qc_3tUnN;mH%JExkR_*eHWDe^Y|)(uB9m~Uz;AN|kpN%M96 zH@=O$Ez~8(db;t>I_285Dx0U~8l>eQU&-0(*?a|ug56Azx9skd;q2xcq zFEc5IuT@X>Y5iCq^TEGyE5A@hxofW9w;P963p9DQczjxA^H#>;q>{^;OGfHv4suAG zbB~VLr+=Z8Uoc~B;*yH4_s;wJGS=m;&)t_h$?aj&iJ43hv!&yV+@7kW$OteVt&#lE zy{_Vwub=gPkqYypw{j;PN&Lv(dVV6apLb`j+UDxnoe9%yR~20nIQUC5Nc-~ZrVsLm z?+a$ssbBq5`nX=?<*e%+rq$NDmiN6b&i2{TcaMGI1&(=@PtwnvpO)!yj3M;7?OO)a z?PQ1@9NKT?yX8NzUf%ykY5y;!tRK7o6^Z|6C`td%P&|e4TR%!S=j)Lg)cs=D^Bv@3 zKN=sk7gqYw{?NYtK40m2o{Ue~v+9d$)rFv|INYvI{t5gc^-cHzli&H0Z-;2ky z?*GVq^f&#;w^`?AKB~^P*m|BfYg49F^NsfC%scKfD^0wfY|=hzk`u65H0kutjXR$H zas5&LIA7q$>BDtaANYGqY}tb@=<2_TH0@=|4dQ&X%V64}qvbg#P9?<1p0P_ln)k=< zgLQ?v-+u93yR&X>+gh);a@GAAEK1eWx%R6h%-1t@=@l(E<}Z^zb}zPbE%v#rj$ebW3^Qwbtvb?X)Sw%*(i@8mlt9RKj^QbwGtMMlD_l_J49 z8*g(zHlO;WsjK;~^qCum&(fc*PolyuRJ5&NReLMlQPw73Dw$jEa{bY~TJFe=SCY5x zm~^gu%MQu9g2v6Wxv!AV|;)DH>`JJ17I6pkz_ec5BTCMAjxnA!cyIfV= zSD|NjVdEleXJxIXrF|SHl@%WC%I~aW`_ItY`LOWe{b{$yFzEqq=nm;a~g?$N@{ zc~5`e3%m2Y_vXQ4JZ~TJ-WOE<`2Jh_uf3vQ`ZrbDmiuk`Is1G4=HA`a&uv#QFGlUA z?XE)GI<|rtW$zg3LPVsp=S_Xvtz|QpW`s}5n$^2@mjCMRidm0RdpxzB#jXS$N$pRt zG?^V3p6Vtv`)Sv1Tej6%az%WE!-uv%H#ZY(X^fSB`S)eu0P!V@9;;( zOX)4%GEE**k2n`k6|8GwC(+rz7`=Zt(|VX2V?&;#Gc)-VY$`C-b{_-t24L$ zQ2Tn@#rHvN-uol_crW~Mt(OVB^Qx+L@14~gilX-nj%cV%Fse9dx-;^g>_y!@rVBFf z$!#jHFgYEuRymXZ%&9IB;rB-~F1mUKcg_12{*@bM zFT9pVUd|YP@;=JehYQc`ZeOa=U6lPxy!orI*S)me7j@shTa(uIDniQKfHk3JTkMNd z1t)&GJyv)S9vvws06J^I`V(>2L3kOCA^fbREmeX9m%ue>6WXTlsh` zf7q3;)zuNH8$R-_U2;r!;#42A?M2SgvS*GLhOl-VP`6+xj9prp-cTo96YxQ7Z!Pck zBmUg6KivK^L|-ZGG7iHN-*zsUaZKNB;nSLR{~4;^+*xsq(Yk?sB}R8_>uY7y zHj0BhdmWxrEv}zL+mw17Wi-Zw@zs|=SB9_+yXSoppY+&g=f;#-9!JV~CDTKbSej3l zNk=doRx#taBl3jXboN5KJ>NFZ7g)OKoW7ozU|uWZHlYnI8}$A&81`qX+srH2Uy>QX z&iqmDo2>KUTcu|>t(JdV*e`thBzJ1^T>sMwygkj$Jq8C^nmB)4M>G$nehWXcJ9Dj# z?Q&PLDX8xOh(M-&?C5I&xW@V>qd<@+TX)Z^VE)+Ok`F_3CKp$o1>j zC2ilny?5!X%oruNE~7JNDi|0%)f=>X(KbwN5527Ob*<57_bW+8x8e_~Zh0ZGGUKk- zh7$)RSw8V)Fh9-jkr&&tzgtehj{EXImBUMaNL_n$OEdnEoYLl0JHD4L<@u#)og)cU6CZ@sH@E2CUKcqLHm965LPA zKGNfv$iMgdWi5|5`A74%KGJWRr@{@|wf0I*>Vxi^Z^zv~PKjz;Sk5;kpjmg?;(VJ= z$D%^Q1kP`9i)c;Z5wF{RSikN2d~s7={^RouFRVB5XZTU}()n4^=uDzUhQoivso42=bgirl<-pBp$TZbh3pE7?EuZbpu`ecjmTwfhI zDM{t+@B4=u>m8%^w|EyHFa6s7yE;hSZ({$gXQw$G&Y!DXT@R4~?6j z>Q1tMa{>e`P9~8$)C-)|F_MrFD?H9d$tG(l&7w&A-_36}NKZdfqyjrq^e zy0!X0gVP!L9|rb+vNmdbsnR}Y|1dZ1Kf{I1?EiT9|1(G}{wH?z{aPv+N9?X#E(|*Z0gjjQC)xT zVHI1o=Z(g6)sDCR#_osn{|e^D$6i0ae{;;G=o+RUf#n>*s@q$(a9%KX zI+@ALP`gR{-hYONx$)&6piXSCmFxQ4|06nl{}-Ku{~4N@|1%r|&5j~_qrp~glMU** z7NBG3ZteZgurQ7PkA(a`(~z(Io#wapO)X!_%f($-$$j9`-!&&fBN86gY(06<_675k z^?180KhcJQ<9#aXV|ILaw#qcRI^rGwqz@*3PmR`uJTYKr*RYoR!uU=kd`|r#WCyta z(OrH2msrAohJ%g&86Jl)zW72=$wHJ9D&kQNs965dy=UE@;QZWdy_uqO%05^AXV7^T zbav~MdaehF{p+)SCL;=tN{xwII31E^h_wKShMQjl`ijH^~FA~4u$v0;LWEr}m%WqPR&NYRV6&yENIe_yhN&y>||}Ot%xd{=8r>v+a^M z4&P2L{+2zR*6#>>`F;AW-t{dC(QCb2ro9SYX)P%kp!Bup0jrG0 z0ZDa9mD&4IJsH5h_+lLB6kQ~rqJ={MJ7^~{(oqlV(YyWYHhxt59e!!umxT)*^Yj%f zq~f>E)E$1HFC&ycyErNaNY7fQ(|rITRUya<7B*(%C%TK1U!eT*&Ukwgoaz zKhI&{7T}%h{>bW&+l4K=e_M0BeWS)%&)qrmmczvfJ6Xl^`HHNbUuv*R`Oh$?^*_U1 z$^Q&@p4R$Gbo^2I7&�=tNZOs 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.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _CUSTOM); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _CUSTOM); + } + break; + case _LOWER: // Lowered layer. + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _CUSTOM); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _CUSTOM); + } + break; + case _BL: // Backlight + if (record->event.pressed) { + register_code(KC_RSFT); +#ifdef BACKLIGHT_ENABLE + backlight_step(); +#endif + } else { + unregister_code(KC_RSFT); + } + break; + case _CUS0: // enter your mobile# here + return MACRODOWN(T(9), T(9), T(9), T(MINS),T(9), T(9), T(9), T(MINS),T(9), T(9), T(9), T(9),END); + case _CUS1: // signature line for email + return MACRODOWN(T(ENT), T(ENT), T(MINS), T(J), T(W), END); + case _CUS2: // Custom macro 2 + return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_L), UP(KC_LSFT), END ); + case _CUS3: // custom macro 3 + return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_F), UP(KC_LSFT), END ); + case _CUS4: // custom macro 4 + return MACRODOWN( DOWN(KC_LSFT), TYPE(KC_I), UP(KC_LSFT), END ); + case _CUS5: // Enter your email here + return MACRODOWN( TYPE(KC_F), + DOWN(KC_LSFT), TYPE(KC_2), UP(KC_LSFT), + TYPE(KC_G), TYPE(KC_M), TYPE(KC_A), TYPE(KC_I), TYPE(KC_L), TYPE(KC_DOT), TYPE(KC_C), TYPE(KC_O), TYPE(KC_M), END ); + case _CUT: //cut macro + return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_X), UP(KC_LCTL), END ); + case _COPY: // copy macro + return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_C), UP(KC_LCTL), END ); + case _PASTE: // paste macro + return MACRODOWN( DOWN(KC_LCTL), TYPE(KC_V), UP(KC_LCTL), END ); + }; + return MACRO_NONE; +} \ No newline at end of file diff --git a/keyboards/planck/keymaps/espynn/layout.json b/keyboards/planck/keymaps/espynn/layout.json new file mode 100644 index 0000000000..38ccc34529 --- /dev/null +++ b/keyboards/planck/keymaps/espynn/layout.json @@ -0,0 +1,271 @@ +[ + { + "backcolor": "#858585", + "name": "Planck 40%", + "author": "James Folkert", + "background": { + "name": "Aluminium brushed", + "style": "background-image: url('/bg/metal/aluminum_texture1642.jpg');" + }, + "switchMount": "cherry", + "switchBrand": "cherry", + "switchType": "MX1A-A1xx", + "pcb": true, + "plate": true + }, + [ + { + "fa": [ + 2, + 2, + 0, + 2 + ] + }, + "F1\n1\n\n!\n\n\n\n\n\n", + "F2\n2\n\n@\n\n\n\n\n\nQ", + "F3\n3\n\n#\n\n\n\n\n\nW", + "F4\n4\n\n$\n\n\n\n\n\nE", + "F5\n5\n\n%\n\n\n\n\n\nR", + "F6\n6\n\n^\n\n\n\n\n\nT", + "F7\n6\n\n&\n\n\n\n\n\nY", + "F8\n8\n\n*\nMacro4\n\n\n\n\nU", + "F9\n9\n\n(\n\n\n\n\n\nI", + { + "fa": [ + 0, + 0, + 0, + 2 + ] + }, + "F10\n0\n\n)\n\n\n\n\n\nO", + { + "fa": [ + 2, + 2, + 0, + 2 + ] + }, + "F11\n-\n\n_\n\n\n\n\n\nP", + "F12\n=\n\n+\n\n\n\n\n\n" + ], + [ + { + "a": 7, + "f": 3 + }, + "", + { + "f": 3 + }, + "A", + { + "f": 3 + }, + "S", + { + "f": 3 + }, + "D", + { + "t": "#ff0000", + "a": 4, + "f": 3 + }, + "\n(\n\n\n\n\n\n\n\nF", + { + "t": "#000000", + "f": 3 + }, + "\n)\n\n\n\n\n\n\n\nG", + { + "f": 3 + }, + "\n{\n\n\nMacro0\n\n\n\n\nH", + { + "t": "#ff0000", + "f": 3 + }, + "\n}\n\n\nMacro3\n\n\n\n\nJ", + { + "t": "#000000", + "f": 3 + }, + "{\n\n\n\n\n\n\n\n\nK", + { + "f": 3 + }, + "{\n\n\n\n\n\n\n\n\nL", + { + "fa": [ + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 2 + ] + }, + "\\\n\n|\n\n\n\n\n:\n\n;", + { + "a": 7, + "fa": [ + 9 + ] + }, + "" + ], + [ + { + "f": 3 + }, + "Shift", + { + "f": 3 + }, + "Z", + { + "f": 3 + }, + "X\n\n\n\nCut", + { + "f": 3 + }, + "C\n\n\n\nCopy", + { + "a": 4, + "fa": [ + 2, + 2, + 2, + 2 + ] + }, + "\\\n[\n|\n{\nPaste\n\n\n\n\nV", + "|\n]\n\n}\nMacro1\n\n\n\n\nB", + "`\n'\n~\n\"\nMacro5\n\n\n\n\nN", + "~\n\"\n\n\nMacro2\n\n\n\n\nM", + { + "fa": [ + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 1 + ] + }, + "[\n\n{\n\n\n\n\n<\n\n,", + "[\n\n{\n\n\n\n\n\n\n.", + { + "a": 6 + }, + "\n\n?\n\n\n\n\n\n/", + { + "a": 4, + "fa": [ + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 1, + 9, + 0 + ] + }, + "\n\n\nShift\n\n\n\n\n\n\nShift" + ], + [ + { + "a": 7, + "f": 3 + }, + "Ctrl\n\n\n\nBLight", + { + "a": 4, + "fa": [ + 2, + 1, + 2, + 0, + 0, + 0, + 0, + 1, + 9, + 9 + ] + }, + "\nZNorm\n\n\nRESET\n\n\n\n\n", + { + "fa": [ + 2, + 1, + 2, + 0, + 0, + 0, + 0, + 1, + 9, + 6 + ] + }, + "\nZIn\n\n\n\n\n\n\n\n", + { + "fa": [ + 2, + 1, + 2, + 0, + 0, + 0, + 0, + 1, + 9, + 9 + ] + }, + "\nZOut\n\n\n\n\n\n\n\n", + { + "a": 7, + "fa": [ + 9 + ] + }, + "⇓", + { + "a": 4, + "fa": [ + 9, + 5, + 5 + ], + "w": 2 + }, + "\n\n", + { + "a": 7 + }, + "⇑", + { + "a": 4, + "fa": [ + 2 + ] + }, + "\n\n\n\n\n\n\n\n\n←", + "\n\n\n\n\n\n\n\n\n↓", + "\n\n\n\n\n\n\n\n\n↑", + "\n\n\n\n\n\n\n\n\n→" + ] +] \ No newline at end of file diff --git a/keyboards/planck/keymaps/espynn/readme.md b/keyboards/planck/keymaps/espynn/readme.md new file mode 100644 index 0000000000..8882f46011 --- /dev/null +++ b/keyboards/planck/keymaps/espynn/readme.md @@ -0,0 +1,18 @@ +# Espynn's keymap for Planck Ortholinear 40% Mechanical Keyboard +Created by James Folkert: https://twitter.com/trekloFsemaJ +Added several custom functions to the keymap from the "ab" map. Special thanks to "mollat" for demonstration of macros in their keymap.c + + +![Layout](keyboard-layout.png "Practical Keymap") + + +* Online keyboard layout editor: http://www.keyboard-layout-editor.com/ +* [JSON of raw layout] (layout.json "JSON of raw layout") + +# Notes +* Simultaneous RAISE+LOWER enters CUSTOM layer. Several custom keymaps are here +* I disregarded the advice of Jack and used macros for passwords. I accept my fate. These have been abstracted to macros 2, 3, and 4 +* add your mobile and email to the keymap before make +* RAISE and LOWER also acts as PgUp and PgDn when tapped. +* [CapsLock] also acts as [Ctrl] key when you press and hold. It is convenient for GNU Emacs users. (not sure if this works) +* Bracket/ paran/ brace keys are placed in the center of the keyboard for programmer's convenience. \ No newline at end of file