aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Rumney2007-11-09 12:20:55 +0000
committerJason Rumney2007-11-09 12:20:55 +0000
commit4b219faa3b807146947314c47190b3fde09ce4a1 (patch)
tree6a6203e45ff3d5a8fb14d676faa769c83e560560 /src
parentba991a0e56732e440ab4b2b509a2576b09fafef7 (diff)
downloademacs-4b219faa3b807146947314c47190b3fde09ce4a1.tar.gz
emacs-4b219faa3b807146947314c47190b3fde09ce4a1.zip
(w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
(w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from WM_APPCOMMAND.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog27
-rw-r--r--src/w32term.c25
2 files changed, 51 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 90338e217b3..9cf85ff8929 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,30 @@
12007-11-09 Jason Rumney <jasonr@gnu.org>
2
3 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
4
5 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
6
7 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
8 Remove W32_SCROLL_BAR_CLICK_EVENT.
9
10 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
11 Add MULTIMEDIA_KEY_EVENT.
12
13 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14 (lispy_multimedia_keys) [WINDOWSNT]: New array.
15 (make_lispy_event) [WINDOWSNT]: Use it to translate
16 MULTIMEDIA_KEY_EVENT.
17
18 * w32term.h (WM_APPCOMMAND): Define if not already.
19 (GET_APPCOMMAND_LPARAM): Likewise.
20
21 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
22 WM_APPCOMMAND.
23
24 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
25 (syms_of_w32fns): Export and initialize it.
26 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
27
12007-11-09 Chong Yidong <cyd@stupidchicken.com> 282007-11-09 Chong Yidong <cyd@stupidchicken.com>
2 29
3 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE 30 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
diff --git a/src/w32term.c b/src/w32term.c
index a0c595b3a34..4f4701b5f23 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -3970,7 +3970,7 @@ w32_scroll_bar_handle_click (bar, msg, emacs_event)
3970 if (! GC_WINDOWP (bar->window)) 3970 if (! GC_WINDOWP (bar->window))
3971 abort (); 3971 abort ();
3972 3972
3973 emacs_event->kind = W32_SCROLL_BAR_CLICK_EVENT; 3973 emacs_event->kind = SCROLL_BAR_CLICK_EVENT;
3974 emacs_event->code = 0; 3974 emacs_event->code = 0;
3975 /* not really meaningful to distinguish up/down */ 3975 /* not really meaningful to distinguish up/down */
3976 emacs_event->modifiers = msg->dwModifiers; 3976 emacs_event->modifiers = msg->dwModifiers;
@@ -4337,6 +4337,29 @@ w32_read_socket (sd, expected, hold_quit)
4337 } 4337 }
4338 break; 4338 break;
4339 4339
4340 case WM_APPCOMMAND:
4341 f = x_window_to_frame (dpyinfo, msg.msg.hwnd);
4342
4343 if (f && !f->iconified)
4344 {
4345 if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)
4346 && !EQ (f->tool_bar_window, dpyinfo->mouse_face_window))
4347 {
4348 clear_mouse_face (dpyinfo);
4349 dpyinfo->mouse_face_hidden = 1;
4350 }
4351
4352 if (temp_index == sizeof temp_buffer / sizeof (short))
4353 temp_index = 0;
4354 temp_buffer[temp_index++] = msg.msg.wParam;
4355 inev.kind = MULTIMEDIA_KEY_EVENT;
4356 inev.code = GET_APPCOMMAND_LPARAM(msg.msg.lParam);
4357 inev.modifiers = msg.dwModifiers;
4358 XSETFRAME (inev.frame_or_window, f);
4359 inev.timestamp = msg.msg.time;
4360 }
4361 break;
4362
4340 case WM_MOUSEMOVE: 4363 case WM_MOUSEMOVE:
4341 /* Ignore non-movement. */ 4364 /* Ignore non-movement. */
4342 { 4365 {