¿Cómo cambiar la tecla de acceso directo para cambiar entre escritorios virtuales en Windows 10?

64

En Linux utilizo un acceso directo para cambiar entre 4 espacios de trabajo: win+ 1/2/3/4.

Me gustaría tener algo como esto en Windows 10.

SOLUCIÓN ACTUALIZADA 2017, WINDOWS 10x64

  1. Actualice su versión de Windows a la más reciente a través de este actualizador . También puede necesitar Visual C ++ Redistribuible para Visual Studio 2015
  2. Descargar y descomprimir este Windows 10 Virtual Desktop Enhancer (0.9.1) me funciona.
  3. Cambie el contenido del archivo settings.ini a
[KeyboardShortcuts]
Switch=LWin
Move=LAlt, Shift, Ctrl
MoveAndSwitch=LAlt, Shift
Previous=Left
Next=Right
PlusTen=
  1. Ejecute virtual-desktop-enhancer.exe como administrador .
Dariusz Filipiak
fuente
2
Esta es una pregunta válida. En Windows 10, puede cambiar entre vistas de escritorio virtual. Esto es muy similar a cómo Mac OSX y Linux le han permitido cambiar en el pasado.
Geruta
¿Tal vez hay un símbolo del sistema o un comando de PowerShell que puede cambiar a un escritorio específico? (Si es así, debería ser fácil hacer un script por lotes o algo así y luego usar la tecla automática para redirigir win + 1/2/3/4 a dicho script por lotes) de lo contrario, cuando un programa cambia el foco a, Windows 10 cambiará al escritorio en el que se encuentra ese programa. Esto significa que si hay una manera de abrir un programa en un escritorio específico, podría ser posible hacer lo que describí anteriormente con algunos trucos basados ​​en esa función.
Cestariano
Tenga en cuenta que, de manera predeterminada, en Windows 10, se WIN + 1/2/3/4...abre, cambia o minimiza la ventana en la posición numerada correspondiente en la barra de tareas. Por ejemplo, si tengo Chrome anclado a la barra de tareas en la posición 1 y actualmente está cerrado, WIN + 1lo abriré. Presionar nuevamente lo minimizará, y presionar nuevamente traerá de vuelta la ventana. Puedo combinar esto con otros atajos; ahora presionar WIN + SHIFT + 1abriría una nueva ventana de Chrome, por ejemplo.
Ninjakannon
Actualización: la versión (0.9.1) funciona sin ningún problema en ver. 1903 de mayo de 2019
Dariusz Filipiak

Respuestas:

41

Lo que necesitas es lo siguiente:

  • Ventana de ajuste: WIN +LEFToRIGHT (se puede usar conUPoDOWNpara entrar en cuadrantes)
  • Cambiar a la ventana reciente: Alt +Tab(sin cambios) - Hold muestra una nueva ventana de la vista de tareas, suelta y cambia a la aplicación.
  • Vista de tareas: WIN +Tab: la nueva vista de tareas se abre y permanece abierta.
  • Crear nuevo escritorio virtual: WIN +Ctrl+d
  • Cerrar el escritorio virtual actual: WIN +Ctrl+F4
  • Cambiar escritorio virtual: WIN +Ctrl+LEFToRIGHT
Geruta
fuente
Entonces, la diferencia aquí es que primero debe crear el segundo escritorio con (WIN + CTRL + D), y luego cambiarlo con (WIN + CTRL + RIGHT)
Geruta
17
Todavía carece de una manera de cambiar a un escritorio específico con un acceso directo (es decir, directamente desde el escritorio 1 al escritorio 3)
Cestarian
Desafortunadamente, WIN CTRL RIGHT no funciona en un Samsung Ativ 9+. IZQUIERDA funciona, pero no hay ajuste entre, por ejemplo, 3 escritorios virtuales. ¿Alguien con una mejor experiencia?
carl
3
Votado en contra por no responder la pregunta: pregunta cómo cambiarlo, específicamente para poder usar un número de escritorio para cambiar.
Luc
16

Creo que acabo de construir exactamente lo que estás buscando. Utilizo un administrador de ventanas en Linux y quería usar teclas de acceso rápido de manera similar en Windows.

https://github.com/pmb6tz/windows-desktop-switcher

Mi script usa CapsLock porque es más conveniente para mí, pero puede configurarlo fácilmente para que funcione para usted. Probablemente haya un error o dos allí, pero en general he encontrado que es bastante sólido. ¡Espero que esto te ayude!

droptic
fuente
Ese script simplemente funciona perfectamente, después de que comenté el último párrafo del código. Gracias por compartir. He realizado una solicitud de extracción con los cambios que hice en el código.
David
12

Acabo de crear un script para autohotkey que logra esto en Windows 10 para hasta 10 escritorios.

Cómo hacerlo funcionar:

Descargue e instale autohotkey . Copie y pegue el siguiente código en el bloc de notas y guárdelo con la extensión de archivo .ahk

Sugiero hacer un acceso directo de este archivo en su carpeta de inicio para que se ejecute cuando se inicie Windows.

HOTKEYS POR DEFECTO:

Cambiar escritorio: WIN + NÚMERO DE ESCRITORIO (0 = número de escritorio 10)

Nuevo escritorio: CTRL + WIN + D

Cerrar escritorio: CTRL + WIN + F4

Mostrar estado del escritorio: WIN + '

IMPORTANTE:

Para que funcione, SOLO debe usar teclas de acceso rápido para abrir, cerrar y cambiar escritorios porque el script escucha estas teclas de acceso rápido para conocer el número actual y total de escritorios.

Si crea, cierra o cambia los escritorios a través del menú WIN + TAB con el mouse, el script dejará de funcionar. Para que vuelva a funcionar, deberá editar las dos primeras líneas para reflejar el estado actual de sus escritorios. (desktopcount / currentdesktop)

Esto no significa que no pueda usar la pantalla WIN + TAB como una descripción general de sus escritorios actuales. En realidad, puede usarlo en combinación con las teclas de acceso rápido para organizar sus escritorios. Sí, las teclas de acceso rápido aún funcionan cuando el visor de tareas de Windows está abierto. (WIN + TAB) Simplemente NO use el mouse !!!

Además, espere a que la secuencia de comandos se cargue después del inicio de Windows antes de crear nuevos escritorios o no funcionará. Esto podría tomar un momento dependiendo de cuántos programas de inicio tenga.

Ok, agregué una cosa más para que sea más fácil volver a sincronizar el script con el estado de su escritorio. Ahora hay una tecla de acceso rápido que mostrará el estado en el que el script cree que están los escritorios, por lo que todo lo que tiene que hacer es ajustar sus escritorios con el mouse para que se ajuste al script y todo se sincronizará nuevamente. Para mí, con un teclado suizo, funcionó muy bien tener el '? tecla junto a 0 y tiene sentido con un? en él, pero en otros teclados es posible que desee cambiar esto, lo que se puede hacer fácilmente cambiando la línea justo después de la tecla de acceso rápido para 0/10 (comenzando con # ') a lo que desee.

En realidad, me acabo de dar cuenta ... siempre y cuando el Conteo del escritorio sea correcto, la creación de un nuevo escritorio volverá a sincronizar automáticamente el valor del Escritorio actual.

(Las líneas que comienzan con; son comentarios y no afectan el guión)

Código:

#NoTrayIcon
;If the script stops working:
;Change the following values to reflect your current desktop state and reload the script.
;Remember to change them back to 1 after reloading the script if you have it set to start with Windows

desktopcount := 1
currentdesktop := 1

;You can change the hotkeys for creating, closing, and switching desktops bellow.
;The current hotkeys are CTRL+WIN+D for new desktop, CTRL+WIN+F4 to close desktop
;and WIN+NUMBER for switching desktops.
;For example, to change the hotkey for new desktop replace ^#D bellow with the desired hotkey.
;Refer to the autohotkey documentation for a full list of symbols refering to modifier keys,
;as you can see ^ is CTRL and # is WIN key.
;If you wanted to change the switch desktop from WIN key to CTRL for example you would have
;to replace the # before each number to a ^

^#D::NewDesktop()
^#F4::CloseDesktop()
#1::SwitchDesktop(1)
#2::SwitchDesktop(2)
#3::SwitchDesktop(3)
#4::SwitchDesktop(4)
#5::SwitchDesktop(5)
#6::SwitchDesktop(6)
#7::SwitchDesktop(7)
#8::SwitchDesktop(8)
#9::SwitchDesktop(9)
#0::SwitchDesktop(10)
#'::MsgBox Desktop Count = %desktopcount%`nCurrent Desktop = %currentdesktop%

;Do not change anything after this line, unless you know what you are doing ;)
;-----------------------------------------------------------------------------------------------
SwitchDesktop(desktop)
{

    global desktopcount
    global currentdesktop
    desktopdiff := desktop - currentdesktop
    if (desktop > desktopcount)
    {
        return
    }
    if (desktopdiff < 0)
    {
        desktopdiff *= -1
        Loop %desktopdiff%
        {
        Send ^#{Left}
        }   
    }
    else if (desktopdiff > 0)
    {
        Loop %desktopdiff%
        {
        Send ^#{Right}
        }
    }
    currentdesktop := desktop
}

NewDesktop()
{
    global desktopcount
    global currentdesktop
    if (desktopcount > 9)
    {
        return
    }
    desktopcount ++
    currentdesktop := desktopcount
    Send ^#d
}

