Skip to main content

Crate schengen

Crate schengen 

Source
Expand description

§Schengen

A Rust library for the implementation of Synergy/Deskflow for mouse and keyboard sharing.

This crate provides the API for building a Synergy/Deskflow client or server and the protocol for parsing messages.

§Deskflow vs Synergy

There are four different implementations that you should be aware of:

These four share the same code with some being direct descendents, DeskFlow had patches mostly ported over from Input-Leap. The only real difference between Synergy and Barrier on the protocol level seems to be in the Hello message of the handshake.

Barrier, Input-Leap and Deskflow are protocol compatible and announce themselves via the protocol::MessageHelloBarrier. For the purpose of this crate, Synergy and Deskflow are treated as identical but since Synergy is the original, the term “Synergy” is used for the protocol.

Long term this crate will more likely stay compatible with Deskflow though.

§The name “schengen”

The Schengen Area is the area in Europe where there are no border controls. You can move from one country into another without being stopped at the border. That seems appropriate enough for a project that lets you move between hosts.

Modules§

client
Schengen Client API
protocol
Schengen Protocol
server
Schengen Server API