Subject: Meta key support in SCO Xenix!
From: [email-masked] (John Owens)
To: [email-masked]
Date: 5 Aug 88 18:46:22 GMT

Here is a substitute for /usr/lib/keyboard/keys in SCO Xenix that
allows use of the meta key in GNU Emacs.  Pressing ALT with any key
causes the code returned to have the 80hex bit set.  In conjunction
with this, I added lisp/term/ansi.el with the single line

(setq meta-flag t)

Here's the keys file.  Make sure MAPKEY=YES is in your
/etc/default/boot.  (This also allows you to enter graphics characters
from the keyboard.)  Enjoy!

#                                                        alt
# scan                      cntrl          alt    alt   cntrl  lock
# code  base  shift  cntrl  shift   alt   shift  cntrl  shift  state
     0  nop    nop    nop    nop    nop    nop    nop    nop     O
     1  esc    esc    nop    nop    0x9b   0x9b   nop    nop     O
     2  '1'    '!'    nop    nop    0xb1   0xa1   nop    nop     O
     3  '2'    '@'    nul    nul    0xb2   0xc0   0x80   0x80    O
     4  '3'    '#'    nop    nop    0xb3   0xa3   nop    nop     O
     5  '4'    '$'    nop    nop    0xb4   0xa4   nop    nop     O
     6  '5'    '%'    nop    nop    0xb5   0xa5   nop    nop     O
     7  '6'    '^'    rs     rs     0xb6   0xde   0x9e   0x9e    O
     8  '7'    '&'    nop    nop    0xb7   0xa6   nop    nop     O
     9  '8'    '*'    nop    nop    0xb8   0xaa   nop    nop     O
    10  '9'    '('    nop    nop    0xb9   0xa8   nop    nop     O
    11  '0'    ')'    nop    nop    0xb0   0xa9   nop    nop     O
    12  '-'    '_'    ns     ns     0xad   0xdf   0x9f   0x9f    O
    13  '='    '+'    nop    nop    0xbd   0xab   nop    nop     O
    14  bs     bs     del    del    0x88   0x88   0xff   0xff    O
    15  ht     btab   nop    nop    0x89   btab   nop    nop     O
    16  'q'    'Q'    dc1    dc1    0xf1   0xd1   0x91   0x91    C
    17  'w'    'W'    etb    etb    0xf7   0xd7   0x97   0x97    C
    18  'e'    'E'    enq    enq    0xe5   0xc5   0x85   0x85    C
    19  'r'    'R'    dc2    dc2    0xf2   0xd2   0x92   0x92    C
    20  't'    'T'    dc4    dc4    0xf4   0xd4   0x94   0x94    C
    21  'y'    'Y'    em     em     0xf9   0xd9   0x99   0x99    C
    22  'u'    'U'    nak    nak    0xf5   0xd5   0x95   0x95    C
    23  'i'    'I'    ht     ht     0xe9   0xc9   0x89   0x89    C
    24  'o'    'O'    si     si     0xef   0xcf   0x8f   0x8f    C
    25  'p'    'P'    dle    dle    0xf0   0xd0   0x90   0x90    C
    26  '['    '{'    esc    esc    0xdb   0xfb   0x9b   0x9b    O
    27  ']'    '}'    gs     gs     0xdd   0xfd   0x9d   0x9d    O
    28  cr     cr     nl     nl     0x8d   0x8d   0x8a   0x8a    O
    29  ctrl   ctrl   ctrl   ctrl   ctrl   ctrl   ctrl   ctrl    O
    30  'a'    'A'    soh    soh    0xe1   0xc1   0x81   0x81    C
    31  's'    'S'    dc3    dc3    0xf3   0xd3   0x93   0x93    C
    32  'd'    'D'    eot    eot    0xe4   0xc4   0x84   0x84    C
    33  'f'    'F'    ack    ack    0xe6   0xc6   0x86   0x86    C
    34  'g'    'G'    bel    bel    0xe7   0xc7   0x87   0x87    C
    35  'h'    'H'    bs     bs     0xe8   0xc8   0x88   0x88    C
    36  'j'    'J'    nl     nl     0xea   0xca   0x8a   0x8a    C
    37  'k'    'K'    vt     vt     0xeb   0xcb   0x8b   0x8b    C
    38  'l'    'L'    np     np     0xec   0xcc   0x8c   0x8c    C
    39  ';'    ':'    nop    nop    0xbb   0xba   nop    nop     O
    40  '\''   '"'    nop    nop    0xa7   0xa2   nop    nop     O
    41  '`'    '~'    nop    nop    0xe0   0xfe   nop    nop     O
    42  lshift lshift lshift lshift lshift lshift lshift lshift  O
    43  '\\'   '|'    fs     fs     0xdc   0xfc   0x9c   0x9c    O
    44  'z'    'Z'    sub    sub    0xfa   0xda   0x9a   0x9a    C
    45  'x'    'X'    can    can    0xf8   0xd8   0x98   0x98    C
    46  'c'    'C'    etx    etx    0xe3   0xc3   0x83   0x83    C
    47  'v'    'V'    syn    syn    0xf6   0xd6   0x96   0x96    C
    48  'b'    'B'    stx    stx    0xe2   0xc2   0x82   0x82    C
    49  'n'    'N'    so     so     0xee   0xce   0x8e   0x8e    C
    50  'm'    'M'    cr     cr     0xed   0xcd   0x8d   0x8d    C
    51  ','    '<'    nop    nop    0xac   0xbc   nop    nop     O
    52  '.'    '>'    nop    nop    0xae   0xbe   nop    nop     O
    53  '/'    '?'    nop    nop    0xaf   0xbf   nop    nop     O
    54  rshift rshift rshift rshift rshift rshift rshift rshift  O
    55  '*'    '*'    nscr   nscr   0xaa   0xaa   nscr   nscr    O
    56  alt    alt    alt    alt    alt    alt    alt    alt     O
    57  ' '    ' '    ' '    ' '    0xa0   0xa0   0xa0   0xa0    O
    58  clock  clock  clock  clock  clock  clock  clock  clock   O
    59  fkey1  fkey13 fkey25 fkey37 scr1   scr11  scr1   scr11   O
    60  fkey2  fkey14 fkey26 fkey38 scr2   scr12  scr2   scr12   O
    61  fkey3  fkey15 fkey27 fkey39 scr3   scr13  scr3   scr13   O
    62  fkey4  fkey16 fkey28 fkey40 scr4   scr14  scr4   scr14   O
    63  fkey5  fkey17 fkey29 fkey41 scr5   scr15  scr5   scr15   O
    64  fkey6  fkey18 fkey30 fkey42 scr6   scr16  scr6   scr16   O
    65  fkey7  fkey19 fkey31 fkey43 scr7   scr7   scr7   scr7    O
    66  fkey8  fkey20 fkey32 fkey44 scr8   scr8   scr8   scr8    O
    67  fkey9  fkey21 fkey33 fkey45 scr9   scr9   scr9   scr9    O
    68  fkey10 fkey22 fkey34 fkey46 scr10  scr10  scr10  scr10   O
    69  nlock  nlock  dc3    dc3    nlock  nlock  0x93   0x93    O
    70  slock  slock  del    del    slock  slock  0xff   0xff    O
    71  fkey49 '7'    '7'    '7'    0xb7   0xb7   0xb7   0xb7    N
    72  fkey50 '8'    '8'    '8'    0xb8   0xb8   0xb8   0xb8    N
    73  fkey51 '9'    '9'    '9'    0xb9   0xb9   0xb9   0xb9    N
    74  fkey52 '-'    '-'    '-'    0xad   0xad   0xad   0xad    N
    75  fkey53 '4'    '4'    '4'    0xb4   0xb4   0xb4   0xb4    N
    76  fkey54 '5'    '5'    '5'    0xb5   0xb5   0xb5   0xb5    N
    77  fkey55 '6'    '6'    '6'    0xb6   0xb6   0xb6   0xb6    N
    78  fkey56 '+'    '+'    '+'    0xab   0xab   0xab   0xab    N
    79  fkey57 '1'    '1'    '1'    0xb1   0xb1   0xb1   0xb1    N
    80  fkey58 '2'    '2'    '2'    0xb2   0xb2   0xb2   0xb2    N
    81  fkey59 '3'    '3'    '3'    0xb3   0xb3   0xb3   0xb3    N
    82  fkey60 '0'    '0'    '0'    0xb0   0xb0   0xb0   0xb0    N
    83  del    '.'    del    del    0xff   0xff   0xff   0xff    N
    84  nop    nop    nop    nop    nop    nop    nop    nop     O
    85  nop    nop    nop    nop    nop    nop    nop    nop     O
    86  nop    nop    nop    nop    nop    nop    nop    nop     O
    87  fkey11 fkey23 fkey35 fkey47 scr11  scr11  scr11  scr11   O
    88  fkey12 fkey24 fkey36 fkey48 scr12  scr12  scr12  scr12   O
-- 
John Owens		[email-masked]
SMART HOUSE L.P.	uunet!jetson!john		(old uucp)
+1 301 249 6000		[email-masked]	(old internet)