AutoHotKey is unnecessary.
Windows does keymaps via Registry you can find here:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"
Also, the Left and Right Win and CTRL keys each have their own values. If you want both to map to CTRL, you'll have to make sure to specify both in the map:
Right Windows to Right CTRL:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,e0,5c,e0,00,00,00,00
Left Windows to Left CTRL:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,5b,e0,00,00,00,00
Both Windows keys:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,5b,e0,1d,e0,5c,e0,\
00,00,00,00
Backup your Registry, and merge the appropriate entries. Manual entry will work, but the easiest way is to create a text file with .reg
extension and insert one of the above entry's like so:
Example .reg file:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,5b,e0,00,00,00,00
Double click it to active it. You can then restart your computer, and you're good to go. If a Scancode Map
entry is already there, this will not work, and you will need to modify it or delete it first.
I've personally used the SharpKeys utility to map the CTRL key on my very old keyboard to the Windows key (which is lacks).