https://github.com/hci-lab-um/cactus

Constraint-free multi-modal Access to Communication Technology for Users with Severe motor impairments. This proposal pushes the state of the art through novel eye-tracking interaction patterns along with the introduction of secondary input modalities to improve throughput and usability.

https://github.com/hci-lab-um/cactus

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 4 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.3%) to scientific vocabulary

Keywords

assistive-technology browser eye-tracking multimodal
Last synced: 4 months ago · JSON representation

Repository

Constraint-free multi-modal Access to Communication Technology for Users with Severe motor impairments. This proposal pushes the state of the art through novel eye-tracking interaction patterns along with the introduction of secondary input modalities to improve throughput and usability.

Basic Info
  • Host: GitHub
  • Owner: hci-lab-um
  • License: gpl-3.0
  • Language: JavaScript
  • Default Branch: master
  • Homepage:
  • Size: 141 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 51
  • Releases: 4
Topics
assistive-technology browser eye-tracking multimodal
Created over 6 years ago · Last pushed 5 months ago
Metadata Files
Readme License Roadmap

README.md

CACTUS Icon

CACTUS Eye Browser Setup Guide

Welcome to CACTUS an accessible browser for users who rely on eye-tracking and alternative input devices. This guide outlines the required settings and software configurations to use CACTUS effectively across various platforms and devices.

Installation

There are two ways to get started.

Download and install the latest release

Download latest release

Download code and build

20.11.1 <= Node Version < 21 (It cannot be used with versions later than 20 because node-sass is depricated) 1. Download and install node 2. `cd` into repository 3. Run `npm install` 4. Run `npm install -g gulp` 5. Run `npm rebuild node-sass` 6. Run `npm rebuild electron`

You may create a binary for your platform by calling

npm run dist

Running

  1. If you have the executable: look under the 'dist' folder
  2. Alternatively use npm run start from your commmand line

People

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

GPL3

Setup and Usage Instructions

  • Ensure your eye tracker or pointer device is properly calibrated.
  • Open CACTUS using your preferred method (e.g. desktop shortcut, pinned taskbar).
  • For pointer-based control (e.g. using eyes or head), make sure a system-wide pointer movement tool is active and configured (explained below).

Tobii and Tobii Dynavox

Windows Control (MyTobiiDynavox)

Required for: Tobii Dynavox I-Series, PCEye, or similar devices using Windows Control.

Setup Steps:

  1. Open Settings > Taskbar.
  2. Add the Move Cursor task to the taskbar:
    • Click on the Change button of Tasks.
    • Tick the checkbox next to the Move Cursor if not already selected.
  3. Navigate to the Selection tab.
  4. Enable Tertiary Selection by ticking the checkbox.

After Setup:

  • Open CACTUS.
  • Activate Sticky Move Cursor using Tertiary Selection (visit the Tutorial from the Settings for guidance).
  • You can now browse using eye-based pointer and dwell selection.

Classic Tobii Gaze Interaction Software

Legacy software used with older Tobii devices.

  • Enable mouse emulation within the Gaze Interaction settings.
  • Launch CACTUS once gaze-to-pointer is active.

TD Control (Tobii Dynavox)

Does not support mouse pointer movement directly.

Workaround:

  • To use CACTUS, switch to Gaze Point:
    1. Close TD Control.
    2. Open Gaze Point software (enables gaze-controlled mouse movement).
    3. Use CACTUS as normal.
    4. When done, close Gaze Point and reopen TD Control to return to AAC use.

Gaze Point (Standalone)

  • Launch Gaze Point.
  • Ensure the pointer control is working.
  • Open CACTUS and use it with gaze control.

GazePoint GP3

  • Use third-party applications built with the GP3 SDK to enable pointer control.
  • Once enabled, open CACTUS and begin navigation.

Pupil Labs Pupil Core

  • Requires third-party software built on the Pupil Core SDK.
  • Make sure pointer control is active through your application.
  • Launch CACTUS for interaction.

IrisBond Hiru

Pointer control feature not yet tested with CACTUS.

  • Built-in pointer control is available in some configurations.
  • Users may attempt to use CACTUS with pointer enabled and report back on functionality.

EyeTech Digital Systems

  • Pointer control is available through:
    • EyeOn
    • QuickACCESS
    • Third-party applications (SDK required)

Note: These configurations are not fully tested. Use at your own discretion.


Quha Zono (Head Mouse)

  • Works out of the box.
  • No extra setup required for pointer movement.
  • Simply open CACTUS and use as with a standard mouse.

Experimental and Not Yet Tested

Some devices or software have not yet been fully tested with CACTUS. If you attempt to use CACTUS with these and encounter issues, please open an issue or contact the development team.


Troubleshooting

  • If the pointer is not moving: Confirm that your pointer control software is active and not blocked by other applications. Ensure tertiary selection is enabled (when using Windows Control).
  • CACTUS is unresponsive: Try restarting the browser and pointer control software.
  • Eye tracker not detected: Verify hardware connection, calibration, and system permissions.

Need Help?

If you're unsure how to configure your system or need help with setup, feel free to: - Open an issue in this repository - Contact the support team on: cactus@um.edu.mt


Happy browsing with CACTUS!

Owner

  • Name: hci-lab-um
  • Login: hci-lab-um
  • Kind: organization

GitHub Events

Total
  • Release event: 8
  • Watch event: 1
  • Delete event: 22
  • Issue comment event: 1
  • Public event: 1
  • Push event: 38
  • Pull request event: 15
  • Create event: 25
Last Year
  • Release event: 8
  • Watch event: 1
  • Delete event: 22
  • Issue comment event: 1
  • Public event: 1
  • Push event: 38
  • Pull request event: 15
  • Create event: 25

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 376
  • Total Committers: 4
  • Avg Commits per committer: 94.0
  • Development Distribution Score (DDS): 0.298
Past Year
  • Commits: 288
  • Committers: 2
  • Avg Commits per committer: 144.0
  • Development Distribution Score (DDS): 0.097
Top Committers
Name Email Commits
mariebuhagiar 2****e@g****m 264
Chris Porter c****r@u****t 107
neil-um n****i@u****t 3
Chris Porter c****s@a****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 30
  • Total pull requests: 13
  • Average time to close issues: 3 months
  • Average time to close pull requests: 3 minutes
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 0.17
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 7
Past Year
  • Issues: 26
  • Pull requests: 8
  • Average time to close issues: 3 months
  • Average time to close pull requests: 3 minutes
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.15
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • chrisporter-um (18)
  • mariebuhagiar (8)
Pull Request Authors
  • dependabot[bot] (13)
  • mariebuhagiar (9)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
dependencies (13) javascript (8)

Dependencies

package-lock.json npm
  • 533 dependencies
package.json npm
  • electron ^18.3.14
  • gulp ^4.0.2
  • gulp-sass ^5.1.0
  • lodash ^4.17.11
  • node-sass ^8.0.0
  • original-fs ^1.0.0
  • path ^0.12.7