diff options
author | phintuka <phintuka> | 2010-08-25 09:50:15 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2010-08-25 09:50:15 +0000 |
commit | d483a814792b1b29fd2ab32dcfd2ec324da7936b (patch) | |
tree | 4e82c6a6cb46ccd022889f81e46a06c6ea73a69c | |
parent | e4aebaefe973ef9d5d5864aca56360d282340a68 (diff) | |
download | xineliboutput-d483a814792b1b29fd2ab32dcfd2ec324da7936b.tar.gz xineliboutput-d483a814792b1b29fd2ab32dcfd2ec324da7936b.tar.bz2 |
Added support for entering text using letters
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | frontend.c | 15 |
2 files changed, 11 insertions, 5 deletions
@@ -3,6 +3,7 @@ VDR Plugin 'xineliboutput' Revision History ????-??-??: Version 1.1.0 +- Added support for entering text using letters. - Added support for Alt and Ctrl key modifiers to X11 keyboard remote controller. - Added FreeBSD compability (Thanks to Juergen Lock and Joerg Pulz) - Added support for yaepg(hd) video window with HUD OSD (Thanks to grueni75) @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: frontend.c,v 1.89 2010-08-25 09:46:59 phintuka Exp $ + * $Id: frontend.c,v 1.90 2010-08-25 09:50:15 phintuka Exp $ * */ @@ -84,9 +84,9 @@ void cXinelibThread::KeypressHandler(const char *keymap, const char *key, cGeneralRemote *remote = NULL; for (cRemote *item = Remotes.First(); item; item = Remotes.Next(item)) { if (!strcmp(item->Name(), keymap)) { - // dirty... but only way to support learning ... - ((cGeneralRemote*)item)->Put(key, repeat, release); - return; + // dirty... but using protected cRemote::Put() is the only way to support learning ... + remote = (cGeneralRemote*)item; + break; } } @@ -94,8 +94,13 @@ void cXinelibThread::KeypressHandler(const char *keymap, const char *key, if (!remote) remote = new cGeneralRemote(keymap); + // put key to remote queue if (key[0]) { - remote->Put(key, repeat, release); + if (!remote->Put(key, repeat, release)) { + if (!key[1]) { + remote->cRemote::Put(KBDKEY(key[0])); + } + } } } |