{"id":20774999,"url":"https://github.com/qdot/libthirdspacevest","last_synced_at":"2026-04-29T05:02:10.151Z","repository":{"id":1261118,"uuid":"1199976","full_name":"qdot/libthirdspacevest","owner":"qdot","description":"Open source, cross platform driver for the TN Games Third Space Vest","archived":false,"fork":false,"pushed_at":"2011-01-01T07:02:57.000Z","size":136,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-18T07:47:01.708Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qdot.png","metadata":{"files":{"readme":"README.asciidoc","changelog":"ChangeLog.txt","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-12-27T07:20:26.000Z","updated_at":"2023-02-22T17:32:37.000Z","dependencies_parsed_at":"2022-08-16T12:50:11.996Z","dependency_job_id":null,"html_url":"https://github.com/qdot/libthirdspacevest","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdot%2Flibthirdspacevest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdot%2Flibthirdspacevest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdot%2Flibthirdspacevest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qdot%2Flibthirdspacevest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qdot","download_url":"https://codeload.github.com/qdot/libthirdspacevest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243113373,"owners_count":20238385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T12:34:09.089Z","updated_at":"2025-12-25T05:32:30.953Z","avatar_url":"https://github.com/qdot.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"== libthirdspacevest\n\nby Kyle Machulis \u003ckyle@nonpolynomial.com\u003e\nNonpolynomial Labs - http://www.nonpolynomial.com\n\n== Description\n\nlibthirdspacevest is an open-source, cross-platform (almost) driver\nfor the TN Games Third Space Vest. This vest uses pneumatic cells in\norder to let gamers feel physical collisions from things like bullets\nin first person shooters.\n\nMore information on the hardware can be found at\n\nhttp://www.tngames.com\n\nInformation on the vest protocol, as well as the guide to reverse\nengineering the vest and notes taken during the process, can be found\nin the doc directory, or at\n\nhttps://github.com/qdot/libthirdspacevest/blob/master/doc/third_space_vest_reverse_engineering.asciidoc\n\n== Requirements\n\n=== C Library\n\n- CMake - http://www.cmake.org\n- libusb-1.0 (Linux/OS X) - http://www.libusb.org\n- WDK (Windows)\n\n=== Python Library\n\n- Python version 2.5 or greater - http://www.python.org\n- PyUSB \u003e= 1.0.a1 - http://sourceforge.net/apps/mediawiki/pyusb/index.php?title=Main_Page\n\n== Future Plans\n\n- Enumeration of effects provided in tngaming.lib\n\n== Things to note\n\n- The device will run without the air pump on. You won't get very hard\n  hits, but it at least works for testing and is definitely audible.\n- The maximum firing rate seems to be about 10hz, and that keeps the\n  pump on constantly. I hate that pump so much.\n\n== Platform Specifics\n\n=== Linux\n\nUntil we get udev rules in, you'll probably need to run the script as\nroot. Additionally, since the device registers as HID, it'll have to\ndetach itself from the kernel driver. We already do this for you, and\nwe do not reattach afterward.\n\n=== Mac OS X\n\nYou will need to install the \"Third Space Vest OS X Extension\" in\norder to use this software on OS X. Copy the\nThirdSpaceVestNullDriver.kext into your /System/Library/Extensions\ndirectory, and then either run \n\nkextload -- /System/Library/Extensions/ThirdSpaceVestNullDriver.kext\n\nor else reboot your machine. After this, you should be able to run\neither the C or python example and have the vest react appropriately.\n\n=== Windows\n\nWhen running CMake to generate the project on windows, you'll need to\nset the WDK_PATH variable to the root of your WDK version, i.e.\n\nC:\\WinDDK\\7600.16385.0\n\nAlso, this has only been successfully tested on VS2008. VS2010 seems\nto break in odd ways due to the stdint.h. This will hopefully be\nresolved soon.\n\n== License ==\n\n---------------------\nCopyright (c) 2010, Kyle Machulis/Nonpolynomial Labs\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n    * Redistributions of source code must retain the above copyright\n      notice, this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n    * Neither the name of the Kyle Machulis/Nonpolynomial Labs nor the\n      names of its contributors may be used to endorse or promote products\n      derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY Kyle Machulis/Nonpolynomial Labs ''AS IS'' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL Kyle Machulis/Nonpolynomial Labs BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE\n---------------------\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdot%2Flibthirdspacevest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqdot%2Flibthirdspacevest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqdot%2Flibthirdspacevest/lists"}