input-capture: inhibit inputs

This commit is contained in:
Gwilherm Folliot 2024-09-26 08:51:21 +02:00
parent e4035e6808
commit 6851f0cce0
No known key found for this signature in database
GPG key ID: 90236D3623DCD660

View file

@ -422,6 +422,8 @@ void CInputCapturePortal::activate(sdbus::ObjectPath sessionHandle, double x, do
if (!session->activate(x, y, borderId)) if (!session->activate(x, y, borderId))
return; return;
m_sState.manager->sendCapture();
auto signal = m_pObject->createSignal(INTERFACE_NAME, "Activated"); auto signal = m_pObject->createSignal(INTERFACE_NAME, "Activated");
signal << sessionHandle; signal << sessionHandle;
@ -445,7 +447,6 @@ bool CInputCapturePortal::Session::activate(double x, double y, uint32_t borderI
status = ACTIVATED; status = ACTIVATED;
Debug::log(LOG, "[input-capture] Input captured for {} activationId: {}", sessionHandle.c_str(), activationId); Debug::log(LOG, "[input-capture] Input captured for {} activationId: {}", sessionHandle.c_str(), activationId);
eis->startEmulating(activationId); eis->startEmulating(activationId);
//TODO: capture the pointer
return true; return true;
} }
@ -458,6 +459,8 @@ void CInputCapturePortal::deactivate(sdbus::ObjectPath sessionHandle) {
if (!session->deactivate()) if (!session->deactivate())
return; return;
m_sState.manager->sendRelease();
auto signal = m_pObject->createSignal(INTERFACE_NAME, "Deactivated"); auto signal = m_pObject->createSignal(INTERFACE_NAME, "Deactivated");
signal << sessionHandle; signal << sessionHandle;
std::unordered_map<std::string, sdbus::Variant> options; std::unordered_map<std::string, sdbus::Variant> options;
@ -465,8 +468,6 @@ void CInputCapturePortal::deactivate(sdbus::ObjectPath sessionHandle) {
signal << options; signal << options;
m_pObject->emitSignal(signal); m_pObject->emitSignal(signal);
//TODO: release the pointer
} }
bool CInputCapturePortal::Session::deactivate() { bool CInputCapturePortal::Session::deactivate() {