KRemoteControl
===================
part of the KDE project.

Copyright: 2009 - 2010 Michael Zanetti <michael_zanetti@gmx.net>
           2009 - 2010 Frank Scheffold <fscheffold@googlemail.com>

Author/Maintainer: Michael Zanetti <michael_zanetti@gmx.net>
Author:            Frank Scheffold <fscheffold@googlemail.com>

Overview:
--------
KRemoteControl is a KDE frontend for your remote controls. It allows to configure
actions for button presses on remotes. All types of remotes supported by 
Solid are also supported by KRemoteControl. For usage instructions see 
the KRemoteControl handbook provided with the kdeutils module.


KRemoteControl consists of the following modules:
* libkremotecontrol:
  This lib holds all the basic data structures for handling remotes,
  modes and actions. Additionally it holds a D-Bus browser interface
  and executors for actions.

* kcmremotecontrol:
  This is the configuration module for systemsettings. It allows to
  create and assign actions to remote controls.

* kded:
  A kded module responsible for actually executing the actions on incoming
  button presses.

* krcdnotifieritem:
  A notifier item sitting in the notification area (aka system tray).
  Its job is to notify the user of incoming button presses by blinking
  and provides a context menu for manually switching a remotes mode.

* dataengine:
  This is a plasma dataengine. It allows to interact with the kded module
  within a plasmoid. There is no plasmoid provided with KRemoteControl yet.


Development:
--------------
* To create new action templates you need to create a profile. See the
  KRemoteControl handbook for a step by step guide.

* To add new types of supported remotes you need to create a new Solid 
  remote control backend.

* To add new types of actions you need to provide an Action class derived 
  from action, an executor able to execute your action and a configuration
  UI for this action.
