Logitech T650 and fvwm (or: how to capture Super_L?)

I have a new T650 touchpad from Logitech which I am quite pleased with. Now I want to make most out of it by binding the various gestures. At the moment my setup looks like this:

# Touchpad gestures
#Mouse 4                        A       N       Nop                             # 2 fingers up (continuous events)
#Mouse 5                        A       N       Nop                             # 2 fingers down (continuous events)
#Mouse 6                        A       N       Nop                             # 2 fingers left (continuous events)
#Mouse 7                        A       N       Nop                             # 2 fingers right (continuous events)

Key d                           A       4       Popup "RootMenu"                # 3 fingers down (single event)
# ???                                                                           # 3 fingers up (single event) - Super_L
#Mouse 8                        A       N       Nop                             # 3 fingers to the left (single event)
#Mouse 9                        A       N       Nop                             # 3 fingers to the right (single event)

# ???                                                                           # slide in from the top
Key XF86TouchpadOff             A       A4      Nop                             # slide in from the right (single event)
Key BackSpace                   A       C4      Nop                             # slide in from the left (single event)

All the “nop”-lines do work, I just have not yet decided if and what I want to do with them.

Problematic is “3 fingers up” which sends (quite braindead) only a “Super_L”:

KeyPress event, serial 40, synthetic NO, window 0x2200001,
    root 0x6a, subw 0x0, time 658444698, (467,887), root:(525,1022),
    state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x2200001,
    root 0x6a, subw 0x0, time 658444728, (467,887), root:(525,1022),
    state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

I use (of course) Super_L as a modifier elsewhere (and especially for the “3 fingers down” event of the very same touchpad). Is it somehow possible to capture a modifyer-only activation here?

The second problem is the “slide in from the top” which in xev creates the following output:

KeyPress event, serial 41, synthetic NO, window 0x2200001,
    root 0x6a, subw 0x0, time 658601013, (547,420), root:(605,555),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x2200001,
    root 0x6a, subw 0x0, time 658601013, (547,420), root:(605,555),
    state 0x4, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 41, synthetic NO, window 0x2200001,
    mode NotifyGrab, detail NotifyAncestor

FocusOut event, serial 41, synthetic NO, window 0x2200001,
    mode NotifyUngrab, detail NotifyPointer

FocusIn event, serial 41, synthetic NO, window 0x2200001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 41, synthetic NO, window 0x0,
    keys:  106 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 41, synthetic YES, window 0x2200001,
    root 0x6a, subw 0x810872, time 658601043, (605,555), root:(605,555),
    state 0x44, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic YES, window 0x2200001,
    root 0x6a, subw 0x810872, time 658601043, (605,555), root:(605,555),
    state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

I understand the Control_L + Super_L modifier, but what do I do with the “FocusOut-FocusOut-FocusIn-KeymapNotify” stuff?

Any ideas or suggestions?

Hi,

I haven’t any experience with mapping mouse gesture in fvwm but perhaps you could use an external tool for configuring the base like described here. Or you could find here something.

Have you checked the “3 fingers up” in a DE environment? What says xev there?

– Thomas –