6.5 KiB
ShortcutsHelper
Una aplicación de escritorio para Windows que te ayuda a gestionar y recordar atajos de teclado específicos para cada aplicación.
🎯 Descripción
ShortcutsHelper es una herramienta inteligente que detecta automáticamente la aplicación activa en tu sistema y te muestra los atajos de teclado correspondientes. Perfecta para usuarios que trabajan con múltiples aplicaciones y necesitan recordar diferentes combinaciones de teclas.
✨ Características Principales
🔍 Detección Automática de Aplicaciones
- Detecta automáticamente la aplicación activa cada segundo
- Cambia automáticamente el contexto de atajos según la aplicación en uso
- Ignora la propia aplicación para evitar interferencias
📌 Modo Pin
- Modo Normal: La ventana cambia automáticamente según la aplicación activa
- Modo Pin: Fija la ventana a una aplicación específica
- Visibilidad inteligente: se oculta cuando cambias a otras aplicaciones (excepto en modo Pin)
⌨️ Captura de Teclas en Tiempo Real
- Captura cualquier combinación de teclas (Ctrl+C, Alt+F4, etc.)
- Interfaz intuitiva: solo selecciona una fila y las teclas se capturan automáticamente
- Cancelación fácil con la tecla Escape
💾 Guardado Automático
- Guarda cambios automáticamente por inactividad (5 minutos por defecto)
- Persistencia de configuración entre sesiones
- Configuración individual por aplicación (posición de ventana, tamaño de columnas)
⭐ Sistema de Favoritos
- Marca atajos importantes como favoritos
- Resaltado visual de atajos favoritos
- Organización mejorada de tus atajos más usados
🚀 Requisitos del Sistema
- Sistema Operativo: Windows 10/11
- Framework: .NET 8.0 Windows Runtime
- Memoria: Mínimo 50 MB RAM
- Espacio: 20 MB en disco
📦 Instalación
- Clona o descarga el repositorio
- Abre el proyecto en Visual Studio 2022 o superior
- Restaura los paquetes NuGet:
dotnet restore
- Compila el proyecto:
dotnet build
- Ejecuta la aplicación:
dotnet run
🎮 Uso
Uso Básico
- Inicia la aplicación - Se abrirá una ventana siempre visible
- Cambia de aplicación - La ventana mostrará automáticamente los atajos correspondientes
- Agrega atajos:
- Haz clic en una fila vacía
- Presiona las teclas para capturar el atajo
- Escribe la descripción
- Guarda automáticamente - Los cambios se guardan por inactividad
Captura de Teclas
- Selecciona una fila (haciendo clic en la columna "Atajo")
- Método 1: Doble clic en la celda del atajo
- Método 2: Clic derecho → "⌨️ Capturar Teclas"
- Presiona la combinación de teclas deseada
- Cancela con Escape si es necesario
Modo Pin
- Activar: Haz clic en el botón 📌 en la esquina superior izquierda
- Cuando está activo: La ventana solo aparece cuando estás en la aplicación fijada
- Desactivar: Haz clic nuevamente en el botón (se convertirá en 📍)
Gestión de Atajos
- Eliminar: Clic derecho → "🗑️ Eliminar"
- Marcar como favorito: Activa la casilla ⭐
- Editar descripción: Haz clic en la celda de descripción
- Atajos modificados: Se muestran en cursiva hasta guardarse
🎨 Interfaz de Usuario
Elementos Principales
- Header azul: Muestra la aplicación actual y el estado de Pin
- Botón Pin: 📌 (activo) / 📍 (inactivo)
- Contador de atajos: Número total de atajos para la aplicación actual
- DataGrid: Tabla con columnas:
- ⭐ Favorito: Checkbox para marcar atajos importantes
- Atajo: Combinación de teclas (fuente monoespaciada)
- Descripción: Explicación del atajo (soporte multilínea)
Indicadores Visuales
- Fondo amarillo: Atajos marcados como favoritos
- Texto en cursiva: Atajos con cambios pendientes de guardar
- Filas alternadas: Mejor legibilidad con fondo gris claro
⚙️ Configuración
Configuración Automática
- Posición de ventana: Se recuerda por aplicación
- Tamaño de ventana: Personalizable y persistente
- Ancho de columnas: Se ajusta automáticamente
- Aplicación fijada: Se mantiene entre sesiones
Archivos de Configuración
La aplicación guarda la configuración en archivos JSON locales:
- Configuración general de la aplicación
- Atajos específicos por aplicación
- Configuración de interfaz por aplicación
🔧 Dependencias
- MouseKeyHook: Captura global de teclas
- CommunityToolkit.Mvvm: Patrón MVVM
- Extended.Wpf.Toolkit: Controles WPF adicionales
- Newtonsoft.Json: Serialización de configuración
- Ookii.Dialogs.Wpf: Diálogos nativos de Windows
🎯 Casos de Uso
Para Desarrolladores
- Recordar atajos de Visual Studio, IntelliJ, VS Code
- Atajos específicos de navegadores y herramientas de desarrollo
- Comandos de terminal y Git
Para Diseñadores
- Atajos de Photoshop, Illustrator, Figma
- Combinaciones específicas de herramientas creativas
- Flujos de trabajo personalizados
Para Usuarios Generales
- Atajos de Office (Word, Excel, PowerPoint)
- Combinaciones de Windows y navegadores
- Aplicaciones específicas de trabajo
🐛 Resolución de Problemas
La aplicación no detecta cambios de ventana
- Verifica que la aplicación tenga permisos de administrador si es necesario
- Reinicia la aplicación si el problema persiste
Los atajos no se guardan
- Verifica que la aplicación tenga permisos de escritura en su directorio
- Espera al guardado automático (5 minutos) o cierra la aplicación para forzar el guardado
La ventana no se muestra/oculta correctamente
- Revisa el estado del modo Pin
- Verifica que la aplicación objetivo esté en primer plano
🤝 Contribución
¡Las contribuciones son bienvenidas! Si encuentras errores o tienes ideas para mejoras:
- Crea un issue describiendo el problema o la mejora
- Haz un fork del repositorio
- Crea una rama para tu característica
- Realiza tus cambios
- Envía un pull request
📄 Licencia
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
🔗 Links Útiles
Nota: Esta aplicación está diseñada específicamente para Windows y utiliza APIs nativas del sistema operativo para la detección de ventanas y captura de teclas.