From 71ce5fd0c9f52882241bef4424042310440b2e93 Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Thu, 29 May 2008 08:17:20 +0000 Subject: [PATCH] (Windows Keyboard): Add descriptions of w32-register-hot-key and w32-unregister-hot-key. --- doc/emacs/ChangeLog | 12 ++++++++---- doc/emacs/msdog.texi | 27 +++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 0089ebc1169..15831dc28bf 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2008-05-29 Drew Adams + + * msdog.texi (Windows Keyboard): Add descriptions of + w32-register-hot-key and w32-unregister-hot-key. + 2008-05-21 Tom Tromey * custom.texi (Directory Variables): Grammar fix. Link to Safe File @@ -10,8 +15,7 @@ 2008-05-16 Eric S. Raymond - * vc2-xtra.texi: Mofify an example so it reflects what vc.el - now does. + * vc2-xtra.texi: Modify an example so it reflects what vc.el now does. 2008-05-15 Eric S. Raymond @@ -111,8 +115,8 @@ the default behavior with Transient Mark mode off. (Position Info): Fix typo. - * display.texi (Standard Faces): Reference the Mark node. Remove - discussion of the region face, which is discussed there. + * display.texi (Standard Faces): Reference the Mark node. + Remove discussion of the region face, which is discussed there. * emacs.texi (Top): Update node listings. diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index 80f31689c63..0f0a13e188e 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi @@ -403,6 +403,33 @@ Windows-specific variables in this category. key. If you wish it to produce the @code{Alt} modifier instead, set the variable @code{w32-alt-is-meta} to a @code{nil} value. +@findex w32-register-hot-key +@findex w32-unregister-hot-key + Although the @key{ALT} key is mapped by default to the Emacs +@key{META} key, MS Windows preempts its use by Emacs for certain key +combinations, such as @kbd{Alt-@key{TAB}}. You can use function +@code{w32-register-hot-key} to allow a key sequence to be seen by Emacs +instead of being grabbed by Windows. This registers the key sequence as +a Windows hot key. + + The argument to @code{w32-register-hot-key} must be a one element key +definition in vector form that would be acceptable to `define-key'. The +@code{meta} modifier is interpreted as @key{ALT} if `w32-alt-is-meta' is +@code{t}, and @code{hyper} is always interpreted as the Windows modifier +keys. The return value is the hotkey-id if registered, otherwise +@code{nil}. + +@kindex M-TAB @r{(MS-Windows)} +@cindex @kbd{M-@key{TAB}} vs @kbd{Alt-@key{TAB}} (MS-Windows) +@cindex @kbd{Alt-@key{TAB}} vs @kbd{M-@key{TAB}} (MS-Windows) + For example, @code{(w32-register-hot-key [M-tab])} lets you use +@kbd{M-TAB} normally in Emacs. This is effective at all levels, so, for +instance, you can use @kbd{M-TAB} at top level to complete the word or +symbol at point, and you can use it during incremental search to +complete the current search string against previously sought strings. +The function @code{w32-unregister-hot-key} reverses the effect of +@code{w32-register-hot-key}. + @vindex w32-capslock-is-shiftlock By default, the @key{CapsLock} key only affects normal character keys (it converts lower-case characters to their upper-case -- 2.39.2