;;; This file is designed for 7-bit connections.
;;; Use the file ms-kermit if you have an 8-bit connection.

;;; This kermit script maps the IBM-PC keyboard for use with Gnu Emacs.
;;; The ALT key is used to generate Meta characters and, in conjunction
;;; with the CTRL key, Control-Meta characters.  A few other useful
;;; mappings are also performed.
;;; Andy Lowry, May 1989

;;; Exchange ESC and backquote... tilde stays put (shift-backquote)
set key \27 `
set key ` \27

;;; BACKSPACE deletes backward one character
set key scan \270 \127

;;; The following mappings affect certain special keys... all the keys
;;; are duplicated on the numeric keypad when NUM LOCK is off, but
;;; the keypad versions are NOT mapped (string definition space too small 
;;; for that)

;;; INSERT toggles overwrite mode
set key scan \4434 \27xoverwrite-mode\13
;;; HOME moves point to beginning of buffer
set key scan \4423 \27<
;;; PAGE-UP scrolls backward one screen
set key scan \4425 \27v
;;; DELETE deletes one character *forward*
set key scan \4435 \4
;;; END moves point to end of buffer
set key scan \4431 \27>
;;; PAGE-DOWN scrolls forward one screen
set key scan \4433 \22
;;; ARROW keys move in the appropriate directions
set key scan \4424 \16
set key scan \4427 \2
set key scan \4432 \14
set key scan \4429 \6

