Autohotkey ошибочно нажимает клавиши на консоль

Я пытаюсь понять эту ошибку, и я ищу workaroud.

Используя этот script:

#NoEnv
#SingleInstance force
SendMode Input
;Alt+t to send keystrokes
!t::Send, /[]

Он отправляет правильные нажатия клавиш / [ ] ко всем окнам, но консоль Windows (cmd)

Дополнительная информация:

  • Использование autohotkey v1.1.09.02
  • С раскладкой клавиатуры на английском языке он отправляет: ' 9 0
  • С французской канадской многоязычной раскладкой клавиатуры она отправляет: é ^ ç

Любая идея, что это может исправить?

Ответ 1

Попробуйте следующее:

#NoEnv
#SingleInstance force
;SendMode Input
;Alt+t to send keystrokes
!t::Send, % chr(047) chr(091) chr(093)
Return

И дайте мне знать, если он решает ваши проблемы.

Найдено: Я использую несколько языков или раскладки клавиатуры в своей системе. Почему Send и Hotstrings иногда посылают неправильные символы? Это может произойти всякий раз, когда язык script или раскладка клавиатуры не соответствует языку активного окна. Чтобы исправить это, откройте главное окно script через значок своего лотка. В то время как основное окно активно, используйте языковой бар (или горячие клавиши языка, такие как LeftAlt + Shift), чтобы изменить язык/макет script в соответствии с типом окна, которое вы в настоящее время печатаете. Переключение языка script может автоматизироваться с помощью следующей горячей клавиши:

#l::   ; Win+L hotkey.
ListLines  ; Show the script main window.
WinWaitActive ahk_class AutoHotkey
Send {LAlt down}{Shift}{LAlt up}  ; Switch to alternate language (keys must be in this format).
WinMinimize  ; Minimize the window found by WinWaitActive above.
return

Дополнительная информация: Как и все приложения, каждый script запускается с использованием вашего языка по умолчанию. Если значение по умолчанию не соответствует значению активного окна (где посылаются нажатия клавиш), разница в раскладках клавиатуры может привести к тому, что нажатия клавиш script будут переведены на что-то неожиданное.

Вкл.: http://autohotkey.free.fr/docs/FAQ.htm#load