147pm
147pm

Reputation: 2237

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.

Upvotes: 1

Views: 882

Answers (3)

Jan_P
Jan_P

Reputation: 1

If you are on APL and Ubuntu, I believe the way forward "hands down" is Emacs. And never go back.

https://github.com/lokedhs/gnu-apl-mode

Upvotes: 0

Jürgen
Jürgen

Reputation: 31

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...

Upvotes: 0

Mark
Mark

Reputation: 181

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' - e.g. press ALT-r to get rho. (There's more detail on the APL Wiki.)

Upvotes: 3

Related Questions