From 090c1b1a301731b89923297c495a8af1c49ac506 Mon Sep 17 00:00:00 2001 From: notaz Date: Mon, 21 Mar 2011 00:46:31 +0000 Subject: [PATCH] input: detect dead devices, always set keynames git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@925 be3aeb3a-fb24-0410-a615-afba39da0efa --- linux/in_evdev.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/linux/in_evdev.c b/linux/in_evdev.c index d863c02..f11f3a4 100644 --- a/linux/in_evdev.c +++ b/linux/in_evdev.c @@ -261,9 +261,11 @@ static void in_evdev_free(void *drv_data) free(dev); } -static int in_evdev_get_bind_count(void) +static const char * const * +in_evdev_get_key_names(int *count) { - return KEY_CNT; + *count = KEY_CNT; + return in_evdev_keys; } static void or_binds(const int *binds, int key, int *result) @@ -408,7 +410,8 @@ static int in_evdev_update_keycode(void *data, int *is_down) if (rd < (int) sizeof(ev)) { if (errno != EAGAIN) { perror("in_evdev: error reading"); - sleep(1); + //sleep(1); + ret_kc = -2; } goto out; } @@ -621,7 +624,7 @@ void in_evdev_init(void *vdrv) drv->prefix = in_evdev_prefix; drv->probe = in_evdev_probe; drv->free = in_evdev_free; - drv->get_bind_count = in_evdev_get_bind_count; + drv->get_key_names = in_evdev_get_key_names; drv->get_def_binds = in_evdev_get_def_binds; drv->clean_binds = in_evdev_clean_binds; drv->set_config = in_evdev_set_config; -- 2.39.2