apl revision bfd7cbc1
1bfd7cbc1Smrg// EXTRAS:
2bfd7cbc1Smrg//
3bfd7cbc1Smrg// APL Keyboard Layouts
4bfd7cbc1Smrg
5bfd7cbc1Smrg// This file supports:
6bfd7cbc1Smrg// -	The Sharp APL for Unix (SAX) layout
7bfd7cbc1Smrg// -	The IBM APL2 layout
8bfd7cbc1Smrg// -	The Manugistics APL*PLUS II (Version 5.1, 1993) keyboard layout
9bfd7cbc1Smrg
10bfd7cbc1Smrg// Unicode APL table: http://aplwiki.com/UnicodeAplTable
11bfd7cbc1Smrg// ...and another: http://publibfp.boulder.ibm.com/epubs/pdf/h2110611.pdf (appendix A)
12bfd7cbc1Smrg// Generic Unicode stuff: http://www.fileformat.info/info/unicode/category/index.htm
13bfd7cbc1Smrg
14bfd7cbc1Smrg// Tim Nelson (this file's creator) says:
15bfd7cbc1Smrg
16bfd7cbc1Smrg// This file doesn't deal with all the combining stuff -- I'm not an APL programmer,
17bfd7cbc1Smrg// and am not quite sure what's needed here.  However, it may be possible to get this
18bfd7cbc1Smrg// working with dead keys and the like.  Patches gratefully accepted.  
19bfd7cbc1Smrg
20bfd7cbc1Smrg// Some of the shift-key assignments may differ from the APL tradition.  If
21bfd7cbc1Smrg// that's not considered acceptable, it should be possible to remap the 
22bfd7cbc1Smrg// shift keys.  I have striven, however, to ensure that the use of shift keys
23bfd7cbc1Smrg// in these maps is at least self-consistent.  
24bfd7cbc1Smrg
25bfd7cbc1Smrg// I'm assuming that this will be used with another keyboard layout (ie. for 
26bfd7cbc1Smrg// your language), with a special shift key to use these maps.  
27bfd7cbc1Smrg
28bfd7cbc1Smrgpartial alphanumeric_keys modifier_keys 
29bfd7cbc1Smrgxkb_symbols "common" {
30bfd7cbc1Smrg	name[Group1]= "APL";
31bfd7cbc1Smrg
32bfd7cbc1Smrg	key <AE01> { [	diaeresis	] };
33bfd7cbc1Smrg	key <AE02> { [	U00AF	] }; // ¯ -- Macron
34bfd7cbc1Smrg	key <AE03> { [	less	] };
35bfd7cbc1Smrg	key <AE04> { [	U2264	] }; // ≤ -- Less-than Or Equal To
36bfd7cbc1Smrg	key <AE05> { [	equal	] };
37bfd7cbc1Smrg	key <AE06> { [	U2265	] }; // ≥ -- Greater-than Or Equal To
38bfd7cbc1Smrg	key <AE07> { [	greater	] };
39bfd7cbc1Smrg	key <AE08> { [	U2260	] }; // ≠ -- Not Equal To
40bfd7cbc1Smrg	key <AE09> { [	U2228	] }; // ∨ -- Logical Or
41bfd7cbc1Smrg	key <AE10> { [	U2227	] }; // ∧ -- Logical And
42bfd7cbc1Smrg
43bfd7cbc1Smrg	// Q
44bfd7cbc1Smrg	key <AD01> { [	question	] };
45bfd7cbc1Smrg	// W
46bfd7cbc1Smrg	key <AD02> { [	U2375		] }; // ⍵ -- APL Functional Symbol Omega
47bfd7cbc1Smrg	// E
48bfd7cbc1Smrg	key <AD03> { [	U220A		] }; // ∊ -- Small Element Of
49bfd7cbc1Smrg	// R
50bfd7cbc1Smrg	key <AD04> { [	U2374		] }; // ⍴ -- APL Functional Symbol Rho
51bfd7cbc1Smrg	// T
52bfd7cbc1Smrg	key <AD05> { [	asciitilde		] };
53bfd7cbc1Smrg	// Y
54bfd7cbc1Smrg	key <AD06> { [	U2191		] }; // ↑ -- Upwards Arrow
55bfd7cbc1Smrg	// U
56bfd7cbc1Smrg	key <AD07> { [	U2193		] }; // ↓ -- Downwards Arrow
57bfd7cbc1Smrg	// I
58bfd7cbc1Smrg	key <AD08> { [	U2373	] }; // ⍳ -- APL Functional Symbol Iota
59bfd7cbc1Smrg	// O
60bfd7cbc1Smrg	key <AD09> { [	U25CB	] }; // ○ -- White Circle
61bfd7cbc1Smrg	// P
62bfd7cbc1Smrg	key <AD10> { [	U22C6	] }; // ⋆ -- Should this be a plain asterisk, or the star operator???
63bfd7cbc1Smrg	// [
64bfd7cbc1Smrg	key <AD11> { [	U2190	] }; // ← -- Leftwards Arrow
65bfd7cbc1Smrg
66bfd7cbc1Smrg	// A
67bfd7cbc1Smrg	key <AC01> { [	U237A	] }; // ⍺ -- APL Functional Symbol Alpha
68bfd7cbc1Smrg	// S
69bfd7cbc1Smrg	key <AC02> { [	U2308	] }; // ⌈ -- Left Ceiling
70bfd7cbc1Smrg	// D
71bfd7cbc1Smrg	key <AC03> { [	U230A	] }; // ⌊ -- Left Floor
72bfd7cbc1Smrg	// F
73bfd7cbc1Smrg	key <AC04> { [	underscore	] };
74bfd7cbc1Smrg	// G
75bfd7cbc1Smrg	key <AC05> { [	U2207	] }; // ∇ -- Nabla
76bfd7cbc1Smrg	// H
77bfd7cbc1Smrg	key <AC06> { [	U2206	] }; // ∆ -- Increment
78bfd7cbc1Smrg	// J
79bfd7cbc1Smrg	key <AC07> { [	U2218	] }; // ∘ -- Ring Operator
80bfd7cbc1Smrg	// K
81bfd7cbc1Smrg	key <AC08> { [	apostrophe ] };
82bfd7cbc1Smrg	// L
83bfd7cbc1Smrg	key <AC09> { [	U2395	] }; // ⎕ -- APL Functional Symbol Quad
84bfd7cbc1Smrg
85bfd7cbc1Smrg	// Z
86bfd7cbc1Smrg	key <AB01> { [	U2282	] }; // ⊂ -- Subset Of
87bfd7cbc1Smrg	// X
88bfd7cbc1Smrg	key <AB02> { [	U2283	] }; // ⊃ -- Superset Of
89bfd7cbc1Smrg	// C
90bfd7cbc1Smrg	key <AB03> { [	U2229	] }; // ∩ -- Intersection
91bfd7cbc1Smrg	// V
92bfd7cbc1Smrg	key <AB04> { [	U222A	] }; // ∪ -- Union
93bfd7cbc1Smrg	// B
94bfd7cbc1Smrg	key <AB05> { [	U22A5	] }; // ⊥ -- Up Tack
95bfd7cbc1Smrg	// N
96bfd7cbc1Smrg	key <AB06> { [	U22A4	] }; // ⊤ -- Down Tack
97bfd7cbc1Smrg	// M
98bfd7cbc1Smrg	key <AB07> { [	U007C	] }; // | -- Vertical Line
99bfd7cbc1Smrg};
100bfd7cbc1Smrg
101bfd7cbc1Smrg// Keys common to a number of keyboards that allow normal language usage alongside APL
102bfd7cbc1Smrgpartial alphanumeric_keys modifier_keys 
103bfd7cbc1Smrgxkb_symbols "unified" {
104bfd7cbc1Smrg	name[Group1]= "APL Keyboard Symbols: Unified Layout";
105bfd7cbc1Smrg
106bfd7cbc1Smrg	include "apl(common)"
107bfd7cbc1Smrg
108bfd7cbc1Smrg	// `
109bfd7cbc1Smrg	key <TLDE> { [	U22C4	] }; // ⋄ -- Diamond Operator
110bfd7cbc1Smrg	key <AE09> { [	NoSymbol,	U2371	] }; // ⍱ -- APL Functional Symbol Down Caret Tilde
111bfd7cbc1Smrg	key <AE10> { [	NoSymbol,	U2372	] }; // ⍲ -- APL Functional Symbol Up Caret Tilde
112bfd7cbc1Smrg	// -
113bfd7cbc1Smrg	key <AE11> { [	U00D7	] }; // × -- Multiplication Sign
114bfd7cbc1Smrg	// =
115bfd7cbc1Smrg	key <AE12> { [	U00F7,	U2339	] }; // ÷ ⌹ -- Division Sign / APL Functional Symbol Quad Divide
116bfd7cbc1Smrg
117bfd7cbc1Smrg	// ]
118bfd7cbc1Smrg	key <AD12> { [	U2192		] }; // → -- Rightwards Arrow
119bfd7cbc1Smrg};
120bfd7cbc1Smrg
121bfd7cbc1Smrg// Layout: http://www.wickensonline.co.uk/apl-unicomp.html
122bfd7cbc1Smrgdefault
123bfd7cbc1Smrgpartial alphanumeric_keys modifier_keys 
124bfd7cbc1Smrgxkb_symbols "sax" {
125bfd7cbc1Smrg	name[Group1]= "APL Keyboard Symbols";
126bfd7cbc1Smrg
127bfd7cbc1Smrg	include "apl(unified)"
128bfd7cbc1Smrg
129bfd7cbc1Smrg	key <AE01> { [	NoSymbol,	U00A1	] }; // ¡ -- Inverted Exclamation Mark
130bfd7cbc1Smrg	key <AE04> { [	NoSymbol,	cent	] };
131bfd7cbc1Smrg	key <AE08> { [	NoSymbol,	U2342	] }; // ⍂ -- APL Functional Symbol Quad Backslash
132bfd7cbc1Smrg	// -
133bfd7cbc1Smrg	key <AE11> { [	NoSymbol,	U2261	] }; // ≡ -- Identical To
134bfd7cbc1Smrg
135bfd7cbc1Smrg	// Q
136bfd7cbc1Smrg	key <AD01> { [	NoSymbol,	U00BF	] }; // ¿ -- Inverted Question Mark
137bfd7cbc1Smrg	// W
138bfd7cbc1Smrg	key <AD02> { [	NoSymbol,	U233D	] }; // ⌽ -- APL Functional Symbol Circle Stile
139bfd7cbc1Smrg	// E
140bfd7cbc1Smrg	key <AD03> { [	NoSymbol,	U2377	] }; // ⍷ -- APL Functional Symbol Epsilon Underbar
141bfd7cbc1Smrg	// T
142bfd7cbc1Smrg	key <AD05> { [	NoSymbol,	U2349	] }; // ⍉ -- APL Functional Symbol Circle Backslash
143bfd7cbc1Smrg	// I
144bfd7cbc1Smrg	key <AD08> { [	NoSymbol,	U2378	] }; // ⍸ -- APL Functional Symbol Iota Underbar
145bfd7cbc1Smrg	// O
146bfd7cbc1Smrg	key <AD09> { [	NoSymbol,	U2365	] }; // ⍥ -- APL Functional Symbol Circle Diaeresis
147bfd7cbc1Smrg	// P
148bfd7cbc1Smrg	key <AD10> { [	NoSymbol,	U235F	] }; // ⍟ -- APL Functional Symbol Circle Star
149bfd7cbc1Smrg
150bfd7cbc1Smrg	// A
151bfd7cbc1Smrg	key <AC01> { [	NoSymbol,	U2296	] }; // ⊖ -- Circled Minus
152bfd7cbc1Smrg	// F
153bfd7cbc1Smrg	key <AC04> { [	NoSymbol,	U236B	] }; // ⍫ -- APL Functional Symbol Del Tilde
154bfd7cbc1Smrg	// G
155bfd7cbc1Smrg	key <AC05> { [	NoSymbol,	U2352	] }; // ∇ ⍒ -- APL Functional Symbol Del Stile
156bfd7cbc1Smrg	// H
157bfd7cbc1Smrg	key <AC06> { [	NoSymbol,	U234B	] }; // ∆ ⍋ -- APL Functional Symbol Delta Stile
158bfd7cbc1Smrg	// J
159bfd7cbc1Smrg	key <AC07> { [	NoSymbol,	U2364	] }; // ⍤ -- APL Functional Symbol Jot Diaeresis
160bfd7cbc1Smrg	// K
161bfd7cbc1Smrg	key <AC08> { [	NoSymbol,	U233B	] }; // ⌻
162bfd7cbc1Smrg	// L
163bfd7cbc1Smrg	key <AC09> { [	NoSymbol,	U235E	] }; // ⍞ -- APL Functional Symbol Quote Quad
164bfd7cbc1Smrg	// ;
165bfd7cbc1Smrg	key <AC10> { [	U22A2	] }; // ⊢ -- Right Tack
166bfd7cbc1Smrg	// '
167bfd7cbc1Smrg	key <AC11> { [	U22A3	] }; // ⊣ -- Left Tack
168bfd7cbc1Smrg
169bfd7cbc1Smrg	// C
170bfd7cbc1Smrg	key <AB03> { [	NoSymbol,	U235D	] }; // ⍝ -- APL Functional Symbol Up Shoe Jot
171bfd7cbc1Smrg	// B
172bfd7cbc1Smrg	key <AB05> { [	NoSymbol,	U234E	] }; // ⍎ -- APL Functional Symbol Down Tack Jot (Unicode got the name wrong; it should have been "Up Tack")
173bfd7cbc1Smrg	// N
174bfd7cbc1Smrg	key <AB06> { [	NoSymbol,	U2355	] }; // ⍕ -- APL Functional Symbol Up Tack Jot (Unicode got the name wrong; it should have been "Down Tack")
175bfd7cbc1Smrg	// M
176bfd7cbc1Smrg	key <AB07> { [	NoSymbol,	U2336	] }; // ⌶ -- APL Functional Symbol I-Beam
177bfd7cbc1Smrg	// ,
178bfd7cbc1Smrg	key <AB08> { [	U235E,	U236A	] }; // ⍞ ⍪ -- APL Functional Symbol Quote Quad / APL Functional Symbol Comma Bar
179bfd7cbc1Smrg	// .
180bfd7cbc1Smrg	key <AB09> { [	U234E,	U2359	] }; // ⍎ ⍙ -- [See B key] / APL Functional Symbol Delta Underbar
181bfd7cbc1Smrg	// /
182bfd7cbc1Smrg	key <AB10> { [	U2355,	U233F	] }; // ⍕ ⌿ -- [See N key] / APL Functional Symbol Slash Bar
183bfd7cbc1Smrg
184bfd7cbc1Smrg	key <BKSL> { [	U235D,	U2340	] }; // ⍝ ⍀ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Backslash Bar
185bfd7cbc1Smrg};
186bfd7cbc1Smrg
187bfd7cbc1Smrg// Layout: http://www.wickensonline.co.uk/apl-unicomp.html
188bfd7cbc1Smrgpartial alphanumeric_keys modifier_keys 
189bfd7cbc1Smrgxkb_symbols "apl2" {
190bfd7cbc1Smrg	name[Group1]= "APL Keyboard Symbols: IBM APL2";
191bfd7cbc1Smrg
192bfd7cbc1Smrg	include "apl(common)"
193bfd7cbc1Smrg
194bfd7cbc1Smrg	// The first column is NoSymbol because it inherits.  The second is NoSymbol because those keys don't do anything
195bfd7cbc1Smrg
196bfd7cbc1Smrg	// `
197bfd7cbc1Smrg	key <TLDE> { [	NoSymbol,	U233B,	U2342	] }; // ⌻ ⍂ -- 
198bfd7cbc1Smrg	key <AE01> { [	NoSymbol, NoSymbol, U2336	] }; // ⌶ -- APL Functional Symbol I-Beam
199bfd7cbc1Smrg	key <AE02> { [	NoSymbol, NoSymbol,	U236B	] }; // ⍫ -- APL Functional Symbol Del Tilde
200bfd7cbc1Smrg	key <AE03> { [	NoSymbol, NoSymbol,	U2353	] }; // ⍒ -- APL Functional Symbol Del Stile
201bfd7cbc1Smrg	key <AE04> { [	NoSymbol, NoSymbol,	U234B	] }; // ⍋ -- APL Functional Symbol Delta Stile
202bfd7cbc1Smrg	key <AE05> { [	NoSymbol, NoSymbol,	U233D	] }; // ⌽ -- APL Functional Symbol Circle Stile
203bfd7cbc1Smrg	key <AE06> { [	NoSymbol, NoSymbol,	U2349	] }; // ⍉ -- APL Functional Symbol Circle Backslash
204bfd7cbc1Smrg	key <AE07> { [	NoSymbol, NoSymbol,	U2296	] }; // ⊖ -- Circled Minus
205bfd7cbc1Smrg	key <AE08> { [	NoSymbol, NoSymbol,	U235F	] }; // ⍟ -- APL Functional Symbol Circle Star
206bfd7cbc1Smrg	key <AE09> { [	NoSymbol, NoSymbol,	U2371	] }; // ⍱ -- APL Functional Symbol Down Caret Tilde
207bfd7cbc1Smrg	key <AE10> { [	NoSymbol, NoSymbol,	U2372	] }; // ⍲ -- APL Functional Symbol Up Caret Tilde
208bfd7cbc1Smrg	// -
209bfd7cbc1Smrg	key <AE11> { [	plus,	minus,	exclam	] };
210bfd7cbc1Smrg	// =
211bfd7cbc1Smrg	key <AE12> { [	U00D7,	U00F7,	U2339	] }; // × ÷ ⌹ -- Multiplication Sign / Division Sign / APL Functional Symbol Quad Divide
212bfd7cbc1Smrg
213bfd7cbc1Smrg	// [
214bfd7cbc1Smrg	key <AD11> { [	NoSymbol,	U2192,	U235E	] }; // (←) → ⍞ -- Rightwards Arrow / APL Functional Symbol Quote Quad
215bfd7cbc1Smrg	// ]
216bfd7cbc1Smrg	key <AD12> { [	U2337,	U2378,	U2359	] }; // ⌷ ⍸ ⍙ -- APL Functional Symbol Squish Quad / APL Functional Symbol Iota Underbar / APL Functional Symbol Delta Underbar
217bfd7cbc1Smrg
218bfd7cbc1Smrg	// ;
219bfd7cbc1Smrg	key <AC10> { [	bracketleft, parenleft,	U234E	] }; // ⍎ -- [See B key in SAX layout]
220bfd7cbc1Smrg	// '
221bfd7cbc1Smrg	key <AC11> { [	bracketright, parenright, U2355	] }; // ⍕ -- [See N key in SAX layout] 
222bfd7cbc1Smrg
223bfd7cbc1Smrg	// ,
224bfd7cbc1Smrg	key <AB08> { [	comma,	semicolon, U235D ] }; // ⍝ -- APL Functional Symbol Up Shoe Jot
225bfd7cbc1Smrg	// .
226bfd7cbc1Smrg	key <AB09> { [	period,	colon,	U2340	] }; // ⍀ -- APL Functional Symbol Backslash Bar
227bfd7cbc1Smrg	// /
228bfd7cbc1Smrg	key <AB10> { [	slash,	backslash, U233F ] }; // ⌿ -- APL Functional Symbol Slash Bar
229bfd7cbc1Smrg
230bfd7cbc1Smrg	key <BKSL> { [	U2261,	U2377, U2364	] }; // ≡ ⍷ ⍤ -- Identical To / APL Functional Symbol Epsilon Underbar / APL Functional Symbol Jot Diaeresis
231bfd7cbc1Smrg};
232bfd7cbc1Smrg
233bfd7cbc1Smrgpartial alphanumeric_keys modifier_keys 
234bfd7cbc1Smrgxkb_symbols "aplplusII" {
235bfd7cbc1Smrg	name[Group1]= "APL Keyboard Symbols: Manugistics APL*PLUS II";
236bfd7cbc1Smrg
237bfd7cbc1Smrg	include "apl(apl2)"
238bfd7cbc1Smrg
239bfd7cbc1Smrg	// `
240bfd7cbc1Smrg	key <TLDE> { [	dollar,	U22C4,	U236A	] }; // ⋄ ⍪ -- Diamond Operator / APL Functional Symbol Comma Bar
241bfd7cbc1Smrg	key <AE01> { [	NoSymbol, NoSymbol, U2261	] }; // ≡ -- Identical To
242bfd7cbc1Smrg
243bfd7cbc1Smrg	// [
244bfd7cbc1Smrg	key <AD11> { [	U2190,	NoSymbol,	U235E	] }; // ← ⍞ -- Leftwards Arrow / APL Functional Symbol Quote Quad
245bfd7cbc1Smrg	// ]
246bfd7cbc1Smrg	key <AD12> { [	U2192,	NoSymbol,	U236C	] }; // → ⍬ -- Rightwards Arrow / APL Functional Symbol Zilde
247bfd7cbc1Smrg
248bfd7cbc1Smrg	// ;
249bfd7cbc1Smrg	key <AC10> { [	bracketleft, parenleft,	U234E	] }; // ⍎ -- [See B key in SAX layout]
250bfd7cbc1Smrg	// '
251bfd7cbc1Smrg	key <AC11> { [	bracketright, parenright, U2355	] }; // ⍕ -- [See N key in SAX layout] 
252bfd7cbc1Smrg
253bfd7cbc1Smrg	key <BKSL> { [	U22A3,	U22A2,	U2359	] }; // ⊣ ⊢ ⍙ -- Left Tack / Right Tack / APL Functional Symbol Delta Underbar
254bfd7cbc1Smrg};
255bfd7cbc1Smrg
256bfd7cbc1Smrg
257bfd7cbc1Smrg// MicroAPL layout: http://aplwiki.com/APLXKeyboardLayouts
258bfd7cbc1Smrg// I didn't do the old-style MicroAPL layout; patches gratefully accepted
259bfd7cbc1Smrgpartial alphanumeric_keys modifier_keys 
260bfd7cbc1Smrgxkb_symbols "aplx" {
261bfd7cbc1Smrg	name[Group1]= "APL Keyboard Symbols: APLX Unified APL Layout";
262bfd7cbc1Smrg
263bfd7cbc1Smrg	include "apl(unified)"
264bfd7cbc1Smrg
265bfd7cbc1Smrg	// `
266bfd7cbc1Smrg	key <TLDE> { [	NoSymbol,	U235E	] }; // ⍞ -- APL Functional Symbol Quote Quad
267bfd7cbc1Smrg	key <AE01> { [	NoSymbol,	U2336	] }; // ⌶ -- APL Functional Symbol I-Beam
268bfd7cbc1Smrg	key <AE02> { [	NoSymbol,	U236B	] }; // ⍫ -- APL Functional Symbol Del Tilde
269bfd7cbc1Smrg	key <AE03> { [	NoSymbol,	U2353	] }; // ⍒ -- APL Functional Symbol Del Stile
270bfd7cbc1Smrg	key <AE04> { [	NoSymbol,	U234B	] }; // ⍋ -- APL Functional Symbol Delta Stile
271bfd7cbc1Smrg	key <AE05> { [	NoSymbol,	U233D	] }; // ⌽ -- APL Functional Symbol Circle Stile
272bfd7cbc1Smrg	key <AE06> { [	NoSymbol,	U2349	] }; // ⍉ -- APL Functional Symbol Circle Backslash
273bfd7cbc1Smrg	key <AE07> { [	NoSymbol,	U2296	] }; // ⊖ -- Circled Minus
274bfd7cbc1Smrg	key <AE08> { [	NoSymbol,	U235F	] }; // ⍟ -- APL Functional Symbol Circle Star
275bfd7cbc1Smrg	// -
276bfd7cbc1Smrg	key <AE11> { [	NoSymbol,	exclam ] };
277bfd7cbc1Smrg
278bfd7cbc1Smrg	// [
279bfd7cbc1Smrg	key <AD11> { [	NoSymbol,	U2347	] }; // ⍇ -- Box With Left Arrow
280bfd7cbc1Smrg	// ]
281bfd7cbc1Smrg	key <AD12> { [	NoSymbol,	U2348	] }; // ⍈ -- Box With Right Arrow
282bfd7cbc1Smrg
283bfd7cbc1Smrg	// ;
284bfd7cbc1Smrg	key <AC10> { [	U234E,	U2261	] }; // ⍎ ≡ -- [See B key in SAX layout] / Identical To
285bfd7cbc1Smrg	// '
286bfd7cbc1Smrg	key <AC11> { [	U2355,	U2262	] }; // ⍕ ≢ -- [See N key in SAX layout] / Not Identical To
287bfd7cbc1Smrg
288bfd7cbc1Smrg	// ,
289bfd7cbc1Smrg	key <AB08> { [	U235D,	U236A	] }; // ⍝ ⍪ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Comma Bar
290bfd7cbc1Smrg	// .
291bfd7cbc1Smrg	key <AB09> { [	U2340,	U2364	] }; // ⍀ ⍤ -- APL Functional Symbol Backslash Bar / APL Functional Symbol Jot Diaeresis
292bfd7cbc1Smrg	// /
293bfd7cbc1Smrg	key <AB10> { [	U233F ] }; // ⌿ -- APL Functional Symbol Slash Bar
294bfd7cbc1Smrg
295bfd7cbc1Smrg	key <BKSL> { [	U22A3,	U22A3	] }; // ⊣ ⊢ -- Left Tack / Right Tack
296bfd7cbc1Smrg};
297