Skip to main content
Have a personal or library account? Click to login
Open-Source Pipeline of Cursor-Tracking for Likert-Scale Data Collected in Qualtrics Cover

Open-Source Pipeline of Cursor-Tracking for Likert-Scale Data Collected in Qualtrics

Open Access
|Jun 2026

Figures & Tables

Figure 1

Data architecture.

Table 1

Definition and location of variables.

VARIABLEUNITLOCATIONMEANING
MidintPythonLocation of where in the array the answer was clicked
xPosPxJavascriptx-coordinate of cursor relative to upper left-hand corner of browser
yPosPxJavascripty-coordinate of cursor relative to upper left-hand corner of browser
timemsJavascripttime elapsed from beginning of survey
onLoadTimemsJavascripttime where the specific question started loading
onReadyTimemsJavascripttime at which the page for each trial was loaded
buttonClickTimemsJavascripttime at which the question to a specific question was answered
pageSubmitTimemsJavascripttime at which subject proceeded to next trial by clicking ‘Next’
windowWidthpxJavascriptWidth of subject’s browser window at beginning of trial
windowHeightpxJavascriptHeight of subject’s browser window at beginning of trial
LatencymsJavascriptTime between OnReadyTime and first cursor movement
alertsintJavascriptAlerts received during each trial:
0 = None
1 = Started too early
2 = Started too late
3 = Surpassed time limit for trial
4- window too small to fully display experiment
browser_BrowserStringJavascriptInternet Browser
browser_VersionStringJavascriptBrowser version
browser_Operating SystemStringJavascriptOperating system
browser_ResolutionStringJavascriptBrowser resolution
UserLanguageStringJavascriptLanguage used by participant
NextButtonLeftpxJavascriptLocation of Next button left most boarder
NextButtonRightpxJavascriptLocation of Next button right most boarder
NextButtonToppxJavascriptLocation of Next button top most boarder
NextButtonBottompxJavascriptLocation of Next button bottom most boarder
Question VariablespxJavascriptLocation of each button in the x,y plane of the browser
QuestionCounterintJavascriptThe number of times a person presses an answer to a specific question
AmbivalenceScore (Axis Crossing)StringPythonWhether the cursor remains on one side of the Likert-scale or crosses over response option 3 (Undecided)
SpeedmsPythonHow long a person took to answer a specific question
Velocitypx/msPythonHow fast one is traveling through the browser at any given time
Accelerationpx/ms^2PythonHow much one’s velocity has changed when traveling through the browser at any given time
Angular DisplacementintPythonHow much one’s direction changes when traveling through the browser at any given time
CorrectedScoreStringPythonThe score that is corrected according to regression
StartDateStringJavascriptDate and time of when the person started
EndDateStringJavascriptDate and time of when the person ended
DurationmsJavascriptDuration that the participant took to answer the survey
FinishedBooleanJavascriptWhether or not the participant finished the survey
IDStringPythonUnique ID for each Participant

[i] Note. Px = Pixel; Ms = Millisecond; Int = Integer; Boolean = True or False; String = List of Characters.

Table 2

Technical characteristics collected.

BROWSER TYPEBROWSER VERSIONOPERATING SYSTEMALERTS - TOO EARLYALERTS - TOO LATEWINDOW WIDTHWINDOW HEIGHT
C1Chrome109.0.0.0Windows NT 10.0021440757
C2Chrome125.0.0.0Windows NT 10.0001592723
C3Chrome126.0.0.0Windows NT 10.0411680889
C4Chrome125.0.0.0Windows NT 10.0101536730
C5Chrome125.0.0.0Windows NT 10.0111280897
C6Chrome125.0.0.0Windows NT 10.0101920919
C7Chrome96.0.4664.110Linux x86_64711821890
C8Chrome96.0.4664.110Linux x86_64331821890
C9Chrome125.0.0.0Windows NT 10.0011373773
C10Chrome124.0.0.0Windows NT 10.0501920911
V1Chrome116.0.0.0Macintosh211440815
V2Chrome125.0.0.0Windows NT 10.0101536730
V3Chrome124.0.0.0Macintosh0121601056
V4Chrome125.0.0.0Macintosh1219201084
V5Chrome125.0.0.0Windows NT 10.0221536825
V6Chrome125.0.0.0Windows NT 10.0302049910
V7Chrome125.0.0.0Macintosh111440728
V9Chrome125.0.0.0Windows NT 10.0341920869
E2Chrome125.0.0.0Windows NT 10.0401707748
E3Chrome125.0.0.0Windows NT 10.0001920953
E4Edge125.0.0.0Windows NT 10.01120481048
E6Chrome125.0.0.0Windows NT 10.0001707801
E7Chrome124.0.0.0CrOS x86_64 14541.0.0301707791
E8Chrome125.0.0.0Windows NT 10.0011680849
E9Chrome125.0.0.0Windows NT 10.0131536730
E10Chrome125.0.0.0Windows NT 10.0001920911

