Skip to content

About

macOS app that fixes Ctrl + left click so it is not interpreted as right click. It lets Ctrl + left click work as a real left click, helping run and play games without shortcut conflicts. Requirement: disable “Select the previous input source” and “Select next source in Input menu” in Keyboard > Shortcuts > Input Sources.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

CntrlMacKeySolved

Pequeña app de barra de menú para macOS que evita que Ctrl + click izquierdo se interprete como clic-derecho. Útil para juegos donde Control es una tecla de acción (sneak, sprint, etc.) y el sistema te roba el click.

El problema

En macOS, AppKit convierte cualquier leftMouseDown con el modificador Control en un rightMouseDown antes de llegar a la aplicación. En juegos que usan Ctrl como tecla de acción y click izquierdo para atacar/seleccionar, esto rompe la jugabilidad: mientras mantienes Ctrl, el click izquierdo deja de funcionar.

Esta conversión no se puede desactivar desde Ajustes del Sistema — las opciones de "Clic secundario" del Trackpad/Mouse solo controlan gestos, no este comportamiento.

La solución

Esta app instala un CGEventTap global que intercepta los eventos leftMouseDown, leftMouseUp y leftMouseDragged, y elimina el modificador Control de ellos antes de que AppKit los procese. El teclado sigue reportando Ctrl como presionado, así que los juegos que leen el estado del teclado para detectar el modificador siguen funcionando.

Importante: con esta app activa, Ctrl + click ya no abrirá el menú contextual en Finder, navegadores, etc. en todo el sistema. Si necesitas clic-derecho, usa el clic-derecho físico del mouse o el gesto de dos dedos del trackpad.

Instalación

  1. Descarga el .dmg desde la sección Releases.
  2. Abre el .dmg y arrastra CntrlMacKeySolved a la carpeta Applications.
  3. Como la app no está firmada con un Developer ID de Apple, al abrirla por primera vez macOS bloqueará la ejecución. Para autorizar:
    • Opción A: En Finder, click derecho sobre la app → Abrir → confirma en el diálogo.
    • Opción B: Ejecuta en Terminal:
      xattr -dr com.apple.quarantine "/Applications/CntrlMacKeySolved.app"
  4. Al abrir la app, macOS pedirá permiso de Accesibilidad. Ve a Ajustes del Sistema → Privacidad y seguridad → Accesibilidad y activa el switch para CntrlMacKeySolved.
  5. El ícono de Control aparece en la barra de menú superior. Ya funciona.

Inicio automático al login

Ajustes del Sistema → General → Elementos de inicio → + → selecciona /Applications/CntrlMacKeySolved.app.

Desinstalar

  1. Sal de la app desde el menú en la barra superior.
  2. Arrastra CntrlMacKeySolved.app a la Papelera.
  3. (Opcional) Revoca el permiso en Ajustes del Sistema → Privacidad y seguridad → Accesibilidad.

Compilar desde el código fuente

Requiere Xcode Command Line Tools o Xcode completo.

git clone https://github.com/LukeOkk/CntrlMacKeySolved.git
cd CntrlMacKeySolved
./scripts/build.sh      # genera build/CntrlMacKeySolved.app
./scripts/package.sh    # genera build/CntrlMacKeySolved.dmg
open build/CntrlMacKeySolved.dmg

El binario se compila universal (arm64 + x86_64) cuando el SDK lo soporta; si no, queda como arm64.

Cómo funciona (detalle técnico)

  • main.swift registra un CGEventTap con tap = .cgSessionEventTap, place = .headInsertEventTap, escuchando leftMouseDown, leftMouseUp, leftMouseDragged.
  • En el callback, si el evento tiene CGEventFlags.maskControl, lo elimina (flags.remove(.maskControl)) y reasigna event.flags.
  • El event tap requiere permiso de Accesibilidad (AXIsProcessTrustedWithOptions). La app pide el permiso al primer arranque y reintenta cada 1.5 s hasta detectarlo concedido.
  • Si el tap se desactiva por timeout o input excesivo (tapDisabledByTimeout / tapDisabledByUserInput), el callback lo re-habilita.

Dependencias

Ninguna. Sólo SDK del sistema (Cocoa, CoreGraphics, ApplicationServices). Sin frameworks externos, sin gestores de paquetes, sin binarios de terceros.

Licencia

MIT — ver LICENSE.

About

macOS app that fixes Ctrl + left click so it is not interpreted as right click. It lets Ctrl + left click work as a real left click, helping run and play games without shortcut conflicts. Requirement: disable “Select the previous input source” and “Select next source in Input menu” in Keyboard > Shortcuts > Input Sources.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages