diff options
Diffstat (limited to 'firmware/target/hosted/agptek/button-agptek.c')
-rw-r--r-- | firmware/target/hosted/agptek/button-agptek.c | 84 |
1 files changed, 1 insertions, 83 deletions
diff --git a/firmware/target/hosted/agptek/button-agptek.c b/firmware/target/hosted/agptek/button-agptek.c index 2c84a50405..8fc676acec 100644 --- a/firmware/target/hosted/agptek/button-agptek.c +++ b/firmware/target/hosted/agptek/button-agptek.c @@ -17,25 +17,13 @@ * KIND, either express or implied. * ****************************************************************************/ -#include <poll.h> -//#include <dir.h> -#include <errno.h> -#include <unistd.h> -#include <sys/types.h> #include <linux/input.h> -#include <fcntl.h> -#include <string.h> -#include <stdlib.h> #include "sysfs.h" #include "button.h" #include "button-target.h" -#include "panic.h" -#define NR_POLL_DESC 2 -static struct pollfd poll_fds[NR_POLL_DESC]; - -static int button_map(int keycode) +int button_map(int keycode) { switch(keycode) { @@ -68,67 +56,6 @@ static int button_map(int keycode) } } -void button_init_device(void) -{ - const char * const input_devs[NR_POLL_DESC] = { - "/dev/input/event0", - "/dev/input/event1" - }; - - for(int i = 0; i < NR_POLL_DESC; i++) - { - int fd = open(input_devs[i], O_RDONLY | O_CLOEXEC); - - if(fd < 0) - { - panicf("Cannot open input device: %s\n", input_devs[i]); - } - - poll_fds[i].fd = fd; - poll_fds[i].events = POLLIN; - poll_fds[i].revents = 0; - } -} - -int button_read_device(void) -{ - static int button_bitmap = 0; - struct input_event event; - - /* check if there are any events pending and process them */ - while(poll(poll_fds, NR_POLL_DESC, 0)) - { - for(int i = 0; i < NR_POLL_DESC; i++) - { - /* read only if non-blocking */ - if(poll_fds[i].revents & POLLIN) - { - int size = read(poll_fds[i].fd, &event, sizeof(event)); - if(size == (int)sizeof(event)) - { - int keycode = event.code; - /* event.value == 0x10000 means press - * event.value == 0 means release - */ - bool press = event.value ? true : false; - - /* map linux event code to rockbox button bitmap */ - if(press) - { - button_bitmap |= button_map(keycode); - } - else - { - button_bitmap &= ~button_map(keycode); - } - } - } - } - } - - return button_bitmap; -} - bool headphones_inserted(void) { int status = 0; @@ -137,12 +64,3 @@ bool headphones_inserted(void) return status ? true : false; } - -void button_close_device(void) -{ - /* close descriptors */ - for(int i = 0; i < NR_POLL_DESC; i++) - { - close(poll_fds[i].fd); - } -} |