ci | ||
distro-packages/Arch-Linux | ||
docs | ||
help | ||
icons | ||
m4 | ||
po | ||
src | ||
test | ||
.gitignore | ||
acinclude.m4 | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
ChangeLog-pre-2.27.1 | ||
configure.ac | ||
COPYING | ||
cthulhu-autostart.desktop | ||
cthulhu-autostart.desktop.in | ||
cthulhu.doap | ||
HACKING | ||
Makefile.am | ||
NEWS | ||
pyproject.toml | ||
QUICKSTART | ||
README.md | ||
RELEASE-HOWTO | ||
TODO |
Cthulhu v45.3
Introduction
Cthulhu is a free, open source, flexible, and extensible screen reader that provides access to the graphical desktop via user-customizable combinations of speech and/or braille.
Cthulhu works with applications and toolkits that support the assistive technology service provider interface (AT-SPI), which is the primary assistive technology infrastructure for the Solaris and Linux operating environments. Applications and toolkits supporting the AT-SPI include the GNOME GTK+ toolkit, the Java platform's Swing toolkit, OpenOffice/LibreOffice, Gecko, and WebKitGtk. AT-SPI support for the KDE Qt toolkit is currently being pursued.
See also http://wiki.gnome.org/Projects/Cthulhu for detailed information on Cthulhu, including how to run Cthulhu, how to communicate with the Cthulhu user community, and where to log bugs and feature requests.
Dependencies
Cthulhu v45.x is supported on GNOME 45.x only. We highly suggest you use the latest releases of GNOME because they contain accessibility infrastructure and application bug fixes that help Cthulhu work better.
Cthulhu also has the following dependencies:
- Python 3 - Python platform
- pygobject-3.0 - Python bindings for the GObject library
- libpeas - GObject based Plugin engine
- gtk+-3.0 - GTK+ toolkit
- json-py - a JSON (https://json.org/) reader and writer in Python
- python-speechd - Python bindings for Speech Dispatcher (optional)
- BrlTTY - BrlTTY (https://mielke.cc/brltty/) support for braille (optional)
- BrlAPI - BrlAPI support for braille (optional)
- liblouis - Liblouis (http://liblouis.org/) support for contracted braille (optional)
- py-setproctitle - Python library to set the process title (optional)
- gstreamer-1.0 - GStreamer - Streaming media framework (optional)
You are strongly encouraged to also have the latest stable versions of AT-SPI2 and ATK for the GNOME 45.x release.
NOTE FOR BRLTTY USERS:
Cthulhu depends upon the Python bindings for BrlAPI available in BrlTTY v4.5 or better. You can determine if the Python bindings for BrlAPI are installed by running the following command:
python -c "import brlapi"
If you get an error, the Python bindings for BrlAPI are not installed.
Running Cthulhu
If you wish to modify your Cthulhu preferences, you can press "Insert+space" while Cthulhu is running.
To get help while running Cthulhu, press "Insert+H". This will enable "learn mode", which provides a spoken and brailled description of what various keyboard and braille input device actions will do. To exit learn mode, press "Escape." Finally, the preferences dialog contains a "Key Bindings" tab that lists the keyboard binding for Cthulhu.
For more information, see the Cthulhu documentation which is available within Cthulhu as well as at: https://help.gnome.org/users/cthulhu/stable/
Scripting Cthulhu
So, you want to write a script for Cthulhu? The best thing to do is start by looking at other scripts under the src/cthulhu/scripts/ hierarchy of the source tree.