From: grischka <grishka@gmx.de>
To: ofv@wanadoo.es
Cc: emacs-devel@gnu.org
Subject: Re: Bikeshedding go! Why is <M-f4> unbound?
Date: Tue, 18 Jan 2011 10:36:58 +0100 [thread overview]
Message-ID: <4D355F3A.4040709@gmx.de> (raw)
> This is unnecesary. The Windows event loop coded into Emacs already
> receives Alt-F4 in a single event. What is needed is to determine from
> that event loop if there is a binding for Alt-F4 (created with *-set-key
> etc). Once we know that there is no such binding, it is trivial to send
> back the Alt-F4 event back to Windows.
Well, it would be difficult to determine on the Windows level whether
the single keystroke was maybe part of C-x M-f4 or C-h M-f4. So in
any case it is better to reuse emacs central event parser.
To make some suggestion that could work: Store the key-code in a
variable like this:
case WM_SYSKEYDOWN:
last_syskey_code = wParam;
...
define keys emacs-wise like this:
(global-set-key [M-f4] 'w32-syskey)
with
DEFUN w32_syskey() {
PostMessage(frame_wnd, WM_EMACS_SYSKEY, last_syskey_code, 0);
}
and in wnd_proc()
case WM_EMACS_SYSKEY:
return DefWindowProc(hwnd, WM_SYSKEYDOWN, wParam, 0);
All untested. Also note that for Alt-<letter> keys, WM_SYSCHAR needs
to be handled as well.
--- grischka
next reply other threads:[~2011-01-18 9:36 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-18 9:36 grischka [this message]
2011-01-18 12:58 ` Bikeshedding go! Why is <M-f4> unbound? Óscar Fuentes
2011-01-18 13:15 ` grischka
2011-01-18 13:27 ` Óscar Fuentes
2011-01-18 17:20 ` Drew Adams
2011-01-19 10:08 ` Stuart Hacking
2011-01-19 19:37 ` Drew Adams
2011-01-20 1:00 ` PJ Weisberg
2011-01-20 17:12 ` Drew Adams
2011-01-20 20:10 ` PJ Weisberg
2011-01-18 13:33 ` Lennart Borgman
2011-01-18 13:51 ` Óscar Fuentes
2011-01-18 17:40 ` Lennart Borgman
2011-01-18 17:52 ` Óscar Fuentes
-- strict thread matches above, loose matches on Subject: below --
2011-01-17 20:31 Drew Adams
2011-01-17 20:53 ` Lennart Borgman
2011-01-17 21:56 ` Drew Adams
2011-01-17 22:23 ` Lennart Borgman
2011-01-17 23:17 ` Drew Adams
2011-01-17 23:58 ` Lennart Borgman
2011-01-18 0:36 ` Drew Adams
2011-01-18 0:47 ` Lennart Borgman
2011-01-18 1:20 ` Drew Adams
2011-01-18 1:38 ` Lennart Borgman
2011-01-18 3:14 ` Drew Adams
2011-01-18 4:06 ` Stephen J. Turnbull
2011-01-17 12:06 grischka
2011-01-17 12:23 ` Lennart Borgman
2011-01-17 14:37 ` Óscar Fuentes
2011-01-17 16:56 ` Lennart Borgman
2011-01-18 3:03 ` Stephen J. Turnbull
2011-01-18 9:11 ` Lennart Borgman
2011-01-18 12:10 ` grischka
2011-01-14 1:20 grischka
2011-01-05 14:48 Deniz Dogan
2011-01-05 15:29 ` Óscar Fuentes
2011-01-05 17:11 ` Deniz Dogan
2011-01-05 17:30 ` Eli Zaretskii
2011-01-05 17:36 ` Deniz Dogan
2011-01-05 18:15 ` Óscar Fuentes
2011-01-09 22:00 ` Lennart Borgman
2011-01-10 1:01 ` Drew Adams
2011-01-10 1:46 ` Lennart Borgman
2011-01-10 3:01 ` Drew Adams
2011-01-10 3:08 ` Lennart Borgman
2011-01-12 13:53 ` Stuart Hacking
2011-01-12 15:01 ` Drew Adams
2011-01-12 15:54 ` Deniz Dogan
2011-01-12 17:17 ` Drew Adams
2011-01-12 20:29 ` Chad Brown
2011-01-12 20:32 ` Stefan Monnier
2011-01-12 20:42 ` Deniz Dogan
2011-01-13 2:42 ` Stefan Monnier
2011-01-13 3:13 ` Lennart Borgman
2011-01-13 3:59 ` Óscar Fuentes
2011-01-13 4:15 ` Lennart Borgman
2011-01-13 13:13 ` Óscar Fuentes
2011-01-13 16:57 ` Stefan Monnier
2011-01-13 18:05 ` Óscar Fuentes
2011-01-13 21:15 ` Stefan Monnier
2011-01-13 22:00 ` Lennart Borgman
2011-01-14 0:12 ` Jason Rumney
2011-01-14 0:21 ` Lennart Borgman
2011-01-14 5:02 ` Jason Rumney
2011-01-14 8:28 ` Lennart Borgman
2011-01-13 22:18 ` Drew Adams
2011-01-13 22:30 ` Lennart Borgman
2011-01-13 22:47 ` Drew Adams
2011-01-13 23:04 ` Óscar Fuentes
2011-01-13 23:14 ` Lennart Borgman
2011-01-14 9:25 ` Giorgos Keramidas
2011-01-14 9:43 ` Lennart Borgman
2011-01-13 22:53 ` Stuart Hacking
2011-01-13 23:10 ` Lennart Borgman
2011-01-14 0:13 ` Jason Rumney
2011-01-14 1:35 ` Drew Adams
2011-01-14 5:08 ` Jason Rumney
2011-01-14 10:49 ` PJ Weisberg
2011-01-14 15:21 ` Lennart Borgman
2011-01-14 15:48 ` Stefan Monnier
2011-01-15 0:07 ` Óscar Fuentes
2011-01-15 11:41 ` Lennart Borgman
2011-01-16 21:49 ` Drew Adams
2011-01-16 23:53 ` Lennart Borgman
2011-01-17 1:40 ` Drew Adams
2011-01-17 1:52 ` Drew Adams
2011-01-17 8:32 ` Lennart Borgman
2011-01-17 18:22 ` Drew Adams
2011-01-17 18:36 ` Lennart Borgman
2011-01-17 19:02 ` Drew Adams
2011-01-17 19:27 ` Lennart Borgman
2011-01-18 8:06 ` jasonr
2011-01-17 19:27 ` Óscar Fuentes
2011-01-17 20:24 ` Drew Adams
2011-01-17 2:27 ` Jason Rumney
2011-01-17 18:21 ` Drew Adams
2011-01-16 21:49 ` Drew Adams
2011-01-14 17:58 ` Drew Adams
2011-01-14 20:27 ` Lennart Borgman
2011-01-14 22:24 ` Drew Adams
[not found] ` <D727BC7268A24AF7B9544FD4E0B74E11@us! .oracle.com>
2011-01-14 22:43 ` Lennart Borgman
2011-01-16 21:49 ` Drew Adams
2011-01-16 23:49 ` Lennart Borgman
2011-01-17 0:33 ` Philipp Haselwarter
2011-01-17 1:41 ` Drew Adams
2011-01-17 1:45 ` Drew Adams
2011-01-17 8:29 ` Lennart Borgman
2011-01-17 8:47 ` Stephen J. Turnbull
2011-01-17 9:23 ` Lennart Borgman
2011-01-17 18:22 ` Drew Adams
2011-01-17 18:22 ` Drew Adams
2011-01-15 2:38 ` PJ Weisberg
2011-01-16 21:49 ` Drew Adams
2011-01-10 10:15 ` Dimitri Fontaine
2011-01-05 15:31 ` Christopher Allan Webber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D355F3A.4040709@gmx.de \
--to=grishka@gmx.de \
--cc=emacs-devel@gnu.org \
--cc=ofv@wanadoo.es \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).