Mapee la tecla de bloqueo de tapas para escapar de la tecla, o cualquiera a cualquier clave, en los sistemas de Windows.
Además de documentar cómo funciona UNNAP en Windows, este README contiene documentación detallada sobre cómo reasignar las teclas en Linux y Mac también.
La siguiente lista describe brevemente algunas de las características de UNNAP.
Hay varios otros métodos y herramientas disponibles en Windows para asignar una tecla a otra. Pero ninguno de ellos parece tener las cinco características enumeradas anteriormente. Por ejemplo, la edición del valor del registro de mapas Scancode requiere que el sistema Windows se reinicie después de cada cambio. Por otro lado, Autohotkey requiere que se escriba un archivo de script adicional. Por lo tanto, UNNAP se escribió para admitir las cinco características descritas anteriormente.
Uncap es un ejecutable de un solo archivo: uncap.exe .
La forma más sencilla de ejecutarlo es descargarlo y hacer doble clic. No se muestra ninguna ventana de salida. Se ejecuta en el fondo. Una vez que se está ejecutando, cada vez que se presiona la tecla de bloqueo de CAPS, la CONAC de escape la traduce a la tecla de escape.
Es posible anular la asignación predeterminada de la tecla de bloqueo CAPS para escapar de la tecla especificando una asignación personalizada, sin embargo, para hacerlo, la UNCAP debe ejecutarse con argumentos desde el símbolo del sistema o desde el cuadro de diálogo Ejecutar Windows. Los siguientes pasos muestran cómo se puede usar uncap.exe para mapear la tecla de bloqueo de tapas a la tecla de control izquierdo.
Copie uncap.exe a un directorio especificado en la variable PATH de Windows. C:Windows es una ubicación muy conveniente para copiar este archivo.
Iniciar el cuadro de diálogo Ejecutar Windows presionando Windows Logo Key + R
Ingrese el siguiente comando.
uncap 0x14:0xa2
Presione el botón OK. Esto lanzaría UNCAP. No se mostraría ninguna ventana de salida. Uncap se ejecutaría en segundo plano. Cada vez que se presiona la tecla de bloqueo de CAPS ahora, UNCAP la traduciría a la tecla de control izquierdo.
Para finalizar UNCAP, ejecute el siguiente comando.
uncap -k
En los pasos anteriores, la tecla de bloqueo CAPS se asigna a la tecla de control izquierdo especificando 0x14:0xa2 como argumento a UNNAP. El código de clave virtual de bloqueo CAPS es 0x14 y el código de tecla de control virtual es 0xa2 . Por lo tanto, el argumento 0x14:0xa2 mapas de llave de bloqueo de tapas para controlar la tecla.
La lista de códigos de tecla virtual para cada clave se puede encontrar en https://msdn.microsoft.com/library/windows/desktop/dd375731.aspx.
Cuando UNNAP se ejecuta sin ningún argumento, mapea la tecla de bloqueo de tapas para escapar de la tecla. Se puede ejecutar con argumentos para mapear la tecla de bloqueo de CAPS a cualquier tecla, cualquier tecla para cualquier tecla, o deshabilitar cualquier tecla.
Cada argumento es un par separado por colon de códigos de tecla virtual de https://msdn.microsoft.com/library/windows/desktop/dd375731.aspx.
El código de clave virtual puede especificarse como entero hexadecimal como se menciona en la URL anterior o en su notación decimal equivalente. Estos detalles se ilustran en la lista de ejemplos a continuación.
Mapa de llave de bloqueo de tapas para escapar de la tecla.
uncap
Cambas de intercambio Llave de bloqueo con tecla de escape.
uncap 0x1b:0x14
La tecla de bloqueo CAPS ya está asignada para escapar de la tecla de forma predeterminada. Los mapas de comando anteriores se escapan de la tecla de bloqueo de tapas, cambiando de manera efectiva ambas teclas.
El entero hexadecimal es insensible al caso, por lo que el siguiente comando es equivalente al comando anterior.
uncap 0x1B:0x14
Los códigos de clave virtual pueden especificarse en notación decimal, por lo que el siguiente comando es equivalente al comando anterior.
uncap 27:20
Mapa de llave de bloqueo de tapas a la tecla de control izquierdo.
uncap 0x14:0xa2
Cambiar la tecla de bloqueo de tapas y la tecla de control izquierdo.
uncap 0x14:0xa2 0xa2:0x14
Este ejemplo muestra que es posible especificar más de un argumento para asignar múltiples claves a otras teclas.
Aquí hay otro ejemplo que asigna múltiples claves a otras teclas. El siguiente comando mapea la tecla de bloqueo de tapas a la tecla de control izquierdo, la tecla de control izquierdo para escapar de la tecla y la tecla de escape a la tecla de bloqueo de tapas.
uncap 0x14:0xa2 0xa2:0x1b 0x1b:0x14
Si una clave se asigna a sí misma, entonces no se produce mapeo. Esto puede usarse para anular el comportamiento predeterminado de la tecla de bloqueo de capas de mapeo para escapar de la tecla y dejarla sin asignar mientras asigna otra tecla para alguna clave. Aquí hay un ejemplo de que la tecla de bloqueo de tapas y mapas de las capas mapas y la tecla F1 para escapar.
uncap 0x14:0x14 0x70:0x1b
Cuando se asigna una tecla a otra tecla, y se presiona esa tecla, la UNCAP la traduce a la tecla a la que se asigna sintetizando una nueva punta de tecla e inyectándola en el sistema. Pero cuando se asigna una clave a sí misma y se presiona esa tecla, se ignora, por lo tanto, no se produce traducción o síntesis de una nueva pulsación de tecla.
Si una clave se asigna a 0, entonces la clave está deshabilitada. Aquí hay un ejemplo que deshabilita por completo la llave de bloqueo de CAPS.
uncap 0x14:0
Uncap se ejecuta sin mostrar una consola de forma predeterminada. Para finalizar otra instancia de UNNAP que puede estar en ejecución, use la opción -k o --kill .
uncap -k
El comando anterior mata todas las otras instancias de UNNAP que se ejecutan con o sin una consola.
Para ejecutar UNCAP con una consola, use la opción -c o --console .
uncap -c
Cuando UNNAP se ejecuta en una consola como esta, se puede terminar presionando Ctrl + C
Para ejecutar UNNAP en modo de depuración, use la opción -d o --debug .
uncap -d
La salida de depuración contiene una línea de salida con detalles sobre cada presión de una tecla o liberación de una tecla.
Para registrar los detalles de KeyStroke en un archivo, use la opción -f o --file .
uncap -f C:keys.txt
Solo con esta opción, UNCAP se ejecuta en segundo plano y registra los detalles de KeyStroke al archivo especificado. Esta opción se puede combinar con -c o -d para ejecutar UNCAP en una consola o una salida de depuración imprimida en la consola, respectivamente.
Vea los detalles de uso completos junto con las opciones compatibles.
uncap -h
Cuando la UNCAP se descarga con el navegador web Microsoft Edge en Windows 10, a veces no puede asignar las teclas.
Se han encontrado que las siguientes medidas no tienen éxito en resolver el problema:
Haga clic derecho en uncap.exe , luego seleccione propiedades , luego seleccione el desbloque y luego haga clic en Aceptar no resuelve el problema.
Haga clic con el botón derecho uncap.exe , luego seleccionar propiedades , luego ir a la pestaña de seguridad , luego hacer clic en Editar y luego eliminar las siguientes dos cuentas no resuelve el problema:
Unknown Account(S-1-15-2-3624051433-2125758914-1423191267-1740899205-1073925389-3782572162-737981194)
Unknown Account(S-1-15-3-3624051433-2125758914-1423191267-1740899205-1073925389-3782572162-737981194)
Estas cuentas se agregan automáticamente a los archivos descargados con Microsoft Edge.
Se ha encontrado que las siguientes soluciones resuelven el problema con éxito:
Copie uncap.exe a un nuevo archivo en el mismo directorio. El nuevo archivo cuando ejecuta las claves remapsados correctamente. Finalmente, elimine el uncap.exe descargado, luego cambie el nombre del nuevo archivo a uncap.exe y úselo normalmente.
Copie uncap.exe a algún otro directorio. El nuevo archivo copiado cuando ejecuta las claves remapsados correctamente.
Este problema se observó con Microsoft Edge Microsoft Edge 44.17763.1.0 en Windows 10 Pro.
Existen otras herramientas y métodos disponibles para asignar una clave a otra en Windows, Linux y Mac. Esta sección describe algunas de esas herramientas y métodos.
Una forma de asignar una clave a otra clave en Windows sin usar ningún software adicional es editar el registro para agregar un valor llamado "mapa Scancode" en "HKLM System CurrentControlset Control Keyboard Diseño" Clave de registro.
Por ejemplo, para asignar la tecla de bloqueo de CAPS para escapar de la tecla, crear un archivo de entradas de registro, es decir, un archivo con REG como extensión, digamos uncap.reg, con el siguiente contenido.
REGEDIT4
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00
Luego guarde el archivo. Luego haga doble clic en este archivo para agregarlo al registro de Windows. Luego reinicie el sistema de Windows. Después de reiniciar, siempre que se presione la tecla de bloqueo de CAPS, funcionaría como la tecla de escape.
Se puede agregar el mismo valor de registro ejecutando el siguiente comando en el símbolo del sistema.
reg add "HKLMSYSTEMCurrentControlSetControlKeyboard Layout" /v "Scancode Map" /t REG_BINARY /d 00000000000000000200000001003a0000000000
El código hexadecimal en el valor del registro es el mapa del código de escaneo. El formato del mapa del código de escaneo se describe en detalle en https://msdn.microsoft.com/library/windows/hardware/jj128267.aspx#scan_code_mapper_for_keyboards.
El siguiente comando se puede usar para ver este valor de registro.
reg query "HKLMSYSTEMCurrentControlSetControlKeyboard Layout" /v "Scancode Map"
El siguiente comando se puede usar para eliminar este valor de registro.
reg delete "HKLMSYSTEMCurrentControlSetControlKeyboard Layout" /v "Scancode Map"
Si bien este método tiene la ventaja de que no requiere software adicional, una desventaja de este método es que requiere que el sistema se reinicie después de cada cambio en el registro.
Hay una herramienta llamada SharpKeys que viene con la interfaz gráfica de usuario para administrar este valor de registro. Sin embargo, todavía se requiere un reinicio después de cada cambio realizado con kileyes afilados.
Hay un lenguaje de secuencias de comandos bastante sofisticado para Windows llamado autohotkey que se puede usar para asignar una clave a otra, entre muchas otras cosas.
Es bastante simple asignar una tecla a otra usando AutoHotKey. Por ejemplo, después de instalar autohotkey, para mapear la tecla de bloqueo de tapas para escapar de la tecla, crear un script de autohotkey, es decir, un archivo con ahk como extensión, digamos uncap.ahk, con el siguiente contenido.
CapsLock::Esc
Luego guarde el archivo. Luego haga doble clic en este archivo para ejecutar AutoHotKey con este script. Una vez hecho esto, cada vez que se presiona la tecla de bloqueo CAPS, se traduce a la tecla de escape. Aparece un icono de autohotkey en el área de notificación (bandeja del sistema). Para detenerlo, haga clic derecho en el icono y seleccione 'Salir'.
Este método tiene la ventaja de que no requiere reiniciar el sistema. Sin embargo, Autohotkey es un lenguaje de secuencias de comandos que se puede usar para hacer otras cosas, como definir teclas de acceso rápido (teclas de atajo), Hotstrings (auto-reemplazo), macros (acciones escritas), etc. Esto puede sentirse similar a matar a una mosca con un Sledgehammer si uno solo quiere asignar una clave a otra clave.
En Linux, el comando setxkbmap se puede usar para asignar una tecla a otra tecla en el sistema de ventana X. Por ejemplo, la siguiente tecla de bloqueo de tapas de mapas de comando para escapar de la tecla.
setxkbmap -option caps:escape
La lista de opciones junto con una breve descripción para cada una se puede encontrar en/usr/share/x11/xkb/reglas en un archivo .lst con el mismo nombre que la regla XKB actual. La regla XKB actual, así como las opciones de mapeo actuales, se pueden encontrar en la salida de este comando.
setxkbmap -query
Por ejemplo, si 'evdev' se muestra como las reglas actuales, consulte /usr/share/x11/xkb/rules/evdev.lst para la lista de opciones disponibles junto con una breve descripción para cada opción.
En la salida del comando anterior, la línea que comienza con 'reglas:' en la salida del comando anterior muestra las reglas XKB actuales. La opción de asignación de clave se muestra en la línea que comienza con 'Opción:' en la salida del comando anterior. Si no hay tal línea, entonces no se establece ninguna opción de asignación de teclas.
El siguiente comando elimina cualquier opción de asignación de clave.
setxkbmap -option
En Linux, hay otro comando llamado xmodmap que puede usarse para asignar una tecla a otra en el sistema de ventana X. Sin embargo, este comando ahora se considera obsoleto. También es un poco torpe de usar, especialmente al eliminar una asignación clave. El comando setxkbmap descrito en la sección anterior es la forma preferida de mapear claves en el sistema de ventana X. Sin embargo, esta sección describe cómo usar xmodmap para asignar una clave a otra porque este método aún está en uso, aunque su uso se está desvaneciendo gradualmente. Como ejemplo, esta sección describe cómo mapear la tecla de bloqueo CAPS para escapar de la tecla.
Antes de realizar la asignación de llave, uno debe encontrar el código clave de la tecla de bloqueo de CAPS en el sistema de ventana X. Esto es útil al revertir la asignación clave. Aquí está el comando para obtener el código de tecla para la tecla de bloqueo CAPS.
xmodmap -pke | grep Caps_Lock
Para los teclados de PC, el código de teclado suele ser 66 .
El siguiente comando mapea la tecla de bloqueo de tapas para escapar de la tecla.
xmodmap -e "remove Lock = Caps_Lock" -e "keysym Caps_Lock = Escape"
Aquí hay otro comando que también mapea la tecla de bloqueo de CAPS para escapar de la tecla si el código de tecla para el bloqueo de las tapas es 66. Este comando utiliza el keycode en lugar de keysym .
xmodmap -e "remove Lock = Caps_Lock" -e "keycode 66 = Escape"
Los siguientes dos comandos muestran los detalles actuales.
xmodmap -pm -pke
El siguiente comando deshace el mapeo.
xmodmap -e "keycode 66 = Caps_Lock" -e "add Lock = Caps_Lock"
Tenga en cuenta que keycode se usa en el comando anterior. Si keysym Escape = Caps_Lock se usa en su lugar en el comando anterior, entonces, junto con la revertir la tecla de bloqueo de las tapas para funcionar como el bloqueo de las tapas, también cambiaría el comportamiento de la tecla de escape para funcionar como el bloqueo de las tapas. El uso de keycode 66 = Caps_Lock asegura que solo se restablezca el comportamiento de la tecla de bloqueo CAPS.
En Linux, el comando loadKeys se puede usar para asignar una tecla a otra en la consola. Esta sección describe cómo mapear la tecla de bloqueo de CAPS para escapar de la tecla. Todos los comandos en esta sección deben ejecutarse como root o superusuario.
Antes de realizar la asignación de llave, uno necesita encontrar el código clave de la tecla de bloqueo CAPS en la consola. Esto también será útil al revertir la asignación clave.
Aquí hay una forma rápida de encontrar el código clave de la tecla de bloqueo de CAPS en la consola.
dumpkeys | grep -E "CtrlL_Lock|Caps_Lock"
En esta sección, suponemos que el código de clave para la tecla de bloqueo CAPS es 58 y se asigna a la tecla Caps_Lock , lo cual es cierto en la mayoría de los sistemas. En los sistemas basados en Debian, el código clave 58 se puede asignar a CtrlL_Lock para trabajar con Debian Bug 514464 y Kernel Bug 7746.
El siguiente comando mapea la tecla de bloqueo de tapas para escapar de la tecla.
(dumpkeys | grep keymaps; echo keycode 58 = Escape) | loadkeys
El siguiente comando deshace el mapeo.
(dumpkeys | grep keymaps; echo keycode 58 = Caps_Lock) | loadkeys
Dado que MacOS Sierra versión 10.12.1, es fácil mapear el bloqueo de las tapas para escapar a través de las preferencias del sistema . Realice los siguientes pasos para hacerlo.
En OS X, las opciones de mapeo disponibles mediante preferencias del sistema son muy limitadas. Por ejemplo, no permite que el bloqueo de CAPS se mapee para escapar. Por lo tanto, en general, se hace necesario instalar software adicional para mapear las teclas en OS X.
Una herramienta popular para mapear una clave para otra en OS X es SEIL. Aquí hay un artículo de mi hermosa novia y esposa que describe cómo mapear las tapas del bloqueo para escapar en OS X usando Seil: http://sunainapai.in/blog/map-caps-lock-to-escape-on-mac-os-x/.
Aquí hay una lista de enlaces útiles sobre este proyecto.
Este es un software gratuito y de código abierto. Puede usar, copiar, modificar, fusionar, publicar, distribuir, sublicense y/o vender copias de ella, bajo los términos de la licencia MIT. Vea la licencia.md para más detalles.
Este software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita. Vea la licencia.md para más detalles.
Para informar errores, sugerir mejoras o hacer preguntas, visite https://github.com/susam/uncap/issues.