LINUX.ORG.RU
ФорумTalks

Несколько функций на одной клавише


0

0

Есть такая программа для просмотра изображений — IrfanView. Закрытая, бесплатная, довольно популярная. Под вайном работает. У неё достаточно необычно реализовано управление с клавиатуры. Одна и та же клавиша может применяться и для прокручивания изображения, если оно не влазит в окно, и для перехода на следующий рисунок, если крутить некуда.

Вопросы. Как по-вашему, насколько это удобно? Можете ли назвать другие примеры, когда назначение клавиши варьируется в зависимости от обстановки? Ни в KDE, ни в гноме, ни в XFCE глобальные настройки не позволяют назначать одну клавишу на несколько действий, с уществует ли среда или тулкит, который позволяет?

★★★★★
Ответ на: комментарий от wyldrodney

> Уже придумал как решить проблему

Прозрачностью?

Вот бы кто начал ДЕ писать

Ну, у тя и аппетиты. Хотя... Я бы с энтузиазмом воспринял портирование третьих кед на четвёртую кутю. Шоб с кикером и без плазмы. Типа, как крысу вместо гнома в своё время.

Mess
()
Ответ на: комментарий от Mess

Не прозрачностью)

Тут есть один-два человека, они тоже интересуются подобным. Ты уже участвовал в открытых проектах? :)

wyldrodney
()
Ответ на: комментарий от Mess

> Ещё лучше, чтобы отслеживалось и нажатие, и отпускание.

Нажатие уже отслеживается, и от него отказываться не собираются. А клавиатура PC, строго говоря, посылает сигнал и при нажатии, и при отпускании.

> это реализовать ну никак не сложнее, чем прикручивать-откручивать HAL или DRI

Именно, что оказалось сложно. В мае мэйнтэйнер сказал «занимаюсь», и с тех пор никаких новостей. Можешь спросить svu, вдруг что новое знает.

question4 ★★★★★
() автор топика
Ответ на: комментарий от wyldrodney

> Не прозрачностью

Значит, жутким извратом.

Ты уже участвовал в открытых проектах? :)

Нет. Я не кодер, могу помочь идеями, критикой и тестингом. И прочими околотакими штуками. Моя критика ценна особенно - уже очень долгое время не ошибался. Если уж я что-то (или кого-то) считаю говном, то это говно и есть, тому обязательно находятся объективные доказательства. Могу ошибиться в оптимистичную сторону, но это поправимо :)

Mess
()
Ответ на: комментарий от Mess

Я осилил Qt за несколько недель. Базово. Сейчас читаю книжки, разбираю чужой код- повышаю квалификацию, проще говоря. Не так это и сложно)

Вести проект я не готов, но вот присоединиться буду рад. Потому и спросил.

wyldrodney
()
Ответ на: комментарий от question4

> Нажатие уже отслеживается, и от него отказываться не собираются

Было бы странно, если бы отказались.

А клавиатура PC, строго говоря, посылает сигнал и при нажатии, и при отпускании

Я как бы в курсе.

Именно, что оказалось сложно

Да? Странно. Ну, ему, наверное, виднее.

Mess
()
Ответ на: комментарий от wyldrodney

> Я осилил Qt за несколько недель

Возраст у меня не тот. Я очень давно не кодил, если не считать поддержки нескольких не очень сложных программулек на сях.

Вести проект я не готов, но вот присоединиться буду рад. Потому и спросил.

Вобщем-то, я готов помочь другими вещами, которыми кодерам заниматься обычно некогда, лень и неохота. «Озвучено профессиональными программистами» - уже не модно. Кодеры не лучше всех умеют многое из того, без чего программы не могут считаться хорошим продуктом.

Mess
()

>Можете ли назвать другие примеры, когда назначение клавиши варьируется в зависимости от обстановки?

Одноклавишные шорткаты в Опере.

существует ли среда или тулкит, который позволяет?


