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.
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.
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.
- Descarga el
.dmgdesde la sección Releases. - Abre el
.dmgy arrastra CntrlMacKeySolved a la carpeta Applications. - 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"
- Al abrir la app, macOS pedirá permiso de Accesibilidad. Ve a Ajustes del Sistema → Privacidad y seguridad → Accesibilidad y activa el switch para CntrlMacKeySolved.
- El ícono de Control aparece en la barra de menú superior. Ya funciona.
Ajustes del Sistema → General → Elementos de inicio → + → selecciona /Applications/CntrlMacKeySolved.app.
- Sal de la app desde el menú en la barra superior.
- Arrastra
CntrlMacKeySolved.appa la Papelera. - (Opcional) Revoca el permiso en Ajustes del Sistema → Privacidad y seguridad → Accesibilidad.
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.dmgEl binario se compila universal (arm64 + x86_64) cuando el SDK lo soporta; si no, queda como arm64.
main.swiftregistra unCGEventTapcontap = .cgSessionEventTap,place = .headInsertEventTap, escuchandoleftMouseDown,leftMouseUp,leftMouseDragged.- En el callback, si el evento tiene
CGEventFlags.maskControl, lo elimina (flags.remove(.maskControl)) y reasignaevent.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.
Ninguna. Sólo SDK del sistema (Cocoa, CoreGraphics, ApplicationServices). Sin frameworks externos, sin gestores de paquetes, sin binarios de terceros.
MIT — ver LICENSE.