overlays: Patch hyprland to fix touch keyboards

Fixes both Squeekboard and wvkbd, however the former still has more
issues.
This commit is contained in:
Donovan Glover 2024-07-14 14:23:04 -04:00
parent 8d73151486
commit 550c0579f5
No known key found for this signature in database
GPG Key ID: EA7408A77AE1BE65
2 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,32 @@
From 9c5dd59d4b1927b7d88e8e3c2e260eb01d95794b Mon Sep 17 00:00:00 2001
From: Vaxry <vaxry@vaxry.net>
Date: Sat, 29 Jun 2024 00:23:02 +0200
Subject: [PATCH] input: fix capabilities enum types passed
hyprland down to the seat protocol impl expects IHID capabilities, not WL_ ones
ref #6702 #6196
---
src/managers/input/InputManager.cpp | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp
index 81a46f97069..b362152053f 100644
--- a/src/managers/input/InputManager.cpp
+++ b/src/managers/input/InputManager.cpp
@@ -1473,14 +1473,7 @@ void CInputManager::updateCapabilities() {
if (h.expired())
continue;
- auto cap = h->getCapabilities();
-
- if (cap & HID_INPUT_CAPABILITY_KEYBOARD)
- caps |= WL_SEAT_CAPABILITY_KEYBOARD;
- if (cap & HID_INPUT_CAPABILITY_POINTER)
- caps |= WL_SEAT_CAPABILITY_POINTER;
- if (cap & HID_INPUT_CAPABILITY_TOUCH)
- caps |= WL_SEAT_CAPABILITY_TOUCH;
+ caps |= h->getCapabilities();
}
g_pSeatManager->updateCapabilities(caps);

7
overlays/hyprland.nix Normal file
View File

@ -0,0 +1,7 @@
final: prev: {
hyprland = prev.hyprland.overrideAttrs (oldAttrs: {
patches = (oldAttrs.patches or [ ]) ++ [
../assets/hyprland-fix-keyboard-focus.patch
];
});
}