User Manual: Inquisit Dreary-Liewald Reaction Time Task - Simple (DLS)


										English Version
																														


___________________________________________________________________________________________________________________	

					Deary-Liewald Simple Reaction Time Task (DLS)
									- keyboard-
___________________________________________________________________________________________________________________	


Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 09-25-2025
last updated:  09-26-2025 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 09-26-2025 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script implements the Deary-Liewald Simple Reaction Time Task (DLS).
The DLS is a basic simple reaction time task.

Reference:											

 Deary, I. J., Liewald, D., & Nissan, J. (2011). A free, easy-to-use, computer-based simple and
 four-choice reaction time programme: The Deary-Liewald reaction time task. 
 Behavior Research Methods, 43(1), 258–268. https://doi.org/10.3758/s13428-010-0024-1

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________

Participants will see one white box. At random intervals an 'X' appears in it.
As soon as they see the X, they are asked to press the response key.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 1.5 minutes to complete

___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONAIRY
___________________________________________________________________________________________________________________		
The fields in the data files are:

(1) Raw data file: 'XXX_raw*.iqdat'

build:						The specific inquisit version used (the 'build') that was run
computer.platform:			the platform the script was run on (win/mac/ios/android)
computer.touch:				0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard:		0 = no external keyboard detected; 1 = external keyboard detected
display.refreshRate:		vertical refreshrate of the current monitor (in Hz)
date, time: 				date and time script was run 
subject:					with the current subject id
group: 						with the current group id
session:					with the current session id

blockcode, blocknum:		the name and number of the current block (built-in inquisit variable)
trialcode, trialnum: 		the name and number of the currently recorded trial (built-in inquisit variable)
								Note: trialnum is a built-in inquisit variable; it counts all trials run; even those
								that do not store data to the data file.
							
ageCohort:					the entered age cohort
							0 = <18
							1 = 18-25
							2 = 26-44
							3 = 45-60
							4 = 61-80
							5 = >80							
								
//parameter setting:								
minTargetDelayMS:			the minimum target delay (in ms) (delay=onset after trialBegin)
maxTargetDelayMS:			the maximum target delay (in ms) (delay=onset after trialBegin)
minRT:						the minimum valid response time (in ms); measured from onset of target
maxRT:						the maximum valid response time (in ms); measured from onset of target								
								
trialCounter: 				tracks the number of trials run during the current block
sampledTargetDelay: 		the sampled targetDelay
actualTargetDelay: 			the actual targetDelay (the closest to the nearest refreshinterval)

response:					the response of participant (scancode of response button)			
responseText: 				the pressed key
corrResp: 					the correct response key

correct:					correctness of response
							1 = response key pressed AND response time within specified range (response was not greater than maxRT)
							0 = otherwise
										
latency:					response latency (in ms); measured from: start of trial

rt:							response latency (in ms); measured from: onset of target
							Note: early responses (rt < minRT) are tracked BUT are not valid responses => they do NOT end a trial
							(so accidentally pressing a response key does not end the trial, but the script tracks how often this happens)
							
validRT:					0 = the final rt is invalid (rt > parameters.maxRT)
							1 = valid final rt							
							

targetTimestamp: 			the timestamp (elapsedTime of script in ms) of the last target
respTimestamp:				the responseTimestamp (elapsedTime of script in ms) of the last response

eResp: 						0 = no early response was detected during the current trial
							1 = at least one early response was detected during the current trial
							early trial = faster than minRT after target onset
							
eRespCounter:				tracks the number of early responses during the current block (rt < minRT)
							Note: excessive early responding might be considered a red flag
														
slowRespCounter:			tracks number of invalid rts during the current block (rt > maxRT)								

(2) Summary data file: 'xxx_summary*.iqdat'

inquisit.version:			inquisit version run
computer.platform:			the platform the script was run on (win/mac/ios/android)
computer.touch:				0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard:		0 = no external keyboard detected; 1 = external keyboard detected
display.refreshRate:		vertical refreshrate of the current monitor (in Hz)
startdate:					date script was run
starttime:					time script was started
subjectid:					assigned subject id number
groupid:					assigned group id number
sessionid:					assigned session id number
elapsedtime:				time it took to run script (in ms); measured from onset to offset of script
completed:					0 = script was not completed (prematurely aborted); 
							1 = script was completed (all conditions run)	

ageCohort:					the entered age cohort
							0 = <18
							1 = 18-25
							2 = 26-44
							3 = 45-60
							4 = 61-80
							5 = >80
							
trialCounter: 				the number of testtrials run
propCorrect: 				prop correct responses
errors:						number of errors made

eRespCounter:				tracks the number of early responses during the test block (rt < minRT)
							Note: excessive early responding might be considered a red flag
							
slowRespCounter:			tracks number of invalid rts during the test block (rt > maxRT)								
							
							
//Percentile Evaluation: based on Deary et al (2011), Appendix1	
//Assumption: based on default settings (20 test trials with target delays 1000-3000ms, external keyboard)	
//Note: even though Deary et al (2011) provide this data, they do NOT consider them norms.
//"We do not provide norms, and neither should we. We envisage slight between-study differences in overall levels of
reaction times, based on their hardware" Deary et al (2011, p.365)						
							
