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
|
/*
/osxptb/trunk/PsychSourceGL/Source/OSX/Eyelink/EyelinkButtonStates.c
PROJECTS: Eyelink
AUTHORS:
cburns@berkeley.edu cdb
E.Peters@ai.rug.nl emp
f.w.cornelissen@med.rug.nl fwc
PLATFORMS: Currently only OS X
HISTORY:
11/22/05 cdb Created.
TARGET LOCATION:
Eyelink.mexmac resides in:
EyelinkToolbox
*/
#include "PsychEyelink.h"
// Help strings
static char useString[] = "result = Eyelink('ButtonStates')";
static char synopsisString[] =
"reads the currently-known state of all buttons\n"
"the bits in the returned value will be\n"
"set (1) if corresponding button is pressed\n"
"LSB is button 1, MSB is button 16\n"
"currently only 8 buttons available\n";
static char seeAlsoString[] = "SendKeyButton";
PsychError EyelinkButtonStates(void)
{
psych_uint16 iButtons = 0;
double *pfOutArg = NULL;
// Add help strings
PsychPushHelp(useString, synopsisString, seeAlsoString);
// Output help if asked
if(PsychIsGiveHelp()) {
PsychGiveHelp();
return(PsychError_none);
}
// Check arguments
PsychErrorExit(PsychCapNumOutputArgs(1));
PsychErrorExit(PsychCapNumInputArgs(0));
// Verify eyelink is up and running
EyelinkSystemIsConnected();
EyelinkSystemIsInitialized();
iButtons = eyelink_button_states();
// Allocate an output matrix. Even if argument is not there, we still get the space.
PsychAllocOutDoubleArg(1, FALSE, &pfOutArg);
*pfOutArg = iButtons;
return(PsychError_none);
}
|