Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/keysc/getkey.c b/src/keysc/getkey.c
- index c1a28e4..256b010 100644
- --- a/src/keysc/getkey.c
- +++ b/src/keysc/getkey.c
- @@ -36,7 +36,11 @@ key_event_t getkey_opt(int opt, volatile int *timeout)
- while(1)
- {
- e = keydev_read(d);
- - if(e.type == KEYEV_NONE && timeout && *timeout) break;
- + if(e.type == KEYEV_NONE)
- + {
- + if(timeout && *timeout) break;
- + continue;
- + }
- /* Skip repeat events that are not enabled by options */
- if(e.type == KEYEV_HOLD && !(opt & GETKEY_REP_ALL))
- diff --git a/src/keysc/keydev.c b/src/keysc/keydev.c
- index d797739..6d241fb 100644
- --- a/src/keysc/keydev.c
- +++ b/src/keysc/keydev.c
- @@ -6,6 +6,7 @@
- #include <gint/drivers/keydev.h>
- #include <gint/defs/types.h>
- #include <gint/defs/util.h>
- +#include <gint/cpu.h>
- #include <string.h>
- #include <stdarg.h>
- @@ -246,6 +247,7 @@ key_event_t keydev_read(keydev_t *d)
- while(1)
- {
- + sleep();
- e = keydev_unqueue_event(d);
- if(e.type == KEYEV_NONE)
- return e;
Advertisement
Add Comment
Please, Sign In to add comment