Windows виртуальные рабочие столы. Вернуться к первому рабочему столу в конце

1472
Caedan Lavender

Допустим, у меня есть три виртуальных рабочих стола. Я знаю, что могу перемещаться по ним с помощью:

Ctrl + Windows + Left | Право

же, есть способ сделать это цикл обратно до начала, если я до конца? Так что, если я нахожусь на рабочем столе 3 "Ctrl + Windows + право" приведет меня к рабочему столу 1?

Я знаю, что это может быть возможно с помощью скрипта AutoHotkey. Но я не знаю, как заставить это работать.

Причина, по которой мне нужно, чтобы это работало таким образом, заключается в том, что я намереваюсь сопоставить эту функциональность с только что купленной мышью (у нее есть дополнительные кнопки). В настоящее время мне нужно использовать две кнопки, чтобы я мог перемещаться назад и вперед между рабочими столами. Я бы предпочел, чтобы была нужна только одна кнопка. Надеюсь, эта информация поможет.

Спасибо

2
Вы можете использовать [IniRead] (https://autohotkey.com/docs/commands/IniRead.htm) и [IniWrite] (https://autohotkey.com/docs/commands/IniWrite.htm), чтобы узнать, какой конкретный настольный компьютер вы используете. в настоящее время используете каждый раз, когда вы нажимаете Ctrl + Windows + Влево | право. Я лично рекомендую [Windows 10 Virtual Desktop Enhancer] (https://github.com/sdias/win-10-virtual-desktop-enhancer). user3419297 7 лет назад 0
Это действительно добавляет функциональности в Windows, поэтому я определенно буду использовать это. Но это все еще не отвечает на мой вопрос. Мне нужно, чтобы рабочие столы вели себя как «петля» или «цепь», а не «от А до В». Основная причина, по которой мне нужно, чтобы это работало так, заключается в том, что я нахожусь в процессе сопоставления полезных функций с мышью, которую я только что купил. В настоящее время у меня есть «следующий рабочий стол» и «предыдущий рабочий стол», привязанные к двум кнопкам, но я бы предпочел просто одну кнопку для навигации по виртуальному рабочему столу. Надеюсь, эта справочная информация поможет. Caedan Lavender 7 лет назад 0
Если вы используете оба (IniRead / IniWrite и Virtual Desktop Enhancer), вы можете легко переключиться на первый рабочий стол, если вы находитесь на последнем рабочем столе, нажав «следующий рабочий стол» на своей мыши. user3419297 7 лет назад 0
Я до сих пор не знаю, как это сделать. Я сказал, что знаю, что это возможно с AutoHotKey, но я не знаю, как заставить это работать. Caedan Lavender 7 лет назад 0

2 ответа на вопрос

0
JJohnston2

Это просто идея для чего-то, что можно попробовать и адаптировать ... не проверено.

Пока скрипт выполняется, он просто сохраняет активный виртуальный рабочий стол в переменной, не обязательно, чтобы INI-файл.

Сценарий должен быть запущен с активным виртуальным рабочим столом # 1 или принудительно синхронизироваться. Функция форсирования предполагает, что вы можете нажимать ctrl + win + left столько раз, сколько захотите, и она не будет проходить мимо первого виртуального рабочего стола, когда попадет туда.

Сочетания клавиш запускаются на клавишах Windows по умолчанию, но не фиксируют их (т. Е. Тильда ~ позволяет проходить нажатию клавиш). Таким образом, он будет отслеживать клавиатуру, если вы используете клавиатуру, и если вы используете мышь, вы можете назначить мышь для одной клавиши быстрого доступа или другой.

Вы также можете добавить собственный дубликат ярлыка для одного или обоих направлений ... показывая это как ctrl + alt + F8, например, в том случае, если для переключения между рабочими столами необходимо, чтобы кнопка мыши была назначена чему-то другому, чем стандартные клавиши Windows.

#NoEnv #Persistent  numDesktops := 3 ; set to match number of virtual desktops if forceSyncAtStartup := True ; set to False to disable sync on startup SendInput % "^#"  vDesktop := 1 ; this must match the virtual desktop active when program starts if a sync isn't forced return  ^!F8:: ; random/custom shortcut for the mouse if desired ~^#Left:: vDesktop -= 1 if (vDesktop=0) { vDesktop := numDesktops sleep 20 ; optional for better reliability  ; use this if no delay needed for reliable operation SendInput % "^#  ; use this type of setup if a delay is needed ; Loop, % (numDesktops-1) { ; SendInput ^# ; sleep 100 ; adjust for reliability ; } } return  ~^#Right:: vDesktop += 1 sleep 20 if (vDesktop=(numDesktops+1)) { vDesktop := 1 SendInput % "^#" } return  
Спасибо! Выглядит многообещающе. Я попробую попозже сегодня. :) Caedan Lavender 7 лет назад 0
0
boardtc

Другой вариант - использовать виртуальные рабочие столы Finestra, которые выполняют эту циклизацию по умолчанию, а горячие клавиши настраиваются.

enter image description here

Похожие вопросы