mouse wheel button problem on Windows

View: New views
10 Messages — Rating Filter:   Alert me  

mouse wheel button problem on Windows

by Drew Adams :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I'm having this problem now (in all Emacs versions, on MS Windows):

   Clicking the mouse wheel in Win32 Emacs causes the little
   AutoScoll symbol to appear instead of pasting. If you
   click the mouse wheel again, the AutoScroll disappears
   and the pasting occurs. If you change the wheel click to
   anything other than the default, then pasting in Win32
   Emacs doesn't work at all (IIRC).
   http://www.cygwin.com/ml/cygwin-xfree/2003-07/msg00252.html

This just started happening, after I updated my mouse driver. I tried rolling
back the driver - didn't help. I downloaded a new driver - didn't help. I see
the problem even with different (Intellimouse) mice.

Symptom: When I click the wheel button (`mouse-2' for Emacs), the first click is
intercepted by Windows and displays the autoscroll pointer. I must click it
again to get Windows to pass the mouse event to Emacs. E.g., if I do `C-h k' and
then click the wheel button, the Windows autoscroll pointer appears and Windows
initiates autoscrolling. If I then click it again, Emacs receives the
`down-mouse-2' event and I see the output from `describe-key'.

As I say, this is a new problem for me, and I can't seem to turn it off. It
always just worked before. I see the same problem in all Emacs versions, and -Q
or not.

In the mouse properties box, I have the Wheel Button set to its default value of
AutoScroll. I tried setting it to None, but then no event is sent to Emacs at
all. I tried setting it to Paste, but that sends a `C-v' to Emacs.

I tried setting it to Redo, and that sends `C-y' to Emacs, but that's not what I
want (and, besides, I don't want the middle mouse button to be Redo in other
apps). I want to be able to bind `down-mouse-2' to a particular command, and
have Emacs actually receive `down-mouse-2' and `mouse-2' events, not `C-y'.

Help appreciated.




Re: mouse wheel button problem on Windows

by David Vanderschel :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I can't really help directly; but I can provide some possibly
relevant info for comparison:

Running under Windows XP Home with Emacs 23.1.50.1, the behaviour
I observe with mouse-2 (wheel) is what one would hope for:  Emacs
sees the click immediately and behaves as advertised for Emacs.
Other apps activate the AutoScroll as Drew describes.  At first I
thought Drew's problem was almost certainly with the driver, not
Emacs.  On second thought, it would appear that my Emacs must be
doing something to assure that it gets the events directly
without activating the AutoScroll mechanism.  (Speculation:
Perhaps the initial driver install fooled with some relevant
registry parameter (that controls whether or not apps can take
precedence on handling the event) and the uninstall did not
restore that setting.)

Regards,
  David V.

----- Original Message -----
From: "Drew Adams" <drew.adams@...>
To: <help-emacs-windows@...>
Sent: Monday, September 21, 2009 1:27 PM
Subject: [h-e-w] mouse wheel button problem on Windows


I'm having this problem now (in all Emacs versions, on MS
Windows):

   Clicking the mouse wheel in Win32 Emacs causes the little
   AutoScoll symbol to appear instead of pasting. If you
   click the mouse wheel again, the AutoScroll disappears
   and the pasting occurs. If you change the wheel click to
   anything other than the default, then pasting in Win32
   Emacs doesn't work at all (IIRC).
   http://www.cygwin.com/ml/cygwin-xfree/2003-07/msg00252.html

...




Parent Message unknown Re: mouse wheel button problem on Windows

by Raymond Zeitler-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 
Hi Drew:

I think this is related to your mouse driver.

My mouse driver is set to use the "_Connected Device" IntelliMouse.

I have checked "Enable program-specific settings," in which the Wheel Button
is disabled for Gnu Emacs.  It is this program-specific feature that might
enable you to have the mouse work normally for all applications except Emacs
and do something else for Emacs.

I'm still using: GNU Emacs 22.0.50.1 (i386-mingw-nt5.1.2600) of 2006-03-21
on YAMALOK

I also attached a screenshot of both the program-specific setting dialog and
the driver properties.

If these attachments should get blocked and you'd like me to e-mail them to
you directly, please let me know.

Good luck!

--
Raymond Zeitler <r.zeitler@...>




-----Original Message-----
Date: Mon, 21 Sep 2009 11:27:38 -0700
From: "Drew Adams" <drew.adams@...>
Subject: [h-e-w] mouse wheel button problem on Windows
To: <help-emacs-windows@...>
Message-ID: <ACEADC5C82994379ABCCB30AE68FDDCA@...>
Content-Type: text/plain; charset="us-ascii"

I'm having this problem now (in all Emacs versions, on MS Windows):

   Clicking the mouse wheel in Win32 Emacs causes the little
   AutoScoll symbol to appear instead of pasting. If you
   click the mouse wheel again, the AutoScroll disappears
   and the pasting occurs. If you change the wheel click to
   anything other than the default, then pasting in Win32
   Emacs doesn't work at all (IIRC).
   http://www.cygwin.com/ml/cygwin-xfree/2003-07/msg00252.html

This just started happening, after I updated my mouse driver. I tried
rolling
back the driver - didn't help. I downloaded a new driver - didn't help. I
see
the problem even with different (Intellimouse) mice.

Symptom: When I click the wheel button (`mouse-2' for Emacs), the first
click is
intercepted by Windows and displays the autoscroll pointer. I must click it
again to get Windows to pass the mouse event to Emacs. E.g., if I do `C-h k'
and
then click the wheel button, the Windows autoscroll pointer appears and
Windows
initiates autoscrolling. If I then click it again, Emacs receives the
`down-mouse-2' event and I see the output from `describe-key'.

As I say, this is a new problem for me, and I can't seem to turn it off. It
always just worked before. I see the same problem in all Emacs versions, and
-Q
or not.

In the mouse properties box, I have the Wheel Button set to its default
value of
AutoScroll. I tried setting it to None, but then no event is sent to Emacs
at
all. I tried setting it to Paste, but that sends a `C-v' to Emacs.

I tried setting it to Redo, and that sends `C-y' to Emacs, but that's not
what I
want (and, besides, I don't want the middle mouse button to be Redo in other
apps). I want to be able to bind `down-mouse-2' to a particular command, and
have Emacs actually receive `down-mouse-2' and `mouse-2' events, not `C-y'.

Help appreciated.



MouseWheelSettingForEmacs.jpg (33K) Download Attachment
MouseDriverProperitesForEmacs.jpg (43K) Download Attachment

RE: Re: mouse wheel button problem on Windows

by Drew Adams :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Raymond,

> I think this is related to your mouse driver.
> My mouse driver is set to use the "_Connected Device" IntelliMouse.
>
> I have checked "Enable program-specific settings," in which
> the Wheel Button
> is disabled for Gnu Emacs.  It is this program-specific
> feature that might
> enable you to have the mouse work normally for all
> applications except Emacs
> and do something else for Emacs.
>
> I'm still using: GNU Emacs 22.0.50.1 (i386-mingw-nt5.1.2600)
> of 2006-03-21 on YAMALOK
>
> I also attached a screenshot of both the program-specific
> setting dialog and the driver properties.

Yes, my driver is similar to yours. It is a bit older, but when I try to update
it, a message tells me that no better fit can be found. So I guess it is
appropriate.

I too tried enabling program-specific settings and specifying `runemacs' and
`gnuclientw' as using `None' for Wheel button (`Disabled' is not one of the
possibilities I see).

