开发者

How can I simulate the Windows Key in Autohotkey

开发者 https://www.devze.com 2023-03-11 18:25 出处:网络
I have an old IBM Model M from 1994. It\'s awesome, but it doesn\'t have a Windows key. I\'d like to use AutoHotkey to map the combination of Ctrl + Alt to simulate the Windows key in order to take ad

I have an old IBM Model M from 1994. It's awesome, but it doesn't have a Windows key. I'd like to use AutoHotkey to map the combination of Ctrl + Alt to simulate the Windows key in order to take advantage of the default Windows shortcuts. Here's what I have:

LCtrl & LAlt :: Send {LWin}

It was suggested that maybe windows is overriding the Ctrl + Alt c开发者_Python百科ombo, so I also tried:

~Alt & Space :: Send {LWin}

Neither of these work. I'd at least like to be able to open the Start Menu from the keyboard (Ctrl + Esc is too awkward.)


It seems the windows key is not working as long as either ctrl or alt is pressed. The following script works for me:

<^LAlt::
KeyWait Alt
KeyWait Ctrl
Send {RWin}
return

<!LCtrl::
KeyWait Alt
KeyWait Ctrl
Send {RWin}
return

You can press the left Ctrl and left alt in any order, and when you release both, the windows key is generated. This way you will not be able to send combination like Windows-E. If you want that too, you can do something like:

<^<!e::
KeyWait Alt
KeyWait Ctrl
Send {RWin down}e{RWin up}
return

<^<!space::
KeyWait Alt
KeyWait Ctrl
Send {RWin}
return

Now press leftctrl-leftalt-e to genereate windows-e, and press leftctrl-leftalt-space for just the windows key.


I'm also using an IBM Model M. I've mapped RCtrl to the RWin key using KeyTweak (in Windows 7 and XP).

You can get KeyTweak here: KeyTweak homepage

(you can edit directly your registry but it's much easier to use the above program).

With this approach you can continue to use Win+R, Win+Tab (in Windows 7), Win+E, etc. and your Autohotkey scripts will also detect your RCtrl keypresses as RWin.


Someone suggested that I make my comment an answer.

I did very similar to what wimh did above, but I removed the KeyWait commands. Normal keyboard hotkeys don't wait until you have all of your fingers lifted off of the keys, you can press the hotkey combination and then hold the keys down, and have the action still occur. The >^>! and <^<! make the command work with either the left or the right Alt and Ctrl keys.


; Open explorer
>^>!e::
Send #e
return

<^<!e::
Send #e
return


; Lock workstation, #L and downLup don't work
>^>!L::
DllCall("LockWorkStation")
return

<^<!L::
DllCall("LockWorkStation")
return


; Run dialog
<^<!r::
Send {RWin down}r{RWin up}
return

>^>!r::
Send {RWin down}r{RWin up}
return

I'm not sure why some key combinations you can use #, but others like the Run dialog require you to RWin down, press r, then RWin up. This must be a quirk with Windows.

I've uploaded my autohotkey.ahk file to Github, if anyone is interested!


Try this:

Ctrl & Q::send {LWin}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号