From 31616d2532ee4e26031416cb00a8922b4df9e3d1 Mon Sep 17 00:00:00 2001 From: Raheman Vaiya Date: Thu, 7 Mar 2024 21:25:23 -0500 Subject: [PATCH] setlayout: Allow setlayout(main) (#677, #652) There is presently no way to revert to the 'default' (no) layout. This patch makes setlayout(main) functionally equivalent to clearing the applied layout (if present). --- data/keyd-application-mapper.1.gz | Bin 1645 -> 1646 bytes data/keyd.1.gz | Bin 9851 -> 9860 bytes docs/keyd.scdoc | 4 ++-- src/config.c | 4 +++- src/keyboard.c | 7 +++++-- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/data/keyd-application-mapper.1.gz b/data/keyd-application-mapper.1.gz index a088a927cdbfd69d1863a5bd5baef76ffb5abf5f..30c69d3d4e84c8ce4b29aba85258756f44ec3215 100644 GIT binary patch delta 1573 zcmV+=2HN@U4DJknABzY80000000Wg)VQ<_v68&8Lia8&U*oIeYyXoN&qyg5+)?GAl z0|A;+CY=*&?{#-Zw+ZYq#eEYS^$ukuz`J%sfuM*rRjZYOkU$X}P6P zl&+wY{NyA*&2oHwK#<65emr?@hK*51{BUNwZr)H9n6@ zJlzau-%jUmE@vOFW*;tiX#)1WSw}cE#R@1C_*hi4|Bmy;GX!0kdd&96FxjuLUDcK( z9(6!UG=)xH%4`YPrma&DdV|o^5Xzm2E4(!-7AtIjp~9+w&|Cu>rj0Je3MY)~v+Jl( zE$6$vC0CJFfERQjl^}TzI`W4Hfm2xP!c?Y!lW-e)gk|O!2g9tbTPjPwv+!B!%Ctx= z@{EATIu@!eD+3EsEx)X^*9>m3#MHBM*J=*^uNXoCApovl zC5GYY^$k7x`6s>SEO7Jn$&sy(j(mL;O+>K$@droJ9xegdkvvW_UXUy?;9YnE+Hk@) z${Li7ucfC68OKhhoVaRu+kVg-@7Y;jMOZt3=ySkEci@H^rvT=V!NU5>CGsr<*;xq3-gCdaah8s>kvnWyW=N>Z;dLv z+n=?;lmN6=1@nKvn~Rlqjp-Ubz`(t;a_E1ake4uSYb$gE0>Coa;BWBQ6K$af|k6_!^pB%&#Wz-c5#+83Y_f(!f(}ahK1xo zufjG&-2ke@&Eo*~zkejnRh9OEf;IJu-7U3ri3zT6AvDMul_>TdjQJ#rYd(eUMr+3m zi2(wmL~91ukm0W8yNPBW-{3oso+dQ3k2!cHV-!9i;8spCHz8YE)gu27;ExgTSVA8k zN=3;+Co2a>WFkb9OB>{Epu#MSnG==3?HadIt7-}Ba(KsD#8!aHUU`72L`x{bd7mnKqy&+&|`U% XU}j3jYeUUY*uCrW~WCg;xu1!nz1I)s; z5kOvM`Sm+GxYN6Gq&6FC3V}9i@S^x==5wfIX%eoPg%ZrN0-wNGk$*N zAdSdtJQBWt2fAPDmhMekx_iW2bb*SsYHJ+^Yl|1jg7v6Cq$t{UEU7&OOwe%@CR){gpr9I(+nxSUndOtrfyN+za68}%Hvzcha)z*fsfsvdLuzYW^q(bKJ;2ob&rA5o!V}dV&wyW zRU)zHYli<9e<{g36XTBSQQ3%MyQP28n^9D&Vc|v=7LS+Wu!K`LA&!ps$0vkujVio5 zoVUT00JKpB^MAyfi?w%+=^8%3z`e6_=zpG(&HCG;{~ua>(lShM(o#?|9Zi@)4%FeAgtLZj`pAE}gpJMB3a$VeXBGFc&$V#Of2nT%mu9a%&p&({hvNWpb z83l*EzN=^oqO4P?(18Nf)HM_bDvnE8OA98_(iNfT^Wthk!PIDozRadkb~H{QTKYdH zw77>c4)cQRH?<=!2j_8%_GkDSnqMxir|;iShm#rv97XJv%FU1kfVdYKMd$8Z=czPd zV-*MJ`C33TMFU~_HMs^oxIXr53X5NPlP|cGoX;LsLlU@w&UwWSB;o<8aBxD|@culL zdjueVoF!{2UF-_0d$#8-K$nR0VSGY6+&h1FLZZD*7r4G3FiVNTTnB>E$F2&n6v&*06S067w z%r39#r|H#vdj5Vkj5j~dzP$bK+u8Z&3r=V`QnI&t)z#7)7DEOXBXfI-4JY_7P2aax zKN6s~4sqeD&c>H?I$SCu8gM`5ITCHy@`TZO6L-DuDU(wLA%C|9{AFS7I$H`oA>bM; zIT^xl)p3S}IFX0QbKn%~h55fr2&ln%%9mbcqSBZy_|u29+rG9gO)T ziW@$K?nZ0J42b~(qeN>4*O1|^=DUgJpWfg*kDewpbci{4En^fuA>dX{F*hMwS=A!{ zkKm6H@K{10AA3th$wDV9M<-+=M3YM!@I5c-#4As8qCqTZjPaXmK+oJ95yH=P?(Ft`~^k@J)N}La^A@w^n^CJV?MY_g3 gFd&pHLg=x)O)xVh<258n+x=zz2l8)rM-vSI0Q|-TyZ`_I diff --git a/data/keyd.1.gz b/data/keyd.1.gz index a5a43f0cfe30730db9f36d026ae71bd92510a8aa..4a67f0cc7ceb447952136b3e23d6082b7c9fbcb6 100644 GIT binary patch literal 9860 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 literal 9851 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 diff --git a/docs/keyd.scdoc b/docs/keyd.scdoc index 9fe1440..56e09da 100644 --- a/docs/keyd.scdoc +++ b/docs/keyd.scdoc @@ -337,8 +337,8 @@ and not A layout is a special kind of layer intended for modifying alpha keys. Unlike layers, layouts cannot have any associated modifiers, and only one layout may -be active at a given time. The current layout can be set using the _setlayout_ -action. +be active at a given time. The default layout is called 'main', and can be +changed using the _setlayout()_ action. For convenience, keyd ships with a number of common letter layouts in /usr/share/keyd/layouts. Before including these, it is instructive to inspect them. diff --git a/src/config.c b/src/config.c index 44a67d3..5b65566 100644 --- a/src/config.c +++ b/src/config.c @@ -674,7 +674,9 @@ static int parse_descriptor(char *s, break; case ARG_LAYOUT: arg->idx = config_get_layer_index(config, argstr); - if (arg->idx == -1 || config->layers[arg->idx].type != LT_LAYOUT) { + if (arg->idx == -1 || + (arg->idx != 0 && //Treat main as a valid layout + config->layers[arg->idx].type != LT_LAYOUT)) { err("%s is not a valid layout", argstr); return -1; } diff --git a/src/keyboard.c b/src/keyboard.c index 9a2a576..37536b1 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -441,8 +441,11 @@ static void setlayout(struct keyboard *kbd, uint8_t idx) kbd->layer_state[i].active = 0; } - kbd->layer_state[idx].activation_time = 1; - kbd->layer_state[idx].active = 1; + // Setting the layout to main is equivalent to clearing all occluding layouts. + if (idx != 0) { + kbd->layer_state[idx].activation_time = 1; + kbd->layer_state[idx].active = 1; + } kbd->output.on_layer_change(kbd, &kbd->config.layers[idx], 1); }