[i] Note. C1-E10 are de-identified participant identifiers.

Table 3

Overview of collected variable output for a single questionnaire item.

VARIABLE NAMEDATA TYPEEXAMPLE VALUE
Answercharacter [1]1 = Strongly Disagree
onLoadTimeinteger [1]71103
onReadyTimeinteger [1]71111
buttonClickTimeinteger [1]77487
NextClickTimeinteger [1]78592
windowWidthinteger [1]1440
windowHeightinteger [1]757
alertscharacter [1]NONE
latencyinteger [1]2684
NextLeftinteger [1]670
NextRightinteger [1]753
NextTopinteger [1]63
NextBottominteger [1]29
AmbivalenceScoreinteger [1]264
Origininteger [2]–5
(Question Variables) midinteger [1]48
(Question Variables) xPosinteger [62]0
(Question Variables) yPosinteger [62]7
(Question Variables) timeinteger [62]73795
(Question Variables) AmbivalenceValuecharacter [1]Negative
(Question Variables) QuestionCounterinteger [1]1
(Question Variables) Regression Slopedouble [1]–0.502
(Question Variables) Corrected Scorecharacter [1]2 = Disagree
(Question Variables) Speeddouble [1]–0.1331
Velocity (Real)list [48]0.0000
Velocity (Normalized)double [48]–0.861
Velocity (Average)double [1]0.047
Velocity (SD)double [1]0.9591
Velocity (Max)double [1]3.8172
Velocity (Min)double [1]–0.8608
Acceleration (Real)double [48]0.0000
Acceleration (Normalized)double [48]–0.0719
Acceleration (Average)double [1]0.0851
Acceleration (SD)double [1]1.4292
Acceleration (Max)double [1]4.3457
Acceleration (Min)double [1]–5.7688
Angular Displacement (Real)double [48]0.0000
Angular Displacement (Normalized)double [48]–0.892
Angular Displacement (Average)double [1]–0.1819
Angular Displacement (SD)double [1]0.8541
Angular Displacement (Max)double [1]2.359
Angular Displacement (Min)double [1]–0.8918

[i] Note. This data is from participant C1. SD = Standard Deviation; Max = Maximum; Min = Minimum; The character type double is a numerical data type used to represent real numbers with decimal points.

Figure 2

Additional variables cursor movement visualizations.

Note. These are examples output from the optional ‘2_Visualizations’ script found in the Python folder on GitHub, which enables users to visually inspect cursor trajectories for each participant and questionnaire item. Plotted here are the real (non-normalized) values for velocity (left), acceleration (middle), and angular displacement (right) across a single participant’s responses to a questionnaire item (participant C1, and question ‘8_URICA’). The script can also display normalized values if desired. These visualizations are supplementary and do not affect the data pipeline; they are provided as an optional tool for users who wish to explore individual-level cursor dynamics in more detail.

DOI: https://doi.org/10.5334/jors.690 | Journal eISSN: 2049-9647
Language: English
Page range: 46 - 46
Submitted on: Feb 1, 2026
Accepted on: May 1, 2026
Published on: Jun 8, 2026
Published by: Ubiquity Press
In partnership with: Paradigm Publishing Services
Publication frequency: 1 issue per year

© 2026 Nellie Siemers, Zachary Jamieson, Xinran Gao, Mira Saad, Bärbel Knäuper, published by Ubiquity Press
This work is licensed under the Creative Commons Attribution 4.0 License.