DIGImend / digimend-kernel-drivers

DIGImend graphics tablet drivers for the Linux kernel
GNU General Public License v2.0
1.17k stars 173 forks source link

[BUG] Huion H1060P - Express Buttons not working as intended #496

Open J2xWo opened 3 years ago

J2xWo commented 3 years ago

Hi all, everything seems to be working besides the Express buttons. I would imagine that the layout is like this:

[A] [B]                                 [A] [B]
[C] [D]                                 [C] [H]
[E] [F]     but instead its like this:  [I] [J]
[G] [H]                                 [K] [L]
[I] [J]                                 [ ] [ ]
[K] [L]                                 [ ] [ ]

The last four buttons don't write anything at all When checking each button with xsetwacom --get 'HUION Huion Tablet Pad pad' Button button-number, I get this:

❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 1
key +1 -1 
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 2
key +2 -2 
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 3
key +3 -3 
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 4
4
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 5
5
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 6
6
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 7
7
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 8
key +8 -8 
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 9
key +9 -9 
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 10
key +0 -0 
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 11
key +a -a 
❯ xsetwacom --get 'HUION Huion Tablet Pad pad' Button 12
key +b -b 

I'm not sure why its returning key +X -X for some and for others just X. Otherwise it looks how I configured it via the graphic tablet settings in the system settings. Maybe the issue is that the graphics tablet went through three upgrades? From the 1060pro -> New 1060plus -> H1060P. I got the latest one. And according to the supported tablets, the one listed is New 1060 Plus(which had a battery powered pen and SD card slot I believe. I don't know what other differences it has), so one generation before the one I got. How do I go about solving this issue I have? Thanks in advance! Oh also how do I even use/configure the 16 soft buttons at the top? I assume manually via xsetwacom --set since they aren't listed in the settings?

❯ xsetwacom --list
HUION Huion Tablet Touch Strip pad      id: 19  type: PAD       
HUION Huion Tablet stylus               id: 20  type: STYLUS    
HUION Huion Tablet Pad pad              id: 21  type: PAD  

Edit: When checking with xev i get for button A:

KeyPress event, serial 40, synthetic NO, window 0x7000001,
    root 0x1de, subw 0x7000002, time 19070274, (48,40), root:(1969,66),
    state 0x10, keycode 10 (keysym 0x31, 1), same_screen YES,
    XLookupString gives 1 bytes: (31) "1"
    XmbLookupString gives 1 bytes: (31) "1"
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x7000001,
    root 0x1de, subw 0x7000002, time 19070274, (48,40), root:(1969,66),
    state 0x10, keycode 10 (keysym 0x31, 1), same_screen YES,
    XLookupString gives 1 bytes: (31) "1"
    XFilterEvent returns: False

Button E:

KeyPress event, serial 40, synthetic NO, window 0x7000001,
    root 0x1de, subw 0x7000002, time 19344641, (40,41), root:(1961,67),
    state 0x10, keycode 18 (keysym 0x39, 9), same_screen YES,
    XLookupString gives 1 bytes: (39) "9"
    XmbLookupString gives 1 bytes: (39) "9"
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x7000001,
    root 0x1de, subw 0x7000002, time 19344641, (40,41), root:(1961,67),
    state 0x10, keycode 18 (keysym 0x39, 9), same_screen YES,
    XLookupString gives 1 bytes: (39) "9"
    XFilterEvent returns: False

Button I:

ButtonPress event, serial 40, synthetic NO, window 0x7000001,
    root 0x1de, subw 0x7000002, time 19136431, (48,40), root:(1969,66),
    state 0x10, button 13, same_screen YES

EnterNotify event, serial 40, synthetic NO, window 0x7000001,
    root 0x1de, subw 0x0, time 19136431, (48,40), root:(1969,66),
    mode NotifyGrab, detail NotifyInferior, same_screen YES,
    focus YES, state 16

KeymapNotify event, serial 40, synthetic NO, window 0x0,
    keys:  68  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   

ButtonRelease event, serial 40, synthetic NO, window 0x7000001,
    root 0x1de, subw 0x7000002, time 19136651, (48,40), root:(1969,66),
    state 0x10, button 13, same_screen YES

So it seems like button I, J, K, L correspond to button 13, 14, 15, 16.

Edit: If I manually try to set something to the keys 4-7 i get this error Unsupported offset into 'Wacom Button Actions' property.

Duduz7 commented 3 years ago

As mentioned in the READ.me section, you can't configure keys 4-7 since they are reserved to be used as the up, down, right, and left arrows