Skip to content

vrs11/KBMaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

KBMaster

KBMaster is a menu bar app that registers a global hotkey and types a configured text snippet into the active application by synthesizing keyboard events.

Requirements

  • macOS 13+
  • Accessibility permission (required for event injection)
  • Input Monitoring permission (required for global hotkey handling)

Build

  1. Open KBMaster.xcodeproj in Xcode.
  2. Set your signing team in the target settings if needed.
  3. Build and Run.

Configure

  • Click the keyboard icon in the menu bar (or the app menu in Debug).
  • Open Preferences.
  • Add one or more shortcuts, record hotkeys, and set the text to type.
  • Optionally enable Start at Login (LaunchAgent).

Permissions

If typing does not work, grant permissions in:

  • System Settings > Privacy & Security > Accessibility
  • System Settings > Privacy & Security > Input Monitoring

The preferences window includes buttons to open the relevant settings panes.

LaunchAgent Notes

KBMaster writes a LaunchAgent plist to:

  • ~/Library/LaunchAgents/com.studio11.kbmaster.plist

Best practice is to keep the app inside /Applications before enabling Start at Login.

Manual Test Plan

  1. Build and run the app from Xcode.
  2. Open Preferences and add a shortcut with a hotkey (Cmd+Opt+T) and a short snippet (e.g., hello world).
  3. Ensure Accessibility permission is granted.
  4. Focus a text field in TextEdit.
  5. Press the hotkey and confirm the text is typed into the field.
  6. Disable the app and confirm the hotkey no longer types.
  7. Enable Start at Login and log out/in to confirm the app starts automatically.

Remote Desktop Note

KBMaster injects Unicode keystrokes so the typed text is layout-independent. For Microsoft Remote Desktop, set Keyboard Mode to Unicode for reliable typing.

Structure

  • Hotkey capture: KBMaster/Modules/Hotkey/
  • Config storage: KBMaster/Modules/Config/
  • Typing engine: KBMaster/Modules/Typing/
  • LaunchAgent integration: KBMaster/Modules/Lifecycle/
  • Permissions: KBMaster/Modules/Permissions/
  • Menu bar and preferences UI: KBMaster/StatusBarController.swift, KBMaster/Preferences/

About

A small tool to do some text manipulations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages