aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRyan Walklin <ryan@testtoast.com>2018-11-28 20:03:42 +0000
committerRyan Walklin <ryan@crackotage.local>2018-12-15 14:42:35 +1100
commit810c7b700cfb381457ad1e5a07f184f4efdcc5d1 (patch)
treee7f909e9bac6ab8acaa6d5540a534088084fdebd /include
parent62a9cf87fafdbc5f271ea1489f3d3f6bd7288b6e (diff)
Working switches in rootston:
Factor out switch handling to separate file Add formal enum for toggle action Implement binding actions
Diffstat (limited to 'include')
-rw-r--r--include/rootston/seat.h10
-rw-r--r--include/rootston/switch.h18
-rw-r--r--include/wlr/types/wlr_switch.h3
3 files changed, 21 insertions, 10 deletions
diff --git a/include/rootston/seat.h b/include/rootston/seat.h
index 7e6b63bf..105ba3aa 100644
--- a/include/rootston/seat.h
+++ b/include/rootston/seat.h
@@ -5,6 +5,7 @@
#include "rootston/input.h"
#include "rootston/keyboard.h"
#include "rootston/layers.h"
+#include "rootston/switch.h"
#include "rootston/text_input.h"
struct roots_seat {
@@ -75,15 +76,6 @@ struct roots_pointer {
struct wl_list link;
};
-struct roots_switch {
- struct roots_seat *seat;
- struct wlr_input_device *device;
- struct wl_listener device_destroy;
-
- struct wl_listener toggle;
- struct wl_list link;
-};
-
struct roots_touch {
struct roots_seat *seat;
struct wlr_input_device *device;
diff --git a/include/rootston/switch.h b/include/rootston/switch.h
new file mode 100644
index 00000000..28197774
--- /dev/null
+++ b/include/rootston/switch.h
@@ -0,0 +1,18 @@
+#ifndef ROOTSTON_SWITCH_H
+#define ROOTSTON_SWITCH_H
+
+#include "rootston/input.h"
+
+struct roots_switch {
+ struct roots_seat *seat;
+ struct wlr_input_device *device;
+ struct wl_listener device_destroy;
+
+ struct wl_listener toggle;
+ struct wl_list link;
+};
+
+void roots_switch_handle_toggle(struct roots_switch *lid_switch,
+ struct wlr_event_switch_toggle *event);
+
+#endif // ROOTSTON_SWITCH_H
diff --git a/include/wlr/types/wlr_switch.h b/include/wlr/types/wlr_switch.h
index 52b631b5..df1c8579 100644
--- a/include/wlr/types/wlr_switch.h
+++ b/include/wlr/types/wlr_switch.h
@@ -33,7 +33,8 @@ enum wlr_switch_type {
enum wlr_switch_state {
WLR_SWITCH_STATE_OFF = 0,
- WLR_SWITCH_STATE_ON = 1,
+ WLR_SWITCH_STATE_ON,
+ WLR_SWITCH_STATE_TOGGLE
};
struct wlr_event_switch_toggle {