Skip to main content

KMC - Keyboard Mouse Connect

Forward keyboard and mouse input to another machine via a software communication protocol like ethernet.

Find installation examples below for using KMC. The examples include the installation of KMC itself plus systemd service configurations to enable a seamless integration into the system start. KMC itself does not deal with a secure connection at all. Other applications like ssh tunnels can be used to create encrypted connections.

Running KMC client

With a client configuration file kmc.conf, kmc client could be executed like this:

kmc -c kmc.conf

Example installation via pipx

Using pipx, we can install kmc globally via the following command:

sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install kmc

With kmc installed globally, a systemd service could be installed into '~/.config/systemd/user/kmc.service':

# Filename: kmc.service
[Unit]
Description=KMC client
After=network.target

[Service]
Environment=DISPLAY=:0
ExecStart=/usr/local/bin/kmc -c ~/.config/kmc.conf
Restart=always

[Install]
WantedBy=default.target

The systemd service could be enabled to load automatically on boot:

systemctl --user enable kmc

Example client configuration

# Filename: kmc.conf
[display.tcp.kmc-server-host]
host = kmc-server-host-hostname
port = 12345
keymap = <shift>+<ctrl>+<up>

Running KMC server

With a server configuration file kmc-server.conf, kmc server can be executed like this:

kmc-server -c kmc-server.conf

Example installation via pipx

Using pipx, we can install kmc globally via the following command.

sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install kmc

With kmc installed globally, a systemd service could be installed.

# Filename: kmc-server.service
[Unit]
Description=KMC server
After=network.target

[Service]
Environment=DISPLAY=:0
ExecStart=/usr/local/bin/kmc-server -c /etc/kmc-server.conf
Restart=always

[Install]
WantedBy=multi-user.target

The systemd service could be enabled to load automatically on boot:

systemctl enable kmc-server

Example server configuration

# Filename: kmc-server.conf
[display.tcp.kmc-server-host]
host = 0.0.0.0
port = 12345

KMC Version 1.0.1


Release files for KMC 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for KMC 1.0.1
File Size Uploaded
kmc-1.0.1.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for KMC 1.0.1
File Interpreter ABI Platform
kmc-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 32.3 kB

Release files / kmc-1.0.1.tar.gz

Download URL kmc-1.0.1.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e34e84c7bafdc49d818f7615103abdd679c22b4263c5db6f19990447d6ff1c4d
BLAKE2b-256 checksum
How to use checksums
b994f36800c89aa3078631f2a99d039f8bfe303233241903a354399f3059c64a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / kmc-1.0.1-py3-none-any.whl

Download URL kmc-1.0.1-py3-none-any.whl
Size 20.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
082b97330f073441c7cb5fcd01602cd94d15df3d4fe59318d0abe944e12f83e4
BLAKE2b-256 checksum
How to use checksums
8c74d049da9a42fb7f8d24eca9341aa352a6d8618a9e8fca3b6bd48fd1cf64e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page