Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!ucsd!ucbvax!decwrl!sgi!shinobu!odin!sgi.com!scotth From: scotth@corp.sgi.com (Scott Henry) Newsgroups: comp.sys.sgi Subject: Re: Help with GNU Emacs for SGI Message-ID: Date: 15 Feb 90 09:05:28 GMT References: <11434@nlm-mcs.arpa> Sender: news@odin.SGI.COM Reply-To: scotth@sgi.com (Scott Henry) Distribution: na Organization: Silicon Graphics Inc, Mountain View, CA Lines: 85 In-reply-to: usenet@nlm-mcs.arpa's message of 14 Feb 90 16:49:52 GMT LH> I've managed to compile GNU emacs 18.55 for the SGI (I have a personal LH> Iris), but to make this reasonable, I need a /emacs/lisp/term file for LH> the iris-ansi terminal type. Does anybody have one? I called SG and LH> they told me to buy their version of emacs; Stallman wouldn't like LH> that, I'm sure.... LH> I need advice on making it recognize mouse clicks and selections. It LH> would also be nice not to have to cons up the entire set of key definitions LH> from scratch. Surely someone must have done this, right? LH> Help is much appreciated: mail to hunter@nlm.nih.gov LH> Thanks! Shortly after I got GNU Emacs up on my 4D, I hacked up term/vt100.el to work within a wsh window using wsh as a terminal emulator. It doesn't support mouse-stuff except that which a wsh supports. Place the following in lisp/term as iris-ansi.el, and make a hard link as iris-ansi-net.el. I did try porting NeWS-mode, but 4Sight is sufficiently different from Sun's NeWS (and I am definitely NOT a NeWS hacker) that I coudn't get it ported in the time I had available. The X11 interface works fine (if you add the recently posted patch to reduce the (*&^(*&^) beep volume, but I miss the extra arrow-key bindings. ;; term/iris-ansi.el ;; term/iris-ansi-net.el ;; Map Iris 4D function key escape sequences from a wsh ;; into the standard slots in function-keymap. ;; This is just a hacked-up version of vt100.el so as to use the 4D ;; keyboard escape sequences (and some added keys). ;; This software is in the public domain. ;; It is not supported by Silicon Graphics, Inc. ;; Hacker: Scott Henry (require 'keypad) (defvar Iris-CSI-map nil "The Iris-CSI-map maps the CSI function keys on the Iris 4D keyboard. The CSI keys are the arrow keys.") (if (not Iris-CSI-map) (progn (setq Iris-CSI-map (lookup-key global-map "\e[")) (if (not (keymapp Iris-CSI-map)) (setq Iris-CSI-map (make-sparse-keymap))) ;; [ commands (setup-terminal-keymap Iris-CSI-map '(("A" . ?u) ; up arrow ("B" . ?d) ; down-arrow ("C" . ?r) ; right-arrow ("D" . ?l) ; left-arrow ("H" . ?h) ; home key ("161q" . ?P) ; shift up arrow ("164q" . ?N) ; shift down arrow ("158q" . ?1) ; shift left arrow ("167q" . ?3) ; shift right arrow ("150q" . ?P) ; page up key ("154q" . ?N) ; page down key ("159q" . ?\C-a) ; control left arrow ("168q" . ?\C-b) ; control right arrow ("139q" . ?0) ; insert key ("162q" . ?7) ; control up arrow ("165q" . ?9) ; control down arrow ("146q" . ?\C-c) ; end key ("147q" . ?f) ; shift end key ("P" . ?\C-d) ; shift delete ("142q" . ?k) ; control delete ("143q" . ?u) ; shift home ("144q" . ?u) ; control home )))) (defun enable-arrow-keys () "Enable the use of the VT100 arrow keys for cursor motion. Because of the nature of the VT100, this unavoidably breaks the standard Emacs command ESC [; therefore, it is not done by default, but only if you give this command." (interactive) (global-set-key "\e[" Iris-CSI-map)) -- Scott Henry | These are my | Tardis Express -- when it Information Services, | Opinions only!| absolutely, positively Silicon Graphics, Inc | Whose else? | has to be there -- yesterday.