https://github.com/yshui/entangle
Forward input devices over network
https://github.com/yshui/entangle
evdev remote-control remote-device uinput
Last synced: 10 months ago
JSON representation
Forward input devices over network
- Host: GitHub
- URL: https://github.com/yshui/entangle
- Owner: yshui
- Created: 2020-11-06T18:42:53.000Z (about 5 years ago)
- Default Branch: next
- Last Pushed: 2021-02-03T14:20:00.000Z (almost 5 years ago)
- Last Synced: 2025-03-28T19:18:00.019Z (10 months ago)
- Topics: evdev, remote-control, remote-device, uinput
- Language: Rust
- Homepage:
- Size: 43.9 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# entangle
Spooky input device action at a distance
## Build
Required dependencies:
* libudev (found in systemd-libs, or libudev1)
* rust
* cargo
Build command:
```
cargo build
```
## Usage
First, you need to pair your server, which hosts the input devices; and the client, which receives the input.
To do that, run:
```
sudo cargo run --bin pair -- -l
```
on the server, which will tell you the server port. Then run
```
sudo cargo run --bin pair -- -s :
```
on the client machine, and follow the instructions.
After the machines are paired, you just need to start the server and client daemons with:
```
sudo cargo run --bin daemon -- server
```
and
```
sudo cargo run --bin daemon -- client -s
```
respectively. Input will be forwarded as long as the daemons are running.
## TODOs
* Detect server/client death, and automatic reconnect.
* Daemonization
## Known bugs
* Hot-plugging devices doesn't work currently.