'From Squeak3.1alpha of 4 February 2001 [latest update: #3541] on 7 February 2001 at 5:16:30 pm'! "Change Set: EventTweaks-ar Date: 7 February 2001 Author: Andreas Raab Flushes the event queue when the state based primitives are used and stimulate the input semaphore in certain places. "! !EventSensor methodsFor: 'accessing' stamp: 'ar 2/7/2001 17:13'! flushEvents eventQueue ifNotNil:[eventQueue flush].! ! !EventSensor methodsFor: 'accessing' stamp: 'ar 2/7/2001 17:12'! nextEventFromQueue "Return the next event from the receiver." eventQueue isEmpty ifTrue:[inputSemaphore signal]. EventPollFrequency _ 20. "since Squeak is taking the event, reset to normal delay" eventQueue isEmpty ifTrue:[^nil] ifFalse:[^eventQueue next]! ! !EventSensor methodsFor: 'private' stamp: 'ar 12/5/2000 13:49'! primKbdNext inputSemaphore signal. eventQueue ifNotNil:[eventQueue flush]. keyboardBuffer isEmpty ifTrue:[^nil] ifFalse:[^keyboardBuffer next]! ! !EventSensor methodsFor: 'private' stamp: 'ar 12/5/2000 13:50'! primKbdPeek inputSemaphore signal. eventQueue ifNotNil:[eventQueue flush]. ^keyboardBuffer peek! ! !EventSensor methodsFor: 'private' stamp: 'ar 12/5/2000 13:50'! primMouseButtons inputSemaphore signal. eventQueue ifNotNil:[eventQueue flush]. ^mouseButtons! ! !EventSensor methodsFor: 'private' stamp: 'ar 12/5/2000 13:50'! primMousePt inputSemaphore signal. eventQueue ifNotNil:[eventQueue flush]. ^mousePosition! ! !SharedQueue methodsFor: 'accessing' stamp: 'ar 12/5/2000 13:49'! flush "Throw out all pending contents" accessProtect critical: [ readPosition _ 1. writePosition _ 1].! !