Задать вопрос

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

В Windows для вызова контекстного меню я должен отпустить ПКМ.
В Ubuntu контекстное меню вызывается при нажатии ПКМ. При отпускании срабатывает уже клик по пункту контекстного меню. Это очень непривычно. Невозможно предугадать, где и как откроется контестное меню. И иногда за счет нажатия и отпускания ПКМ я не просто вызываю контекстное меню, а, например, создаю пустую папку, из-за чего контекстное меню скрывается.

То же самое с горячими клавишами. В Windows, чтобы переключить раскладку клавиатуры, нужно отпустить Alt+Shift. В Ubuntu нужно зажать. Возможно, я не хочу переключать раскладку, я хочу зажать еще какие-либо клавиши, чтобы выполнить другое сочетание. Но оно не сработает, потому что произойдет смена раскладки клавиатуры.
  • Вопрос задан
  • 1800 просмотров
Подписаться 4 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 3
smorman
@smorman
When In Rome do as The Romans do...
В Linux стандартно по ПКМ можно в выпавшем контекстном меню также ПКМ выбрать любой пункт и он отработает.
Плюс, в винде это не работает вообще - в Linux выделаешь что-либо текстовое, и туда, где хочешь вставить выделенное просто нажатием на скрол на мышке вставляется выделенное ранее!
Ответ написан
mindtester
@mindtester
http://iczin.su/hexagram_48
в общем случае, аппаратные прерывания клавиатуры, генерируют событии как нажатия, так и отпускания. при этом посылаются так называемые scancode..
далее работает стек драйверов ОС и рантайма (у вас Ubuntu десктоп некий)..
на каком этапе есть возможность вмешаться? ..
ну в общем случае просто даю ход мыслей.. может кто еще накинет..
и в любом случае, даже успешное решение, наверняка, будет зависимо от платформы (ОС/проц)

ps сначала прочитал Unity... по тому сумбурный ответ получился... но общий смыл остается тот же - аппаратные прерывания ни кто и ни где не отменял ;))
Ответ написан
Комментировать
@rPman
Закину мысли от себя, но это требует дополнительного исследования.

Обработкой собственно события клавиатуры занимается не операционная система как таковая а библиотеки приложений, т.е. чтобы изменить это поведение потребуется модификация их кода. Т.е. всех версий gtk и kde как минимум, подменить логику работы в браузере (он все делает сам). Т.е. не будет красивого решения типа каких то настроек в конфиге.

Еще направлением может быть следующее - если тебе нужно изменить поведение определенных комбинаций, то именно эти кнопки можно подменить в настройках самой клавиатуры (linux позволяет изменить сканкоды выбранных клавиш), затем написать свое приложение или модифицировать существующего демона, слушающего клавиатуру, который будет на нажатие этих клавиш уже с новым сканкодами, симулировать уже по твоей логике реальные сканкоды, которые уйдут в приложение уже в нужное тебе время.

Но сложность тут в том что скорее всего тебе нужны комбинации ctrl/shift/alt/... а их приложения могут обрабатывать по своему (причем часто коряво) и придется прятать от приложений и эти клавиши целиком (а значит симулировать и их поведение)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы