|
From: | Lennart Borgman |
Subject: | Re: Function for deleting a key binding in a sparse keymap |
Date: | Fri, 09 Dec 2005 00:59:46 +0100 |
User-agent: | Mozilla Thunderbird 1.0.7 (Windows/20050923) |
Stefan Monnier wrote:
Go through the list below step by step. As soon as a it (see KeyLookup) is found in any keymap you are ready.That would probably be a good idea. E.g. you forgot to include key-translation-map, function-key-map, keyboard-translate-table, translation-table-for-input, maybe more? Stefan
This was rather hairy. Is the table below correct? ***************************************************************************** How to find the keymap for a given key sequence in a buffer =========================================================== Go through the list below step by step. As soon as a hit is found in any keymap (see KeyLookup) you are ready. *) First apply `extra-keyboard-modifiers' mask to each keyboard character read. *) Each character read from the keyboard may be translated according to `keyboard-translate-table'. *) Characters that are self-inserting are translated according to `translation-table-for-input'. If a character is self-inserting then you are ready. FIRST-MAP) Look in `special-event-map'. *) If overriding-terminal-local-map look in this. Then go to GLOBAL. *) If overriding-local-map look in this. Then go to GLOBAL. *) Is there a "keymap" property of the text or overlay at point? *) Look for minor mode keymaps in `emulation-mode-map-alists'. *) Look for minor mode keymaps in `minor-mode-map-alist'. *) Is there a `local-map' property of the text or overlay at point? *) Is there a "local keymap" (those are for major modes)? GLOBAL) Look in the "global keymap". *) If it is an ASCII function key sequences then look in function-key-map. This map transforms to Emacs key sequences. *) The possibly transformed sequence after applying `function-key-map' is now handled to `key-translation-map' which works the same way. *) If any transformation was made by `function-key-map' or `key-translation-map' then take the new sequence and go back to FIRST-MAP.
[Prev in Thread] | Current Thread | [Next in Thread] |