This is a .NET Core virtual KVM tool that allows you to use your keyboard and mouse on another computer as-if it was connected directly. This is achieved by implementing low-level OS hooks into events, tracking mouse deltas, and keeping track of a calculated virtual coordinate to determine your current screen. Input is captured, potentially canceled, and replayed on the relevant client. Client-server is handled over HTTP with messagepack and SignalR. UDP would obviously be more performant than HTTP, but it seems good enough on my network...
This app is developed against a preview build of .NET Core 2.1 and SignalRCore. https://github.com/aspnet/Home
- Follow the instructions for setting up a preview dotnet core SDK.
- Run Server. You may need to run as Admin for Kestrel to bind? Also may need to do some netsh stuff?
- Run Clients. Must be as Admin to hook low-level. IP address of server should be autodiscovered using UDP broadcast messages.
I have a list of issues in the client project that i'm working through. Also need SSL.