[Gambas-user] how to flush a process stream

Kevin Fishburne kevinfishburne at ...1887...
Wed Mar 30 04:57:46 CEST 2011


On 03/29/2011 06:13 PM, Laurent Carlier wrote:
> Le mardi 29 mars 2011 04:33:21, Kevin Fishburne a écrit :
>> I'm reading input from a gamepad by using code such as:
>>
>> pad_device = Exec ["cat", "/dev/input/js0"] For Read As "Gamepad"
>>
>> Public Sub Gamepad_READ()
>>     ' Process the gamepad input.
>> End
>>
>> The problem is that analog stick movements create a LOT of read events
>> which are generated far faster than the frame rate of the application.
>> How can I clear the events queued by the Gamepad stream?
>>
>> Also, how can I continuously read events from the stream until it is
>> empty? I might want to clear it like that so I can ignore some events
>> and process others. Thanks!
>
> Did you try to use a gamepad with sdl component ? because i'm currently
> designing such api for gambas3, i guess it will not be too long before i can
> commit the code.

That is very cool... I'm looking forward to seeing it, and yes I'm 
currently using the SDL component. I switched the game over a couple of 
months ago.

What I did to relieve the problem for now was to call the WAIT statement 
a bunch of times using a FOR...NEXT loop. That way even if my frame rate 
is low, the gamepad's READ event is allowed to trigger multiple times 
per frame.

-- 
Kevin Fishburne
Eight Virtues
www: http://sales.eightvirtues.com
e-mail: sales at ...1887...
phone: (770) 853-6271





More information about the User mailing list