]> code.delx.au - gnu-emacs/blobdiff - src/keyboard.h
Merged in changes from CVS trunk. Plus added lisp/term tweaks.
[gnu-emacs] / src / keyboard.h
index afda1c00a92523611c4a101c7df722eb082d04e8..0063922787f9034118f9603dec5c453e09547ea1 100644 (file)
@@ -22,7 +22,7 @@ Boston, MA 02110-1301, USA.  */
 /* 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.
@@ -121,6 +121,14 @@ struct kboard
     /* 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;
 
@@ -153,7 +161,7 @@ struct kboard
   };
 
 #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
@@ -188,10 +196,6 @@ extern EMACS_INT num_nonmacro_input_events;
 /* 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
@@ -301,6 +305,12 @@ extern Lisp_Object read_char P_ ((int, int, Lisp_Object *, Lisp_Object, int *));
 /* 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));
 
@@ -309,6 +319,7 @@ extern void init_kboard P_ ((KBOARD *));
 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));
@@ -343,5 +354,8 @@ extern void kbd_buffer_store_help_event P_ ((Lisp_Object, Lisp_Object));
 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) */