erjiang / huion-keys

Linux program to create custom bindings for Huion tablet hotkeys
GNU General Public License v3.0
13 stars 4 forks source link

Scroll strip sends unwanted keys #3

Open erjiang opened 4 years ago

erjiang commented 4 years ago

I understood. xdo, only understand coma (for ,) and perod (for .)

It works partially, on my desktop: for exemple if I set the slider to

scroll_up=comma
scroll_down=period

And I test it in a terminal, I have the following answers:

..6.,,,,666666.6668,8,...8,8666..6......6,888,6.6..,,,,,8,8...

some 6 and 8 are added to commas and periods It's probably the same problem than with keyse 2.3,4 that few times send the good signal. the same way, the first button sometime send v (I have set), some time, left mouse button, and so select text on terminal).

Originally posted by @Popolon in https://github.com/erjiang/huion-keys/issues/1#issuecomment-720160692

erjiang commented 4 years ago

@Popolon can you answer these questions about this problem?

  1. What is your config file? (Post it as an attachment.)
  2. What debugging information is printed when you get these 6s and 8s?
  3. What does the scroll strip do when huion_keys is not running?
Popolon commented 4 years ago

Sorry, next time I will open a separate ticket. 1.What is your config file? (Post it as an attachment.) huion_keys.conf.txt

I needed to rename it .conf.txt else github refuse it.

  1. What debugging information is printed when you get these 6s and 8s?

    Got button scroll_down
    Sending b'period'
    

    Same information when it works and doesn't work.

  2. What does the scroll strip do when huion_keys is not running? Nothing

erjiang commented 4 years ago

@Popolon I tried out your config file on my tablet and wasn't able to reproduce the problem. But, since you said,

the same way, the first button sometime send v (I have set), some time, left mouse button, and so select text on terminal).

that could be because your X driver is still sending those mouse events. My program does not stop the normal X events from your tablet, so you may want to disable them.

If you are using the wacom X driver for your tablet, you can do this:

DEVICE="Tablet Monitor Pad pad"
xsetwacom set "$DEVICE" Button 1 0
xsetwacom set "$DEVICE" Button 2 0
xsetwacom set "$DEVICE" Button 3 0

and so on. It's most important to disable buttons 1, 2, and 3 because those will trigger left click, middle click, and right click.

Popolon commented 4 years ago

it looks like cleaning those 3 buttons entries resolved the problem, for them. I generally set them by a shell script. I probably didn't set them today ? There was some bug report linked to XFCE and keys too (one that conflict with gromit (a tool to draw on screen, helpful for screencast or conferences).

It's late here, I will try tomorrow, similar solution for strip, thank you for your great help.

Popolon commented 4 years ago

I tried to clean every Strip*, AbsWheel, RelWheel, but doesn't change anything. But I never managed to set them with xsetwacom anyway.

If that was the case, then, when your script wasn't started I would think that Digimend driver partially manage them and send them elsewhere ? Perhaps due to the usage of a device with similar properties, but assigning them elsewhere. Perhaps a bug in xdo ? I will try it again under another D.E.

Popolon commented 4 years ago

The problem is the same with LXQt.

erjiang commented 3 years ago

Thinking about this some more, you might work around this problem by using the wacom X driver with the digimend driver (assuming you are running X, not Wayland). That way you can disable the buttons using xsetwacom so the digimend driver is not triggering other keys.

Setup should be like the steps listed under "Non-Wacom tablets" here: https://wiki.archlinux.org/index.php/Wacom_tablet#Non-Wacom_tablets