diff --git a/remote.c b/remote.c index da28f389..29149e9d 100644 --- a/remote.c +++ b/remote.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remote.c 1.35 2002/12/15 10:09:27 kls Exp $ + * $Id: remote.c 1.36 2002/12/15 15:58:59 kls Exp $ */ #include "remote.h" @@ -180,6 +180,7 @@ static tKbdMap KbdMap[] = { { kfNone, 0x0000000000000000ULL } }; +bool cKbdRemote::kbdAvailable = false; bool cKbdRemote::rawMode = false; cKbdRemote::cKbdRemote(void) @@ -195,11 +196,13 @@ cKbdRemote::cKbdRemote(void) tm.c_cc[VTIME] = 0; tcsetattr(STDIN_FILENO, TCSANOW, &tm); } + kbdAvailable = true; Start(); } cKbdRemote::~cKbdRemote() { + kbdAvailable = false; active = false; Cancel(3); tcsetattr(STDIN_FILENO, TCSANOW, &savedTm); diff --git a/remote.h b/remote.h index 0b8c7a30..7908b1db 100644 --- a/remote.h +++ b/remote.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remote.h 1.23 2002/12/15 09:58:32 kls Exp $ + * $Id: remote.h 1.24 2002/12/15 15:49:06 kls Exp $ */ #ifndef __REMOTE_H @@ -80,6 +80,7 @@ enum eKbdFunc { class cKbdRemote : public cRemote, private cThread { private: bool active; + static bool kbdAvailable; static bool rawMode; struct termios savedTm; virtual void Action(void); @@ -87,7 +88,8 @@ private: public: cKbdRemote(void); virtual ~cKbdRemote(); - uint64 MapFuncToCode(int Func); + static bool KbdAvailable(void) { return kbdAvailable; } + static uint64 MapFuncToCode(int Func); static void SetRawMode(bool RawMode); };