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

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Latest post of the previous page:

Имхо.
Текст в теге [code] и так уже ограничен, и не расползается больше минимума. Поэтому если макрос это основное содержание поста, то нет смысла его прятать, и этим заставлять всех до единого кликать по этому спойлеру.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

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

Post by sToLp »

Поправил оформление поста, публикующего макрос .
Skirda wrote:надо бы в примеры в Писание поместить
ни чего не имею против
или будут улучшалки?
в примере лучше показывать штатный префикс плагина
или копирайт не позволяет?
для себя «(с)» интерпретирую так: «не Фар дал, сам ковал», и поэтому всё помеченное маркой «(sToLp)» можете употреблять как Вам только заблагорассудится
kbdLayout возвращает значение раскладки, включенной в данный момент.
1. Сейчас Eng
2. Набираем ghbdtn
3. Переключаем раскладку на Rus
4. вызываем макрос
каков результат?
Wave в целом верно ответил на этот вопрос. То есть, по моему, kbdLayout() достаточно обеспечивает функциональность макроса. Однако, если намекнёте как можно сделать более строго – попробую с удовольствием.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

В документации сказано, что для переключения в русскую раскладку следует использовать 0x0419 или 0x04190419.
По факту в моей системе эти значения ничего не делают, а русской раскладке соответствует 0xffffffffa0000419.

Кто виноват и что делать?
KlepetoX
Posts: 129
Joined: Sun 08 Jan, 2012 08:23
Location: Czech Republic
Has thanked: 2 times
Been thanked: 1 time

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

Post 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
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post 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 не работает в русской раскладке
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

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

Post 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, а старшее будет зависеть от конкретной раскладки. а код в фаре странный.
Post Reply

Return to “Обсуждение макросов”