Stefan Klinger <fvwm....@stefan-klinger.de> writes:

> Dan, thanks for helping me here.  I have to admit: I'm confused.
>
> Dan Espen (2018-Nov-07, excerpt):
>> >> You might want run "xev" and press mouse 1.
> [...]
>> The part I was after is this:
>>
>> ButtonRelease event, serial 33, synthetic NO, window 0x1200001,
>>     root 0x1cf, subw 0x0, time 3086503, (119,138), root:(766,139),
>>     state 0x100, button 1, same_screen YES
>>           ^^^^^
> [...]
>
> So we both agree that xev thinks the Window key is *not* held down
> (which is a correct observation), since otherwise the state would
> contain 0x40.  Right?

Right.

>> I did this:
>>
>> FvwmCommand 'mouse 1 A 4 Beep'
>>
>> Then I used xev to capture the press with the "Windows" key held down:
>>
>> ButtonRelease event, serial 36, synthetic NO, window 0x2e00001,
>>     root 0x24d, subw 0x0, time 1095056384, (125,80), root:(1539,1094),
>>     state 0x140, button 1, same_screen YES
>>           ^^^^^
> [...]
>
> Yes, I observe the same, and the beep occurs where it should.  I've
> also noted that the `ButtonPress` event, which should have occurred
> just prior to this `ButtonRelease` is not listed by xev anymore,
> because it is captured by FVWM to make the Beep.

Fvwm should only Beep when the modifier key is held down.

> I've verified that the jumping effect also persists with the binding
> to `Beep`.  And pushing this further, also when binding to `nop`, the
> no-operation.  I.e., *all* of the following lines exhibit the error:
>
>     $ FvwmCommand 'mouse 1 A 4 Beep'        # beep
>     $ FvwmCommand 'mouse 1 A 4 moveOrRaise' # bind
>     $ FvwmCommand 'mouse 1 A 4 nop'         # no-op
>
> And only if there is *no* binding, i.e., after
>
>     $ FvwmCommand 'mouse 1 A 4'
>
> the error does not occur.  So it is related to having the binding, not
> to what the binding refers to.  But anyways, since you've asked:
>
>     AddToFunc moveOrRaise
>     + C raise
>     + M move

I added the function, no change on my end, still can't create the
problem.  Based on your report, the function doesn't matter, only
the binding.

So, maybe I'm not doing the right thing to see the problem.
I've opened darktable, let it import some images, then I double click
on one of them.  I then click on the pencil to the left of the image
and I draw a circle on the image.  Then I can use mouse 1 to move
the circle around.   The circle moves smoothly and the mouse pointer
doesn't jump around.

>> So, I'm unclear why Fvwm is reacting to mouse 1 on your system
>> as if modifier 4 is active.
> [...]
>
> That's what I don't understand: What is it that makes you say FVWM
> would act as if mod4 (linked to my Windows key) is active when
> pressing Button 1?  Note that, when interacting with darktable, I do
> *not* hold down the Windows key.
>
> I can imagine that your statement comes from the reasonable assumption
> that any binding to `mouse 1 A 4` could only have an effect if FVWM
> sees mod4.  Maybe that binding to `mouse 1 A 4` triggers a bug that
> manifests only later, in a pretty funny way, and only with Darktable?

I'm not really familiar with Fvwm key binding matching code but I'm
willing to look.  But first I think I need to be able to create
the problem.

-- 
Dan Espen

Reply via email to