# nchudleigh/vimac

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nchudleigh-vimac).**

3,675 stars · 150 forks · Swift · GPL-3.0

## Links

- GitHub: https://github.com/nchudleigh/vimac
- Homepage: https://vimacapp.com
- awesome-repositories: https://awesome-repositories.com/repository/nchudleigh-vimac.md

## Description

vimac is a keyboard-driven user interface controller for macOS that translates keyboard sequences and text labels into graphical interface interactions. It functions as an automation layer that maps keyboard inputs to specific UI element interactions, serving as a navigation tool to reduce reliance on a mouse.

The utility enables mouse-free interface management by replacing pointer movements with keyboard shortcuts for scrolling and clicking. It specifically allows for triggering clicks, double-clicks, or right-clicks on interface elements through the use of assigned short text labels.

The system leverages macOS accessibility automation to locate user interface components and their coordinates. It provides capabilities for simulating mouse events and executing directional scrolling within active windows using keyboard keys.

## Tags

### User Interface & Experience

- [Keyboard Navigation](https://awesome-repositories.com/f/user-interface-experience/keyboard-navigation.md) — Enables comprehensive macOS interface control and interaction through keyboard shortcuts to reduce mouse reliance.
- [Keyboard-Driven Interactions](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-elements/keyboard-driven-interactions.md) — Triggers UI actions and interface interactions using typed text labels and directional keyboard inputs.
- [Keyboard-Driven Navigation](https://awesome-repositories.com/f/user-interface-experience/keyboard-driven-navigation.md) — Implements a navigation scheme that relies on keyboard inputs to interact with the system interface. ([source](https://vimacapp.com/manual))
- [Coordinate-Based Clicking](https://awesome-repositories.com/f/user-interface-experience/links/click-trackers/element-click-simulators/coordinate-based-clicking.md) — Translates target UI element coordinates into synthetic mouse click and movement events.
- [Keyboard-to-Action Mappings](https://awesome-repositories.com/f/user-interface-experience/touch-gesture-handlers/touch-event-processors/coordinate-to-translation-mapping/input-to-action-mappings/keyboard-to-action-mappings.md) — Maps alphanumeric text labels to specific UI element actions for keyboard-driven triggering.
- [Accessibility Input Controls](https://awesome-repositories.com/f/user-interface-experience/accessibility-input-controls.md) — Provides alternative keyboard-driven input methods to control system windows and scrollable regions.
- [Global Input Interceptors](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/input-handling/event-driven-input-handlers/global-input-interceptors.md) — Listens for keyboard patterns to trigger interface interactions without requiring the target window to be focused.
- [Content Scrolling Controls](https://awesome-repositories.com/f/user-interface-experience/horizontal-scrolling-utilities/editor-horizontal-scrolling/content-scrolling-controls.md) — Provides capabilities for scrolling regions of the active window using directional keyboard keys. ([source](https://cdn.jsdelivr.net/gh/nchudleigh/vimac@master/README.md))
- [Coordinate-Based Scroll Commands](https://awesome-repositories.com/f/user-interface-experience/page-layout-frameworks/paging-scroll-layouts/coordinate-based-scroll-commands.md) — Simulates scroll wheel movement via keyboard commands by calculating directional offsets within target elements.

### Part of an Awesome List

- [Mouse and Keyboard Simulation Tools](https://awesome-repositories.com/f/awesome-lists/devtools/keyboard-mouse/mouse-and-keyboard-simulation-tools.md) — Automates the simulation of mouse and keyboard input to optimize navigation workflows on macOS.
- [Keyboard-Driven Interfaces](https://awesome-repositories.com/f/awesome-lists/productivity/keyboard-shortcuts/keyboard-driven-interfaces.md) — Replaces manual pointer movements entirely with keyboard shortcuts for efficient interface management.

### Operating Systems & Systems Programming

- [Accessibility Frameworks](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-api-access/accessibility-frameworks.md) — Uses macOS accessibility APIs to programmatically locate and query system UI elements and their coordinates.

### Testing & Quality Assurance

- [UI Element Interactions](https://awesome-repositories.com/f/testing-quality-assurance/ui-element-interactions.md) — Triggers direct actions such as clicks and scrolls on specific macOS interface objects using keyboard input.

### Business & Productivity Software

- [macOS Workflow Automations](https://awesome-repositories.com/f/business-productivity-software/macos-workflow-automations.md) — Automates repetitive macOS workflows by mapping keyboard sequences to specific UI interactions.
