|
MythTV
0.27pre
|
#include <AppleRemote.h>


Classes | |
| class | Listener |
Public Types | |
| enum | Event { Up = 0, Down, Menu, Select, Right, Left, RightHold, LeftHold, MenuHold, PlayHold, ControlSwitched, PlayPause, Undefined } |
Public Member Functions | |
| ~AppleRemote () | |
| bool | isListeningToRemote () |
| void | setListener (Listener *listener) |
| Listener * | listener () |
| void | setOpenInExclusiveMode (bool in) |
| bool | isOpenInExclusiveMode () |
| void | startListening () |
| void | stopListening () |
| void | run () |
| Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. | |
Public Member Functions inherited from MThread | |
| MThread (const QString &objectName) | |
| Standard constructor. | |
| MThread (const QString &objectName, QRunnable *runnable) | |
| Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. | |
| virtual | ~MThread () |
| void | RunProlog (void) |
| Sets up a thread, call this if you reimplement run(). | |
| void | RunEpilog (void) |
| Cleans up a thread's resources, call this if you reimplement run(). | |
| QThread * | qthread (void) |
| Returns the thread, this will always return the same pointer no matter how often you restart the thread. | |
| void | setObjectName (const QString &name) |
| QString | objectName (void) const |
| void | setPriority (QThread::Priority priority) |
| QThread::Priority | priority (void) const |
| bool | isFinished (void) const |
| bool | isRunning (void) const |
| void | setStackSize (uint stackSize) |
| uint | stackSize (void) const |
| void | exit (int retcode=0) |
| Use this to exit from the thread if you are using a Qt event loop. | |
| void | start (QThread::Priority=QThread::InheritPriority) |
| Tell MThread to start running the thread in the near future. | |
| void | terminate (void) |
| Kill a thread unsafely. | |
| void | quit (void) |
| calls exit(0) | |
| bool | wait (unsigned long time=ULONG_MAX) |
| Wait for the MThread to exit, with a maximum timeout. | |
Static Public Member Functions | |
| static AppleRemote * | Get () |
Static Public Member Functions inherited from MThread | |
| static void | ThreadSetup (const QString &) |
| This is to be called on startup in those few threads that haven't been ported to MThread. | |
| static void | ThreadCleanup (void) |
| This is to be called on exit in those few threads that haven't been ported to MThread. | |
| static void | Cleanup (void) |
| This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. | |
| static void | GetAllThreadNames (QStringList &list) |
| static void | GetAllRunningThreadNames (QStringList &list) |
Protected Member Functions | |
| AppleRemote () | |
Protected Member Functions inherited from MThread | |
| int | exec (void) |
| Enters the qt event loop. call exit or quit to exit thread. | |
Static Protected Attributes | |
| static AppleRemote * | _instance = 0 |
Private Slots | |
| void | TimeoutHandler () |
Private Member Functions | |
| void | _initCookieMap () |
| Apple keeps changing the "interface" between the remote and the OS. | |
| bool | _initCookies () |
| bool | _createDeviceInterface (io_object_t hidDevice) |
| bool | _openDevice () |
| void | _queueCallbackFunction (IOReturn result, void *refcon, void *sender) |
| void | _queueCallbackATV23 (IOReturn result) |
| void | _handleEventWithCookieString (std::string cookieString, SInt32 sumOfValues) |
| void | _handleEventATV23 (std::string cookieString, SInt32 sumOfValues) |
Static Private Member Functions | |
| static void | QueueCallbackFunction (void *target, IOReturn result, void *refcon, void *sender) |
Private Attributes | |
| bool | openInExclusiveMode |
| IOHIDDeviceInterface ** | hidDeviceInterface |
| IOHIDQueueInterface ** | queue |
| std::vector< int > | cookies |
| std::map< std::string, Event > | cookieToButtonMapping |
| int | remoteId |
| Listener * | _listener |
| bool | mUsingNewAtv |
| AppleRemote::Event | mLastEvent |
| int | mEventCount |
| bool | mKeyIsDown |
| QTimer * | mCallbackTimer |
Additional Inherited Members | |
Static Public Attributes inherited from MThread | |
| static const int | kDefaultStartTimeout |
Static Protected Member Functions inherited from MThread | |
| static void | setTerminationEnabled (bool enabled=true) |
| static void | sleep (unsigned long time) |
| static void | msleep (unsigned long time) |
| static void | usleep (unsigned long time) |
Protected Attributes inherited from MThread | |
| MThreadInternal * | m_thread |
| QRunnable * | m_runnable |
| bool | m_prolog_executed |
| bool | m_epilog_executed |
Definition at line 20 of file AppleRemote.h.
| enum AppleRemote::Event |
| Up | |
| Down | |
| Menu | |
| Select | |
| Right | |
| Left | |
| RightHold | |
| LeftHold | |
| MenuHold | |
| PlayHold | |
| ControlSwitched | |
| PlayPause | |
| Undefined |
Definition at line 24 of file AppleRemote.h.
| AppleRemote::~AppleRemote | ( | ) |
Definition at line 58 of file AppleRemote.cpp.
|
protected |
Definition at line 167 of file AppleRemote.cpp.
Referenced by Get().
|
static |
Definition at line 50 of file AppleRemote.cpp.
Referenced by MythMainWindow::MythMainWindow().
| bool AppleRemote::isListeningToRemote | ( | ) |
Definition at line 65 of file AppleRemote.cpp.
Referenced by MythMainWindow::MythMainWindow().
| void AppleRemote::setListener | ( | AppleRemote::Listener * | listener | ) |
Definition at line 70 of file AppleRemote.cpp.
Referenced by MythMainWindow::MythMainWindow().
|
inline |
Definition at line 53 of file AppleRemote.h.
Referenced by setListener().
Definition at line 54 of file AppleRemote.h.
|
inline |
Definition at line 55 of file AppleRemote.h.
| void AppleRemote::startListening | ( | ) |
Definition at line 75 of file AppleRemote.cpp.
Referenced by MythMainWindow::event(), and MythMainWindow::MythMainWindow().
| void AppleRemote::stopListening | ( | ) |
Definition at line 97 of file AppleRemote.cpp.
Referenced by MythMainWindow::event(), startListening(), ~AppleRemote(), and MythMainWindow::~MythMainWindow().
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.
Reimplemented from MThread.
Definition at line 118 of file AppleRemote.cpp.
|
private |
Apple keeps changing the "interface" between the remote and the OS.
This initialises a table that stores those mappings.
The white plastic remote has a Play+Pause button in the middle of the navigation ring, but for menu navigation, we send an "enter" event instead. Ideally we would remap that for TV/videos, but MythTV can't easily do that.
The new Aluminium remote has separate Select and Play+Pause buttons.
Definition at line 202 of file AppleRemote.cpp.
Referenced by AppleRemote().
|
private |
Definition at line 307 of file AppleRemote.cpp.
Referenced by startListening().
|
private |
Definition at line 347 of file AppleRemote.cpp.
Referenced by startListening().
|
private |
Definition at line 376 of file AppleRemote.cpp.
Referenced by startListening().
|
staticprivate |
Definition at line 438 of file AppleRemote.cpp.
Referenced by _openDevice().
Definition at line 449 of file AppleRemote.cpp.
Referenced by QueueCallbackFunction().
|
private |
Definition at line 479 of file AppleRemote.cpp.
Referenced by QueueCallbackFunction().
|
private |
Definition at line 522 of file AppleRemote.cpp.
Referenced by _queueCallbackFunction().
|
private |
Definition at line 539 of file AppleRemote.cpp.
Referenced by _queueCallbackATV23().
|
privateslot |
Definition at line 637 of file AppleRemote.cpp.
Referenced by AppleRemote().
|
staticprotected |
Definition at line 63 of file AppleRemote.h.
Referenced by Get().
|
private |
Definition at line 67 of file AppleRemote.h.
Referenced by _openDevice(), isOpenInExclusiveMode(), and setOpenInExclusiveMode().
|
private |
Definition at line 68 of file AppleRemote.h.
Referenced by _createDeviceInterface(), _initCookies(), _openDevice(), isListeningToRemote(), and stopListening().
|
private |
Definition at line 69 of file AppleRemote.h.
Referenced by _openDevice(), _queueCallbackATV23(), _queueCallbackFunction(), isListeningToRemote(), startListening(), and stopListening().
|
private |
Definition at line 70 of file AppleRemote.h.
Referenced by _initCookies(), _openDevice(), isListeningToRemote(), and stopListening().
|
private |
Definition at line 71 of file AppleRemote.h.
Referenced by _handleEventATV23(), _handleEventWithCookieString(), and _initCookieMap().
|
private |
Definition at line 72 of file AppleRemote.h.
Referenced by _queueCallbackFunction().
|
private |
Definition at line 73 of file AppleRemote.h.
Referenced by _handleEventATV23(), _handleEventWithCookieString(), listener(), setListener(), and TimeoutHandler().
|
private |
Definition at line 75 of file AppleRemote.h.
Referenced by AppleRemote(), QueueCallbackFunction(), and ~AppleRemote().
|
private |
Definition at line 76 of file AppleRemote.h.
Referenced by _handleEventATV23(), and TimeoutHandler().
|
private |
Definition at line 77 of file AppleRemote.h.
Referenced by _handleEventATV23(), and TimeoutHandler().
|
private |
Definition at line 78 of file AppleRemote.h.
Referenced by _handleEventATV23(), and TimeoutHandler().
|
private |
Definition at line 79 of file AppleRemote.h.
Referenced by _handleEventATV23(), _queueCallbackATV23(), AppleRemote(), TimeoutHandler(), and ~AppleRemote().
1.8.1.2