Mercurial > emacs
changeset 83876:37f582a71062
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.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Tue, 04 Sep 2007 21:38:40 +0000 |
parents | fbb5919e6afb |
children | eed0e69910d6 |
files | src/w32term.c |
diffstat | 1 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/w32term.c Tue Sep 04 15:44:11 2007 +0000 +++ b/src/w32term.c Tue Sep 04 21:38:40 2007 +0000 @@ -3150,7 +3150,8 @@ POINT p; int delta; - result->kind = WHEEL_EVENT; + result->kind = msg->msg.message == WM_MOUSEHWHEEL ? HORIZ_WHEEL_EVENT + : WHEEL_EVENT; result->code = 0; result->timestamp = msg->msg.time; @@ -4486,6 +4487,7 @@ } case WM_MOUSEWHEEL: + case WM_MOUSEHWHEEL: { if (dpyinfo->grabbed && last_mouse_frame && FRAME_LIVE_P (last_mouse_frame)) @@ -6302,6 +6304,22 @@ terminal->memory_below_frame = 0; /* We don't remember what scrolls 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; }