Skip to content

Automatically presses Enter for you when you finish dictating

Notifications You must be signed in to change notification settings

vasilescur/DictationEnter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dictation Enter icon

Dictation Enter

A macOS menu bar utility that automatically presses Enter for you when you finish dictating (with Wispr Flow or similar).

When you hold a trigger key (default: Fn) to dictate, Dictation Enter detects the release and sends an Enter keypress after a configurable delay. This lets you dictate into text fields and chat apps without needing to manually confirm with Enter afterward.

Requirements

  • macOS 13.0 or later
  • Accessibility permission (the app will prompt you on first launch)

Installation

Important

You need to run the app with extra permissions: After installing-- In Finder, navigate to Applications, Right-Click DictationEnter, and click Open. This is different from opening the app normally (i.e. via Spotlight Search), and Apple will give the app slightly more permissions when you do it this way. (permission/Gatekeeper issues)

Then, in System Preferences > Privacy and Security, at the bottom, allow the app to open despite being Unverified. Once the app is running, grant the requested system Accessibility permission.

Download the DMG from the latest release, open it, and drag Dictation Enter into Applications.

Usage

Once running, Dictation Enter appears as a 🎙️⏎ icon in your menu bar. Click it to:

  • Enable/Disable the app
  • Open Preferences to configure the trigger key, timing, and launch-at-login

image

Trigger

By default, the trigger is the Fn key. You can change it to any key combination or a mouse button in Preferences.

Timing

The delay before Enter is pressed is controlled by three parameters:

  • Base Wait Time -- minimum delay after releasing the trigger (for short presses).
  • Threshold -- hold duration below which the base wait time applies.
  • Scale -- for every N extra seconds of hold beyond the threshold, add 1 second of wait time.

For holds shorter than the threshold, the wait time equals the base wait time. For longer holds, the wait time increases proportionally.

Building

The entire app is a single Swift file compiled with swiftc. Run the build script:

./build.sh

This will:

  1. Generate the app icon (if AppIcon.icns doesn't exist)
  2. Compile DictationEnter.swift
  3. Create the .app bundle and ad-hoc code sign it
  4. Generate the DMG background image (if dmg_background.png doesn't exist)
  5. Create a styled DMG installer at DictationEnter.dmg

To force regeneration of the icon or DMG background, delete the respective file before running build.sh.

Creating a release

After building, create a GitHub release with the DMG attached:

gh release create v1.x DictationEnter.dmg --title "v1.x" --notes "Release notes here."

License

MIT

About

Automatically presses Enter for you when you finish dictating

Topics

Resources

Stars

Watchers

Forks