That doesn't solve the problem: it yanks, but it still turns on autoscroll - the
same as if I just assign Auto Scroll.

Something I don't understand is that if I disable program-specific settings and
assign the wheel button to `None' at the general level, then no event at all is
sent to Emacs from the wheel button, but if I set the wheel button to `None' as
a program-specific setting for `gnuclientw' or `runemacs', then it apparently
has no effect (still yanks and turns on autoscrolling).

I really don't understand this. It's always worked fine for me before, until
this started happening.

I'm still hoping to hear from one of the Emacs developers who is a Windows
specialist, such as Jason, but so far I've haven't had any luck.

Anyway, thanks for your feedback. Unfortunately, I had already tried what seems
to be the closest thing I have in my version of Windows (XP, SP3). Thx - Drew

FWIW, these are the possible choices for the Wheel Button setting (likewise, for
the other buttons). "None" is the closest I have to "Disabled".

Click
Right-click
Auto Scroll (default)
Back
Forward
Keystroke...
None
Alt
Backspace
ClickLock
Clipboard (task pane)
Close
Copy (Ctrl+C)
Ctrl
Cut (Ctrl+X)
Delete
Double-click
Enter
Esc
Explore My Computer
F1 (Help)
F5 (Refresh)
Favorites folder
Find Computer
Find Files or Folder
Insert Comment
Maximize
Minimize
New (task pane)
Paste (Ctrl+V)
Print Screen
Recall window (Alt+Tab)
Redo (Ctrl+Y)
Run...
Search (task pane)
Select All (Ctrl+A)
Shift
Show/Hide Desktop
Spacebar
Start Menu
Tab
Task Pane
Undo (Ctrl+Z)




Re: Re: mouse wheel button problem on Windows

by Jason Rumney-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Drew Adams wrote:
> Something I don't understand is that if I disable program-specific settings and
> assign the wheel button to `None' at the general level, then no event at all is
> sent to Emacs from the wheel button, but if I set the wheel button to `None' as
> a program-specific setting for `gnuclientw' or `runemacs', then it apparently
> has no effect (still yanks and turns on autoscrolling).
>  

There is nothing surprising about that, neither runemacs nor gnuclientw
are involved with mouse wheel processing at all. Only emacs.exe itself.





RE: Re: mouse wheel button problem on Windows

by Drew Adams :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> > Something I don't understand is that if I disable
> > program-specific settings and assign the wheel button to
> > `None' at the general level, then no event at all is
> > sent to Emacs from the wheel button, but if I set the wheel
> > button to `None' as a program-specific setting for
> > `gnuclientw' or `runemacs', then it apparently
> > has no effect (still yanks and turns on autoscrolling).
>
> There is nothing surprising about that, neither runemacs nor
> gnuclientw are involved with mouse wheel processing at all.
> Only emacs.exe itself.

OK. If I set emacs.exe to `None' for the wheel button, then the effect is the
same as setting it to `None' at the general level: no event at all is sent to
Emacs from the wheel button. `C-h k' sees nothing and just waits until I hit
some other key.

Can you help? How can I get Windows to send an event to Emacs for a wheel-button
click (press), and not have Windows also turn on autoscroll? All I want is the
normal `down-mouse-2' followed by `mouse-2' events.




Re: Re: mouse wheel button problem on Windows

by Jason Rumney-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Drew Adams wrote:

> Can you help? How can I get Windows to send an event to Emacs for a wheel-button
> click (press), and not have Windows also turn on autoscroll? All I want is the
> normal `down-mouse-2' followed by `mouse-2' events.
>  

Short of changing the mouse driver to a generic driver that does not try
to be "intelligent" with the scroll wheel, I don't know how to solve this.




Parent Message unknown Re: mouse wheel button problem on Windows

by Raymond Zeitler-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I was going to agree with this.  But then I noticed that my driver is set
for an exception on runemacs.exe.  (I had to look in the registry to find
this.)

But before refuting Jason I decided to be daring and remove exceptions
completely.  The result -- even after restarting the computer, Emacs yanks
when I press the scroll wheel, even though the driver is set to AutoScroll.
And C-h k reports:

<mouse-2> (translated from <down-mouse-2> <mouse-2>) at that spot runs the
command mouse-yank-at-click which is an interactive compiled Lisp function
in `mouse.el'.

I then set an exception for emacs.exe to disable clicking the scroll wheel.
This results in no action in Emacs when I click the wheel.

I'm participating in this thread because I do recall having a mouse wheel
problem with an earlier version of Emacs (perhaps 20.7?).  But it seems that
Emacs should be able to handle the mouse wheel click event without the need
for any exception from the driver.

Drew, let me know if you can think of something you want me to try on my
system.  I'll also check this out on my home computer.

- Ray

-----Original Messages-----

Date: Wed, 23 Sep 2009 14:53:34 +0800
From: Jason Rumney <jasonr@...>
Subject: Re: [h-e-w] Re: mouse wheel button problem on Windows
To: Drew Adams <drew.adams@...>
Cc: help-emacs-windows@..., 'Raymond Zeitler' <r.zeitler@...>

Drew Adams wrote:
> Something I don't understand is that if I disable program-specific
settings and
> assign the wheel button to `None' at the general level, then no event at
all is
> sent to Emacs from the wheel button, but if I set the wheel button to
`None' as
> a program-specific setting for `gnuclientw' or `runemacs', then it
apparently
> has no effect (still yanks and turns on autoscrolling).
>  