;;; META versions of all the printing characters except uppercase 
;;; letters are generated by using the ALT key.  The definition string 
;;; consists of an ESC character followed by the META-ized character.
;;; The characters are listed roughly left-to-right and top-to-bottom
;;; as they appear on the keyboard
set key scan \2345 \27`
set key scan \2424 \27\o61	; need to use char code, since digit
set key scan \2425 \27\o62	; would not terminate '\27'
set key scan \2426 \27\o63
set key scan \2427 \27\o64
set key scan \2428 \27\o65
set key scan \2429 \27\o66
set key scan \2430 \27\o67
set key scan \2431 \27\o70
set key scan \2432 \27\o71
set key scan \2433 \27\o60
set key scan \2434 \27\45
set key scan \2435 \27=
set key scan \2857 \27~
set key scan \2936 \27!
set key scan \2937 \27@
set key scan \2938 \27#
set key scan \2939 \27$
set key scan \2940 \27%
set key scan \2941 \27^
set key scan \2942 \27&
set key scan \2943 \27*
set key scan \2944 \27(
set key scan \2945 \27)
set key scan \2946 \27_
set key scan \2947 \27+
set key scan \2469 \27\9
set key scan \2320 \27q
set key scan \2321 \27w
set key scan \2322 \27e
set key scan \2323 \27r
set key scan \2324 \27t
set key scan \2325 \27y
set key scan \2326 \27u
set key scan \2327 \27i
set key scan \2328 \27o
set key scan \2329 \27p
set key scan \2330 \27[
set key scan \2842 \27{
set key scan \2331 \27]
set key scan \2843 \27}
set key scan \2347 \27\
set key scan \2859 \27|
set key scan \2334 \27a
set key scan \2335 \27s
set key scan \2336 \27d
set key scan \2337 \27f
set key scan \2338 \27g
set key scan \2339 \27h
set key scan \2340 \27j
set key scan \2341 \27k
set key scan \2342 \27l
set key scan \2343 \27\59
set key scan \2855 \27:
set key scan \2344 \27'
set key scan \2856 \27"
set key scan \2348 \27z
set key scan \2349 \27x
set key scan \2350 \27c
set key scan \2351 \27v
set key scan \2352 \27b
set key scan \2353 \27n
set key scan \2354 \27m
set key scan \2355 \27,
set key scan \2867 \27<
set key scan \2356 \27.
set key scan \2868 \27>
set key scan \2357 \27/
set key scan \2869 \27?

;;; CONTROL-META characters are generated by using both the CTRL and
;;; ALT keys simultaneously.  All the lowercase letters are included.
;;; The definition string consists of an ESC character followed by
;;; the control character corresponding to the letter.
set key scan \3344 \27\17
set key scan \3345 \27\23
set key scan \3346 \27\5
set key scan \3347 \27\18
set key scan \3348 \27\20
set key scan \3349 \27\25
set key scan \3350 \27\21
set key scan \3351 \27\9
set key scan \3352 \27\15
set key scan \3353 \27\16
set key scan \3358 \27\1
set key scan \3359 \27\19
set key scan \3360 \27\4
set key scan \3361 \27\6
set key scan \3362 \27\7
set key scan \3363 \27\8
set key scan \3364 \27\10
set key scan \3365 \27\11
set key scan \3366 \27\12
set key scan \3372 \27\26
set key scan \3373 \27\24
set key scan \3374 \27\3
set key scan \3375 \27\22
set key scan \3376 \27\2
set key scan \3377 \27\14
set key scan \3378 \27\13

end of msiem2.ini
------------------

msiema.hlp
-----------
Date:     Wed, 14 Sep 88 05:20:08 GMT
From:     spolsky@YALE.ARPA
Subject:  Using MS kermit 2.31 with emacs
Keywords: MS-DOS Kermit 2.31, EMACS, Meta Key

If you are using kermit (version 2.31 only) with emacs on a mainframe, the
following file may help you. It assigns all the Alt-keys so that the Alt key
may be used as a "Meta" shift, e.g. Alt-x produces M-x, etc.  Note that it
will distinguish correctly between upper and lower case and accepts all
printables. (If anybody has the patience to do the Meta-Ctrl combinations,
please post them!)  This actually sends "escapes" so you don't need 8 bits.
This file also sets up the cursor keys to behave as expected.

On extended keyboards (the ones with a separate cursor pad, like PS/2s) you
also get assignments for Page Up/Down, Home, End, Insert, Delete, etc.

Please let me know if you find any problems with this.

Joel Spolsky             bitnet: spolsky@yalecs     uucp: ...!yale!spolsky
Yale University          arpa:   spolsky@yale.edu   voicenet: 203-436-1483

[Ed. - Thanks, Joel!  Your key definitions file has been put in the kermit
distribution area as msiema.ini ("ms" for MS-Kermit, "i" because it's an
initialization file, "ema" for EMACS), along with this message as msiema.hlp.]

end of msiema.hlp
-----------------


msiema.ini
------------
; Emacs keyboard layout for Kermit 2.31
; by Joel Spolsky, Yale Univ.  Save this in a file, then
; initialize it by issuing the kermit command
; take filename
; It will set up the keyboard to allow ALT to be used
; as a meta-key, and will allow cursor keys to be used
; with emacs.

; First, define all the ALT keys to send ESC+key
; to simulate "meta"

set key \2320 \27q  ;; letters: unshifted
set key \2321 \27w
set key \2322 \27e
set key \2323 \27r
set key \2324 \27t
set key \2325 \27y
set key \2326 \27u
set key \2327 \27i
set key \2328 \27o
set key \2329 \27p
set key \2334 \27a
set key \2335 \27s
set key \2336 \27d
set key \2337 \27f
set key \2338 \27g
set key \2339 \27h
set key \2340 \27j
set key \2341 \27k
set key \2342 \27l
set key \2348 \27z
set key \2349 \27x
set key \2350 \27c
set key \2351 \27v
set key \2352 \27b
set key \2353 \27n
set key \2354 \27m
set key \2832 \27Q ;; letters: shifted
set key \2833 \27W
set key \2834 \27E
set key \2835 \27R
set key \2836 \27T
set key \2837 \27Y
set key \2838 \27U
set key \2839 \27I
set key \2840 \27O
set key \2841 \27P
set key \2846 \27A
set key \2847 \27S
set key \2848 \27D
set key \2849 \27F
set key \2850 \27G
set key \2851 \27H
set key \2852 \27J
set key \2853 \27K
set key \2854 \27L
set key \2860 \27Z
set key \2861 \27X
set key \2862 \27C
set key \2863 \27V
set key \2864 \27B
set key \2865 \27N
set key \2866 \27M
set key \2857 \27\126    ; ALT + ~   ;; special symbols begin here
set key \2345 \27\96     ; ALT + `
set key \2936 \27\33     ; ALT + !
set key \2937 \27\64     ; ALT + @
set key \2938 \27\35     ; ALT + #
set key \2939 \27\36     ; ALT + $
set key \2940 \27\37     ; ALT + %
set key \2941 \27\94     ; ALT + ^
set key \2942 \27\38     ; ALT + &
set key \2943 \27\42     ; ALT + *
set key \2944 \27\40     ; ALT + (
set key \2945 \27\41     ; ALT + )
set key \2946 \27\95     ; ALT + _
set key \2947 \27\43     ; ALT + +
set key \2842 \27\123    ; ALT + {
set key \2843 \27\125    ; ALT + }
set key \2330 \27\91     ; ALT + [
set key \2331 \27\93     ; ALT + ]
set key \2859 \27\124    ; ALT + :
set key \2347 \27\92     ; ALT + \
set key \2867 \27<       ; ALT + <
set key \2868 \27>       ; ALT + >
set key \2343 \27\59     ; ALT + ;
set key \2855 \27\58     ; ALT + :
set key \2344 \27\39     ; ALT + '
set key \2856 \27\34     ; ALT + "
set key \2355 \27\44     ; ALT + ,
set key \2356 \27\46     ; ALT + .
set key \2357 \27\47     ; ALT + /
set key \2869 \27\63     ; ALT + ?
set key \2424 \27\49  ;; numbers
set key \2425 \27\50
set key \2426 \27\51
set key \2427 \27\52
set key \2428 \27\53
set key \2429 \27\54
set key \2430 \27\55
set key \2431 \27\56
set key \2432 \27\57
set key \2433 \27\48

;; These 6 special keys for extended (PS/2) keyboards:
set key \4434 \25      ;; Insert is like ^Y - yank from kill ring
set key \4435 \23      ;; Delete is like ^W - kill to ring
set key \4423 \1       ;; Home is ^A
set key \4431 \5       ;; End is ^E
set key \4425 \27V     ;; Page up is Esc-V
set key \4433 \22      ;; Page dn is ^v

set key \328 \16       ;; up cursor is ^P
set key \331 \2        ;; left cursor is ^B
set key \333 \6        ;; right cursor is ^F
set key \336 \14       ;; down cursor is ^N
set key \4427 \2       ;; left cursor on extended kbd
set key \4432 \14      ;; down cursor on extended kbd
set key \4424 \16      ;; up cursor on extended kbd
set key \4429 \6       ;; right cursor on extended kbd

set key \5491 \27b     ;; ctrl-left cursor is M-b
set key \5492 \27f     ;; ctrl-right cursor is M-f

;; move kermit's screen scroll (playback) features to Alt- Home,End,PgUp,PgDn
;; (this is an issue for extended keyboards only)

set key \2455 \khomscn
set key \2463 \kendscn
set key \2457 \kupscn
set key \2465 \kdnscn
