Genera and X11 Key Mappings
References:
The xmodmap output has four columns:
* Keysym
* Shifted Keysym
* Mode-shifted Keysym (e.g., alt/option on the Mac)
* Shifted Mode-shifted Keysym
Xquartz 2.7.10_beta2 xmodmap -pk (minus empty rows):
There are 4 KeySyms per KeyCode; KeyCodes range from 8 to 255.
KeyCode Keysym (Keysym) ...
Value Value (Name) ...
8 0x0061 (a) 0x0041 (A) 0xfe54 (dead_macron) 0x1000304 (U0304)
9 0x0073 (s) 0x0053 (S) 0x00df (ssharp) 0x00a0 (nobreakspace)
10 0x0064 (d) 0x0044 (D) 0x00f0 (eth) 0x00d0 (ETH)
11 0x0066 (f) 0x0046 (F) 0x08f6 (function) 0x00a0 (nobreakspace)
12 0x0068 (h) 0x0048 (H) 0x10002cd (U02CD) 0x1000331 (U0331)
13 0x0067 (g) 0x0047 (G) 0x00a9 (copyright) 0x0afc (caret)
14 0x007a (z) 0x005a (Z) 0x10002c0 (U02C0) 0x1000309 (U0309)
15 0x0078 (x) 0x0058 (X) 0x002e (period) 0x1000323 (U0323)
16 0x0063 (c) 0x0043 (C) 0xfe5b (dead_cedilla) 0x1000327 (U0327)
17 0x0076 (v) 0x0056 (V) 0xfe5a (dead_caron) 0x100030c (U030C)
18 0x00a7 (section) 0x00b1 (plusminus) 0x00a7 (section) 0x00b1 (plusminus)
19 0x0062 (b) 0x0042 (B) 0xfe55 (dead_breve) 0x1000306 (U0306)
20 0x0071 (q) 0x0051 (Q) 0x13bd (oe) 0x13bc (OE)
21 0x0077 (w) 0x0057 (W) 0xfe56 (dead_abovedot) 0x1000307 (U0307)
22 0x0065 (e) 0x0045 (E) 0xfe51 (dead_acute) 0x1000301 (U0301)
23 0x0072 (r) 0x0052 (R) 0x00ae (registered) 0x1002030 (U2030)
24 0x0079 (y) 0x0059 (Y) 0x00a5 (yen) 0x00a0 (nobreakspace)
25 0x0074 (t) 0x0054 (T) 0x00fe (thorn) 0x00de (THORN)
26 0x0031 (1) 0x0021 (exclam) 0x00a1 (exclamdown) 0x1002044 (U2044)
27 0x0032 (2) 0x0040 (at) 0x0ac9 (trademark) 0x20ac (EuroSign)
28 0x0033 (3) 0x0023 (numbersign) 0x00a3 (sterling) 0x1002039 (U2039)
29 0x0034 (4) 0x0024 (dollar) 0x00a2 (cent) 0x100203a (U203A)
30 0x0036 (6) 0x005e (asciicircum) 0xfe52 (dead_circumflex) 0x1000302 (U0302)
31 0x0035 (5) 0x0025 (percent) 0x00a7 (section) 0x0af1 (dagger)
32 0x003d (equal) 0x002b (plus) 0x08bd (notequal) 0x00b1 (plusminus)
33 0x0039 (9) 0x0028 (parenleft) 0x00aa (ordfeminine) 0x00b7 (periodcentered)
34 0x0037 (7) 0x0026 (ampersand) 0x00b6 (paragraph) 0x0af2 (doubledagger)
35 0x002d (minus) 0x005f (underscore) 0x0aaa (endash) 0x0aa9 (emdash)
36 0x0038 (8) 0x002a (asterisk) 0x0ae6 (enfilledcircbullet) 0x00b0 (degree)
37 0x0030 (0) 0x0029 (parenright) 0x00ba (masculine) 0x0afd (singlelowquotemark)
38 0x005d (bracketright) 0x007d (braceright) 0x0ad0 (leftsinglequotemark) 0x0ad1 (rightsinglequotemark)
39 0x006f (o) 0x004f (O) 0x00f8 (oslash) 0x00d8 (Oslash)
40 0x0075 (u) 0x0055 (U) 0xfe57 (dead_diaeresis) 0x1000308 (U0308)
41 0x005b (bracketleft) 0x007b (braceleft) 0x0ad2 (leftdoublequotemark) 0x0ad3 (rightdoublequotemark)
42 0x0069 (i) 0x0049 (I) 0x10002bc (U02BC) 0x100031b (U031B)
43 0x0070 (p) 0x0050 (P) 0x002c (comma) 0x1000326 (U0326)
44 0xff0d (Return) 0x0000 (NoSymbol) 0xff0d (Return)
45 0x006c (l) 0x004c (L) 0x002d (minus) 0x1000335 (U0335)
46 0x006a (j) 0x004a (J) 0xfe59 (dead_doubleacute) 0x100030b (U030B)
47 0x0027 (apostrophe) 0x0022 (quotedbl) 0x00e6 (ae) 0x00c6 (AE)
48 0x006b (k) 0x004b (K) 0xfe58 (dead_abovering) 0x100030a (U030A)
49 0x003b (semicolon) 0x003a (colon) 0x0aae (ellipsis) 0x06b0 (numerosign)
50 0x005c (backslash) 0x007c (bar) 0x00ab (guillemotleft) 0x00bb (guillemotright)
51 0x002c (comma) 0x003c (less) 0x08bc (lessthanequal) 0x0afe (doublelowquotemark)
52 0x002f (slash) 0x003f (question) 0x00f7 (division) 0x00bf (questiondown)
53 0x006e (n) 0x004e (N) 0xfe53 (dead_tilde) 0x1000303 (U0303)
54 0x006d (m) 0x004d (M) 0xfe5c (dead_ogonek) 0x1000328 (U0328)
55 0x002e (period) 0x003e (greater) 0x08be (greaterthanequal) 0x1000294 (U0294)
56 0xff09 (Tab) 0x0000 (NoSymbol) 0xff09 (Tab)
57 0x0020 (space) 0x0000 (NoSymbol) 0x00a0 (nobreakspace)
58 0x0060 (grave) 0x007e (asciitilde) 0xfe50 (dead_grave) 0x1000300 (U0300)
59 0xff08 (BackSpace) 0x0000 (NoSymbol) 0xff08 (BackSpace)
60 0x1000003 (no name) 0x0000 (NoSymbol) 0x1000003 (no name)
61 0xff1b (Escape) 0x0000 (NoSymbol) 0xff1b (Escape)
63 0xffe7 (Meta_L) 0x0000 (NoSymbol) 0xffe7 (Meta_L)
64 0xffe1 (Shift_L) 0x0000 (NoSymbol) 0xffe1 (Shift_L)
65 0xffe5 (Caps_Lock) 0x0000 (NoSymbol) 0xffe5 (Caps_Lock)
66 0xffe9 (Alt_L) 0x0000 (NoSymbol) 0xffe9 (Alt_L)
67 0xffe3 (Control_L) 0x0000 (NoSymbol) 0xffe3 (Control_L)
68 0xffe2 (Shift_R) 0x0000 (NoSymbol) 0xffe2 (Shift_R)
69 0xffea (Alt_R) 0x0000 (NoSymbol) 0xffea (Alt_R)
70 0xffe4 (Control_R) 0x0000 (NoSymbol) 0xffe4 (Control_R)
71 0xffe8 (Meta_R) 0x0000 (NoSymbol) 0xffe8 (Meta_R)
73 0xffae (KP_Decimal) 0x0000 (NoSymbol) 0xffae (KP_Decimal)
75 0xffaa (KP_Multiply) 0x0000 (NoSymbol) 0xffaa (KP_Multiply)
77 0xffab (KP_Add) 0x0000 (NoSymbol) 0xffab (KP_Add)
79 0xff1b (Escape) 0x0000 (NoSymbol) 0xff1b (Escape)
83 0xffaf (KP_Divide) 0x0000 (NoSymbol) 0xffaf (KP_Divide)
84 0xff8d (KP_Enter) 0x0000 (NoSymbol) 0xff8d (KP_Enter)
86 0xffad (KP_Subtract) 0x0000 (NoSymbol) 0xffad (KP_Subtract)
89 0xffbd (KP_Equal) 0x0000 (NoSymbol) 0xffbd (KP_Equal)
90 0xffb0 (KP_0) 0x0000 (NoSymbol) 0xffb0 (KP_0)
91 0xffb1 (KP_1) 0x0000 (NoSymbol) 0xffb1 (KP_1)
92 0xffb2 (KP_2) 0x0000 (NoSymbol) 0xffb2 (KP_2)
93 0xffb3 (KP_3) 0x0000 (NoSymbol) 0xffb3 (KP_3)
94 0xffb4 (KP_4) 0x0000 (NoSymbol) 0xffb4 (KP_4)
95 0xffb5 (KP_5) 0x0000 (NoSymbol) 0xffb5 (KP_5)
96 0xffb6 (KP_6) 0x0000 (NoSymbol) 0xffb6 (KP_6)
97 0xffb7 (KP_7) 0x0000 (NoSymbol) 0xffb7 (KP_7)
99 0xffb8 (KP_8) 0x0000 (NoSymbol) 0xffb8 (KP_8)
100 0xffb9 (KP_9) 0x0000 (NoSymbol) 0xffb9 (KP_9)
104 0xffc2 (F5) 0x0000 (NoSymbol) 0xffc2 (F5)
105 0xffc3 (F6) 0x0000 (NoSymbol) 0xffc3 (F6)
106 0xffc4 (F7) 0x0000 (NoSymbol) 0xffc4 (F7)
107 0xffc0 (F3) 0x0000 (NoSymbol) 0xffc0 (F3)
108 0xffc5 (F8) 0x0000 (NoSymbol) 0xffc5 (F8)
109 0xffc6 (F9) 0x0000 (NoSymbol) 0xffc6 (F9)
111 0xffc8 (F11) 0x0000 (NoSymbol) 0xffc8 (F11)
113 0xffca (F13) 0x0000 (NoSymbol) 0xffca (F13)
115 0xffcb (F14) 0x0000 (NoSymbol) 0xffcb (F14)
117 0xffc7 (F10) 0x0000 (NoSymbol) 0xffc7 (F10)
119 0xffc9 (F12) 0x0000 (NoSymbol) 0xffc9 (F12)
121 0xffcc (F15) 0x0000 (NoSymbol) 0xffcc (F15)
122 0xff6a (Help) 0x0000 (NoSymbol) 0xff6a (Help)
123 0xff50 (Home) 0x0000 (NoSymbol) 0xff50 (Home)
124 0xff55 (Prior) 0x0000 (NoSymbol) 0xff55 (Prior)
125 0xffff (Delete) 0x0000 (NoSymbol) 0xffff (Delete)
126 0xffc1 (F4) 0x0000 (NoSymbol) 0xffc1 (F4)
127 0xff57 (End) 0x0000 (NoSymbol) 0xff57 (End)
128 0xffbf (F2) 0x0000 (NoSymbol) 0xffbf (F2)
129 0xff56 (Next) 0x0000 (NoSymbol) 0xff56 (Next)
130 0xffbe (F1) 0x0000 (NoSymbol) 0xffbe (F1)
131 0xff51 (Left) 0x0000 (NoSymbol) 0xff51 (Left)
132 0xff53 (Right) 0x0000 (NoSymbol) 0xff53 (Right)
133 0xff54 (Down) 0x0000 (NoSymbol) 0xff54 (Down)
134 0xff52 (Up) 0x0000 (NoSymbol) 0xff52 (Up)
Note: In the below listing, some characters won't show up because I haven't written a Genera character set to Unicode conversion (or a descriptor for iconv).
Genera Show X Keyboard Mapping :All Yes:
The keyboard layout type is NIL.
Since no specific key binding has deen defined for this layout type,
the default binding is being used.
Key Shift Symbol Symbol-Shift Console Key
#\a #\A #\ 001 Latin Small Letter A (000,097); Latin Capital Letter A (000,065); (254,084); (003,004)
#\s #\S 002 Latin Small Letter S (000,115); Latin Capital Letter S (000,083); German Small Letter Sharp S (000,223); No Break Space (000,160)
#\d #\D #\? 003 Latin Small Letter D (000,100); Latin Capital Letter D (000,068); Icelandic Small Letter Eth (000,240); Icelandic Capital Letter Eth (000,208)
#\f #\F 004 Latin Small Letter F (000,102); Latin Capital Letter F (000,070); Function (008,246); No Break Space (000,160)
#\h #\H #\ 005 Latin Small Letter H (000,104); Latin Capital Letter H (000,072); (002,205); (003,049)
#\g #\G #\
#\? 006 Latin Small Letter G (000,103); Latin Capital Letter G (000,071); Copyright Sign (000,169); Caret (010,252)
#\z #\Z 007 Latin Small Letter Z (000,122); Latin Capital Letter Z (000,090); (002,192); (003,009)
#\x #\X 008 Latin Small Letter X (000,120); Latin Capital Letter X (000,088); Full Stop (000,046); (003,035)
#\c #\C 009 Latin Small Letter C (000,099); Latin Capital Letter C (000,067); (254,091); (003,039)
#\v #\V 010 Latin Small Letter V (000,118); Latin Capital Letter V (000,086); (254,090); (003,012)
#\? 011 Paragraph Sign, Section Sign (000,167); Plus Minus Sign (000,177)
#\b #\B #\ 012 Latin Small Letter B (000,098); Latin Capital Letter B (000,066); (254,085); (003,006)
#\q #\Q #\ 013 Latin Small Letter Q (000,113); Latin Capital Letter Q (000,081); (019,189); (019,188)
#\w #\W #\ 014 Latin Small Letter W (000,119); Latin Capital Letter W (000,087); (254,086); (003,007)
#\e #\E #\ #\ 015 Latin Small Letter E (000,101); Latin Capital Letter E (000,069); (254,081); (003,001)
#\r #\R #\ 016 Latin Small Letter R (000,114); Latin Capital Letter R (000,082); Registered Trade Mark Sign (000,174); (032,048)
#\y #\Y #\ 017 Latin Small Letter Y (000,121); Latin Capital Letter Y (000,089); Yen Sign (000,165); No Break Space (000,160)
#\t #\T #\ 018 Latin Small Letter T (000,116); Latin Capital Letter T (000,084); Icelandic Small Letter Thorn (000,254); Icelandic Capital Letter Thorn (000,222)
#\1 #\! 019 Digit One (000,049); Exclamation Point (000,033); Inverted Exclamation Mark (000,161); (032,068)
#\2 #\@ 020 Digit Two (000,050); Commercial At (000,064); Trademark Sign (010,201); (032,172)
#\3 #\# 021 Digit Three (000,051); Number Sign (000,035); Pound Sign (000,163); (032,057)
#\4 #\$ 022 Digit Four (000,052); Dollar Sign (000,036); Cent Sign (000,162); (032,058)
#\6 #\^ 023 Digit Six (000,054); Circumflex Accent (000,094); (254,082); (003,002)
#\5 #\% 024 Digit Five (000,053); Percent Sign (000,037); Paragraph Sign, Section Sign (000,167); Dagger (010,241)
#\= #\+ #\ #\? 025 Equals Sign (000,061); Plus Sign (000,043); Not Equal Sign (008,189); Plus Minus Sign (000,177)
#\9 #\( 026 Digit Nine (000,057); Left Parenthesis (000,040); Feminine Ordinal Indicator (000,170); Middle Dot (000,183)
#\7 #\& 027 Digit Seven (000,055); Ampersand (000,038); Pilcrow Sign (000,182); Double Dagger (010,242)
#\- #\_ #\ 028 Hyphen, Minus Sign (000,045); Low Line (000,095); En Dash (010,170); Em Dash (010,169)
#\8 #\* #\ 029 Digit Eight (000,056); Asterisk (000,042); En Filled Circle Bullet (010,230); Degree Sign, Ring Above (000,176)
#\0 #\) 030 Digit Zero (000,048); Right Parenthesis (000,041); Masculine Ordinal Indicator (000,186); Single Low Quotation Mark (010,253)
#\] #\} 031 Right Square Bracket (000,093); Right Curly Bracket (000,125); Left Single Quotation Mark (010,208); Right Single Quotation Mark (010,209)
#\o #\O #\ 032 Latin Small Letter O (000,111); Latin Capital Letter O (000,079); Latin Small Letter O With Oblique Stroke (000,248); Latin Capital Letter O With Oblique Stroke (000,216)
#\u #\U #\ 033 Latin Small Letter U (000,117); Latin Capital Letter U (000,085); (254,087); (003,008)
#\[ #\{ 034 Left Square Bracket (000,091); Left Curly Bracket (000,123); Left Double Quotation Mark (010,210); Right Double Quotation Mark (010,211)
#\i #\I #\ 035 Latin Small Letter I (000,105); Latin Capital Letter I (000,073); (002,188); (003,027)
#\p #\P #\ #\ 036 Latin Small Letter P (000,112); Latin Capital Letter P (000,080); Comma (000,044); (003,038)
#\Return #\Return #\Return #\Return 037 Return, Enter (255,013)
#\l #\L #\ #\? 038 Latin Small Letter L (000,108); Latin Capital Letter L (000,076); Hyphen, Minus Sign (000,045); (003,053)
#\j #\J #\ 039 Latin Small Letter J (000,106); Latin Capital Letter J (000,074); (254,089); (003,011)
#\' #\" #\ 040 Apostrophe (000,039); Quotation Mark (000,034); Latin Small Diphthong Ae (000,230); Latin Capital Diphthong Ae (000,198)
#\k #\K #\ 041 Latin Small Letter K (000,107); Latin Capital Letter K (000,075); (254,088); (003,010)
#\; #\: #\? 042 Semicolon (000,059); Colon (000,058); Ellipsis (010,174); Numero Sign (006,176)
#\\ #\| 043 Reverse Solidus (000,092); Vertical Line (000,124); Left Angle Quotation Mark (000,171); Right Angle Quotation Mark (000,187)
#\, #\< #\ 044 Comma (000,044); Less Than Sign (000,060); Less Than Or Equal Sign (008,188); Double Low Quotation Mark (010,254)
#\/ #\? #\? 045 Solidus (000,047); Question Mark (000,063); Division Sign (000,247); Inverted Question Mark (000,191)
#\n #\N 046 Latin Small Letter N (000,110); Latin Capital Letter N (000,078); (254,083); (003,003)
#\m #\M 047 Latin Small Letter M (000,109); Latin Capital Letter M (000,077); (254,092); (003,040)
#\. #\> #\ 048 Full Stop (000,046); Greater Than Sign (000,062); Greater Than Or Equal Sign (008,190); (002,148)
#\Tab #\Tab #\Tab #\Tab 049 Tab (255,009)
#\Space #\Space 050 Space (000,032); No Break Space (000,160)
#\` #~ #\ 051 Grave Accent (000,096); Tilde (000,126); (254,080); (003,000)
#\Back-Space #\Back-Space #\Back-Space #\Back-Space 052 Backspace, Back Space, Back Char (255,008)
#\Escape #\Escape #\ #\ 054 Escape (255,027)
:LEFT-META :LEFT-META :LEFT-META :LEFT-META 056 Left Meta (255,231)
:LEFT-SHIFT :LEFT-SHIFT :LEFT-SHIFT :LEFT-SHIFT 057 Left Shift (255,225)
:CAPS-LOCK :CAPS-LOCK :CAPS-LOCK :CAPS-LOCK 058 Caps Lock (255,229)
:LEFT-SYMBOL :LEFT-SYMBOL :LEFT-SYMBOL :LEFT-SYMBOL 059 Left Alt (255,233)
:LEFT-CONTROL :LEFT-CONTROL :LEFT-CONTROL :LEFT-CONTROL 060 Left Control (255,227)
:RIGHT-SHIFT :RIGHT-SHIFT :RIGHT-SHIFT :RIGHT-SHIFT 061 Right Shift (255,226)
:RIGHT-SYMBOL :RIGHT-SYMBOL :RIGHT-SYMBOL :RIGHT-SYMBOL 062 Right Alt (255,234)
:RIGHT-CONTROL :RIGHT-CONTROL :RIGHT-CONTROL :RIGHT-CONTROL 063 Right Control (255,228)
:RIGHT-META :RIGHT-META :RIGHT-META :RIGHT-META 064 Right Meta (255,232)
#\Rubout #\Rubout #\Rubout #\Rubout 066 Keypad Decimal Point (255,174)
#\Keyboard:Cut #\Keyboard:Cut #\Keyboard:Cut #\Keyboard:Cut 068 Keypad Multiplication Sign (255,170)
#\Escape #\Escape #\ #\ 072 Escape (255,027)
#\Keyboard:Paste #\Keyboard:Paste #\Keyboard:Paste #\Keyboard:Paste 076 Keypad Division Sign (255,175)
#\Keyboard:Copy #\Keyboard:Copy #\Keyboard:Copy #\Keyboard:Copy 079 Keypad Minus Sign (255,173)
#\End #\End #\End #\End 084 Keypad Digit One (255,177)
#\Keyboard:Down #\Keyboard:Down #\Keyboard:Down #\Keyboard:Down 085 Keypad Digit Two (255,178)
#\Scroll #\Scroll #\Scroll #\Scroll 086 Keypad Digit Three (255,179)
#\Keyboard:Left #\Keyboard:Left #\Keyboard:Left #\Keyboard:Left 087 Keypad Digit Four (255,180)
:RIGHT-SYMBOL :RIGHT-SYMBOL :RIGHT-SYMBOL :RIGHT-SYMBOL 088 Keypad Digit Five (255,181)
#\Keyboard:Right #\Keyboard:Right #\Keyboard:Right #\Keyboard:Right 089 Keypad Digit Six (255,182)
#\Keyboard:Home #\Keyboard:Home #\Keyboard:Home #\Keyboard:Home 090 Keypad Digit Seven (255,183)
#\Keyboard:Up #\Keyboard:Up #\Keyboard:Up #\Keyboard:Up 092 Keypad Digit Eight (255,184)
#\Keyboard:Back-Scroll #\Keyboard:Back-Scroll #\Keyboard:Back-Scroll #\Keyboard:Back-Scroll 093 Keypad Digit Nine (255,185)
#\Resume #\Resume #\Resume #\Resume 097 F5 (255,194)
#\Abort #\Abort #\Abort #\Abort 098 F6 (255,195)
:LEFT-SUPER :LEFT-SUPER :LEFT-SUPER :LEFT-SUPER 099 F7 (255,196)
#\Function #\Triangle #\Function #\Triangle 100 F3 (255,192)
:LEFT-HYPER :LEFT-HYPER :LEFT-HYPER :LEFT-HYPER 101 F8 (255,197)
#\Scroll #\Page #\Scroll #\Page 102 F9 (255,198)
#\Complete #\End #\Complete #\End 104 F11, L1 (255,200)
#\Clear-Input #\Refresh #\Clear-Input #\Refresh 110 F10 (255,199)
#\Help #\Help #\Symbol-Help #\Symbol-Help 112 F12, L2 (255,201)
#\Help #\Help #\Symbol-Help #\Symbol-Help 115 Help (255,106)
#\Keyboard:Home #\Keyboard:Home #\Keyboard:Home #\Keyboard:Home 116 Home (255,080)
#\Keyboard:Back-Scroll #\Keyboard:Back-Scroll #\Keyboard:Back-Scroll #\Keyboard:Back-Scroll 117 Prior, Previous (255,085)
#\Rubout #\Rubout #\Rubout #\Rubout 118 Delete, Rubout (255,255)
#\Suspend :MODE-LOCK #\Suspend :MODE-LOCK 119 F4 (255,193)
#\End #\End #\End #\End 120 End, Eol (255,087)
#\Network #\Circle #\Network #\Circle 121 F2 (255,191)
#\Scroll #\Scroll #\Scroll #\Scroll 122 Next (255,086)
#\Select #\Square #\Select #\Square 123 F1 (255,190)
#\Keyboard:Left #\Keyboard:Left #\Keyboard:Left #\Keyboard:Left 124 Left, Move Left (255,081)
#\Keyboard:Right #\Keyboard:Right #\Keyboard:Right #\Keyboard:Right 125 Right, Move Right (255,083)
#\Keyboard:Down #\Keyboard:Down #\Keyboard:Down #\Keyboard:Down 126 Down, Move Down, Down Arrow (255,084)
#\Keyboard:Up #\Keyboard:Up #\Keyboard:Up #\Keyboard:Up 127 Up, Move Up, Up Arrow (255,082)
No console keys map to the Genera keys #\Line, :RIGHT-SUPER, and :RIGHT-HYPER.
No Genera keys map to the console keys [114 F15, L5 (255,204)], [108 F14, L4 (255,203)], [106 F13, L3 (255,202)],
[083 Keypad Digit Zero (255,176)], [082 Keypad Equals Sign (255,189)],
[077 Keypad Enter (255,141)], [070 Keypad Plus Sign (255,171)], and [053 (000,003)].
Analysis
Let's take, for example, how hitting F6 on the keyboard makes Genera on X11 think you're hitting the ABORT button.
If we look up F6 in the xmodmap -pk output, we see:
105 0xffc3 (F6) 0x0000 (NoSymbol) 0xffc3 (F6)
And in the Show X Keyboard Mapping output:
Key Shift Symbol Symbol-Shift Console Key
#\Abort #\Abort #\Abort #\Abort 098 F6 (255,195)
Once we modify 0xffc3 to the two bytes 255,195, we find a correspondence.
The file sys>x11>clx>keysyms.lisp seems to contain all the keysyms. However, it doesn't exactly say what we'd expect:
(define-keysym #\abort (keysym 255 105)) ; :function
Okay, what about META?
$ xmodmap -pk |fgrep -ya meta
63 0xffe7 (Meta_L) 0x0000 (NoSymbol) 0xffe7 (Meta_L)
71 0xffe8 (Meta_R) 0x0000 (NoSymbol) 0xffe8 (Meta_R)
$ fgrep -ya meta default-x-mapping.text
:LEFT-META :LEFT-META :LEFT-META :LEFT-META 056 Left Meta (255,231)
:RIGHT-META :RIGHT-META :RIGHT-META :RIGHT-META 064 Right Meta (255,232)
Then, we have these meta things defined in keysyms.lisp:
(define-keysym :left-meta left-meta-keysym)
(define-keysym :right-meta right-meta-keysym)
And these in translate.lisp:
(defconstant left-meta-keysym (keysym 255 231))
(defconstant right-meta-keysym (keysym 255 232))
That looks like a clear correspondence.
How are these mappings changed? That's yet to come.
What about X-Windows modifier keys?
$ xmodmap -pm
xmodmap: up to 2 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x40), Shift_R (0x44)
lock Caps_Lock (0x41)
control Control_L (0x43), Control_R (0x46)
mod1 Alt_L (0x42), Alt_R (0x45)
mod2 Meta_L (0x3f), Meta_R (0x47)
mod3 Down (0x85)
mod4 Left (0x83)
mod5
However, according to doc.lisp, it uses only control and three of the mods:
;; STATE is also used for setting char-bits:
;; control -> char-control-bit
;; mod-1 -> char-meta-bit
;; mod-2 -> char-super-bit
;; mod-3 -> char-hyper-bit
All the keysym names are defined in x11>screen>x-keysym-names.lisp in *keysym-name-list*. You can of course see this with (print x-screen::*keysym-name-list*) or even just the variable name at the Genera prompt. Some examples from the source file:
(defparameter
*keysym-name-list*
'((000 032 " " :space)
(000 095 "_" :low-line)
(000 096 "`" :GRAVE-ACCENT)
(000 183 "middle dot" :middle-dot)
(004 182 "ka" :kana-letter-ka)
(255 008 "backspace" :backspace :back-space :back-char)
(255 009 "tab" :tab)
(255 200 "f11" :f11 :l1)
(255 211 "f22" :f22 :r2)
(255 232 "right meta" :right-meta)
(255 233 "left alt" :left-alt)
(255 255 "delete" :delete :rubout)))
Next, we have keyboard mappings in screen>keyboards.lisp, such as:
(define-keyboard-mapping :default ()
(:f1 #\Select #\Square)
(:f2 #\Network #\Circle)
(:f3 #\Function #\Triangle)
(:f4 #\Suspend (:mode-lock :locking t))
(:f5 #\Resume)
(:f6 #\Abort)
(:f7 :left-super)
(:f8 :left-hyper)
(:f9 #\Scroll #\Page)
(:f10 #\Clear-Input #\Refresh)
(:f11 #\Complete #\End)
(:f12 #\Help)
Which kinds does it know about? At least these:
$ grep '^(define-keyboard-mapping' keyboards.lisp
(define-keyboard-mapping :default ()
(define-keyboard-mapping :Symbolics ()
(define-keyboard-mapping :sun-type-3 ()
(define-keyboard-mapping :sun-type-4 (:leds ((1 :caps-lock)
(define-keyboard-mapping :sgi-iris (:leds ((1 :caps-lock)
(define-keyboard-mapping :ncd-n-101 (:leds ((1 :mode-lock)
(define-keyboard-mapping :nds (:leds ((1 :mode-lock)
(define-keyboard-mapping :DEC-LK401-AA ()
Keyboards are also defined in embedding>keyboards>keyboards.lisp:
$ fgrep -a define-keyboard-layout keyboards.lisp
(define-keyboard-layout :symbolics
(define-keyboard-layout :sun-type-3
(define-keyboard-layout :sun-type-4
(sys:define-keyboard-layout :sgi-iris
(sys:define-keyboard-layout :ncd-n-101
(sys:define-keyboard-layout :nds
(sys:define-keyboard-layout :DEC-LK401-AA
These mappings can also be seen by using the command Set X Keyboard Mapping [default] and hitting HELP. Furthermore, the keyboard layout themselves can be seen with Show Keyboard Layout and then, again, hitting HELP. For example, Show Keyboard Layout NCD N-101 shows:

We can then do Set X Keyboard Mapping [default] Pcxal-Aa and Show X Keyboard Mapping to see the new mappings:

The default mapping, as a reminder, was:

Xquartz Key Mappings
Versions:
* Xquartz 2.7.10_beta2
* macOS 10.11.5
Notes:
* F14 and F15 are usually set to lower and raise brightness on the Mac. Disable this in System Preferences -> Keyboard -> Shortcuts -> Display