Ultimate Shift Controller
Guía del usuario
Version 3.0.9

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 1. Tipo de distribución y requisitos
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Tipo: software gratuito, sin coste de uso.

Requisitos:
- Windows de 64 bits (Windows 10/11)
- .NET 8 Desktop Runtime (x64)
- Teclado y ratón

USC es una aplicación de 64 bits. El comportamiento puede variar según el teclado, ratón, aplicación o juego. Las funciones de mando virtual pueden requerir controladores y configuración adicionales.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 2. Instalación
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

No hay instalador. Extrae el ZIP en una carpeta con permiso de escritura, ejecuta UltimateShiftController.exe, configura las asignaciones y pulsa [Guardar]. No lo ejecutes directamente desde el ZIP.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 3. Desinstalación
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Desactiva [Iniciar con Windows], cierra USC también desde la bandeja y elimina la carpeta. Para borrar perfiles y ajustes, elimina también [Settings]. Los controladores instalados aparte para el mando virtual deben desinstalarse por separado.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 4. Acerca de USC
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Ultimate Shift Controller combina entradas de teclado y ratón para reasignar teclas, ejecutar atajos desde botones del ratón y cambiar de asignación mientras mantienes pulsado un activador de capa. Sirve para juegos, edición, escritura, streaming, navegador y otras aplicaciones con muchos atajos. Las funciones básicas no requieren mando virtual.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 5. Funciones principales
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

- Reasignación de teclas y botones de ratón
- Atajos con SHIFT, CTRL, ALT y Windows
- Varias salidas desde una entrada
- F1-F24, Home, End, Insert, Delete, PageUp/PageDown
- Capas NORMAL, HYPER, ULTRA y ULTIMATE
- Turbo, pestañas, perfiles, importación/exportación, HUD y bandeja
- Botones izquierdo/derecho como entrada en HYPER, ULTRA y ULTIMATE
- Traducción local del texto seleccionado mediante Google Chrome

Empieza con NORMAL y HYPER y añade funciones cuando las necesites.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 6. Configuración básica
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. Ejecuta UltimateShiftController.exe.
2. Selecciona la capa que quieres editar.
3. Registra la entrada en el campo superior de una fila.
4. Registra la salida o atajo en el campo inferior.
5. Pulsa [Guardar] y prueba la entrada.

Ejemplo: entrada Q, salida CTRL+1.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 7. Las cuatro capas
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

NORMAL es la capa predeterminada. HYPER se usa mientras se mantiene su activador, ULTRA mientras se mantiene el suyo y ULTIMATE cuando ambos están pulsados. Los botones superiores eligen la capa que editas; los activadores deciden la capa activa.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 8. HYPER / ULTRA / ULTIMATE y ratones externos
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Configura HYPER o ULTRA, registra sus asignaciones y pulsa [Guardar]. ULTIMATE utiliza el estado en el que HYPER y ULTRA están pulsados a la vez.

Los disparadores lógicos de HYPER y ULTRA están limitados a F13-F24 y deben ser distintos.

Ejemplo: HYPER=F13, ULTRA=F14. Además de configurarlo en USC, el botón físico debe enviar la misma tecla F.

Una salida F13-F24 de USC sin Turbo también puede actuar internamente como disparador. Los botones izquierdo y derecho pueden registrarse como entrada en HYPER/ULTRA/ULTIMATE; permanecen bloqueados en la entrada NORMAL y en todos los campos de salida. Una entrada sin Turbo mantiene su salida hasta soltarla.

[Razer Synapse 2]
Synapse 2 guarda F13-F24 aunque no muestre el nombre de la tecla. Para F13: en NORMAL cambia temporalmente F1 para que envíe F13; abre el registro de teclas del botón en Synapse 2; pulsa F1; guarda aunque no aparezca el nombre; después devuelve F1 a su función normal en USC y usa F13 como activador HYPER.

[Razer Synapse 3]
Si permite elegir F13-F24 directamente, asigna F13/F14 al botón y usa la misma tecla en USC.

[Logicool/Logitech G-Shift y G HUB]
G HUB permite seleccionar F1-F24. Asigna F13/F14 a un botón normal o G-Shift y usa la misma tecla en USC.

