diff --git a/src/nhttpd/tuxboxapi/controlapi.cpp b/src/nhttpd/tuxboxapi/controlapi.cpp index 9d65dd63e..0177836c6 100644 --- a/src/nhttpd/tuxboxapi/controlapi.cpp +++ b/src/nhttpd/tuxboxapi/controlapi.cpp @@ -894,15 +894,18 @@ unsigned int revert_translate(unsigned int code) { switch(code) { - case RC_play: - return KEY_PLAYPAUSE; case RC_page_up: return KEY_CHANNELUP; case RC_page_down: return KEY_CHANNELDOWN; #ifdef HAVE_ARM_HARDWARE + case RC_play: + case RC_pause: + return KEY_PLAYPAUSE; case RC_favorites: return KEY_VIDEO; + case RC_forward: + return KEY_FASTFORWARD; #endif #ifdef HAVE_AZBOX_HARDWARE case RC_favorites: @@ -918,26 +921,27 @@ unsigned int revert_translate(unsigned int code) break; } return code; - } -void dev_uinput_sync(int fd) { - struct input_event ev; - - gettimeofday(&ev.time, NULL); - ev.type = EV_SYN; - ev.code = SYN_REPORT; - ev.value = 0; - write(fd, &ev, sizeof(ev)); -} - -int CControlAPI::rc_send(int ev, unsigned int code, unsigned int value) +void CControlAPI::rc_sync(int fd) { - struct input_event iev; - iev.type=EV_KEY; - iev.code=code; - iev.value=value; - return write(ev,&iev,sizeof(iev)); + struct input_event ev; + + gettimeofday(&ev.time, NULL); + ev.type = EV_SYN; + ev.code = SYN_REPORT; + ev.value = 0; + write(fd, &ev, sizeof(ev)); +} + +int CControlAPI::rc_send(int fd, unsigned int code, unsigned int value) +{ + struct input_event ev; + + ev.type = EV_KEY; + ev.code = code; + ev.value = value; + return write(fd, &ev, sizeof(ev)); } //----------------------------------------------------------------------------- @@ -985,14 +989,14 @@ void CControlAPI::RCEmCGI(CyhookHandler *hh) close(evd); return; } - dev_uinput_sync(evd); + rc_sync(evd); if (rc_send(evd, sendcode, KEY_RELEASED) < 0) { perror("writing 'KEY_RELEASED' event failed"); hh->SendError(); close(evd); return; } - dev_uinput_sync(evd); + rc_sync(evd); close(evd); #else /* 0 == KEY_PRESSED in rcinput.cpp */ diff --git a/src/nhttpd/tuxboxapi/controlapi.h b/src/nhttpd/tuxboxapi/controlapi.h index afa823635..597fea1bc 100644 --- a/src/nhttpd/tuxboxapi/controlapi.h +++ b/src/nhttpd/tuxboxapi/controlapi.h @@ -41,7 +41,8 @@ private: } } fsort; - int rc_send(int ev, unsigned int code, unsigned int value); + void rc_sync(int fd); + int rc_send(int fd, unsigned int code, unsigned int value); // send functions for ExecuteCGI (controld api) void SendEventList(CyhookHandler *hh,t_channel_id channel_id);