Господа-граждане, всем доброго!
Исторически сложилось (у меня), что во всех приложениях клавиша F10 закрывает текущую панель и делает активным главное меню. После перехода на Lazarus 0.9.30 обнаружил, что нажатие F10 имитирует клик по первому слева пункту меню (Файл-Открыть и т.д.). Поначалу обрадовался - удобнее стало, а потом убедился, что навешивать на F10 другие действия (пробовал показать панель, поставить фокус на какой-либо контрол на ней и т.п.) нельзя - события отрабатываются только после второго нажатия на F10 и как-то криво.
Слегка поэкспериментировал - F9 и F11 работают как надо (меню, правда, не открывают...).
Кто-нибудь сталкивался?
p.s. Рабочий стол - XFCE 4.6.2
Не исключено, что Lazarus не виноват, может, в настройках рабстола на F10 что-нибудь висит?
Клавиша F10 и меню (обсудить)
Модератор: Модераторы
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Оно у всех так исторически сложилось. F10 в линуксе действует аналогично отдельному нажатию Alt в винде, т.е. активирует меню. В gnome и xfce, по крайней мере это так, насчет kde не знаю. Так что "клик" по первому пункту меню - это косяк Lazarus, а невозможность прикрутить что-то на F10 - общесистемное.
Спасибо!
Добавлю (только что проверил), что офисные приложения в XFCE по F10 также открывают первый пункт меню, а в KDE лишь делают его активным.
Как я понял, F10 инициирует некий "системный" вызов, и посадить на нее работающий обработчик невозможно в принципе? Или все же можно как-то обойти?
Sergei I. Gorelkin писал(а):Оно у всех так исторически сложилось. F10 в линуксе действует аналогично отдельному нажатию Alt в винде, т.е. активирует меню. В gnome и xfce, по крайней мере это так, насчет kde не знаю. Так что "клик" по первому пункту меню - это косяк Lazarus, а невозможность прикрутить что-то на F10 - общесистемное.
Добавлю (только что проверил), что офисные приложения в XFCE по F10 также открывают первый пункт меню, а в KDE лишь делают его активным.
Как я понял, F10 инициирует некий "системный" вызов, и посадить на нее работающий обработчик невозможно в принципе? Или все же можно как-то обойти?
