Community
Voice command set for Talon, community-supported.
Install / Use
/learn @talonhub/CommunityREADME
community
Voice command set for Talon, community-supported.
(Originally called knausj_talon, after its original creator :superhero:)
Can be used on its own, but shines when combined with:
- Cursorless for programming and text editing
- Rango for browser navigation
- gaze-ocr for advanced cursor control using eye tracking and text recognition (OCR)
- AXKit (macOS only) to enhance Talon with native OS accessibility integrations
- Other user file sets
Installation
Prerequisites
- Talon
- Mac, Windows, or Linux
- Talon's built-in Conformer (wav2letter) speech recognition engine (recommended), or Dragon NaturallySpeaking (Windows) / Dragon for Mac (although beware that Dragon for Mac is discontinued and its use deprecated).
Includes commands for working with an eye tracker; an eye tracker is not required.
Linux & Mac
It is recommended to install community using git.
-
Install
git -
Paste the following into the terminal window then press <kbd>Enter</kbd>/<kbd>Return</kbd>:
cd ~/.talon/user git clone https://github.com/talonhub/community community
Note that it is also possible to install community by downloading and extracting a zip file, but this approach is discouraged because it makes it more difficult to keep track of any changes you may make to your copy of the files.
Windows
It is recommended to install community using git.
-
Install
git -
Open a command prompt
-
Paste the following into the command prompt window then press <kbd>Enter</kbd>:
cd %AppData%\Talon\user git clone https://github.com/talonhub/community community
Note that it is also possible to install community by downloading and extracting a zip file, but this approach is discouraged because it makes it more difficult to keep track of any changes you may make to your copy of the files.
Getting started with Talon
help activedisplays commands available in the active (frontmost) application.- Available commands can change by application, or even the window title.
- Navigate help by voice using the displayed numbers (e.g.,
help one oneorhelp elevento open the item numbered 11), or by speaking button titles that don't start with numbers (e.g.,help nextto see the next page of contexts). - Help-related commands are defined in help.talon and help_open.talon.
- Search for commands by saying
help search <phrase>. For example,help search tabdisplays all tab-related commands, andhelp search helpdisplays all help-related commands. - Jump immediately to help for a particular help context with the name displayed the in help window (based on the name of the .talon file), e.g.
help context symbolsorhelp context visual studio help alphabetdisplays words for letters of the alphabet;help symbolsdisplays words for symbols.command historytoggles display of recent voice commands.help formatdisplays available formatters with examples.- Many useful, basic commands are defined in edit.talon.
undo thatandredo thatare the default undo/redo commands.paste that,copy that, andcut thatfor pasting/copy/cutting, respectively.
- For community-generated documentation on Talon itself, please visit https://talon.wiki/.
It's recommended to learn the alphabet first, then get familiar with the keys, symbols, formatters, mouse, and generic_editor commands.
Once you have the basics of text input down, try copying some code from one window to another.
After that, explore using ordinal repetition for easily repeating a command without pausing (e.g., saying go up fifth will go up five lines), window switching (focus chrome), and moving around in your text editor of choice.
If you use vim, just start with the numbers and alphabet, otherwise look at generic_editor.talon as well at jetbrains, vscode, and any other integrations.
Alphabet
The alphabet is defined in this Talon list file.
Say help alphabet to open a window displaying the alphabet. help close closes the window.
Try saying e.g. air bat cap to insert abc.
Keys
All key commands are defined in keys.talon. Say letters of the Talon alphabet for A–Z.
For modifier keys, say help modifiers. For example, say shift air to press <kbd>Shift</kbd> + <kbd>A</kbd>, which types a capital A.
On Windows, try commands such as:
-
control airto press <kbd>Control</kbd> + <kbd>A</kbd> and select all. -
super-shift-sunto press <kbd>Win</kbd> + <kbd>Shift</kbd> + <kbd>S</kbd>, triggering the screenshot application (Windows 10/11). Then tryescapeto exit.
On Mac, try commands such as:
-
command airto press <kbd>⌘</kbd><kbd>A</kbd> and select all. -
control shift command 4to press <kbd>⌃</kbd><kbd>⇧</kbd><kbd>⌘</kbd><kbd>4</kbd>, copying a screenshot of the selected area to the clipboard. Then tryescapeto exit. Please note the order of the modifiers doesn't matter.
Say any combination of modifiers, symbols, alphabet, numbers and function keys to execute keyboard shortcuts. Modifier keys can be tapped using press, for example press control taps the <kbd>Control</kbd> (<kbd>⌃</kbd>) key by itself.
Symbols
Some symbols are defined in symbols.py, so you can say, e.g. control colon to press those keys.
Multi-character punctuation (e.g., ellipses) is defined in symbols.talon.
Formatters
Formatters allow you to insert words with consistent capitalization and punctuation. help format displays available formatters with examples of their output when followed by one two three.
Try using a formatter by saying snake hello world. This inserts "hello_world".
Multiple formatters can be chained together — for example, dubstring snake hello world inserts "hello_world".
Prose formatters (marked with * in the help window) preserve hyphens and apostrophes. Non-prose (code) formatters strip punctuation instead, for example to generate a valid variable name. title how's it going inserts "How's It Going"; hammer how's it going inserts "HowsItGoing".
Reformat existing text with one or more formatters by selecting it, then saying the formatter name(s) followed by that. Say help reformat to display how each formatter reformats one_two_three.
Formatter names (snake, dubstring) are defined here. Formatter-related commands are defined in text.talon.
Mouse commands
See mouse.talon for commands to click, drag, scroll, and use an eye tracker. To use a grid to click at a certain location on the screen, see mouse_grid.
Generic editing commands
Editing commands in edit.talon are global. Commands such as go word left will work in any text box that uses standard platform text navigation conventions.
Repeating commands
Voice commands for repeating commands are defined in repeater.talon.
Say go up fifth or go up five times to go up five lines. select up third will press <kbd>Shift</kbd>+<kbd>↑</kbd> three times to select several lines of text.
Window management
Global window management commands are defined in window_management.talon.
running listtoggles a window displaying words you can say to switch to running applications. To customize the spoken forms for an app (or hide an app entirely from the list), edit theapp_name_overrides_<platform>.csvfiles in the core/app_switcher directory.focus chromewill focus the Chrome application.launch musicwill launch the music application. Note this is currently only implemented on macOS.
Screenshot commands
See screenshot.talon.
Programming languages
More detailed programming support documentation can be found here.
Specific programming languages may be activated by voice commands, or via title tracking.
Activating languages via commands will enable the commands globally, e.g. they'll work in any application. This will also disable the title tracking method (code.language in .talon files) until the "clear language modes" voice command is used.
Commands for enabling languages are defined in language_modes.talon.
By default, title tracking activates languages in supported applications such as VSCode, Visual Studio (requires plugin), and Notepad++.
To enable title tracking for your application:
- Ensure the active filename (including extension) is included in the window title.
- Implement the required Talon-defined
filenameaction to correctly extract the filename from the window title. See the Visual Studio Code implementation for an example.
Python, C#, Talon and JavaS
