Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Last Modified: January 12, 2026 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script offers an adaptation of the Finger Tapping Test (aka Finger Tapping Oscillation Test) - FTT- for the computer. The FTT is a test of self-directed motor-speed.
This script is based on the description published in Strauss et al (2006).
Strauss, E., Sherman, E. M. S., & Spreen, O. (2006). A compendium of neuropsychological tests : administration, norms, and commentary (3rd ed.). Oxford University Press. https://catdir.loc.gov/catdir/toc/ecip0516/2005020769.html
https://books.google.com/books?id=jQ7n4QVw7-0C&pg=PA1043&lpg= PA1043&dq=Finger+Tapping+Test&source=bl&ots=F52XMBRtZ5&sig= 6fAZl7iCbkBccO4sws0OMiflUCk&hl=en&sa=X&ei=Pwn6ToKgKIrjiALoqdyhDg&ved=0CF0Q6AEwBg#v= onepage&q=Finger%20Tapping%20Test&f=false
Reitan, R. M. (1979). Manual for administration of neuropsychological test batteries for adults and children. Tucson, AZ: Neuropsychology Laboratory.
7 minutes
Participants are instructed to tap the SPACEBAR with either the index finger of their dominant or non-dominant hand as often as they can within a 10s time period (=default). The 10s time period starts with the first tap. Valid taps are those that occur within that 10s time period.
see script fingertapping_instructions_inc.iqjs
File Name: fingertapping_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 |
| roundCountD | Number of rounds run for the Dominant Hand (Range: 5-10), see scoring section |
| roundCountN | Number of rounds run for the Nondominant Hand (Range: 5-10), see scoring section |
| scoreD | The final score for the dominant hand |
| scoreN | The final score for the non-dominant hand |
| lateralizationRatio | (1- nonDominantScore/dominantScore) => a value more than 0.1 (10%) suggests an issue with localized brain dysfunction |
| tiD | Mean tap interval in ms (dominant hand), measured across all dominant rounds => tapping speed |
| sdTID | Standard deviation (SD) of the tap intervals for all dominant tap intervals => variability measure of tapping speed |
| cvTID | Coefficient of variation (CV), relative measure % => lower CV indicates higher consistency |
| tiN | Mean tap interval in ms (nondominant hand), measured across all nondominant rounds => tapping speed |
| sdTIN | Standard deviation (SD) of the tap intervals for all nondominant tap intervals => variability measure of tapping speed |
| cvTIN | Coefficient of variation (CV), relative measure % => lower CV indicates higher consistency |
File Name: fingertapping_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. |
| response | Response in the current trial (e.g. 57 = spacebar press) |
| dominantHand | Whether the dominant (1) or the non-dominant hand (0) is tested |
| roundCount | Keeps track of the number of rounds/blocks run for each hand |
| tapCount | Counts the valid taps in each round (=score) |
| rank1-rank10 | The ranking of the scores |
| scoreDetermined | 1 = the final score was determined; 0 =otherwise |
| finalScore | The final score for the current hand |
| scoreD | The final score for the dominant hand |
| scoreN | The final score for the non-dominant hand |
| restperiod | The duration of the restperiod after a round |
| parameters.maxdifference | The max difference in scores of the five scores used to calculate final score |
| parameters.blockLength | The duration of a block ("round") - after the first tap |
| ti | Stores an array of all the tap intervals in the current round |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| maxdifference | The maximal difference between 5 consecutive scores | 5 |
| blockLength | Determines the length (in s) of the block | 10000 |
| longrestperiod | Determines how long the restperiod (in s) is after block3 (and block6) | 60000 |
| regularrestperiod | Determines the regular restperiod (in s) after a block | 10000 |
| longrestperiodBlock | Determines after how many blocks there should be a longer restperiod | 3 |