Typing glyphs on Linux
Since mid-2012, most Linux distributions with X11 have Dyalog APL keyboard support included with the distribution,[1] using xkb
, the X Keyboard Extension.[2]
setxkbmap
The simplest way to set up an APL keyboard on Linux is with the following setxkbmap
command. Enter the following in your terminal emulator of choice:
setxkbmap -layout us,apl -variant ,dyalog -option grp:switch
An explanation:
-layout us,apl
assignsus
(U.S. English) to be the primary layout, whereasapl
is secondary
-option grp:switch
assigns Right Alt to switch to the secondaryapl
layout when it is pressed, otherwiseus
is used
-variant ,dyalog
assigns the Dyalog APL variant to theapl
layout which contains modifiations unique to the Dyalog language (Note the preceding comma)
A full list of keys that can be used to switch layouts is included in /usr/share/X11/xkb/rules/evdev.lst
under the option
category.
Note: these changes are not permanent; the user will have to select one of a myriad of methods to run the command on startup. Alternatively, if they use one of the desktop environments listed below, they can follow those instructions.
GNOME
GUI
- Open the Activities menu; this is located in the top-left corner of a default GNOME 3 session (alternatively, use your Super key to open the Activities overlay):
- Search for "startup." When the Startup Applications program is highlighted, press the Enter key to open it:
- Select the Add button on the right-hand side:
- Provide a name, enter your
setxkbmap
command, and click Add when finished:
Terminal
- Navigate to
~/.config/autostart
and create a.desktop
with any name that will help you remember its function. - Add the following to the contents of your file, customizing to suit your needs:
[Desktop Entry] Type=Application Exec=setxkbmap -layout us,apl -variant ,dyalog -option grp:switch Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[en_US]=apl-keyboard Name=apl-keyboard Comment[en_US]= Comment=
LXDE
- Prepend an
@
to thesetxkbmap
command from above:@setxkbmap -layout us,apl -variant ,dyalog -option grp:switch
- Add it as a line in your user's LXDE
autostart
file, located at:~/.config/lxsession/LXDE/autostart
For Lubuntu versions up to and including 18.04 (before the LXQt split), the location of autostart
is ~/.config/lxsession/Lubuntu/autostart
.
LXQt
GUI
- From your LXQt panel, navigate to Preferences → LXQt Settings → Session Settings; alternatively, enter
lxqt-config-session
in your terminal emulator. You will be greeted with the following window:
- Select the
LXQt Autostart
dropdown (it will be highlighted as shown above) and click the Add button to display the following pop-up window:
- Provide a name, enter your
setxkbmap
command, and click OK when finished.
Terminal
The above GUI approach merely creates a .desktop
file in the user's ~/.config/autostart
. Create your own file in the autostart
directory whose contents are as follows, to replicate the functionality achieved through the GUI:
[Desktop Entry] Exec=setxkbmap -layout us,apl -variant ,dyalog -option grp:switch Name=apl-keyboard OnlyShowIn=LXQt; Type=Application Version=1.0
MATE
GUI
- Open your MATE menu (in the top-left corner of a default environment) and select Control Center at the bottom of the window:
- Scroll down through the main window, and under the Personal category, select Startup Applications:
- Click the Add button on the right-hand side:
- Provide a name, enter your
setxkbmap
command, and click Add when finished:
Terminal
Navigate to ~/.config/autostart
and create a .desktop
with any name that will help you remember its function.
Add the following to the contents of your file, customizing to suit your needs:
[Desktop Entry] Type=Application Exec=setxkbmap -layout us,apl -variant ,dyalog -option grp:switch Hidden=false X-MATE-Autostart-enabled=true Name[en_US]=apl-keyboard Name=apl-keyboard Comment[en_US]= Comment= X-MATE-Autostart-Delay=0
Xfce
A tutorial specific to Xfce's config files can be found at this GitHub repository.
References
- ↑ Dyalog Forums. Keyboard setup on Linux. Sep 21, 2010.
- ↑ Geoff Streeter. Supporting APL keyboards on Linux. Dyalog '10.
APL development [edit] | |
---|---|
Interface | Session ∙ Typing glyphs (on Linux) ∙ Fonts ∙ Text editors |
Publications | Introductions ∙ Learning resources ∙ Simple examples ∙ Advanced examples ∙ Mnemonics ∙ ISO 8485:1989 ∙ ISO/IEC 13751:2001 ∙ A Dictionary of APL ∙ Case studies ∙ Documentation suites ∙ Books ∙ Papers ∙ Videos ∙ APL Quote Quad ∙ Vector journal ∙ Terminology (Chinese, German) ∙ Neural networks ∙ Error trapping with Dyalog APL (in forms) |
Sharing code | Backwards compatibility ∙ APLcart ∙ APLTree ∙ APL-Cation ∙ Dfns workspace ∙ Tatin ∙ Cider |
Implementation | Resources ∙ Open-source ∙ Magic function ∙ Performance ∙ APL hardware |
Developers | Timeline of corporations ∙ APL2000 ∙ Dyalog ∙ IBM ∙ IPSA ∙ STSC |
APL glyphs [edit] | |
---|---|
Information | Glyph ∙ Typing glyphs (on Linux) ∙ Unicode ∙ Fonts ∙ Mnemonics ∙ Overstrikes ∙ Migration level |
Individual glyphs | Jot (∘ ) ∙ Right Shoe (⊃ ) ∙ Up Arrow (↑ ) ∙ Zilde (⍬ ) ∙ High minus (¯ ) ∙ Dot (. ) ∙ Del (∇ )
|