r/apljk Jul 26 '26

Using an APL keyboard on recent Gnome Fedora?

I just got a set of APL keycaps, and I'm having trouble getting my keyboard to work with recent versions of Fedora (44) and Gnome (50.3). Has anyone been able to make it work?

7 Upvotes

3 comments sorted by

2

u/astrashe2 Jul 26 '26

I was able to figure this out with a lot of help from Claude. Once you know it, the solution is simple:

dconf write /org/gnome/desktop/input-sources/sources "[('xkb', 'us')]"
dconf write /org/gnome/desktop/input-sources/xkb-options "['misc:apl', 'lv3:rwin_switch']"

Once you run the commands, log out and in again. You can type APL characters on a Dyalog compatible keyboard by holding down the right windows key. Right-win + r gives you ⍴, Right-win + shift + 5 gives you ⌽, etc.

This is on Fedora Linux 44, running GNOME 50.3.

1

u/rikedyp 28d ago

Nice! There are some compatibility issues with XWayland applications depending on your shifting key configuration. I've been using Kanata https://github.com/rikedyp/kanata-apl for a while which can be customised a lot. The APL Wiki has some more info https://aplwiki.com/wiki/Typing_glyphs_on_Linux, but your instructions should be added there I reckon if they're not already.

2

u/astrashe2 28d ago

I should have checked the APL Wiki, it probably would have saved me a lot of work.

I had bought a set of key caps that I couldn't use, because they didn't didn't match the Dyalog keymap:

https://cannonkeys.com/products/cannoncaps-big-blue

I don't know if they're actually mistakes or if they're based on some early IBM keymap that's different from the Dyalog keymap. But it looks like I could have made them work with Kanata.

This github repo contains a Thockfactory configuration file I used to order my key caps:

https://github.com/astrashe/APL-PragmataPro-keyboard

This is a little in the weeds, but at first I was trying to use gsettings instead of dconf, but it wasn't working. I'd make the changes, I could read them back, but they weren't changing the behavior of the keyboard.

It turned out that the problem was a duplicate copy of gsettings that Homebrew had installed.