You are not logged in.

#1 2010-07-23 23:49:43

Malstrond
Member
From: Germany
Registered: 2009-06-03
Posts: 98

xf86-input-wacom: localization problem with gesture X11 event output

Hi, I recently bought a Lenovo X201 tablet, it has a ISDV4-type wacom serial digitizer, which is multitouch-capable. It is managed by xf86-input-wacom, which works so far. You can enable multitouch gestures for horizontal/vertical scrolling and zooming (pinch). The exact serial tablet id is 0xE3.
Using xev I can see that the scrolling gestures produce the correct mouse button 4/5 events.
But the the decrease zoom gesture generates [CTRL_L ]+[ß], example xev log:

KeyPress event, serial 42, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6543749, (118,279), root:(838,494),
    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 42, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6543749, (118,279), root:(838,494),
    state 0x4, keycode 20 (keysym 0xdf, ssharp), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 2 bytes: (c3 9f) "ß"
    XFilterEvent returns: False

KeyRelease event, serial 42, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6543749, (118,279), root:(838,494),
    state 0x4, keycode 20 (keysym 0xdf, ssharp), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 42, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6543749, (118,279), root:(838,494),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

and the increase zoom gesture generates [CTRL_L]+[SHIFT_L]+[`], example xev log:

KeyPress event, serial 39, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6733876, (377,187), root:(487,328),
    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 39, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6733876, (377,187), root:(487,328),
    state 0x4, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 39, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6733876, (377,187), root:(487,328),
    state 0x5, keycode 21 (keysym 0xfe50, dead_grave), same_screen YES,
    XLookupString gives 1 bytes: (00) ""
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: True

KeyPress event, serial 39, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6733876, (377,187), root:(487,328),
    state 0x5, keycode 0 (keysym 0x60, grave), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 1 bytes: (60) "`"
    XFilterEvent returns: False

KeyRelease event, serial 39, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6733876, (377,187), root:(487,328),
    state 0x5, keycode 21 (keysym 0xfe50, dead_grave), same_screen YES,
    XLookupString gives 1 bytes: (00) ""
    XFilterEvent returns: False

KeyRelease event, serial 39, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6733876, (377,187), root:(487,328),
    state 0x5, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 39, synthetic NO, window 0x1600001,
    root 0xad, subw 0x0, time 6733876, (377,187), root:(487,328),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

The reason for this that I use the "de" X keyboard variant (QWERTZ). If I switch to us layout, + and - are generated instead of ` and ß and zooming works.
Is there any way I can remap this to [CTRL_L]+ mouse button 4/5 (=scroll wheel up/down), but only the combination? I've done some basic xmodmap stuff, but this seems a bit complicated.

There is information on the internet on how to change the actual generated events with xsetwacom for external USB drawing tablets, but I wasn't able to replicate that with the model used in my screen, for example trying to modify the attribute AbsWUp results in "Property 'Wacom Wheel Buttons' does not exist on device." These events seem to be hardcoded.

Offline

Board footer

Powered by FluxBB