Autohotkey Ctrl+Shift - Zbrush/Photoshop

Autohotkey Ctrl+Shift - Zbrush/Photoshop

He estado usando Autohotkey durante mucho tiempo para reasignar teclas dentro de softwares CG (principalmente Zbrush y Photoshop) para hacerlos más aptos para zurdos.

Básicamente, reasigno las teclas del teclado numérico a teclas que no puedes cambiar dentro de los programas (Ctrl, Alt, Shift, etc...). De esta manera puedo usar el lápiz de mi tableta gráfica con la mano izquierda y acceder a Ctrl, Alt, etc. usando el teclado numérico, lo cual es mucho más conveniente que desplazar todo el teclado hacia la derecha.

De todos modos, aquí está mi guión:

 #IfWinActive, ahk_class ZBrush

 #MaxHotkeysPerInterval 200



 NumPad1::Alt

 Numpad2::LControl

 Right::Shift

 up::Space

 return

Bastante simple, pero he tenido un error desde que lo creé hace varios años. Básicamente, cuando presiono y mantengo presionado Numpad2+Derecha (Ctrl+Shift) y suelto Numpad2, el programa se comporta como si todavía lo estuviera presionando. Al reprimir Numpad2 muy rápidamente, vuelve a la normalidad, pero es muy molesto. Aquí hay un par de imágenes para ilustrar mejor el problema:

ingrese la descripción de la imagen aquí

¿Sabes por que pasa esto? No soy programador, así que definitivamente me vendría bien un poco de ayuda.

Respuesta1

El problema no parece ocurrir cuando lanzo Justo antes de Numpad2. Es como si presionar Derecha (Shift) impidiera que se soltara el teclado numérico 2 (Ctrl)...

El problema que estás viendo se debe a que el teclado numérico está alterado por ⇧Shift. Presionar ⇧Shiftes similar a alternar la NumLocktecla, pero el efecto es más complejo y no obvio.

Por ejemplo, presionar Numpad-4produciría los siguientes resultados:

          │ Num On │ Num Off
──────────┼────────┼───────────
Shift Off │   4    │    ←
──────────┼────────┼───────────
Shift On  │   ←    │ Shift + ←

Debido a que está reasignando para ser ⇧Shifty usándolo en combinación con una tecla en el teclado numérico, está obteniendo una interacción que complica AutoHotkey y lo confunde con su resultado inesperado (es muy posible que sea ellógicamente correcto, pero ciertamente resultado inesperado y no deseado).

Intente cambiar su clave secundaria Numpad-2a otra que seanomodificado por ⇧Shift, como por ejemplo K. Notarás que ya no obtendrás resultados inesperados.

Este comportamiento ocurre en el controlador del teclado, no en el software, por lo que desafortunadamente, si necesita usarlo ⇧Shiftcomo modificador, no puede usar una tecla del teclado numérico para reasignaciones complejas como esta.

Una opción es utilizar el bloque de edición o las teclas del teclado numérico que no son modificadas por ⇧Shift(los operadores matemáticos, Numpad-5y Numpad-Enter).

Otra opción es escribir un script más complicado que cree un gancho de teclado para verificar las teclas en un nivel inferior, de modo que pueda verificar si la ⇧Shifttecla está presionada y luego compensar según sea necesario.


(Me encontré con este mismo problema hace un tiempo cuando escribí un programa para ingresar Unicode. Estaba tratando de que admitiera el cambio de teclas para ciertos caracteres, pero la modificación estaba arruinando las cosas. Terminé recurriendo a la última sugerencia y escribiendo un guión complicado, pero frustrante, vertiginoso y, al final, terminó siendo algo limitado de todos modos).

Respuesta2

¡Guau! Impresionante respuesta! Rápido y preciso. Muchas gracias. No me di cuenta de que Shift modificó esas teclas, lo que me provocó este comportamiento molesto. La cosa es que estoy tan acostumbrado a esta reasignación de Numpad2 que no puedo darme el lujo de cambiarla sin pasar semanas de readaptación psicomotriz ^^

Logré solucionar el problema simplemente reasignando NumpadDown a Ctrl también ^^ ¡Ahora hago maravillas!

NumPad1::Alt

Numpad2::Ctrl

NumpadDown::Ctrl

Right::Shift

up::Space

    return

Muchas gracias por señalar el origen del problema. Esto me había estado molestando durante años.

información relacionada