# # SCO(tm) keyboard mapping file with Emacs meta-keys # Automatically generated using the emap utility # # Below is the uuencoded source for the emap utility. This program # will, when run on an SCO console, take the current keyboard # map and set the 'meta' bit for all keys. To make this usable # under Emacs, edit your termcap and terminfo entries for the # sco console (the ansi entries) and add the 'km' capability. # Usage: # emap [-o] [-f filename] # If you run the utility with no flags, it will simply modify the # current keyboard map in kernel memory for the multiscreen on # which it was invoked. Specifying -f and a filename will cause # a file suitable for input to the mapkey(M) utility to be generated. # Specifying -o will produce, on stdout, a file suitable for input # to the mapkey(M) utility but will NOT modify the in-memory # map. # I personally run this utility once, and replace /usr/lib/keyboard/keys # with the result. You may prefer to run it in your .profile or # via a shell-script which will in turn invoke emacs. # # begin 600 emap.c.gz # M'XL("'F'RC " V5M87 N8P"=5VUOXC@0_LZOF$W50KIT%^AM[U2V>Z*HW%9+ # MH2JL=*<6H6"<$A&27&RZ1;?][S=C.X&$%'H7(>S8\\R;QS.3 R]@_G+*X;.0 # M4R_\,/M2.DB7EH&'J]DUL1(?Y2KB8GMYSE>3T(D5H,2?)8\#8#,GAN,PDD[\ # MV$P6O4 "+GG!M$HCCV,UXJ]9*FF$(UC@++BX'\$%_%,"L(*E;U5I(L*9F'I))1F$ORM)PZ;Z\F$&_A$Z'%F2 .S_I2\1WID<2+.C)X>ISXW$U9/)HUD # MK()$UXGA[R0K"T.R-#M<,#UQC:J/9HS-& BK])*ZJH1^][V # M0X7\RJJ [PLG&DLXGB_L$CE/2$=Z3!]&_'3?^'0V:N*R>I>BKA:J.&ND6\1* # MSJO@H1C$1S$NN%!!XBI8AY^FJ$45F-U4S&,6K: 2/Q&+NJT0;ABC/GAVM29X # M\!EZWV_&@V%K>#7 ]_?O;20!=:[TR#D2DO;V?''R!=6_9Z,/:,*]-U+,Z/%0 # M^O5@/+B]:E^WNE!!VZIDK&?;AF+-CQ[QPY-LAAK/[8W5+ UZP!$;,(TQU\S6-\,?-9!CK_/A06@>"^J/>QN>5#&_AY1!:AX # M/ZSWYZ"]Y7B!&:48->6NL_3E>691ASS&+WRYH$-IWW5L.#JBB(;/9J5KVSG, # MUEU%J8=3O*L$.TGYO(>ZW.9XTGHCYZ.,K-0KE*0NH-[X=0<7:\I]JQAN # MG(I*;#BTWCC+>3-G>OE0'+(R>=+(+S^4RS;\_ GI^T/9MN%WL!X>+#@'2U6( # M@@?S8%ZO78)KSX>U!E;5+"YQ]@9Q@^K!R9F@>J"S_]HOCDRJ0L.LOZAJ8E)S # M92/;N_ZC@".H/==.[,?%E(?%E # MCIB\%'.YQ$X'"=!RM)KJZ<+Q EVDL1G"TJ7+]S&^/.DRK?NBBQIV0^Y%+:W0 # MQVZ ]1'[!(<)=)>@TFC1;N>Z>X6[-$UK/OXG]=NK,E4^?\P\'[N#>K;H,N3Y # MR*GI@HK6AQ1!4T71BBD_@JA6RZN # MW*&[":)'V9_TD&^^^$F,6M^%\\C/ ?T7P?U).,(_%UST"=WXT4.0N['/GB1G # MY26IT"6G>2&3/E3PE/ZX[H^_7?UUT[JMPA%R5QAMX#OL?++^CK#-I:;(6J/6 # M@K70S"TA/N0*]$66$;G'#2..L>0&>%X_LJ>E(!4=&G:MV,6I+NUPZ4\A"+%O # MQ".5',*EC)92>:?(+8V"9. FCG91F8--=V9W8-#N5^3"AN0[@6(U\H)')0TP # M*H_A:4@CG+&]7DOI>=[#G<@.I@+[_F(<"["OR+!9#V:/NK =O%F(GV(PH5P%JJ=,@>;-<"O< # MHV\$_A8_O:3]/=/]/X4]+@:V=4*$E!WRRH/;S;;1&V # ME,5R"/D?[.D@HWT&*5D%!NF-1-2&+,K8:<;)9-%#NHWJXU)_;#*3\S+))Y.P # MMH)H#XOBM.?B=PX&=,75'Y9K)6O;]6R=FF^+4O.ZH*W3\ZNI\;8@3>]*A/2O # .]VJJY/\+D-=?N%H1 #5 # # end # # The output below is the result of running emap on the default # SCO keymap as installed by SCO. It is the equivalent of the # at.ibm.usa key map file in /usr/lib/keyboard/keys, but with # the meta bits set properly. Note that for meta keys to work correctly # you MUST edit /etc/termcap and /usr/lib/terminfo/terminfo.src and add # the 'km' capability for the 'ansi' entry, and you must disable channel # mapping in /etc/default/mapchan for the console screens. Extra function # keys have been added, and the matching emacsstrs.sco is in this # directory to make a map which scoansi.el can use. So the sequence of # events should be: # a) Copy this file to /usr/lib/keyboard/keys # b) copy emacsstrs.sco to /usr/lib/keyboard/stings # c) run mapkey and mapstr and set MAPKEY=yes in /etc/default/boot # d) Add mapstr -f to your /etc/profile or your shell startup # e) Arrange to have scoansi.el loaded from your .emacs file. # # 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 esc esc 0x9b 0x9b 0x9b 0x9b 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' '7' 0xb7 0xb7 0xb7 N 72 fkey50 '8' '8' '8' '8' 0xb8 0xb8 0xb8 N 73 fkey51 '9' '9' '9' '9' 0xb9 0xb9 0xb9 N 74 fkey52 '-' '-' '-' '-' 0xad 0xad 0xad N 75 fkey53 '4' '4' '4' '4' 0xb4 0xb4 0xb4 N 76 fkey54 '5' '5' '5' '5' 0xb5 0xb5 0xb5 N 77 fkey55 '6' '6' '6' '6' 0xb6 0xb6 0xb6 N 78 fkey56 '+' '+' '+' '+' 0xab 0xab 0xab N 79 fkey57 '1' '1' '1' '1' 0xb1 0xb1 0xb1 N 80 fkey58 '2' '2' '2' '2' 0xb2 0xb2 0xb2 N 81 fkey59 '3' '3' '3' '3' 0xb3 0xb3 0xb3 N 82 fkey60 '0' '0' '0' '0' 0xb0 0xb0 0xb0 N 83 del '.' del del 0xff 0xae 0xff 0xff N 84 ns ns ns ns 0x9f 0x9f 0x9f 0x9f 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 89 nop nop nop nop nop nop nop nop O 90 nop nop nop nop nop nop nop nop O 91 nop nop nop nop nop nop nop nop O 92 nop nop nop nop nop nop nop nop O 93 nop nop nop nop nop nop nop nop O 94 nop nop nop nop nop nop nop nop O 95 nop nop nop nop nop nop nop nop O 96 fkey50 fkey62 fkey72 fkey50 fkey82 fkey62 fkey72 fkey50 N 97 fkey53 fkey64 fkey74 fkey53 fkey84 fkey64 fkey74 fkey53 N 98 fkey58 fkey67 fkey77 fkey58 fkey87 fkey67 fkey77 fkey58 N 99 fkey55 fkey65 fkey75 fkey55 fkey85 fkey65 fkey75 fkey55 N 100 fkey49 fkey61 fkey71 fkey49 fkey81 fkey61 fkey71 fkey49 N 101 nop nop nop nop nop nop nop nop O 102 fkey57 fkey66 fkey76 fkey57 fkey86 fkey66 fkey76 fkey57 N 103 fkey59 fkey68 fkey78 fkey59 fkey88 fkey68 fkey78 fkey59 N 104 fkey60 fkey69 fkey79 fkey60 fkey89 fkey69 fkey79 fkey60 N 105 del del del del 0xff 0xff 0xff 0xff N 106 fkey54 fkey54 fkey93 fkey54 fkey96 fkey54 fkey54 fkey54 N 107 nop nop nop nop nop nop nop nop O 108 nop nop nop nop nop nop nop nop O 109 nop nop nop nop nop nop nop nop O 110 nop nop nop nop nop nop nop nop O 111 nop nop nop nop nop nop nop nop O 112 nop nop nop nop nop nop nop nop O 113 nop nop nop nop nop nop nop nop O 114 nop nop nop nop nop nop nop nop O 115 nop nop nop nop nop nop nop nop O 116 nop nop nop nop nop nop nop nop O 117 nop nop nop nop nop nop nop nop O 118 nop nop nop nop nop nop nop nop O 119 nop nop nop nop nop nop nop nop O 120 nop nop nop nop nop nop nop nop O 121 nop nop nop nop nop nop nop nop O 122 nop nop nop nop nop nop nop nop O 123 nop nop nop nop nop nop nop nop O 124 nop nop nop nop nop nop nop nop O 125 nop nop nop nop nop nop nop nop O 126 nop nop nop nop nop nop nop nop O 127 nop nop nop nop nop nop nop nop O 128 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O 129 ralt ralt ralt ralt ralt ralt ralt ralt O 130 fkey60 fkey69 fkey79 fkey60 fkey89 fkey69 fkey79 fkey60 O 131 del del del del 0xff 0xff 0xff 0xff N 132 fkey49 fkey61 fkey71 fkey49 fkey81 fkey61 fkey71 fkey49 N 133 fkey57 fkey66 fkey76 fkey57 fkey86 fkey66 fkey76 fkey57 N 134 fkey51 fkey63 fkey73 fkey51 fkey83 fkey63 fkey73 fkey51 N 135 fkey59 fkey68 fkey78 fkey59 fkey88 fkey68 fkey78 fkey59 N 136 fkey55 fkey65 fkey75 fkey55 fkey85 fkey65 fkey75 fkey55 N 137 fkey53 fkey64 fkey74 fkey53 fkey84 fkey64 fkey74 fkey53 N 138 fkey50 fkey62 fkey72 fkey50 fkey82 fkey62 fkey72 fkey50 N 139 fkey58 fkey67 fkey77 fkey58 fkey87 fkey67 fkey77 fkey58 N 140 '/' nop nop nop 0xaf nop nop nop O 141 cr cr nl nl 0x8d 0x8d 0x8a 0x8a O