/** @page x52d X52 driver daemon \b x52d is a daemon program that manages the X52 device in a similar fashion to the Windows X52 driver. It currently manages the following: - LED state - LED brightness - MFD brightness - Clock display on MFD # Control and notification sockets The \b supported control plane and event stream use \b liblocalipc framing on a single UNIX stream socket (default basename \c x52d.socket under the runtime directory). See \ref x52d_protocol and \ref proto_lipc_framed. Use \c -S to override the socket path. The historical \b NUL-separated command socket (\c x52d.cmd) and notify socket (\c x52d.notify) remain for transitional callers; they are \b deprecated and \b will be removed in a future release. Overrides use \c -s and \c -b. See \ref x52d_protocol. # Command line arguments - \c -f - Run daemon in foreground (default: no) - \c -v - Increase logging verbosity (default: log warnings) - \c -q - Reduce logging verbosity to minimum (default: no) - \c -l - Path to log file - \c -c - Path to configuration file - \c -p - Path to PID file - \c -o - Configuration override - only applied during startup - \c -S - Path to the \b unified framed-IPC socket (RPC and \c tid==0 push notifications such as \c DEVICE_STATE; default \c x52d.socket under the runtime directory). \b This is the supported integration path (see \ref x52d_protocol). - \c -s - Path to the \b deprecated legacy NUL command socket (default \c x52d.cmd); \b will be removed once callers migrate to \c -S / LIPC. - \c -b - Path to the \b deprecated legacy notify socket (default \c x52d.notify); \b will be removed in the same way. # Configuration file \b x52d can be controlled by means of a configuration file. The default location of the configuration file is in `$(SYSCONFDIR)/x52d/x52d.conf`. The configuration file is an INI style file, and the default configuration is as listed below: \include x52d.conf ## Configuration overrides Configuration overrides are a means of testing a configuration parameter for a single instance of \b x52d, or to override the default configuration. The syntax for an override is \c section.key=value, where \c section, \c key and \c value correspond to the configuration \b section, \b key and \b value respectively. For example, to override the secondary clock timezone to US Eastern Time, use the following syntax. Note that while the section and key are case-insensitive, the value may be case-sensitive, depending on which parameter is being overridden. @code{.unparsed} -o clock.secondary=America/New_York @endcode */