CloseDesktop()
{
    global desktopcount
    global currentdesktop
    desktopcount --
    if (currentdesktop != 1)
    {
        currentdesktop --
    }
    Send ^#{f4}
}
OptimistPrime
fuente
También puede agregar #NoTrayIcon al comienzo del script si no le gusta el pequeño ícono verde en la bandeja del sistema.
OptimistPrime
1
Oh ... Droptic ya creó un script mejor que obtiene los escritorios activos y totales del registro. ¡Buena idea!
OptimistPrime
1
Sin embargo, tenga en cuenta que la ruta de registro podría ser diferente por usuario / computadora. No sé qué influye en esto, pero mi ruta para la identificación actual del escritorio estaba en una carpeta con el número 2, no 1: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\2\VirtualDesktops
OptimistPrime
¡¡Hombre maravilloso!! Gracias por compartir. Solo cambio el # 1 con ^ 1 Me gusta usar Ctrl en lugar de la tecla Win.
Gueorgui Obregon
¡Este script es IMPRESIONANTE! Lo único que tengo conmigo es que ya tengo una reasignación de mayúsculas y me gustaría agregar esto a mi script. Lamentablemente, no funciona. Solo funciona si elimino la siguiente línea (antes del script): CapsLock :: Ctrl ¿Alguna idea de cómo puedo solucionar esto? Eliminar esta línea funciona, pero hacer que CAPSLOCK actúe como Ctrl es muy importante para mí ...
bitstream
1

Por ejemplo, quiero configurar Av Pág para el siguiente escritorio y Av Pág para el escritorio anterior Después de instalar AutoHotkey, creo un nuevo AutoHotKey Script y le agrego estos códigos y lo guardo y luego ejecuto el script

PgDn::^#Right ;Next Desktop
return 

PgUp::^#Left ;Previous Desktop
return 

y funcionará bien :)

Actualización: a veces el código anterior no funciona y debe hacer clic en un punto. Luego lo cambié a esto:

PgDn::
   {
      MouseGetPos,,,win
      WinGetClass, class, ahk_id %win%
      If class in Progman,WorkerW
         send {Click}^#{Right}  
      else
         send ^#{Right}  ; Next  Desktop  
      return
    }

PgUp::
    {
       MouseGetPos,,,win
       WinGetClass, class, ahk_id %win%
       If class in Progman,WorkerW
          send {Click}^#{Left}
       else
          send ^#{Left}  ; Previous Desktop  
       return
    }
AliOsat Mostafavi
fuente
0

Ok, solución parcial ... porque no sé cómo ir directamente al escritorio virtual seleccionado:

Este programa autohotkey con script:

#NoTrayIcon
#2::^#Right
#1::^#Left
#3::Return
#4::Return
Dariusz Filipiak
fuente
1
Esto es bueno si solo tiene dos escritorios virtuales, pero yo tengo tres.
Michael Beijer
-1

Realicé una actualización in situ directamente de Windows 7 a 10 y luché con el uso de Windows + CTRL + teclas de flecha para cambiar entre escritorios, ya que simplemente no funcionarían. Sin embargo, la solución fue simple en mi caso: use las teclas de función individuales (F1, F2, F3, etc.) para cambiar fácilmente entre escritorios virtuales. Ahora no sé si esto es específico para mi computadora portátil HP o parte de la versión lanzada, pero es elegante y simple. Supongo que, siempre y cuando no tenga las teclas de función asignadas para algún otro propósito, también debería funcionar para usted.

Curruca gris
fuente
1
F1 es ayuda en todas las máquinas con Windows que he usado. Tu respuesta no tiene sentido.
DavidPostill
Definitivamente, esta no es mi experiencia en mi laptop Dell Precision (con Win 10). Win + Ctrl + F1 / F2 / F3 no hacen nada. Aunque sería genial si lo hicieran.
Michael Beijer
-1

Estoy usando los escritorios v2.0 de SysInternals y tengo 4 escritorios bajo una sola tecla: F1, F2, F3, F4 (¿alguien está usando F1 para invocar la ayuda, realmente?). Para mí, la solución de Windows 10 no se puede usar debido a los accesos directos de tres teclas.

Escritorios v2.0 oficial: https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx

dblacha
fuente
Este producto no es compatible con Windows 8 y superior. ¿Cómo sé esto? Porque recuerdo específicamente, una pregunta en el pasado sobre el programa en Windows 8
Ramhound
1
Sin embargo, funciona perfectamente en Windows 8.1 y 10.
dblacha
-2

El script AHK proporcionado por OptimistPrime: https://superuser.com/a/1050690/184229 no funciona para mí (las teclas no tienen efecto), pero

este funciona bien: https://github.com/pmb6tz/windows-desktop-switcher/blob/master/desktop_switcher.ahk

dvo
fuente
Cite las partes esenciales de la respuesta de los enlaces de referencia, ya que la respuesta puede volverse inválida si las páginas enlazadas cambian.
DavidPostill
Hubiera preferido comentar sobre la respuesta a la que me referí, pero no estaba permitido. Si hubiera mirado más de cerca mi respuesta, habría notado que: 1. da una respuesta a la pregunta original 2. sería muy detallado y no realmente adecuado para copiar el contenido del segundo enlace que di.
dvo