Commit 1526bc23 authored by Jason Rumney's avatar Jason Rumney
Browse files

Support for horizontal scroll wheels on some mice:

(construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
from WM_MOUSEHWHEEL.
(w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.

MULTI_KBOARD support:
(w32_create_terminal) [MULTI_KBOARD]: Create a new
keyboard for the terminal.
parent 92cd6a7c
...@@ -3150,7 +3150,8 @@ construct_mouse_wheel (result, msg, f) ...@@ -3150,7 +3150,8 @@ construct_mouse_wheel (result, msg, f)
POINT p; POINT p;
int delta; int delta;
result->kind = WHEEL_EVENT; result->kind = msg->msg.message == WM_MOUSEHWHEEL ? HORIZ_WHEEL_EVENT
: WHEEL_EVENT;
result->code = 0; result->code = 0;
result->timestamp = msg->msg.time; result->timestamp = msg->msg.time;
...@@ -4486,6 +4487,7 @@ w32_read_socket (sd, expected, hold_quit) ...@@ -4486,6 +4487,7 @@ w32_read_socket (sd, expected, hold_quit)
} }
case WM_MOUSEWHEEL: case WM_MOUSEWHEEL:
case WM_MOUSEHWHEEL:
{ {
if (dpyinfo->grabbed && last_mouse_frame if (dpyinfo->grabbed && last_mouse_frame
&& FRAME_LIVE_P (last_mouse_frame)) && FRAME_LIVE_P (last_mouse_frame))
...@@ -6302,6 +6304,22 @@ w32_create_terminal (struct w32_display_info *dpyinfo) ...@@ -6302,6 +6304,22 @@ w32_create_terminal (struct w32_display_info *dpyinfo)
terminal->memory_below_frame = 0; /* We don't remember what scrolls terminal->memory_below_frame = 0; /* We don't remember what scrolls
off the bottom. */ off the bottom. */
#ifdef MULTI_KBOARD
/* We don't yet support separate terminals on W32, so don't try to share
keyboards between virtual terminals that are on the same physical
terminal like X does. */
terminal->kboard = (KBOARD *) xmalloc (sizeof (KBOARD));
init_kboard (terminal->kboard);
terminal->kboard->next_kboard = all_kboards;
all_kboards = terminal->kboard;
/* Don't let the initial kboard remain current longer than necessary.
That would cause problems if a file loaded on startup tries to
prompt in the mini-buffer. */
if (current_kboard == initial_kboard)
current_kboard = terminal->kboard;
terminal->kboard->reference_count++;
#endif
return terminal; return terminal;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment