sam@ncsuvx.ncsu.edu (Mr. Sam Moore) (12/01/87)
I have MicroEmacs version 3.9e running on a MicroVax(Ultrix) and on a VAX(VMS). On both I want to use the function keys and cursor keys. I compiled in the VT100 define. And I tried to map some keys in the autoload script file. I was unsuccessful. Does anyone know how to do this? Does anyone have any script files other than those in the distribution? If so, I would like to see them. Also, the VT100 define caused a compiler error in the input.c file in the function getcmd(). Unless I have compiled with the wrong options, it seems that there is a missing brace, {. If this is old news and there are fixes out there somewhere, please let me know. Fron file input.c in function getcmd(): /* process META prefix */ #if VT100 /* if ESC must be recognized.... change this to a 1 */ if (c == metac || c == (CTRL | '[')) <-----------| #else | if (c == metac) { |-- No brace. #endif Thanks, Sam Moore NCSU Computing Center - Raleigh, NC sam@ncsuvx (internet) sam@ncsuvax (bitnet) samm@ncsuvm (bitnet)
windley@iris.ucdavis.edu (Phil Windley) (12/01/87)
In article <1280@ncsuvx.ncsu.edu> sam@ncsuvx.ncsu.edu (Mr. Sam Moore) writes: > >I have MicroEmacs version 3.9e running on a MicroVax(Ultrix) and on a >VAX(VMS). On both I want to use the function keys and cursor keys. I >compiled in the VT100 define. And I tried to map some keys in the >autoload script file. I was unsuccessful. Does anyone know how to do >this? Does anyone have any script files other than those in the distribution? >If so, I would like to see them. I will add my vt100.cmd file to the end of this. Its not perfect yet, but it does work. > > Unless I have compiled with the wrong options, it seems >that there is a missing brace, {. If this is old news and there are fixes >out there somewhere, please let me know. > Yes there is a missing brace. Just add it and everything will work fine. One more point. The command file that follows has a line which says 'write-message "~e="'. This sends an escape-= to the terminal to turn on the alternate keypad. The ~e is not standard memacs. I had to modify the function token() in the file exec.c so that ~e output an escape character. This allows you to program the vt100 from within a command file. I'm not sure if this will cause other problems. It seems to me that there must be a goos reason for leaving it out, but maybe not. Phil Windley Robotics Research Lab University of California, Davis ----------------------- vt100.cmd ----------------------------------- ;;; for vt100. ;;; alternate keypad mode. write-message "~e=" ;;; bind alternate keypad. ; bind-to-key FNp ; 0 bind-to-key end-of-line FNq ; 1 bind-to-key next-line FNr ; 2 bind-to-key next-page FNs ; 3 bind-to-key backward-character FNt ; 4 ; bind-to-key FNu ; 5 bind-to-key forward-character FNv ; 6 bind-to-key beginning-of-line FNw ; 7 bind-to-key previous-line FNx ; 8 bind-to-key previous-page FNy ; 9 bind-to-key end-of-file FNl ; , bind-to-key beginning-of-file FNm ; - bind-to-key delete-next-character FNn ; . ; bind-to-key FNM ; enter ;;; function keys bind-to-key set-mark FNP ; pf1 (default) bind-to-key copy-region FNQ ; pf2 (default) bind-to-key kill-region FNR ; pf3 (default) bind-to-key yank FNS ; pf4 (default) Phil Windley Robotics Research Lab University of California, Davis
mcdonald@uxe.cso.uiuc.edu (12/02/87)
Here is an EMACS.RC file for VT-100 use. You should have the ANSI and VT100 bits set in your estruct.h file before compiling. This works on VAX/VMS and on a friend's virulently non-IBM-compatible MSDOS machine. The bindings to the functions keys can be changed according to taste. Doug McDonald ; EMACS.RC: Startup file for MicroEMACS 3.8 ; ; This file is executed everytime the ; editor is entered set $discmd "FALSE" write-message "[Setting up....]" ; the following line has to transmit the sequence <ESC>= i.e. 27, 61 ; in decimal. Input it in Emacs as "ctrl-q" then "esc" then "=" ; This put the VT100 in application keymad mode as opposed to numeric keypad write-message "=" ; ***** Rebind the Function key group bind-to-key next-line FNB bind-to-key previous-line FNA bind-to-key backward-character FND bind-to-key forward-character FNC bind-to-key search-forward FNP bind-to-key search-reverse FNQ bind-to-key hunt-forward FNR bind-to-key hunt-backward FNS bind-to-key next-window FNw bind-to-key describe-bindings FNx bind-to-key find-file FNy bind-to-key execute-file FNm bind-to-key save-file FNv bind-to-key exit-emacs FNl bind-to-key next-page FNt bind-to-key previous-page FNu bind-to-key execute-macro-10 FNM bind-to-key end-of-line FNq bind-to-key execute-macro-11 FNr bind-to-key beginning-of-line FNs bind-to-key execute-macro-12 FNp bind-to-key help FNn ; Toggle function key window display 10 store-macro !if %rcfkeys !goto rcfoff !endif ; toggle function key window on save-window 1 next-window !if ¬ &sequal $cbufname "Function Keys" 1 split-current-window select-buffer "Function Keys" !force 5 resize-window 1 goto-line !endif set %rcfkeys TRUE !force restore-window !if &sequal $cbufname "Function Keys" next-window !endif write-message "[Function key window ON]" !return ;Toggle the function key window off *rcfoff save-window 1 next-window !if &sequal "Function Keys" $cbufname delete-window !endif !force restore-window write-message "[Function key window OFF]" set %rcfkeys FALSE !endm 11 store-macro beginning-of-line kill-to-end-of-line delete-next-character !endm 12 store-macro yank insert-string "~n" !endm ; bring up the function key window 1 split-current-window select-buffer "Function Keys" 5 resize-window insert-string "f1 search f2 search back f3 hunt f4 hunt back ~n" insert-string "k7 next window k8 dscrbe-bndgs k9 find file k- exec file ~n" insert-string "k4 next page k5 previous page k6 save file k, exit emacs ~n" insert-string "k1 jmp eol k2 delete to eol k3 jmp bol ke toggle this~n" insert-string " k0 restore kill buffer k. help ~n " beginning-of-file unmark-buffer next-window set %rcfkeys TRUE set $discmd "TRUE" write-message "[Emacs is READY]"
phil@sci.UUCP (Phil Kaufman) (12/02/87)
In article <1280@ncsuvx.ncsu.edu>, sam@ncsuvx.ncsu.edu (Mr. Sam Moore) writes: > > > I have MicroEmacs version 3.9e running on a MicroVax(Ultrix) and on a > VAX(VMS). On both I want to use the function keys and cursor keys. I > compiled in the VT100 define. And I tried to map some keys in the > autoload script file. I was unsuccessful. Does anyone know how to do > this? Does anyone have any script files other than those in the distribution? > If so, I would like to see them. See the command file at the end of this message. It handles the setup for applications keypad mode and function and cursor key bindings. (If you do not know the codes for each key you want to add, just do 'describe- key' after running this macro. > > Also, the VT100 define caused a compiler error in the input.c file in the > function getcmd(). Unless I have compiled with the wrong options, it seems > that there is a missing brace, {. If this is old news and there are fixes > out there somewhere, please let me know. > Yes, there is a missing left brace. This bug was previously reported. Just add it as you suggest and all is fine. HERE IS ANSIIKEYS.CMD ; SETUP COMMAND FILE FOR ANSII STYLE KEYBOARDS ; ARROW KEY BINDINGS WORK ON UNMODIFIED MICROEMACS 3.9 ; USE OF FUNCTION KEYS AND APPLICATIONS MODE KEYPAD FUNCTION KEYS ; WORKS ON UNMODIFIED 3.9e BUT ORIGINAL 3.9 RELEASE ; REQUIRES A ONE LINE CHANGE TO input.c TO ADD O (that is upper ; case Oh) TO THE FN KEY SCAN ALONG WITH [. set $discmd 0 ; BIND ANSI ARROW KEYS bind-to-key next-line FNB bind-to-key previous-line FNA bind-to-key backward-character FND bind-to-key forward-character FNC ; ENABLE APPLICATIONS KEYPAD MODE ON ENTRY ; That's "ESC =" in the following write-message write-message "=" ; RESTORE NUMERIC KEYPAD ON EXIT That's "ESC >" in the following write-messages bind-to-key execute-macro-39 M-Z 39 store-macro write-message ">" quick-exit !endm bind-to-key execute-macro-38 ^X^C 38 store-macro write-message ">" exit-emacs !endm bind-to-key execute-macro-37 ^X! 37 store-macro write-message ">" shell-command !endm ; SOME PERSONAL PREFERENCE THINGS: ; BIND THE BS KEY TO DELETE IN PLACE (DEL deletes previous character) bind-to-key delete-next-character ^H ; US UNIX FOLK LIKE ^Z TO DO "BACKGROUND" bind-to-key suspend-emacs ^Z ; SOME DEFAULT USE OF PF KEYS bind-to-key beginning-of-file FNP ;PF1 bind-to-key previous-page FNQ ;PF2 bind-to-key next-page FNR ;PF3 bind-to-key end-of-file FNS ;PF4 set $discmd 1