xenocara/dist/xkeyboard-config/symbols/extras/apl
2011-01-10 14:25:56 +00:00

297 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// APL Keyboard Layouts
// This file supports:
// - The Sharp APL for Unix (SAX) layout
// - The IBM APL2 layout
// - The Manugistics APL*PLUS II (Version 5.1, 1993) keyboard layout
// Unicode APL table: http://aplwiki.com/UnicodeAplTable
// ...and another: http://publibfp.boulder.ibm.com/epubs/pdf/h2110611.pdf (appendix A)
// Generic Unicode stuff: http://www.fileformat.info/info/unicode/category/index.htm
// Tim Nelson (this file's creator) says:
// This file doesn't deal with all the combining stuff -- I'm not an APL programmer,
// and am not quite sure what's needed here. However, it may be possible to get this
// working with dead keys and the like. Patches gratefully accepted.
// Some of the shift-key assignments may differ from the APL tradition. If
// that's not considered acceptable, it should be possible to remap the
// shift keys. I have striven, however, to ensure that the use of shift keys
// in these maps is at least self-consistent.
// I'm assuming that this will be used with another keyboard layout (ie. for
// your language), with a special shift key to use these maps.
partial alphanumeric_keys modifier_keys
xkb_symbols "common" {
name[Group1]= "APL";
key <AE01> { [ diaeresis ] };
key <AE02> { [ U00AF ] }; // ¯ -- Macron
key <AE03> { [ less ] };
key <AE04> { [ U2264 ] }; // ≤ -- Less-than Or Equal To
key <AE05> { [ equal ] };
key <AE06> { [ U2265 ] }; // ≥ -- Greater-than Or Equal To
key <AE07> { [ greater ] };
key <AE08> { [ U2260 ] }; // ≠ -- Not Equal To
key <AE09> { [ U2228 ] }; // -- Logical Or
key <AE10> { [ U2227 ] }; // ∧ -- Logical And
// Q
key <AD01> { [ question ] };
// W
key <AD02> { [ U2375 ] }; // ⍵ -- APL Functional Symbol Omega
// E
key <AD03> { [ U220A ] }; // ∊ -- Small Element Of
// R
key <AD04> { [ U2374 ] }; // -- APL Functional Symbol Rho
// T
key <AD05> { [ asciitilde ] };
// Y
key <AD06> { [ U2191 ] }; // ↑ -- Upwards Arrow
// U
key <AD07> { [ U2193 ] }; // ↓ -- Downwards Arrow
// I
key <AD08> { [ U2373 ] }; // -- APL Functional Symbol Iota
// O
key <AD09> { [ U25CB ] }; // ○ -- White Circle
// P
key <AD10> { [ U22C6 ] }; // ⋆ -- Should this be a plain asterisk, or the star operator???
// [
key <AD11> { [ U2190 ] }; // ← -- Leftwards Arrow
// A
key <AC01> { [ U237A ] }; // -- APL Functional Symbol Alpha
// S
key <AC02> { [ U2308 ] }; // ⌈ -- Left Ceiling
// D
key <AC03> { [ U230A ] }; // ⌊ -- Left Floor
// F
key <AC04> { [ underscore ] };
// G
key <AC05> { [ U2207 ] }; // ∇ -- Nabla
// H
key <AC06> { [ U2206 ] }; // ∆ -- Increment
// J
key <AC07> { [ U2218 ] }; // ∘ -- Ring Operator
// K
key <AC08> { [ apostrophe ] };
// L
key <AC09> { [ U2395 ] }; // ⎕ -- APL Functional Symbol Quad
// Z
key <AB01> { [ U2282 ] }; // ⊂ -- Subset Of
// X
key <AB02> { [ U2283 ] }; // ⊃ -- Superset Of
// C
key <AB03> { [ U2229 ] }; // ∩ -- Intersection
// V
key <AB04> { [ U222A ] }; // -- Union
// B
key <AB05> { [ U22A5 ] }; // ⊥ -- Up Tack
// N
key <AB06> { [ U22A4 ] }; // -- Down Tack
// M
key <AB07> { [ U007C ] }; // | -- Vertical Line
};
// Keys common to a number of keyboards that allow normal language usage alongside APL
partial alphanumeric_keys modifier_keys
xkb_symbols "unified" {
name[Group1]= "APL Keyboard Symbols: Unified Layout";
include "apl(common)"
// `
key <TLDE> { [ U22C4 ] }; // ⋄ -- Diamond Operator
key <AE09> { [ NoSymbol, U2371 ] }; // ⍱ -- APL Functional Symbol Down Caret Tilde
key <AE10> { [ NoSymbol, U2372 ] }; // ⍲ -- APL Functional Symbol Up Caret Tilde
// -
key <AE11> { [ U00D7 ] }; // × -- Multiplication Sign
// =
key <AE12> { [ U00F7, U2339 ] }; // ÷ ⌹ -- Division Sign / APL Functional Symbol Quad Divide
// ]
key <AD12> { [ U2192 ] }; // → -- Rightwards Arrow
};
// Layout: http://www.wickensonline.co.uk/apl-unicomp.html
default
partial alphanumeric_keys modifier_keys
xkb_symbols "sax" {
name[Group1]= "APL Keyboard Symbols: Sharp APL for Unix";
include "apl(unified)"
key <AE01> { [ NoSymbol, U00A1 ] }; // ¡ -- Inverted Exclamation Mark
key <AE04> { [ NoSymbol, cent ] };
key <AE08> { [ NoSymbol, U2342 ] }; // ⍂ -- APL Functional Symbol Quad Backslash
// -
key <AE11> { [ NoSymbol, U2261 ] }; // ≡ -- Identical To
// Q
key <AD01> { [ NoSymbol, U00BF ] }; // ¿ -- Inverted Question Mark
// W
key <AD02> { [ NoSymbol, U233D ] }; // ⌽ -- APL Functional Symbol Circle Stile
// E
key <AD03> { [ NoSymbol, U2377 ] }; // ⍷ -- APL Functional Symbol Epsilon Underbar
// T
key <AD05> { [ NoSymbol, U2349 ] }; // ⍉ -- APL Functional Symbol Circle Backslash
// I
key <AD08> { [ NoSymbol, U2378 ] }; // ⍸ -- APL Functional Symbol Iota Underbar
// O
key <AD09> { [ NoSymbol, U2365 ] }; // ⍥ -- APL Functional Symbol Circle Diaeresis
// P
key <AD10> { [ NoSymbol, U235F ] }; // ⍟ -- APL Functional Symbol Circle Star
// A
key <AC01> { [ NoSymbol, U2296 ] }; // ⊖ -- Circled Minus
// F
key <AC04> { [ NoSymbol, U236B ] }; // ⍫ -- APL Functional Symbol Del Tilde
// G
key <AC05> { [ NoSymbol, U2352 ] }; // ∇ ⍒ -- APL Functional Symbol Del Stile
// H
key <AC06> { [ NoSymbol, U234B ] }; // ∆ ⍋ -- APL Functional Symbol Delta Stile
// J
key <AC07> { [ NoSymbol, U2364 ] }; // ⍤ -- APL Functional Symbol Jot Diaeresis
// K
key <AC08> { [ NoSymbol, U233B ] }; // ⌻
// L
key <AC09> { [ NoSymbol, U235E ] }; // ⍞ -- APL Functional Symbol Quote Quad
// ;
key <AC10> { [ U22A2 ] }; // ⊢ -- Right Tack
// '
key <AC11> { [ U22A3 ] }; // ⊣ -- Left Tack
// C
key <AB03> { [ NoSymbol, U235D ] }; // ⍝ -- APL Functional Symbol Up Shoe Jot
// B
key <AB05> { [ NoSymbol, U234E ] }; // ⍎ -- APL Functional Symbol Down Tack Jot (Unicode got the name wrong; it should have been "Up Tack")
// N
key <AB06> { [ NoSymbol, U2355 ] }; // ⍕ -- APL Functional Symbol Up Tack Jot (Unicode got the name wrong; it should have been "Down Tack")
// M
key <AB07> { [ NoSymbol, U2336 ] }; // ⌶ -- APL Functional Symbol I-Beam
// ,
key <AB08> { [ U235E, U236A ] }; // ⍞ ⍪ -- APL Functional Symbol Quote Quad / APL Functional Symbol Comma Bar
// .
key <AB09> { [ U234E, U2359 ] }; // ⍎ ⍙ -- [See B key] / APL Functional Symbol Delta Underbar
// /
key <AB10> { [ U2355, U233F ] }; // ⍕ ⌿ -- [See N key] / APL Functional Symbol Slash Bar
key <BKSL> { [ U235D, U2340 ] }; // ⍝ ⍀ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Backslash Bar
};
// Layout: http://www.wickensonline.co.uk/apl-unicomp.html
partial alphanumeric_keys modifier_keys
xkb_symbols "apl2" {
name[Group1]= "APL Keyboard Symbols: IBM APL2";
include "apl(common)"
// The first column is NoSymbol because it inherits. The second is NoSymbol because those keys don't do anything
// `
key <TLDE> { [ NoSymbol, U233B, U2342 ] }; // ⌻ ⍂ --
key <AE01> { [ NoSymbol, NoSymbol, U2336 ] }; // ⌶ -- APL Functional Symbol I-Beam
key <AE02> { [ NoSymbol, NoSymbol, U236B ] }; // ⍫ -- APL Functional Symbol Del Tilde
key <AE03> { [ NoSymbol, NoSymbol, U2353 ] }; // ⍒ -- APL Functional Symbol Del Stile
key <AE04> { [ NoSymbol, NoSymbol, U234B ] }; // ⍋ -- APL Functional Symbol Delta Stile
key <AE05> { [ NoSymbol, NoSymbol, U233D ] }; // ⌽ -- APL Functional Symbol Circle Stile
key <AE06> { [ NoSymbol, NoSymbol, U2349 ] }; // ⍉ -- APL Functional Symbol Circle Backslash
key <AE07> { [ NoSymbol, NoSymbol, U2296 ] }; // ⊖ -- Circled Minus
key <AE08> { [ NoSymbol, NoSymbol, U235F ] }; // ⍟ -- APL Functional Symbol Circle Star
key <AE09> { [ NoSymbol, NoSymbol, U2371 ] }; // ⍱ -- APL Functional Symbol Down Caret Tilde
key <AE10> { [ NoSymbol, NoSymbol, U2372 ] }; // ⍲ -- APL Functional Symbol Up Caret Tilde
// -
key <AE11> { [ plus, minus, exclam ] };
// =
key <AE12> { [ U00D7, U00F7, U2339 ] }; // × ÷ ⌹ -- Multiplication Sign / Division Sign / APL Functional Symbol Quad Divide
// [
key <AD11> { [ NoSymbol, U2192, U235E ] }; // (←) → ⍞ -- Rightwards Arrow / APL Functional Symbol Quote Quad
// ]
key <AD12> { [ U2337, U2378, U2359 ] }; // ⌷ ⍸ ⍙ -- APL Functional Symbol Squish Quad / APL Functional Symbol Iota Underbar / APL Functional Symbol Delta Underbar
// ;
key <AC10> { [ bracketleft, parenleft, U234E ] }; // ⍎ -- [See B key in SAX layout]
// '
key <AC11> { [ bracketright, parenright, U2355 ] }; // ⍕ -- [See N key in SAX layout]
// ,
key <AB08> { [ comma, semicolon, U235D ] }; // ⍝ -- APL Functional Symbol Up Shoe Jot
// .
key <AB09> { [ period, colon, U2340 ] }; // ⍀ -- APL Functional Symbol Backslash Bar
// /
key <AB10> { [ slash, backslash, U233F ] }; // ⌿ -- APL Functional Symbol Slash Bar
key <BKSL> { [ U2261, U2377, U2364 ] }; // ≡ ⍷ ⍤ -- Identical To / APL Functional Symbol Epsilon Underbar / APL Functional Symbol Jot Diaeresis
};
partial alphanumeric_keys modifier_keys
xkb_symbols "aplplusII" {
name[Group1]= "APL Keyboard Symbols: Manugistics APL*PLUS II";
include "apl(apl2)"
// `
key <TLDE> { [ dollar, U22C4, U236A ] }; // ⋄ ⍪ -- Diamond Operator / APL Functional Symbol Comma Bar
key <AE01> { [ NoSymbol, NoSymbol, U2261 ] }; // ≡ -- Identical To
// [
key <AD11> { [ U2190, NoSymbol, U235E ] }; // ← ⍞ -- Leftwards Arrow / APL Functional Symbol Quote Quad
// ]
key <AD12> { [ U2192, NoSymbol, U236C ] }; // → ⍬ -- Rightwards Arrow / APL Functional Symbol Zilde
// ;
key <AC10> { [ bracketleft, parenleft, U234E ] }; // ⍎ -- [See B key in SAX layout]
// '
key <AC11> { [ bracketright, parenright, U2355 ] }; // ⍕ -- [See N key in SAX layout]
key <BKSL> { [ U22A3, U22A2, U2359 ] }; // ⊣ ⊢ ⍙ -- Left Tack / Right Tack / APL Functional Symbol Delta Underbar
};
// MicroAPL layout: http://aplwiki.com/APLXKeyboardLayouts
// I didn't do the old-style MicroAPL layout; patches gratefully accepted
partial alphanumeric_keys modifier_keys
xkb_symbols "aplx" {
name[Group1]= "APL Keyboard Symbols: APLX Unified APL Layout";
include "apl(unified)"
// `
key <TLDE> { [ NoSymbol, U235E ] }; // ⍞ -- APL Functional Symbol Quote Quad
key <AE01> { [ NoSymbol, U2336 ] }; // ⌶ -- APL Functional Symbol I-Beam
key <AE02> { [ NoSymbol, U236B ] }; // ⍫ -- APL Functional Symbol Del Tilde
key <AE03> { [ NoSymbol, U2353 ] }; // ⍒ -- APL Functional Symbol Del Stile
key <AE04> { [ NoSymbol, U234B ] }; // ⍋ -- APL Functional Symbol Delta Stile
key <AE05> { [ NoSymbol, U233D ] }; // ⌽ -- APL Functional Symbol Circle Stile
key <AE06> { [ NoSymbol, U2349 ] }; // ⍉ -- APL Functional Symbol Circle Backslash
key <AE07> { [ NoSymbol, U2296 ] }; // ⊖ -- Circled Minus
key <AE08> { [ NoSymbol, U235F ] }; // ⍟ -- APL Functional Symbol Circle Star
// -
key <AE11> { [ NoSymbol, exclam ] };
// [
key <AD11> { [ NoSymbol, U2347 ] }; // ⍇ -- Box With Left Arrow
// ]
key <AD12> { [ NoSymbol, U2348 ] }; // ⍈ -- Box With Right Arrow
// ;
key <AC10> { [ U234E, U2261 ] }; // ⍎ ≡ -- [See B key in SAX layout] / Identical To
// '
key <AC11> { [ U2355, U2262 ] }; // ⍕ ≢ -- [See N key in SAX layout] / Not Identical To
// ,
key <AB08> { [ U235D, U236A ] }; // ⍝ ⍪ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Comma Bar
// .
key <AB09> { [ U2340, U2364 ] }; // ⍀ ⍤ -- APL Functional Symbol Backslash Bar / APL Functional Symbol Jot Diaeresis
// /
key <AB10> { [ U233F ] }; // ⌿ -- APL Functional Symbol Slash Bar
key <BKSL> { [ U22A3, U22A3 ] }; // ⊣ ⊢ -- Left Tack / Right Tack
};