Mercurial > emacs
diff doc/misc/viper.texi @ 85106:fd282fb888de
Add new `input-decode-map' keymap and use it for temrinal
escape sequences.
* keyboard.h (struct kboard): Add Vinput_decode_map.
Remove Vlocal_key_translation_map.
* keyboard.c (read_key_sequence): Add support for input-decode-map.
(init_kboard): Init input-decode-map.
Replace local-key-translation-map back with key-translation-map.
(syms_of_keyboard): Declare input-decode-map.
Remove local-key-translation-map. Update docstrings.
(mark_kboards): Mark Vinput_decode_map.
Don't mark Vlocal_key_translation_map.
* keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
Replace local-key-translation-map back with key-translation-map.
* term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
Bind in input-decode-map rather than function-key-map.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 09 Oct 2007 05:05:39 +0000 |
parents | 3d431f1997d8 |
children | 5d58981e6690 |
line wrap: on
line diff
--- a/doc/misc/viper.texi Tue Oct 09 04:28:00 2007 +0000 +++ b/doc/misc/viper.texi Tue Oct 09 05:05:39 2007 +0000 @@ -1745,7 +1745,8 @@ low may make it hard to type macros quickly enough. @item viper-translate-all-ESC-keysequences @code{t} on tty, @code{nil} on windowing display Normally, Viper lets Emacs translate only those ESC key sequences that are -defined in the low-level key-translation-map or function-key-map, such as those +defined in the low-level @code{input-decode-map}, @code{key-translation-map} +or @code{function-key-map}, such as those emitted by the arrow and function keys. Other sequences, e.g., @kbd{\\e/}, are treated as @kbd{ESC} command followed by a @kbd{/}. This is good for people who type fast and tend to hit other characters right after they hit @@ -2009,12 +2010,12 @@ those keys, you will have to find out which key sequences they emit by typing @kbd{C-q} and then the key (you should switch to Emacs state first). Then you can bind those sequences to their preferred forms using -@code{function-key-map} as follows: +@code{input-decode-map} as follows: @lisp (cond ((string= (getenv "TERM") "xterm") -(define-key function-key-map "\e[192z" [f11]) ; L1 -(define-key function-key-map "\e[195z" [f14]) ; L4, Undo +(define-key input-decode-map "\e[192z" [f11]) ; L1 +(define-key input-decode-map "\e[195z" [f14]) ; L4, Undo @end lisp The above illustrates how to do this for Xterm. On VT100, you would have to @@ -2206,6 +2207,7 @@ Manual}, and the Emacs quick reference card for the general info on key bindings in Emacs. +@vindex @code{input-decode-map} @vindex @code{function-key-map} @vindex @code{viper-vi-global-user-map} @vindex @code{viper-insert-global-user-map}