X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=linux%2Fin_evdev.c;h=79e9371f785ea83fe0b460fd642a74c25fc2d264;hb=44bfd52ff5bd5621a3ea967565dedf0a01ba9c53;hp=984333c8e2ce4ef84b99107af5aa6e03e3c20931;hpb=7f022a8d573295d721fd6a517c8f1fe04480a8f0;p=libpicofe.git diff --git a/linux/in_evdev.c b/linux/in_evdev.c index 984333c..79e9371 100644 --- a/linux/in_evdev.c +++ b/linux/in_evdev.c @@ -306,14 +306,16 @@ static int in_evdev_update_keycode(void *data, int *is_down) rd = read(dev->fd, &ev, sizeof(ev)); if (rd < (int) sizeof(ev)) { - perror("in_evdev: error reading"); - sleep(1); - return 0; + if (errno != EAGAIN) { + perror("in_evdev: error reading"); + sleep(1); + } + return -1; } if (ev.type == EV_KEY) { if (ev.value < 0 || ev.value > 1) - return 0; + return -1; if (is_down != NULL) *is_down = ev.value; return ev.code; @@ -349,7 +351,7 @@ static int in_evdev_update_keycode(void *data, int *is_down) } } - return 0; + return -1; } static int in_evdev_menu_translate(int keycode) @@ -376,8 +378,7 @@ static int in_evdev_get_key_code(const char *key_name) for (i = 0; i < KEY_MAX + 1; i++) { const char *k = in_evdev_keys[i]; - if (k != NULL && k[0] == key_name[0] && - strcasecmp(k, key_name) == 0) + if (k != NULL && strcasecmp(k, key_name) == 0) return i; }