Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: April 28, 2017
Last Modified: August 15, 2026 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a Finger Drumming Task, a test of fine motor skills, motor speed and lateralized brain functions, for a touchscreen device.
The task was designed by Millisecond. Note: script checks for a touchscreen - aborts script if no touchscreen is detected
12 minutes
Participants are asked to use their fingers of either the left or your right hand to drum sequences on their touchscreen.
3 versions: for all 3 versions, participants are asked to adjust the screen position of 4 buttons (one button for index finger, middle finger, ring finger and pinky each).
Version 1: tap 4 buttons in sequence, starting with index finger to pinky. Timelimit enforced. Version 2: tap 4 buttons in sequence, starting with pinky to index finger. Timelimit enforced. Version 3: tap any of the 4 buttons in a (randomly) selected sequence. Timelimit enforced.
2 hands: order of left-right hand is counterbalanced by groupnumber
odd groupumbers: run right hand first
even groupnumbers: run left hand first
Participants are asked to adjust the size of the response buttons at the start of the task
( a min = 5% and max = 18% sizeare enforced).
Participants are asked to adjust the screen position of 4 buttons (one button for
index finger, middle finger, ring finger and pinky each) for each hand.
blocks run in random order (to change order go to section EXPERIMENT)
All versions start off with a practice run. After completion of 3 sequences, the task starts with the
appearance of a timer.
Version 1: tap 4 buttons in sequence, starting with index finger to pinky. Timelimit of 1 minute (default) enforced
Version 2: tap 4 buttons in sequence, starting with pinky to index finger. Timelimit of 1 minute (default) enforced.
In both versions, an incorrect tap highlights the missed button which needs to be pressed in order to move
ahead in the sequence
Version 3: tap any of the 4 buttons in a (randomly) selected sequence. The selected button
is highlighted in yellow. An incorrect button press presents feedback and alerts participants that
they have to press the highlighted button to move ahead. Timelimit of 1 minute (default) enforced.
buttons appear gray on black with black finger labeling.
Size of buttons can be adjusted under section Editable Parameters.
provided by Millisecond - can be edited under section Editable Instructions
in script 'fingerdrummingtask_instructions_inc.iqjs'
File Name: fingerdrummingtask_summary*.iqdat
| Name | Description |
|---|---|
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: 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 |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
Overall |
|
| rhCompletionSum | Sum of RIGHT hand completed sequences across the three task versions |
| lhCompletionSum | Sum of LEFT hand completed sequences across the three task versions |
| lateralizationScore | Difference of (rhCompletionSum - lhCompletionSum)/(rhCompletionSum + lhCompletionSum) Range: -1 <= value <= 1 positive value = right hand advantage (left hemisphere dominance for motor skills) negative value = left hand advantage (right hemisphere dominance for motor skills) |
Version1 |
|
| lhCompletedSequencesV1 | Stores the number of completed sequences for left hand version1 |
| lhAccV1 | Stores the proportion correct taps for left hand version1 |
| lhMeanRTV1 | Stores the mean latency (in ms) of correct taps in non-error trials for left hand version1 |
| rhCompletedSequencesV1 | Stores the number of completed sequences for right hand version1 speed and accuracy are necessary for a high number of completed sequences |
| rhAccV1 | Stores the proportion correct taps for right hand version1 |
| rhMeanRTV1 | Stores the mean latency (in ms) of correct taps in non-error trials for right hand version1 |
Version2 |
|
| lhCompletedSequencesV2 | Stores the number of completed sequences for left hand version2 |
| lhAccV2 | Stores the proportion correct taps for left hand version2 |
| lhMeanRTV2 | Stores the mean latency (in ms) of correct taps in non-error trials for left hand version2 |
| rhCompletedSequencesV2 | Stores the number of completed sequences for right hand version2 speed and accuracy are necessary for a high number of completed sequences |
| rhAccV2 | Stores the proportion correct taps for right hand version2 |
| rhMeanRTV2 | Stores the mean latency (in ms) of correct taps in non-error trials for right hand version2 |
Version3 |
|
| lhCompletedSequencesV3 | Stores the number of completed sequences for left hand version3 |
| lhAccV3 | Stores the proportion correct taps for left hand version3 |
| lhMeanRTV3 | Stores the mean latency (in ms) of correct taps in non-error trials for left hand version3 |
| rhCompletedSequencesV3 | Stores the number of completed sequences for right hand version3 speed and accuracy are necessary for a high number of completed sequences |
| rhAccV3 | Stores the proportion correct taps for right hand version3 |
| rhMeanRTV3 | Stores the mean latency (in ms) of correct taps in non-error trials for right hand version3 |
File Name: fingerdrummingtask_raw*.iqdat
| Name | Description |
|---|---|
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| build | Inquisit version number |
| computer.platform | Device platform: 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 |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| hand | 1 = Left Hand (LH); 2 = Right Hand (RH) |
| version | 3 versions: 1 vs. 2 vs. 3 |
| test | 1 = timed test; 0 = untimed practice (first 3 sequences) |
| countTaps | A tap counter |
| index | Helper variable to determine the current tap in the sequence (index of the current tapsequence list) |
| nextIndex | Helper variable to determine the next tap in the sequence |
| currentButton | Stores the number of the current button in the sequence 4 = pinky 3 = ring 2 = middle 1 = index |
| response | The participant's response |
| resp | Participants selected button number |
| correct | Accuracy of response: 1 = INITIAL correct response; 0 = otherwise |
| latency | The response latency (in ms) of the current latency (correct latency) (for initially incorrect responses, latency will include an error adjustment penalty) |
| countCompletedSequences | A counter of how many sequences were completed |
| buttonSize | Helper variable that stores the current button size (in percentage) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| correctSequenceV1 | Stores the correct sequence for version 1 (starting at index: 1 to pinky: 4) | "1234" |
| correctSequenceV2 | Stores the correct sequence for version 2 (starting at pinky: 4 to index: 1) | "4321" |
Sizing Parameters |
||
| buttonSize | The size of the response buttons in proportion to canvas height at script start | 10% |
Timing Parameters |
||
| timeoutV1 | The time limit (in ms) for version 1 | 60000 |
| timeoutV2 | The time limit (in ms) for version 2 | 60000 |
| timeoutV3 | The time limit (in ms) for version 3 | 60000 |