Skip to content

j6k4m8/clack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

clack: an eyes-free code editor

Warning! Clack is still just a v0.1 baby, and while it can be used as a code editor today, key commands and audio feedback are likely to change in response to user feedback. Please submit GitHub issues with comments and suggestions!

Clack is a code editor for your ears.

While clack does have a terminal-based user interface like vim or nano, it is designed to be used with keyboard inputs only, and audio outputs only. That makes clack a perfect editor low low-vision or vision-impaired users, or for users who are sitting in a park with a keyboard-only device.

Clack is not a code editor with audio cues glued on, through janky plugins or aftermarket shims. Intuitive, useful, and complete audio feedback is a design principle, and is a fundamental part of clack's design.

Features

Current

  • Audio cues for menu operations like saving and quitting
  • Audio cues for indent levels
  • Audio cues when switching between modes (edit/find/etc)
  • Code-friendly verbalizations for symbols (... becomes "dotdotdot" instead of being interpreted silently as the end of a sentence)
  • Consistent audio "semantics" for successful / unsuccessful / in-progress operations

Roadmap

Feature Description Landing
Modal editing Modes for editing, like vim September 2022
Find/Replace Find and replace text in the file September 2022
Audio AST Audio cues for syntax highlighting End of 2023
Commute Mode Hands- and eyes-free voice-driven editing End of 2023

Usage

Run clack from the command line like any other terminal-based editor. You can pass a filename to clack to open or create it.

clack main.py

Keyboard Shortcuts

Clack's keyboard shortcuts are still a work-in-progress and support will improve as time goes on. In general, Ctrl shortcuts are "edit" shortcuts, and Alt shortcuts are speech or accessibility shortcuts.

For now, the following shortcuts are supported:

Key Action
Ctrl+F Find (Ctrl-F/Ctrl-B) cycle results
Ctrl+S Save (Esc to cancel)
Ctrl+Q Quit

Speech Commands

Key Action
Alt+L Speak the current line
Alt+/ Speak the current location (Row/Col)
Alt+. Speak the current word

Navigation

Arrow keys move the cursor around. Page-up and page-down scroll the text by a page, and Home/End jump to the start/end of the line.

Hardware

One fun aspect of using Clack is that it can be run entirely by ear, and does not require an integrated terminal. This means that you can use Clack on a keyboard-all-in-one. Here are some (untested and un-verified) examples of such hardware:

  • Raspberry Pi 400
  • PC-K2
  • U310

Documentation

Generate documentation by running:

cargo doc