-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Summary
Set up DDC/CI-based control of the Dell U4025QW monitor to switch inputs (and potentially adjust other settings like brightness) from the keyboard via keybindings.
Background
The Dell U4025QW supports DDC/CI over its display connections, which allows software to read/write monitor settings (input source, brightness, contrast, etc.) using the I2C protocol. This can be driven from Linux using tools like ddcutil.
The primary use case is switching between two machines:
- weller (desktop PC) — connected to the monitor via DisplayPort
- Chromebook — connected via Thunderbolt/USB-C
The Advantage 360 Pro is BT paired to both machines on different channels. Since the Chromebook runs ChromeOS and has no access to ddcutil, all monitor control must be driven from weller.
Proposed workflow
Weller → Chromebook:
- Hit a keybinding on weller that triggers
ddcutilto switch the monitor input to USB-C - Swap the keyboard BT channel to the Chromebook (ZMK layer/macro)
- Potentially combine both into a single action
Chromebook → Weller:
- Swap the keyboard BT channel back to weller
- Hit a keybinding to switch the monitor input back to DisplayPort
Stretch goal: Automatically switch the monitor input when BlueZ detects the keyboard BT connecting/disconnecting (poor man's KVM).
Tasks
- Add
ddcutilto the system packages - Verify DDC/CI communication works with the U4025QW (
ddcutil detect,ddcutil capabilities) - Identify the VCP codes for input source switching on this monitor
- Create scripts to switch between USB-C (Chromebook) and DisplayPort (weller) inputs
- Add Hyprland keybindings to trigger input switches
- Optionally expose brightness/volume controls
- Investigate auto-switching monitor input based on keyboard BT connect/disconnect events
References
- ddcutil documentation
- Dell U4025QW supports DDC/CI over USB-C and DisplayPort