如何使您的alt+tab功能像OSX那样工作,它使用的是meta+tab而不是alt+tab,同时也尊重shift键?
我有解决办法。请注意这篇文章的发布日期,因为在找出这篇文章之前,我已经看过了许多明显过时的解决方案。我已经在这个问题上工作了大约4个小时,并且遇到了很多不起作用的解决方案。我是一个10年的专业开发人员,但这个问题几乎要了我的命。
发布于 2021-03-16 22:18:08
有一个特殊的关键字来复制Alt + Tab
功能。
我还意识到,AutoHotkey会阻止键盘信号,直到您通过释放所有键完成快捷方式,所以当我按住控制键时发送的任何附加选项卡都会被忽略。
是的,是这样的。热键会创建一些他们称之为“线程”的东西,默认情况下只能有一个。因此,如果您想在前面的“线程”完成之前再次触发相同的热键,则可以使用#MaxThreadsPerHotkey指令。
下面的代码交换了Alt + Tab
和Ctrl + Tab
的功能--也就是说,在浏览器中,Ctrl + Tab
将在应用程序之间切换,Alt + Tab
将在选项卡之间切换。线程限制为255,这意味着您可以持有Ctrl
并(理论上)在它停止工作之前按Tab
255次。
#UseHook
SendMode Input
#MaxThreads 255
#MaxThreadsPerHotkey 255
<!Tab::
Send {LCtrl down}{Tab}
Keywait LAlt
Send {LCtrl up}
return
#MaxThreadsPerHotkey
<^Tab::AltTab
我想我花了更多的时间去做我想做的事,即使我活到100岁,他们也救不了我。
发布于 2021-06-15 14:25:53
<#Tab::AltTab
这将重新映射"win + tab“到"alt选项卡”。它也适用于选项卡键的多次按压。
发布于 2020-06-08 05:33:24
注意:我已经通过RControl注册表将LWin键映射到LWin键上,因此自动热键位于此之上。
我找到了很多简单的解决方案
>^Tab::
Send {LAlt down}{Tab}
KeyWait RControl
Send {LAlt up}
return
这里的问题是,它不能处理alt+tab+tab+tab去返回3个程序。
我还意识到,AutoHotKeys会阻止键盘信号,直到您通过释放所有键完成快捷方式,所以当我按住控制键时发送的任何附加选项卡都会被忽略。
我意识到,我需要第二个AutoHotKeys过程来强制通过。写起来似乎有些多余,但下面是我的第二个脚本:
#IfWinActive "ahk_class TaskSwitcherWnd"
Tab::Send {Tab}
#IfWinActive
如果您不熟悉的话,#IfWinActive
的功能只是为了使它不再在每次发送Tab键时触发--只有在Windows的任务切换程序处于焦点状态时才会这样。最终,这个脚本简单地说是Tab::Send {Tab}
。
然后你需要告诉它也要对shift键做出反应。奇怪的是,任务切换程序会监听这一点,但是Tab不需要,所以我们也不需要在脚本中转发Shift键。
最终,我的两个脚本如下所示:
脚本1
#IfWinNotActive ahk_class TaskSwitcherWnd
; Remap Ctrl-Tab to Alt-Tab
$>^Tab::
Send {Alt down}{Tab}
Keywait Control
Send {Alt up}
return
; Remap Ctrl-Shift-Tab to Alt-Shift-Tab
$>^+Tab::
Send {Alt down}{Shift down}{Tab}
Keywait Control
Send {Alt up}{Shift up}
return
#IfWinActive
脚本2
#IfWinActive ahk_class TaskSwitcherWnd
Tab::Send {Tab}
#IfWinActive
同时运行这些。
https://stackoverflow.com/questions/62255619
复制相似问题