debauchee / barrier

Open-source KVM software
Other
27.22k stars 1.5k forks source link

I can't use a touchscreen to control my client computer #859

Open Username-Is-Unavailabl opened 4 years ago

Username-Is-Unavailabl commented 4 years ago

Server: Zorin OS 15.2

Client: Windows 10 2004

Barrier Version

2.3.3

Steps to reproduce bug

1.Use a 2in1 laptop with touchscreen as server and a pc as client. 2.Start barrier on both of them. 3.After they connect,try using the touchscreen of the server 2in1 to control the client. 4.The cursor will move around at a very high speed,clicking random things and going out of view,but only on the client pc.

Other info

I have tried doing this with a remote desktop program and it worked perfectly fine,but i don't want to have to stream the entire screen of my laptop and I tought a software kvm will use less bandwith and have less latency.

shymega commented 4 years ago

Thanks for reporting this.

I'm not quite sure what's going on here - which PC runs Windows/Zorin, and which laptop runs Windows/Zorn? Cheers.

Username-Is-Unavailabl commented 4 years ago

The server is a 2in1 laptop with touchscreen(asus transformer book t100ta), running Zorin OS 15.2(basically Ubuntu). The client is a windows laptop(hp pavilion gaming 15-ecxxxx...),also in the main post, sometimes, I referred to it as a pc. Also what I would like to be able to is use the touchscreen to control only the client and not be able to go back with the mouse to the server. Let me explain a bit more what I want to do and why: School is starting soon, and it will probably be on Zoom, and I want to be able to write on the touchscreen(using a pen that works on it) as if it was a real whiteboard(I am a teacher) as I it is much easier for me to write by hand than by keyboard or mouse. Right now I am trying to use Windows Remote Desktop, TeamViewer or something that has low latency and works on LAN Sorry for confusion, and thank you for help!

florianhofhammer commented 4 years ago

I am working on a similar issue in #841 which was partly caused by me also observing this behavior on GNU/Linux machines with X11. My changes include switching to the device where a touch input is detected so that the expected behavior (mouse cursor located at the position of the touch input) is achieved. The changes include the necessary code in the platform independent server and client code. However, I so far was only focusing on the X11 implementation and there might be some changes necessary to support windows devices also (i.e. trigger the corresponding event to this fix in src/lib/platform/MSWindowsScreen.cpp).

I unfortunately do not have access to devices with touch input anymore and thus cannot test any fixes. However, I'll look into it when I work on the changes requested to my PR #841 and let you know if I need help working on this issue and if yes, to what extent.

As I described above, the behavior I implemented was that the cursor in such a case jumps back to the server. I guess the behavior you're looking for is harder to achieve because some questions arise, e.g. how to behave if the screen resolutions differ and the movement vector on the server cannot be easily transformed to a movement vector on the client. I'd love to hear some opinions on that!