52 votos

Escritorio remoto: Enviando Ctrl-Alt-Flecha Izquierda/Ctrl-Alt-Flecha Derecha al PC remoto

Necesito usar las combinaciones de teclas Ctrl - Alt - Left Arrow y Ctrl - Alt - Right Arrow en una aplicación de mi ordenador. Cuando utilizo Escritorio Remoto para conectarme a ese ordenador, tanto el Cliente de Escritorio Remoto (mstsc.exe) como la implementación del servidor RDP se tragan estas combinaciones de teclas. Las combinaciones parecen estar reservadas al Escritorio remoto, aunque no parecen estar haciendo nada.

¿Existe alguna forma (soportada o no) de deshabilitar este comportamiento para que las combinaciones de teclas sean enviadas a mi aplicación?

0 votos

1 votos

Estas combinaciones son las teclas de acceso rápido de Remote Desktop ( serverfault.com/a/73568/238181 )

24voto

Louis Puntos 121

Las teclas de acceso rápido Ctrl + Alt + Left Arrow y Ctrl + Alt + Right Arrow son consumidos por el Cliente de Escritorio Remoto. Su único efecto es el de volver al ordenador principal.

Parece que esta era una característica prevista que nunca fue completamente programada y completada, pero no hay manera de desactivarla. Estas teclas de acceso rápido ni siquiera están listadas por Microsoft en su documentación oficial en Teclas de acceso directo de los Servicios de Escritorio Remoto .

Solución 1 : Utilizar la versión de Microsoft Store

Se puede encontrar otra versión de RDP en la Microsoft Store en Escritorio remoto de Microsoft .

Esta versión no tiene esta característica semi-implementada, por lo que deja pasar estas teclas de acceso rápido sin problema. Esto fue verificado en Windows 10 versión 1903.

Solución 2 : Traducir las teclas de acceso rápido tanto en el cliente como en el servidor

Esta solución utilizará AutoHotkey instalado tanto en el cliente como en el servidor, para:

  • En el cliente, traduzca las teclas de acceso rápido anteriores a otras que no sean interceptadas por RDP
  • En el servidor, traduzca estas teclas a las teclas de acceso rápido anteriores.

Por ejemplo, puede utilizar en el cliente el siguiente AutoHotkey script para convertir
Ctrl + Alt + arrow a Ctrl + Win + arrow :

;Send Ctrl+Win+Left when user types Ctrl+Alt+Left
^!Left::
send !#{Left}
return

;Send Ctrl+Win+Right when user types Ctrl+Alt+Right
^!Right::
send !#{Right}
return

Puede utilizar en el servidor el siguiente AutoHotkey script para convertir
Ctrl + Win + arrow a Ctrl + Alt + arrow :

;Send Ctrl+Alt+Left when user types Ctrl+Win+Left
^#Left::
send !^{Left}
return

;Send Ctrl+Alt+Right when user types Ctrl+Win+Right
^#Right::
send !^{Right}
return

Si lo desea, puede restringir estas teclas de acceso rápido a determinados Windows o procesos utilizando los comandos AutoHotkey de #IfWin[Not]Active / #IfWin[Not]Exist .

0 votos

Sí, acaba de concederle la recompensa. Esto no me ha llevado a la solución que quería, pero ha respondido a la pregunta de manera que creo que evitará que la gente haga un ripost de la misma pregunta en otros lugares. Buen trabajo.

0 votos

Esto parece una buena solución, pero el problema es que las teclas ctrl-alt ahora no son utilizables en el sistema local porque están traducidas. ¿Es posible hacer la traducción sólo cuando el foco está en la aplicación RDP?

0 votos

Sé que esto es viejo, pero sí, empieza el ahk script con esta línea: #IfWinActive, ahk_exe mstsc.exe

6voto

iamsolarplexus Puntos 61

Gracias al cartel y a las respuestas hasta ahora; éstas me ayudaron a resolver mi problema similar: Tengo atajos de teclado en el editor de texto de mi PC de escritorio que utilizan Ctrl+Alt+... y quería poder utilizarlos cuando accediera a la máquina de forma remota.

Con este AHK script, escribo Win en lugar de Alt y puedo realizar los comandos comentados a continuación. Ahora, independientemente del PC que utilice para acceder al escritorio remoto (es decir, cuando estoy en casa o de viaje), puedo utilizar mis accesos directos (y Win está bastante cerca de Alt). Aquí está mi AHK script:

