Skip to main content

Python bindings for the medius transparent mouse passthrough box

Project description

medius

Python bindings for medius, custom firmware and a control library for MAKCU mouse-passthrough boxes.

A MAKCU box sits inline between a mouse and a PC: the real mouse passes through to the PC while your program injects movement, buttons, scroll, and keystrokes over USB-serial. This package drives the box from Python. It's a ctypes wrapper over the medius C ABI with no runtime dependencies, and the wheel bundles the native library, so pip install needs no Rust toolchain.

Full documentation is at medius.k4tech.net.

Install

pip install medius

Platforms without a prebuilt wheel fall back to the source distribution, which builds the library and needs a Rust toolchain.

Usage

import medius

with medius.Device.find() as dev:
    print(dev.query_version())
    dev.move_rel(100, -50)            # relative move
    dev.press(medius.Button.LEFT)     # force a button down
    with dev.catch_events(medius.CatchMask.ALL) as events:
        for event in events:          # the user's real input, live
            ...

Calls are synchronous and each sends one firmware frame; failures raise MediusError. The API covers mouse, keyboard, and media control, plus catching physical input. See medius.k4tech.net for the full reference.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

medius-2.3.0.tar.gz (122.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

medius-2.3.0-py3-none-win_amd64.whl (234.2 kB view details)

Uploaded Python 3Windows x86-64

medius-2.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (771.3 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

medius-2.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (769.6 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

medius-2.3.0-py3-none-macosx_11_0_x86_64.whl (337.9 kB view details)

Uploaded Python 3macOS 11.0+ x86-64

medius-2.3.0-py3-none-macosx_11_0_arm64.whl (329.0 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file medius-2.3.0.tar.gz.

File metadata

  • Download URL: medius-2.3.0.tar.gz
  • Upload date:
  • Size: 122.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for medius-2.3.0.tar.gz
Algorithm Hash digest
SHA256 7a10d5dc6a3f7d06e4290d5cc3fad79c283ee1a9367b25c7a59813dd99e5032e
MD5 21d1eb39e9fd0e20fbf4978fa91ffe15
BLAKE2b-256 e9f01b38623955109b543038017b04a52af48d1e9a6c3344ea57083295dad041

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-2.3.0.tar.gz:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-2.3.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: medius-2.3.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 234.2 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for medius-2.3.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0d6955fae6496be922f54a6885cf4e436b6d80671a3eb2cf6e674a42eb61d31d
MD5 5b733d6919eb23b518bcf8c1c05baebf
BLAKE2b-256 0dd4f232941aaaa1f956e157040766513d5d6a4041a24fea7359d2c18ff8c2cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-2.3.0-py3-none-win_amd64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-2.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for medius-2.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31826196ec991c4efc8520a06c8787e4074318cb302e0a1822844d5f12075f4a
MD5 4febc929b5060d6a874c3f1e961868fa
BLAKE2b-256 a31b89f8ccb618a07fab7c886346b9dd4af199942697b633f5c59b473634bcaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-2.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-2.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for medius-2.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4134690dbb4343be9f913359810550a647bad853153627436a4c299aa4bc74d5
MD5 89a51f94e95a8142f626f649e9551be5
BLAKE2b-256 f27c152dcbe9248a6e70143296f8de1b5313334a9b2402d24d47a23920cd605f

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-2.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-2.3.0-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for medius-2.3.0-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 e6c44d09839102ad5ca80d5d78047f26bc3f9057bc5c7c8a3fcc80caed8919ef
MD5 223b1e9cf9d04775451540570b906fd6
BLAKE2b-256 4db505a876cb97f8a4b439f123079e756a41e479f3802ad954b94f4eeb754d46

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-2.3.0-py3-none-macosx_11_0_x86_64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-2.3.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for medius-2.3.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0f79ebffc42e98000d6dbd45b482a4736eb6c4161134c2581ed3ab70011def1
MD5 9ac49f20451a823451c27349be27aa50
BLAKE2b-256 6f0c9ff13d291c7ae2bad2eda060f6ad064ee388b5e3bdca7a6834dea189e068

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-2.3.0-py3-none-macosx_11_0_arm64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page