minor improvements to pointer handling

This commit is contained in:
vaxerski 2023-04-21 02:07:27 +01:00
parent ee3f000ab1
commit 997f780f4c
2 changed files with 9 additions and 2 deletions

View File

@ -16,5 +16,12 @@ glm::dvec2 CWaylandMouseInput::position() const {
if (!waylandDriver || !waylandDriver->lastLSInFocus)
return {0, 0};
return waylandDriver->lastLSInFocus->mousePos;
for (auto& o : waylandDriver->m_outputs) {
if (!o->rendering)
continue;
return o->layerSurface.get() == waylandDriver->lastLSInFocus ? o->layerSurface->mousePos : glm::dvec2{-1337, -1337};
}
return {0, 0};
}

View File

@ -46,7 +46,7 @@ static void handlePointerMotion(void* data, struct wl_pointer* wl_pointer, uint3
if (!PDRIVER->lastLSInFocus)
return;
PDRIVER->lastLSInFocus->mousePos = {x, y};
PDRIVER->lastLSInFocus->mousePos = {x * PDRIVER->lastLSInFocus->output->scale, y * PDRIVER->lastLSInFocus->output->scale};
}
static void handlePointerButton(void* data, struct wl_pointer* wl_pointer, uint32_t serial, uint32_t time, uint32_t button, uint32_t button_state) {