Accessibility on Linux has historically been under-developed, under-maintained, and therefore not up to modern standards for many blind people. We're hear to help with that!
Odilia is a new screen reader for the Linux desktop. It's written in Rust, for maximum performance and stability.
This is absolutely not stable or production ready in any way! Everything is in a very early stage and we're breaking things on a daily basis!
To build odilia:
git clone https://github.com/odilia-app/odilia
cd odilia
cargo build --release
# At this point the compiled program is at ./target/release/odilia
# Optionally, run this to install Odilia to ~/.cargo/bin:
cargo install --path .
./setup-permissions.sh
Odilia uses the Linux kernel's evdev interface to listen for and redirect events from input devices, such as your keyboard and mouse.
Evdev is normally a privileged interface, since any application that can access it could use it for malicious purposes,
for example, creating a keylogger. For this reason, to run Odilia, you must give yourself access to evdev. This can be
done by running the setup-permissions.sh shell
script included with Odilia. The script adds some
udev rules, then creates an odilia group. Any users added to this group and the input
group will be able to run
Odilia.
This is a very young project, we appreciate any and all contributions! However, please be aware there is a very llarge learning curve to helping with this project, particularly due to the lack of documentation, or complete documentation, of many of the libraries and technologies that comprise the Linux accessibility stack. For this reason, we are currently focused on learning as much as we can, and writing code to take advantage of it, and we don't have lots of time to mentor new contributors or review pull requests.
Once the ground-work has been layed, accepting contributions should get much easier. We are greatful for your cooperation in this regard!
All our code is licensed under the GPL v3.