--- /dev/null
+use utf8;
+use strict;
+use warnings;
+our %rows = (
+ '~' => '⌺',
+ '!' => '⌶',
+ '@' => '⍫',
+ '#' => '⍒',
+ '$' => '⍋',
+ '%' => '⌽',
+ '^' => '⍉',
+ '&' => '⊖',
+ '*' => '⍟',
+ '(' => '⍱',
+ ')' => '⍲',
+ '_' => '!',
+ '+' => '⌹',
+ '`' => '⋄',
+ '1' => '¨',
+ '2' => '¯',
+ '3' => '<',
+ '4' => '≤',
+ '5' => '=',
+ '6' => '≥',
+ '7' => '>',
+ '8' => '≠',
+ '9' => '∨',
+ '0' => '∧',
+ '-' => '×',
+ '=' => '÷',
+ 'E' => '⍷',
+ 'T' => '⍨',
+ 'I' => '⍸',
+ 'O' => '⍥',
+ 'P' => '⍣',
+ '{' => '⍞',
+ '}' => '⍬',
+ '|' => '⊣',
+ 'q' => '?',
+ 'w' => '⍵',
+ 'e' => '∊',
+ 'r' => '⍴',
+ 't' => '~',
+ 'y' => '↑',
+ 'u' => '↓',
+ 'i' => '⍳',
+ 'o' => '○',
+ 'p' => '*',
+ '[' => '←',
+ ']' => '→',
+ '\\'=> '⊢',
+ 'J' => '⍤',
+ 'K' => '⌸',
+ 'L' => '⌷',
+ ':' => '≡',
+ '"' => '≢',
+ 'a' => '⍺',
+ 's' => '⌈',
+ 'd' => '⌊',
+ 'f' => '_',
+ 'g' => '∇',
+ 'h' => '∆',
+ 'j' => '∘',
+ 'k' => "'",
+ 'l' => '⎕',
+ ';' => '⍎',
+ "'" => '⍕',
+ 'Z' => '⊆',
+ '<' => '⍪',
+ '>' => '⍙',
+ '?' => '⍠',
+ 'z' => '⊂',
+ 'x' => '⊃',
+ 'c' => '∩',
+ 'v' => '∪',
+ 'b' => '⊥',
+ 'n' => '⊤',
+ 'm' => '|',
+ ',' => '⍝',
+ '.' => '⍀',
+ '/' => '⌿',
+);
+
++{
+ %{ do 'keyboard/altgr/groups.inc.pl' },
+ version => '1.0',
+ title => 'APL',
+ intro => join("\n",
+ 'Resulting <a href="/charset">Unicode</a> characters',
+ 'of a typical <a href="/apl">APL</a> keyboard layout',
+ 'derived from IBM System/360 terminals.',
+ 'Usually obtained by prefixing <code>`</code> (Dyalog)',
+ 'and/or pressing AltGr (APLX).',
+ ),
+ description => [
+ 'Typical IBM-derived APL keyboard layout,',
+ 'as found in APLX and Dyalog implementations.',
+ ],
+ image => 'keyboard/altgr/unicomp-apl.jpg',
+}
[qw(
apl less screen digits sc/bw sc/hots termcol/legacy mplayer
keyboard/altgr/macos-abc keyboard/altgr/msx keyboard/altgr/ukext
- keyboard/altgr/eurkey
+ keyboard/altgr/eurkey keyboard/altgr/apl
)],
[qw( chars/table/html sample source plan )],
);