;Send Ctrl+Alt+Left keys when user types Ctrl+Win+Left
^#Left::
send !^{Left}
return

;Send Ctrl+Alt+Right keys when user types Ctrl+Win+Right
^#Right::
send !^{Right}
return

;Send Ctrl+Alt+Up keys when user types Ctrl+Win+Up
^#Up::
send !^{Up}
return

;Send Ctrl+Alt+Down keys when user types Ctrl+Win+Down
^#Down::
send !^{Down}
return

;Send Ctrl+Alt+Shift+Left keys when user types Ctrl+Win+Shift+Left
^#+Left::
send !^+{Left}
return

;Send Ctrl+Alt+Shift+Right keys when user types Ctrl+Win+Shift+Right
^#+Right::
send !^+{Right}
return

;Send Ctrl+Alt+Shift+Up keys when user types Ctrl+Win+Shift+Up
^#+Up::
send !^+{Up}
return

;Send Ctrl+Alt+Shift+Down keys when user types Ctrl+Win+Shift+Down
^#+Down::
send !^+{Down}
return

Nota, yo uso "Aplicar combinaciones de teclas de Windows...En el equipo remoto" en la Conexión a Escritorio Remoto, por lo que ejecuto este script en el ordenador remoto .

Aunque probablemente hay formas más eficientes de AHK para hacer esto, lo anterior funciona para mí. Espero que esto ayude a alguien más, también.

2voto

Windos Puntos 5619

Asegúrese de que tiene la configuración del teclado en algo apropiado para el uso de RDP. Echa un vistazo a las opciones de tu conexión RDP, en la pestaña de recursos locales.

Si siempre tiene la conexión a pantalla completa, entonces configúrelo en "Sólo cuando use la pantalla completa", pero si no usa RDP en pantalla completa, entonces configúrelo en "En el ordenador remoto".

RDP Key Combo

18 votos

Esto no resuelve el problema. Siempre tengo la conexión a pantalla completa, y la configuración de "Recursos locales/teclado" está establecida en "Sólo cuando se utiliza la pantalla completa". Esto significa que puedo usar Alt-Tab y similares, pero todavía no puedo usar Ctrl-Alt-Flecha Izquierda o Ctrl-Alt-Flecha Derecha.

0 votos

Me parece que Ctrl-Alt-arriba y Ctrl-Atl-abajo sí funcionan; pero Ctrl-Alt-izquierda y Ctrl-Alt-derecha ya no. Aunque todas solían funcionar hasta hace poco.

0 votos

Encuentro esto realmente molesto, mstsc.exe no parece importar lo que intente Ctrl-Alt-Izquierda y Ctrl-Alt-Derecha no funciona. La otra aplicación de Escritorio Remoto (tal vez solo disponible en Windows 10) sí pasa esas pulsaciones pero tiene otras limitaciones como que no soporta doble monitor y parece que se desconecta un montón para mí.

2voto

Zeroes Puntos 36

Para utilizar CtrlAlt + en Far Manager he utilizado el siguiente AutoHotKey script:

!^Right::
send ^+{F9}
return

!^Left::
send ^+{F8}
return

donde bajo CtrlShiftF8 / F9 Tengo macros de Far que hacen lo mismo que cuando se pulsa CtrlAlt + .

Esta solución sólo funciona si en Propiedades, la opción de conexión Teclado está ajustado a "En este ordenador".

0 votos

Estoy marcando esto como la respuesta aceptada porque terminé haciendo algo similar: yo también tengo un AutoHotKey script en mi ordenador anfitrión que captura y traduce la combinación de teclas a una diferente; luego tengo un segundo AutoHotKey script en el ordenador remoto que lo traduce de nuevo a la combinación de teclas original.

0 votos

Pero, esta opción obliga al usuario remoto a cambiar el acceso directo utilizado remotamente, ¿verdad?

0 votos

Ahora hay otra respuesta que muestra cómo usar AutoHotKey para traducir la secuencia de teclas a otra cosa en el cliente, y luego traducirla de nuevo en el servidor: superuser.com/a/1514904/79488 . Estoy marcando esa como la respuesta aceptada ahora porque es más completa y contiene más detalles. Aun así, ¡felicitaciones por la idea de usar AutoHotKey!

2voto

bonomo Puntos 304

Por si sirve de algo, si necesitas Ctrl + Alt + Arriba para trabajar en VSCode una manera menos dolorosa es simplemente reasignar a decir Ctrl + Alt + Num8

enter image description here

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: