MythTV
master
mythtv
libs
libmythui
devices
AppleRemoteListener.cpp
Go to the documentation of this file.
1
2
#include "
devices/AppleRemoteListener.h
"
3
4
#include <QCoreApplication>
5
#include <QKeySequence>
6
#include <QString>
7
#include "
devices/lircevent.h
"
8
9
void
AppleRemoteListener::appleRemoteButton
(
AppleRemote::Event
button,
10
bool
pressedDown)
11
{
12
QString code =
nullptr
;
13
bool
separateRelease =
false
;
14
15
switch
(button)
16
{
17
case
AppleRemote::Up
:
18
code=
"Up"
;
19
separateRelease=
true
;
20
break
;
21
case
AppleRemote::Down
:
22
code=
"Down"
;
23
separateRelease=
true
;
24
break
;
25
case
AppleRemote::Menu
:
26
code=
"Esc"
;
27
break
;
28
case
AppleRemote::Select
:
29
code=
"Enter"
;
30
break
;
31
case
AppleRemote::Right
:
32
code=
"Right"
;
33
break
;
34
case
AppleRemote::Left
:
35
code=
"Left"
;
36
break
;
37
case
AppleRemote::RightHold
:
38
code=
"End"
;
39
separateRelease=
true
;
40
break
;
41
case
AppleRemote::LeftHold
:
42
code=
"Home"
;
43
separateRelease=
true
;
44
break
;
45
case
AppleRemote::MenuHold
:
46
code=
"M"
;
47
break
;
48
case
AppleRemote::PlayPause
:
49
case
AppleRemote::PlayHold
:
50
code=
"P"
;
51
break
;
52
case
AppleRemote::ControlSwitched
:
53
return
;
54
case
AppleRemote::Undefined
:
55
break
;
56
}
57
QKeySequence a(code);
58
for
(
int
i = 0; i < a.count(); i++)
59
{
60
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
61
int
keycode = a[i];
62
#else
63
int
keycode = a[i].toCombined();
64
#endif
65
if
(pressedDown)
66
QCoreApplication::postEvent(
mainWindow
,
new
LircKeycodeEvent
(
67
QEvent::KeyPress, keycode, Qt::NoModifier, code, code));
68
69
if
(!separateRelease || !pressedDown)
70
QCoreApplication::postEvent(
mainWindow
,
new
LircKeycodeEvent
(
71
QEvent::KeyRelease, keycode, Qt::NoModifier, code, code));
72
}
73
}
AppleRemoteListener.h
AppleRemoteListener::appleRemoteButton
void appleRemoteButton(AppleRemote::Event button, bool pressedDown) override
Definition:
AppleRemoteListener.cpp:9
AppleRemoteListener::mainWindow
QObject * mainWindow
Definition:
AppleRemoteListener.h:16
AppleRemote::Event
Event
Definition:
AppleRemote.h:25
AppleRemote::Left
@ Left
Definition:
AppleRemote.h:31
AppleRemote::PlayPause
@ PlayPause
Definition:
AppleRemote.h:37
AppleRemote::Menu
@ Menu
Definition:
AppleRemote.h:28
AppleRemote::Down
@ Down
Definition:
AppleRemote.h:27
AppleRemote::LeftHold
@ LeftHold
Definition:
AppleRemote.h:33
AppleRemote::Undefined
@ Undefined
Definition:
AppleRemote.h:38
AppleRemote::ControlSwitched
@ ControlSwitched
Definition:
AppleRemote.h:36
AppleRemote::Right
@ Right
Definition:
AppleRemote.h:30
AppleRemote::Select
@ Select
Definition:
AppleRemote.h:29
AppleRemote::PlayHold
@ PlayHold
Definition:
AppleRemote.h:35
AppleRemote::MenuHold
@ MenuHold
Definition:
AppleRemote.h:34
AppleRemote::Up
@ Up
Definition:
AppleRemote.h:26
AppleRemote::RightHold
@ RightHold
Definition:
AppleRemote.h:32
LircKeycodeEvent
Definition:
lircevent.h:13
lircevent.h
Generated on Tue Dec 16 2025 03:16:08 for MythTV by
1.9.4