Клуб Punto Switcher

Заголовок не указан

16 октября 2008, 19:21
 Странный баг какой-то. В Total Commander жмем букву, чтобы быстро переместиться и жмем Enter. Вместо того, чтобы войти в каталог курсор перемещается в начало списка, а раскладка переключается на другую. Попробовал в explorer, дак там вообще переходит на уровень выше. Причем, если нажать букву дважды и более, т.е. перейти не на первый каталог начинающийся с этой буквы, а на последующие, то все нормально. (с половиной букв все как надо). WinXP SP3, Punto 3.0.1 сборка 66.
13 комментариев
Подписаться на комментарии к посту
Задам еще более странный вопрос: так происходит со всеми буквами? Текущая раскладка и имя каталога совпадают (раскладка английская - каталог называется по-английски, раскладка русская - каталог называется по-русски)?
Пунта воспринимает нажатие буков в командере, так же как и в любом текстовом редакторе и пытается их переключить. Вы жмете "D" и Enter, а пунта переключает раскладку и генерит букву В и Enter.
Происходит не со всеми буквами, елки палки :-)
Не все, а те буквы, которые переключаются автоматически.
Создал папку "ь" - все нормально, а по вашей логике точно должен был попасть в папку "m". Значит не оно.Повторюсь про паузу, если делать ее перед Enter - все происходит как надо.
Почему? "ь" пунтой автоматически не переводится, то и в паку "m" не попадет
Хорошо, тогда так. Захожу через Explorer в Program Files, включаю русскую раскладку, жму "ф" (каталогов на такую букву нет), естественно курсор не куда не переходит,а при нажатии на Enter раскладка переключается на английскую, каталог меняется на С:\ и при этом выскакивает сообщение - С:\AUTOEXEC.BAT is not a valid Win32 application, т.е. как будто бы я попытался запустить AUTOEXEC.BAT в корне С:\ Во как. Если же создать в С:\ две папки начинающиеся на латинскую "А", то попадаем во вторую по порядку. Вообще бред какой-то :-) Хоть бы отписались так у вас или нет.
Punto заменяет раскладку очень просто, оценив что слово набрано в неверной раскладке он решает его заменить, для этого посылает серию backspace'ов после чего серию букв, набирая слово в правильной раскладке. Необходимо знать, что о введённых словах он знает только по серии записанных букв, а о выделенном тексте он знает только то что можно прочитать из буфера обмена. Он знать не знает о том что за TextArea или TextField у вас в фокусе. На мой взгляд использовать Punto-Switcher в программах отличных от редактора равнозначно игре в русскую рулетку. Достаточно предположить, что где то по backspace файлы удаляются. P.S. В качестве особого кайфа стоит попробовать использовать Punto-Switcher в редакторе gVim.
- так происходит со всеми буквами? - нет, с половиной букв все нормально, я об этом написал - Текущая раскладка и имя каталога совпадают (раскладка английская - каталог называется по-английски, раскладка русская - каталог называется по-русски)? - Да, естественно, курсор при этом перемещается на нужный каталог, а при нажатии на Enter перескакивает в начало (TC) или переходит на уровень выше (Explorer), например: были в каталоге Program Files - очутились в корне С:\ Дома то-же самое с Punto 3.0.63 Сейчас проверил: если делать паузу перед Enter - все происходит как надо :-) , а если быстро, то как я описал.
А если добавить Windows Commander в "программы-исключения"? У него собственного редактора нету, а потому и Punto там как бы и не нужен.
Спасибо за ответы, но решения так и нет, на сколько я понял. Попробовал все версии начиная с 295 - все то-же. На машинах с SP-2 все нормально, может проблема с SP-3?
Не может быть всё нормально, это естественное поведение Пунто, его ключевой алгоритм. Уже ж разъяснили. 1) Ты вводишь букву и жмешь Энтер. 2) Пунто чувствует, что буква неправильная, "стирает ее" (посылая backspace) - это переход на уровень выше 3) Потом он набирает ее в другой раскладке (посылая код клавиши, например, "a") - Проводник переносит фокус на первый файл, чье имя начинается с "а" - это autoexec.bat 4) Наконец Пунто посылает Энтер, запуская тем самым autoexec.bat.
Спасибо, что разъяснили. Я, в принципе, так и думал, что так должно работать. Просто не замечал раньше в этом удобства. Пошел искать че-нить другое и с нормальной поддержкой. Удачных дальнейших разработок.