mouse-data/spacenav-hack.xml
author František Kučera <franta-hg@frantovo.cz>
Thu, 24 Oct 2019 21:52:34 +0200
branchv_0
changeset 139 0246f4b2c827
parent 137 8e583c8df660
permissions -rw-r--r--
fix license version: GNU GPLv3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
136
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     1
<stránka
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     2
	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     3
	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     4
	
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     5
	<nadpis>Spacenav Hack</nadpis>
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     6
	<perex>An LD_PRELOAD hack that translates socket messages to the X11 events.</perex>
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     7
	<pořadí>050</pořadí>
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     8
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
     9
	<text xmlns="http://www.w3.org/1999/xhtml">
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    10
		<p>
137
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    11
			There are two ways how the <a href="http://spacenav.sourceforge.net/">Spacenav</a> client (e.g. Blender, OpenSCAD or FreeCAD) and the Spacenav server (Spacenav daemon connected to the 6DoF 3D mouse or our simulator)
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    12
			can reach each other:
136
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    13
		</p>
137
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    14
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    15
		<ul>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    16
			<li>unix domain socket</li>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    17
			<li>X11</li>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    18
		</ul>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    19
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    20
		<p>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    21
			The client might be compiled with both options (like X11 with fallback to socket interface) or only with one (like X11 only).
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    22
			The server can be configured to provide both interfaces (it needs the <code>~/.Xauthority</code> X11 magic cookie)
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    23
			or only the socket interface (if the cookie is missing).
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    24
		</p>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    25
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    26
		<p>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    27
			If we have socket-only server and X11-only client, we can of course recompile the client or reconfigure the server.
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    28
			Or we can have some fun, hack it in the <code>LD_PRELOAD</code> fashion and translate the socket interface to the X11 one.
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    29
			So we make X11 client talking to the socket server.
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    30
		</p>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    31
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    32
		<m:img src="img/spacenavHack-freecad-v0.1.png"/>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    33
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    34
		<h2>Build and installation</h2>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    35
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    36
		<p>We use the CMake build system, so the steps are basically:</p>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    37
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    38
		<pre><![CDATA[mkdir build && cd build && cmake .. && make]]></pre>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    39
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    40
		<p>Required libraries:</p>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    41
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    42
		<ul>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    43
			<li>spnav</li>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    44
		</ul>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    45
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    46
		<h2>Usage</h2>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    47
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    48
		<p>We just run our favourite CAD with our hackish library preloaded:</p>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    49
				
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    50
		<pre>LD_PRELOAD="./libspnav-lib-hack.so" freecad</pre>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    51
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    52
		<p>and it translates the X11 API calls to the socket ones.</p>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    53
		
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    54
		<h2>3DConnexion SpaceMouse Wireless</h2>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    55
		<p>Our software works with this mouse:</p>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    56
		<m:img src="img/3DConnexion-SpaceMouse-1.jpeg"/>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    57
		<m:usb-id/>
8e583c8df660 cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack
František Kučera <franta-hg@frantovo.cz>
parents: 136
diff changeset
    58
		
136
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    59
	</text>
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    60
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    61
</stránka>
025ec3d898c4 mouse.globalcode.info – website skeleton
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
    62