/usr/share/X11/xkb/symbols
Edit: /usr/share/X11/xkb/symbols/apl (52176B)
// EXTRAS:
//
// 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
// - The Dyalog APL layout - with additions for box drawing and commands
// 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.
// [Geoff Streeter: What has been done to is to support all of the APL overstrikes in the compose table]
// 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.
// 2018-07-02 added some codes to the Unicode Private Use page.
// 2017-02-27 changed Β€ to βΊ, added β
// 2012-09-26 changed "overbar" to macron which fixed some strangeness in xterm
// 2011-12-22 Geoff Streeter: geoff@dyalog.com
// Added the Dyalog support.
// Corrected (what he thinks) are some errors.
// Resolving the confusion between APL's and Unicode's concept of Left and Right tacks.
// Unsure about some of the inheritance from APL2 into APLPLUS. Patches welcome.
// Complied with freedesktop.org requirement that the keycodes be in sorted order. Which
// leads to the bottom to top (roughly) definitions.
// default layout seems to have to be the first one. Choosing the basic Dyalog layout is definitely
// better than using the "common" one. Choosing the complete Dyalog layout is not useful to non-Dyalog
// users.
default partial alphanumeric_keys
xkb_symbols "basic" {
include "apl(dyalog_base)" // forward reference to a good APL keyboard without Dyalogs extras
name[Group1]="APL";
};
// βββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ²ββββββββββ
// β β β β β β β β β β β β β β β
// β β Β¨ β Β― β < β β€ β = β β₯ β > β β β β¨ β β§ β β β β
// β’ββββββ·ββ±ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββΊββ³ββββββββ«
// β β β β β β β β β β β β β β β
// β β ? β β΅ β β β β΄ β ~ β β β β β β³ β β β * β β β β β
// β£ββββββββ»β±βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββΊβ β
// β β β β β β β β β β β β β β β
// β β βΊ β β β β β _ β β β β β β β ' β β β β β β β
// β£ββββββββ³βΉβββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ²β·ββββββ»βββββββ«
// β β β β β β β β β β β β β β
// β β β β β β β β© β βͺ β β₯ β β€ β | β β β β β
// β£ββββββββββββββ·ββ³ββββ·ββββ±ββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββ²ββ·ββββββββββββ»ββ³ββββββββ³ββββ
// β β β β β β β β
// β β β β β β β β
// βββββββββ»ββββββββ»ββββββββΉββββββββββββββββββββββββββββββββββββΊββββββββ»ββββββββ»ββββββββ
hidden partial alphanumeric_keys
xkb_symbols "common" {
key
{ [ U2282 ] }; // Z: β -- Subset Of
key { [ U2283 ] }; // X: β -- Superset Of
key { [ U2229 ] }; // C: β© -- Intersection
key { [ U222A ] }; // V: βͺ -- Union
key { [ U22A5 ] }; // B: β₯ -- Up Tack
key { [ U22A4 ] }; // N: β€ -- Down Tack
key { [ U007C ] }; // M: | -- Vertical Line
key { [ U237A ] }; // A: βΊ -- APL Functional Symbol Alpha
key { [ U2308 ] }; // S: β -- Left Ceiling
key { [ U230A ] }; // D: β -- Left Floor
key { [ underscore ] }; // F:
key { [ U2207 ] }; // G: β -- Nabla
key { [ U2206 ] }; // H: β -- Increment
key { [ U2218 ] }; // J: β -- Ring Operator
key { [ apostrophe ] }; // K:
key { [ U2395 ] }; // L: β -- APL Functional Symbol Quad
key { [ question ] }; // Q:
key { [ U2375 ] }; // W: β΅ -- APL Functional Symbol Omega
key { [ U220A ] }; // E: β -- Small Element Of
key { [ U2374 ] }; // R: β΄ -- APL Functional Symbol Rho
key { [ asciitilde ] }; // T:
key { [ U2191 ] }; // Y: β -- Upwards Arrow
key { [ U2193 ] }; // U: β -- Downwards Arrow
key { [ U2373 ] }; // I: β³ -- APL Functional Symbol Iota
key { [ U25CB ] }; // O: β -- White Circle
key { [ asterisk ] }; // P: * -- asterisk
key { [ U2190 ] }; // [: β -- Leftwards Arrow
key { [ diaeresis ] };
key { [ macron ] }; // Β― -- Macron
key { [ less ] };
key { [ U2264 ] }; // β€ -- Less-than Or Equal To
key { [ equal ] };
key { [ U2265 ] }; // β₯ -- Greater-than Or Equal To
key { [ greater ] };
key { [ U2260 ] }; // β -- Not Equal To
key { [ U2228 ] }; // β¨ -- Logical Or
key { [ U2227 ] }; // β§ -- Logical And
};
// Keys common to a number of keyboards that allow normal language usage alongside APL
// βββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ²ββββββββββ
// β β β β β β β β β β β± β β² β β βΉ β β
// β β β Β¨ β Β― β < β β€ β = β β₯ β > β β β β¨ β β§ β Γ β Γ· β β
// β’ββββββ·ββ±ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββΊββ³ββββββββ«
// β β β β β β β β β β β β β β β
// β β ? β β΅ β β β β΄ β ~ β β β β β β³ β β β * β β β β β β
// β£ββββββββ»β±βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββΊβ β
// β β β β β β β β β β β β β β β
// β β βΊ β β β β β _ β β β β β β β ' β β β β β β β
// β£ββββββββ³βΉβββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ²β·ββββββ»βββββββ«
// β β β β β β β β β β β β β β
// β β β β β β β β© β βͺ β β₯ β β€ β | β β β β β
// β£ββββββββββββββ·ββ³ββββ·ββββ±ββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββ²ββ·ββββββββββββ»ββ³ββββββββ³ββββ
// β β β β β β β β
// β β β β β β β β
// βββββββββ»ββββββββ»ββββββββΉββββββββββββββββββββββββββββββββββββΊββββββββ»ββββββββ»ββββββββ
partial alphanumeric_keys
xkb_symbols "unified" {
include "apl(common)"
name[Group1]= "APL symbols (unified)";
key { [ U2192 ] }; // ]: β -- Rightwards Arrow
key { [ NoSymbol, U2371 ] }; // 9: β± -- APL Functional Symbol Down Caret Tilde
key { [ NoSymbol, U2372 ] }; // 0: β² -- APL Functional Symbol Up Caret Tilde
key { [ U00D7 ] }; // -: Γ -- Multiplication Sign
key { [ U00F7, U2339 ] }; // =: Γ· βΉ -- Division Sign / APL Functional Symbol Quad Divide
key { [ U22C4 ] }; // `: β -- Diamond Operator
};
// Layout: http://www.wickensonline.co.uk/apl-unicomp.html
// βββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ²ββββββββββ
// β β Β‘ β β β Β’ β β β β β β β± β β² β β‘ β βΉ β β
// β β β Β¨ β Β― β < β β€ β = β β₯ β > β β β β¨ β β§ β Γ β Γ· β β
// β’ββββββ·ββ±ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββΊββ³ββββββββ«
// β β ΒΏ β β½ β β· β β β β β β βΈ β β₯ β β£ β β β β
// β β ? β β΅ β β β β΄ β ~ β β β β β β³ β β β * β β β β β β
// β£ββββββββ»β±βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββΊβ β
// β β β β β β β« β β β β β β€ β β» β β β β β β β β
// β β βΊ β β β β β _ β β β β β β β ' β β β β’ β β£ β β β β
// β£ββββββββ³βΉβββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ²β·ββββββ»βββββββ«
// β β β β β β β β β β β β βΆ β βͺ β β β βΏ β β
// β β β β β β β β© β βͺ β β₯ β β€ β | β β β β β β β β
// β£ββββββββββββββ·ββ³ββββ·ββββ±ββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββ²ββ·ββββββββββββ»ββ³ββββββββ³ββββ
// β β β β β β β β
// β β β β β β β β
// βββββββββ»ββββββββ»ββββββββΉββββββββββββββββββββββββββββββββββββΊββββββββ»ββββββββ»ββββββββ
partial alphanumeric_keys
xkb_symbols "sax" {
include "apl(unified)"
name[Group1]= "APL symbols (SAX, Sharp APL for Unix)";
key { [ NoSymbol, U235D ] }; // C: β -- APL Functional Symbol Up Shoe Jot
key { [ NoSymbol, U234E ] }; // B: β -- APL Functional Symbol Down Tack Jot (Unicode got the name wrong; it should have been "Up Tack")
key { [ NoSymbol, U2355 ] }; // N: β -- APL Functional Symbol Up Tack Jot (Unicode got the name wrong; it should have been "Down Tack")
key { [ NoSymbol, U2336 ] }; // M: βΆ -- APL Functional Symbol I-Beam
key { [ U235E, U236A ] }; // ,: β βͺ -- APL Functional Symbol Quote Quad / APL Functional Symbol Comma Bar
key { [ U234E, U2359 ] }; // .: β β -- [See B key] / APL Functional Symbol Delta Underbar
key { [ U2355, U233F ] }; // /: β βΏ -- [See N key] / APL Functional Symbol Slash Bar
key { [ NoSymbol, U2296 ] }; // A: β -- Circled Minus
key { [ NoSymbol, U236B ] }; // F: β« -- APL Functional Symbol Del Tilde
key { [ NoSymbol, U2352 ] }; // G: β β -- APL Functional Symbol Del Stile
key { [ NoSymbol, U234B ] }; // H: β β -- APL Functional Symbol Delta Stile
key { [ NoSymbol, U2364 ] }; // J: β€ -- APL Functional Symbol Jot Diaeresis
key { [ NoSymbol, U233B ] }; // K: β»
key { [ NoSymbol, U235E ] }; // L: β -- APL Functional Symbol Quote Quad
key { [ U22A2 ] }; // ;: β’ -- Right Tack
key { [ U22A3 ] }; // ': β£ -- Left Tack
key { [ NoSymbol, U00BF ] }; // Q: ΒΏ -- Inverted Question Mark
key { [ NoSymbol, U233D ] }; // W: β½ -- APL Functional Symbol Circle Stile
key { [ NoSymbol, U2377 ] }; // E: β· -- APL Functional Symbol Epsilon Underbar
key { [ NoSymbol, U2349 ] }; // T: β -- APL Functional Symbol Circle Backslash
key { [ NoSymbol, U2378 ] }; // I: βΈ -- APL Functional Symbol Iota Underbar
key { [ NoSymbol, U2365 ] }; // O: β₯ -- APL Functional Symbol Circle Diaeresis
key { [ NoSymbol, U235F ] }; // P: β -- APL Functional Symbol Circle Star
key { [ NoSymbol, U00A1 ] }; // 1: Β‘ -- Inverted Exclamation Mark
key { [ NoSymbol, cent ] }; // 4:
key { [ NoSymbol, U2342 ] }; // 8: β -- APL Functional Symbol Quad Backslash
key { [ NoSymbol, U2261 ] }; // -: β‘ -- Identical To
key { [ 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
xkb_symbols "apl2" {
include "apl(common)"
name[Group1]= "APL symbols (IBM APL2)";
// The first column is NoSymbol because it inherits. The second is NoSymbol because those keys don't do anything
// AFS - short for APL Functional Symbol
key { [ comma, semicolon, U235D ] }; // ,: β -- AFS Up Shoe Jot
key { [ period, colon, U2340 ] }; // .: β -- AFS Backslash Bar
key { [ slash, backslash, U233F ] }; // /: βΏ -- AFS Slash Bar
key { [ bracketleft, parenleft, U234E ] }; // ;: β -- [See B key in SAX layout]
key { [ bracketright, parenright, U2355 ] }; // ': β -- [See N key in SAX layout]
key { [ NoSymbol, U2192, U235E ] }; // [: (β) β β -- Rightwards Arrow / AFS Quote Quad
key { [ U2337, U2378, U2359 ] }; // ]: β· βΈ β -- AFS Squish Quad / AFS Iota Underbar / AFS Delta Underbar
key { [ NoSymbol, NoSymbol, U2336 ] }; // 1: βΆ -- AFS I-Beam
key { [ NoSymbol, NoSymbol, U236B ] }; // 2: β« -- AFS Del Tilde
key { [ NoSymbol, NoSymbol, U2353 ] }; // 3: β -- AFS Del Stile
key { [ NoSymbol, NoSymbol, U234B ] }; // 4: β -- AFS Delta Stile
key { [ NoSymbol, NoSymbol, U233D ] }; // 5: β½ -- AFS Circle Stile
key { [ NoSymbol, NoSymbol, U2349 ] }; // 6: β -- AFS Circle Backslash
key { [ NoSymbol, NoSymbol, U2296 ] }; // 7: β -- Circled Minus
key { [ NoSymbol, NoSymbol, U235F ] }; // 8: β -- AFS Circle Star
key { [ NoSymbol, NoSymbol, U2371 ] }; // 9: β± -- AFS Down Caret Tilde
key { [ NoSymbol, NoSymbol, U2372 ] }; // 0: β² -- AFS Up Caret Tilde
key { [ plus, minus, exclam ] }; // -:
key { [ U00D7, U00F7, U2339 ] }; // =: Γ Γ· βΉ -- Multiplication Sign / Division Sign / AFS Quad Divide
key { [ U2261, U2377, U2364 ] }; // \: β‘ β· β€ -- Identical To / AFS Epsilon Underbar / AFS Jot Diaeresis
key { [ NoSymbol, U233B, U2342 ] }; // `: β» β --
include "level3(ralt_switch)"
};
// βββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ²ββββββββββ
// β βͺ β β‘ β β« β β β β β β½ β β β β β β β β± β β² β ! β βΉ β β
// β β β β β β β β β β β β β - β Γ· β β
// β $ β Β¨ β Β― β < β β€ β = β β₯ β > β β β β¨ β β§ β + β Γ β β
// β’ββββββ·ββ±ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββΊββ³ββββββββ«
// β β β β β β β β β β β β β β β¬ β β
// β β β β β β β β β β β β β β βΈ β β
// β β ? β β΅ β β β β΄ β ~ β β β β β β³ β β β * β β β β β β
// β£ββββββββ»β±βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββΊβ β
// β β β β β β β β β β β β β β β β β β
// β β β β β β β β β β β ( β ) β β£ β β
// β β βΊ β β β β β _ β β β β β β β ' β β β [ β ] β β’ β β
// β£ββββββββ³βΉβββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ²β·ββββββ»βββββββ«
// β β β β β β β β β β β β β β βΏ β β
// β β β β β β β β β β ; β : β \ β β
// β β β β β β β β© β βͺ β β₯ β β€ β | β , β . β / β β
// β£ββββββββββββββ·ββ³ββββ·ββββ±ββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββ²ββ·ββββββββββββ»ββ³ββββββββ³ββββ
// β β β β β β β β
// β β β β β β β β
// βββββββββ»ββββββββ»ββββββββΉββββββββββββββββββββββββββββββββββββΊββββββββ»ββββββββ»ββββββββ
partial alphanumeric_keys
xkb_symbols "aplplusII" {
include "apl(apl2)"
name[Group1]= "APL symbols (Manugistics APL*PLUS II)";
// AFS is short for APL Functional Symbol
key { [ bracketleft, parenleft, U234E ] }; // ;: β -- [See B key in SAX layout]
key { [ bracketright, parenright, U2355 ] }; // ': β -- [See N key in SAX layout]
key { [ U2190, NoSymbol, U235E ] }; // [: β β -- Leftwards Arrow / AFS Quote Quad
key { [ U2192, NoSymbol, U236C ] }; // ]: β β¬ -- Rightwards Arrow / AFS Zilde
key { [ NoSymbol, NoSymbol, U2261 ] }; // 1: β‘ -- Identical To
key { [ U22A2, U22A3, U2359 ] }; // \: β’ β£ β -- Left Tack / Right Tack / AFS Delta Underbar
key { [ dollar, U22C4, U236A ] }; // `: β βͺ -- Diamond Operator / AFS Comma Bar
};
// MicroAPL layout: http://aplwiki.com/APLXKeyboardLayouts
// I didn't do the old-style MicroAPL layout; patches gratefully accepted
// βββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ²ββββββββββ
// β β β βΆ β β« β β β β β β½ β β β β β β β β± β β² β ! β βΉ β β
// β β β Β¨ β Β― β < β β€ β = β β₯ β > β β β β¨ β β§ β Γ β Γ· β β
// β’ββββββ·ββ±ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββΊββ³ββββββββ«
// β β β β β β β β β β β β β β β β β
// β β ? β β΅ β β β β΄ β ~ β β β β β β³ β β β * β β β β β β
// β£ββββββββ»β±βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββΊβ β
// β β β β β β β β β β β β‘ β β’ β β£ β β
// β β βΊ β β β β β _ β β β β β β β ' β β β β β β β β’ β β
// β£ββββββββ³βΉβββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ²β·ββββββ»βββββββ«
// β β β β β β β β β β βͺ β β€ β β β
// β β β β β β β β© β βͺ β β₯ β β€ β | β β β β β βΏ β β
// β£ββββββββββββββ·ββ³ββββ·ββββ±ββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββ²ββ·ββββββββββββ»ββ³ββββββββ³ββββ
// β β β β β β β β
// β β β β β β β β
// βββββββββ»ββββββββ»ββββββββΉββββββββββββββββββββββββββββββββββββΊββββββββ»ββββββββ»ββββββββ
partial alphanumeric_keys
xkb_symbols "aplx" {
include "apl(unified)"
name[Group1]= "APL symbols (APLX unified)";
key { [ U235D, U236A ] }; // ,: β βͺ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Comma Bar
key { [ U2340, U2364 ] }; // .: β β€ -- APL Functional Symbol Backslash Bar / APL Functional Symbol Jot Diaeresis
key { [ U233F ] }; // /: βΏ -- APL Functional Symbol Slash Bar
key { [ U234E, U2261 ] }; // ;: β β‘ -- [See B key in SAX layout] / Identical To
key { [ U2355, U2262 ] }; // ': β β’ -- [See N key in SAX layout] / Not Identical To
key { [ NoSymbol, U2347 ] }; // [: β -- Box With Left Arrow
key { [ NoSymbol, U2348 ] }; // ]: β -- Box With Right Arrow
key { [ NoSymbol, U2336 ] }; // 1: βΆ -- APL Functional Symbol I-Beam
key { [ NoSymbol, U236B ] }; // 2: β« -- APL Functional Symbol Del Tilde
key { [ NoSymbol, U2353 ] }; // 3: β -- APL Functional Symbol Del Stile
key { [ NoSymbol, U234B ] }; // 4: β -- APL Functional Symbol Delta Stile
key { [ NoSymbol, U233D ] }; // 5: β½ -- APL Functional Symbol Circle Stile
key { [ NoSymbol, U2349 ] }; // 6: β -- APL Functional Symbol Circle Backslash
key { [ NoSymbol, U2296 ] }; // 7: β -- Circled Minus
key { [ NoSymbol, U235F ] }; // 8: β -- APL Functional Symbol Circle Star
key { [ NoSymbol, exclam ] }; // -:
key { [ U22A2, U22A3 ] }; // \: β’ β£ -- Right Tack / Left Tack
key { [ NoSymbol, U235E ] }; // `: β -- APL Functional Symbol Quote Quad
};
// APL language support for the Dyalog keyboard.
// Dyalog Ltd sell this keyboard with APL engravings. The current model is
// engraved on a Cherry G80. Base languages for US, UK and DK are availible.
// Geoff Streeter, Dyalog Ltd. 2007-09-03
// geoff@dyalog.com
// extended for APL special actions 2008-09-09
// add variant 2010-11-26
// made BKSL and LTGT keys the same to remove a compatibility issue with the UK physical keyboard
// add key (quad equals) 2013-03-12
// add currency 2014-05-23
// add parallel 2014-05-23
// add circle jot 2014-05-23
// add t diaeresis 2014-05-23
// add del diaerisis 2014-05-23
// add quad query 2014-05-23
// add dagger 2014-05-23
// correct spelling of key name LTGTβLSGT 2016-05-26
// add enclose underbar 2017-02-27
// add alpha underbar 2019-03-22
// add omega underbar 2019-03-22
// change all "partial hidden" to "hidden partial" - seems to be a compiler change
// The intention is that this keyboard layout overlays a base keyboard that provides
// the alphabet and similar. If this keyboard is placed as the 2nd layout then it can
// be reached with a latching shift to increase group by one.
hidden partial alphanumeric_keys
xkb_symbols "dyalog_base" {
// βββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ²ββββββββββ
// β βΊ β βΆ β β« β β β β β β½ β β β β β β β β± β β² β ! β βΉ β β
// β β β Β¨ β Β― β < β β€ β = β β₯ β > β β β β¨ β β§ β Γ β Γ· β β
// β’ββββββ·ββ±ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββΊββ³ββββββββ«
// β β β° β βΉ β β· β βΎ β β¨ β β β βΈ β β₯ β β£ β β β β¬ β β
// β β ? β β΅ β β β β΄ β ~ β β β β β β³ β β β * β β β β β β
// β£ββββββββ»β±βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββΊβ β
// β β βΆ β β β β β’ β β β€ β βΈ β β· β β‘ β β’ β β£ β β
// β β βΊ β β β β β _ β β β β β β β ' β β β β β β β β’ β β
// β£ββββββββ³βΉβββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ²β·ββββββ»βββββββ«
// β β β£ β β β β β β β β β‘ β β₯ β βͺ β β β β β β
// β β β’ β β β β β β© β βͺ β β₯ β β€ β | β β β β β βΏ β β
// β£ββββββββββββββ·ββ³ββββ·ββββ±ββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββ²ββ·ββββββββββββ»ββ³ββββββββ³ββββ
// β β β β β β β β
// β β β β β β β β
// βββββββββ»ββββββββ»ββββββββΉββββββββββββββββββββββββββββββββββββΊββββββββ»ββββββββ»ββββββββ
key { [ U2282, U2286 ] }; // subset of, enclose if simple
key { [ U2283 ] }; // superset of
key { [ U2229 ] }; // intersection
key { [ U222A ] }; // union
key { [ U22a5, U236d ] }; // up tack, stile tide
key { [ U22a4, U2361 ] }; // down tack, down tack diaeresis
key { [ bar, U2225 ] }; // vertical line, parallel to
key { [ U235d, U236a ] }; // up shoe jot, comma bar
key { [ U2340, U2359 ] }; // backslash bar, delta underbar
key { [ U233f, U2360 ] }; // slash bar, quad colon
key { [ U237a, U2376 ] }; // alpha, alpha underscore
key { [ U2308 ] }; // left ceiling
key { [ U230a ] }; // left floor
key { [ underscore ] }; // low line
key { [ U2207, U2362 ] }; // nabla, del diaerisis
key { [ U2206 ] }; // increment
key { [ U2218, U2364 ] }; // ring operator, jot diaeresis
key { [ apostrophe, U2338 ] }; // quote, key
key { [ U2395, U2337 ] }; // quad, squish quad
key { [ U234e, U2261 ] }; // up tack jot, identical to
key { [ U2355, U2262 ] }; // down tack jot, not identical to
key { [ question, U2370 ] }; // ?, quad question
key { [ U2375, U2379 ] }; // omega, omega underscore
key { [ U220a, U2377 ] }; // small element of, epsilon underbar
key { [ U2374, U233E ] }; // rho, circle jot
key { [ asciitilde, U2368 ] }; // tilde, tilde diaeresis
key { [ U2191 ] }; // upwards arrow
key { [ U2193 ] }; // downwards arrow
key { [ U2373, U2378 ] }; // iota, iota underbar
key { [ U25cb, U2365 ] }; // circle, circle diaeresis
key { [ asterisk, U2363 ] }; // asterisk, star diaeresis
key { [ U2190, U235e ] }; // left arrow, quote quad
key { [ U2192, U236c ] }; // right arrow, zilde
key { [ diaeresis, U2336 ] }; // i-beam
key { [ macron, U236B ] }; // deltilde
key { [ less, U2352 ] }; // downgrade
key { [ U2264, U234b ] }; // lesseq upgrade
key { [ equal, U233d ] }; // circlestile
key { [ U2265, U2349 ] }; // greatereq circleslope
key { [ greater, U2296 ] }; // circlebar
key { [ U2260, U235f ] }; // notequal, circlestar
key { [ U2228, U2371 ] }; // logical or, down caret tilde
key { [ U2227, U2372 ] }; // logical and, up caret tilde
key { [ multiply, exclam ] };
key { [ division, U2339 ] }; // quad divide
key { [ U22a2, U22a3 ] }; // right tack, left tack
key { [ U22a2, U22a3 ] }; // right tack, left tack
key { [ U22c4, U233a ] }; // diamond, quad diamond
};
hidden partial keypad_keys
xkb_symbols "dyalog_box" {
// βββββ¬ββββ¬ββββ¬ββββ
// β β β β β
// βββββΌββββΌββββΌββββ€
// β β β β¬ β β β β
// βββββΌββββΌββββ€ β
// β β β βΌ β β€ β β
// βββββΌββββΌββββΌββββ€
// β β β β΄ β β β β
// βββββ΄ββββΌββββ€ β
// β β β β β β
// βββββββββ΄ββββ΄ββββ
key { [ U2500 ] }; // box drawing light horizontal
key { [ U2514 ] }; // box drawing light up and right
key { [ U2534 ] }; // box drawing light up and horizontal
key { [ U2518 ] }; // box drawing light up and left
key { [ U251c ] }; // box drawing light vertical and right
key { [ U253c ] }; // box drawing light vertical and horizontal
key { [ U2524 ] }; // box drawing light vertical and left
key { [ U250c ] }; // box drawing light down and right
key { [ U252c ] }; // box drawing light down and horizontal
key { [ U2510 ] }; // box drawing light down and left
key { [ U2502 ] }; // box drawing light vertical
};
hidden partial
xkb_symbols "dyalog_codes" {
// Layout of private use area for this. In the style of the Unicode book
//
// APL special actions F800-F88F
//
// βF800 F810 F820 F830 F840 F850 F860 F870 F880
// ββββββ¬βββββ¬βββββ¬βββββ¬βββββ¬βββββ¬βββββ¬βββββ¬βββββ
// 0βQT βLL βBK βFX βRc βBP βPA β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// 1βER βHO βZM βLN βLW βAB βSA β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// 2βTB βCT βSC βMC βRW βHT βRZ β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// 3βBT βPT βRP βMR βLw βTH βAC β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// 4βEP βIN βNX βJP βRw βRM βMA β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// 5βUC βII βPV βD1 βUc βCB βOF β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// 6βDC βDI βRT βD2 βDc βPR βFS β βTO β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// 7βRC βDP βRA βD3 βLl βSR βFA β βMO β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// 8βLC βDB βED βD4 βRl βIS βTT β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// 9βUS βRD βTC βD5 βUl βTL βFT β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// AβDS βTG βNB βU1 βDl βUA βPL β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// BβRS βDK βNS βU2 βUs βAO βCA β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// CβLS βOP βST βU3 βDs βDO β β β β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// DβUL βCP βEN βU4 βDD βGL β β βS1 β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// EβDL βMV βIF βU5 βDH βCH β β βS2 β
// ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββ€
// FβRL βFD βHK βLc βBH βPU β β βOS β
// ββββββ΄βββββ΄βββββ΄βββββ΄βββββ΄βββββ΄βββββ΄βββββ΄βββββ
//
// APL Function Keys F700-F7FF
//
// βF700 ... ... F7F0
// ββββββ¬βββββ¬βββββ¬βββββ¬....β¬βββββ¬βββββ¬βββββ¬βββββ
// 0βF0 βF16 βF32 βF48 β βF192βF208βF224βF240β
// .
// .
// .
// FβF15 βF31 βF47 βF63 β βF207βF223βF239βF255β
// ββββββ΄βββββ΄βββββ΄βββββ΄....β΄βββββ΄βββββ΄βββββ΄βββββ
//
// whilst these locations are defined. Dyalog's "aplkeys/xterm" file copes with
// normal function keys from the base keyboard rather than this overlay
// βββββββ βββββ
// β CA β βZM β
// β QT β βZM β
// βββββββ βββββ
// βββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ²ββββββββββ
// β β β β β β β β β β β β β β CB β
// β β β β β β β β β β β β β β BP β
// β’ββββββ·ββ±ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββ΄ββ¬ββββΊββ³ββββββββ«
// β BT β β β β β β β β β β β β β β
// β TB β β β β β β β β β β β β β β
// β£ββββββββ»β±βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββ΄β¬βββββΊβ β
// β β β β β β β β β β β β β β TC β
// β β β β β β β β β β β β β β ED β
// β£ββββββββ³βΉβββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ¬β΄βββββ²β·ββββββ»βββββββ«
// β β β β β β β β β β β β β β
// β β β β β β β β β β β β β β
// β£ββββββββββββββ·ββ³ββββ·ββββ±ββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄ββββ²ββ·ββββββββββββ»ββ³ββββββββ³ββββ
// β β β β MO β β β β
// β β β β TO β β β β
// βββββββββ»ββββββββ»ββββββββΉββββββββββββββββββββββββββββββββββββΊββββββββ»ββββββββ»ββββββββ
key { [ Uf850, Uf855 ] }; // BP CB
key { [ Uf800, Uf86b ] }; // QT CA
key { [ Uf821, Uf821 ] }; // ZM, ZM put this on both, the unshifted one sometimes gets lost
key { [ Uf828, Uf829 ] }; // ED, TC
key { [ Uf886, Uf887 ] }; // TO, MO
key { [ Uf802, Uf803 ] }; // TB, BT
// βββββββ
// β β
// β BK β
// ββββββΌββββββΌβββββ
// β BH β β RM β
// β PV β FD β NX β
// ββββββ΄ββββββ΄βββββ
key { [ Uf81f ] }; // FD
key { [ Uf825, Uf84f ] }; // PV, BH
key { [ Uf824, Uf854 ] }; // NX, RM
key { [ Uf820 ] }; // BK
// βββββ¬ββββ¬ββββ
// βPT βLL βUL β
// βCP βLS βUS β
// βββββΌββββΌββββ€
// βCT βRL βDL β
// βDK βRS βDS β
// βββββ΄ββββ΄ββββ
key { [ Uf81b, Uf812 ] }; // DK, CT
key { [ Uf80b, Uf80f ] }; // RS, RL
key { [ Uf80c, Uf810 ] }; // LS, LL
key { [ Uf81d, Uf813 ] }; // CP, PT
key { [ Uf80a, Uf80e ] }; // DS, DL
key { [ Uf809, Uf80d ] }; // US, UL
// βββββ¬ββββ¬ββββ¬ββββ
// β βRD βTG βLN β
// βββββΌββββΌββββΌββββ€
// β β β β β
// βββββΌββββΌββββ€TL β
// β β β β β
// βββββΌββββΌββββΌββββ€
// β β β β β
// βββββ΄ββββΌββββ€ β
// β β β β
// βββββββββ΄ββββ΄ββββ
key { [ Uf859 ] }; // TL
key { [ Uf819 ] }; // RD
key { [ Uf81a ] }; // TG
key { [ Uf831 ] }; // LN
};
xkb_symbols "dyalog" {
include "apl(dyalog_base)"
include "apl(dyalog_box)"
include "apl(dyalog_codes)"
name[Group1] = "APL symbols (Dyalog APL)";
};
partial
xkb_symbols "level3" {
name[Group1] = "APL on Level3";
//from apl(dyalog_base) -- any way to just include it shifted to level3?
key { [ NoSymbol, NoSymbol, U2282, U2286 ] }; // subset of, enclose if simple
key { [ NoSymbol, NoSymbol, U2283 ] }; // superset of
key { [ NoSymbol, NoSymbol, U2229 ] }; // intersection
key { [ NoSymbol, NoSymbol, U222A ] }; // union
key { [ NoSymbol, NoSymbol, U22a5, U236d ] }; // up tack, stile tide
key { [ NoSymbol, NoSymbol, U22a4, U2361 ] }; // down tack, down tack diaeresis
key { [ NoSymbol, NoSymbol, bar, U2225 ] }; // vertical line, parallel to
key { [ NoSymbol, NoSymbol, U235d, U236a ] }; // up shoe jot, comma bar
key { [ NoSymbol, NoSymbol, U2340, U2359 ] }; // backslash bar, delta underbar
key { [ NoSymbol, NoSymbol, U233f, U2360 ] }; // slash bar, quad colon
key { [ NoSymbol, NoSymbol, U237a, U2376 ] }; // alpha, alpha underscore
key { [ NoSymbol, NoSymbol, U2308 ] }; // left ceiling
key { [ NoSymbol, NoSymbol, U230a ] }; // left floor
key { [ NoSymbol, NoSymbol, underscore ] }; // low line
key { [ NoSymbol, NoSymbol, U2207, U2362 ] }; // nabla, del diaerisis
key { [ NoSymbol, NoSymbol, U2206 ] }; // increment
key { [ NoSymbol, NoSymbol, U2218, U2364 ] }; // ring operator, jot diaeresis
key { [ NoSymbol, NoSymbol, apostrophe, U2338 ] }; // quote, key
key { [ NoSymbol, NoSymbol, U2395, U2337 ] }; // quad, squish quad
key { [ NoSymbol, NoSymbol, U234e, U2261 ] }; // up tack jot, identical to
key { [ NoSymbol, NoSymbol, U2355, U2262 ] }; // down tack jot, not identical to
key { [ NoSymbol, NoSymbol, question, U2370 ] }; // ?, quad question
key { [ NoSymbol, NoSymbol, U2375, U2379 ] }; // omega, omega underscore
key { [ NoSymbol, NoSymbol, U220a, U2377 ] }; // small element of, epsilon underbar
key { [ NoSymbol, NoSymbol, U2374, U233E ] }; // rho, circle jot
key { [ NoSymbol, NoSymbol, asciitilde, U2368 ] }; // tilde, tilde diaeresis
key { [ NoSymbol, NoSymbol, U2191 ] }; // upwards arrow
key { [ NoSymbol, NoSymbol, U2193 ] }; // downwards arrow
key { [ NoSymbol, NoSymbol, U2373, U2378 ] }; // iota, iota underbar
key { [ NoSymbol, NoSymbol, U25cb, U2365 ] }; // circle, circle diaeresis
key { [ NoSymbol, NoSymbol, asterisk, U2363 ] }; // asterisk, star diaeresis
key { [ NoSymbol, NoSymbol, U2190, U235e ] }; // left arrow, quote quad
key { [ NoSymbol, NoSymbol, U2192, U236c ] }; // right arrow, zilde
key { [ NoSymbol, NoSymbol, diaeresis, U2336 ] }; // i-beam
key { [ NoSymbol, NoSymbol, macron, U236B ] }; // deltilde
key { [ NoSymbol, NoSymbol, less, U2352 ] }; // downgrade
key { [ NoSymbol, NoSymbol, U2264, U234b ] }; // lesseq upgrade
key { [ NoSymbol, NoSymbol, equal, U233d ] }; // circlestile
key { [ NoSymbol, NoSymbol, U2265, U2349 ] }; // greatereq circleslope
key { [ NoSymbol, NoSymbol, greater, U2296 ] }; // circlebar
key { [ NoSymbol, NoSymbol, U2260, U235f ] }; // notequal, circlestar
key { [ NoSymbol, NoSymbol, U2228, U2371 ] }; // logical or, down caret tilde
key { [ NoSymbol, NoSymbol, U2227, U2372 ] }; // logical and, up caret tilde
key { [ NoSymbol, NoSymbol, multiply, exclam ] };
key { [ NoSymbol, NoSymbol, division, U2339 ] }; // quad divide
key { [ NoSymbol, NoSymbol, U22a2, U22a3 ] }; // right tack, left tack
key { [ NoSymbol, NoSymbol, U22a2, U22a3 ] }; // right tack, left tack
key { [ NoSymbol, NoSymbol, U22c4, U233a ] }; // diamond, quad diamond
};