summaryrefslogtreecommitdiffhomepage
path: root/proto-iokit-foohid/iokitprotocol.h
diff options
context:
space:
mode:
authorEike Ziller <git@eikeziller.de>2017-11-19 21:18:26 +0100
committerEike Ziller <git@eikeziller.de>2017-11-23 20:23:28 +0100
commit7bacbdf10b97040c9ed282a22485759bd082fa63 (patch)
tree2a02884f633ddbc7ede387a5bf2aa8d7b0396e5f /proto-iokit-foohid/iokitprotocol.h
parentf548847ea43006b2dc540e84d11d3c3662a94148 (diff)
Add virtual joystick output for macOS
Based of the foohid IOKit driver for implementing virtual HID devices. Issue: #236
Diffstat (limited to 'proto-iokit-foohid/iokitprotocol.h')
-rw-r--r--proto-iokit-foohid/iokitprotocol.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/proto-iokit-foohid/iokitprotocol.h b/proto-iokit-foohid/iokitprotocol.h
new file mode 100644
index 00000000..f3f4089f
--- /dev/null
+++ b/proto-iokit-foohid/iokitprotocol.h
@@ -0,0 +1,34 @@
+/* Copyright (c) 2017, Eike Ziller *
+ * *
+ * Permission to use, copy, modify, and/or distribute this software for any *
+ * purpose with or without fee is hereby granted, provided that the above *
+ * copyright notice and this permission notice appear in all copies. *
+ */
+
+#pragma once
+
+#include "api/plugin-api.hpp"
+
+#include <QCoreApplication>
+
+class FooHIDJoystick;
+
+class IOKitProtocol : public IProtocol
+{
+public:
+ IOKitProtocol();
+
+ bool correct() final;
+ void pose(const double *headpose) final;
+ QString game_name() final;
+
+private:
+ std::unique_ptr<FooHIDJoystick> joystick;
+};
+
+class IOKitProtocolMetadata : public Metadata
+{
+public:
+ QString name() { return QString(QCoreApplication::translate("iokit-foohid", "Virtual joystick")); }
+ QIcon icon() { return QIcon(":/images/facetracknoir.png"); }
+};