diff -u xkeyboard-config-2.41/debian/changelog xkeyboard-config-2.41/debian/changelog --- xkeyboard-config-2.41/debian/changelog +++ xkeyboard-config-2.41/debian/changelog @@ -1,3 +1,9 @@ +xkeyboard-config (2.41-2ubuntu1) noble; urgency=medium + + * symbols/de: Add exotic German (Noted) layout (LP: #2060358) + + -- Benjamin Drung Sat, 13 Apr 2024 00:16:02 +0200 + xkeyboard-config (2.41-2) unstable; urgency=medium * Update NEWS. (Closes: #1063725, #1063702) diff -u xkeyboard-config-2.41/debian/patches/series xkeyboard-config-2.41/debian/patches/series --- xkeyboard-config-2.41/debian/patches/series +++ xkeyboard-config-2.41/debian/patches/series @@ -1 +1 @@ -#placeholder +symbols-de-Add-German-Noted-layout.patch only in patch2: unchanged: --- xkeyboard-config-2.41.orig/debian/patches/symbols-de-Add-German-Noted-layout.patch +++ xkeyboard-config-2.41/debian/patches/symbols-de-Add-German-Noted-layout.patch @@ -0,0 +1,123 @@ +From: Benjamin Drung +Date: Sat, 16 Mar 2024 23:01:55 +0100 +Subject: symbols/de: Add German (Noted) layout + +Add the newest layout of the German Neo keyboard layout family. Noted is +a layout designed to make typing as comfortable and efficient as +possible in both German and English. It was developed with the help of a +layout optimizer, which is based on the metrics and concepts of +ArneBab's optimizer and adapts and extends them. + +I switched from Neo 2 via Mine to Noted and I like to see this variant +to be available out of the box in Debian/Ubuntu. + +Sources: + * https://neo-layout.org/Layouts/noted/ + * https://dariogoetz.github.io/noted-layout/ + +Bug-Ubuntu: https://launchpad.net/bugs/2060358 +Forwarded: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/681 +--- + rules/base.extras.xml | 6 ++++++ + symbols/de | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ + symbols/level3 | 6 ++++++ + 3 files changed, 68 insertions(+) + +diff --git a/rules/base.extras.xml b/rules/base.extras.xml +index 520d7c9..2f3a982 100644 +--- a/rules/base.extras.xml ++++ b/rules/base.extras.xml +@@ -218,6 +218,12 @@ + German (Neo, QWERTY) + + ++ ++ ++ noted ++ German (Noted) ++ ++ + + + ru-recom +diff --git a/symbols/de b/symbols/de +index 51c7021..65b630b 100644 +--- a/symbols/de ++++ b/symbols/de +@@ -1202,3 +1202,59 @@ xkb_symbols "neo_qwerty" { + include "level5(lsgt_switch_lock)" + include "level5(ralt_switch_lock)" + }; ++ ++partial alphanumeric_keys ++xkb_symbols "noted_base" { ++ include "de(neo_base)" ++ ++ key.type[Group1] = "EIGHT_LEVEL_WITH_LEVEL5_LOCK"; ++ key { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; ++ key { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; ++ key { [ dead_acute, dead_tilde, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ] }; ++ ++ key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_WITH_LEVEL5_LOCK"; ++ key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; ++ key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, U2135, NoSymbol ] }; ++ key { [ u, U, NoSymbol, VoidSymbol, NoSymbol, NoSymbol, multiply, NoSymbol ] }; ++ key { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; ++ key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; ++ key { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; ++ key { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; ++ key { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; ++ key { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; ++ key { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; ++ key { [ j, J, at, Greek_theta, U2212, NoSymbol, Greek_THETA, NoSymbol ] }; ++ key { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, semicolon, NoSymbol, jot, NoSymbol ] }; ++ key { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; ++ key { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; ++ key { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; ++ key { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; ++ key { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; ++ key { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; ++ key { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, nabla, NoSymbol ] }; ++ key { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; ++ key { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; ++ key { [ h, H, NoSymbol, Greek_psi, period, KP_Decimal, Greek_PSI, NoSymbol ] }; ++ key { [ v, V, NoSymbol, VoidSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; ++ key { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; ++ key { [ udiaeresis, Udiaeresis, NoSymbol, VoidSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; ++ key { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, intersection, NoSymbol ] }; ++ key { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, includedin, NoSymbol ] }; ++ key { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; ++ key { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; ++ key { [ k, K, NoSymbol, Greek_kappa, KP_Separator, comma, U21D2, NoSymbol ] }; ++}; ++ ++partial alphanumeric_keys modifier_keys keypad_keys ++xkb_symbols "noted" { ++ ++ include "de(noted_base)" ++ ++ name[Group1]= "German (Noted)"; ++ ++ include "shift(both_capslock)" ++ include "level3(caps_switch)" ++ include "level3(ac11_switch)" ++ include "level5(lsgt_switch_lock)" ++ include "level5(ralt_switch_lock)" ++}; +diff --git a/symbols/level3 b/symbols/level3 +index 95d02a3..af695c7 100644 +--- a/symbols/level3 ++++ b/symbols/level3 +@@ -89,6 +89,12 @@ xkb_symbols "bksl_switch" { + key {[ ISO_Level3_Shift ], type[group1]="ONE_LEVEL" }; + }; + ++// The AC11 key (while pressed) chooses the third shift level. ++partial modifier_keys ++xkb_symbols "ac11_switch" { ++ key {[ ISO_Level3_Shift ], type[Group1]="ONE_LEVEL" }; ++}; ++ + // The Less/Greater key (while pressed) chooses the third shift level. + partial modifier_keys + xkb_symbols "lsgt_switch" {