summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.hpp
diff options
context:
space:
mode:
authorxDarksome <dev@darkso.me>2022-07-02 19:43:52 +0300
committerGitHub <noreply@github.com>2022-07-02 19:43:52 +0300
commit185c4d6ea13ad5f4483aa2e389e43bd09106002f (patch)
treea7bc4a9510c39e367317b5ce64d2ee0e0a72d4f0 /src/managers/input/InputManager.hpp
parentfc4b10d13c14c4eb08febb0637f27177cb6a1940 (diff)
parentb7b3344188e3ebd2baed14bc288ee42a1ae8d6f2 (diff)
Merge branch 'hyprwm:main' into main
Diffstat (limited to 'src/managers/input/InputManager.hpp')
-rw-r--r--src/managers/input/InputManager.hpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/managers/input/InputManager.hpp b/src/managers/input/InputManager.hpp
index 06e6cb07..1a50c585 100644
--- a/src/managers/input/InputManager.hpp
+++ b/src/managers/input/InputManager.hpp
@@ -6,6 +6,11 @@
#include "../../Window.hpp"
#include "../../helpers/Timer.hpp"
+enum eClickBehaviorMode {
+ CLICKMODE_DEFAULT = 0,
+ CLICKMODE_KILL
+};
+
class CInputManager {
public:
@@ -32,6 +37,10 @@ public:
void updateDragIcon();
void updateCapabilities(wlr_input_device*);
+ void setClickMode(eClickBehaviorMode);
+ eClickBehaviorMode getClickMode();
+ void processMouseRequest(wlr_seat_pointer_request_set_cursor_event*);
+
// for dragging floating windows
CWindow* currentlyDraggedWindow = nullptr;
@@ -58,6 +67,13 @@ public:
private:
+ // for click behavior override
+ eClickBehaviorMode m_ecbClickBehavior = CLICKMODE_DEFAULT;
+ Vector2D m_vLastCursorPosFloored = Vector2D();
+
+ void processMouseDownNormal(wlr_pointer_button_event* e);
+ void processMouseDownKill(wlr_pointer_button_event* e);
+
uint32_t m_uiCapabilities = 0;
void mouseMoveUnified(uint32_t, bool refocus = false);