All Projects → chrys87 → fenrir

chrys87 / fenrir

Licence: LGPL-3.0 license
An TTY screenreader for Linux.

Programming Languages

python
139335 projects - #7 most used programming language
Roff
2310 projects
shell
77523 projects

Projects that are alternatives of or similar to fenrir

enabler
✋ Accessibility analyzer for your frontend.
Stars: ✭ 19 (-42.42%)
Mutual labels:  accessibility, screen-reader, a11y
cluse
Sketch Plugin to check and adjust color contrast accessibility with live preview and sliders. Endorsed by Sketch.
Stars: ✭ 54 (+63.64%)
Mutual labels:  accessibility, a11y
accessibility-ruleset-runner
eBay Accessibility Ruleset Runner automates 20% of WCAG 2.0 AA recommendations, saving time on manual testing.
Stars: ✭ 24 (-27.27%)
Mutual labels:  accessibility, a11y
sa11y
Sa11y is an accessibility quality assurance tool that visually highlights common accessibility and usability issues. Geared towards content authors, Sa11y straightforwardly identifies errors or warnings at the source with a simple tooltip on how to fix them.
Stars: ✭ 137 (+315.15%)
Mutual labels:  accessibility, a11y
x-terminal
An xterm based Atom plugin for providing terminals inside your Atom workspace.
Stars: ✭ 34 (+3.03%)
Mutual labels:  console, tty
dorai-ui
Accessible, unstyled, open-sourced, and fully functional react component library for building design systems
Stars: ✭ 34 (+3.03%)
Mutual labels:  accessibility, a11y
ansicolor
A JavaScript ANSI color/style management. ANSI parsing. ANSI to CSS. Small, clean, no dependencies.
Stars: ✭ 91 (+175.76%)
Mutual labels:  console, tty
multitextor
Multiplatform command line text editor.
Stars: ✭ 27 (-18.18%)
Mutual labels:  console, tty
accessible-forms
A series of HTML test cases to determine how specific elements are announced in different screen reader / browser combinations.
Stars: ✭ 159 (+381.82%)
Mutual labels:  accessibility, a11y
van11y-accessible-simple-tooltip-aria
ES2015 accessible simple tooltip, using ARIA
Stars: ✭ 22 (-33.33%)
Mutual labels:  accessibility, a11y
aria-collapsible
A lightweight, dependency-free JavaScript module for generating progressively-enhanced collapsible regions using ARIA States and Properties.
Stars: ✭ 25 (-24.24%)
Mutual labels:  accessibility, a11y
buttonbuddy
Learn about accessible button contrast then generate your own accessible button color palette
Stars: ✭ 60 (+81.82%)
Mutual labels:  accessibility, a11y
accessibility-for-teams
A ‘quick-start’ guide for embedding accessibility and inclusive design practices into your team’s workflow
Stars: ✭ 80 (+142.42%)
Mutual labels:  accessibility, a11y
a11ycolor
🌈 Generate the nearest accessible color
Stars: ✭ 29 (-12.12%)
Mutual labels:  accessibility, a11y
std
stdout, for humans.
Stars: ✭ 17 (-48.48%)
Mutual labels:  console, tty
react-awesome-toasts
Toast notifications for react.
Stars: ✭ 64 (+93.94%)
Mutual labels:  accessibility, a11y
a11y breadcrumbs
Accessible breadcrumb pattern
Stars: ✭ 44 (+33.33%)
Mutual labels:  accessibility, a11y
AStack
The Missing SwiftUI Adaptive and Accessible Stacks Library.
Stars: ✭ 110 (+233.33%)
Mutual labels:  accessibility, a11y
aria-at
Assistive Technology ARIA Experience Assessment
Stars: ✭ 115 (+248.48%)
Mutual labels:  accessibility, a11y
auto-vo
Screen reader automation tools by AccessLint, including VoiceOver.js and Auto-VO
Stars: ✭ 118 (+257.58%)
Mutual labels:  accessibility, a11y

Fenrir

