Использование фигурных скобок для интерпретации необработанных ключей возможно только для команд отправки . Итак, чтобы отобразить [ на { и ] на } вы можете использовать:
[::Send, {{}
]::Send, {}}
Примечание: переназначение клавиши с ее эквивалентом Shift проблематично, поскольку большинство, если не все клавиатуры, посылают один и тот же скан-код каждый раз, единственное отличие заключается в введении клавиши Shift (которая имеет свой собственный скан-код).
Например, нажатие [на клавиатуре посылает скан 01A
и дает [
Нажатие LShift+[ отправляет коды сканирования 02A
и 01A
, давая {
.
Обновить:
Я успешно преодолел проблему со скан-кодом с помощью умной логики! Используя следующий формат, вы сможете переключать любую клавишу с помощью пары Shift . Повтор ключа должен также работать.
*$[::
if (GetKeyState("Shift"))
Send, {[}
else
Send, {{}
return
*$]::
if (GetKeyState("Shift"))
Send, {]}
else
Send, {}}
return
Развивая эту идею, @Bob написал более надежную версию сценария:
*$[::
if (GetKeyState("Shift"))
SendInput, {[ Down}
else
SendInput, {{ Down}
return
*$]::
if (GetKeyState("Shift"))
SendInput, {] Down}
else
SendInput, {} Down}
return
*$[ Up::
if (GetKeyState("Shift"))
SendInput, {[ Up}
else
SendInput, {{ Up}
return
*$] Up::
if (GetKeyState("Shift"))
SendInput, {] Up}
else
SendInput, {} Up}
return