简体   繁体   中英

Add APL Keyboard Layout On Ubuntu 22.10

There is this , but now I'm on Ubuntu 22.10 and these solutions don't seem to work for trying to get a dyalog latest keyboard. I'm getting

> setxkbmap -layout us,de,apl -variant ,dyalog -option grp:switch
WARNING: Running setxkbmap against an XWayland server
Error loading new keyboard description

And I did get the Error loading new keyboard description when I switched from Wayland to Xorg as well. My current keyboard is set up for en and de with super-space to toggle between them.

From Ubuntu 22.04, the solution is:

  1. download the gnome tweaks app - sudo apt install gnome-tweaks
  2. go to 'keyboard and mouse' section
  3. click on 'show extended input sources'
  4. click the 'additional layout options' button

You are presented with a list of drop-down lists in a new dialogue

Click on 'Compatibility options' and select: 'Enable APL overlay characters'.

The appropriate font is already installed. Everything then just 'works' - eg press ALT-r to get rho. (There's more detail on the APL Wiki .)

Over the years all my (at that time) favored Keyboard layout programs have failed after an Ubuntu upgrade, The first to die was xmodmap, then xkbmap, and also a few pipes between stdin and apl.

Currently I am simply augmenting file /usr/share/X11/xkb/symbols/us with the missing APL Unicodes like below and after reboot everything works fine. This method bypasses almost all fancy keyboard layout mappings that are en vogue these days, but cause nothing but trouble when it comes to APL.

xkb_symbols "basic" {

    name[Group1]= "English (US)";

    key <TLDE> { [ grave,        asciitilde,  U25CA,     U25CA      ] };
    key <AE01> { [ 1,            exclam,      U00A8,     U2336      ] };
    key <AE02> { [ 2,            at,          U00AF,     U236B      ] };
    key <AE03> { [ 3,            numbersign,  less,      U2352      ] };
    key <AE04> { [ 4,            dollar,      U2264,     U234B      ] };
    key <AE05> { [ 5,            percent,     equal,     U233D      ] };
    key <AE06> { [ 6,            asciicircum, U2265,     U2349      ] };
    key <AE07> { [ 7,            ampersand,   greater,   U2296      ] };
    key <AE08> { [ 8,            asterisk,    U2260,     U235F      ] };
    key <AE09> { [ 9,            parenleft,   U2228,     U2371      ] };
    key <AE10> { [ 0,            parenright,  U2227,     U2372      ] };
    key <AE11> { [ minus,        underscore,  U00D7,     exclam     ] };
    key <AE12> { [ equal,        plus,        U00F7,     U2339      ] };

    key <AD01> { [ q,            Q,          question,   question   ] };
    key <AD02> { [ w,            W,          U2375,      U2379      ] };
    key <AD03> { [ e,            E,          U03F5,      U2377      ] };
    key <AD04> { [ r,            R,          U2374,      U2374      ] };
    key <AD05> { [ t,            T,          U223C,      U2368      ] };
    key <AD06> { [ y,            Y,          U2191,      U00A5      ] };
    key <AD07> { [ u,            U,          U2193,      U2193      ] };
    key <AD08> { [ i,            I,          U2373,      U2378      ] };
    key <AD09> { [ o,            O,          U25CB,      U2365      ] };
    key <AD10> { [ p,            P,          U22C6,      U2363      ] };
    key <AD11> { [ bracketleft,  braceleft,  U2190,      U235E      ] };
    key <AD12> { [ bracketright, braceright, U2192,      U236C      ] };

    key <AC01> { [ a,            A,          U237A,      U2376      ] };
    key <AC02> { [ s,            S,          U2308,      U2308      ] };
    key <AC03> { [ d,            D,          U230A,      U230A      ] };
    key <AC04> { [ f,            F,          underscore, underscore ] };
    key <AC05> { [ g,            G,          U2207,      U2207      ] };
    key <AC06> { [ h,            H,          U2206,      U2359      ] };
    key <AC07> { [ j,            J,          U2218,      U2364      ] };
    key <AC08> { [ k,            K,          apostrophe, apostrophe ] };
    key <AC09> { [ l,            L,          U2395,      U2337      ] };
    key <AC10> { [ semicolon,    colon,      U234E,      U2261      ] };
    key <AC11> { [ apostrophe,   quotedbl,   U2355,      U2262      ] };

    key <AB01> { [ z,            Z,         U2282,       U2282      ] };
    key <AB02> { [ x,            X,         U2283,       U03C7      ] };
    key <AB03> { [ c,            C,         U2229,       U00A2      ] };
    key <AB04> { [ v,            V,         U222A,       U222A      ] };
    key <AB05> { [ b,            B,         U22A5,       U00A3      ] };
    key <AB06> { [ n,            N,         U22A4,       U22A4      ] };
    key <AB07> { [ m,            M,         U2223,       U03BC      ] };
    key <AB08> { [ comma,        less,      U235D,       U236A      ] };
    key <AB09> { [ period,       greater,   U2340,       U2359      ] };
    key <AB10> { [ slash,        question,  U233F,       U2360      ] };

    key <BKSL> { [ backslash,    bar,       U22A2,       U22A3      ] };

   ... continue as before...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM