aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32fns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/w32fns.c')
-rw-r--r--src/w32fns.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/w32fns.c b/src/w32fns.c
index 288b1f96665..808376bf580 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -150,6 +150,9 @@ int w32_mouse_move_interval;
150/* Flag to indicate if XBUTTON events should be passed on to Windows. */ 150/* Flag to indicate if XBUTTON events should be passed on to Windows. */
151int w32_pass_extra_mouse_buttons_to_system; 151int w32_pass_extra_mouse_buttons_to_system;
152 152
153/* Flag to indicate if media keys should be passed on to Windows. */
154int w32_pass_multimedia_buttons_to_system;
155
153/* Non nil if no window manager is in use. */ 156/* Non nil if no window manager is in use. */
154Lisp_Object Vx_no_window_manager; 157Lisp_Object Vx_no_window_manager;
155 158
@@ -3387,6 +3390,10 @@ w32_wnd_proc (hwnd, msg, wParam, lParam)
3387 signal_user_input (); 3390 signal_user_input ();
3388 return 0; 3391 return 0;
3389 3392
3393 case WM_APPCOMMAND:
3394 if (w32_pass_multimedia_buttons_to_system)
3395 goto dflt;
3396 /* Otherwise, pass to lisp, the same way we do with mousehwheel. */
3390 case WM_MOUSEHWHEEL: 3397 case WM_MOUSEHWHEEL:
3391 wmsg.dwModifiers = w32_get_modifiers (); 3398 wmsg.dwModifiers = w32_get_modifiers ();
3392 my_post_msg (&wmsg, hwnd, msg, wParam, lParam); 3399 my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
@@ -8945,6 +8952,30 @@ If this variable is non-nil, Emacs will pass them on, allowing the
8945system to handle them. */); 8952system to handle them. */);
8946 w32_pass_extra_mouse_buttons_to_system = 0; 8953 w32_pass_extra_mouse_buttons_to_system = 0;
8947 8954
8955 DEFVAR_BOOL ("w32-pass-multimedia-buttons-to-system",
8956 &w32_pass_multimedia_buttons_to_system,
8957 doc: /* If non-nil, media buttons are passed to Windows.
8958Some modern keyboards contain buttons for controlling media players, web
8959browsers and other applications. Generally these buttons are handled on a
8960system wide basis, but by setting this to nil they are made available
8961to Emacs for binding. Depending on your keyboard, additional keys that
8962may be available are:
8963
8964browser-back, browser-forward, browser-refresh, browser-stop,
8965browser-search, browser-favorites, browser-home,
8966mail, mail-reply, mail-forward, mail-send,
8967app-1, app-2,
8968help, find, new, open, close, save, print, undo, redo, copy, cut, paste,
8969spell-check, correction-list, toggle-dictate-command,
8970media-next, media-previous, media-stop, media-play-pause, media-select,
8971media-play, media-pause, media-record, media-fast-forward, media-rewind,
8972media-channel-up, media-channel-down,
8973volume-mute, volume-up, volume-down,
8974mic-volume-mute, mic-volume-down, mic-volume-up, mic-toggle,
8975bass-down, bass-boost, bass-up, treble-down, treble-up
8976 */);
8977 w32_pass_multimedia_buttons_to_system = 1;
8978
8948 DEFVAR_LISP ("x-pointer-shape", &Vx_pointer_shape, 8979 DEFVAR_LISP ("x-pointer-shape", &Vx_pointer_shape,
8949 doc: /* The shape of the pointer when over text. 8980 doc: /* The shape of the pointer when over text.
8950Changing the value does not affect existing frames 8981Changing the value does not affect existing frames