display-switch is a utility that turns an inexpensive USB switch into a full-featured multi-monitor KVM switch by monitoring USB device events and controlling monitor inputs via DDC/CI.
The tool solves the problem of manually switching monitor inputs when working with multiple computers connected to the same displays. When a USB device is plugged in or unplugged, display-switch automatically switches all connected monitors to the appropriate input for that computer. The approach relies on running the application on each computer that shares the monitors, so that when you physically switch the USB device from one computer to another, the monitors follow automatically in both directions.
The tool runs on macOS, Windows, and Linux. It suits anyone with multiple computers sharing a set of monitors who wants to avoid manual input switching. Configuration is straightforward: you specify which USB device to watch and which monitor inputs to switch to upon connection or disconnection. The tool supports per-monitor configuration, allowing different monitors to switch to different inputs if needed, and can match monitors by ID substring. It also supports running external commands when USB devices connect or disconnect, enabling integration with other tools or scripts. On Windows, monitors can be renamed in the Registry to make configuration easier when they report as generic devices.
The project shows consistent maintenance with regular updates addressing user-reported issues and platform-specific bugs. Development includes active engagement with user feedback, particularly around Windows and macOS compatibility concerns. The codebase demonstrates attention to cross-platform reliability, with fixes and improvements applied across all three supported operating systems.