diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-04 03:28:14 +0100 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-04 03:28:14 +0100 |
commit | ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /minui/events.c | |
parent | auto import from //depot/cupcake/@132589 (diff) | |
download | android_bootable_recovery-ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba.tar android_bootable_recovery-ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba.tar.gz android_bootable_recovery-ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba.tar.bz2 android_bootable_recovery-ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba.tar.lz android_bootable_recovery-ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba.tar.xz android_bootable_recovery-ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba.tar.zst android_bootable_recovery-ffb48f64fec674c6dd923eb8b1eb3f743e05a8ba.zip |
Diffstat (limited to 'minui/events.c')
-rw-r--r-- | minui/events.c | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/minui/events.c b/minui/events.c deleted file mode 100644 index 3aed2a860..000000000 --- a/minui/events.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <dirent.h> -#include <sys/poll.h> - -#include <linux/input.h> - -#include "minui.h" - -#define MAX_DEVICES 16 - -static struct pollfd ev_fds[MAX_DEVICES]; -static unsigned ev_count = 0; - -int ev_init(void) -{ - DIR *dir; - struct dirent *de; - int fd; - - dir = opendir("/dev/input"); - if(dir != 0) { - while((de = readdir(dir))) { -// fprintf(stderr,"/dev/input/%s\n", de->d_name); - if(strncmp(de->d_name,"event",5)) continue; - fd = openat(dirfd(dir), de->d_name, O_RDONLY); - if(fd < 0) continue; - - ev_fds[ev_count].fd = fd; - ev_fds[ev_count].events = POLLIN; - ev_count++; - if(ev_count == MAX_DEVICES) break; - } - } - - return 0; -} - -void ev_exit(void) -{ - while (ev_count > 0) { - close(ev_fds[--ev_count].fd); - } -} - -int ev_get(struct input_event *ev, unsigned dont_wait) -{ - int r; - unsigned n; - - do { - r = poll(ev_fds, ev_count, dont_wait ? 0 : -1); - - if(r > 0) { - for(n = 0; n < ev_count; n++) { - if(ev_fds[n].revents & POLLIN) { - r = read(ev_fds[n].fd, ev, sizeof(*ev)); - if(r == sizeof(*ev)) return 0; - } - } - } - } while(dont_wait == 0); - - return -1; -} |