EmacsWiki: Category Accessibility (original) (raw)
This page is about ways to improve accessibility for Emacs.
Non-traditional ways of using Emacs
Enhancements to traditional ways of using Emacs, can improve accessibility esp. for for the physically challenged. In particular, Emacs can provide functionality to people who cannot or do not want to use only a standard keyboard, mouse, and screen. Such non-traditional means include speech activation, screen readers, FootSwitches, special or modified keyboards, key-chording, GamePad, and mobile access.
Probably more than any other βeditorβ
available the standard current Emacs distribution provides myriad facilities for accessing functionality in non-standard ways. There are few better choices than Emacs for physically challenged users seeking to make the most of their computing environment. Because there are very few tools capable of providing accessibility features like Emacs it is important to take time to understand what Emacs can do for you before becoming discouraged.
On a more cautious note, see RepeatedStrainInjury. π
Standard Emacs - Minor Modifications
- FontLockColorsAccessibility β Suggestion to change font-lock-* faces to enhance accessibility.
- MovingTheCtrlKey β How to move the Ctrl (or Control or βC-β) key into a more accessible position β see also CategoryKeys
- StickyModifiers β reducing repetitive strain injury by clicking keyboard keys in a combination like C-M-s one by one.
- XModMap β can be used to map modifiers to a more convenient location β like the number row β so you can use them without straining your wrists. Yay!
Directing Emacs by Voice
- ConversationalEmacs β using speech input and output together
- EmacSpeak β a complete audio desktop environment
- EmacspeakTricks β Tips and tricks for Emacspeak users.
- VrMode β a library to interface with Dragon Naturally Speaking
- ShortTalk β a special spoken language for editing
Directing Emacs Using Alternative Devices
- EmacsVersor β editing semantically relevant parts of text (not just the traditional set of character, word, line, sentence, sexp, paragraph or defun, and page) through a narrow-channel interface such as keypad, GamePad or FootSwitches
- ShortStep β custom FootSwitches hardware
- FootSwitches β using pedals with Emacs
Extending Emacs Accessibility with Packages
As compared with most other editors Emacs presents a very stripped down GUI interface and it can be easy to get lost/confused when initially using Emacs. Therefore, users should explore and become familiar with the standard Emacs accessibility features before electing to add an additional utilities which extend the standard behavior.
While this may seem obvious to longtime Emacs users, new users often donβt know what they donβt know and may as a consequence be mistaken into believing that just because the presence of a feature isnβt immediately accessible it must therefore require an extension.
With regards to Emacs accessibility extensions it is paramount that new Emacs users first seek to understand what needs are and are not being met by standard Emacs before attempting to modify their Emacs input environment in non-standard ways.
For example, both the Anything and Icicles package suite provide Emacs extensions which may enhance accessibility for some users; however, to realize the full benefit of the Anything and Icicles feature sets may require installation of multiple files and numerous extensions and may modify the standard Emacs in ways which conflict with the the existing accessibility features otherwise provided by the current standard Emacs distribution. IOW, Caveat Emptor.
Other Libraries that May Make Emacs More Accessible
The packages enumerated in the following sections, while not specifically claimed by their authors as having been developed to improve user accessibility using non-standard approaches, devices, etc. may none the less be of use. These packages listed here have been divided into two sections:
- Those which require installation of a single lisp file;
- Those which require multiple lisp files or packages to achieve their full functionality vis a vis their claim to extension of Emacsβ existing accessibility features.
Small Utility Packages - Single-File
- ChangingCursorDynamically β change cursor type and color, depending on context
- CrosshairHighlighting β making the cursor location more apparent by highlighting current line and column; track cursor or show cross hairs momentarily.
- HighlightCurrentLine
- HighlightCurrentColumn
- OnScreen β guide your eyes while scrolling