Skip to main content

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.Usage.button(medius.Button.LEFT))  # force a usage down
    with dev.input_events(medius.CatchFilter.all_input()) 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.

Download files

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

Source Distribution

medius-3.2.0.tar.gz (274.2 kB view details)

Uploaded Source

Built Distributions

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

medius-3.2.0-py3-none-win_amd64.whl (329.7 kB view details)

Uploaded Python 3Windows x86-64

medius-3.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (865.1 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

medius-3.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (861.0 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

medius-3.2.0-py3-none-macosx_11_0_x86_64.whl (433.3 kB view details)

Uploaded Python 3macOS 11.0+ x86-64

medius-3.2.0-py3-none-macosx_11_0_arm64.whl (411.4 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: medius-3.2.0.tar.gz
  • Upload date:
  • Size: 274.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for medius-3.2.0.tar.gz
Algorithm Hash digest
SHA256 9137692eea84972aa08c71793e277785195362ae193e39ea82428d6775f928d4
MD5 c347301aeadd97e0feaf1fc9e0aebc40
BLAKE2b-256 03df1c503a311850aae2c4e943b69f7945e23f1dc1d0a243c7ce821be203ac58

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.2.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-3.2.0-py3-none-win_amd64.whl.

File metadata

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

File hashes

Hashes for medius-3.2.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d5c8592845a33097e5ad2fa29c7c617f8d11d2d09dfd3c190a8677adb77460e3
MD5 bc7a2f80347c69d391a029495d9946bf
BLAKE2b-256 7ad598adf01cefd0b373ace2974c75e9948a20d584c9373d1fba8ce694b0fb8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.2.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-3.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for medius-3.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6f5fb025d64830253fb818095d9adece9f7a4f6d87f33de4e3f030944c8d0c8
MD5 1580b2d24c243390c4dafd3476ff6120
BLAKE2b-256 59d3b05029ddbb2186754045f3dc5e19e57527f4eac01a2235ea9b3be33edea7

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.2.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-3.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for medius-3.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 09c080d1ef2daef59a5e198611a347dd0446c20469e3f998d8ea35bab3f86c9d
MD5 a5e9c18404ec3f9083b6d8ca3a78af6d
BLAKE2b-256 5bb3669afc1a0b0e9a4e7930a88449876ac396e9997c4a47544c2eff25e40cde

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.2.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-3.2.0-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for medius-3.2.0-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4e9340760e790d85415272943b58faab3c63554ddf03e0d22632a5249b8f3c12
MD5 c98c82a9077410a3093e41b2dca78817
BLAKE2b-256 18a38be3084c7c4d07aa6b53ef3c87ea063fda33c4156c34f21e36a6335aa9f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.2.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-3.2.0-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: medius-3.2.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 411.4 kB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for medius-3.2.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 675b83ee1b97b001e42f2f404cd7c2bc0e837c3593835a19f4cc083f31af8d5f
MD5 addd3b2df991c5a7bf85711c2c965f75
BLAKE2b-256 977b7befc911cf0ee93230b8f00e9be78243de3c93f8aaa2effee67373260849

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.2.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.

Release history Release notifications | RSS feed

3.3.1

6 files

3.3.0

6 files

This release

3.2.0 This release

6 files

3.1.0

6 files

3.0.1

6 files

3.0.0

6 files

2.3.0

6 files

2.2.1

7 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