A modern, modular, flexible and fast console screenreader. It should run on any operating system. If you want to help, or write drivers to make it work on other systems, just let me know. This software is licensed under the LGPL v3.

OS Requirements

  • Linux (ptyDriver, vcsaDriver, evdevDriver)
  • macOS (ptyDriver)
  • BSD (ptyDriver)
  • Windows (ptyDriver)

Core Requirements

  • python3 >= 3.3
  • screen, input, speech, sound or braille drivers dependencies see "Features, Drivers, Extras".

Features, Drivers, Extras, Dependencies

Input Drivers:

  1. "evdevDriver" input driver for linux evdev
  • python-evdev >=0.6.3 (This is commonly referred to as python3-evdev by your distribution)
  • python-pyudev
  • loaded uinput kernel module
  • ReadWrite permission
    • /dev/input
    • /dev/uinput
  1. "ptyDriver" terminal emulation input driver
  • python-pyte

Screen Drivers:

  1. "vcsaDriver" screen driver for linux VCSA devices
  • python-dbus
  • Read permission to the following files and services:
    • /sys/devices/virtual/tty/tty0/active
    • /dev/tty[1-64]
    • /dev/vcsa[1-64]
    • read logind DBUS
  1. "ptyDriver" terminal emulation driver
  • python-pyte

Speech Drivers:

  1. "genericDriver" (default) speech driver for sound as subprocess:
  • espeak or espeak-ng
  1. "espeakDriver" speech driver for Espeak or Espeak-NG:
  • python-espeak
  1. "speechdDriver" speech driver for Speech-dispatcher:
  • Speech-dispatcher
  • python-speechd
  1. "emacspeakDriver" speech driver for emacspeak
  • emacspeak

Braille Drivers:

  1. "BrlttyDriver" braille driver (WIP):
  • brltty (configured and running)
  • python-brlapi

Sound Drivers:

  1. "genericDriver" (default) sound driver for sound as subprocess:
  • Sox
  1. "gstreamerDriver" sound driver for gstreamer
  • gstreamer >=1.0
  • GLib

Extras:

  1. spellchecker
  • python-pyenchant
  • aspell-YourLanguageCode (example aspell-en for us English)
  1. Unix daemon (also needed for Systemd):
  • python-daemonize
  1. Modify system volume:
  • pyalsaaudio (needs libasound2's headers).

installation

  • Archlinux: PKGBUILD in AUR
  • PIP: sudo pip install fenrir-screenreader
  • Manual:
  • install "espeak" and "sox" with your package manager
  • sudo pip install -r requirements.txt
  • run install.sh and uninstall.sh as root
  • you also can just run it from Git without installing: You can just run the following as root: if you are in Fenrir Git rootfolder: cd src/fenrir/ sudo ./fenrir Settings "settings.conf" is located in the "config" directory or after installation in /etc/fenrir/settings. Take care to use drivers from the config matching your installed drivers. By default it uses:
  • sound driver: genericDriver (via sox, could configured in settings.conf)
  • speech driver: genericDriver (via espeak or espeak-ng, could configured in settings.conf)
  • braille driver: brlttyDriver (WIP)
  • input driver: evdevDriver

Configure pulseaudio

Pulseaudio by default does only play sound for the user its currently running for. As fenrir is running as root, your local user does not hear the sound and speech produced by fenrir. for this fenrir provides a script to configure pulseaudio to stream the sound played as root to your local user. Last is playing the sound then. This is not a issue of fenrir but this is how pulseaudio works.

just run the configuration scipt twice (once as user, once as root).

Run: configure_pulse.sh sudo configure_pulse.sh

The script could also be found at /tools/ in git

localization

copy fenrir.mo translations file from fenrir/locale/your_language/LC_MESSAGES/fenrir.mo to /usr/share/locale/your_language/LC_MESSAGES/fenrir.mo

Documentation

You can see all information on the Wiki: https://wiki.linux-a11y.org/doku.php?id=fenrir_user_manual

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].