3 // as of 2020/01/06 using kernel version 5.3.16
4 // a patch is needed for: drivers/media/usb/em28xx/em28xx-rc.ko
5 // prototype in thirdparty/src/em28xx-input.patch1
9 #include "remotecontrol.h"
17 #define WTV_HOME 0x0162
18 #define WTV_BACK 0x00ae
19 #define WTV_MENU 0x008b
21 #define WTV_POWER 0x0074
22 #define WTV_VOLUP 0x0073
23 #define WTV_VOLDN 0x0072
24 #define WTV_CH_UP 0x0192
25 #define WTV_CH_DN 0x0193
35 #define WTV_TEXT 0x0184
38 #define WTV_BOX 0x0080
39 #define WTV_START 0x0195
40 #define WTV_REV 0x00a8
41 #define WTV_STOP 0x0077
42 #define WTV_PLAY 0x00cf
43 #define WTV_FWD 0x00d0
44 #define WTV_END 0x0197
45 #define WTV_MUTE 0x0071
46 #define WTV_PREV 0x019c
47 #define WTV_RED 0x00a7
51 class WinTV : public Thread
54 WinTV(MWindow *mwindow, int ifd);
59 static int open_usb_input(int vendor, int product, int &version);
60 static WinTV *probe(MWindow *mwindow);
63 int check_menu_keys(int code);
64 virtual int process_code() { return 1; }
72 class WinTVCWindowHandler : public RemoteHandler
75 WinTVCWindowHandler(WinTV *wintv, RemoteControl *remote_control);
76 int wintv_process_code(int code);
77 int process_key(int key);
78 int is_wintv() { return 1; }
83 class WinTVRecordHandler : public RemoteHandler
86 WinTVRecordHandler(WinTV *wintv, RemoteControl *remote_control);
87 int wintv_process_code(int code);
88 int process_key(int key);
89 int is_wintv() { return 1; }