1

Тема: AutoHotkey: отображение текущей раскладки светодиодом ScrollLock

Для максимального использования экранного пространства можно установить режим "Автоматически скрывать панель задач". В этом режиме панель задач постоянно спрятана, за исключением случаев, когда она явно вызывается мышью или кнопкой Win. У такого режима есть масса преимуществ и один недостаток: не видно, в каком режиме находится клавиатура - в русском или в английском. Чтобы это узнать (например, в момент ввода пароля), приходится нажимать Win, что неприятно. Поэтому на AHK можно сделать так, чтобы светодиодный индикатор ScrollLock светился, когда включен русский язык, и выключался, когда включен английский.
Индикатор этот по жизни вполне бесполезен. Но на случай, если какая-нибудь программа использует ScrollLock (например - Excel), предусмотрено отключение/включение нового режима по нажатию Win+ScrollLock.

SetTimer RussianLED
#ScrollLock::
  if ScrollLockRussianModeOff {
    SetTimer RussianLED, On
    MsgBox ScrollLock LED now indicates Russian Layout
  }
    else {
      SetTimer RussianLED, Off
      MsgBox ScrollLock LED does NOT indicates Russian Layout
    }
  ScrollLockRussianModeOff := !ScrollLockRussianModeOff
return
RussianLED:
  WinGet, WID, ID, A
  WT := DllCall("GetWindowThreadProcessId", "UInt", WID, "UInt", 0)
  LID := DllCall("GetKeyboardLayout", "UInt", WT)
  Russian := LID = 68748313 ? 1 : 0
  if Russian
    SetScrollLockState On
    else SetScrollLockState Off
return

Автор скрипта - Ludens.

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.