ev->timestamp = timestamp;
ev->same_screen = 1;
- ev->window = dev->window;
- ev->event_window = dev->window;
- ev->root_window = dev->window;
+ ev->window = dev->seat->manager->window;
+ ev->event_window = dev->seat->manager->window;
+ ev->root_window = dev->seat->manager->window;
if (state == LIBINPUT_KEY_STATE_PRESSED)
ecore_event_add(ECORE_EVENT_KEY_DOWN, ev, NULL, NULL);
if (x < ptr->minx)
x = ptr->minx;
- else if (x >= ptr->minx + ptr->maxw)
- x = ptr->minx + ptr->maxw - 1;
+ else if (x >= ptr->minx + ptr->seat->manager->input.pointer_w)
+ x = ptr->minx + ptr->seat->manager->input.pointer_w - 1;
if (y < ptr->miny)
y = ptr->miny;
- else if (y >= ptr->miny + ptr->maxh)
- y = ptr->miny + ptr->maxh - 1;
+ else if (y >= ptr->miny + ptr->seat->manager->input.pointer_h)
+ y = ptr->miny + ptr->seat->manager->input.pointer_h - 1;
ptr->x = x;
ptr->y = y;
- ev->window = edev->window;
- ev->event_window = edev->window;
- ev->root_window = edev->window;
+ ev->window = edev->seat->manager->window;
+ ev->event_window = edev->seat->manager->window;
+ ev->root_window = edev->seat->manager->window;
ev->timestamp = ptr->timestamp;
ev->same_screen = 1;
ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));
if (!ev) return;
- ev->window = edev->window;
- ev->event_window = edev->window;
- ev->root_window = edev->window;
+ ev->window = edev->seat->manager->window;
+ ev->event_window = edev->seat->manager->window;
+ ev->root_window = edev->seat->manager->window;
ev->timestamp = ptr->timestamp;
ev->same_screen = 1;
ev = calloc(1, sizeof(Ecore_Event_Mouse_Wheel));
if (!ev) return;
- ev->window = dev->window;
- ev->event_window = dev->window;
- ev->root_window = dev->window;
+ ev->window = dev->seat->manager->window;
+ ev->event_window = dev->seat->manager->window;
+ ev->root_window = dev->seat->manager->window;
ev->timestamp = ptr->timestamp;
ev->same_screen = 1;
ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));
if (!ev) return;
- ev->window = dev->window;
- ev->event_window = dev->window;
- ev->root_window = dev->window;
+ ev->window = dev->seat->manager->window;
+ ev->event_window = dev->seat->manager->window;
+ ev->root_window = dev->seat->manager->window;
ev->timestamp = libinput_event_touch_get_time(event);
ev->same_screen = 1;
ev = calloc(1, sizeof(Ecore_Event_Mouse_Move));
if (!ev) return;
- ev->window = dev->window;
- ev->event_window = dev->window;
- ev->root_window = dev->window;
+ ev->window = dev->seat->manager->window;
+ ev->event_window = dev->seat->manager->window;
+ ev->root_window = dev->seat->manager->window;
ev->timestamp = libinput_event_touch_get_time(event);
ev->same_screen = 1;
#include "elput_private.h"
#include <libudev.h>
-void
-_elput_input_window_update(Elput_Manager *manager)
-{
- Eina_List *l, *ll;
- Elput_Seat *seat;
- Elput_Device *device;
-
- if (manager->input.thread) return;
- EINA_LIST_FOREACH(manager->input.seats, l, seat)
- EINA_LIST_FOREACH(seat->devices, ll, device)
- device->window = manager->window;
-}
-
-void
-_elput_input_pointer_max_update(Elput_Manager *manager)
-{
- Eina_List *l;
- Elput_Seat *eseat;
-
- if (manager->input.thread) return;
- EINA_LIST_FOREACH(manager->input.seats, l, eseat)
- {
- if (!eseat->ptr) continue;
-
- eseat->ptr->maxw = manager->input.pointer_w;
- eseat->ptr->maxh = manager->input.pointer_h;
- }
-}
-
static int
_cb_open_restricted(const char *path, int flags, void *data)
{
eseat = calloc(1, sizeof(Elput_Seat));
if (!eseat) return NULL;
+ eseat->manager = em;
eseat->name = eina_stringshare_add(name);
em->input.seats = eina_list_append(em->input.seats, eseat);
_cb_input_dispatch, &manager->input, NULL, NULL);
if (manager->input.hdlr)
- {
- _process_events(&manager->input);
- _elput_input_window_update(manager);
- _elput_input_pointer_max_update(manager);
- }
+ _process_events(&manager->input);
else
{
ERR("Could not create input fd handler");
EAPI void
elput_input_pointer_max_set(Elput_Manager *manager, int maxw, int maxh)
{
- Eina_List *l;
- Elput_Seat *eseat;
-
EINA_SAFETY_ON_NULL_RETURN(manager);
manager->input.pointer_w = maxw;
manager->input.pointer_h = maxh;
-
- _elput_input_pointer_max_update(manager);
}