
Вот код, который у меня есть:
[::
Send [
Input, Char, T2 L1
if Char = a
{
Send â
return
}
Send %Char%
return
Когда я печатаю [
then a
, он ведет себя нормально и выдает â
. Но когда я печатаю [
then p
, символ [
не печатается. Проблема во второй строке ( Send [
), в которой [
находится переназначаемый символ.
Я попробовал следующее, но безуспешно:
Send `[
Send {[}
Я хочу печатать, [
даже если он переназначается.
решение1
Использовать $
как модификатор перед горячей клавишей, т. е. $[::
.
КакДокументация AHKсостояния:
Обычно это необходимо только в том случае, если скрипт использует команду Send для отправки клавиш, составляющих саму горячую клавишу, что в противном случае может привести к ее срабатыванию. Точное поведение префикса $ зависит от операционной системы:
В Windows NT4/2k/XP или более поздних версиях: префикс $ заставляет использовать хук клавиатуры для реализации этой горячей клавиши, что в качестве побочного эффекта не позволяет команде Send вызывать ее. Префикс $ эквивалентен указанию #UseHook где-то выше определения этой горячей клавиши.
В Windows 95/98/Me: горячая клавиша отключается во время выполнения ее потока и снова включается после этого. В качестве побочного эффекта, если #MaxThreadsPerHotkey установлен выше 1, он будет вести себя так, как будто установлен на 1 для таких горячих клавиш.