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:
options.xmlmonitor/%monitor_id%.xmlcontrol 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:
date: indicates the release
date of the current database (YYYYMMDD format).dbversion: indicates which
version of database format is used (must be set to
2).group
attributes:
name: full English group
name.subgroup
attributes:
name: full English subgroup
name.pattern: name of the
fullscreen pattern gddccontrol must display to help the
user to adjust subgroup's controls (optional). For
possible values, see ddccontrol/src/gddccontrol/fspatterns.c.control
attributes:
id: abbreviated control
name.name: full English control
name.address: DDC/CI address
(optional).type: one of
these values:
value element in a
command control, the default value “0x01” will be
used.refresh (only
for list and command controls): Set whether other
controls must be refreshed after changing list value
or running the command associated with the control
(optional). Possible values:
value
attributes:
id: abbreviated value
name.name: full English value
name (it is not needed if there is only one value for
command controls).value: DDC/CI control value
(optional).File format:
<?xml version="1.0"?>
<options date="%date%" dbversion="2">
<group name="%groupname%">
<subgroup name="%subgroupname%" pattern="%patternname%">
<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%"/>