Problems of Symbol Congestion in Computer Languages
Xah Lee
xahlee at gmail.com
Sat Mar 5 04:32:25 EST 2011
On Mar 1, 3:40 pm, Chris Jones <cjns1... at gmail.com> wrote:
> At first it looks like something MS (Morgan Stanley..) dumped into the
> OSS lap fifteen years ago and nobody ever used it or maintained it.. so
> it takes a bit of digging to make it.. sort of work in current GNU/linux
> distributions.. especially since it knows nothing about Unicode.
>
> Here's the X/A+ map I came up with:
>
> // A+ keyboard layout: /usr/share/X11/xkb/symbols/apl
> // Chris Jones - 18/12/2010
>
> // Enable via:
> // $ setxkbmap -v 10 apl
>
> default
> partial alphanumeric_keys modifier_keys
> xkb_symbols "APL" {
>
> name[Group1]= "APL";
>
> // Alphanumeric section
> key <TLDE> { [ grave, asciitilde, 0x010000fe, 0x0100007e ] };
> key <AE01> { [ 1, exclam, 0x010000a1, 0x010000e0 ] };
> key <AE02> { [ 2, at, 0x010000a2, 0x010000e6 ] };
> key <AE03> { [ 3, numbersign, 0x0100003c, 0x010000e7 ] };
> key <AE04> { [ 4, dollar, 0x010000a4, 0x010000e8 ] };
> key <AE05> { [ 5, percent, 0x0100003d, 0x010000f7 ] };
> key <AE06> { [ 6, asciicircum, 0x010000a6, 0x010000f4 ] };
> key <AE07> { [ 7, ampersand, 0x0100003e, 0x010000e1 ] };
> key <AE08> { [ 8, asterisk, 0x010000a8, 0x010000f0 ] };
> key <AE09> { [ 9, parenleft, 0x010000a9, 0x010000b9 ] };
> key <AE10> { [ 0, parenright, 0x0100005e, 0x010000b0 ] };
> key <AE11> { [ minus, underscore, 0x010000ab, 0x01000021 ] };
> key <AE12> { [ equal, plus, 0x010000df, 0x010000ad ] };
>
> key <AD01> { [ q, Q, 0x0100003f, 0x010000bf ] };
> key <AD02> { [ w, W, 0x010000d7, Nosymbol ] };
> key <AD03> { [ e, E, 0x010000c5, 0x010000e5 ] };
> key <AD04> { [ r, R, 0x010000d2, Nosymbol ] };
> key <AD05> { [ t, T, 0x0100007e, Nosymbol ] };
> key <AD06> { [ y, Y, 0x010000d9, 0x010000b4 ] };
> key <AD07> { [ u, U, 0x010000d5, Nosymbol ] };
> key <AD08> { [ i, I, 0x010000c9, 0x010000e9 ] };
> key <AD09> { [ o, O, 0x010000cf, 0x010000ef ] };
> key <AD10> { [ p, P, 0x0100002a, 0x010000b3 ] };
> key <AD11> { [ bracketleft, braceleft, 0x010000fb, 0x010000dd ] };
> key <AD12> { [ bracketright, braceright, 0x010000fd, 0x010000db ] };
>
> key <AC01> { [ a, A, 0x010000c1, Nosymbol ] };
> key <AC02> { [ s, S, 0x010000d3, 0x010000be ] };
> key <AC03> { [ d, D, 0x010000c4, Nosymbol ] };
> key <AC04> { [ f, F, 0x0100005f, 0x010000bd ] };
> key <AC05> { [ g, G, 0x010000c7, 0x010000e7 ] };
> key <AC06> { [ h, H, 0x010000c8, 0x010000e8 ] };
> key <AC07> { [ j, J, 0x010000ca, 0x010000ea ] };
> key <AC08> { [ k, K, 0x01000027, Nosymbol ] };
> key <AC09> { [ l, L, 0x010000cc, 0x010000ec ] };
> key <AC10> { [ semicolon, colon, 0x010000db, 0x010000bc ] };
> key <AC11> { [ apostrophe, quotedbl, 0x010000dd, 0x010000bb ] };
>
> key <AB01> { [ z, Z, 0x010000da, 0x010000fa ] };
> key <AB02> { [ x, X, 0x010000d8, Nosymbol ] };
> key <AB03> { [ c, C, 0x010000c3, 0x010000e3 ] };
> key <AB04> { [ v, V, 0x010000d6, Nosymbol ] };
> key <AB05> { [ b, B, 0x010000c2, 0x010000e2 ] };
> key <AB06> { [ n, N, 0x010000ce, 0x010000ee ] };
> key <AB07> { [ m, M, 0x0100007c, 0x010000cd ] };
> key <AB08> { [ comma, less, 0x010000ac, 0x0100003c ] };
> key <AB09> { [ period, greater, 0x010000dc, 0x010000ae ] };
> key <AB10> { [ slash, question, 0x010000af, 0x0100003f ] };
>
> key <BKSL> { [ backslash, bar, 0x010000dc, 0x010000fc ] };
> key <CAPS> { [ Caps_Lock ] };
> // End alphanumeric section
>
> include "level3(win_switch)"
> include "level3(menu_switch)"
>
> };
>
> In fine.. you fire up an xterm.. issue a ‘setxkbmap apl’ command from
> the shell prompt and you're in business.
>
> I used it daily for about a month before I switched to APLX - aka micro
> APL.. and as I had zero problems.. So, I suspect it is 100% A+
> compatible.
>
> Initially, I thought of writing a python wrapper that would handle
> conversion from Unicode to A+'s peculiar brand of latin1 and back (among
> other things) but never had the time.
hi Chris,
i created a page dedicated to creating math symbol layouts for
different langs.
I linked to your post.
I wonder if you would let me mirror your X code on my site? Or, if you
place it on somewhere more permanent or dedicate page such as git, i'd
link to that. Thanks.
Xah
More information about the Python-list
mailing list