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 509aeb9..833eb72 100644 Binary files a/data/keyd-application-mapper.1.gz and b/data/keyd-application-mapper.1.gz differ diff --git a/data/keyd.1.gz b/data/keyd.1.gz index 03930de..598fe5c 100644 Binary files a/data/keyd.1.gz and b/data/keyd.1.gz differ diff --git a/docs/keyd.scdoc b/docs/keyd.scdoc index cc54b21..baef920 100644 --- a/docs/keyd.scdoc +++ b/docs/keyd.scdoc @@ -95,7 +95,7 @@ Will match all devices which *do not*(2) have the id _0123:4567_, while: 0123:4567 ``` -will exclusively match any devices which do. +will exclusively match any devices which do. Each subsequent section of the file corresponds to a _layer_ (with the exception of _[global]_ (see _GLOBALS_). @@ -277,6 +277,68 @@ E.G *Note:* You may have to restart your applications for this to take effect. +## File Inclusion + +Config files may include other files located within the config directory using +the _include_ keyword. A line of the form *include * 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. */