summaryrefslogtreecommitdiff
path: root/uisimulator/x11/button-x11.c
diff options
context:
space:
mode:
Diffstat (limited to 'uisimulator/x11/button-x11.c')
-rw-r--r--uisimulator/x11/button-x11.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/uisimulator/x11/button-x11.c b/uisimulator/x11/button-x11.c
index 8670d90b4f..e41b720d6f 100644
--- a/uisimulator/x11/button-x11.c
+++ b/uisimulator/x11/button-x11.c
@@ -17,6 +17,7 @@
17 * 17 *
18 ****************************************************************************/ 18 ****************************************************************************/
19#include "button.h" 19#include "button.h"
20#include "kernel.h"
20 21
21#include "X11/keysym.h" 22#include "X11/keysym.h"
22 23
@@ -102,9 +103,18 @@ static int get_raw_button (void)
102 * BUTTON_HELD bit is while the button is being held. 103 * BUTTON_HELD bit is while the button is being held.
103 * BUTTON_REL bit is set when button has been released. 104 * BUTTON_REL bit is set when button has been released.
104 */ 105 */
105int button_get(void) 106int button_get(bool block)
106{ 107{
107 return get_raw_button(); 108 int bits;
109 do {
110 bits = get_raw_button();
111 if(block && !bits)
112 x11_sleep(HZ/4);
113 else
114 break;
115 } while(1);
116
117 return bits;
108} 118}
109 119
110/* ----------------------------------------------------------------- 120/* -----------------------------------------------------------------