Documentation

Technical specifications, setup guide, and instructions to audit the app independently.

Why Accessibility is Required

macOS restricts keystroke interception and translation to the CGEventTap subsystem, which explicitly requires Accessibility privileges.

KeyXamathi utilizes this permission exclusively to:

  • Buffer incoming keystrokes during the layout transition window (latency buffer).
  • Translate misattributed characters before sending them back to the active application.
  • Monitor Caps Lock key state.

What We Do NOT Request

Input Monitoring — Not requested because we use .cghidEventTap (active tap requiring Accessibility) rather than a .listenOnly passive logging tap.

You can verify this in System Settings → Privacy & Security → Input Monitoring — KeyXamathi will not be listed.

Setup & Configuration

Step 1: Installation

Open the .dmg archive and drag KeyXamathi into your Applications folder. If Gatekeeper displays an unnotarized developer alert, right-click the app icon and select Open.

Step 2: Grant Accessibility

The app displays an onboarding guide with a shortcut directly opening System Settings.

  1. Navigate to System Settings → Privacy & Security → Accessibility.
  2. Toggle the switch next to KeyXamathi to enable it.
System Settings
Privacy & Security
♿️ Accessibility

Accessibility

Allow the applications below to control your computer.

KeyXamathi
👉 Toggle ON to enable keystroke buffering and seamless switching.

Step 3: Choose Switch Mode

Three operating modes are available:

Option 1: Standard Caps Lock

Relies on macOS native switching without remapping. Works out-of-the-box but retains slight system latency.

Option 3: F19 on External Keyboards Only

Remaps external keyboards only, keeping your MacBook internal keyboard default.

🔍 Independent Privacy Audit Guide

Do not just take our word for it — here is how to inspect and verify the network traffic of KeyXamathi yourself.

1

Activity Monitor — Quickest & Easiest

Difficulty: Easy (Built into macOS)

  1. Open Activity Monitor (Applications → Utilities).
  2. Switch to the Network tab.
  3. Search for KeyXamathi.
  4. Observe the Sent Bytes column — it will remain strictly at 0 bytes throughout your typing session.
2

Little Snitch / LuLu — Realtime Firewall

Difficulty: Intermediate

  1. Launch Little Snitch or LuLu (free open-source firewall).
  2. Start KeyXamathi and type across various apps.
  3. Observe that no outbound connection prompts or network rules are triggered.
3

Wireshark / tcpdump — Deep Packet Inspection

Difficulty: Advanced

sudo tcpdump -i en0 -n "host not 192.168.1.1 and port not 53"

Filter traffic while interacting with KeyXamathi to confirm zero outbound sockets are initiated.

Technical Architecture

Architecture Universal Binary (arm64 + x86_64)
Memory Footprint ~15–25 MB RAM (native Swift)
CPU Consumption < 0.1% background idle
Core Subsystems CGEventTap, Carbon TIS (Text Input Source), IOKit hidutil

Technical FAQ

Does KeyXamathi work inside password fields?

Yes, but password fields handle input with secure event isolation, so typo autocorrection engines are disabled inside secure text inputs.

Why does Caps Lock remap require F19?

F19 is a standard macOS virtual keycode that does not conflict with physical keys, allowing an instant hardware-level trigger for input source switching.