@@ -14,9 +14,9 @@ int keyBufPut = 0; /* index of next item of keyBuf to write
1414int keyBufOverflows = 0 ; /* number of characters dropped */
1515
1616/*** Variables -- Imported from Virtual Machine ***/
17- extern int interruptCheckCounter ;
18- extern int interruptKeycode ;
19- extern int interruptPending ; /* set to true by RecordKeystroke if interrupt key is pressed */
17+ int interruptCheckCounter = 0 ;
18+ int interruptKeycode = -1 ;
19+ int interruptPending = 0 ; /* set to true by RecordKeystroke if interrupt key is pressed */
2020
2121/*** Variables -- Event Recording ***/
2222#define MillisecondClockMask 536870911
@@ -29,6 +29,7 @@ static char lastKeys[255];
2929static int lastMouseX = 0 ;
3030static int lastMouseY = 0 ;
3131static int lastMouseButton = 0 ;
32+ static int lastPollTime = 0 ;
3233
3334void RecordKeystroke (unsigned char key , struct KeyboardModifiers modifiers ) {
3435 int keystate ;
@@ -157,7 +158,7 @@ void rpiRegisterKeyboardEvent(int keyCode, int pressCode, int modifiers) {
157158 evt -> pressCode = pressCode ;
158159 evt -> modifiers = modifiers ;
159160
160- evt -> reserved1 = evt -> reserved2 = evt -> reserved3 = 0 ;
161+ evt -> reserved1 = evt -> reserved2 = 0 ;
161162}
162163
163164void rpiProcessKeyboardEvents (void ) {
@@ -216,6 +217,11 @@ void rpiProcessKeyboardEvents(void) {
216217}
217218
218219int ioGetNextEvent (sqInputEvent * evt ) {
220+ if (ioMSecs () - lastPollTime < 75 ) {
221+ return false;
222+ }
223+ lastPollTime = ioMSecs ();
224+
219225 ioProcessEvents ();
220226 rpiProcessMouseEvents ();
221227 rpiProcessKeyboardEvents ();
0 commit comments