Skip to content

Files

Latest commit

 

History

History
 
 

input

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

odilia-input

Input subsystem for the Odilia screen reader.

Part of the Odilia screen reader project.

Design

This crate uses the rdev crate, a Rust wrapper around the Linux / BSD evdev interface. It spawns a new thread which monitors for input events, then sends them to the main program using an asynchronous Tokio::sync::mpsc channel.

Udev Permissions

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.

Contributing

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!

License

All our code is licensed under the GPL v3.