Autohotkey, помещающий "D89dl" в конце предложения, не работает, как предполагалось

У меня есть скрипт Autohotkey, который ставит "D89dl" в конце предложения каждый раз, когда я нажимаю Enter, но, используя его со скриптом автозамены, он не работает должным образом. Допустим, вы набираете "не", тогда это будет выглядеть как "не" вместо "не". Что-то блокирует это, но я не уверен, что это такое, я пытался уже несколько месяцев.

Вот сценарии:

enter::
send,D89dl{Enter}
Return

#Hotstring EndChars -()[]{}:;'"/\,.?!`n `t
::dont::don't

Я был бы ОЧЕНЬ благодарен, если бы кто-нибудь из вас помог мне с этим.

В целом, знаете ли вы какой-нибудь другой способ вместо Autohotkey, который ставит "D89dl" в конце предложения?

2 ответа

Кажется, самое простое решение - использовать :*: режим, который будет запускаться каждый раз, когда набирается слово с ошибкой, без необходимости использовать Hotstring EndChars:

:*:dont::don't 

Вместо использования Enter, я предлагаю вам использовать специальную комбинацию клавиш, которые вводят строку D89dl и затем нажимают Enter. Используйте модификатор как ctrl или alt и другую клавишу. Причина в том, что клавиша Enter обладает очень важной функциональностью и не должна изменяться. Нажатие на эту специальную комбинацию целесообразно, учитывая особую функцию, которую она выполняет.

Это немного хакерски, но это должно сработать (учитывая, что под словом "конец предложения" вы на самом деле подразумевали нажатие "Enter"):

~enter::
    Sleep, 100
    SendInput, {BS}D89dl{Enter}
Return

#Hotstring EndChars -()[]{}:;'"/\,.?!`n `t
::dont::don't
Другие вопросы по тегам