Latest post of the previous page:
в любом плагине с ProcessPanelInputW ставишь лог в начале. 1 — подозреваю KEY_IDLESkirda wrote:...ладно. На чем доступном можно проверить? (комбайны с .Net не предлагать )
Latest post of the previous page:
в любом плагине с ProcessPanelInputW ставишь лог в начале. 1 — подозреваю KEY_IDLESkirda wrote:...ладно. На чем доступном можно проверить? (комбайны с .Net не предлагать )
а чего ему сыпаться при бездействии?Skirda wrote:я тоже это подозреваю.
Но я бы поставил на KEY_NONE
Не-не, это не бездействие. А сыплется "постоянно", потому что из дебаггера все это я смотрел. Я вот что нашел в старых комментах:а чего ему сыпаться при бездействии?
Code: Select all
#define INTERNAL_KEY_BASE_2 0x00030000
KEY_NONE=INTERNAL_KEY_BASE_2+1,
KEY_KILLFOCUS=INTERNAL_KEY_BASE_2+6,
KEY_GOTFOCUS
я смотрел в своём плагине. открытый фар, ничего не делаю, единички падают.NightRoman wrote:Не-не, это не бездействие.
KEY_IDLE.John Doe wrote:(не знаю на кой чёрт они вообще приходят)
Мне сдаётся колорер как раз перестал работать в фоне на последних билдах.John Doe wrote:Сравнил поведение ProcessEditorInputW со стабильной сборкой, и обнаружил странное:
4242: в покое постоянно приходят "пустые" записи (EventType==1)
4303: в покое постоянно приходят "пустые" записи (EventType==0)
Code: Select all
int FarEditor::editorInput(const INPUT_RECORD &Rec)
{
if (Rec.EventType == KEY_EVENT && Rec.Event.KeyEvent.wVirtualKeyCode == 0){
.....
}
else
if (Rec.EventType == KEY_EVENT){
idleCount = 0;
};
return 0;
}
не нужен. есть actl_synchro, его достаточно. KEY_IDLE будет удалено в ближайшее время.John Doe wrote:Если KEY_IDLE востребовано, то может стоит выделить отдельный EventType?
во времена w2k любая анимированная иконка в трее генерила нулевые перемещения мыши в текущем окне. что тоже убивало KEY_IDLE. как дела с этой фичей сейчас обстоят — не в курсе, но как пример ущербности KEY_IDLE — думаю подойдёт.2useven10 wrote:Если KEY_IDLE нужен, он слишком легко выключается (через far.Timer или actl_synchro).
в просмотре правильным решением было бы что-то вроде события no_user_input. но костыли — это конечно лучше.В просмотре, например, пришлось вставить костыль, который генерит KEY_IDLE из KEY_NONE.