This is a fork of the Orca screen reader, mostly just for fun. It's branched from the gnome 45 release. If you haven't heard about this in person and are working on it, you probably do not want to install it. Your distribution should include orca by default, and if you want the source, here is the [Orca git repository](https://gitlab.gnome.org/GNOME/orca).
Go to file
2024-11-28 15:06:23 -05:00
ci Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
distro-packages/Arch-Linux Remove Classic Preference plugin because of breakages. 2024-11-28 05:46:35 -05:00
docs Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
help Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
icons Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
m4 add basic plugin capability 2024-10-21 02:18:04 +02:00
po More cleanup, changing references to orca to cthulhu instead. 2024-10-20 21:11:35 -04:00
src Tidy up spacing. 2024-11-28 15:06:23 -05:00
test More cleanup, changing references to orca to cthulhu instead. 2024-10-20 21:11:35 -04:00
.gitignore Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
acinclude.m4 Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
AUTHORS More cleanup, changing references to orca to cthulhu instead. 2024-10-20 21:11:35 -04:00
autogen.sh Re-added autogen.sh. 2024-10-17 16:31:50 -04:00
ChangeLog Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
ChangeLog-pre-2.27.1 More cleanup, changing references to orca to cthulhu instead. 2024-10-20 21:11:35 -04:00
configure.ac Missed a file, remove the last of classic preferences plugin. 2024-11-28 05:56:08 -05:00
COPYING Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
cthulhu-autostart.desktop Hopefully got the desktop file working. 2024-10-21 13:20:40 -04:00
cthulhu-autostart.desktop.in Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
cthulhu.doap Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
HACKING More cleanup, changing references to orca to cthulhu instead. 2024-10-20 21:11:35 -04:00
Makefile.am More cleanup, changing references to orca to cthulhu instead. 2024-10-20 21:11:35 -04:00
NEWS More cleanup, changing references to orca to cthulhu instead. 2024-10-20 21:11:35 -04:00
pyproject.toml Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
QUICKSTART Make sure all files that should be present are present. 2024-10-17 16:33:13 -04:00
README.md updated the README. 2024-10-28 21:14:23 -04:00
RELEASE-HOWTO More cleanup, changing references to orca to cthulhu instead. 2024-10-20 21:11:35 -04:00
TODO Removed add SimplePluginSystem as it is now done. 2024-10-23 19:15:45 -04:00

Cthulhu

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, WebKitGtk, and KDE Qt toolkit.

Dependencies

Cthulhu 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)
  • socat - Used for self-voicing functionality.
  • libpeas - For the plugin system.

You are strongly encouraged to also have the latest stable versions of AT-SPI2 and ATK.

Braille

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.

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. Cthulhu also has an excellent plugin system, more documentation and examples coming soon.

Self-voicing

Cthulhu offers a mechanism through which messages may be spoken directly by the screen reader. Usage is as follows:

# Speak hello world.
echo "Hello world." | socat - UNIX-CLIENT:/tmp/cthulhu.sock
# Speak Hello world without interrupting the previous speech.
echo "<!#APPEND#!>Hello world." | socat - UNIX-CLIENT:/tmp/cthulhu.sock
# Make hello world persistant in Braille.
echo "Hello world.<#APPEND#>" | socat - UNIX-CLIENT:/tmp/cthulhu.sock