mirror of
https://github.com/hyprwm/Hyprland
synced 2024-12-22 18:29:50 +01:00
better capability handling
This commit is contained in:
parent
f71f04db9e
commit
ac0e675f3b
3 changed files with 14 additions and 18 deletions
|
@ -91,7 +91,7 @@ void Events::listener_newInput(wl_listener* listener, void* data) {
|
|||
break;
|
||||
}
|
||||
|
||||
g_pInputManager->updateCapabilities(DEVICE);
|
||||
g_pInputManager->updateCapabilities();
|
||||
}
|
||||
|
||||
void Events::listener_newConstraint(wl_listener* listener, void* data) {
|
||||
|
|
|
@ -1014,24 +1014,20 @@ void Events::listener_commitConstraint(void* owner, void* data) {
|
|||
//g_pInputManager->recheckConstraint((SMouse*)owner);
|
||||
}
|
||||
|
||||
void CInputManager::updateCapabilities(wlr_input_device* pDev) {
|
||||
// TODO: this is dumb
|
||||
void CInputManager::updateCapabilities() {
|
||||
uint32_t caps = 0;
|
||||
|
||||
switch (pDev->type) {
|
||||
case WLR_INPUT_DEVICE_KEYBOARD:
|
||||
m_uiCapabilities |= WL_SEAT_CAPABILITY_KEYBOARD;
|
||||
break;
|
||||
case WLR_INPUT_DEVICE_POINTER:
|
||||
m_uiCapabilities |= WL_SEAT_CAPABILITY_POINTER;
|
||||
break;
|
||||
case WLR_INPUT_DEVICE_TOUCH:
|
||||
m_uiCapabilities |= WL_SEAT_CAPABILITY_TOUCH;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (!m_lKeyboards.empty())
|
||||
caps |= WL_SEAT_CAPABILITY_KEYBOARD;
|
||||
if (!m_lMice.empty())
|
||||
caps |= WL_SEAT_CAPABILITY_POINTER;
|
||||
if (!m_lTouchDevices.empty())
|
||||
caps |= WL_SEAT_CAPABILITY_TOUCH;
|
||||
if (!m_lTabletTools.empty())
|
||||
caps |= WL_SEAT_CAPABILITY_POINTER;
|
||||
|
||||
wlr_seat_set_capabilities(g_pCompositor->m_sSeat.seat, m_uiCapabilities);
|
||||
wlr_seat_set_capabilities(g_pCompositor->m_sSeat.seat, caps);
|
||||
m_uiCapabilities = caps;
|
||||
}
|
||||
|
||||
uint32_t CInputManager::accumulateModsFromAllKBs() {
|
||||
|
|
|
@ -60,7 +60,7 @@ public:
|
|||
void setTouchDeviceConfigs();
|
||||
|
||||
void updateDragIcon();
|
||||
void updateCapabilities(wlr_input_device*);
|
||||
void updateCapabilities();
|
||||
|
||||
void setClickMode(eClickBehaviorMode);
|
||||
eClickBehaviorMode getClickMode();
|
||||
|
|
Loading…
Reference in a new issue