Table of Contents
The monitor database is written in XML, it can be found in the db directory of ddccontrol-db package.
This directory contains the following files:
control elements (e.g. “brightness”) are contained in group elements (e.g. “color settings”). group and subgroup elements allow the GUI to separate the controls in different branches on the tree.
options attributes:
control attributes:
value attributes:
File format:
<?xml version="1.0"?> <options date="%date%" dbversion="1"> <group name="%groupname%"> <subgroup name="%subgroupname%"> <control id="%control_id%" type="value" name="%control_name%" address="%hex_address%"/> <!-- Command using the default 0x01 address --> <control id="%control_id%" type="command" name="%control_name%" address="%hex_address%"/> <control id="%control_id%" type="command" name="%control_name%" address="%hex_address%"> <value id="%value_id%" value="%hex_value%"/> </control> <control id="%control_id%" type="list" name="%control_name%" address="%hex_address%"> <value id="%value_id%" name="%value_name%" value="%hex_value%"/> <value...> </control> <control ...> </subgroup> </group> <group ...> </options>
List of controls supported by a monitor.
control id attributes are defined in options.xml. If control type is “list” or “command” without non-default value, supported values must be defined.
address attribute for control elements and value attribute for value elements are optional if they are defined in the general options file.
The init attribute in monitor element define the type of the initialization: DDC/CI standard (“standard”), or Samsung (“samsung”).
The caps attribute is optional. Its format is defined in ACCESS.bus specifications and is treated as following:
If caps is not defined, caps are read from monitor.
If this attribute exists and have a “vcp” string (e.g. “type(lcd) vcp(10 12)”) then the specified caps string is used.
If this attribute exists but does not have a “vcp” (e.g. “type(crt)” or “”), then all controls defined in the monitor profile are supposed to be supported.
You can set a delay attribute in control elements to set the time in milliseconds to wait after changing the value of this control. If you don't, a default value is used.
File format:
<?xml version="1.0"?> <monitor name="%full_monitor_name%" init="[standard|samsung]" caps="%caps%"> <controls> <!--- value --> <control id="%control_id%" address="%hex_address%" delay="%wait_time%"/> <!--- command using a default 0x01 value--> <control id="%control_id%" address="%hex_address%" delay="%wait_time%"/> <!--- command --> <control id="%control_id%" address="%hex_address%" delay="%wait_time%"> <value id="activate" value="%hex_value%"/> </control> <!--- list --> <control id="%control_id%" address="%hex_address%" delay="%wait_time%"> <value id="%value_id%" value="%hex_value%"/> <value...> </control> <control...> </controls> </monitor>
If a monitor supports exactly the same controls as another one, you can define it as shown:
<?xml version="1.0"?> <monitor include="%monitor_id%" name="%full_monitor_name%" caps="%caps%"/>