142 |
events that are passed on to the event loop. */ |
events that are passed on to the event loop. */ |
143 |
Lisp_Object Vw32_mouse_move_interval; |
Lisp_Object Vw32_mouse_move_interval; |
144 |
|
|
145 |
|
/* Flag to indicate if XBUTTON events should be passed on to Windows. */ |
146 |
|
int w32_pass_extra_mouse_buttons_to_system; |
147 |
|
|
148 |
/* The name we're using in resource queries. */ |
/* The name we're using in resource queries. */ |
149 |
Lisp_Object Vx_resource_name; |
Lisp_Object Vx_resource_name; |
150 |
|
|
4573 |
} |
} |
4574 |
return 0; |
return 0; |
4575 |
|
|
4576 |
|
case WM_XBUTTONDOWN: |
4577 |
|
case WM_XBUTTONUP: |
4578 |
|
if (w32_pass_extra_mouse_buttons_to_system) |
4579 |
|
goto dflt; |
4580 |
|
/* else fall through and process them. */ |
4581 |
case WM_MBUTTONDOWN: |
case WM_MBUTTONDOWN: |
4582 |
case WM_MBUTTONUP: |
case WM_MBUTTONUP: |
4583 |
handle_plain_button: |
handle_plain_button: |
4585 |
BOOL up; |
BOOL up; |
4586 |
int button; |
int button; |
4587 |
|
|
4588 |
if (parse_button (msg, &button, &up)) |
if (parse_button (msg, HIWORD (wParam), &button, &up)) |
4589 |
{ |
{ |
4590 |
if (up) ReleaseCapture (); |
if (up) ReleaseCapture (); |
4591 |
else SetCapture (hwnd); |
else SetCapture (hwnd); |
4600 |
|
|
4601 |
wmsg.dwModifiers = w32_get_modifiers (); |
wmsg.dwModifiers = w32_get_modifiers (); |
4602 |
my_post_msg (&wmsg, hwnd, msg, wParam, lParam); |
my_post_msg (&wmsg, hwnd, msg, wParam, lParam); |
4603 |
return 0; |
|
4604 |
|
/* Need to return true for XBUTTON messages, false for others, |
4605 |
|
to indicate that we processed the message. */ |
4606 |
|
return (msg == WM_XBUTTONDOWN || msg == WM_XBUTTONUP); |
4607 |
|
|
4608 |
case WM_MOUSEMOVE: |
case WM_MOUSEMOVE: |
4609 |
/* If the mouse has just moved into the frame, start tracking |
/* If the mouse has just moved into the frame, start tracking |
14518 |
reported as lisp events. */); |
reported as lisp events. */); |
14519 |
XSETINT (Vw32_mouse_move_interval, 0); |
XSETINT (Vw32_mouse_move_interval, 0); |
14520 |
|
|
14521 |
|
DEFVAR_BOOL ("w32-pass-extra-mouse-buttons-to-system", |
14522 |
|
&w32_pass_extra_mouse_buttons_to_system, |
14523 |
|
doc: /* Non-nil if the fourth and fifth mouse buttons are passed to Windows. |
14524 |
|
Recent versions of Windows support mice with up to five buttons. |
14525 |
|
Since most applications don't support these extra buttons, most mouse |
14526 |
|
drivers will allow you to map them to functions at the system level. |
14527 |
|
If this variable is non-nil, Emacs will pass them on, allowing the |
14528 |
|
system to handle them. */); |
14529 |
|
w32_pass_extra_mouse_buttons_to_system = 0; |
14530 |
|
|
14531 |
init_x_parm_symbols (); |
init_x_parm_symbols (); |
14532 |
|
|
14533 |
DEFVAR_LISP ("x-bitmap-file-path", &Vx_bitmap_file_path, |
DEFVAR_LISP ("x-bitmap-file-path", &Vx_bitmap_file_path, |