/* Length of echobuf field in each KBOARD. */
/* Each KBOARD represents one logical input stream from which Emacs gets input.
- If we are using an ordinary terminal, it has one KBOARD object.
+ If we are using ordinary terminals, it has one KBOARD object for each terminal device.
Usually each X display screen has its own KBOARD,
but when two of them are on the same X server,
we assume they share a keyboard and give them one KBOARD in common.
/* Cache for modify_event_symbol. */
Lisp_Object system_key_syms;
+ /* Keymap mapping ASCII function key sequences onto their
+ preferred forms. Initialized by the terminal-specific lisp
+ files. See the DEFVAR for more documentation. */
+ Lisp_Object Vlocal_function_key_map;
+
+ /* Keymap of key translations that can override keymaps. */
+ Lisp_Object Vlocal_key_translation_map;
+
/* Minibufferless frames on this display use this frame's minibuffer. */
Lisp_Object Vdefault_minibuffer_frame;
};
#ifdef MULTI_KBOARD
-/* Temporarily used before a frame has been opened, and for termcap frames */
+/* Temporarily used before a frame has been opened. */
extern KBOARD *initial_kboard;
/* In the single-kboard state, this is the kboard
/* Nonzero means polling for input is temporarily suppressed. */
extern int poll_suppress_count;
-/* Keymap mapping ASCII function key sequences onto their preferred forms.
- Initialized by the terminal-specific lisp files. */
-extern Lisp_Object Vfunction_key_map;
-
/* Vector holding the key sequence that invoked the current command.
It is reused for each command, and it may be longer than the current
sequence; this_command_key_count indicates how many elements
/* User-supplied string to translate input characters through. */
extern Lisp_Object Vkeyboard_translate_table;
+/* Parent keymap of terminal-local function-key-map instances. */
+extern Lisp_Object Vfunction_key_map;
+
+/* Parent keymap of terminal-local key-translation-map instances. */
+extern Lisp_Object Vkey_translation_map;
+
extern int parse_menu_item P_ ((Lisp_Object, int, int));
extern void delete_kboard P_ ((KBOARD *));
extern void single_kboard_state P_ ((void));
extern void not_single_kboard_state P_ ((KBOARD *));
+extern void push_device_kboard P_ ((struct device *));
extern void push_frame_kboard P_ ((struct frame *));
extern void pop_frame_kboard P_ ((void));
extern void record_asynch_buffer_change P_ ((void));
extern Lisp_Object menu_item_eval_property P_ ((Lisp_Object));
extern int kbd_buffer_events_waiting P_ ((int));
+extern int tty_read_avail_input P_ ((struct device *, int,
+ struct input_event *));
+
/* arch-tag: 769cbade-1ba9-4950-b886-db265b061aa3
(do not change this comment) */