kaberett: Photo of a pile of old leather-bound books. (books)
[personal profile] kaberett
I did my system an upgrade.

My wretched keyboard layout sodding changed.

Specifically, and this is literally the only thing I care about, my compose sequence for ğ no longer works because the relevant diacritic is no longer present on the keyboard and my previously functional keyboardsmash now gives me \g instead, which! is not helpful!

I don't need another backslash! I especially don't need another backslash I access via Alt+Shift+# because I've got one over the other side of the keyboard that only requires me to press one key! I recognise that a backslash is more useful to most people than ˘ but I use Debian precisely so that shit like this doesn't change under my feet fingertips with no warning that I notice!

This is possibly going to be the thing that finally pushes me over the edge into either customising my own layout or finding something that will give me dotless i out of the box.

But also: WHY. WHAT WAS THE RATIONALE. I have been completely unable to search up an answer to this existential wail, possibly because migraine and possibly just because search terms are hard yo, but also. w h y

(I am using English (UK, extended, Windows), if anyone actually feels like hunting down an answer...)

(no subject)

Date: 2022-05-10 10:52 pm (UTC)
emperor: (Default)
From: [personal profile] emperor
I would expect compose sequences (compose-b-g or compose-U-g) to be essentially stable (though GNOME does it's own thing, I think) - you can inspect them by looking up your locale in /usr/share/X11/locale/locale.dir and then inspecting the relevant Compose file. For me, with en_GB.UTF-8, that's /usr/share/X11/locale/en_US.UTF-8/Compose, which offers me the following:
<dead_breve> <g>                              : "ğ"   U011F # LATIN SMALL LETTER G WITH BREVE
<Multi_key> <U> <g>                     : "ğ"   U011F # LATIN SMALL LETTER G WITH BREVE
<Multi_key> <g> <U>                     : "ğ"   U011F # LATIN SMALL LETTER G WITH BREVE
<Multi_key> <b> <g>                     : "ğ"   U011F # LATIN SMALL LETTER G WITH BREVE
<Multi_key> <breve> <g>                 : "ğ"   U011F # LATIN SMALL LETTER G WITH BREVE
<Multi_key> <g> <breve>                 : "ğ"   U011F # LATIN SMALL LETTER G WITH BREVE
<Multi_key> <g> <parenleft>             : "ğ"   U011F # LATIN SMALL LETTER G WITH BREVE
I don't think I have <breve> or <dead_breve> in my keyboard map, but the others all seem to DTRT here.
Edited (try and unmangle a bit) Date: 2022-05-10 10:57 pm (UTC)

(no subject)

Date: 2022-05-11 03:00 pm (UTC)
vass: Small turtle with green leaf in its mouth (Default)
From: [personal profile] vass
Profound sympathies from over here in "just upgraded to Android 12" terrain.

(no subject)

Date: 2022-05-11 08:10 pm (UTC)
simont: A picture of me in 2016 (Default)
From: [personal profile] simont

But also: WHY. WHAT WAS THE RATIONALE.

I think I've tracked down the change in question.

The file /usr/share/X11/xkb/symbols/gb is where the UK keyboard definitions live. The stanza beginning xkb_symbols "extd" is the one that corresponds to the keyboard layout in question. On my Ubuntu 22.04 system it says this:

partial alphanumeric_keys
xkb_symbols "extd" {
    // Clone of the Microsoft "United Kingdom Extended" layout, which
    // includes dead keys for: grave; diaeresis; circumflex; tilde; and
    // accute. It also enables direct access to accute characters using
    // the Multi_key (Alt Gr).
    //
    // Taken from...
    //    "Windows Keyboard Layouts"
    //    https://docs.microsoft.com/en-gb/globalization/windows-keyboard-layouts#U
    //
    // -- Jonathan Miles <jon@cybah.co.uk>

    include "latin"

    name[Group1]="English (UK, extended, Windows)";

    key <TLDE> { [ dead_grave,    notsign,       brokenbar,    NoSymbol ] };

    key <AE02> { [     2,        quotedbl,  dead_diaeresis,     onehalf ] };
    key <AE03> { [     3,        sterling,   threesuperior,    onethird ] };
    key <AE04> { [     4,          dollar,        EuroSign,  onequarter ] };
    key <AE06> { [     6,     asciicircum, dead_circumflex,    NoSymbol ] };

    key <AD02> { [   w,                 W,          wacute,      Wacute ] };
    key <AD03> { [   e,                 E,          eacute,      Eacute ] };
    key <AD06> { [   y,                 Y,          yacute,      Yacute ] };
    key <AD07> { [   u,                 U,          uacute,      Uacute ] };
    key <AD08> { [   i,                 I,          iacute,      Iacute ] };
    key <AD09> { [   o,                 O,          oacute,      Oacute ] };

    key <AC01> { [   a,                 A,          aacute,      Aacute ] };
    key <AC11> { [  apostrophe,         at,     dead_acute,    NoSymbol ] };

    key <AB03> { [   c,                 C,        ccedilla,    Ccedilla ] };

    key <BKSL>  { [ numbersign, asciitilde,     dead_tilde,    NoSymbol ] };
    key <LSGT>  { [  backslash,        bar,       NoSymbol,    NoSymbol ] };

    include "level3(ralt_switch)"
};

The key in question is the one labelled <BKSL>, which corresponds to key code 51 from xmodmap's point of view, and is the key just to the left of the bottom half of Return. In this keymap, it's defined to numbersign (unshifted), asciitilde (with Shift), dead_tilde (with AltGr), and NoSymbol (with Shift and AltGr). But in fact with Shift and AltGr it generates dead_breve (for me, and presumably formerly for you). That's because of the statement include "latin" at the top, which pulls in the separate file /usr/share/X11/xkb/symbols/latin, whose default stanza at the top defines the same key like this:

    key <BKSL>	{ [ backslash,        bar,   dead_grave,   dead_breve ]	};

So I think what's happening is that when the gb "extd" layout declines to specify a symbol for Shift+AltGr+#, the value defined by the latin "basic" layout fills in the gap.

These files come from the xkb-data Debian package, whose upstream source is freedesktop.org XKeyboardConfig. In the HEAD of the git repository there, the definition of key <BKSL> in gb "extd" has changed, and it now reads

    key <BKSL>  { [ numbersign, asciitilde,     dead_tilde,    backslash ] };

so, just as you said, Shift+AltGr+# now generates another copy of backslash in place of the previous dead_breve.

Why did it happen? A quick git blame points the finger at a commit six months ago, with comment "Make gb(extd) consistent with Microsoft "United Kingdom Extended" as intended. Fixes #258".

Bug report 258 points to a diagram which indeed shows that key with a spare backslash on it. And MS's own Javascripty page for that keyboard layout seems to agree – if I click AltGr on that page and then hover over Shift, I see a backslash again.

So there you go – apparently the answer was simply that the thing you were finding useful was an inaccuracy in the attempt to clone the Windows extended UK keyboard layout, and now that inaccuracy has been fixed :-(

(no subject)

Date: 2022-05-12 09:20 am (UTC)
horselizard: Comic strip image of James Acaster saying "I'm quirky." (Default)
From: [personal profile] horselizard
I am very sorry for your frustrations, but if it's any consolation, while I only partially followed others' explanations/investigations above, I found them super interesting, and I am now mashing AltGr + random keys in amazement at the handy Special Characters they produce :O

(also Linux but a different flavour from yours as I can get breve quite easily, so sadly can't apply this new knowledge to your problem :/)

Profile

kaberett: Trans symbol with Swiss Army knife tools at other positions around the central circle. (Default)
kaberett

January 2026

M T W T F S S
    12 3 4
567891011
12131415161718
19202122232425
262728293031 

Most Popular Tags

Active Entries

Style Credit

Expand Cut Tags

No cut tags
Powered by Dreamwidth Studios