akriegman
Contributor
Contributor

Pass touchscreen, mouse, wacom stylus as different devices from Windows host to Ubuntu guest

I want to use xournal++ in an Ubuntu 20.04 VM on my Windows 10 host. I have it working, but it currently recognizes my mouse, touchscreen, and Wacom Bamboo Ink stylus all as the same device. The desired behavior is that my pen has pressure sensitivity, the eraser turns on when I press the button on my pen, and when I touch the page with my finger it scrolls instead of drawing. Currently none of these things happen, and instead all three inputs act as a mouse, drawing without pressure sensitivity.

In the xournal++ preferences there are 3 devices listed:

VirtualPS/2 VMware VMMouse (mouse)

VMware VMware Virtual USB Tablet (touchscreen)

VMware VMware Virtual USB Mouse (mouse)

By experimenting I've determined that all my inputs come through the first device. I should also note that I added the line

touchscreen.vusb.present = "TRUE"

to my .vmx file, and there were only two devices shown before I added this line. Also, I am using a Lenovo Flex 5, and my Wacom pen is a stylus with no tablet that I use directly on the screen.

So how do I get my three inputs to be separate inputs to the VM, in such a way that the pen device also passes button presses and pressure information?

 

UPDATE:

I've been messing around with xinput inside my VM. Here are all the input devices my VM is aware of:

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ VirtualPS/2 VMware VMMouse id=10 [slave pointer (2)]
⎜ ↳ VirtualPS/2 VMware VMMouse id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
   ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
   ↳ Power Button id=6 [slave keyboard (3)]
   ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)]
∼ VMware VMware Virtual USB Mouse id=7 [floating slave]
∼ VMware VMware Virtual USB Tablet id=8 [floating slave]

Those last two were originally attached to the master pointer, but I've determined that they don't do anything and I haven't bothered to reattach them. I've found that all the pointer input comes through devices 10 and 11. When I scroll with my trackpad that comes through device 11, and when I do anything else it comes through device 10.

0 Kudos
1 Reply
bluefirestorm
Virtuoso
Virtuoso

You could try adding the line

touchscreen.vusb.usePen = "TRUE"

to the vmx to see whether the a virtual stylus is recognised (not necessarily as a Wacom stylus).

0 Kudos