function nflushed = KbEventFlush(deviceIndex) % nflushed = KbEventFlush([deviceIndex]) % % Flush event buffer of a keyboard queue. This removes all stored events % from the keyboard event buffer of a given keyboard queue. It returns the % number of removed events in the optional return argument 'nflushed'. % % By default, the event buffer of the default keyboard queue is emptied, % but you can specify 'deviceIndex' to flush the buffer of the queue % associated with 'deviceIndex'. % % Keyboard event buffers are a different way to access the information % collected by keyboard queues. Before you can use an event buffer you % always must create its "parent keyboard queue" via KbQueueCreate() and % call KbQueueStart() to enable key event recording. See "help % KbQueueCreate" etc. on how to do this. % % _________________________________________________________________________ % % See also: KbQueueCreate, KbQueueStart, KbQueueStop, KbQueueCheck, % KbQueueWait, KbQueueFlush, KbQueueRelease % 21.5.2012 mk Wrote it. if nargin < 1 deviceIndex = []; end % Try to check if keyboard queue for 'deviceIndex' is reserved for our exclusive use: if ~KbQueueReserve(3, 2, deviceIndex) && KbQueueReserve(3, 1, deviceIndex) if isempty(deviceIndex) deviceIndex = NaN; end error('Keyboard queue for device %i already in use by GetChar() et al. Use of GetChar and keyboard queues is mutually exclusive!', deviceIndex); end nflushed = PsychHID('KbQueueFlush', deviceIndex, 2); return;