IT-словарь › Инфраструктура › ButtonPress и ButtonRelease

ButtonPress и ButtonRelease

Инфраструктура Svenska → Обновлено: 2026-10-18

События кнопок мыши в X11, которые заодно несут и колесо прокрутки — с тех пор как его замаскировали под кнопки 4 и 5.

Событие содержит номер кнопки, состояние модификаторов, метку времени и положение указателя относительно окна и корня. Базовый протокол рассчитан на пять кнопок. Когда в конце 90-х появились колёсики, места для них не нашлось, и XFree86 заставил прокрутку вверх и вниз выдавать себя за кнопки 4 и 5, нажимаемые и отпускаемые подряд. Соглашение продержалось больше десяти лет, пока XInput 2.1 не дал плавной прокрутке собственный канал.

Две особенности отличают мышь от клавиатуры. ButtonPress автоматически запускает активный захват, который длится, пока не отпущены все кнопки, так что перетаскивание, вышедшее за пределы окна, всё равно сообщается тому окну, где оно началось. И выбрать ButtonPressMask для данного окна может только один клиент за раз: второй получит BadAccess.

← Назад к словарю