Выделение текста
Выделение текста
Странно работает выделение, поиском похожих проблем не нашел.
Странность заключается в том, что зажав Shift и зажав стрелку (например вправо), выделяется ~30 символов, после чего выделение снимается и начинается с нового места (~30 символа). Потом выделяется еще ~30 и опять выделении снимается, и так далее. Одно такое выделении занимает примерно одну секунду.
Также, в связи с этим, невозможно зажав Shift и стрелку выделить строку, потом нажать влево. Выделение начинается заново с места курсора.
OS: Windows XP SP3
Far: 1.70 build 2087, из плагинов только Colorer, но его отключение не помогает.
Проблема не связана с постоянными блоками и т.д., проявляется только в FAR, в остальных программах такого нет.
Странность заключается в том, что зажав Shift и зажав стрелку (например вправо), выделяется ~30 символов, после чего выделение снимается и начинается с нового места (~30 символа). Потом выделяется еще ~30 и опять выделении снимается, и так далее. Одно такое выделении занимает примерно одну секунду.
Также, в связи с этим, невозможно зажав Shift и стрелку выделить строку, потом нажать влево. Выделение начинается заново с места курсора.
OS: Windows XP SP3
Far: 1.70 build 2087, из плагинов только Colorer, но его отключение не помогает.
Проблема не связана с постоянными блоками и т.д., проявляется только в FAR, в остальных программах такого нет.
- HaRT
- Moderator
- Posts: 10529
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 201 times
- Been thanked: 334 times
Re: Выделение текста
droll
Во-первых, надо бы проверить на свежей общедоступной версии, например, 2411+.
Во-вторых, очень похоже, что какая-то внешняя прога гадит во входную очередь событий консольного окна.
Во-первых, надо бы проверить на свежей общедоступной версии, например, 2411+.
Во-вторых, очень похоже, что какая-то внешняя прога гадит во входную очередь событий консольного окна.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Re: Выделение текста
Спасибо, именно так, только не прога - а сам ноут посылал E00D каждую секунду.HaRT wrote:Во-вторых, очень похоже, что какая-то внешняя прога гадит во входную очередь событий консольного окна.

Сбило с толку что это только в Far происходило.
Выделение блоков в редакторе
Не могу понять, что изменилось в новых версиях с выделением блоков с в редакторе с помощью клавиш Shift-Arrows. При нажатии Shift-стрелка вправо выделяется один символ, при повторном нажатии этой комбинации, выделяется следующий символ, но выделение с предыдущего символа пропадает. То же самое с выделением строк: возможно выделить только одну строку, потому, что при попытке выделить следующую строку нажатием Shift-стрелка вниз, предыдущее выделение исчезает.
Выделение текста
Добрый день всем. Аналогичная ситуация на одном из ноутбуков (сборки Far'а пробовал разные и стабильные и night), при попытке выделения текста в редакторе с помощью Shift + стрелки выделение сбрасывается. Т.е. выделяется только определенное количество символов, которые следуют за курсором, т.е. ровно то, что и описывал топикстартер. В связи с чем вопрос - как / чем отследить что посылается в очередь консольного окна и как избавиться от этого? Советы, предложения, комментарии приветствуются ... При этом на другом ПК в тех же сборках Far подобная проблема не наблюдается.
Выделение текста
p.s. Заметил интересную особенность, если при выделении использовать Shift + стрелки основной клавиатуры ноутбука - то нормально выделить текст не получается. Однако, если нажать Num Lock и использовать стрелки на дополнительной клавиатуре - все работает. Т.е. Shift + стрелки на доп. клавиатуре работают превосходно. Может быть данную проблему можно как-то исправить программно? Например поставив какой-нибудь дополнительный плагин, или пересобрав один из модулей, чтобы Far игнорировал "лишние сообщения". Единственное надо правда разобраться что именно посылается в окно в моем случае (как, я пока не придумал).
Выделение текста
Спасибо за быстрый ответ, честно говоря не ожидал. Итак, что удалось выяснить. Вот так выглядит нажатие и отпускание стрелки "Вниз":Maximus5 wrote: Например, с помощью KeyEvents.
Здесь все нормально. Аналогичную ситуацию имеем и когда нажимаем стрелку "Внизу" на дополнительной клавиатуре. Однако, при одновременном нажатии Shift + Стрелка "Вниз" на основной клавиатуре в событиях виден какой-то мусор:
Как будто мы нажали и не отпустили Vk="VK_????" [255/0x00FF]. Видимо на это так и реагирует Far, не давая выделить текст. Теперь назревает другой вопрос, каким образом можно заставить редактор Far'а игнорировать это событие.
p.s. Спасибо за помощь ...
Выделение текста
Никогда не думал что буду собирать Far из исходников ... однако сейчас ради интереса взял последнюю версию из SVN'а и к моему удивлению все достаточно быстро собралось (отдельное спасибо команде разработчиков за build.bat и сборку в 1 клик), теперь осталось разобраться где начинается разбор очереди сообщений и сделать маленький фикс для игнорирования [255/0x00FF]. Если кто-то подскажет в какую сторону смотреть - буду крайне признателен. До этого исходников Far'а не видел в глаза, поэтому сам я видимо искать буду долго.
Выделение текста
Всё. Разобрался. Возможно кому-то будет полезным. "Корень" проблемы крылся в keyboard.cpp ... было:
Стало:
Т.е. при нажатом Shift'е мы просто игнорируем поступающее непонятное нажатие. Насколько это решение корректно - другой вопрос, но оно рабочее.
Code: Select all
if (!rec->Event.KeyEvent.bKeyDown && (CtrlState&(ENHANCED_KEY|NUMLOCK_ON)))
return Modif|(KEY_VK_0xFF_BEGIN+ScanCode);
return KEY_IDLE;
Code: Select all
if (!(CtrlState & SHIFT_PRESSED)) { // [+] Decker
if (!rec->Event.KeyEvent.bKeyDown && (CtrlState&(ENHANCED_KEY|NUMLOCK_ON)))
return Modif|(KEY_VK_0xFF_BEGIN+ScanCode); }
return KEY_IDLE;