There is nothing surprising about that, neither runemacs nor gnuclientw
are involved with mouse wheel processing at all. Only emacs.exe itself.


---------------------------------------
Date: Wed, 23 Sep 2009 07:10:55 -0700
From: "Drew Adams" <drew.adams@...>
Subject: RE: [h-e-w] Re: mouse wheel button problem on Windows
To: "'Jason Rumney'" <jasonr@...>
Cc: help-emacs-windows@..., 'Raymond Zeitler' <r.zeitler@...>

> > Something I don't understand is that if I disable
> > program-specific settings and assign the wheel button to
> > `None' at the general level, then no event at all is
> > sent to Emacs from the wheel button, but if I set the wheel
> > button to `None' as a program-specific setting for
> > `gnuclientw' or `runemacs', then it apparently
> > has no effect (still yanks and turns on autoscrolling).
>
> There is nothing surprising about that, neither runemacs nor
> gnuclientw are involved with mouse wheel processing at all.
> Only emacs.exe itself.

OK. If I set emacs.exe to `None' for the wheel button, then the effect is
the
same as setting it to `None' at the general level: no event at all is sent
to
Emacs from the wheel button. `C-h k' sees nothing and just waits until I hit
some other key.

Can you help? How can I get Windows to send an event to Emacs for a
wheel-button
click (press), and not have Windows also turn on autoscroll? All I want is
the
normal `down-mouse-2' followed by `mouse-2' events.






RE: Re: mouse wheel button problem on Windows

by Drew Adams :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> I was going to agree with this.  But then I noticed that my
> driver is set for an exception on runemacs.exe.  (I had to
> look in the registry to find this.)
>
> But before refuting Jason I decided to be daring and remove exceptions
> completely.  The result -- even after restarting the
> computer, Emacs yanks when I press the scroll wheel, even though
> the driver is set to AutoScroll.
> And C-h k reports:
>
> <mouse-2> (translated from <down-mouse-2> <mouse-2>) at that
> spot runs the command mouse-yank-at-click which is an
> interactive compiled Lisp function in `mouse.el'.
>
> I then set an exception for emacs.exe to disable clicking the
> scroll wheel. This results in no action in Emacs when I click
> the wheel.
>
> I'm participating in this thread because I do recall having a
> mouse wheel problem with an earlier version of Emacs (perhaps
> 20.7?). But it seems that Emacs should be able to handle the
> mouse wheel click event without the need
> for any exception from the driver.
>
> Drew, let me know if you can think of something you want me
> to try on my system.  I'll also check this out on my home computer.

Thanks for the info, Ray. It sounds like you've confirmed what I found. `None'
(`Disabled' in your version), at any level (general or just for `emacs.exe')
means no event is sent to Emacs.

But of course for you it works. ;-) As it did for me, until recently. A setting
of AutoScroll works for you, and it used to work for me. For me, a setting of
AutoScroll still yanks, but it also initiates autoscroll.

Guess I'll need to find a way to replace the driver I have with a generic one.
But I'm not sure how to do that.

Thx - Drew




RE: Re: mouse wheel button problem on Windows

by Drew Adams :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I found a solution to my mouse wheel-button problem, in case it helps others. My
mouse software is MS Intellimouse Explorer 3.0.

It turns out that there is a setting under the `Wheel' tab that actually affects
the wheel button also. Nothing I changed in the `Wheel Button' field of the
Buttons tab had any effect by itself, but this solved the problem:

1. On the `Buttons' tab, under `Wheel Button', choose `Auto Scroll'. (This is
needed, for some reason.)

2. On the `Wheel' tab, under `Wheel Troubleshooter', click the `Advanced'
button.

3. Choose the radio button `Only disable IntelliPoint wheel support for the
following programs:'

4. Click `Add', navigate to your Emacs `bin' folder and choose `emacs.exe'.

5. Repeat step four for each Emacs version that you have installed (and use).
Likewise, repeat it for `gnuclientw.exe', if you use that.

6. Sacrifice a virgin toad (any species, AFAICT) under the first full moon in
February, after playing tennis with it for 16 hours and convincing it to eat
half a bacon, lettuce, and tomato sandwich with rye toast. (The rye toast was
the hard part.)

Nothing else seemed to do the trick, but that did.

HTH.