Decompiled DLL with ILSpy to identify various commands.
Most commands can be found in DDM2._0_UX.CmdBackground.cmdService_DoWork
Write commands can be prefixed with int:command to specify which monitor to send the command to.
.\DDM.exe /0:writebrightnesslevel 50
Read command output is only shown in the debug console.
Used to show the output of various read commands
.\DDM.exe /console start
.\DDM.exe /console start
Opens DDM Console
.\DDM.exe /readbrightnesslevel
Reads the monitor brightness level
.\DDM.exe /writebrightnesslevel
Sets the monitor brightness level
.\DDM.exe /readcontrastlevel
Reads the monitor contrast level
.\DDM.exe /writecontrastlevel
Sets the monitor contrast level
.\DDM.exe /readcapabilities
Read monitor capabilities (in hex)
.\DDM.exe /readsupportedcontrols
Read monitor supported controls (in hex)
.\DDM.exe /writecolorpreset
Write color presets
.\DDM.exe /readcolorpreset
Read color presets
.\DDM.exe /readorientation
Read monitor orientation
.\DDM.exe /writeorientation
Sets monitor orientation
.\DDM.exe /readmonitoractivehours
Read monitor active hours
.\DDM.exe /writeactiveinput
.\DDM.exe /readactiveinput
.\DDM.exe /writepower
.\DDM.exe /writeosdlanguage
.\DDM.exe /osd
.\DDM.exe /readedid
.\DDM.exe /writeuc
.\DDM.exe /readmax
.\DDM.exe /readprivacy
.\DDM.exe /writeprivacy
.\DDM.exe /readfirmwareversion
.\DDM.exe /writevolume
.\DDM.exe /readvolume
.\DDM.exe /autocolorpreset
.\DDM.exe /swapvideo
.\DDM.exe /swapusb
.\DDM.exe /writesubinput
.\DDM.exe /writepxpmode
.\DDM.exe /writepxp
.\DDM.exe /readcontrol
.\DDM.exe /increasecontrol
.\DDM.exe /decreasecontrol
.\DDM.exe /writecontrol
.\DDM.exe /readpossible
.\DDM.exe /autosetup
.\DDM.exe /readmanufactureddate
.\DDM.exe /writemonitorpower
.\DDM.exe /readdisplaymode
.\DDM.exe /writeoptimalresolution
.\DDM.exe /readtiming
.\DDM.exe /readassetattributes
.\DDM.exe /log
.\DDM.exe /savediagnosticreport
.\DDM.exe /assetreport
.\DDM.exe /inventory
.\DDM.exe /surveyonly
.\DDM.exe /readdecodededid
.\DDM.exe /countmonitorsci
.\DDM.exe /monitornumber OR countmonitors
.\DDM.exe /usbpassthrough
.\DDM.exe /lockupdate
.\DDM.exe /noupdate
.\DDM.exe /screennotification
.\DDM.exe /lockrorate
.\DDM.exe /autostartup
.\DDM.exe /powernap
.\DDM.exe /colormanagement
.\DDM.exe /writeapplanguage
.\DDM.exe /telemetry
.\DDM.exe /writeealayout
.\DDM.exe /writeimportpermission
.\DDM.exe /displaymodel
.\DDM.exe /writeloglevel
.\DDM.exe /liveupdate") && ApplicationStartUp.Ota != null)
.\DDM.exe /rescan
to refresh the connected devices -Thanks @rtxbae!
Some examples of using the utility on MacOS to enable picture by picture, thanks @sepl2604!
/Applications/DDPM/DDPM.app/Contents/MacOS/DDPM /writepxp pbp-2h-fill USB-C HDMI1
Activate 50-50 PBP
/Applications/DDPM/DDPM.app/Contents/MacOS/DDPM /writepxp off
Turn off PBP
This is an incredibly useful page, and it is a shame that Dell's own documentation is nowhere near as complete. I recently purchased a Dell U4323QE which includes multiple inputs and a USB KVM feature. That, combined with DDM CLI and a Stream Deck + have given me the ability to swap my display inputs and USB connections with the push of a button.
Just in case anyone seeking something similar comes along, I'll include a few notes:
App / File
fieldFor Windows (11)
macOS
Because the KVM feature of the monitor maps the USB connection to the display input, simply changing the display input causes the corresponding USB connection update to happen automatically by the monitor.