Я знаю, как использовать Autohotkey для переназначения клавиш и комбинаций клавиш. Если я привяжуCapslockкCtrl, Capslock+ Anykeyбудет работать как Ctrl+ Anykey.
Как можно привязать CapsLockтолько одну горячую клавишу к другой ( например, Ctrl+ ), а + привязать к + ?1CapslockAnykeyCtrlAnykey
решение1
Хорошо, у меня есть неидеальное решение:
Capslock::Control ;--Holding Caps = holding Ctrl
Capslock Up:: ;--If you press Caps fast, it types "No"
SendInput, {Control Up} ;--For stability
If A_TimeSincePriorHotkey < 100 ;--Vary the time as it suits you
{
Sendinput, No ;--Replace with what you want Caps to do on its own
}
Else
return
return
Если вы нажмете Caps на более чем 100 мс, а затем отпустите ее, ничего не произойдет. Если вы нажмете ее на менее чем 100 мс, а затем отпустите ее, она наберет "No". Если вы нажмете любую клавишу, удерживая ее, она выполнит control+Key. Если вы нажмете Caps на менее чем 100 мс и успеете нажать любую клавишу до того, как отпустите Caps, она выполнит control+Key и наберет "No". Вы можете варьировать время. Это лучшее, что я мог сделать, возможно, есть лучший способ.
решение2
Я написал программу на C++, которая делает именно это. Она переназначает клавишу Apps вместо Capslocks, но ее было бы легко изменить. Исходный код (и дополнительная информация) находится на github по адресуhttps://github.com/russelldavis/KeyFix4000