Как изменить сочетание клавиш для переключения между виртуальными рабочими столами в Windows 10 или Windows 11?

Как изменить сочетание клавиш для переключения между виртуальными рабочими столами в Windows 10 или Windows 11?

В Linux я использую сочетание клавиш для переключения между четырьмя рабочими пространствами: win+ 1/2/3/4.

Мне бы хотелось иметь что-то подобное в Windows 10 или Windows 11.

ОБНОВЛЕНИЕ РЕШЕНИЯ

  1. (Этот шаг не нужен для Windows 11 — только для пользователей Windows 10) Обновите версию Windows до последней с помощью этого обновитель. Вам также может понадобитьсяVisual C++ Redistributable для Visual Studio 2015
  2. Загрузите и распакуйте этоВиртуальный рабочий стол Windows 10 Enhancer(0.9.1) у меня работает.
  3. Измените содержимое файла settings.ini на
[KeyboardShortcuts]
Switch=LWin
Move=LAlt, Shift, Ctrl
MoveAndSwitch=LAlt, Shift
Previous=Left
Next=Right
PlusTen=
  1. (Только для пользователей Windows 11) заменитеVirtualDesktopAccessor.dllс файлом изhttps://github.com/skottmckay/VirtualDesktopAccessor/tree/master/x64/Release

  2. Бегатьvirtual-desktop-enhancer.exeкакадминистратор.

  3. Используйте сочетания клавиш win+ 1/2/3/n(гден(количество созданных вами виртуальных рабочих столов) для прямого переключения между виртуальными рабочими столами и win+ `~для эффекта «открытия».

решение1

Вам необходимо следующее:

  • Окно привязки: WIN+ LEFTили RIGHT (можно использовать с UPили DOWNдля попадания в квадранты)
  • Переключиться на недавнее окно: Alt+ Tab(без изменений) – при удержании отображается новое окно представления задач, при отпускании — переключение на приложение.
  • Вид задачи: WIN+ Tab– Окно «Новая задача» открывается и остается открытым.
  • Создать новый виртуальный рабочий стол: WIN+ Ctrl+d
  • Закрыть текущий виртуальный рабочий стол: WIN+ Ctrl+F4
  • Переключить виртуальный рабочий стол: WIN+ Ctrl+ LEFTилиRIGHT

решение2

Думаю, я только что создал именно то, что вы ищете. Я использую оконный менеджер на Linux и хотел бы использовать горячие клавиши аналогичным образом на Windows.

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

Мой скрипт использует CapsLock, потому что мне так удобнее, но вы можете легко настроить его так, чтобы он работал у вас. Возможно, там есть одна или две ошибки, но в целом я нашел его довольно надежным. Надеюсь, это вам поможет!

решение3

Я только что сделал сценарий дляавтохоткейкоторый позволяет реализовать это в Windows 10 для 10 рабочих столов.

Как это работает:

Загрузить и установитьавтохоткей. Скопируйте и вставьте код ниже в блокнот и сохраните его с расширением файла .ahk.

Я предлагаю создать ярлык этого файла в папке автозагрузки, чтобы он запускался при запуске Windows.

ГОРЯЧИЕ КЛАВИШИ ПО УМОЛЧАНИЮ:

Переключить рабочий стол: WIN+НОМЕР РАБОЧЕГО СТОЛА (0 = номер рабочего стола 10)

Новый рабочий стол: CTRL+WIN+D

Закрыть рабочий стол: CTRL+WIN+F4

Отображение состояния рабочего стола: WIN+'

ВАЖНЫЙ:

Чтобы это работало, вы должны использовать горячие клавиши ТОЛЬКО для открытия, закрытия и смены рабочих столов, поскольку скрипт прослушивает эти горячие клавиши, чтобы узнать текущее и общее количество рабочих столов.

Если вы создаете, закрываете или меняете рабочие столы через меню WIN+TAB с помощью мыши, скрипт перестанет работать. Чтобы заставить его работать снова, вам нужно будет отредактировать первые две строки, чтобы отразить текущее состояние ваших рабочих столов. (desktopcount/currentdesktop)

Это не значит, что вы не можете использовать экран WIN+TAB для обзора текущих рабочих столов. На самом деле вы можете использовать его в сочетании с горячими клавишами для организации рабочих столов. Да, горячие клавиши все еще работают, когда открыт просмотрщик задач Windows! (WIN+TAB) Только НЕ используйте мышь!!!

Также дождитесь загрузки скрипта после запуска Windows, прежде чем создавать новые рабочие столы, иначе он не сработает. Это может занять некоторое время в зависимости от того, сколько у вас программ автозагрузки.

Хорошо, я добавил еще одну вещь, чтобы упростить повторную синхронизацию скрипта с состоянием вашего рабочего стола. Теперь есть горячая клавиша, которая будет отображать состояние, в котором скрипт считает, что рабочие столы находятся, так что все, что вам нужно сделать, это настроить рабочие столы с помощью мыши, чтобы они соответствовали сценарию, и все будет снова синхронизировано! Для меня со швейцарской клавиатурой это прекрасно сработало, имея клавишу '? рядом с 0, и это имеет смысл с ? на ней, но на других клавиатурах вы можете захотеть изменить это, что можно легко сделать, изменив строку сразу после горячей клавиши для 0/10 (начиная с #') на то, что вам нравится.

На самом деле, я только что понял... если количество рабочих столов верное, то создание нового рабочего стола автоматически повторно синхронизирует значение текущего рабочего стола.

(Строки, начинающиеся с ;, являются комментариями и не влияют на скрипт)

Код:

#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}
}

решение4

Например, я хочу установить Page Down для следующего рабочего стола и Page Up для предыдущего рабочего стола. После установки AutoHotkey я создаю новый скрипт AutoHotKey, добавляю в него эти коды, сохраняю и запускаю скрипт.

PgDn::^#Right ;Next Desktop
return 

PgUp::^#Left ;Previous Desktop
return 

и это будет хорошо работать :)

Обновление: Иногда код выше не работает, и приходится кликать в определенной точке. Тогда я изменил его на этот:

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
    }

Связанный контент