1 (изменено: Kamagi, 2011-09-03 19:49:18)

Тема: AHK: при изменении раскладки меняется вид каретки

Приветствую!

Для изменения раскладки клавиатуры я использую скрипт, который еще и меняет внешний вид курсора
(ножка стрелки закрашивается черным - не режет глаз, привычно и сразу понятно, какая раскладка).
Это полезно и удобно, но если бы менялся внешний вид каретки (выглядит как заглавная англ "и" - I),
было бы просто шикарно.

Насколько я понимаю, принцип тот же, что и при смене курсора -
стандартный виндусовый файл с курсором меняется на мой.
Часть скрипта, меняющая вид курсора взял отсюда - http://www.autohotkey.com/forum/topic35 … ight=caret
Но про каретку там ничего. Идеи?

RCtrl::
  SetFormat, Integer, H
  Locale1=0x4090409  ; Английский (американский).
  Locale2=0x4190419  ; Русский.
  WinGet, WinID,, A
  ThreadID:=DllCall("GetWindowThreadProcessId", "Int", WinID, "Int", "0")
  InputLocaleID:=DllCall("GetKeyboardLayout", "Int", ThreadID)
  if(InputLocaleID=Locale1)
{
    SendMessage, 0x50,, % Locale2,, A
    Cursor = %A_ScriptDir%\1.cur
    CursorHandle := DllCall( "LoadCursorFromFile", Str,Cursor )
    Cursors = 32512,32513,32514,32515,32516,32640,32641,32642,32643,32644,32645,32646,32648,32649,32650,32651
    Loop, Parse, Cursors, `,
        {
    DllCall( "SetSystemCursor", Uint,CursorHandle, Int,A_Loopfield )
        }
    Return
}
  else if(InputLocaleID=Locale2)
{
    SendMessage, 0x50,, % Locale1,, A
    SPI_SETCURSORS := 0x57
    DllCall( "SystemParametersInfo", UInt,SPI_SETCURSORS, UInt,0, UInt,0, UInt,0 )
}

Return

2

Re: AHK: при изменении раскладки меняется вид каретки

Kamagi, в заголовке темы замени " Прошу помочь - " на "AHK: ". Как правильно называть темы.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: при изменении раскладки меняется вид каретки

Ну а теперь прошу прощения :)

4 (изменено: Kamagi, 2011-09-03 21:52:52)

Re: AHK: при изменении раскладки меняется вид каретки

Нашел решение. Стоило поискать подольше и вот оно, здесь, на форуме.

http://forum.script-coding.com/viewtopic.php?id=5108

ID для текстового курсора - 32513

Можно, пожалуй, даже шлёпнуть тему.

5

Re: AHK: при изменении раскладки меняется вид каретки

Честно говоря, про каретку там не нашёл, там есть про курсор Ibeam. Курсор и каретка — не одно и то же.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6 (изменено: Kamagi, 2011-09-05 12:25:55)

Re: AHK: при изменении раскладки меняется вид каретки

Моя ошибка - напутал в терминалогии. Задача стояла изменить внешний вид текстового курсора.
У каретки, насколько я понимаю, можно изменить только частоту моргания, что не работает, увы,
в FF, так что основной смысл теряется. Я задал вопрос в поддержке FF, и вот что мне ответили:

https://support.mozilla.com/ru/questions/870784#answers