index: release v1.18 with only altgr index linked
[sheet.git] / keyboard / altgr / apl.eng.inc.pl
1 use utf8;
2 use strict;
3 use warnings;
4 use Shiar_Sheet::KeyboardChars 'kbchars';
5
6 my %dyalogx = (
7         'Q' => '⍰',
8         'R' => '⌾',
9         'G' => '⍢',
10         'B' => '⍭',
11         'N' => '⍡',
12         'M' => '∥',
13 );
14 my %rows = (
15         '~' => '⌺',
16         '!' => '⌶',
17         '@' => '⍫',
18         '#' => '⍒',
19         '$' => '⍋',
20         '%' => '⌽',
21         '^' => '⍉',
22         '&' => '⊖',
23         '*' => '⍟',
24         '(' => '⍱',
25         ')' => '⍲',
26         '_' => '!',
27         '+' => '⌹',
28         '`' => '⋄',
29         '1' => '¨',
30         '2' => '¯',
31         '3' => '<',
32         '4' => '≤',
33         '5' => '=',
34         '6' => '≥',
35         '7' => '>',
36         '8' => '≠',
37         '9' => '∨',
38         '0' => '∧',
39         '-' => '×',
40         '=' => '÷',
41         'E' => '⍷',
42         'T' => '⍨',
43         'I' => '⍸',
44         'O' => '⍥',
45         'P' => '⍣',
46         '{' => '⍞',
47         '}' => '⍬',
48         '|' => '⊣',
49         'q' => '?',
50         'w' => '⍵',
51         'e' => '∊',
52         'r' => '⍴',
53         't' => '∼', # ~
54         'y' => '↑',
55         'u' => '↓',
56         'i' => '⍳',
57         'o' => '○',
58         'p' => '⋆', # *
59         '[' => '←',
60         ']' => '→',
61         '\\'=> '⊢',
62         'J' => '⍤',
63         'K' => '⌸',
64         'L' => '⌷',
65         ':' => '≡',
66         '"' => '≢',
67         'a' => '⍺',
68         's' => '⌈',
69         'd' => '⌊',
70         'f' => '_',
71         'g' => '∇',
72         'h' => '∆',
73         'j' => '∘',
74         'k' => "'",
75         'l' => '⎕',
76         ';' => '⍎',
77         "'" => '⍕',
78         'Z' => '⊆',
79         '<' => '⍪',
80         '>' => '⍙',
81         '?' => '⍠',
82         'z' => '⊂',
83         'x' => '⊃',
84         'c' => '∩',
85         'v' => '∪',
86         'b' => '⊥',
87         'n' => '⊤',
88         'm' => '|',
89         ',' => '⍝',
90         '.' => '⍀',
91         '/' => '⌿',
92         %dyalogx,
93 );
94
95 my $groups = kbchars(\%rows);
96 $groups->{def}{''}{$_} .= ' ext' for keys %dyalogx;
97 $groups->{flag}{ext} = ['extended', 'optional operators not available in all variants'];
98
99 +{
100         %{$groups},
101         version => '1.0',
102         title => 'APL',
103         category => 'specialised',
104         intro => join("\n",
105                 'Resulting <a href="/charset">Unicode</a> characters',
106                 'of a typical <a href="/apl">APL</a> keyboard layout',
107                 'derived from IBM System/360 terminals.',
108                 'Usually obtained by prefixing <code>`</code> (Dyalog)',
109                 'and/or pressing AltGr (APLX).',
110         ),
111         description => [
112                 'Typical IBM-derived APL keyboard layout,',
113                 'as found in APLX and Dyalog implementations.',
114         ],
115         image => 'data/keyboard/thumb/unicomp-apl.jpg',
116         imagealt => 'Alt on a custom keyboard with APL labels',
117 }