screen_send_event()

Отправляет событие в очередь

Прототип:

#include <screen/screen.h>
int screen_send_event( screen_context_t ctx,
screen_event_t ev,
pid_t pid );

Аргументы:

ctx
Дескриптор контекста, должен быть создан функцией screen_create_context(). Контекст должен быть привилегированным.
ev
Дескриптор события, должен быть создан функцией screen_create_event(). При отправке события необходимо установить нужные свойства. Свойства устанавливаются с помощью функций screen_set_event_property_iv() и screen_set_event_property_pv() в соответствии с типом события.
pid
ID процесса, который можно назначить адресатом события. В противном случае адресатом будет окно, установленное в качестве свойства SCREEN_PROPERTY_WINDOW для ev.

Библиотека:

libscreen

Описание:

Тип функции: Исполняемые немедленно

Данную функцию может использовать только оконный менеджер, когда ему нужно отправить событие. Чтобы иметь возможность отправлять события ввода, ctx должен быть привилегированным контекстом. Привилегированный контекст можно создать, вызвав функцию screen_create_context() с типом контекста SCREEN_WINDOW_MANAGER_CONTEXT.

Возвращаемое значение:

0
Событие отправлено процессу.
-1
В случае ошибки, код ошибки записывается в errno.

Коды ошибок:

EINVAL
Некорректный аргумент.
EPERM
Недостаточно прав для отправки события.
EFAULT
Отправка события завершилась с ошибкой на стороне сервера.

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Screen

Поддерживается, начиная с ЗОСРВ «Нейтрино» редакции 2020

Безопасность использования
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да




Предыдущий раздел: События