Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/j6k4m8/clack
A code editor for ears
https://github.com/j6k4m8/clack
audio audio-feedback blind code-editor editor low-vision rust text-to-speech
Last synced: 2 days ago
JSON representation
A code editor for ears
- Host: GitHub
- URL: https://github.com/j6k4m8/clack
- Owner: j6k4m8
- Created: 2022-06-13T15:31:45.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-02-21T14:52:12.000Z (almost 2 years ago)
- Last Synced: 2024-10-27T21:44:00.417Z (about 2 months ago)
- Topics: audio, audio-feedback, blind, code-editor, editor, low-vision, rust, text-to-speech
- Language: Rust
- Homepage:
- Size: 75.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
> **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](https://github.com/j6k4m8/clack/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.
```shell
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:
```shell
cargo doc
```