Changeset f7fb2b21 in mainline for uspace/srv/hid/display/client.c


Ignore:
Timestamp:
2020-02-10T19:01:42Z (4 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b43edabe
Parents:
287688f
Message:

Propagate position event to display clients

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/display/client.c

    r287688f rf7fb2b21  
    221221
    222222        wevent->window = ewindow;
    223         wevent->event.kbd_event = *event;
     223        wevent->event.etype = wev_kbd;
     224        wevent->event.ev.kbd = *event;
    224225        list_append(&wevent->levents, &client->events);
    225226
     
    231232}
    232233
     234/** Post position event to the client's message queue.
     235 *
     236 * @param client Client
     237 * @param ewindow Window that the message is targetted to
     238 * @param event Event
     239 *
     240 * @return EOK on success or an error code
     241 */
     242errno_t ds_client_post_pos_event(ds_client_t *client, ds_window_t *ewindow,
     243    pos_event_t *event)
     244{
     245        ds_window_ev_t *wevent;
     246
     247        wevent = calloc(1, sizeof(ds_window_ev_t));
     248        if (wevent == NULL)
     249                return ENOMEM;
     250
     251        wevent->window = ewindow;
     252        wevent->event.etype = wev_pos;
     253        wevent->event.ev.pos = *event;
     254        list_append(&wevent->levents, &client->events);
     255
     256        /* Notify the client */
     257        // TODO Do not send more than once until client drains the queue
     258        if (client->cb != NULL && client->cb->ev_pending != NULL)
     259                client->cb->ev_pending(client->cb_arg);
     260
     261        return EOK;
     262}
     263
    233264/** @}
    234265 */
Note: See TracChangeset for help on using the changeset viewer.