Page 2 of 2

Как правильно применить kbdLayout()?

Posted: Tue 09 Aug, 2011 11:56
by John Doe

Latest post of the previous page:

Имхо.
Текст в теге [code] и так уже ограничен, и не расползается больше минимума. Поэтому если макрос это основное содержание поста, то нет смысла его прятать, и этим заставлять всех до единого кликать по этому спойлеру.

Re: Как правильно применить kbdLayout()?

Posted: Tue 09 Aug, 2011 21:31
by sToLp
Поправил оформление поста, публикующего макрос .
Skirda wrote:надо бы в примеры в Писание поместить
ни чего не имею против
или будут улучшалки?
в примере лучше показывать штатный префикс плагина
или копирайт не позволяет?
для себя «(с)» интерпретирую так: «не Фар дал, сам ковал», и поэтому всё помеченное маркой «(sToLp)» можете употреблять как Вам только заблагорассудится
kbdLayout возвращает значение раскладки, включенной в данный момент.
1. Сейчас Eng
2. Набираем ghbdtn
3. Переключаем раскладку на Rus
4. вызываем макрос
каков результат?
Wave в целом верно ответил на этот вопрос. То есть, по моему, kbdLayout() достаточно обеспечивает функциональность макроса. Однако, если намекнёте как можно сделать более строго – попробую с удовольствием.

Как правильно применить kbdLayout()?

Posted: Mon 11 Dec, 2017 23:46
by John Doe
В документации сказано, что для переключения в русскую раскладку следует использовать 0x0419 или 0x04190419.
По факту в моей системе эти значения ничего не делают, а русской раскладке соответствует 0xffffffffa0000419.

Кто виноват и что делать?

Как правильно применить kbdLayout()?

Posted: Sat 16 Dec, 2017 12:18
by KlepetoX
I have this note with my switching keyboard macro and it works:

Switching keyboards needed these registry setting (old console):
[HKEY_CURRENT_USER\Console]
ForceV2=dword:00000000

Как правильно применить kbdLayout()?

Posted: Sat 16 Dec, 2017 13:48
by John Doe
That registry setting is for Windows 10, but my system is 8.1.

I think the problem is that my keyboard layout is custom, see Правый Alt не работает в русской раскладке

Как правильно применить kbdLayout()?

Posted: Sat 16 Dec, 2017 17:09
by zg
The return value is the input locale identifier for the thread. The low word contains a Language Identifier for the input language and the high word contains a device handle to the physical layout of the keyboard.
т.е. для русского языка младшее слово будет всегда 0x419, а старшее будет зависеть от конкретной раскладки. а код в фаре странный.