Диалоги настроек клавиатуры в ней же. Названия комбинаций клавиш дополняются условиями. Можно назначать несколько действий, объединяя с помощью логических операторов (http://operawiki.info/EditingINIFiles#mouse ). Есть иерархия виджетов.

В результате клавиша пробел:

1. Если клавиатурный фокус на элементе формы, то для каждого их вида свой макрос, например для чекбоксов Check item | Uncheck item | Click button.

2. Иначе, так как срабатывает команда для виджета «Browser widget», страница прокручивается вниз. Для вкладок без браузера по другому, например для Mail Window на нажатие пробела задано Page down, 1 | Mark and select next unread | Next item, 1

3. Ну а если страница прокручена до конца вниз, то на уровне приложения срабатывает Fast forward, то есть на ЛОРе, например, это переход в соседнюю тему.

ИМХО, очень удобно.

anonymfus ★★★★
()

> Как по-вашему, насколько это удобно?
Абсолютно неудобно. Представьте себе, смотрите Вы в своей директории ма-а-аленькие картинки, и вдруг раз! попалась одна огромная. И прокрутка больше не работает.

AITap ★★★★★
()
Ответ на: комментарий от anonymfus

> 1. Если клавиатурный фокус на элементе формы, то для каждого их вида свой макрос, например для чекбоксов Check item | Uncheck item | Click button.

2. Иначе, так как срабатывает команда для виджета «Browser widget», страница прокручивается вниз. Для вкладок без браузера по другому, например для Mail Window на нажатие пробела задано Page down, 1 | Mark and select next unread | Next item, 1

В других браузерах так же.

3. Ну а если страница прокручена до конца вниз, то на уровне приложения срабатывает Fast forward, то есть на ЛОРе, например, это переход в соседнюю тему.

Спасибо, не знал. Как это задаётся, <link rel=«Next» или <link id=«NextLink» ?

Но тоже недоделали. Shft-пробел работает для прокрутки страницы вверх, но не переводит на предыдущую.

И как эти ссылки задействовать в других браузерах?

question4 ★★★★★
() автор топика
Ответ на: комментарий от AITap

> Представьте себе, смотрите Вы в своей директории ма-а-аленькие картинки, и вдруг раз! попалась одна огромная.

Хлоп по кнопке «втиснуть в окно», и смотрю дальше.

И прокрутка больше не работает.

Как раз прокрутка картинки работает. А если посмотреть мои ответы выше: http://www.linux.org.ru/jump-message.jsp?msgid=4451070&cid=4451229 , то и переход должен сработать — только для этого придётся прокрутить картинку до противоположного края.

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

>В других браузерах так же.

Но не построено на макросах, поэтому не кастомизируется.

Как это задаётся, <link rel=«Next» или <link id=«NextLink» ?


Первое конечно. А ещё через определённые слова в тексте ссылки, перечисленные в fastforward.ini, где также задаётся значимость разных методов.

http://www.opera.com/support/kb/view/608/

Но тоже недоделали. Shft-пробел работает для прокрутки страницы вверх, но не переводит на предыдущую.


Можно доделать самому, добавить для контекста Application на комбинацию space shift действие Back. Работает, сейчас проверил.

И как эти ссылки задействовать в других браузерах?


А надо? Ну, может, есть подобное расширение для FF.

anonymfus ★★★★
()

В FVWM можно указывать контекст для хоткеев, в зависимости от класса активного окна будут выполняться разные действия, например

yoghurt ★★★★★
()
Ответ на: комментарий от anonymfus

> А надо?

Тег <links... существует по-моему с самого создания WWW, а браузер, умеющий с ним что-либо делать помимо простого вывода списка ссылок, вижу впервые :)

question4 ★★★★★
() автор топика
Ответ на: комментарий от yoghurt

> В FVWM можно указывать контекст для хоткеев, в зависимости от класса активного окна будут выполняться разные действия, например

Спасибо, гляну.

question4 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.