4,500
edits
m (3 revisions imported: Migrate from miraheze) |
(move typeball to fonts) |
||
(26 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
APL uses a large range of [[glyphs|special graphic symbols]] to represent most functions and operators. While keyboard mappings become memorized over time, entering APL characters can frustrate the beginner. However, a study involving high school students found that typing and using APL characters did not hinder the students in any measurable way. There are several convenient ways to enter the glyphs. | APL uses a large range of [[glyphs|special graphic symbols]] to represent most functions and operators. While keyboard mappings become memorized over time, entering APL characters can frustrate the beginner. However, a study involving high school students found that typing and using APL characters did not hinder the students in any measurable way. There are several convenient ways to enter the glyphs. | ||
== Keyboard | == How to Set up an APL Keyboard == | ||
Most of today's APLs use a mapping which derives from the original [[APL\360]] terminals' keyboard layout. For example, | [[File:Adám Brudzewsky's in-browser language bar.png|thumb|right|The in-browser language bar]] | ||
=== Web === | |||
[[Adám Brudzewsky]]'s [https://abrudz.github.io/lb/apl in-browser language bar] adds APL keyboard functionality to most web pages on demand. | |||
=== Text editors === | |||
Keyboard layout extensions exist for several popular [[text editors]] like VS Code, Emacs and Vim. This can be an alternative, or complementary, to system-wide settings. | |||
=== Linux === | |||
{{Main|Typing glyphs on Linux}} | |||
Most Linux distributions released after mid-2012 have Dyalog keyboard support included with the distribution. | |||
[[File:Hacker's Keyboard + APL language.png|thumb|right|Hacker's Keyboard + APL language]] | |||
=== Android === | |||
dzaima's [https://github.com/dzaima/hackerskeyboard Hacker's Keyboard + APL language] uses a [[wikipedia:Pointing_device_gesture#Touchpad_and_touchscreen_gestures|long-press]] to access APL glyphs. | |||
=== Windows === | |||
* [[Adám Brudzewsky]]'s [https://github.com/abrudz/Kbd keyboard layouts for Windows], which uses <kbd>AltGr</kbd>. | |||
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] uses <kbd>Ctrl</kbd>. It is also possible to install the [[wikipedia:Input_method|IME]] alongside a regular [[Dyalog APL]] installation:<br>[[File:Dyalog_APL_Installer.png|frameless|Dyalog APL IME selected in installer]] | |||
== Approaches to Layout and Input == | |||
Most of today's APLs use a mapping which derives from the original [[APL\360]] terminals' keyboard layout. For example, Dyalog APL's standard US English layout for is as follows: | |||
<pre> | <pre> | ||
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬─────────┐ | ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬─────────┐ | ||
Line 21: | Line 48: | ||
Additional charts for other layouts are [https://dfns.dyalog.com/n_keyboards.htm available]. | Additional charts for other layouts are [https://dfns.dyalog.com/n_keyboards.htm available]. | ||
There are multiple | There are multiple ways to access the glyphs associated with a particular key. | ||
=== Shifting key === | === Shifting key === | ||
Line 41: | Line 68: | ||
* The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] and the [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) uses <kbd>`</kbd> by default, but allows choosing any key as prefix key. | * The [https://www.dyalog.com/apl-font-keyboard.htm#tab-1 Dyalog Unicode IME] and the [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) uses <kbd>`</kbd> by default, but allows choosing any key as prefix key. | ||
* [https://abrudz.github.io/lb/apl | * [[Adám Brudzewsky]]'s [https://abrudz.github.io/lb/apl in-browser language bar] recognises all the following as prefix keys: <kbd>`</kbd>, <kbd>½</kbd>, <kbd>²</kbd>, <kbd>^</kbd>, <kbd><s>º</s></kbd>, <kbd>§</kbd>, <kbd>ù</kbd>, <kbd>µ</kbd>, <kbd>°</kbd>. | ||
[[File: | [[File:RIDE keyword lookup.png|thumb|right|RIDE keyword lookup]] | ||
=== Keyword look-up === | |||
== Keyword look-up == | |||
* The [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) allows hitting the prefix key (<kbd>`</kbd> by default, but configurable) twice, followed by the (beginning of the) name of a symbol or a functionality. It then displays a drop-down of choices with arrow keys to indicate choice and the Tab key to insert the symbol. E.g. <kbd>`</kbd>,<kbd>`</kbd>,<kbd>d</kbd>,<kbd>i</kbd>,<kbd>v</kbd>,<kbd>Tab↹</kbd> inserts <source lang=apl inline>÷</source>. | * The [https://github.com/Dyalog/ride/releases/latest Dyalog RIDE] (Remote Integrated Development Environment) allows hitting the prefix key (<kbd>`</kbd> by default, but configurable) twice, followed by the (beginning of the) name of a symbol or a functionality. It then displays a drop-down of choices with arrow keys to indicate choice and the Tab key to insert the symbol. E.g. <kbd>`</kbd>,<kbd>`</kbd>,<kbd>d</kbd>,<kbd>i</kbd>,<kbd>v</kbd>,<kbd>Tab↹</kbd> inserts <source lang=apl inline>÷</source>. | ||
== ASCII symbol combination == | === ASCII symbol combination === | ||
* Many APL glyphs can be approximated by overlaying or juxtaposing two ASCII characters. [[ngn/apl]]'s scripted demo interface and [https://abrudz.github.io/lb/apl Adám Brudzewsky's in-browser language bar] allow such a pair of characters and hitting the | * Many APL glyphs can be approximated by overlaying or juxtaposing two ASCII characters. [[ngn/apl]]'s scripted demo interface and [https://abrudz.github.io/lb/apl Adám Brudzewsky's in-browser language bar] allow such a pair of characters and hitting the <kbd>Tab↹</kbd> key to replace them with the corresponding APL character. For example, <kbd><</kbd>,<kbd>-</kbd>,<kbd>Tab↹</kbd> will insert <source lang=apl inline>←</source> and <kbd>T</kbd>,<kbd>o</kbd>,<kbd>Tab↹</kbd> will insert <source lang=apl inline>⍕</source>. | ||
== On-screen language bar == | [[File:NARS2000 language bar.png|thumb|right|NARS2000 language bar]] | ||
=== On-screen language bar === | |||
Several APL IDEs allow the display of a toolbar with a button for each APL glyph: | Several APL IDEs allow the display of a toolbar with a button for each APL glyph: | ||
Line 66: | Line 86: | ||
* [[Dyalog APL]], [[NARS2000]], [[APL2]] and [[ngn/apl]]'s scripted demo interface all have this feature. | * [[Dyalog APL]], [[NARS2000]], [[APL2]] and [[ngn/apl]]'s scripted demo interface all have this feature. | ||
== | [[File:Dyalog US keyboard.jpg|thumb|right|US keyboard with [[Dyalog APL]] glyphs]] | ||
== Hardware == | |||
A couple of keyboards are being sold with APL symbols pre-printed onto the key caps: | |||
* [https:// | * Dyalog sells [https://www.dyalog.com/apl-font-keyboard.htm#mainContent US English, UK English, and Danish keyboards]. | ||
* Unicomp sells both [https://www.amazon.com/Unicomp-Classic-Buckling-Spring-Keyboard/dp/B01M7V3M61/ref=sr_1_8 entire keyboards] and [https://www.pckeyboard.com/page/product/USAPLSET separate key caps] for their keyboard range. | |||
{{APL development}} | {{APL development}} | ||
{{APL glyphs}} | |||
[[Category:APL character set]] |