percentileNote: 			depends on ageCohort:
							Group 0,5: "no empirical data available for this age group";
							Group 2: "based on intrapolated data" //intrapolated by Millisecond Software as the means of the data of the adjacent age cohorts
							=> interpret with extra caution
							Group 1,3,4: "based on empirical data"	//Deary et al (2011), Appendix1	

meanCorrRTPercentile: 		"< 25" //meanCorrRT falls below the 25th percentile (faster than 75% of the age cohort)
							"within range" //value falls between the 25th and 75th percentile
							"> 75" //meanCorrRT falls above the 75th percentile (slower than 75% of the age cohort)
							"NA": no comp data available

sdCorrRTPercentile: 		"< 25" //sdCorrRT falls below the 25th percentile (less rt variability than 75% of the age cohort)
							"within range" // value falls between the 25th and 75th percentile
							"> 75" //sdCorrRT falls above the 75th percentile (more rt variability than 75% of the age cohort)
							"NA": no comp data available
							
errorPercentile: 			"< 25" //number of errors falls below the 25th percentile (fewer errors than 75% of the age cohort)
							"within range" // value falls between the 25th and 75th percentile
							"> 75" //number of errors falls above the 75th percentile (more errors than 75% of the age cohort)
							"NA": no comp data available
							

//corr RT
medianCorrRT: 				median response time (in ms) of correct responses
meanCorrRT: 				mean response time (in ms) of correct responses
sdCorrRT: 					standard deviation of correct response times (in ms)

skewCorrRT:					skewness of the distribution of correct response times 
							Note: uses Excel algorithm
							suggested interpretation:							
							-0.5 <= skew <=0.5 -> fairly symmetrical
							0.5 < |skew| <= 1 -> moderately skewed
							|skew| > 1 -> highly skewed
							
kurtosisCorrRT:				measure of kurtosis of the distribution of correct response times (measure of the "tailedness" or "outlyingness" of a data distribution compared to the normal distribution)
							Note: uses Excel algorithm
							Suggested Interpretation:
							~0: The distribution's tails are similar to those of a normal distribution
							> 0: The distribution is "heavy-tailed," meaning there are more extreme values (outliers) than in a normal distribution (more peaked)
							< 0: The distribution is "light-tailed," meaning there are fewer extreme values or outliers than in a normal distribution (flatter)


(same for incorrectRTs/totalRTs)							
___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

(1) Keyboard Check (optional, see editable parameters): This script can be set to only run on devices with external keyboards
(2) Practice: 8 practice trials (editable)
(3) Test: 20 trials (editable)
(4) Norms*: collects age information and compares response times to published data (Deary et al, 2011, Appendix1)

Trial Sequence:
-> 1 white box in the center of screen
-> target (X) appears in randomly selected box 1000-3000ms after trialOnset (randomly determined delay)
-> X stays on until response (B)

Each trial concludes with a valid response (rt measured from onset of target >= minRT).
Script also notes if participants make anticipatory/early responses.

////////////////////////////////
//Norms*
////////////////////////////////
Percentile Evaluation: based on Deary et al (2011), Appendix1	
	
Even though Deary et al (2011) provide this data, they do NOT consider them norms.
"We do not provide norms, and neither should we. We envisage slight between-study differences in overall levels of
reaction times, based on their hardware" Deary et al (2011, p.365)	

Deary et al (2011) report the percentile info for three age cohorts:
18-25; 45-60; 61-80	 (Note: ages 26-44 are missing)
The data of these three cohorts suggest a linear age trajectories for each measure (mean,sd,errors).
Thus, the 'percentile' data of missing age group '26-44' were 
intrapolated by Millisecond Software as the means of the data points of the adjacent age cohorts.

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________

provided by Millisecond Software - can be edited under section 'Editable Stimuli'
___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________

provided by Millisecond Software - can be edited in script 'dls_instructions_inc.iqjs'
___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code 
to further customize your experiment.

The parameters you can change are:

/ runKeyboardCheck = false		//true = device is screened for an external keyboard
								//false = no external keyboard check is conducted

//design
/ nPracticeTrials = 8			//number of practice trials to run 	-> Deary et al (2011)			
/ nTestTrials = 20				//number of test trials to run 	-> Deary et al (2011)		

//UI:
/ widthPct = 10%				//proportional width of the squares (relative to canvas width)


//timing parameters
/ minTargetDelayMS = 1000		//the minimum delay of the target X (in ms; relative to trialOnset)
/ maxTargetDelayMS = 3000		//the maximum delay of the target X (in ms; relative to trialOnset)

/ minRT = 0						//the fastest response time (in ms; relative to target onset) that should be considered a valid response (and will end a trial)
/ maxRT = 5000					//the slowest response time (in ms; relative to target onset) that should be considered a valid response (that could end in a correct)

//responseKeys:
/ respKey = "B"