Возможно ли в Ubuntu сделать так, чтобы клик мышки и горячие клавиши срабатывали при поднятии кнопки, а не при нажатии?
В Windows для вызова контекстного меню я должен отпустить ПКМ.
В Ubuntu контекстное меню вызывается при нажатии ПКМ. При отпускании срабатывает уже клик по пункту контекстного меню. Это очень непривычно. Невозможно предугадать, где и как откроется контестное меню. И иногда за счет нажатия и отпускания ПКМ я не просто вызываю контекстное меню, а, например, создаю пустую папку, из-за чего контекстное меню скрывается.
То же самое с горячими клавишами. В Windows, чтобы переключить раскладку клавиатуры, нужно отпустить Alt+Shift. В Ubuntu нужно зажать. Возможно, я не хочу переключать раскладку, я хочу зажать еще какие-либо клавиши, чтобы выполнить другое сочетание. Но оно не сработает, потому что произойдет смена раскладки клавиатуры.
Everything_is_bad, эта проблема есть только на GNOME? А на какой среде ее нет? Я мало работал с Linux. Скачал официальную Ubuntu, а она с GNOME. И стал ей пользоваться.
В Linux стандартно по ПКМ можно в выпавшем контекстном меню также ПКМ выбрать любой пункт и он отработает.
Плюс, в винде это не работает вообще - в Linux выделаешь что-либо текстовое, и туда, где хочешь вставить выделенное просто нажатием на скрол на мышке вставляется выделенное ранее!
Он немного про другое. При нажатии клавиши генерируется событие нажатия (keydown), при отпускании - событие отпускания (keyup). И вот в Linux почему-то принято обрабатывать keydown, а не keyup. Честно говоря, сам не знаю почему так. Вроде это можно переделать в той или иной степени, если самому переписать себе раскладку на нестандартную, но я не пробовал, да и это довольно муторное занятие, можно хотя бы по этому мануалу увидеть: https://wiki.archlinux.org/title/X_keyboard_extension
Из-за подобного регулярно возникают неудобства. Например, если переключение раскладок висит на Alt-Shift, то комбинации типа Alt-Shift-X набирать уже не получится. Это, кстати, является одной из причин популярности у бывалых линуксоидов нестандартных переключаторов раскладки, типа CapsLock. Я лично как 20 лет назад начал пользоваться популярным тогда правым Alt, так до сих пор и пользуюсь. Комбинации типа Alt-X у меня можно набрать только с левым Alt.
eugene159, я за 20 лет не имел необходимости переходить на переключение "как в винде". И кстати в винде я тоже всегда настраивал Ctrl-Shift.
Я уж не говорю о том, что 20 лет назад (точнее даже 25 лет, я Linux познакомился с началом высшего образования, в 1999 году) раскладки меняли в конфиге XFree86, а X.org не существовало.
в общем случае, аппаратные прерывания клавиатуры, генерируют событии как нажатия, так и отпускания. при этом посылаются так называемые scancode..
далее работает стек драйверов ОС и рантайма (у вас Ubuntu десктоп некий)..
на каком этапе есть возможность вмешаться? ..
ну в общем случае просто даю ход мыслей.. может кто еще накинет..
и в любом случае, даже успешное решение, наверняка, будет зависимо от платформы (ОС/проц)
ps сначала прочитал Unity... по тому сумбурный ответ получился... но общий смыл остается тот же - аппаратные прерывания ни кто и ни где не отменял ;))
Закину мысли от себя, но это требует дополнительного исследования.
Обработкой собственно события клавиатуры занимается не операционная система как таковая а библиотеки приложений, т.е. чтобы изменить это поведение потребуется модификация их кода. Т.е. всех версий gtk и kde как минимум, подменить логику работы в браузере (он все делает сам). Т.е. не будет красивого решения типа каких то настроек в конфиге.
Еще направлением может быть следующее - если тебе нужно изменить поведение определенных комбинаций, то именно эти кнопки можно подменить в настройках самой клавиатуры (linux позволяет изменить сканкоды выбранных клавиш), затем написать свое приложение или модифицировать существующего демона, слушающего клавиатуру, который будет на нажатие этих клавиш уже с новым сканкодами, симулировать уже по твоей логике реальные сканкоды, которые уйдут в приложение уже в нужное тебе время.
Но сложность тут в том что скорее всего тебе нужны комбинации ctrl/shift/alt/... а их приложения могут обрабатывать по своему (причем часто коряво) и придется прятать от приложений и эти клавиши целиком (а значит симулировать и их поведение)