Skip to content

Voice control for SikuliX IDE – speak commands, get code snippets inserted automatically #658

@sl5net

Description

@sl5net

Hi SikuliX community,

I wanted to share a small plugin I built for the SL5-Aura speech recognition service that adds voice control to the SikuliX IDE.

What it does

While SikuliX IDE is the active window, you can speak commands and the corresponding code snippet is inserted at the cursor position automatically. No manual typing needed.

Examples (currently in German, but easy to adapt):

You say Inserted code
"klick" click("image.png")
"doppelklick" doubleClick("image.png")
"warte" wait("image.png", 10)
"exists" if exists("image.png"):
"find all" for m in findAll("image.png"):
"drag drop" dragDrop("source.png", "target.png")
"while" full while-loop template
"popup" popup("message")
... ...

The plugin is window-aware — it only activates when SikuliX IDE is in focus.

How it works

The core is a simple Python mapping file (FUZZY_MAP_pre.py). Each entry is just a tuple:

('click("image.png")', r'^\s*(klick\w*|click)\s*$', 85, {
    'flags': re.IGNORECASE,
    'only_in_windows': ['sikulixide', 'SikuliX'],
}),

No complex logic — the replacement string is typed directly into the IDE via the system's input pipeline.

Looking for contributors

The current mapping is German (de-DE). If anyone wants to add their language (e.g. en-US, fr-FR, es-ES), it is just a matter of adding alternative regex patterns to the same file — no Python knowledge required beyond copy-paste.

Repo: https://github.com/sl5net/SL5-aura-service
Plugin path: config/maps/plugins/sikulix/de-DE/FUZZY_MAP_pre.py
https://github.com/sl5net/SL5-aura-service/blob/master/config/maps/plugins/sikulix/de-DE/FUZZY_MAP_pre.py

Happy to answer questions or help others add their language!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions