diff --git a/overlays.nix b/overlays.nix index 7113650..c52f47b 100644 --- a/overlays.nix +++ b/overlays.nix @@ -27,6 +27,73 @@ index 196c2e78..42a3df76 100644 height = 10, width = 10, ''; + #TODO: sending keyboard stuff requires converting from keysym -> keycode. idk how to do that + testing-patch = '' +diff --git i/src/portals/RemoteDesktop.cpp w/src/portals/RemoteDesktop.cpp +index 551550f..cc97d02 100644 +--- i/src/portals/RemoteDesktop.cpp ++++ w/src/portals/RemoteDesktop.cpp +@@ -29,7 +29,7 @@ CRemoteDesktopPortal::CRemoteDesktopPortal() { + return onStart(o1, o2, s1, s2, m); + }), + sdbus::registerMethod("NotifyPointerMotion") +- .implementedAs([this](sdbus::ObjectPath o, double d1, double d2, std::unordered_map m) { ++ .implementedAs([this](sdbus::ObjectPath o, std::unordered_map m, double d1, double d2) { + return onNotifyPointerMotion(o, d1, d2, m); + }), + sdbus::registerMethod("NotifyPointerMotionAbsolute") +@@ -37,11 +37,11 @@ CRemoteDesktopPortal::CRemoteDesktopPortal() { + return onNotifyPointerMotionAbsolute(o, u, d1, d2, m); + }), + sdbus::registerMethod("NotifyPointerButton") +- .implementedAs([this](sdbus::ObjectPath o, int i, unsigned int u, std::unordered_map m) { ++ .implementedAs([this](sdbus::ObjectPath o, std::unordered_map m, int i, unsigned int u) { + return onNotifyPointerButton(o, i, u, m); + }), + sdbus::registerMethod("NotifyPointerAxis") +- .implementedAs([this](sdbus::ObjectPath o, double d1, double d2, std::unordered_map m) { ++ .implementedAs([this](sdbus::ObjectPath o, std::unordered_map m, double d1, double d2) { + return onNotifyPointerAxis(o, d1, d2, m); + }), + sdbus::registerMethod("NotifyPointerAxisDiscrete") +@@ -53,7 +53,7 @@ CRemoteDesktopPortal::CRemoteDesktopPortal() { + return onNotifyKeyboardKeycode(o, i, u, m); + }), + sdbus::registerMethod("NotifyKeyboardKeysym") +- .implementedAs([this](sdbus::ObjectPath o, int i, unsigned int u, std::unordered_map m) { ++ .implementedAs([this](sdbus::ObjectPath o, std::unordered_map m, int i, unsigned int u) { + return onNotifyKeyboardKeysym(o, i, u, m); + }), + sdbus::registerMethod("NotifyTouchDown") +@@ -112,7 +112,7 @@ dbUasv CRemoteDesktopPortal::onCreateSession(sdbus::ObjectPath requestHandle, sd + PSESSION->eis->setVirtualKeyboard(PSESSION->keyboard); + + m_mSessions.emplace(sessionHandle, PSESSION); +- ++ + return {0, {}}; + } + +@@ -137,8 +137,9 @@ dbUasv CRemoteDesktopPortal::onStart(sdbus::ObjectPath requestHandle, sdbus::Obj + } + + dbUasv CRemoteDesktopPortal::onNotifyPointerMotion(sdbus::ObjectPath sessionHandle, double dx, double dy, std::unordered_map opts) { ++ Debug::log(LOG, "[remotedesktop] notify pointer motion: {} {}", dx, dy); + const auto PSESSION = m_mSessions[sessionHandle]; +- PSESSION->pointer->sendMotion(0, dx, dy); ++ PSESSION->pointer->sendMotion(0, dx*20, dy*20); + return {0, {}}; + } + +@@ -149,6 +150,7 @@ dbUasv CRemoteDesktopPortal::onNotifyPointerMotionAbsolute(sdbus::ObjectPath ses + } + + dbUasv CRemoteDesktopPortal::onNotifyPointerButton(sdbus::ObjectPath sessionHandle, int button, unsigned int state, std::unordered_map opts) { ++ Debug::log(LOG, "[remotedesktop] notify button {} {}", button, state); + const auto PSESSION = m_mSessions[sessionHandle]; + PSESSION->pointer->sendButton(0, button, state); + return {0, {}}; +''; in { # This one brings our custom packages from the 'pkgs' directory @@ -75,13 +142,50 @@ in }; }; - #hyprland = prev.hyprland.override { - # debug = true; + #hyprland = prev.hyprland.override { + # debug = true; #}; #hyprland = # inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.hyprland; #xdg-desktop-portal-hyprland = # inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + + + # to add input capture protocol support (needed for kde connect) + #hyprland = prev.hyprland.overrideAttrs (oldAttrs: { + # src = prev.fetchFromGitHub { + # owner = "3l0w"; + # repo = "Hyprland"; + # rev = "2464bfc318f83c093784561c6a0afca6871e119e"; + # hash = "sha256-6MIA9wu9YW/eKsI0UEuP7CgDiribEv9apzr66dHzRME="; + # fetchSubmodules = true; + # }; + #}); + #hyprland-protocols = prev.hyprland-protocols.overrideAttrs (oldAttrs: { + # src = prev.fetchFromGitHub { + # owner = "3l0w"; + # repo = "hyprland-protocols"; + # rev = "d6bfa25be7b250dc417cbad89f13291efb0375d5"; + # hash = "sha256-ULzGRSj18xOrTXnvWrkaaHUaMHaJWyXlmLDDw2jruLo="; + # }; + #}); + #xdg-desktop-portal-hyprland = prev.xdg-desktop-portal-hyprland.overrideAttrs (oldAttrs: { + # src = prev.fetchFromGitHub { + # #owner = "3l0w"; + # #repo = "xdg-desktop-portal-hyprland"; + # #rev = "436619a06641d7090e36416546d26b9aee2f0679"; + # #hash = "sha256-OMv/8J2n2skwfVYFe1rY8pheL4T6rbWOTYYx/2u7ouk="; + + # owner = "toneengo"; + # repo = "xdg-desktop-portal-hyprland"; + # rev = "f74a2278f78a5ec9167c945a40486d8999fefb9d"; + # hash = "sha256-dH+NhC2Zz8v6MoTMaEK8qEZhHBpdCSI4818styWUFew="; + # }; + + # patches = [ (prev.writeText "testing-patch" testing-patch) ]; + # buildInputs = oldAttrs.buildInputs ++ [ prev.libei ]; + #}); + #csharp-ls = prev.csharp-ls-8; };