From d85e24d5f4e5e00211a5aa58a699f82c0c99d35b Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Fri, 25 Mar 2022 19:29:28 +0200 Subject: [PATCH] started writing a manual --- doc/manual.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 doc/manual.md diff --git a/doc/manual.md b/doc/manual.md new file mode 100644 index 0000000..b1bd44b --- /dev/null +++ b/doc/manual.md @@ -0,0 +1,31 @@ +libspnav manual +=============== + +Table of contents +----------------- +- [About libspnav](#about-libspnav) +- [Quick start](#quick-start) +- [Native libspnav API](#native-libspnav-api) + - [Initialization and cleanup](#initialization-and-cleanup) + - [Input events](#input-events) + - [Device information](#device-information) + - [Configuration management](#configuration-management) +- [Magellan API](#magellan-api) + +About libspnav +-------------- +Libspnav is a C library which can be used to communicate, and receive +6dof input events, from the free spacenav driver, or the proprietary +3dconnexion driver. + +There are two modes of operation supported by libspnav. It can +communicate through a custom spacenav protocol, which works over UNIX +domain sockets, or it can communicate through the X11 magellan protocol +based on `ClientMessage` events. The first mode of operation is +only compatible with spacenavd, but provides extended functionality, and +does not need an X server to be running to function. The second mode can +be used to talk to either spacenavd or the 3Dconnexion 3dxsrv driver, but +only supports a very limited subset of features, and depends on X11. + +To be continued ... +