Skip to main content

displaypad-driver

USB driver for the Mountain DisplayPad. Handles device connection, image uploads, key polling, and brightness control. Used internally by displaypad-lib; use that unless you need direct hardware access.

Modules

  • device.py — DisplayPad driver class.
    • DisplayPad(vendor_id, product_id, auto_connect=True) — opens USB interfaces on init unless auto_connect=False.
    • try_connect() → bool — connect without raising on failure.
    • connect() / close() — open and release USB interfaces.
    • upload_button(key_index, bgr_pixels) — upload a 102×102 BGR image to one key slot (0–11).
    • upload_panel(tiles_bgr) — upload all 12 key slots at once.
    • poll_key(timeout) → {'pressed', 'released', 'current'} — read key state.
    • set_brightness(percent) — set backlight 0–100%.
    • close() — release interfaces.
  • transport.py — opens Interface 1 (bulk pixel data via PyUSB) and Interface 3 (HID commands/events via hidapi). Not intended for direct use.
  • hotplug.py — USBHotplugMonitor and is_device_present() for detecting plug/unplug events.
  • protocol.py — VID/PID constants, packet templates, and get_pressed_keys().
  • image.py — image conversion utilities: image_to_bgr102, split_image_to_tiles, load_gif_frames, split_gif_to_tiles, make_label_icon, make_folder_icon.

For a usage example, see driver_example.py.

Acknowledgments

Performance optimizations, dual-interface transport handling, initialization handshakes, and input report interleaving were built with inspiration from ramisotti13-eng/BaseCamp-Linux.

Metadata

Release files for displaypad-driver 2.0.0

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

Source distribution (sdist)

Source distribution for displaypad-driver 2.0.0
File Size Uploaded
displaypad_driver-2.0.0.tar.gz 11.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for displaypad-driver 2.0.0
File Interpreter ABI Platform
displaypad_driver-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.2 kB

Release files / displaypad_driver-2.0.0.tar.gz

Download URL displaypad_driver-2.0.0.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c29342ede2913f37c2c55a9e7f390533f0811785ced2e5c35cab44ae09e89e13
BLAKE2b-256 checksum
How to use checksums
f5bc8f272f860f56ede43cc84083b558b86466148c813eebfaa9f22d3000e229
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.4 CPython/3.12.3 Linux/6.17.0-1022-azure

Release files / displaypad_driver-2.0.0-py3-none-any.whl

Download URL displaypad_driver-2.0.0-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cdaeeed43384d4ee2f593019b4049a9d78f07b8d2ba9544d0e50db4a3cd1df91
BLAKE2b-256 checksum
How to use checksums
3dc4be7a84453d70268e82d1633b9f48f0509f5c02ee72d90e85f4e116c3ac8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.4 CPython/3.12.3 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

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