libtriple: convert tripledragon remote to uinput

Instead of patching neutrino to read the Tripledragon remote, use a
converter thread in libtriple to convert the TD remote to a real input
device via uinput.


Origin commit data
------------------
Branch: master
Commit: 3ef3ac837c
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2012-01-09 (Mon, 09 Jan 2012)



------------------
This commit was generated by Migit
This commit is contained in:
Stefan Seyfried
2012-01-09 21:03:50 +01:00
parent ef67ba90a9
commit 89a61131c4
4 changed files with 374 additions and 1 deletions

View File

@@ -14,6 +14,7 @@ extern "C" {
#include <tdpanel/ir_ruwido.h>
#include <hardware/avs/avs_inf.h>
#include <hardware/avs/bios_system_config.h>
#include "lt_dfbinput.h"
}
#include "lt_debug.h"
@@ -52,7 +53,10 @@ static void dfb_init()
/* signal handling seems to interfere with neutrino */
DirectFBSetOption("no-sighandler", NULL);
/* if DirectFB grabs the remote, neutrino does not get events */
/* now we handle the input via a DFB thread and push it to
* neutrino via uinput, so reenable tdremote module
DirectFBSetOption("disable-module", "tdremote");
*/
DirectFBSetOption("disable-module", "keyboard");
DirectFBSetOption("disable-module", "linux_input");
DFBCHECK(DirectFBCreate(&dfb));
@@ -79,10 +83,13 @@ static void dfb_init()
primary->Clear(primary, 0, 0, 0, 0);
primary->GetSubSurface(primary, NULL, &dfbdest);
dfbdest->Clear(dfbdest, 0, 0, 0, 0);
start_input_thread(dfb);
}
static void dfb_deinit()
{
stop_input_thread();
dfbdest->Release(dfbdest);
primary->Release(primary);
layer->Release(layer);