[Homeros] Q: Ещё раз горячие клавиши в Windows
Nikita
nikita-mailings на rambler.ru
Чт Сен 24 23:01:04 MSK 2015
Здравствуйте, Michael Pozhidaev.
> Самый главный минус этого подхода
> -привязка к интерфейсу конкретной библиотеки, а она будет оставаться
> одинаковой между разными версиями Windows?
Ну если ты про часть, привязанную к Win API, то, думаю, там всё достаточно
стабильно. В Microsoft не очень любят ломать API. У них с девяностых готов
куча API тянутся.
> JNI - это, вообще говоря,
> зло, просто временами необходимое.
Ну да, только это называется одним словом - компромисс. :-)
Компромисс технологический, а для пользователей это как раз то, что снимает
головную боль и им плевать, как разработчик этого добился.
> ждут ли потенциальные пользователи от Luwrain такого поведения, которое
> будет заменять базовые кнопки Windows.
Я думаю, что пользователи такими категориями в массе своей вообще не
оперируют. Они ждут удобства использования, а доступ в меню Luwrain одной
кнопкой представляется проще, чем комбинацией из двух кнопок.
Более того, раз уж Luwrain - это целая рабочая среда, то повышенный контроль
за сохранением фокуса в ней даже в тему.
Например, тот же самый Dolphin Guide также перехватывает не просто нажатие
Windows, но даже и попытки выхода в другое окно, возвращая себя на передний
план.
То есть из среды случайно не вывалиться, а внутри неё может быть
нестандартные реакции на стандартные клавиши. Мне кажется, это вполне в
логике отдельной песочницы для работы.
> И этот метод ещё порождает
сомнения на тему, кнопку-то ты поймаешь, а вот насколько это запретит её
> поймать Windows?
Я не думаю, что кому-то нужен перехват клавиатурных событий без блокирования
исходной привязки, так что у меня даже мысли такой нет.
Раз человек собирал на этом готовые продукты, то вряд ли у него были
проблемы такого рода, потому что в противном случае все его разработки можно
было бы выбрасывать.
Перехват в том числе и системных кнопок Windows - это регулярная практика.
Например, экранные чтецы это постоянно делают. Эта библиотека просто open
source Java-реализация, которую мне удалось найти.
Плюс она должна пригодится и на Linux, и на OS X, где аналогичные проблемы
тоже возникают.
Мне кажется, имеет смысл на всё это посмотреть и в итоге попробовать сделать
возможность перехвата любой клавиши на любой системе, чтобы было меньше
фрагментации по платформам.
Единственно я не уверен, что всё это хозяйство способно ещё и различать
парные клавиши, типа RightAlt и LeftAlt, но тут надо уже смотреть и
пробовать. Вообще же я не сторонник разных функций для зеркальных клавиш.
Успехов. Никита.
Подробная информация о списке рассылки Homeros