Now Shipping! – The EyeLink 3; combined head and eye tracking at up to 1000 Hz.

FAQ: Can I use any button box / response device with my Host PC?
#1
There are two primary methods for collecting participant responses with an EyeLink system.
  • Display PC (Typical Method): Responses are collected via a device (keyboard / button box) attached to your stimulus presentation computer. The specific keyboards, button boxes, or mice you can use depend entirely on what hardware is compatible with your stimulus software (e.g., E-Prime, PsychoPy, Psychtoolbox, Experiment Builder).
  • Host PC (Alternative Method): You can connect a supported button box or response device directly to the EyeLink Host PC. This will generate BUTTON events in your EDF data file.
Host PC Device Compatibility
Which devices you can connect directly to the Host PC depends on your EyeLink model and its software version. Devices typically connect via USB, but most parallel port connections are also supported.


Image
Make/Model
EyeLink II
EyeLink 1000
EyeLink 1000 Plus
EyeLink Portable Duo
Notes
   
Microsoft Sidewinder
(pictured version Only)
X
X*
Plugged into motherboard USB ports only
*Only works with specific Host Models
   
Microsoft Xbox360 (wired)
X
   
Logitech F310
X
X
   
LabHackers Millikey
X
(v5.50 and above)
X
(v6.50 and above)
This button box is typically used via the Display PC
as a standard keyboard device with all EyeLink systems
   
Parallel-Port
Based Button Box
X
X
X
X
Must be configured as discussed below


Configuring a Parallel Port Device
To use a parallel port-based response device (like a Vpixx button box or the SR Research Gamepad), you must first define the buttons using the create_button command on the Host PC. This command tells the system which button number corresponds to which TTL signal from the device. The following command can be added to the FINAL.INI on the Host PC to map a specific TTL input to a BUTTON event.
Code:
## create_button <number> <port> <bitmask> <invert?>
            ;; Defines a button to a bit in a hardware port.
            ;;          <button>: button number, 1 to 8
            ;;          <ioport>: address of hardware port
            ;;          <bitmask>: 8-bit mask ANDed with port to test button line
            ;;          <inverted>: 1 if active-low, 0 if active-high
create_button 1 0x379 0x20 1

You can use the above syntax to create up to 8 individual button mappings.