Skip to content

calibre

This directory provides Talon voice control support for Calibre, the open-source e-book management suite, and its companion E-book viewer. It enables seamless navigation through books using standardized Talon commands.

The configuration is divided into two main parts: identifying the applications and mapping user actions to Calibre's keyboard shortcuts.

Application Definitions

Talon needs to recognize when Calibre or its E-book viewer is active. This is handled by two Python files:

  • calibre.py defines the main Calibre application (app: calibre). It targets Windows and Linux systems by matching executable names such as calibre.exe, calibre-parallel.exe, and calibre.
  • calibre_viewer.py defines the E-book viewer (app: calibre_viewer). Because the viewer runs under the main calibre process, it is distinguished by matching window titles ending in "E-book viewer" or "eBook-Betrachter" (for German localization).

E-book Viewer Navigation

The E-book viewer integration implements standardized voice commands for reading and navigating books. This is achieved through a combination of a Talon file and Python action overrides:

  • calibre_viewer.talon activates the standard user.pages and user.chapters tags whenever the E-book viewer is the active window. These tags pull in common voice commands from the core Talon community repository (such as "next page", "go chapter next", etc.).
  • calibre_viewer.py implements the corresponding backend actions to translate these abstract navigation commands into Calibre's specific keyboard shortcuts:

    • Page Navigation (user.pages): Maps "next page" to pagedown, "previous page" to pageup, and "final page" (go to end) to ctrl-end.
    • Chapter Navigation (user.chapters): Maps "next chapter" to ctrl-pagedown and "previous chapter" to ctrl-pageup.