PsychoPy3 PsychHID based Keyboard API

Originally posted March 20th, 2019. Background In an earlier post we used a MilliKey response box to test the time stamping accuracy of three different Python accessible keyboard event APIs when receiving 1000 Hz MilliKey USB keyboard events: psychopy.event.getKeys() psychopy.iohub…keyboard.getPresses() Psychtoolbox Python PsychHID() and found that Psychtoolbox PsychHID Python interface provided the most accurate keyboard event time stamps across… Continue reading PsychoPy3 PsychHID based Keyboard API

PsychHID Rules!

Originally posted on Marth 11th, 2019. I spent some time last weekend using the MilliKey response box to test the keyboard event time-stamping accuracy of the PsychToolbox3 PsychHID library written by Mario Kleiner. Given my love of Python, I had to try out the psychtoolbox Python wrapper of PsychHID and compare it to psychopy.event.getKeys() and psychopy.iohub keyboard.getPresses(). This… Continue reading PsychHID Rules!

macOS Display Timing

Originally posted on March 25th, 2019. There has been at least one report of macOS 10.13 / 10.14 adding an extra one frame delay to graphics update times, causing experiment software graphics update times to be off by one retrace. We used the MilliKey DeLux light sensor to look into this further by testings the display change timing of… Continue reading macOS Display Timing

Windows 10 Display Timing

Originally posted on  March 22, 2019. It looks like you need to be careful with your display settings in Windows 10, otherwise Windows 10 could be adding an extra frame delay to the display update times reported by your experiment software. We have found that if the Windows 10 Display -> Scale (and layout) setting is… Continue reading Windows 10 Display Timing

Test Visual Stimulus Onset Timing using Keyboard Events !?

Originally posted on March 6, 2019. In this post we look at how to use the MilliKey DeLux light sensor upgrade to test visual stimulus onset timing using PsychoPy Coder by checking for a keyboard event. The MilliKey DeLux is an affordable and easy to use light sensor attachment for MilliKey response boxes. The MilliKey DeLux can generate light… Continue reading Test Visual Stimulus Onset Timing using Keyboard Events !?

Testing PsychoPy event.waitKeys() Event Timing

Originally posted on February 27, 2019. As discussed in my last post, the LabHackers’ MilliKey button box includes the ability to generate 1000 Hz USB keyboard events after receiving a KGEN serial command. (BTW, the USB2TTL8 also supports the KGEN command.) One of the main uses of the KGEN command is to test keyboard event timing from within your experiment… Continue reading Testing PsychoPy event.waitKeys() Event Timing

Generating Keyboard Events using MilliKey USB Serial Commands

First posted February 27, 2019. LabHackers’ MilliKey and USB2TTL8 devices can generate a USB Keyboard event after receiving a USB serial command from the software it is connected to. This post explains the LabHackers’ KGEN command and illustrates how to use it in a simple Python script. KGEN Serial Command Both the MilliKey and USB2TTL8… Continue reading Generating Keyboard Events using MilliKey USB Serial Commands

Testing Round Trip USB Serial Latency using Python

Originally posted February 26, 2019. One important consideration when using a 1000 Hz USB Serial device interface is the delay from when a Serial message is sent to the device to the time when the Serial reply is received by the program. We call this the round trip, or end to end, USB Serial latency… Continue reading Testing Round Trip USB Serial Latency using Python

Detecting LabHackers’ Serial Port Addresses using Python

First posted February 26, 2019 LabHackers’ MilliKey and USB2TTL8 devices have a USB Serial interface that is assigned a unique address by the operating system the first time the device is connected to a computer. The LabHackers’ Device Manager application can be used to view the serial port address assigned to a device. However, the… Continue reading Detecting LabHackers’ Serial Port Addresses using Python