[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#6256: 24.0.50; read-event in `repeat' command
From: |
Stefan Monnier |
Subject: |
bug#6256: 24.0.50; read-event in `repeat' command |
Date: |
Mon, 18 Oct 2010 21:13:19 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
>> But that doesn't work either in my tests: the problem is that the
>> last-command-event was `mouse-4' (i.e. the up event) whereas
>> read-event returns `down-mouse-4' (a subsequent read-event would
>> return the `mouse-4').
> No doubt that is a difference between Emacs on Windows and Emacs on GNU.
> BTW, the behavior you describe doesn't really seem very right for
> a mouse wheel: Why should the first wheel event be `down-'?
Under X11, wheel-up and wheel-down events are buttons, so they get
pressed&released like any other (actually, it seems to be the case for
the hardware as well, so it's not a complete invention of the X11
layer). I.e. when you turn up the wheel by 3 steps, you get 6 events.
> I would think that `down-' would only be called for when you press the
> mouse wheel (as in mouse-2 clicking using the wheel). Whatever.
You also get such a down in that case, but that's a down-mouse-2 rather
than a down-mouse-4 or down-mouse-5: pressing on the wheel is
a completely different button from "turning the wheel".
> Seems like the Emacs mouse-wheel behavior on Windows (the events) is
> generally superior to that on GNU.
Yes, tho it's mostly not Emacs's fault. X11's handling of wheels is
not great.
> What about fixing the latter so that it comes up to speed?
> Another problem is that it precludes having `mouse-4' and `mouse-5'
> correspond to actual mouse buttons.
That's a general problem under X11, yes. There are various ways to work
around the problem, but it's a source of annoyances. Typically, the
additional buttons will then appear not as mouse-4/5 but for example as
mouse-6,7,8.
>> For my case, replacing the read-event by `read-key' happens to make
>> it work (see patch below). Please confirm whether or not it fixes it
>> for you, and if it doesn't, please show me the values of
>> `repeat-repeat-char' and `evt' in the above test.
>> + (while (let ((evt (read-key)))
>> ;; For clicks, we need to strip the meta-data to
>> ;; check the underlying event name.
>> (eq (or (car-safe evt) evt)
> Yes, that works for me too. Please install it if you see no problems
> with it. Thx.
Thanks, it's installed in emacs-23, closed,
Stefan
- bug#6256: 24.0.50; read-event in `repeat' command, Stefan Monnier, 2010/10/18
- Message not available
- Message not available
- Message not available
- bug#6256: 24.0.50; read-event in `repeat' command, Drew Adams, 2010/10/19
- bug#6256: 24.0.50; read-event in `repeat' command, Stefan Monnier, 2010/10/19
- bug#6256: 24.0.50; read-event in `repeat' command, Drew Adams, 2010/10/19
- bug#6256: 24.0.50; read-event in `repeat' command, Stefan Monnier, 2010/10/20
- bug#6256: 24.0.50; read-event in `repeat' command, Drew Adams, 2010/10/20
- bug#6256: 24.0.50; read-event in `repeat' command, Stefan Monnier, 2010/10/20
- bug#6256: 24.0.50; read-event in `repeat' command, Drew Adams, 2010/10/22
- bug#6256: 24.0.50; read-event in `repeat' command, Stefan Monnier, 2010/10/22