[Otros dispositivos]
Cualquier ratón o teclado cuyo software pueda registrar F13-F24 puede usar el mismo método. Aunque el nombre no aparezca, si se guarda y envía la tecla, funciona. Usa F13-F24 siempre que sea posible.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 9. Pestañas, perfiles y guardado
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Las pestañas organizan asignaciones. Los perfiles guardan toda la configuración por juego, aplicación o tarea. Pulsa siempre [Guardar]. Los datos están en [Settings]; copia esa carpeta al mover USC.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 10. Turbo, HUD y estado
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Turbo repite la salida. US HUD muestra la capa y etiquetas. CLEAN intenta liberar estados atascados. Keyboard Lock bloquea temporalmente el teclado y se desactiva con el ratón.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 11. Ajustes importantes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Kill de entradas asignadas] evita que actúen a la vez la entrada original y la salida. [Desactivar entradas no asignadas durante la capa] bloquea las entradas sin asignar en HYPER/ULTRA/ULTIMATE. También puedes minimizar/iniciar en la bandeja y ejecutar USC al iniciar Windows.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 12. Mando virtual
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Es una función avanzada que puede requerir controladores, separación entre mando físico y virtual y ajustes del juego. Una configuración incorrecta puede causar doble entrada. Consulta la guía con imágenes:
https://github.com/Lu-ci-el/UltimateShiftController/blob/main/Instructions_en.md

No es necesaria para las funciones de teclado, ratón, capas y atajos.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 13. Solución de problemas
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Guarda los cambios; comprueba los activadores; revisa Kill si hay doble entrada; revisa el bloqueo de entradas no asignadas si faltan teclas; desactiva Keyboard Lock con el ratón; usa CLEAN si queda un estado pulsado; evita Program Files si no se puede guardar.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 14. Contacto y errores
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

https://github.com/Lu-ci-el/UltimateShiftController/issues

Indica el problema, los pasos, si ocurre siempre, el entorno y los logs disponibles. No se garantizan respuesta individual, corrección inmediata ni compatibilidad con todos los entornos. No se aceptan solicitudes de abuso, molestias ni desarrollo personalizado.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 15. Avisos
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Haz copias de [Settings], cierra USC antes de actualizar, comprueba conflictos de atajos y las normas de juegos/servicios. No lo uses para hacer trampas, molestar o interferir con otras personas. El autor no se responsabiliza de daños derivados del uso.


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ USC_TRANSLATION_3_0_4 / Traducción
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

- La traducción requiere Google Chrome de 64 bits y modelos locales compatibles. Microsoft Edge no se usa como alternativa.
- Active «Usar traducción» y abra los ajustes de traducción. La tecla de traducción es una tecla lógica F13-F24 y no puede coincidir con el disparador HYPER o ULTRA.
- Haga clic izquierdo en «Tecla de activación» para capturarla y clic derecho para borrarla. Puede ser una combinación física de teclado/ratón/mando o una salida de mapeo USC sin Turbo de la capa actual. No se mezclan partes físicas e internas.
- El texto extranjero seleccionado se traduce al idioma elegido actualmente en USC. El texto en su propio idioma se traduce al último idioma de conversación correcto o, si no existe, al destino predeterminado.
- El resultado aparece en la ventana simple. Para obtener el texto seleccionado, USC envía Ctrl+C exactamente una vez a la aplicación en primer plano mediante eventos de código de exploración separados, en el orden Left Ctrl DOWN → C DOWN → C UP → Left Ctrl UP, manteniendo Ctrl brevemente antes de pulsar C. Nunca envía C primero ni vuelve a enviar C tras un fallo de copia. Solo traduce si se confirma una actualización del portapapeles; de lo contrario, no traduce y la ventana simple informa que no se pudo obtener la selección. No se usan captura de pantalla ni OCR.
- Los 14 idiomas integrados se pueden preparar de una vez. Otros idiomas se preparan individualmente con una etiqueta BCP-47 cuando Chrome los admite.
- Abrir los ajustes, pulsar Actualizar o seleccionar una fila no inicia una descarga. Solo DL o la descarga en lote tiene permiso para hacerlo.
- Un DL explícito abre en Chrome normal una página local breve protegida por token. Funciona con Chrome ya abierto y comienza solo después de un clic en Chrome. No abre sitios externos y los modelos siguen siendo propiedad de Chrome.
- La traducción normal usa un asistente oculto de una sola solicitud por entrada/salida estándar y no abre página, pestaña, ventana ni listener localhost de Chrome. No descarga modelos automáticamente.
- USC solo guarda ajustes y evidencia ligera en [Settings\Translation]. No copia perfiles, TranslateKit, paquetes, modelos, componentes, runtime ni caché de Chrome al directorio de USC.
- Markdown, URL, código, citas, párrafos y saltos de línea se protegen fuera del modelo, se dividen con límites finitos y se reconstruyen. Guarde los cambios permanentes con [Guardar] en la ventana principal.
