Help writing a virtual touchpad
Hello, I was thinking about creating a virtual touchpad device for Linux I never worked on such low level software, so I feel kinda lost Can someone please point me where should I start? Andrea ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Dell Totem support / libinput bug: Event for missing capability CAP_POINTER on device "Advanced Silicon S.A. CoolTouch® System System Multi Axis"
Hi all, I got a Dell Canvas+Totem widget (on clearance, they are discontinued), and got the following error message when running `libinput debug-events`: libinput bug: Event for missing capability CAP_POINTER on device "Advanced Silicon S.A. CoolTouch® System System Multi Axis" The recorded sequence is "drop the totem on the screen, click it (this is where the error shows up), lift it again", recorded using libinput record /dev/input/event9 -o dell-totem-drop-click-lift-20210510.yml Is there anything more I can do to help? I'd really like to use the totem as a secondary mouse/tool, but so far, it "only" gets detected as a primary mouse (without configuration or anything, so that's really great already). -max dell-totem-drop-click-lift-20210510.yml Description: application/yaml ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel
Re: Help writing a virtual touchpad
On Sat, May 08, 2021 at 12:45:24PM +0200, Andrea Somaini wrote: > Hello, > I was thinking about creating a virtual touchpad device for Linux > I never worked on such low level software, so I feel kinda lost > Can someone please point me where should I start? The best option you have at this point is to emulate an evdev node that behaves like a touchpad. That's both straightforward and complicated at the same time. The code itself is trivial (use python-libevdev, check the examples directory) but getting touchpads right in evdev can be a bit tricky - you really need to know the details of the evdev protocol. If you look at the libinput test devices (e.g. test/litest-device-synaptics-rmi4.c) you get a **rough** idea of the events you need to send for a finger down event and a finger move event. You still need to handle BTN_TOOL_DOUBLETAP, etc. What I recommend is: use libinput record to record 1, 2, 3... finger interactions on your normal touchpad to get the set of data sent, then emulate that device. Axis ranges and coordinates can generally be changed at-will, but the set of events within each frame has to be correct (or correct enough) to be processed as expected. https://who-t.blogspot.com/2016/09/understanding-evdev.html has some explanations too. Cheers, Peter ___ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel