Next: Controlling Active Maps, Previous: Active Keymaps, Up: Keymaps
After translation of event subsequences (see Translation Keymaps) Emacs looks for them in the active keymaps. Here is a pseudo-Lisp description of the order in which the active keymaps are searched:
(or (if overriding-terminal-local-map
(find-in overriding-terminal-local-map)
(if overriding-local-map
(find-in overriding-local-map)
(or (find-in (get-text-property (point) 'keymap))
(find-in-any emulation-mode-map-alists)
(find-in-any minor-mode-overriding-map-alist)
(find-in-any minor-mode-map-alist)
(if (get-text-property (point) 'local-map)
(find-in (get-text-property (point) 'local-map))
(find-in (current-local-map))))))
(find-in (current-global-map)))
The find-in and find-in-any are pseudo functions that search in one keymap and in an alist of keymaps, respectively.
self-insert-command are translated
according to translation-table-for-input before insertion.
current-active-maps returns a list of the
currently active keymaps at point.
