View Issue Details

IDProjectCategoryView StatusLast Update
0002620Far ManagerPlugins API.Editorpublic2014-03-13 12:23
Reporter4ekucTAssigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Platformx64OSWindowsOS Version7
Product Version3.0 
Target VersionFixed in Version 
Summary0002620: Залипшая клавиша Shift при посылке ECTL_PROCESSINPUT
DescriptionКогда я обрабатываю нажатие символа '{' в ProcessEditorInputW() и начинаю выполнять более сложную логику с раскрытием скобок и нажатием клавиши ввода через ECTL_PROCESSINPUT (с.м. код выше), то Far похоже начинает все выполнять как будто Shift еще зажат. Потому что если то же самое делать для символа '[' (для его ввода Shift не зажимается), то все работает отлично.

Вот нацарапал примерчик, когда при перехвате ввода символа '{' мы пытаемся нажать в редакторе Enter, а получается ShiftEnter и вместо перехода на новую строку получаем вставку в текущую позицию имени редактируемого файла
Steps To Reproduceintptr_t WINAPI ProcessEditorInputW(const struct ProcessEditorInputInfo *Info)
{
   if
   (
      (Info->Rec.EventType != KEY_EVENT && Info->Rec.EventType != 0x8001) ||
      Info->Rec.Event.KeyEvent.bKeyDown == 0
   ) return (PROCESS_EVENT);

   if ((Info->Rec.EventType == KEY_EVENT) && (Info->Rec.Event.KeyEvent.uChar.UnicodeChar == L'{'))
   {
      INPUT_RECORD tr;
      tr.EventType = KEY_EVENT;
      tr.Event.KeyEvent.bKeyDown = true;
      tr.Event.KeyEvent.wRepeatCount = 1;
      tr.Event.KeyEvent.wVirtualKeyCode = VK_RETURN;
      tr.Event.KeyEvent.wVirtualScanCode = 0;
      tr.Event.KeyEvent.uChar.UnicodeChar = 0;
      tr.Event.KeyEvent.dwControlKeyState = 0;
      ::Info.EditorControl (-1, ECTL_PROCESSINPUT, 0, &tr);
      return IGNORE_EVENT;
   }
   return (PROCESS_EVENT);
}
TagsNo tags attached.
Build

Activities

shmuel

2014-03-10 23:17

developer   bugnote:0011883

Погонял имеющиеся у меня билды Фара и выяснил, что неисправность эта довольно давняя:
* Far 2.0.1807 - работает правильно.
* Far 3.0.2346 - ведёт себя аналогично последним билдам.

Билд 2346 - самый ранний, который я мог проверить за приемлемое время. Неисправность, наверняка, появилась ещё в более ранних билдах.

Область кода в Фаре мне незнакомая, так что будем надеяться, что авторы изменений сами и починят.

DrKnS

2014-03-11 00:13

administrator   bugnote:0011885

http://bugs.farmanager.com/view.php?id=1760

zg

2014-03-13 04:22

developer   bugnote:0011901

попробуй 3832.

vskirdin

2014-03-13 11:26

administrator   bugnote:0011902

Накладок с 0000488 не будет?

zg

2014-03-13 12:23

developer   bugnote:0011908

нет.

Issue History

Date Modified Username Field Change
2014-03-10 16:10 4ekucT New Issue
2014-03-10 23:17 shmuel Note Added: 0011883
2014-03-11 00:13 DrKnS Note Added: 0011885
2014-03-13 04:22 zg Note Added: 0011901
2014-03-13 11:26 vskirdin Note Added: 0011902
2014-03-13 12:23 zg Note Added: 0011908