Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Credits:
https://gorilla.sc/openmaterials/104636
Created: January 21, 2021
Last Modified: January 01, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a Finger Tapping Task similar to the one used by the Behavioural Laterality Battery (Parker et al, 2020). The Fingertapping Task assesses manual preference
Adam J. Parker , Zoe V. J. Woodhead , Paul A. Thompson & Dorothy V. M. Bishop (2020): Assessing the reliability of an online behavioural laterality battery: A pre-registered study, Laterality, DOI: 10.1080/1357650X.2020.1859526 To link to this article: https://doi.org/10.1080/1357650X.2020.1859526
10 minutes
Participants are asked to press a specific key-sequence (e.g. TUMB) as often as possible during 30s. They are tested with their left and right hand (different key sequences)
This script runs 4 rounds of alternating RH-LH (LH-RH) blocks.
The order depends on selected groupnumbers:
odd groupnumbers: start with RH
even groupnumbers: start with LH
Participants hear a 'start' sound and see a timer appear on the screen. They then have 30s to type as many
TUMB-sequences as they can with their right hand or type as many WRVX-sequences with their left hand
(depends on block). Incorrect Responses* get recorded, but script 'waits' for a correct response to
move ahead in the sequence.
Example: T U U M B (counts as a completed sequence)
•Incorrect Responses: by default => one of the three currently incorrected response keys was pressed
Should all keys be potentially valid responses, go to trial.drumming and follow instructions for
/validresponse
provided by Millisecond - can be edited under section Editable Stimuli
provided by Millisecond. The instructions are based on the ones used by
the Behavioural Laterality Battery (Parker et al 2020).
The instructions can edited in the provided htm-file as well as under section Editable Instructions.
File Name: blb_fingertappingtask_summary*.iqdat
| Name | Description |
|---|---|
| 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 |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
| timeout | The block timeouts (in ms) |
| numberOfRounds | The number of RH-LH rounds to run |
| countRounds | The number of RH-LH rounds that were run |
| startHand | The first hand: RH vs. LH |
| meanCompletedSequencesRH | Mean number of completed sequences with the right hand (RH) for the number of complete rounds run |
| meanCompletedSequencesLH | Mean number of completed sequences with the left hand (LH) for the number of complete rounds run |
| propCorrectRH | Proportion correct taps for the right hand (across all RH blocks) |
| propCorrectLH | Proportion correct taps for the left hand (across all LH blocks) |
| meanTappingRTRH | Mean tapping latency (in ms) across all correct and incorrect taps for the right hand |
| meanTappingCorrRTRH | Mean tapping latency (in ms) for correct taps for the right hand this is based on values.corrRT which measures the time intervals (in ms) inbetween correct responses |
| meanTappingRTLH | Mean tapping latency (in ms) across all correct and incorrect taps for the left hand |
| meanTappingCorrRTLH | Mean tapping latency (in ms) for correct taps for the left hand this is based on values.corrRT which measures the time intervals (in ms) inbetween correct responses |
| numberTapsRH | Number of correct and incorrect taps for the right hand (across all RH blocks) |
| numberCorrTapsRH | Number of correct taps for the right hand (across all RH blocks) |
| numberTapsLH | Number of correct and incorrect taps for the left hand (across all LH blocks) |
| numberCorrTapsLH | Number of correct taps for the left hand (across all LH blocks) |
File Name: blb_fingertappingtask_raw*.iqdat
| Name | Description |
|---|---|
| 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 |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| 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. |
| parameters.timeout | The block timeouts (in ms) |
| numberOfRounds | The number of RH-LH rounds to run |
| startHand | The first hand: RH vs. LH |
| hand | The current hand: RH vs. LH |
| countRounds | The round counter |
| currentSequence | The currently tapped key-sequence at the end of the trial ( only stores correct button presses) |
| correctSequence | The current correct response key sequence to tap |
| countCompletedSequences | Counts the number of sequences completed |
| currentButton | The number (1-4) of the current button to be pressed (see response key assignment under section Editable Parameters) |
| correctKey | The correct key to be pressed |
| response | The participant's response (scancode of response button) |
| responseText | The label of the response button pressed |
| selectedButton | The number (1-4) of button that was selected by participant |
| correct | Accuracy of response 1 = correct response (the correct button was pressed) 0 = one of the three currently incorrect response keys was pressed |
| latency | The response latency (in ms) |
| corrRT | Stores the time (in ms) that it takes from one correct response to the next calculated as: the latency (in ms) of current correct response + previously stored values.incorrRT |
| incorrRT | Stores the sum of all incorrect response times (in ms) in between correct responses resets with a correct response |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| correctSequence | The integer order in which the keys (see above) need to be pressed the default sequences are TUMB (RH), WRVX (LH) | "1234" |
| correctSequence | => the sequences to press would be TUMBBMUT (RH) and WRVXXVRW (LH) | "12344321" |
| getReadyDuration | The duration of the block start trial (the 'preparation' trial) | 3000 |
| timeout | The block timeout (in ms) | 30000 |
| numberOfRounds | The number of RH-LH rounds to run | 4 |
Response Key Assignments (This Script Is Coded To Use 4 Different Keys But Can Be Adapted To Run More Or Fewer Than 4) |
||
| responseKey1RH | Key '1' for the right hand | "T" |
| responseKey2RH | Key '2' for the right hand | "U" |
| responseKey3RH | Key '3' for the right hand | "M" |
| responseKey4RH | Key '4' for the right hand | "B" |
| responseKey1LH | Key '1' for the left hand | "W" |
| responseKey2LH | Key '2' for the left hand | "R" |
| responseKey3LH | Key '3' for the left hand | "V" |
| responseKey4LH | Key '4' for the left hand | "X" |