This file is indexed.

/usr/share/psychtoolbox-3/PsychBasic/KbQueueCheck.m is in psychtoolbox-3-common 3.0.14.20170103+git6-g605ff5c.dfsg1-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
function [pressed, firstPress, firstRelease, lastPress, lastRelease] = KbQueueCheck(deviceIndex)
%  [pressed, firstPress, firstRelease, lastPress, lastRelease] = KbQueueCheck([deviceIndex])
%
%  Obtains data about keypresses on the specified device since the 
%  most recent call to this routine, KbQueueStart, or KbQueueWait
%  Clears all scored events, but unscored events that are still being
%  processsed may remain in the queue
%
%  pressed: a boolean indicating whether a key has been pressed
%
%  firstPress: an array indicating the time that each key was first
%  pressed since the most recent call to KbQueueCheck or KbQueueStart
%
%  firstRelease: an array indicating the time that each key was first
%  released since the most recent call to KbQueueCheck or KbQueueStart
%
%  lastPress: an array indicating the most recent time that each key was
%  pressed since the most recent call to KbQueueCheck or KbQueueStart
%
%  lastRelease: an array indicating the most recent time that each key
%  was released since the most recent call to KbQueueCheck or 
%  KbQueueStart
%
%  For firstPress, firstRelease, lastPress and lastRelease, a time value
%  of zero indicates that no event for the corresponding key was
%  detected since the most recent call to KbQueueCheck or KbQueueStart
%
%  To identify specific keys, use KbName (e.g., KbName(firstPress)) to
%  generate a list of the keys for which the events occurred
%
%  For compatibility with KbCheck, any key codes stored in
%  ptb_kbcheck_disabledKeys (see "help DisableKeysForKbCheck"), will
%  not caused pressed to return as true and will be zeroed out in the
%  returned arrays. However, a better alternative is to specify a
%  keyList arguement to KbQueueCreate. 
%
% _________________________________________________________________________
%
% See also: KbQueueCreate, KbQueueStart, KbQueueStop, KbQueueCheck,
%            KbQueueWait, KbQueueFlush, KbQueueRelease

% 8/19/07    rpw  Wrote it.
% 8/23/07    rpw  Modifications to add KbQueueFlush

if nargin < 1
    deviceIndex = [];
end

% Try to check if keyboard queue for 'deviceIndex' is reserved for our exclusive use:
if ~KbQueueReserve(3, 2, 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

global ptb_kbcheck_disabledKeys;
if nargin==0
  [pressed, firstPress, firstRelease, lastPress, lastRelease] = PsychHID('KbQueueCheck');
elseif nargin > 0
  [pressed, firstPress, firstRelease, lastPress, lastRelease] = PsychHID('KbQueueCheck', deviceIndex);
end

% Any dead keys defined?
if ~isempty(ptb_kbcheck_disabledKeys)
   % Yes. Disable all dead keys - force them to 'not ever pressed or released':
   firstPress(ptb_kbcheck_disabledKeys)=0;
   firstRelease(ptb_kbcheck_disabledKeys)=0;
   lastPress(ptb_kbcheck_disabledKeys)=0;
   lastRelease(ptb_kbcheck_disabledKeys)=0;

   % Reevaluate global key down state:
   pressed = any(firstPress);
end