From bc505013ed240c096318eb1a120fb87b55f7cdfe Mon Sep 17 00:00:00 2001 From: Raheman Vaiya Date: Sat, 18 Jun 2022 02:22:40 -0400 Subject: [PATCH] Add common layouts --- .gitattributes | 1 + Makefile | 2 + data/keyd-application-mapper.1.gz | Bin 1486 -> 1485 bytes data/keyd.1.gz | Bin 5843 -> 6348 bytes docs/keyd.scdoc | 64 ++++++++++++++++++++++- layouts/af | 67 ++++++++++++++++++++++++ layouts/al | 69 +++++++++++++++++++++++++ layouts/am | 69 +++++++++++++++++++++++++ layouts/ara | 69 +++++++++++++++++++++++++ layouts/at | 69 +++++++++++++++++++++++++ layouts/au | 69 +++++++++++++++++++++++++ layouts/az | 69 +++++++++++++++++++++++++ layouts/ba | 69 +++++++++++++++++++++++++ layouts/bd | 69 +++++++++++++++++++++++++ layouts/be | 67 ++++++++++++++++++++++++ layouts/bg | 69 +++++++++++++++++++++++++ layouts/br | 65 +++++++++++++++++++++++ layouts/brai | 3 ++ layouts/bt | 69 +++++++++++++++++++++++++ layouts/bw | 69 +++++++++++++++++++++++++ layouts/by | 69 +++++++++++++++++++++++++ layouts/ca | 63 +++++++++++++++++++++++ layouts/cd | 69 +++++++++++++++++++++++++ layouts/ch | 68 +++++++++++++++++++++++++ layouts/cm | 69 +++++++++++++++++++++++++ layouts/cn | 69 +++++++++++++++++++++++++ layouts/colemak | 33 ++++++++++++ layouts/cz | 69 +++++++++++++++++++++++++ layouts/de | 69 +++++++++++++++++++++++++ layouts/dk | 67 ++++++++++++++++++++++++ layouts/dvorak | 33 ++++++++++++ layouts/dz | 67 ++++++++++++++++++++++++ layouts/ee | 69 +++++++++++++++++++++++++ layouts/epo | 69 +++++++++++++++++++++++++ layouts/es | 65 +++++++++++++++++++++++ layouts/et | 59 +++++++++++++++++++++ layouts/fi | 67 ++++++++++++++++++++++++ layouts/fo | 69 +++++++++++++++++++++++++ layouts/fr | 67 ++++++++++++++++++++++++ layouts/gb | 69 +++++++++++++++++++++++++ layouts/ge | 69 +++++++++++++++++++++++++ layouts/gh | 69 +++++++++++++++++++++++++ layouts/gn | 51 +++++++++++++++++++ layouts/gr | 67 ++++++++++++++++++++++++ layouts/hr | 69 +++++++++++++++++++++++++ layouts/hu | 69 +++++++++++++++++++++++++ layouts/id | 53 +++++++++++++++++++ layouts/ie | 69 +++++++++++++++++++++++++ layouts/il | 69 +++++++++++++++++++++++++ layouts/in | 69 +++++++++++++++++++++++++ layouts/iq | 69 +++++++++++++++++++++++++ layouts/ir | 69 +++++++++++++++++++++++++ layouts/is | 67 ++++++++++++++++++++++++ layouts/it | 69 +++++++++++++++++++++++++ layouts/jp | 69 +++++++++++++++++++++++++ layouts/jv | 68 +++++++++++++++++++++++++ layouts/ke | 69 +++++++++++++++++++++++++ layouts/kg | 69 +++++++++++++++++++++++++ layouts/kh | 69 +++++++++++++++++++++++++ layouts/kr | 69 +++++++++++++++++++++++++ layouts/kz | 69 +++++++++++++++++++++++++ layouts/la | 60 ++++++++++++++++++++++ layouts/latam | 67 ++++++++++++++++++++++++ layouts/lk | 68 +++++++++++++++++++++++++ layouts/lt | 69 +++++++++++++++++++++++++ layouts/lv | 69 +++++++++++++++++++++++++ layouts/ma | 69 +++++++++++++++++++++++++ layouts/mao | 69 +++++++++++++++++++++++++ layouts/md | 69 +++++++++++++++++++++++++ layouts/me | 69 +++++++++++++++++++++++++ layouts/mk | 69 +++++++++++++++++++++++++ layouts/ml | 67 ++++++++++++++++++++++++ layouts/mm | 69 +++++++++++++++++++++++++ layouts/mn | 69 +++++++++++++++++++++++++ layouts/mt | 69 +++++++++++++++++++++++++ layouts/mv | 69 +++++++++++++++++++++++++ layouts/my | 69 +++++++++++++++++++++++++ layouts/ng | 69 +++++++++++++++++++++++++ layouts/nl | 65 +++++++++++++++++++++++ layouts/no | 67 ++++++++++++++++++++++++ layouts/np | 69 +++++++++++++++++++++++++ layouts/ph | 69 +++++++++++++++++++++++++ layouts/pk | 58 +++++++++++++++++++++ layouts/pl | 69 +++++++++++++++++++++++++ layouts/pt | 67 ++++++++++++++++++++++++ layouts/ro | 69 +++++++++++++++++++++++++ layouts/rs | 69 +++++++++++++++++++++++++ layouts/ru | 69 +++++++++++++++++++++++++ layouts/se | 67 ++++++++++++++++++++++++ layouts/si | 69 +++++++++++++++++++++++++ layouts/sk | 69 +++++++++++++++++++++++++ layouts/sn | 69 +++++++++++++++++++++++++ layouts/sy | 69 +++++++++++++++++++++++++ layouts/tg | 67 ++++++++++++++++++++++++ layouts/th | 69 +++++++++++++++++++++++++ layouts/tj | 69 +++++++++++++++++++++++++ layouts/tm | 69 +++++++++++++++++++++++++ layouts/tr | 69 +++++++++++++++++++++++++ layouts/tw | 69 +++++++++++++++++++++++++ layouts/tz | 58 +++++++++++++++++++++ layouts/ua | 69 +++++++++++++++++++++++++ layouts/uz | 69 +++++++++++++++++++++++++ layouts/vn | 69 +++++++++++++++++++++++++ layouts/workman | 33 ++++++++++++ layouts/za | 69 +++++++++++++++++++++++++ scripts/dump-xkb-config | 82 ++++++++++++++++++++++++++++++ src/config.c | 2 +- src/keyboard.h | 2 +- 108 files changed, 6752 insertions(+), 3 deletions(-) create mode 100644 layouts/af create mode 100644 layouts/al create mode 100644 layouts/am create mode 100644 layouts/ara create mode 100644 layouts/at create mode 100644 layouts/au create mode 100644 layouts/az create mode 100644 layouts/ba create mode 100644 layouts/bd create mode 100644 layouts/be create mode 100644 layouts/bg create mode 100644 layouts/br create mode 100644 layouts/brai create mode 100644 layouts/bt create mode 100644 layouts/bw create mode 100644 layouts/by create mode 100644 layouts/ca create mode 100644 layouts/cd create mode 100644 layouts/ch create mode 100644 layouts/cm create mode 100644 layouts/cn create mode 100644 layouts/colemak create mode 100644 layouts/cz create mode 100644 layouts/de create mode 100644 layouts/dk create mode 100644 layouts/dvorak create mode 100644 layouts/dz create mode 100644 layouts/ee create mode 100644 layouts/epo create mode 100644 layouts/es create mode 100644 layouts/et create mode 100644 layouts/fi create mode 100644 layouts/fo create mode 100644 layouts/fr create mode 100644 layouts/gb create mode 100644 layouts/ge create mode 100644 layouts/gh create mode 100644 layouts/gn create mode 100644 layouts/gr create mode 100644 layouts/hr create mode 100644 layouts/hu create mode 100644 layouts/id create mode 100644 layouts/ie create mode 100644 layouts/il create mode 100644 layouts/in create mode 100644 layouts/iq create mode 100644 layouts/ir create mode 100644 layouts/is create mode 100644 layouts/it create mode 100644 layouts/jp create mode 100644 layouts/jv create mode 100644 layouts/ke create mode 100644 layouts/kg create mode 100644 layouts/kh create mode 100644 layouts/kr create mode 100644 layouts/kz create mode 100644 layouts/la create mode 100644 layouts/latam create mode 100644 layouts/lk create mode 100644 layouts/lt create mode 100644 layouts/lv create mode 100644 layouts/ma create mode 100644 layouts/mao create mode 100644 layouts/md create mode 100644 layouts/me create mode 100644 layouts/mk create mode 100644 layouts/ml create mode 100644 layouts/mm create mode 100644 layouts/mn create mode 100644 layouts/mt create mode 100644 layouts/mv create mode 100644 layouts/my create mode 100644 layouts/ng create mode 100644 layouts/nl create mode 100644 layouts/no create mode 100644 layouts/np create mode 100644 layouts/ph create mode 100644 layouts/pk create mode 100644 layouts/pl create mode 100644 layouts/pt create mode 100644 layouts/ro create mode 100644 layouts/rs create mode 100644 layouts/ru create mode 100644 layouts/se create mode 100644 layouts/si create mode 100644 layouts/sk create mode 100644 layouts/sn create mode 100644 layouts/sy create mode 100644 layouts/tg create mode 100644 layouts/th create mode 100644 layouts/tj create mode 100644 layouts/tm create mode 100644 layouts/tr create mode 100644 layouts/tw create mode 100644 layouts/tz create mode 100644 layouts/ua create mode 100644 layouts/uz create mode 100644 layouts/vn create mode 100644 layouts/workman create mode 100644 layouts/za create mode 100755 scripts/dump-xkb-config diff --git a/.gitattributes b/.gitattributes index 60c0396..9f7fb19 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ data/* -diff +layouts/* -diff src/unicode.c -diff diff --git a/Makefile b/Makefile index b3ce89f..cbbc051 100644 --- a/Makefile +++ b/Makefile @@ -59,6 +59,7 @@ install: fi mkdir -p $(DESTDIR)/etc/keyd + mkdir -p $(DESTDIR)/etc/keyd/layouts mkdir -p $(DESTDIR)$(PREFIX)/bin/ mkdir -p $(DESTDIR)$(PREFIX)/share/keyd/ mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1/ @@ -67,6 +68,7 @@ install: -groupadd keyd install -m755 bin/* $(DESTDIR)$(PREFIX)/bin/ + install -m644 layouts/* $(DESTDIR)/etc/keyd/layouts/ install -m644 docs/*.md $(DESTDIR)$(PREFIX)/share/doc/keyd/ install -m644 examples/* $(DESTDIR)$(PREFIX)/share/doc/keyd/examples/ install -m644 data/*.1.gz $(DESTDIR)$(PREFIX)/share/man/man1/ diff --git a/data/keyd-application-mapper.1.gz b/data/keyd-application-mapper.1.gz index 509aeb9fe22c93647faeb61c8ae489092855e3fe..833eb7241d05b8b9e095c477ec5e099ba5f2425c 100644 GIT binary patch delta 1476 zcmV;#1v~oA3(X6V8-MkJtr&`|z_rNI1G=_o(so0V4?0`+36U*Vk}tWT*x$ZK%FZS0 zGGIlD#F9upK0Z>)FL&rvx7w?yOImIy6s0R@me25$<=B1Yn$GH|3G02M+o+;(Emh7_ zT$w2^80P;M`&tKEdwceBy)pgbs0&UXZL;D@tnc@G@ z)1#xw(`S>}&pTQEKFiNu)5o*<=?Q;4Vo4X1@@hQ%?$gPKPm7b!{5=Od-gJ>}R;E~y z*9v$qtHoc_{D1NXfT~PAWuH^H8CEW<52V_XB#I88OjGFPqs*43Elpbo_(N`ML{@Zz zHFtwwafPo&#bSjcR9F=P5^vzcw9$e8q7Mkdxc+cG6{_WWwAbV+(hBf`E~HXYhoB>G z+)I{1rwdb=0ztxc7!a13V;l^#wr;5``Q9RCsVmchdVkab2~Tw_Ql_KswEH;kT`_{KFajm_4~T#^I>_i>oYqa;$GVuR~yzvlkD)kMMo@ zL!N%JyfW}0#r(X|UNgAS6I0K@U8_0uZ!v@fLI7MGCx#K}#T7mH_dWf_Rp90riX%rK zn0!5sCVwK?!Tg>{I>Qo>6Di_J#tTv<2E0vAKpQUDT3G|x_*#07P;s1`Xx`roniG9_ za%UE>yg%^I4!6KY{qgD+qO5|g5dEM()^n*@-b?);%`J3l71Wmj366*`b$KY;joOgw zSX9c|jkKqNQ2N%~BE-hBM_U%kqh0n67%2UU@qeLj6_1ufhI~=C(Dv5@sH{A=Vtg>M zDGXw4{?Qi+8mbCYvApZEf#v}NmpZlFGUdt!9Am536Z}5?Mvm7e#tmyx*$AOs(J%CB z64i2CxR8aj`%7_Lg4IQclY_1KjIh_J!n?gi8%zm6ohq3BeLh^QylYI~umJ=2&Wh2$ z+JDGl{oVfmhZY~S3)Aa0CLU8VpUjv+)Rx&2#u8n-W9+yqQ|g-um3kqrRD>)rrbF7; z1p&LXr$KHFLSc@ z=W#I&HhgU?-kzP$-@KWhFW$Z7HP9H*9BJ}Og9pRnXN6-}v6M%oQ3hz!3~l?^B{g9U zX8|B?Wb&cmHm>(nn$THb4BGP~M-N1US@LHJjqEV-w`2$jw|vMKtN`b;yVa0}%YVQI zEh-Km8IMqfgG0*3@5kY?@APEA6gED9R@3OzVfS=3(zGpy?c>B#W&7h9};7srVlL5JItamxa&bs+FYqM3Rx67$aKSGovxLi z!a#I^IKdUyI?C)d_|)tVm$Pn`seg3r4`zIt57plF-TtU=mcyLiMv!sKw{q`I+@w+c za*oj^NK(EmcUayseK>R6r-f2?=Gm)zetc<5&53jhF#Md1qo delta 1477 zcmV;$1v>i83(gCW8-F#y)&WIU;96wq0bN@(X}clG2c0eZgvgdF$(P(v>~G&AW#=yI zGGIlD#F9upK0Z>)uXgB6x7w?yOIoZc6s0TZC_lnamSgvoYdWi=Cam|3Zlj9EwNyDz zacKf|-ql_;gg;vsNv)KzYGF00K#I=Zek9XYjyhHAEH|32+JC*gro0R^`$AWH>Pwbu zOX=URx|`+gGRsv-Rv^68wP~rohgrBb0?6|$zj#eMH+o%8RM%Nk2((Fq5AAno=Lr9g zpB^7io<5sA{dp(L-)H&xYx;OTJ3Hl%M=a@bQeKaT-+em$@M(VfnZIXX$D1zF?a~xW z@>&7!RW<)>ntxyY08o{wr|feIH^a(R^?_7dl0?w~lxYgRe3aS3w54h50Ds7Bg~*C- zvF2{^D=zWXs8}pJW6~ zjjd!Ubh-YwH%ulJ6~Imbx-6sDDQtknmK;B4v88$#Vd60n@|< zRR%Ixs+4u*taZ1X3#8LL7k=9+%RijckJ*#U6C94(zqrn_Cnx%@^Ew1ZdGzAp_c6Y& ze#p~LmRANIq?n(V+G_?kdSdE1xN9}1{w;=(KnQ@#lf*D0y||_a|GuZ+xC-1HLviHj z1Cy^O(SJlFJD6{oq%$l5IguisX1pL(V!)g91hnCTt&}y8jjyHW2o=Z4iRS&ipgGZ( zr}t(7%liZW>~I5Y)E}>IAj&G(3egYxV?CFe<-O1k(%e9&RzZCkkl=_2Q{Z{&DmVqCKpm5mVEHT^=b zCQ&WMg-cmD-(HI2609ymoE&V-j|h8>D!kj9x51PE)Tx5`-{-@{(!0j=4I40U@2nX8 ztAC9g*5B>_e`xVRyD+_8W8yI-v&j)Nh}tq+!dRkfcZ?l(WlDWBp;9lzrHYUR#&k#< zyC7hf_B6~d^ZTN145k%tQ9|;#+GMOjZf?QVOg9u_bUfOI(pp!O>tol; zShj*bE0u0AED+20t*Bstf?VOr(xjqCrhhj4ZFSQuN|44$7yf=o=eH0$qda5Tr7pre zcODnhV8hqO{O$S0?9H3m#r)k{UIUF0&5Po5U=d(ntaccsC5!X1aT= zsdTX}tRC2&w*Xxt)B6_*RDA3F%^@)sYWl#^yvHmGgS#FCrOl;Up^!zPgG@I}*6B+5 zDGWpxh!b3Kqod4TgHO%=a5?K{k$+0Z{$R$Z`B3d$-|dh3W;x9GZ3G#&d@J|f#C00g zFJ~BSf+Xe3a>w(qpCZ(Ec!FF(>#nz|t@E${>L(EM0F)!50Fqj*{7s z1goAYmMq6U59<(h1DvcRxk9;rgf&-H+6M~O)JqPx&>~Y4+@N77w1X7Hzkh=>pN2`t zR%lYZYhngwfWRo})iE^2S6}l?r}_I=*e{l@rJdCM;$*gh5NGC z{P00{wZ$m6^WoLRH{IbDpg#Xp&EVg)!eq)$sLP^<0`aHhd9O_o(AZ5|4p_#z#yvVB flqzCSVtJKdW=fuky6ljrXU;6Ea#qC)gRezd zoA@fu@_3S46FU=|7q35!#xKe-p}yp49w zzc;T>UOnUYi|JDiyqLZ-V{>Bg-BflFFPB*{GihuWWwCSdoAA{6pI*OtdwzDl_TpjldMRwq%-9dXKGE-R2BG}uS}fO*_9M>?<-P$j4$y~*Gmdari@xrb@dc{Y<4zAKY_!jJ``*a#VL^x$XXZ6}N zb51k2`Eq>@Uc2ofp6nlzT#A<3x9Hxe0$qG&Yby&m&tV$Ze zY>|=-isg^T(~Q%9{pS6%Lpk`j(NmkmV4A9;=esjtR7J`cakau6BuLe5o4lrl1Jg2E zG>}t~uu7hZa8z?Lz9||f7VkQ%=OA+ui;0?MGc(O{QS!4XAHh#-kk2}sPnCg~-(__p z{E4`WWn6%3&i>L^?h#u!n#9SaTgHh!esE-65-;Tom{c88_pY;C%tzvPR+kZOEwTc} zvS-sy-@JZ)_Tt04lOWTlLSs{TgAP)`VNKzc3{s^(@y4ika%K*(BVG10 z1X4^4ID*MJCa?nsw1D36=S2LJN`Vah2!k!=*4acAfcnT;q5Z+yPRl$muel{EiaQj7 zim4}lL*|I0jiW1w9;_@#+&?}%f-0s>QtQvb-GkxX1KbU!e<#|RW@_TzMrC!!O23UZ z#$R4-{Qp>v_G6k=FlJ)L+|nkhf3cx=AUCkSS9$oYJWDdVAefE>r!GQ49i;uRIDpjO zp@Up;WfdASmpEi%ZPA~`eopcRGV4X;If%EPV?vwT87^Gd+duf`@ZqD!-}X0xKR;08 zWO)Pe^yb2O3Lp@WH_(8C-#Qq9qARQRiNbQ$&WYQ8Q+H5s>*}KHvKa@@9QY$V7?P2e zK^tOmM-w$Eu#jFBgZPoFNeNHtpv`&$F$on{MX}xziB>&GtRSEW4^zHpc{z#mPcq6W zFnICu&C`>Y=eQI+$Lq4Thvo!y2OQzN&q_sEpfjD<`DCYVPIDuN4uAmDq&CgG zr{NR>(SoNuD=w);&Msr(#DOj6wq_RdRKdwj%aX1!jdRy0)EpcdiYiu56Z$A2qbyoZ z54o(kAO&B&FuQJ(oVCRbxhr7+m*OXcc~8Y=k>Ca96Amh2;QusEvOMEnO_JM~fPoyp z0U2-w1G40Dv~4Eh?rm0y8qp-JDH64;mH(adbMul1?D*@%$YCqMNnnpU5y6QDcqjsE zDNVTUQBJGH6px98tY@^#EXFOP2Q6m-vb1gImhwaO^uBxP>)Fxc(8Jyg%m+JFTM)4r!Lr z#?San%j+WA$nmYpX7jplcYc^tJ;SVE6Tox29f;B$_>Jiad6`(JI3fficW`6=^JUH( zl=!Alk@Ft6Ge~m$RaIW|yhDWWp&*)8Y+O>Sdoa8%%N$rzG!KsHDkCZCd6GN^{`JtD ztc_Y#qMQUZU@RiCso@?Gh=IQg_-^xX)1R_}7zn2o|JCUwc4QZje6d2Zp&0g;cn-tj z&M_HJbceBBs~m#Sfdy&gWo6xHw+Q8hK^S2?Ll`GGN)&|#!+|3(ONsjxF7HmU2^U0m z!jHpKj%@{I-8(7B#`%Wv{*1*uNM3;V5W`nxt~N#7O5juyJ8vSxpa(w(UkQ`LB_g{3 z?=XPt<6i3#7V#wx8~5rey8$$WdQVPAL}zg!{O*{ypd5Gu zsB$v5v504Yi9;l}&g6R^@0p`cz>Ys29tC3Hv+Cnd=H91!YbsX>AKP(1aU8kXtr*sk zHTq-sk3Wvv9|y;u+W6lGLtI2+U+$+RBn!}VFzeG(&6}L+c|<#tidSFh)mMo7ch4Jy znc>EXPqXB8xN@#n&ga>*z4oFV^`Z(CJiMG#>MuoJty~3kl9%ot(aVbFQK( zq30@iAip&R>DZ72-;`2>`iu!Z9wPbFN##KBVJ-a9$O=x(gQM>JXd{EB@Frtru&-Ok z!ltekW#e+qxun6|1dtaEO>f^o-tc!c?l^qzo6sR?YO$5=VgW^Nan#5wu@~y@!AP`E z&1}GhY9u)3@Kwjf6Y=#SG!_7>Fi_$uX3nZ?K(+A0=WR05Ob}OF1t@9S#+}w>40&5g zA_iWlY-x5CTknUT+pTpHq#4&9UlnxA z5(3i`@CRK9(3&QU0vop_lK^0x2M_|`l}H+qdwB^LSc0{4ZeRQ;*?4Cd)VhZa0tUaQ z&Ozw!QM4hD;m+F~JLo-bWr+U+WXha#=`wJ>k5L6|!lqv`i-N-+z$k_+Pm}h!HhA$# zhj4nZ8v?NuRO$@gt&7*Ee0fKT63zec2;mdfLlph z(=;f!g*+uT6(PPRu3`|$__tOtTW2*RHOaFAiVA3InLn{&?VM{(&7@^x5}z9dzI>dI_)= z2FT+N<{nOH(m@7rt}dJopokzyqgHAN4j_O`C|bP=5Tl1tyzQ1{#55H!9cA9;wR}dA z;jD<(`eF1^LH=BNl81@oX{|y@s{Au;D1~b)vFDt&%3ON_@2UPb^z)-UzyHa9IS60& zAB5jM-g09&>04)bu=ad!#=dSsD?b2?!f%>$#m~HaHdUOBlY-5!MXj|97t73R7wtIO?ypmjNkfJ5bYeS!osfgmo8#8$|bx0oDlT(v7H3QdvnA4w0& zlT3lMfq0xGR@2BWSoNlfS!8>Kxiy(W{|O^iE?2=j2?3f*9e5>(tp>VT5e{!`mWhJePUBVp6=G@@e1l!r^R6Sl0%;#j#Ss^*GvglIVKJUzBvO;1~ zA4BPN;a``7(leLmQlNpPE+Lc>t42PM^^=f%Y!@Pw`lvDMXLG9s4MAA&h-(RECmGn7 zjVqt&h?XU*P+}G2S#h}`KX=2g1me7739(c?FPm9FZc-O*>v*1qR3*r-jh!O0Ozheq zO|7xM>lynh)@)kMT-pq()wuAC>y7TkT>UzU=Iu0z5)JL{#Malg&Gosv{Y+PS@X#6I z3m-ZhfRjMKUn|q;SCnS2h^iFS$ z;eN0dr;eiyhmW$K(eFEjmjpwqrM)=I|C?D;n2UeDh%V-v3AHDq7{iz~70U&qzdc3FlYtSwNXGU0@SYKVDR>kxIHTM3 zi8}gM*CO#|F_9Q8WML5@@wmN^(%;>XT$;x(VJ_$cT?mtgMKX?)Io4ean7BOep=q1j5vl?~1t^V+CER5{M<_W1k>DXgO3ymP z3V1z%FUC_L>SN}q1HF<#lA?noU9|l~Ix&1O;`1#M8Vc~z==Wxl-t#yJNU!rilVSYz z$GFPM#;MM0Ld^*@Ue+GmcO6S%hESMazyGW1=wI?k`#X2ry8Rt*>15R{Hc}mrzGONN zzA)KAnCxSh@g1aR%|Wj{Yb=S%&TQhN%LJ2-^#riosLM-R?6c=fz8wtvy-b_wmAkj5 zdH-6U5cj&d5^Zk#D!wK*^=fIsL|FJ%8NbfNG<4alp+vHUX(=wJ)t2>QXVwL`Uw@D7 z`eEv|Y|{hZ8If9%f7RC5G==Y6`#OvcDm+~iE?hres8ebaxO$b>j?Dhv!NbwO+2iB= zKq+ZWnCH4(nZG80JRQehg&(T=nC**-|9_k=_&KP+&KZ$NeFh`qmC+C`CQ(N0UIB_QipJ<1xAy0?I~m*q_20zfY#ophsh zoJz;#>pJR%sF-U-Vd!I9>(Gub^=Znn6#x-KLT?Z`CkK5(*MNO9J~4`uV&L7xuHXx{0E3y)#LB`gKC(rb8Jz zTg|L=NX~UhS+ZbI$o)dS$me3&CNS*B)qwTpMo;|i)Uj!z{L6dmZ>yW%2jMptcx$Ug zTqu9g@u_Ld#a%Hk5c9>cubZ9(u?ZJ}d^Z#X8%#JIMq$f91nT-%A7<1If3 zm;tN$iyZ*~4{PG$Ps%rG4AR)bO9~+qtVL_aIiXo-htELD1a3#V5CW;2lS}6n&fu>3 zDD=LR9-fmh>@u2YwALR_hky`?o>v*vgZy#QOT)L>qQIhf8>oD5d#&m;x}~rX>KiwO zdC-->y=vUpZnI@ugrz|3@UYxUhQ+^wdU6=cBd_L8P{C`~5Q_jO=O)HZfv*#Na({1%n;lWH= z^w}vGET=RkN<}0z9<*hJJMh#{Plm_q8Ss$$@(6$L^8BNA=>7qQJ)wHpX+2syU*>4A z?X4pRP05Y_+2`G}o-!-D21D0%I!ri`EM-CC!VKmh#`RtOEQoTf#<8tP`1n+69aU2l zA=MCi!WiqDEqs}P%PUirWj)%C)IwzKD;wtL2625Ry%L?LF3Pg^BFP`5(|6vra0Tda z_V!eYcY|h5-$y>-@0HJdA*rl+7U}4Yk%!ZU$kYw1pWqC~uPywl_8}VnkH#XV|q@XUs zq|)Tqaa^kStl+{{X6zCUMGi2OZDo96Y0-Q(ZkXD5uNA#e>so7KWQkE;JsbDNj5z`> zZhs`@Mc;A45YU98O7js zu6!D2_$HAH9n3%O!hWxIXGO^#URx)c1D#r%Dr5}(Hh#BlfhM7cZQDbGXs^A=!x!d4 zzmlp)cw95dWpZijUcauibflK+E!h>A=aw%GZDp8R;6Ss`SB(@03}&Q~@Qs-8Qc>s> zXVtOy23$DHKr}=?p0$2UGA$lHV1ymKIk%o<5X0WSGH_c*p%(AGKV^QW-`I9{Q(Koq z8bE)E5!m^njj3Cq6RfJS`QS@CwI2mF+6 z8rrwft|HB!5>e2b6Y zL>o`=@!M$Qclg+fHumr#4Dk(6a$!%W-PdUkblPup+J`#rBc1lKPW!D+`$VVx-CgYY zMy!$dBcUIUC_sZCZI3R8VimFk+mdSt?I71#()FLoa}Dfa9$t$KdB_=fr0;Id%RKcD z`|d2)c3(wb;&|JC-nI{hgvc!ogu{Vt&E1c?gDVe3@L4j~fKOi4DWt1A^q-3p|8s9^ z+diJ?3?MxJPjx);O$3?ib@$yBk`XdXslJ!3Fz4OtSkjp(g%JNzm6nVM-$IAm$(U<~ zR$h#HHNLp$eB*$TSc&}ka|qi!#oIcGu+d*SJmEmj{2gwd^R_-GBk$tlqZ?N8gR|kC z4J~6*@ou!*32TNg9z*uRJN=x;cLD2DW|ps(a|aVa`}%yXbIWYP-hRHE(7KK_AIBLy z0f!4)G@I&4@3$`y%SnpyX6;0pjclqW=)Uyu=sSpAWz2)(sU-N=BywAS)vhgm`f!eE zKD>WEezF@Ho-iey9*wnP2PZ47w{YMjTAPUwR&8b`2YBDS!saB{{jdLwHcE^O31sDR zY3_~MaZ=I#?|=UfnBf}(VV3XIipMujGZ>Buuy$uiz4L5SLv7cjn()xqDILQ4(0A<^ zztw4)9cXwxS8O=mf!@JcL7gleb0V!H{ O9Q_Yb_h;=hLjV9L>4+f! literal 5843 zcmV;^7A)x>iwFP!000001Fc)@avMi>{>^!cj+89P6~LP%*~_9?OK~Nc6;o1)(pp=h z;%&?{fHns+@bnBRY%V|YJo%j$$eZLz@_nbf=K_){Z%Vti0nGH}^yzc?&V@Ud57bLj zm`c|sQ6Bs+L}S}vBksg1((W?_n2*S0Lww5(J;w@xjqa#rbu!q=j# zmA=+C*OS~R?UYt8U%gkhn3ig(XC~RPMqL(LJ2SPDId$@@y4=#gCOalq{(s@=X0lVv zlO3I@Tu69kX0}kXmdvy)Y7lam?7aIyJ-9Nf?16f)kADyL4i3h9Pse-TK1g=nBs&*B zs8=WF&-wjw`iuiFr*G9*ohW=)m09TJ(iSt7X|pJcoy*_FSr>nK_4>`l*~Qw-kL8kw zcc0?8*KgjPy?zykjTa*|9%Ch2mleh*J8v)4& zX4a+UwW&xG#-|tpCKj2>%(YF8vYCrSzI`q`8t!O5FDv65ujQ!weyl$Be_^8k=Tk@7 zd70ViN=dAqVBXM}oFKxT|LGsuG{-ZJW|&>x0zfNTf=9o(gx_y+8$`*f->L^x$W+j?!8IhUE6 ze7U{`pWQWyH~XjO7pHH}c(c~PAO71bDPeUYnIEhs-2n|T{mEr z%I%d&a=nu49jUS~ZVrW6@D40aFcMN0I;~1FLY)=LV*a88pC;PbluU-6)hgA6ni$nM zlO=TtzE5odeFHyST`q(w>{B-6lCIT~>~UC1mUfh~CEhD%DsWCs%BIM4WsOU=D3LRD zqgOd-+5NCv*Q@Qon0H`!)b*+<9A%l80HVyS;u<5o2U~>|R?i9$4x*|3)xsMM5Q`~^ zt2KAb6i8fxN>^7#F9HKBSB83LP;`vPIkB5JCJsx(u-JkNKphskfK|y7m@QIbp;+O1 z0?oMnSFhhaKa`7qlRPu22GhJM2EIE5MpdMIp{o_vAVFT;M&vau9GGTl(Lhc`!YY}Q z;Hu_id{Z<|EZ&W+=OA;U#Y9c*OigVrN`5xw6#T>iIoFwd>KTajovj<;Pr_3ybpft9 z^J`;xMjYX2qSGt4)TudsbYxtrm+}Qns*b69H#QgZk%p7iWr9}=TfkWMY})DTS1-<9 zzJGfXW%^WTY^q?;K`NMB8C(ahRBRRWeAm?JE|=ZqR=gk%$xF@qX_lBswp-}&-(($b zcskd`42${e2E+Z@L2Pl?80@_b^n%8bBEz$L4H^X%0&5!A=saH~I!)<@tebOJ%7MQ& zim+`Zp$eycj?b4~nW^lq$;u!XX`RPCg;z4jEB#3@M!lO;bBG=3GM^!kVq(A%EY2~J z9k`$c^o~C#;-|b6$k2~4*kW#-NxcG4AGs>DKU&*qndjvVk3>arheA*>4a9HA8cDKo zbPdsil?93W$A?Ey#jHtd|8wy6VEFa`Z=>noNp_~zo47YgS>3bK?~{%3mvDn$+u`R`d?!2KEms55JY$)Y1jPbfma-5en)c?T5hyWZ?}R;lkej!8eDGpFI7xe-Qlh6E#k@R}jx&E?l4h z0s(mg4Y>HNgKbcBZM=P=u$;AP;&nLGJrvxzyC}OH#=$d3{s<3-WMm}`kEnwde>Cwn z1tu~GW0XI#H7(&v9n{%hfhMKmt0>o7BGO(FQX>#3!DI^fEH5WI|0JWFM+Pr{eEsa? z#|u1)uH#i%n?rR1!XuDy!D(fpEl?V*W;jkU&^|e;o73LNtpg#zHhH6_-qCW3g=o=J zZi_3bkuyt8pg1t*Jl4!$oho{{X<5=YW;%C$Le;^cqO4-~ETxkYGRmT5^^naT7-ZmU zkY?8%lB>4BA$KJ#;8GlgFz=ZdEfT!Idcr|Z82CTcsm(3Vs?ywOA_j8&7G}T`46y0d z_DD^{-y2(r9?>SPX%f|}Re+s~3-u!}*zwnilFRl8Cxt=kLXH!ft7p%W0zF%3#{lCf5~t!dp9U^4db@{C1!cFa$&fmv*@$0fD8hr{c#%mF4v^Wd4TElKgNC(ShgaKPqdZPKa|J>7ffUv^yru9EMaoEMPe4<9R_fJylXwe zLSNys@vg4yHBhPQ;-e59b?l3Nve>L88eOau>e>P10}Fx>a4N@s)ZjRabrm{L0oM-K*_Q;@HEac=4~a37N7e3HldUg49x2+6d%coay^nUy~YORwXOmD`;7{Zx42jPEjCmRA8 z?tR^{gWls#hJ=5BOqp~podxIn7*)U~Z2A?`D7gFqjAF?0EN$nt!ArRnP0}$*JD(e!4iCt<;zm=#3#gT?2eu&Qa}g2r7ER(rf=ylc zSh*i203q2~hi|)NN-G*c9KM7V22i2>@yOBq13R?nv+wOX=)hC-GGHwXkm--+0Z#a= zgACwWT|6B@5kZiTTB#wpfCw_7X!R;Wj2=b_wp+Fl(^SB8lzE%j3MoZ~vm#pSm(j}w zg?s5q9v0Tq+6yJA3Uk^}3eQ$z&$(=6U3&xXsQ$O~^P|k){}jF)#4r1g;_n`Bc`)4c zohv+Ao8Mcpuba@y_W+~to9e>jXFfigdYp}$g3Yf*u!13b|L(`;S8$nyL@~{H&c7_;(f}!LDY7 zwQkDlYBUhEE+-Ljs9bMIkU%C7#AS)t3OVu?v!jixb|ppObEN!_-+nMRqd%T$14k@RhmxyVuF3j#{t3u{s?aImNBv?i%GZKO^ zCvhuR8!CZAlq}-;Gcy-uQ_Cso82DRlvGfN?w?294wqu$qUUEpI!&n)>sDL?x#3!8^ z5m&XD)XFRk%zCg+TLEAms;7H<+re0Qk~mP;cT?7*!!=$=C7cXoxE>wDU7oa?h`sok z*a>%5Rb0g6um&MpDmN3@+NJ)^Bq>P3H zd3x3bEn2M9#Lr`Z+o_7c<0v3KDfJ-% zfBjik76{zi5g%4KF%Zi-n7FQR>ssjR&FcF5-&9Tz0S*7PMiuJvUoVr(`Q~`<@#g*x zzC7CdX7e&lb}s*2%JF=?bM{8b=QR=j1J>_dV7ytFo*zO;fUc=mv zLV+kVBL7}nwQ7n`!2ddojw(D|6D~YIUN~P8X=PEK^4XEv-#d6LwS>OZz8fedtqIZo z-OBtM)b%%?<8-XQ3O~H+W3?|T{@=M=MD$;2(UbA{`14mJ?+1hXQc`nQKb2LUea*82 zx~d%ij~m?JTcxlETcEalEh+V>OP@F{ug%xo|8!hKQuh|n_OhG_9tCPs(onG7iEh^m z6S7<03sEuGQsdCaHsj+9-`=N5bAr!AiEnf2ZwBHn%})$$tC=*Exh}K{1+FchCOzKn zI(7gjYE1+_Y6EJI-Wx*2n3f4x5%wXrH3S_l%x9_ii=uJAGYS5}J~4mQp$xxT&DcDK zC|zhu77WtaU&xw;h?K>WVOx?9nQtHTB%IDWHlHr|^4a>w>elz=qdPWuW2%KNJd_DF zCSjyh8^e;lZHKEe#m453xbCP;i~gn~bj%2SR|J_D*XCB4+SJRnlX!Ey6$Sw_VAt@l zBLLuGOd&}?`_`k-hk`Zuf#0RZDAhNW_VWL z1=Sw2Wm|%+K<)6d+>Kt|A#@jbe0OhQ5AP538Kxj+*4A{KX>ULGK8*@4RTw7F$X=h z@dbqKwiqK)+qeB;jtC=b`_YEREJ*B>5eb2KFBT?aT0kO{+FP%fB9(@$;YG%f&HfOtK7p^YOOdH)nATIp0|zeKd0 z(w-rCp;&%tlPmY&siB?>uQxE@G40UIs+XD8+iUmBegPbN>&QV< zaut5|dH1}h%${9?q3b#w7o14ete|mW!h8_phUP}5g*n#8v8_mi_*61JRZ|o()etM= zjP=zPzD&U7m8#0J-X101LfE!*RsGT+uD4P#>O6H(mc4%3KS{&Wyeni!=y3MtR8p9O zmX^>?H{tJ9DAXg$&&!omM4;+LJr3QeY?ID=$+M)MBSe_ZX2JvRa1&~rl3^2!7SElRuC+lSus~3}*VI?Up&CCHBkfcz3Md#SYq0M*<;Tck_chIkTk|v)o$wf~W^|2^N)BhmPY? z%U~WGw$id!YGUdeHsXPyEUvR}d(nJWZkXD5=kuB|bilY-ELg^hp%|k&lm%JVSIZT6SPae=d5BxMX5Az+b;u}2w{soR zIKzf&7yGzA?81Jpc4tM&P9{^Q+hP}|#$+Bc#;RjDZETojLdmGMNhXT+T0=AcZXi}| zy?VsyqED_&uT0(RT9U$6X1L#yy%BkC*gL&tv9!Q}X5l-oJq{SGNF`xoaO|y){ctm*<@>E*BGB$gFUC*VTqoF`b~%12XX(9Y#iX@kIBY2_;{FXJjTaACL2%i z@lVOdQ+)hOvhgiGewS=~hmYSU8-KvZRk z4aiiiOvAR^Z#7yNoeS_uGiymUr0vC%x<23wnANWP3h8~B88C9 zTJB3mgm1CVe=_Etv7rg0&c~ORoo^g45<8JUe~n>Vpm^jL5jKWLhbJ7!mA}W!3%>UA zWaNE(d~(Z5zIP^euKEfn74KHVfv{%y_g9d;_@|9rC-g%3S!$NAmU9OaLHqh*t$wXG zVQ)WQO=w-mJ|D*w0s)5$Q#702lRj+!j!JG)j5lj1QgSt!H$e~C{~G=jqpOSsP&}0c z9~{)3Rpwn&{QUj`%e;U0V*K51Ec;?fIz1X|j~$%s)RT0HZEzE<%|r<6ZKjnAe5lTG zI0<(D=f9JU660b5*>ky654PKJQb_*a|NJkQ;adY?mhaVyr?+l18jcCDc4tU~^K4T? zZSROT;jz0#`lS4%@7poqthXKyNcusYynpw@Ye@* may appear at any +point after the [ids] section. The resultant config will behave as though the +contents of the included file appear in place of the include statement. + +Making strategic use of these statements makes it possible to share common +functionality between configs. + +E.G + +``` +/etc/keyd/default.conf: + [ids] + * + + include common + + # Appends bindings to the main layer + # defined in /etc/keyd/common (order matters) + [main] + include layouts/dvorak + f11 = toggle(colemak) + + [colemak] + include layouts/colemak + capslock = backspace + +/etc/keyd/common: + [main] + + rightmeta = layer(nav) + + [nav] + + h = left + j = down + k = up + l = right + +/etc/keyd/layouts/dvorak: + a = a + s = o + ... + +``` + +Limitations: + + - All include statements should appear after the [ids] section in the including file. + - Included files should not contain an ids section. + - Included files should not include other files (inclusion is non-recursive). + - Included files should not end in .conf. + + +For convenience, keyd ships with a number of common letter layouts in +/etc/keyd/layouts. Before including these, it is instructive to inspect them. +Non-english layouts include a dedicated shift layer (making order of inclusion +important) and *require the use of keyd's compose definitions* (see *Unicode +Support*) + # GLOBALS A special section called _[global]_ may be defined in the file diff --git a/layouts/af b/layouts/af new file mode 100644 index 0000000..7c17b9e --- /dev/null +++ b/layouts/af @@ -0,0 +1,67 @@ +' = گ +, = و +. = . +/ = / +; = ک +[ = ج +] = چ +a = ش +b = ذ +c = ز +d = ی +e = ث +f = ب +g = ل +h = ا +i = ه +j = ت +k = ن +l = م +m = پ +n = د +o = خ +p = ح +q = ض +r = ق +s = س +t = ف +u = ع +v = ر +w = ص +x = ط +y = غ +z = ظ +shift = layer(af_shift) + +[af_shift:S] +' = ؛ +, = > +. = < +/ = ؟ +; = : +[ = } +] = { +a = ؤ +b = ‌ +c = ژ +d = ي +e = ٍ +f = إ +g = أ +h = آ +i = ّ +j = ة +m = ء +n = ٔ +o = ] +p = [ +q = ْ +r = ً +s = ئ +t = ُ +u = َ +v = ٰ +w = ٌ +x = ٓ +y = ِ +z = ك diff --git a/layouts/al b/layouts/al new file mode 100644 index 0000000..e771e2c --- /dev/null +++ b/layouts/al @@ -0,0 +1,69 @@ +' = [ +, = , +. = . +/ = / +; = ë +[ = ç +] = @ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(al_shift) + +[al_shift:S] +' = { +, = ; +. = : +/ = ? +; = Ë +[ = Ç +] = ' +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/am b/layouts/am new file mode 100644 index 0000000..4fc8891 --- /dev/null +++ b/layouts/am @@ -0,0 +1,69 @@ +' = ր +, = խ +. = շ +/ = ռ +; = պ +[ = ծ +] = ց +a = ջ +b = զ +c = չ +d = գ +e = բ +f = ե +g = ա +h = ն +i = կ +j = ի +k = տ +l = հ +m = ք +n = լ +o = ը +p = թ +q = ճ +r = ս +s = վ +t = մ +u = ւ +v = յ +w = փ +x = դ +y = ո +z = ժ +shift = layer(am_shift) + +[am_shift:S] +' = Ր +, = Խ +. = Շ +/ = Ռ +; = Պ +[ = Ծ +] = Ց +a = Ջ +b = Զ +c = Չ +d = Գ +e = Բ +f = Ե +g = Ա +h = Ն +i = Կ +j = Ի +k = Տ +l = Հ +m = Ք +n = Լ +o = Ը +p = Թ +q = Ճ +r = Ս +s = Վ +t = Մ +u = Ւ +v = Յ +w = Փ +x = Դ +y = Ո +z = Ժ diff --git a/layouts/ara b/layouts/ara new file mode 100644 index 0000000..0ad7043 --- /dev/null +++ b/layouts/ara @@ -0,0 +1,69 @@ +' = ط +, = و +. = ز +/ = ظ +; = ك +[ = ج +] = د +a = ش +b = ﻻ +c = ؤ +d = ي +e = ث +f = ب +g = ل +h = ا +i = ه +j = ت +k = ن +l = م +m = ة +n = ى +o = خ +p = ح +q = ض +r = ق +s = س +t = ف +u = ع +v = ر +w = ص +x = ء +y = غ +z = ئ +shift = layer(ara_shift) + +[ara_shift:S] +' = " +, = , +. = . +/ = ؟ +; = : +[ = < +] = > +a = ِ +b = ﻵ +c = } +d = ] +e = ُ +f = [ +g = ﻷ +h = أ +i = ÷ +j = ـ +k = ، +l = / +m = ' +n = آ +o = × +p = ؛ +q = َ +r = ٌ +s = ٍ +t = ﻹ +u = ` +v = { +w = ً +x = ْ +y = إ +z = ~ diff --git a/layouts/at b/layouts/at new file mode 100644 index 0000000..97bec3f --- /dev/null +++ b/layouts/at @@ -0,0 +1,69 @@ +' = ä +, = , +. = . +/ = - +; = ö +[ = ü +] = + +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(at_shift) + +[at_shift:S] +' = Ä +, = ; +. = : +/ = _ +; = Ö +[ = +] = * +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/au b/layouts/au new file mode 100644 index 0000000..2381162 --- /dev/null +++ b/layouts/au @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(au_shift) + +[au_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/az b/layouts/az new file mode 100644 index 0000000..9b38bde --- /dev/null +++ b/layouts/az @@ -0,0 +1,69 @@ +' = ə +, = ç +. = ş +/ = . +; = ı +[ = ö +] = ğ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = ü +x = x +y = y +z = z +shift = layer(az_shift) + +[az_shift:S] +' = Ə +, = Ç +. = Ş +/ = , +; = I +[ = Ö +] = Ğ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = İ +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = +x = X +y = Y +z = Z diff --git a/layouts/ba b/layouts/ba new file mode 100644 index 0000000..e6c29c1 --- /dev/null +++ b/layouts/ba @@ -0,0 +1,69 @@ +' = ć +, = , +. = . +/ = - +; = č +[ = š +] = đ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(ba_shift) + +[ba_shift:S] +' = Ć +, = ; +. = : +/ = _ +; = Č +[ = Š +] = Đ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/bd b/layouts/bd new file mode 100644 index 0000000..46fe5e9 --- /dev/null +++ b/layouts/bd @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = ৃ +b = ন +c = ে +d = ি +e = ড +f = ব +g = ্ +h = া +i = হ +j = ক +k = ত +l = দ +m = ম +n = স +o = গ +p = ড় +q = ঙ +r = প +s = ু +t = ট +u = জ +v = র +w = য +x = ো +y = চ +z = ঁ +shift = layer(bd_shift) + +[bd_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = ৗ +b = ণ +c = ৈ +d = ী +e = ঢ +f = ভ +g = । +h = অ +i = ঞ +j = খ +k = থ +l = ধ +m = শ +n = ষ +o = ঘ +p = ঢ় +q = ং +r = ফ +s = ূ +t = ঠ +u = ঝ +v = ল +w = য় +x = ৌ +y = ছ +z = ঃ diff --git a/layouts/be b/layouts/be new file mode 100644 index 0000000..0e438d0 --- /dev/null +++ b/layouts/be @@ -0,0 +1,67 @@ +' = ù +, = ; +. = : +/ = = +; = m +] = $ +a = q +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = , +n = n +o = o +p = p +q = a +r = r +s = s +t = t +u = u +v = v +w = z +x = x +y = y +z = w +shift = layer(be_shift) + +[be_shift:S] +' = % +, = . +. = / +/ = + +; = M +] = * +a = Q +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = ? +n = N +o = O +p = P +q = A +r = R +s = S +t = T +u = U +v = V +w = Z +x = X +y = Y +z = W diff --git a/layouts/bg b/layouts/bg new file mode 100644 index 0000000..dfccc03 --- /dev/null +++ b/layouts/bg @@ -0,0 +1,69 @@ +' = ч +, = р +. = л +/ = б +; = м +[ = ц +] = ; +a = ь +b = ф +c = ъ +d = а +e = е +f = о +g = ж +h = г +i = с +j = т +k = н +l = в +m = п +n = х +o = д +p = з +q = , +r = и +s = я +t = ш +u = к +v = э +w = у +x = й +y = щ +z = ю +shift = layer(bg_shift) + +[bg_shift:S] +' = Ч +, = Р +. = Л +/ = Б +; = М +[ = Ц +] = § +a = ѝ +b = Ф +c = Ъ +d = А +e = Е +f = О +g = Ж +h = Г +i = С +j = Т +k = Н +l = В +m = П +n = Х +o = Д +p = З +q = ы +r = И +s = Я +t = Ш +u = К +v = Э +w = У +x = Й +y = Щ +z = Ю diff --git a/layouts/br b/layouts/br new file mode 100644 index 0000000..f16ef76 --- /dev/null +++ b/layouts/br @@ -0,0 +1,65 @@ +, = , +. = . +/ = ; +; = ç +] = [ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(br_shift) + +[br_shift:S] +, = < +. = > +/ = : +; = Ç +] = { +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/brai b/layouts/brai new file mode 100644 index 0000000..1c076c7 --- /dev/null +++ b/layouts/brai @@ -0,0 +1,3 @@ +shift = layer(brai_shift) + +[brai_shift:S] diff --git a/layouts/bt b/layouts/bt new file mode 100644 index 0000000..2cd1555 --- /dev/null +++ b/layouts/bt @@ -0,0 +1,69 @@ +' = ཛ +, = ས +. = ཧ +/ = ཨ +; = ཚ +[ = ཇ +] = ཉ +a = ཏ +b = ར +c = འ +d = ད +e = ག +f = ན +g = པ +h = ཕ +i = ོ +j = བ +k = མ +l = ཙ +m = ཤ +n = ལ +o = ཅ +p = ཆ +q = ཀ +r = ང +s = ཐ +t = ི +u = ེ +v = ཡ +w = ཁ +x = ཟ +y = ུ +z = ཞ +shift = layer(bt_shift) + +[bt_shift:S] +' = ྫ +, = ྶ +. = ྷ +/ = ྸ +; = ྪ +[ = ྗ +] = ྙ +a = ྟ +b = ྲ +c = ཱ +d = ྡ +e = ྒ +f = ྣ +g = ྤ +h = ྥ +i = ཽ +j = ྦ +k = ྨ +l = ྩ +m = ྴ +n = ླ +o = ྕ +p = ྖ +q = ྐ +r = ྔ +s = ྠ +t = ྀ +u = ཻ +v = ྱ +w = ྑ +x = ྯ +y = ྄ +z = ྮ diff --git a/layouts/bw b/layouts/bw new file mode 100644 index 0000000..0f7c905 --- /dev/null +++ b/layouts/bw @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(bw_shift) + +[bw_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/by b/layouts/by new file mode 100644 index 0000000..72d90ff --- /dev/null +++ b/layouts/by @@ -0,0 +1,69 @@ +' = э +, = б +. = ю +/ = . +; = ж +[ = х +] = ' +a = ф +b = і +c = с +d = в +e = у +f = а +g = п +h = р +i = ш +j = о +k = л +l = д +m = ь +n = т +o = ў +p = з +q = й +r = к +s = ы +t = е +u = г +v = м +w = ц +x = ч +y = н +z = я +shift = layer(by_shift) + +[by_shift:S] +' = Э +, = Б +. = Ю +/ = , +; = Ж +[ = Х +] = ' +a = Ф +b = І +c = С +d = В +e = У +f = А +g = П +h = Р +i = Ш +j = О +k = Л +l = Д +m = Ь +n = Т +o = Ў +p = З +q = Й +r = К +s = Ы +t = Е +u = Г +v = М +w = Ц +x = Ч +y = Н +z = Я diff --git a/layouts/ca b/layouts/ca new file mode 100644 index 0000000..9cb8e0b --- /dev/null +++ b/layouts/ca @@ -0,0 +1,63 @@ +, = , +. = . +/ = é +; = ; +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(ca_shift) + +[ca_shift:S] +, = ' +. = . +/ = É +; = : +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/cd b/layouts/cd new file mode 100644 index 0000000..db60364 --- /dev/null +++ b/layouts/cd @@ -0,0 +1,69 @@ +' = ɔ +, = ; +. = : +/ = ! +; = m +[ = ɛ +] = * +a = q +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = , +n = n +o = o +p = p +q = a +r = r +s = s +t = t +u = u +v = v +w = z +x = x +y = y +z = w +shift = layer(cd_shift) + +[cd_shift:S] +' = Ɔ +, = . +. = / +/ = ' +; = M +[ = Ɛ +] = ^ +a = Q +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = ? +n = N +o = O +p = P +q = A +r = R +s = S +t = T +u = U +v = V +w = Z +x = X +y = Y +z = W diff --git a/layouts/ch b/layouts/ch new file mode 100644 index 0000000..4091c14 --- /dev/null +++ b/layouts/ch @@ -0,0 +1,68 @@ +' = ä +, = , +. = . +/ = - +; = ö +[ = ü +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(ch_shift) + +[ch_shift:S] +' = à +, = ; +. = : +/ = _ +; = é +[ = è +] = ! +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/cm b/layouts/cm new file mode 100644 index 0000000..89301ba --- /dev/null +++ b/layouts/cm @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(cm_shift) + +[cm_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/cn b/layouts/cn new file mode 100644 index 0000000..9b1dc9e --- /dev/null +++ b/layouts/cn @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(cn_shift) + +[cn_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/colemak b/layouts/colemak new file mode 100644 index 0000000..b3e302c --- /dev/null +++ b/layouts/colemak @@ -0,0 +1,33 @@ +w = w +, = , +s = r +a = a +c = c +g = d +q = q +e = f +] = ] +d = s +/ = / +; = o +' = ' +r = p +f = t +t = g +u = l +. = . +j = n +k = e +p = ; +o = y +z = z +h = h +i = u +[ = [ +v = v +l = i +m = m +n = k +x = x +b = b +y = j diff --git a/layouts/cz b/layouts/cz new file mode 100644 index 0000000..101c1cd --- /dev/null +++ b/layouts/cz @@ -0,0 +1,69 @@ +' = § +, = , +. = . +/ = - +; = ů +[ = ú +] = ) +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(cz_shift) + +[cz_shift:S] +' = ! +, = ? +. = : +/ = _ +; = " +[ = / +] = ( +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/de b/layouts/de new file mode 100644 index 0000000..3fb8d64 --- /dev/null +++ b/layouts/de @@ -0,0 +1,69 @@ +' = ä +, = , +. = . +/ = - +; = ö +[ = ü +] = + +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(de_shift) + +[de_shift:S] +' = Ä +, = ; +. = : +/ = _ +; = Ö +[ = +] = * +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/dk b/layouts/dk new file mode 100644 index 0000000..e7c10e8 --- /dev/null +++ b/layouts/dk @@ -0,0 +1,67 @@ +' = ø +, = , +. = . +/ = - +; = æ +[ = å +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(dk_shift) + +[dk_shift:S] +' = Ø +, = ; +. = : +/ = _ +; = Æ +[ = Å +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/dvorak b/layouts/dvorak new file mode 100644 index 0000000..b8d4489 --- /dev/null +++ b/layouts/dvorak @@ -0,0 +1,33 @@ +t = y +h = d +a = a +c = j +d = e +[ = / +f = u +z = ; +r = p +n = b +; = s +] = = +i = c +x = q +o = r +m = m +u = g +l = n +' = - +e = . +k = t +v = k +/ = z +b = x +. = v +g = i +j = h +, = w +p = l +w = , +y = f +q = ' +s = o diff --git a/layouts/dz b/layouts/dz new file mode 100644 index 0000000..116a367 --- /dev/null +++ b/layouts/dz @@ -0,0 +1,67 @@ +' = ù +, = ; +. = : +/ = ! +; = m +] = $ +a = q +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = , +n = n +o = o +p = p +q = a +r = r +s = s +t = t +u = u +v = v +w = z +x = x +y = y +z = w +shift = layer(dz_shift) + +[dz_shift:S] +' = % +, = . +. = / +/ = § +; = M +] = £ +a = Q +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = ? +n = N +o = O +p = P +q = A +r = R +s = S +t = T +u = U +v = V +w = Z +x = X +y = Y +z = W diff --git a/layouts/ee b/layouts/ee new file mode 100644 index 0000000..b2b3be1 --- /dev/null +++ b/layouts/ee @@ -0,0 +1,69 @@ +' = ä +, = , +. = . +/ = - +; = ö +[ = ü +] = õ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(ee_shift) + +[ee_shift:S] +' = Ä +, = ; +. = : +/ = _ +; = Ö +[ = +] = Õ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/epo b/layouts/epo new file mode 100644 index 0000000..ea6214c --- /dev/null +++ b/layouts/epo @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = ĵ +] = ĥ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = ŝ +r = r +s = s +t = t +u = u +v = v +w = ĝ +x = ĉ +y = ŭ +z = z +shift = layer(epo_shift) + +[epo_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = Ĵ +] = Ĥ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Ŝ +r = R +s = S +t = T +u = U +v = V +w = Ĝ +x = Ĉ +y = +z = Z diff --git a/layouts/es b/layouts/es new file mode 100644 index 0000000..00b32eb --- /dev/null +++ b/layouts/es @@ -0,0 +1,65 @@ +, = , +. = . +/ = - +; = ñ +] = + +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(es_shift) + +[es_shift:S] +, = ; +. = : +/ = _ +; = Ñ +] = * +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/et b/layouts/et new file mode 100644 index 0000000..f93823a --- /dev/null +++ b/layouts/et @@ -0,0 +1,59 @@ +' = ፦ +, = ፣ +. = ፤ +/ = ፧ +; = ። +[ = ፀ +] = ጨ +a = ﹧ +b = በ +c = ቸ +d = ደ +e = ﹩ +f = ፈ +g = ገ +h = ሀ +i = ﹱ +j = ጀ +k = ከ +l = ለ +m = መ +n = ነ +o = ﹳ +p = ፐ +q = ቀ +r = ረ +s = ሰ +t = ተ +u = ﹵ +v = ሸ +w = ወ +x = አ +y = የ +z = ዘ +shift = layer(et_shift) + +[et_shift:S] +' = ፥ +/ = ? +; = ፡ +[ = ጸ +] = ኀ +a = ﹨ +c = ﹸ +d = ዸ +e = ﹰ +g = ጘ +h = ሐ +i = ﹲ +k = ኸ +n = ኘ +o = ﹴ +p = ጰ +q = ቐ +s = ሠ +t = ጠ +u = ﹶ +v = ቨ +x = ዐ +z = ዠ diff --git a/layouts/fi b/layouts/fi new file mode 100644 index 0000000..352a044 --- /dev/null +++ b/layouts/fi @@ -0,0 +1,67 @@ +' = ä +, = , +. = . +/ = - +; = ö +[ = å +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(fi_shift) + +[fi_shift:S] +' = Ä +, = ; +. = : +/ = _ +; = Ö +[ = Å +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/fo b/layouts/fo new file mode 100644 index 0000000..8a76fc0 --- /dev/null +++ b/layouts/fo @@ -0,0 +1,69 @@ +' = ø +, = , +. = . +/ = - +; = æ +[ = å +] = ð +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(fo_shift) + +[fo_shift:S] +' = Ø +, = ; +. = : +/ = _ +; = Æ +[ = Å +] = Ð +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/fr b/layouts/fr new file mode 100644 index 0000000..45e74cc --- /dev/null +++ b/layouts/fr @@ -0,0 +1,67 @@ +' = ù +, = ; +. = : +/ = ! +; = m +] = $ +a = q +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = , +n = n +o = o +p = p +q = a +r = r +s = s +t = t +u = u +v = v +w = z +x = x +y = y +z = w +shift = layer(fr_shift) + +[fr_shift:S] +' = % +, = . +. = / +/ = § +; = M +] = £ +a = Q +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = ? +n = N +o = O +p = P +q = A +r = R +s = S +t = T +u = U +v = V +w = Z +x = X +y = Y +z = W diff --git a/layouts/gb b/layouts/gb new file mode 100644 index 0000000..982be5b --- /dev/null +++ b/layouts/gb @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(gb_shift) + +[gb_shift:S] +' = @ +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/ge b/layouts/ge new file mode 100644 index 0000000..4511a8e --- /dev/null +++ b/layouts/ge @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = ა +b = ბ +c = ც +d = დ +e = ე +f = ფ +g = გ +h = ჰ +i = ი +j = ჯ +k = კ +l = ლ +m = მ +n = ნ +o = ო +p = პ +q = ქ +r = რ +s = ს +t = ტ +u = უ +v = ვ +w = წ +x = ხ +y = ყ +z = ზ +shift = layer(ge_shift) + +[ge_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = ჩ +d = D +e = E +f = F +g = G +h = H +i = I +j = ჟ +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = ღ +s = შ +t = თ +u = U +v = V +w = ჭ +x = X +y = Y +z = ძ diff --git a/layouts/gh b/layouts/gh new file mode 100644 index 0000000..29edadd --- /dev/null +++ b/layouts/gh @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(gh_shift) + +[gh_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/gn b/layouts/gn new file mode 100644 index 0000000..7bd193c --- /dev/null +++ b/layouts/gn @@ -0,0 +1,51 @@ +' = ߯ +, = ؛ +. = ، +/ = ߹ +; = ߡ +[ = ߳ +] = $ +a = ߫ +b = ߓ +c = ߗ +d = ߘ +e = ߍ +f = ߝ +g = ߜ +h = ߤ +i = ߌ +j = ߖ +k = ߞ +l = ߟ +m = ߸ +n = ߣ +o = ߐ +p = ߔ +q = ߊ +r = ߙ +s = ߛ +t = ߕ +u = ߎ +v = ߢ +w = ߠ +x = ، +y = ߦ +z = ߥ +shift = layer(gn_shift) + +[gn_shift:S] +' = ߸ +. = / +] = £ +c = ߩ +e = ߋ +g = ߷ +j = ߨ +l = ߪ +m = ؟ +n = ߒ +o = ߏ +r = ߚ +u = ߶ +w = < +y = ߧ diff --git a/layouts/gr b/layouts/gr new file mode 100644 index 0000000..518a9a9 --- /dev/null +++ b/layouts/gr @@ -0,0 +1,67 @@ +' = ' +, = , +. = . +/ = / +[ = [ +] = ] +a = α +b = β +c = ψ +d = δ +e = ε +f = φ +g = γ +h = η +i = ι +j = ξ +k = κ +l = λ +m = μ +n = ν +o = ο +p = π +q = ; +r = ρ +s = σ +t = τ +u = θ +v = ω +w = ς +x = χ +y = υ +z = ζ +shift = layer(gr_shift) + +[gr_shift:S] +' = " +, = < +. = > +/ = ? +[ = { +] = } +a = Α +b = Β +c = Ψ +d = Δ +e = Ε +f = Φ +g = Γ +h = Η +i = Ι +j = Ξ +k = Κ +l = Λ +m = Μ +n = Ν +o = Ο +p = Π +q = : +r = Ρ +s = Σ +t = Τ +u = Θ +v = Ω +w = Σ +x = Χ +y = Υ +z = Ζ diff --git a/layouts/hr b/layouts/hr new file mode 100644 index 0000000..ee4420f --- /dev/null +++ b/layouts/hr @@ -0,0 +1,69 @@ +' = ć +, = , +. = . +/ = - +; = č +[ = š +] = đ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(hr_shift) + +[hr_shift:S] +' = Ć +, = ; +. = : +/ = _ +; = Č +[ = Š +] = Đ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/hu b/layouts/hu new file mode 100644 index 0000000..728ae41 --- /dev/null +++ b/layouts/hu @@ -0,0 +1,69 @@ +' = á +, = , +. = . +/ = - +; = é +[ = ő +] = ú +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(hu_shift) + +[hu_shift:S] +' = Á +, = ? +. = : +/ = _ +; = É +[ = Ő +] = ¬ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/id b/layouts/id new file mode 100644 index 0000000..b10ab7a --- /dev/null +++ b/layouts/id @@ -0,0 +1,53 @@ +, = ، +. = . +/ = / +; = ؛ +[ = ] +] = [ +a = ا +b = ب +c = چ +d = د +e = ى +f = ف +g = ݢ +h = ه +i = ئ +j = ج +k = ک +l = ل +m = م +n = ن +o = ء +p = ڤ +q = ق +r = ر +s = س +t = ت +u = ؤ +v = ث +w = و +x = خ +y = ي +z = ز +shift = layer(id_shift) + +[id_shift:S] +, = > +. = < +/ = ؟ +; = : +[ = } +] = { +a = أ +e = ع +g = ڠ +h = ح +i = إ +k = ك +n = ڽ +o = ٴ +q = آ +s = ش +t = ة +z = ذ diff --git a/layouts/ie b/layouts/ie new file mode 100644 index 0000000..4787045 --- /dev/null +++ b/layouts/ie @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(ie_shift) + +[ie_shift:S] +' = @ +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/il b/layouts/il new file mode 100644 index 0000000..2f831bd --- /dev/null +++ b/layouts/il @@ -0,0 +1,69 @@ +' = , +, = ת +. = ץ +/ = . +; = ף +[ = ] +] = [ +a = ש +b = נ +c = ב +d = ג +e = ק +f = כ +g = ע +h = י +i = ן +j = ח +k = ל +l = ך +m = צ +n = מ +o = ם +p = פ +q = / +r = ר +s = ד +t = א +u = ו +v = ה +w = ' +x = ס +y = ט +z = ז +shift = layer(il_shift) + +[il_shift:S] +' = " +, = > +. = < +/ = ? +; = : +[ = } +] = { +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/in b/layouts/in new file mode 100644 index 0000000..8972800 --- /dev/null +++ b/layouts/in @@ -0,0 +1,69 @@ +' = ट +, = , +. = . +/ = य +; = च +[ = ड +] = ़ +a = ो +b = व +c = म +d = ् +e = ा +f = ि +g = ु +h = प +i = ग +j = र +k = क +l = त +m = स +n = ल +o = द +p = ज +q = ौ +r = ी +s = े +t = ू +u = ह +v = न +w = ै +x = ं +y = ब +z = ॆ +shift = layer(in_shift) + +[in_shift:S] +' = ठ +, = ष +. = । +/ = य़ +; = छ +[ = ढ +] = ञ +a = ओ +b = ऴ +c = ण +d = अ +e = आ +f = इ +g = उ +h = फ +i = घ +j = ऱ +k = ख +l = थ +m = श +n = ळ +o = ध +p = झ +q = औ +r = ई +s = ए +t = ऊ +u = ङ +v = ऩ +w = ऐ +x = ँ +y = भ +z = ऎ diff --git a/layouts/iq b/layouts/iq new file mode 100644 index 0000000..e3db048 --- /dev/null +++ b/layouts/iq @@ -0,0 +1,69 @@ +' = ط +, = و +. = ز +/ = ظ +; = ك +[ = ج +] = د +a = ش +b = ﻻ +c = ؤ +d = ي +e = ث +f = ب +g = ل +h = ا +i = ه +j = ت +k = ن +l = م +m = ة +n = ى +o = خ +p = ح +q = ض +r = ق +s = س +t = ف +u = ع +v = ر +w = ص +x = ء +y = غ +z = ئ +shift = layer(iq_shift) + +[iq_shift:S] +' = " +, = , +. = . +/ = ؟ +; = : +[ = < +] = > +a = ِ +b = ﻵ +c = } +d = ] +e = ُ +f = [ +g = ﻷ +h = أ +i = ÷ +j = ـ +k = ، +l = / +m = ' +n = آ +o = × +p = ؛ +q = َ +r = ٌ +s = ٍ +t = ﻹ +u = ` +v = { +w = ً +x = ْ +y = إ +z = ~ diff --git a/layouts/ir b/layouts/ir new file mode 100644 index 0000000..e6d4536 --- /dev/null +++ b/layouts/ir @@ -0,0 +1,69 @@ +' = گ +, = و +. = . +/ = / +; = ک +[ = ج +] = چ +a = ش +b = ذ +c = ز +d = ی +e = ث +f = ب +g = ل +h = ا +i = ه +j = ت +k = ن +l = م +m = پ +n = د +o = خ +p = ح +q = ض +r = ق +s = س +t = ف +u = ع +v = ر +w = ص +x = ط +y = غ +z = ظ +shift = layer(ir_shift) + +[ir_shift:S] +' = ؛ +, = > +. = < +/ = ؟ +; = : +[ = } +] = { +a = ؤ +b = ‌ +c = ژ +d = ي +e = ٍ +f = إ +g = أ +h = آ +i = ّ +j = ة +k = » +l = « +m = ء +n = ٔ +o = ] +p = [ +q = ْ +r = ً +s = ئ +t = ُ +u = َ +v = ٰ +w = ٌ +x = ٓ +y = ِ +z = ك diff --git a/layouts/is b/layouts/is new file mode 100644 index 0000000..be598ca --- /dev/null +++ b/layouts/is @@ -0,0 +1,67 @@ +, = , +. = . +/ = þ +; = æ +[ = ð +] = ' +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(is_shift) + +[is_shift:S] +, = ; +. = : +/ = Þ +; = Æ +[ = Ð +] = ? +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/it b/layouts/it new file mode 100644 index 0000000..3533116 --- /dev/null +++ b/layouts/it @@ -0,0 +1,69 @@ +' = à +, = , +. = . +/ = - +; = ò +[ = è +] = + +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(it_shift) + +[it_shift:S] +' = ° +, = ; +. = : +/ = _ +; = ç +[ = é +] = * +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/jp b/layouts/jp new file mode 100644 index 0000000..be1df40 --- /dev/null +++ b/layouts/jp @@ -0,0 +1,69 @@ +' = : +, = , +. = . +/ = / +; = ; +[ = @ +] = [ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(jp_shift) + +[jp_shift:S] +' = * +, = < +. = > +/ = ? +; = + +[ = ` +] = { +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/jv b/layouts/jv new file mode 100644 index 0000000..6e91af2 --- /dev/null +++ b/layouts/jv @@ -0,0 +1,68 @@ +' = ꦵ +, = ꧈ +. = ꧉ +/ = ꦂ +; = ꧇ +[ = ꧊ +] = ꧌ +a = ꦻ +b = ꦧ +c = ꦕ +d = ꦢ +e = ꦼ +f = ꦝ +g = ꦒ +h = ꦲ +i = ꦶ +j = ꦗ +k = ꦏ +l = ꦭ +m = ꦩ +n = ꦤ +o = ꦺ +p = ꦥ +q = ꦐ +r = ꦫ +s = ꦱ +t = ꦠ +u = ꦸ +v = ꦛ +w = ꦮ +x = ꦚ +y = ꦪ +z = ꦔ +shift = layer(jv_shift) + +[jv_shift:S] +' = " +, = ꦆ +. = ꦇ +; = ꦈ +[ = ꧋ +] = ꧍ +a = ꦄ +b = ꦨ +c = ꦖ +d = ꦣ +e = ꦌ +f = ꦞ +g = ꦓ +h = ꦃ +i = ꦷ +j = ꦙ +k = ꦑ +l = ꦊ +m = ꦀ +n = ꦟ +o = ꦴ +p = ꦦ +q = ꦰ +r = ꦬ +s = ꦯ +t = ꦡ +u = ꦹ +v = ꦜ +w = ꦍ +x = ꦘ +y = ꦾ +z = ꦁ diff --git a/layouts/ke b/layouts/ke new file mode 100644 index 0000000..6bafbd6 --- /dev/null +++ b/layouts/ke @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(ke_shift) + +[ke_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/kg b/layouts/kg new file mode 100644 index 0000000..7d91de9 --- /dev/null +++ b/layouts/kg @@ -0,0 +1,69 @@ +' = э +, = б +. = ю +/ = . +; = ж +[ = х +] = ъ +a = ф +b = и +c = с +d = в +e = у +f = а +g = п +h = р +i = ш +j = о +k = л +l = д +m = ь +n = т +o = щ +p = з +q = й +r = к +s = ы +t = е +u = г +v = м +w = ц +x = ч +y = н +z = я +shift = layer(kg_shift) + +[kg_shift:S] +' = Э +, = Б +. = Ю +/ = , +; = Ж +[ = Х +] = Ъ +a = Ф +b = И +c = С +d = В +e = У +f = А +g = П +h = Р +i = Ш +j = О +k = Л +l = Д +m = Ь +n = Т +o = Щ +p = З +q = Й +r = К +s = Ы +t = Е +u = Г +v = М +w = Ц +x = Ч +y = Н +z = Я diff --git a/layouts/kh b/layouts/kh new file mode 100644 index 0000000..ed388e7 --- /dev/null +++ b/layouts/kh @@ -0,0 +1,69 @@ +' = ់ +, = ៼ +. = ។ +/ = ៊ +; = ើ +[ = ៀ +] = ឪ +a = ា +b = ប +c = ច +d = ដ +e = េ +f = ថ +g = ង +h = ហ +i = ិ +j = ្ +k = ក +l = ល +m = ម +n = ន +o = ោ +p = ផ +q = ឆ +r = រ +s = ស +t = ត +u = ុ +v = វ +w = ឹ +x = ខ +y = យ +z = ឋ +shift = layer(kh_shift) + +[kh_shift:S] +' = ៉ +, = ៻ +. = ៕ +/ = ? +; = ៾ +[ = ឿ +] = ឧ +a = ៿ +b = ព +c = ជ +d = ឌ +e = ែ +f = ធ +g = អ +h = ះ +i = ី +j = ញ +k = គ +l = ឡ +m = ំ +n = ណ +o = ៅ +p = ភ +q = ឈ +r = ឬ +s = ៃ +t = ទ +u = ូ +v = ៽ +w = ឺ +x = ឃ +y = ួ +z = ឍ diff --git a/layouts/kr b/layouts/kr new file mode 100644 index 0000000..3b703ae --- /dev/null +++ b/layouts/kr @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(kr_shift) + +[kr_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/kz b/layouts/kz new file mode 100644 index 0000000..fea0b67 --- /dev/null +++ b/layouts/kz @@ -0,0 +1,69 @@ +' = э +, = б +. = ю +/ = № +; = ж +[ = х +] = ъ +a = ф +b = и +c = с +d = в +e = у +f = а +g = п +h = р +i = ш +j = о +k = л +l = д +m = ь +n = т +o = щ +p = з +q = й +r = к +s = ы +t = е +u = г +v = м +w = ц +x = ч +y = н +z = я +shift = layer(kz_shift) + +[kz_shift:S] +' = Э +, = Б +. = Ю +/ = ? +; = Ж +[ = Х +] = Ъ +a = Ф +b = И +c = С +d = В +e = У +f = А +g = П +h = Р +i = Ш +j = О +k = Л +l = Д +m = Ь +n = Т +o = Щ +p = З +q = Й +r = К +s = Ы +t = Е +u = Г +v = М +w = Ц +x = Ч +y = Н +z = Я diff --git a/layouts/la b/layouts/la new file mode 100644 index 0000000..56174f8 --- /dev/null +++ b/layouts/la @@ -0,0 +1,60 @@ +' = ງ +, = ມ +. = ໃ +/ = ຝ +; = ວ +[ = ບ +] = ລ +a = ັ +b = ຶ +c = ແ +d = ກ +e = ຳ +f = ດ +g = ເ +h = ້ +i = ຣ +j = ່ +k = າ +l = ສ +m = ທ +n = ື +o = ນ +p = ຍ +q = ົ +r = ພ +s = ຫ +t = ະ +u = ີ +v = ອ +w = ໄ +x = ປ +y = ິ +z = ຜ +shift = layer(la_shift) + +[la_shift:S] +' = = +, = ` +. = $ +/ = ) +; = % +[ = - +] = } +c = ຯ +d = . +f = , +g = : +h = ໊ +i = ຮ +j = ໋ +k = ! +l = ? +m = ໆ +p = ຽ +r = _ +s = ; +t = + +w = ໐ +x = ( +z = ₭ diff --git a/layouts/latam b/layouts/latam new file mode 100644 index 0000000..74c53ca --- /dev/null +++ b/layouts/latam @@ -0,0 +1,67 @@ +' = { +, = , +. = . +/ = - +; = ñ +] = + +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(latam_shift) + +[latam_shift:S] +' = [ +, = ; +. = : +/ = _ +; = Ñ +] = * +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/lk b/layouts/lk new file mode 100644 index 0000000..4ecce11 --- /dev/null +++ b/layouts/lk @@ -0,0 +1,68 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = අ +b = බ +c = ච +d = ද +e = එ +f = ෆ +g = ග +h = හ +i = ඉ +j = ජ +k = ක +l = ල +m = ම +n = න +o = ඔ +p = ප +q = ඍ +r = ර +s = ස +t = ත +u = උ +v = ව +w = ඇ +x = ඳ +y = ය +z = ඤ +shift = layer(lk_shift) + +[lk_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = ආ +b = භ +c = ඡ +d = ධ +e = ඒ +f = F +g = ඝ +h = ඃ +i = ඊ +j = ඣ +k = ඛ +l = ළ +m = ඹ +n = ණ +o = ඕ +p = ඵ +q = ඎ +r = ් +s = ශ +t = ථ +u = ඌ +w = ඈ +x = ඬ +y = ් +z = ඥ diff --git a/layouts/lt b/layouts/lt new file mode 100644 index 0000000..9464f78 --- /dev/null +++ b/layouts/lt @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(lt_shift) + +[lt_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/lv b/layouts/lv new file mode 100644 index 0000000..95dc980 --- /dev/null +++ b/layouts/lv @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(lv_shift) + +[lv_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/ma b/layouts/ma new file mode 100644 index 0000000..ffb23cb --- /dev/null +++ b/layouts/ma @@ -0,0 +1,69 @@ +' = ط +, = و +. = ز +/ = ظ +; = ك +[ = ج +] = د +a = ش +b = ﻻ +c = ؤ +d = ي +e = ث +f = ب +g = ل +h = ا +i = ه +j = ت +k = ن +l = م +m = ة +n = ى +o = خ +p = ح +q = ض +r = ق +s = س +t = ف +u = ع +v = ر +w = ص +x = ء +y = غ +z = ئ +shift = layer(ma_shift) + +[ma_shift:S] +' = " +, = , +. = . +/ = ؟ +; = : +[ = < +] = > +a = ِ +b = ﻵ +c = } +d = ] +e = ُ +f = [ +g = ﻷ +h = أ +i = ÷ +j = ـ +k = ، +l = / +m = ' +n = آ +o = × +p = ؛ +q = َ +r = ٌ +s = ٍ +t = ﻹ +u = ` +v = { +w = ً +x = ْ +y = إ +z = ~ diff --git a/layouts/mao b/layouts/mao new file mode 100644 index 0000000..e281567 --- /dev/null +++ b/layouts/mao @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(mao_shift) + +[mao_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/md b/layouts/md new file mode 100644 index 0000000..7dd5e90 --- /dev/null +++ b/layouts/md @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(md_shift) + +[md_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/me b/layouts/me new file mode 100644 index 0000000..0981fbf --- /dev/null +++ b/layouts/me @@ -0,0 +1,69 @@ +' = ć +, = , +. = . +/ = - +; = č +[ = š +] = đ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(me_shift) + +[me_shift:S] +' = Ć +, = ; +. = : +/ = _ +; = Č +[ = Š +] = Đ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/mk b/layouts/mk new file mode 100644 index 0000000..ca148b9 --- /dev/null +++ b/layouts/mk @@ -0,0 +1,69 @@ +' = ќ +, = , +. = . +/ = / +; = ч +[ = ш +] = ѓ +a = а +b = б +c = ц +d = д +e = е +f = ф +g = г +h = х +i = и +j = ј +k = к +l = л +m = м +n = н +o = о +p = п +q = љ +r = р +s = с +t = т +u = у +v = в +w = њ +x = џ +y = ѕ +z = з +shift = layer(mk_shift) + +[mk_shift:S] +' = Ќ +, = ; +. = : +/ = ? +; = Ч +[ = Ш +] = Ѓ +a = А +b = Б +c = Ц +d = Д +e = Е +f = Ф +g = Г +h = Х +i = И +j = Ј +k = К +l = Л +m = М +n = Н +o = О +p = П +q = Љ +r = Р +s = С +t = Т +u = У +v = В +w = Њ +x = Џ +y = Ѕ +z = З diff --git a/layouts/ml b/layouts/ml new file mode 100644 index 0000000..9165100 --- /dev/null +++ b/layouts/ml @@ -0,0 +1,67 @@ +' = ù +, = ; +. = : +/ = ! +; = m +] = $ +a = q +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = , +n = n +o = o +p = p +q = a +r = r +s = s +t = t +u = u +v = v +w = z +x = x +y = y +z = w +shift = layer(ml_shift) + +[ml_shift:S] +' = % +, = . +. = / +/ = § +; = M +] = £ +a = Q +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = ? +n = N +o = O +p = P +q = A +r = R +s = S +t = T +u = U +v = V +w = Z +x = X +y = Y +z = W diff --git a/layouts/mm b/layouts/mm new file mode 100644 index 0000000..328759f --- /dev/null +++ b/layouts/mm @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = း +[ = ဟ +] = ဩ +a = ေ +b = ဘ +c = ခ +d = ိ +e = န +f = ် +g = ါ +h = ့ +i = င +j = ြ +k = ု +l = ူ +m = ာ +n = ည +o = သ +p = စ +q = ဆ +r = မ +s = ျ +t = အ +u = က +v = လ +w = တ +x = ထ +y = ပ +z = ဖ +shift = layer(mm_shift) + +[mm_shift:S] +' = " +, = ၊ +. = ။ +/ = ? +; = ဂ +[ = ဧ +] = ဪ +a = ဗ +b = ယ +c = ဃ +d = ီ +e = ဣ +f = ္ +g = ွ +h = ံ +i = ၍ +j = ဲ +k = ဒ +l = ဓ +m = ဦ +n = ဉ +o = ဿ +p = ဏ +q = ဈ +r = ၎ +s = ှ +t = ဤ +u = ဥ +v = ဠ +w = ဝ +x = ဌ +y = ၌ +z = ဇ diff --git a/layouts/mn b/layouts/mn new file mode 100644 index 0000000..a0891a0 --- /dev/null +++ b/layouts/mn @@ -0,0 +1,69 @@ +' = п +, = ь +. = в +/ = ю +; = д +[ = к +] = ъ +a = й +b = м +c = ё +d = б +e = у +f = ө +g = а +h = х +i = ш +j = р +k = о +l = л +m = т +n = и +o = ү +p = з +q = ф +r = ж +s = ы +t = э +u = г +v = с +w = ц +x = ч +y = н +z = я +shift = layer(mn_shift) + +[mn_shift:S] +' = П +, = Ь +. = В +/ = Ю +; = Д +[ = К +] = Ъ +a = Й +b = М +c = Ё +d = Б +e = У +f = Ө +g = А +h = Х +i = Ш +j = Р +k = О +l = Л +m = Т +n = И +o = Ү +p = З +q = Ф +r = Ж +s = Ы +t = Э +u = Г +v = С +w = Ц +x = Ч +y = Н +z = Я diff --git a/layouts/mt b/layouts/mt new file mode 100644 index 0000000..2789c9e --- /dev/null +++ b/layouts/mt @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = ġ +] = ħ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(mt_shift) + +[mt_shift:S] +' = @ +, = < +. = > +/ = ? +; = : +[ = Ġ +] = Ħ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/mv b/layouts/mv new file mode 100644 index 0000000..cd28ee6 --- /dev/null +++ b/layouts/mv @@ -0,0 +1,69 @@ +' = ' +, = ، +. = . +/ = / +; = ; +[ = [ +] = ] +a = ަ +b = ބ +c = ޗ +d = ދ +e = ެ +f = ފ +g = ގ +h = ހ +i = ި +j = ޖ +k = ކ +l = ލ +m = މ +n = ނ +o = ޮ +p = ޕ +q = ް +r = ރ +s = ސ +t = ތ +u = ު +v = ވ +w = އ +x = × +y = ޔ +z = ޒ +shift = layer(mv_shift) + +[mv_shift:S] +' = " +, = < +. = > +/ = ؟ +; = : +[ = { +] = } +a = ާ +b = ޞ +c = ޝ +d = ޑ +e = ޭ +f = ﷲ +g = ޣ +h = ޙ +i = ީ +j = ޛ +k = ޚ +l = ޅ +m = ޟ +n = ޏ +o = ޯ +p = ÷ +q = ޤ +r = ޜ +s = ށ +t = ޓ +u = ޫ +v = ޥ +w = ޢ +x = ޘ +y = ޠ +z = ޡ diff --git a/layouts/my b/layouts/my new file mode 100644 index 0000000..2372fd4 --- /dev/null +++ b/layouts/my @@ -0,0 +1,69 @@ +' = ط +, = و +. = ز +/ = ظ +; = ک +[ = ج +] = د +a = ش +b = ﻻ +c = ؤ +d = ي +e = ث +f = ب +g = ل +h = ا +i = ه +j = ت +k = ن +l = م +m = ة +n = ى +o = خ +p = ک +q = ض +r = ق +s = س +t = ف +u = ع +v = ر +w = ص +x = ء +y = غ +z = ئ +shift = layer(my_shift) + +[my_shift:S] +' = " +, = ‌ +. = . +/ = ؟ +; = : +[ = < +] = > +a = ۏ +b = ﻵ +c = } +d = ] +e = ڬ +f = [ +g = ﻷ +h = أ +i = ÷ +j = ـ +k = ، +l = / +m = ' +n = آ +o = × +p = ؛ +q = چ +r = ـ +s = ڨ +t = ﻹ +u = ` +v = { +w = ڠ +x = ڽ +y = إ +z = ~ diff --git a/layouts/ng b/layouts/ng new file mode 100644 index 0000000..7dd4996 --- /dev/null +++ b/layouts/ng @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(ng_shift) + +[ng_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/nl b/layouts/nl new file mode 100644 index 0000000..a888d3d --- /dev/null +++ b/layouts/nl @@ -0,0 +1,65 @@ +, = , +. = . +/ = - +; = + +] = * +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(nl_shift) + +[nl_shift:S] +, = ; +. = : +/ = = +; = ± +] = | +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/no b/layouts/no new file mode 100644 index 0000000..0e31110 --- /dev/null +++ b/layouts/no @@ -0,0 +1,67 @@ +' = æ +, = , +. = . +/ = - +; = ø +[ = å +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(no_shift) + +[no_shift:S] +' = Æ +, = ; +. = : +/ = _ +; = Ø +[ = Å +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/np b/layouts/np new file mode 100644 index 0000000..155054c --- /dev/null +++ b/layouts/np @@ -0,0 +1,69 @@ +' = ' +, = , +. = । +/ = ् +; = ; +[ = इ +] = ए +a = ा +b = ब +c = छ +d = द +e = े +f = उ +g = ग +h = ह +i = ि +j = ज +k = क +l = ल +m = म +n = न +o = ो +p = प +q = ट +r = र +s = स +t = त +u = ु +v = व +w = ौ +x = ड +y = य +z = ष +shift = layer(np_shift) + +[np_shift:S] +' = " +, = ङ +. = ॥ +/ = ? +; = : +[ = ई +] = ऐ +a = आ +b = भ +c = च +d = ध +e = ै +f = ऊ +g = घ +h = अ +i = ी +j = झ +k = ख +l = ळ +m = ं +n = ण +o = ओ +p = फ +q = ठ +r = ृ +s = श +t = थ +u = ू +v = ँ +w = औ +x = ढ +y = ञ +z = ऋ diff --git a/layouts/ph b/layouts/ph new file mode 100644 index 0000000..0e346a1 --- /dev/null +++ b/layouts/ph @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(ph_shift) + +[ph_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/pk b/layouts/pk new file mode 100644 index 0000000..9fb1983 --- /dev/null +++ b/layouts/pk @@ -0,0 +1,58 @@ +, = ، +. = ۔ +; = ؛ +a = ا +b = ب +c = چ +d = د +e = ع +f = ف +g = گ +h = ح +i = ی +j = ج +k = ک +l = ل +m = م +n = ن +o = ہ +p = پ +q = ق +r = ر +s = س +t = ت +u = ء +v = ط +w = و +x = ش +y = ے +z = ز +shift = layer(pk_shift) + +[pk_shift:S] +/ = ؟ +a = آ +c = ث +d = ڈ +e = ٰ +f = ّ +g = غ +h = ھ +i = ِ +j = ض +k = خ +l = ٔ +m = ٘ +n = ں +o = ۃ +p = ُ +q = ْ +r = ڑ +s = ص +t = ٹ +u = ئ +v = ظ +w = ؤ +x = ژ +y = َ +z = ذ diff --git a/layouts/pl b/layouts/pl new file mode 100644 index 0000000..12a4333 --- /dev/null +++ b/layouts/pl @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(pl_shift) + +[pl_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/pt b/layouts/pt new file mode 100644 index 0000000..47e5298 --- /dev/null +++ b/layouts/pt @@ -0,0 +1,67 @@ +' = º +, = , +. = . +/ = - +; = ç +[ = + +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(pt_shift) + +[pt_shift:S] +' = ª +, = ; +. = : +/ = _ +; = Ç +[ = * +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/ro b/layouts/ro new file mode 100644 index 0000000..729f2d7 --- /dev/null +++ b/layouts/ro @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(ro_shift) + +[ro_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/rs b/layouts/rs new file mode 100644 index 0000000..94d532b --- /dev/null +++ b/layouts/rs @@ -0,0 +1,69 @@ +' = ћ +, = , +. = . +/ = - +; = ч +[ = ш +] = ђ +a = а +b = б +c = ц +d = д +e = е +f = ф +g = г +h = х +i = и +j = ј +k = к +l = л +m = м +n = н +o = о +p = п +q = љ +r = р +s = с +t = т +u = у +v = в +w = њ +x = џ +y = з +z = ж +shift = layer(rs_shift) + +[rs_shift:S] +' = Ћ +, = ; +. = : +/ = _ +; = Ч +[ = Ш +] = Ђ +a = А +b = Б +c = Ц +d = Д +e = Е +f = Ф +g = Г +h = Х +i = И +j = Ј +k = К +l = Л +m = М +n = Н +o = О +p = П +q = Љ +r = Р +s = С +t = Т +u = У +v = В +w = Њ +x = Џ +y = З +z = Ж diff --git a/layouts/ru b/layouts/ru new file mode 100644 index 0000000..d736f88 --- /dev/null +++ b/layouts/ru @@ -0,0 +1,69 @@ +' = э +, = б +. = ю +/ = . +; = ж +[ = х +] = ъ +a = ф +b = и +c = с +d = в +e = у +f = а +g = п +h = р +i = ш +j = о +k = л +l = д +m = ь +n = т +o = щ +p = з +q = й +r = к +s = ы +t = е +u = г +v = м +w = ц +x = ч +y = н +z = я +shift = layer(ru_shift) + +[ru_shift:S] +' = Э +, = Б +. = Ю +/ = , +; = Ж +[ = Х +] = Ъ +a = Ф +b = И +c = С +d = В +e = У +f = А +g = П +h = Р +i = Ш +j = О +k = Л +l = Д +m = Ь +n = Т +o = Щ +p = З +q = Й +r = К +s = Ы +t = Е +u = Г +v = М +w = Ц +x = Ч +y = Н +z = Я diff --git a/layouts/se b/layouts/se new file mode 100644 index 0000000..081528f --- /dev/null +++ b/layouts/se @@ -0,0 +1,67 @@ +' = ä +, = , +. = . +/ = - +; = ö +[ = å +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(se_shift) + +[se_shift:S] +' = Ä +, = ; +. = : +/ = _ +; = Ö +[ = Å +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/si b/layouts/si new file mode 100644 index 0000000..83d55b0 --- /dev/null +++ b/layouts/si @@ -0,0 +1,69 @@ +' = ć +, = , +. = . +/ = - +; = č +[ = š +] = đ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(si_shift) + +[si_shift:S] +' = Ć +, = ; +. = : +/ = _ +; = Č +[ = Š +] = Đ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/sk b/layouts/sk new file mode 100644 index 0000000..6143b34 --- /dev/null +++ b/layouts/sk @@ -0,0 +1,69 @@ +' = § +, = , +. = . +/ = - +; = ô +[ = ú +] = ä +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = z +z = y +shift = layer(sk_shift) + +[sk_shift:S] +' = ! +, = ? +. = : +/ = _ +; = " +[ = / +] = ( +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Z +z = Y diff --git a/layouts/sn b/layouts/sn new file mode 100644 index 0000000..f867641 --- /dev/null +++ b/layouts/sn @@ -0,0 +1,69 @@ +' = ñ +, = ; +. = : +/ = ! +; = m +[ = ŋ +] = $ +a = q +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = , +n = n +o = o +p = p +q = a +r = r +s = s +t = t +u = u +v = v +w = z +x = x +y = y +z = w +shift = layer(sn_shift) + +[sn_shift:S] +' = Ñ +, = . +. = / +/ = § +; = M +[ = Ŋ +] = £ +a = Q +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = ? +n = N +o = O +p = P +q = A +r = R +s = S +t = T +u = U +v = V +w = Z +x = X +y = Y +z = W diff --git a/layouts/sy b/layouts/sy new file mode 100644 index 0000000..0c61c0b --- /dev/null +++ b/layouts/sy @@ -0,0 +1,69 @@ +' = ط +, = و +. = ز +/ = ظ +; = ك +[ = ج +] = د +a = ش +b = ﻻ +c = ؤ +d = ي +e = ث +f = ب +g = ل +h = ا +i = ه +j = ت +k = ن +l = م +m = ة +n = ى +o = خ +p = ح +q = ض +r = ق +s = س +t = ف +u = ع +v = ر +w = ص +x = ء +y = غ +z = ئ +shift = layer(sy_shift) + +[sy_shift:S] +' = " +, = , +. = . +/ = ؟ +; = : +[ = < +] = > +a = ِ +b = ﻵ +c = } +d = ] +e = ُ +f = [ +g = ﻷ +h = أ +i = ÷ +j = ـ +k = ، +l = / +m = ' +n = آ +o = × +p = ؛ +q = َ +r = ٌ +s = ٍ +t = ﻹ +u = ` +v = { +w = ً +x = ْ +y = إ +z = ~ diff --git a/layouts/tg b/layouts/tg new file mode 100644 index 0000000..f250300 --- /dev/null +++ b/layouts/tg @@ -0,0 +1,67 @@ +' = ù +, = ; +. = : +/ = ! +; = m +] = $ +a = q +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = , +n = n +o = o +p = p +q = a +r = r +s = s +t = t +u = u +v = v +w = z +x = x +y = y +z = w +shift = layer(tg_shift) + +[tg_shift:S] +' = % +, = . +. = / +/ = § +; = M +] = £ +a = Q +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = ? +n = N +o = O +p = P +q = A +r = R +s = S +t = T +u = U +v = V +w = Z +x = X +y = Y +z = W diff --git a/layouts/th b/layouts/th new file mode 100644 index 0000000..bb79d21 --- /dev/null +++ b/layouts/th @@ -0,0 +1,69 @@ +' = ง +, = ม +. = ใ +/ = ฝ +; = ว +[ = บ +] = ล +a = ฟ +b = ิ +c = แ +d = ก +e = ำ +f = ด +g = เ +h = ้ +i = ร +j = ่ +k = า +l = ส +m = ท +n = ื +o = น +p = ย +q = ๆ +r = พ +s = ห +t = ะ +u = ี +v = อ +w = ไ +x = ป +y = ั +z = ผ +shift = layer(th_shift) + +[th_shift:S] +' = . +, = ฒ +. = ฬ +/ = ฦ +; = ซ +[ = ฐ +] = , +a = ฤ +b = ฺ +c = ฉ +d = ฏ +e = ฎ +f = โ +g = ฌ +h = ็ +i = ณ +j = ๋ +k = ษ +l = ศ +m = ? +n = ์ +o = ฯ +p = ญ +q = ๐ +r = ฑ +s = ฆ +t = ธ +u = ๊ +v = ฮ +w = " +x = ) +y = ํ +z = ( diff --git a/layouts/tj b/layouts/tj new file mode 100644 index 0000000..716dab8 --- /dev/null +++ b/layouts/tj @@ -0,0 +1,69 @@ +' = э +, = б +. = ю +/ = . +; = ж +[ = х +] = ъ +a = ф +b = и +c = с +d = в +e = у +f = а +g = п +h = р +i = ш +j = о +k = л +l = д +m = ӣ +n = т +o = ҳ +p = з +q = й +r = к +s = ҷ +t = е +u = г +v = м +w = қ +x = ч +y = н +z = я +shift = layer(tj_shift) + +[tj_shift:S] +' = Э +, = Б +. = Ю +/ = , +; = Ж +[ = Х +] = Ъ +a = Ф +b = И +c = С +d = В +e = У +f = А +g = П +h = Р +i = Ш +j = О +k = Л +l = Д +m = Ӣ +n = Т +o = Ҳ +p = З +q = Й +r = К +s = Ҷ +t = Е +u = Г +v = М +w = Қ +x = Ч +y = Н +z = Я diff --git a/layouts/tm b/layouts/tm new file mode 100644 index 0000000..280b5b9 --- /dev/null +++ b/layouts/tm @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = ň +] = ö +a = a +b = b +c = ç +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = ä +r = r +s = s +t = t +u = u +v = ý +w = w +x = ü +y = y +z = z +shift = layer(tm_shift) + +[tm_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = Ň +] = Ö +a = A +b = B +c = Ç +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Ä +r = R +s = S +t = T +u = U +v = Ý +w = W +x = +y = Y +z = Z diff --git a/layouts/tr b/layouts/tr new file mode 100644 index 0000000..d850119 --- /dev/null +++ b/layouts/tr @@ -0,0 +1,69 @@ +' = i +, = ö +. = ç +/ = . +; = ş +[ = ğ +] = ü +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = ı +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(tr_shift) + +[tr_shift:S] +' = İ +, = Ö +. = Ç +/ = : +; = Ş +[ = Ğ +] = +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/tw b/layouts/tw new file mode 100644 index 0000000..cb95b51 --- /dev/null +++ b/layouts/tw @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(tw_shift) + +[tw_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/tz b/layouts/tz new file mode 100644 index 0000000..0e02d8b --- /dev/null +++ b/layouts/tz @@ -0,0 +1,58 @@ +' = ء +, = ، +. = ۔ +; = ؛ +a = َ +b = ب +c = چ +d = د +e = ٖ +f = ف +g = ڠ +h = ه +i = ِ +j = ج +k = ك +l = ل +m = م +n = ن +o = ْ +p = پ +q = ق +r = ر +s = س +t = ت +u = ُ +v = ڨ +w = و +x = خ +y = ي +z = ز +shift = layer(tz_shift) + +[tz_shift:S] +, = إ +. = أ +/ = ؟ +a = ا +b = ذ +c = ش +d = ض +e = ع +f = ً +g = غ +h = ح +i = ئ +k = ٍ +l = ّ +o = ٗ +p = ة +q = گ +r = ٹ +s = ص +t = ط +u = ٌ +v = ث +w = ؤ +y = ى +z = ظ diff --git a/layouts/ua b/layouts/ua new file mode 100644 index 0000000..1074aa5 --- /dev/null +++ b/layouts/ua @@ -0,0 +1,69 @@ +' = є +, = б +. = ю +/ = . +; = ж +[ = х +] = ї +a = ф +b = и +c = с +d = в +e = у +f = а +g = п +h = р +i = ш +j = о +k = л +l = д +m = ь +n = т +o = щ +p = з +q = й +r = к +s = і +t = е +u = г +v = м +w = ц +x = ч +y = н +z = я +shift = layer(ua_shift) + +[ua_shift:S] +' = Є +, = Б +. = Ю +/ = , +; = Ж +[ = Х +] = Ї +a = Ф +b = И +c = С +d = В +e = У +f = А +g = П +h = Р +i = Ш +j = О +k = Л +l = Д +m = Ь +n = Т +o = Щ +p = З +q = Й +r = К +s = І +t = Е +u = Г +v = М +w = Ц +x = Ч +y = Н +z = Я diff --git a/layouts/uz b/layouts/uz new file mode 100644 index 0000000..dc7bfc6 --- /dev/null +++ b/layouts/uz @@ -0,0 +1,69 @@ +' = э +, = б +. = ю +/ = . +; = ж +[ = х +] = ъ +a = ф +b = и +c = с +d = в +e = у +f = а +g = п +h = р +i = ш +j = о +k = л +l = д +m = ь +n = т +o = ў +p = з +q = й +r = к +s = қ +t = е +u = г +v = м +w = ц +x = ч +y = н +z = я +shift = layer(uz_shift) + +[uz_shift:S] +' = Э +, = Б +. = Ю +/ = , +; = Ж +[ = Х +] = Ъ +a = Ф +b = И +c = С +d = В +e = У +f = А +g = П +h = Р +i = Ш +j = О +k = Л +l = Д +m = Ь +n = Т +o = Ў +p = З +q = Й +r = К +s = Қ +t = Е +u = Г +v = М +w = Ц +x = Ч +y = Н +z = Я diff --git a/layouts/vn b/layouts/vn new file mode 100644 index 0000000..751c6be --- /dev/null +++ b/layouts/vn @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = ư +] = ơ +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(vn_shift) + +[vn_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = Ư +] = Ơ +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/layouts/workman b/layouts/workman new file mode 100644 index 0000000..1fe06f1 --- /dev/null +++ b/layouts/workman @@ -0,0 +1,33 @@ +f = u +v = k +h = d +u = g +o = r +p = l +i = c +/ = z +. = v +j = h +l = n +r = p +' = - +n = b +t = y +, = w +x = q +k = t +a = a +[ = / +w = , +c = j +] = = +b = x +s = o +z = ; +y = f +m = m +e = . +d = e +; = s +g = i +q = ' diff --git a/layouts/za b/layouts/za new file mode 100644 index 0000000..a195745 --- /dev/null +++ b/layouts/za @@ -0,0 +1,69 @@ +' = ' +, = , +. = . +/ = / +; = ; +[ = [ +] = ] +a = a +b = b +c = c +d = d +e = e +f = f +g = g +h = h +i = i +j = j +k = k +l = l +m = m +n = n +o = o +p = p +q = q +r = r +s = s +t = t +u = u +v = v +w = w +x = x +y = y +z = z +shift = layer(za_shift) + +[za_shift:S] +' = " +, = < +. = > +/ = ? +; = : +[ = { +] = } +a = A +b = B +c = C +d = D +e = E +f = F +g = G +h = H +i = I +j = J +k = K +l = L +m = M +n = N +o = O +p = P +q = Q +r = R +s = S +t = T +u = U +v = V +w = W +x = X +y = Y +z = Z diff --git a/scripts/dump-xkb-config b/scripts/dump-xkb-config new file mode 100755 index 0000000..0f6e3d5 --- /dev/null +++ b/scripts/dump-xkb-config @@ -0,0 +1,82 @@ +#!/usr/bin/perl + +# Dump the current xkb letter layout as a keyd config. + +use warnings; +use File::Basename; +use utf8; +use open ":std", ":encoding(UTF-8)"; + +# Build a map of X keysyms to unicode chars +open FH, "/usr/include/xkbcommon/xkbcommon-keysyms.h"; +while () { + $symmap{$1} = chr(hex($2)) if (/XKB_KEY_([^ \t]*)\s.*U\+([0-9a-fA-F]*)/); +} + +# Map X keycodes to their corresponding keyd names +%codemap = ( + 24 => "q", + 25 => "w", + 26 => "e", + 27 => "r", + 28 => "t", + 29 => "y", + 30 => "u", + 31 => "i", + 32 => "o", + 33 => "p", + 34 => "[", + 35 => "]", + 38 => "a", + 39 => "s", + 40 => "d", + 41 => "f", + 42 => "g", + 43 => "h", + 44 => "j", + 45 => "k", + 46 => "l", + 47 => ";", + 48 => "'", + 52 => "z", + 53 => "x", + 54 => "c", + 55 => "v", + 56 => "b", + 57 => "n", + 58 => "m", + 59 => ",", + 60 => ".", + 61 => "/", +); + +sub sym_to_char { + $sym = $_[0]; + + if ($sym =~ /U([0-9A-Fa-f]+)/) { + return chr(hex($1)); + } elsif ($symmap{$sym}) { + $symmap{$sym}; + } else { + print STDERR "Could not resolve sym: $sym\n"; + return ""; + } +} + +for (`xmodmap -pke`) { + if (/keycode\s*([0-9]+)\s*=\s*(\S+)\s*(\S+)/ && $codemap{$1}) { + $key = $codemap{$1}; + $keymap{$key} = $sym if ($sym = sym_to_char $2); + $shifted_keymap{$key} = $sym if ($sym = sym_to_char $3); + } +} + +`setxkbmap -query` =~ /layout:\s*(\S*)/; +$shift_layer = "$1_shift"; + +print "$_ = $keymap{$_}\n" foreach (sort keys %keymap); +print "shift = layer($shift_layer)\n"; +print "\n"; + +print "[$shift_layer:S]\n"; +print "$_ = $shifted_keymap{$_}\n" foreach (sort keys %shifted_keymap); diff --git a/src/config.c b/src/config.c index 995d0aa..30af83a 100644 --- a/src/config.c +++ b/src/config.c @@ -26,7 +26,7 @@ #define MAX_FILE_SZ 65536 #define MAX_LINE_LEN 256 -static char *read_file(const char *path) +static char *read_file(const char *path) { const char include_prefix[] = "include "; diff --git a/src/keyboard.h b/src/keyboard.h index 3003cba..0a3d382 100644 --- a/src/keyboard.h +++ b/src/keyboard.h @@ -28,7 +28,7 @@ struct keyboard { struct config config; struct config original_config; - /* + /* * Cache descriptors to preserve code->descriptor * mappings in the event of mid-stroke layer changes. */