Cross-platform Python client for KMBox Net devices
Project description
kmbox-universal
Cross-platform Python client for KMBox Net devices.
This package merges the useful parts of the public KMBox ecosystem:
- the official
kvmaibox/kmboxnetprotocol and command set - the Java ergonomics from
OceanTw/KMNet.java - the higher-level helpers from
uve192/KMBox.NET
It adds:
- pure Python UDP transport
- optional encrypted packet sending for
enc_*operations - monitor mode with keyboard/mouse state tracking
- mask/unmask helpers
- LCD, debug, VID/PID, reboot, and trace commands
- text typing helpers
- "absolute-ish" cursor movement by homing to top-left first
Install
pip install kmbox-universal
Quick Start
from kmbox_universal import KMBoxClient, HidKey
client = KMBoxClient("192.168.2.188", 6314, "39EBDC32")
client.key_press(HidKey.C, 60)
client.move(100, 0)
client.click("left")
Absolute Click Helper
KMBox Net exposes relative mouse movement, not true absolute cursor positioning. This package provides a pragmatic helper:
client.click_at(10, 10)
It first "homes" to the top-left edge, then moves to the requested target. This works best when:
- the target machine uses one monitor
- the resolution stays fixed
- pointer acceleration is disabled
Feature Coverage
- connect
- mouse move / move_auto / bezier / wheel / combined mouse packet
- left/right/middle/side buttons
- keyboard down/up/press/combo/text typing
- encrypted
enc_*mouse and keyboard commands - monitor mode
- mouse and keyboard mask/unmask
- set config, set VID/PID, reboot, debug, trace
- LCD solid fill and raw image upload
References
These repositories were used as public references while building this package:
- https://github.com/kvmaibox/kmboxnet
- https://github.com/OceanTw/KMNet.java
- https://github.com/uve192/KMBox.NET
Publish
Build:
python -m build
Test:
pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kmbox_universal-0.1.0.tar.gz.
File metadata
- Download URL: kmbox_universal-0.1.0.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1fdef1ccbff67de13df923b609ffd55ff3fbeac8852eb321922403f0cb803cb
|
|
| MD5 |
9367bbe6cd81a6c9c8ae6572e2a719e6
|
|
| BLAKE2b-256 |
e287eae64a841ca659e53e45f8320ff46e1992c642b750e5759f2218153bf781
|
File details
Details for the file kmbox_universal-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kmbox_universal-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
198065e68145d068eb918788b136282d6a475debd9e12e97c8ce8f4d9186a345
|
|
| MD5 |
7275241e6f21f630cf8a44c79a2764e5
|
|
| BLAKE2b-256 |
51c01515c0ff9b71e7a3082becf72c71bf05038e4881bc1a2fa3933eba29155a
|