annotate src/mocklisp.h @ 23681:af0276da2059

(Vw32_pass_optional_keys_to_system): Variable removed. (Vw32_pass_lwindow_to_system): (Vw32_pass_rwindow_to_system): (Vw32_lwindow_modifier): (Vw32_rwindow_modifier): (Vw32_apps_modifier): (Vw32_enable_num_lock): (Vw32_enable_caps_lock): (Vw32_scroll_lock_modifier): New variables. (modifier_set): Return toggle state for Scroll Lock. (w32_key_to_modifier): New function. Returns chosen modifier bit for given key. (w32_get_modifiers): Returns modifier flags for non-keyboard input events. (construct_console_modifiers): Renamed from construct_modifiers; recognize Windows and Apps keys as modifiers. (w32_get_key_modifiers): New function. Returns modifier flags for keyboard input events. (map_keypad_keys): Make non-static. Use second arg as extended flag. (w32_grabbed_keys): New variable. (HOTKEY, HOTKEY_ID, HOTKEY_VK_CODE, HOTKEY_MODIFIERS): New macros. (register_hot_keys): (unregister_hot_keys): (lookup_vk_code): (w32_parse_hot_key): (Fw32_register_hot_key): (Fw32_unregister_hot_key): (Fw32_registered_hot_keys): (Fw32_reconstruct_hot_key): New functions to support hotkeys. (post_character_message): New function. (w32_msg_pump): Handle new messages for using hotkeys and changing keyboard layout/language. (w32_wnd_proc): Major rework of keyboard input handling: optionally recognize Windows keys and Apps key as modifiers; optionally treat NumLock, CapsLock and ScrollLock as function keys; let system translate keystrokes to characters to avoid system bugs relating to dead-key handling; preserve shift distinction for control characters; forward keyboard layout/language changes to lisp; detect and convert hot-key events to normal keystrokes. (syms_of_w32fns): Register new functions and variables. (w32_last_error): New function for use in debugging.
author Geoff Voelker <voelker@cs.washington.edu>
date Tue, 10 Nov 1998 20:54:46 +0000
parents ee40177f6c68
children ec60cd36c995
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Fundamental definitions for emulating mocklisp.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 Copyright (C) 1985, 1986, 1987 Free Software Foundation, Inc.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
12244
ac7375e60931 Update GPL to version 2.
Karl Heuer <kwzh@gnu.org>
parents: 484
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
111
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 any later version.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 GNU General Public License for more details.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 12244
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 12244
diff changeset
19 Boston, MA 02111-1307, USA. */
111
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 /* This is the main entry point to mocklisp execution.
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 When eval sees a mocklisp function being called, it calls here
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 with the unevaluated argument list */
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24
5bd7f97aca7d Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 extern Lisp_Object ml_apply ();
112
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
26 extern Lisp_Object Fml_if ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
27 extern Lisp_Object Fml_nargs ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
28 extern Lisp_Object Fml_arg ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
29 extern Lisp_Object Fml_interactive ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
30 extern Lisp_Object Fml_provide_prefix_argument ();
aee5f0554079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 111
diff changeset
31 extern Lisp_Object Fml_prefix_argument_loop ();
484
3165b2697c78 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 112
diff changeset
32 extern Lisp_Object Finsert_string ();