diff --git a/comfortable-swipe.cpp b/comfortable-swipe.cpp
index de1118b..a880311 100644
--- a/comfortable-swipe.cpp
+++ b/comfortable-swipe.cpp
@@ -43,6 +43,9 @@ int main(int argc, char** args)
else if (arg == "autostart")
comfortable_swipe::service::autostart();
+ else if (arg == "debug")
+ comfortable_swipe::service::debug();
+
else /* if (arg == "help") */
comfortable_swipe::service::help();
}
diff --git a/lib/comfortable_swipe b/lib/comfortable_swipe
index eaa0a08..3316ca4 100644
--- a/lib/comfortable_swipe
+++ b/lib/comfortable_swipe
@@ -30,6 +30,7 @@ along with this program. If not, see .
#include "gesture/swipe_gesture.regex.cpp"
#include "service/autostart.cpp"
#include "service/buffer.cpp"
+#include "service/debug.cpp"
#include "service/help.cpp"
#include "service/restart.cpp"
#include "service/start.cpp"
diff --git a/lib/index.hpp b/lib/index.hpp
index b0c7e2e..21a36a7 100644
--- a/lib/index.hpp
+++ b/lib/index.hpp
@@ -50,6 +50,7 @@ extern "C"
{
void autostart();
void buffer();
+ void debug();
void help();
void restart();
void start();
diff --git a/lib/service/debug.cpp b/lib/service/debug.cpp
new file mode 100644
index 0000000..cb95936
--- /dev/null
+++ b/lib/service/debug.cpp
@@ -0,0 +1,35 @@
+#ifndef __COMFORTABLE_SWIPE__service_debug__
+#define __COMFORTABLE_SWIPE__service_debug__
+
+/*
+Comfortable Swipe
+by Rico Tiongson
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#include // std::system
+
+namespace comfortable_swipe::service
+{
+ /**
+ * Debugs output from `libinput debug-events`.
+ */
+ void debug()
+ {
+ (void) std::system("stdbuf -oL -e0 libinput debug-events");
+ }
+}
+
+#endif /* __COMFORTABLE_SWIPE__service_debug__ */
diff --git a/lib/service/help.cpp b/lib/service/help.cpp
index c73baf7..e1355e6 100644
--- a/lib/service/help.cpp
+++ b/lib/service/help.cpp
@@ -30,7 +30,7 @@ namespace comfortable_swipe::service
void help()
{
using comfortable_swipe::util::conf_filename;
- std::puts("comfortable-swipe [start|stop|restart|autostart|buffer|help]");
+ std::puts("comfortable-swipe [start|stop|restart|autostart|buffer|help|debug]");
std::puts("");
std::puts("start - starts 3/4-finger gesture service");
std::puts("stop - stops 3/4-finger gesture service");
@@ -38,6 +38,7 @@ namespace comfortable_swipe::service
std::puts("autostart - automatically run on startup (toggleable)");
std::puts("buffer - parses output of libinput debug-events");
std::puts("help - shows the help dialog");
+ std::puts("debug - logs raw output from input events taken from libinput");
std::puts("");
std::printf("Configuration file can be found in %s\n", conf_filename());
}