Как изменить Windows 10 сочетания клавиш?

91954
answerSeeker

Как пользователь Linux, я большой пользователь рабочей области. Windows, 10 имеет, но я все же хотел бы переключаться между ними так, как я в Linux, где я использую ctrl+ alt+ rightили left для переключения между рабочими пространствами.

Однако для Windows 10 это скорее ctrl+ windows+ rightили left.

Как я могу изменить эти ярлыки Windows 10 на ярлыки Linux?

36

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

32
harrymc

One cannot change the Windows shortcuts, but one can intercept keys and change them on the fly.

AutoHotkey is a great program for remapping keyboard keys. Here are the steps to set this up:

  1. Download and install AutoHotkey
  2. Create a text file named startup.ahk and paste the following inside to map Ctrl+Alt+Right / Left to Ctrl+Win+Right / Left:

!^Right::^#Right
!^Left::^#Left

  1. Save and run the script to test its functionality.
  2. If it performs as expected, copy the script into the Startup folder

To find the startup folder in Windows 10, open "Run" (press Win + R, or search for it in the Start menu) and type either (without quotes): "shell:startup" for the current user, or "shell:common startup" for all users. Copy startup.ahk to the folder that opens.

Я думал, что мне придется написать свой собственный сценарий для этого. Хорошо, что кто-то уже сделал это, чтобы мне не пришлось изобретать велосипед! answerSeeker 8 лет назад 1
Это все еще сбивает с толку меня, Windows не добавляет функции для изменения сочетаний клавиш. Спустя 20 лет даже. Вот это да. Аминь для AutoHotkey. Ligemer 6 лет назад 4
Вам нужно перезагрузить компьютер после этого, чтобы он заработал? Red M 6 лет назад 0
@RedM: startup.ahk уже должен быть запущен после тестирования. Для будущих загрузок это будет запускаться во время загрузки. harrymc 6 лет назад 0
11
Aquadarius

Я попробовал скрипт Гарримка, но он не сработал. Поэтому я изменил его, и у меня сработало следующее:

!^Right::send, #^ !^Left::send, #^ 

все остальное было хорошо.

Затем я улучшил скрипт, добавив следующие строки

!^Down:: send, #^ Sleep, 200 send, #^ return !^Up:: send, #^ Sleep, 200 send, #^ return 

Это позволяет эмулировать сетку 2x2 стрелками ВВЕРХ и ВНИЗ для перемещения между строками.

Изменить: Команда sleepбыла добавлена, чтобы позволить анимации закончить перед отправкой второй, в sendпротивном случае я видел некоторые случаи, когда эта вторая инструкция была проигнорирована.

Есть ли причина, по которой вам нужно «Спать, 200»? Удаление этого препятствует тому, чтобы 200-миллиметровая вспышка рабочих столов находилась между тем местом, куда вы переходите. Является ли удаление сна проблемой, если ваш процессор загружается? Matt 7 лет назад 1
Мне пришлось добавить команду `sleep` из-за задержки анимации. Другими словами, перед добавлением я видел много случаев, когда второй `send` был проигнорирован, потому что он выполняется слишком быстро. Вы можете изменить продолжительность `sleep` или удалить ее, если хотите. Aquadarius 7 лет назад 1
Ааа. Вы также можете полностью удалить его, если отключите «Анимировать окна при сворачивании и разворачивании» (win + x> система> дополнительные параметры системы> параметры производительности). Matt 7 лет назад 1