You are not logged in.

#1 2023-02-24 21:19:33

PeerK
Member
Registered: 2020-06-24
Posts: 45

Access buttons on XP-Pen graphic tablet (Arch Linux, KDE)

Hi all,

I bought an XP-Pen Artist Pro 15.6 and try to re-map the 8 express keys. I used this posting, to adept my configuration:

https://www.davidrevoy.com/article842/r … o-on-linux

After creation of

/usr/share/X11/xorg.conf.d/60-xppen.conf

xinput returns in the section "Virtual core keyboard"

UGTABLET 15.6 inch PenDisplay Keyboard

ids are 10 for the keyboard, 11 for the stylus, 21 for the eraser and 9 for the mouse

Then I created

/etc/udev/hwdb.d/90-xppen.hwdb

with

evdev:input:b0003v28bdp90de0100*
 KEYBOARD_KEY_d0045=0x14c
 KEYBOARD_KEY_70005=0x2a
 KEYBOARD_KEY_700e2=0x02
 KEYBOARD_KEY_700e0=unknown
 KEYBOARD_KEY_70016=w

While the device is correctly addressed, I do not understand the mapping-syntax: I scanned the Button events with xev, but I do not know, how I translate the information to to the "KEYBOARD_KEY_XXXXXX" and where to get the proper value for a wanted key- or mouse-event.

Furthermore, with

xinput -test 11

I see an event when I press the button 2 of the stylus (button 1 is the tip itself), but I do not see any event if I press the button 3.

Can anybody give me a helping hand, how to configure these buttons?

Thank you and Kind regards,
Peer

Attachment, the xev-logging of the express keys:

KeyPress event, serial 40, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2908654, (97,86), root:(2568,1495),
    state 0x10, keycode 56 (keysym 0x62, b), same_screen YES,
    XLookupString gives 1 bytes: (62) "b"
    XmbLookupString gives 1 bytes: (62) "b"
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2908838, (97,86), root:(2568,1495),
    state 0x10, keycode 56 (keysym 0x62, b), same_screen YES,
    XLookupString gives 1 bytes: (62) "b"
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2910918, (97,86), root:(2568,1495),
    state 0x10, keycode 26 (keysym 0x65, e), same_screen YES,
    XLookupString gives 1 bytes: (65) "e"
    XmbLookupString gives 1 bytes: (65) "e"
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2911058, (97,86), root:(2568,1495),
    state 0x10, keycode 26 (keysym 0x65, e), same_screen YES,
    XLookupString gives 1 bytes: (65) "e"
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2912234, (97,86), root:(2568,1495),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2912426, (97,86), root:(2568,1495),
    state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2913298, (97,86), root:(2568,1495),
    state 0x10, keycode 65 (keysym 0x20, space), same_screen YES,
    XLookupString gives 1 bytes: (20) " "
    XmbLookupString gives 1 bytes: (20) " "
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2913442, (97,86), root:(2568,1495),
    state 0x10, keycode 65 (keysym 0x20, space), same_screen YES,
    XLookupString gives 1 bytes: (20) " "
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2914770, (97,86), root:(2568,1495),
    state 0x10, keycode 55 (keysym 0x76, v), same_screen YES,
    XLookupString gives 1 bytes: (76) "v"
    XmbLookupString gives 1 bytes: (76) "v"
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2914946, (97,86), root:(2568,1495),
    state 0x10, keycode 55 (keysym 0x76, v), same_screen YES,
    XLookupString gives 1 bytes: (76) "v"
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2915582, (97,86), root:(2568,1495),
    state 0x10, 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 0x7400001,
    root 0x6f7, subw 0x0, time 2915582, (97,86), root:(2568,1495),
    state 0x14, keycode 39 (keysym 0x73, s), same_screen YES,
    XLookupString gives 1 bytes: (13) ""
    XmbLookupString gives 1 bytes: (13) ""
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2915734, (97,86), root:(2568,1495),
    state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2915734, (97,86), root:(2568,1495),
    state 0x10, keycode 39 (keysym 0x73, s), same_screen YES,
    XLookupString gives 1 bytes: (73) "s"
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2916410, (97,86), root:(2568,1495),
    state 0x10, 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 0x7400001,
    root 0x6f7, subw 0x0, time 2916410, (97,86), root:(2568,1495),
    state 0x14, keycode 52 (keysym 0x79, y), same_screen YES,
    XLookupString gives 1 bytes: (19) ""
    XmbLookupString gives 1 bytes: (19) ""
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2916562, (97,86), root:(2568,1495),
    state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2916562, (97,86), root:(2568,1495),
    state 0x10, keycode 52 (keysym 0x79, y), same_screen YES,
    XLookupString gives 1 bytes: (79) "y"
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2917330, (97,86), root:(2568,1495),
    state 0x10, 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 0x7400001,
    root 0x6f7, subw 0x0, time 2917330, (97,86), root:(2568,1495),
    state 0x14, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2917330, (97,86), root:(2568,1495),
    state 0x1c, keycode 57 (keysym 0x6e, n), same_screen YES,
    XLookupString gives 1 bytes: (0e) ""
    XmbLookupString gives 1 bytes: (0e) ""
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2917446, (97,86), root:(2568,1495),
    state 0x1c, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2917446, (97,86), root:(2568,1495),
    state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x7400001,
    root 0x6f7, subw 0x0, time 2917446, (97,86), root:(2568,1495),
    state 0x10, keycode 57 (keysym 0x6e, n), same_screen YES,
    XLookupString gives 1 bytes: (6e) "n"
    XFilterEvent returns: False

Last edited by PeerK (2023-02-24 21:25:24)

Offline

Board footer

Powered by FluxBB