Skip to content

Commit d005866

Browse files
committed
RazerHydra
1 parent 115f9ba commit d005866

10 files changed

Lines changed: 187 additions & 2 deletions

File tree

C++/RazerHydra/RazerHydra.cpp

22 KB
Binary file not shown.

C++/RazerHydra/RazerHydra.def

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
LIBRARY RazerHydra
2+
EXPORTS
3+
GetHMDData @1
4+
GetControllersData @2
5+
SetControllerData @3
6+
SetCentering @4

C++/RazerHydra/RazerHydra.vcxproj

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|Win32">
5+
<Configuration>Debug</Configuration>
6+
<Platform>Win32</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Release|Win32">
9+
<Configuration>Release</Configuration>
10+
<Platform>Win32</Platform>
11+
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Debug|x64">
13+
<Configuration>Debug</Configuration>
14+
<Platform>x64</Platform>
15+
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release|x64">
17+
<Configuration>Release</Configuration>
18+
<Platform>x64</Platform>
19+
</ProjectConfiguration>
20+
</ItemGroup>
21+
<PropertyGroup Label="Globals">
22+
<VCProjectVersion>15.0</VCProjectVersion>
23+
<ProjectGuid>{B9000DE1-5BF3-4911-8A7E-80B9244EB8AB}</ProjectGuid>
24+
<Keyword>Win32Proj</Keyword>
25+
<RootNamespace>RazerHydra</RootNamespace>
26+
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
27+
</PropertyGroup>
28+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
29+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
30+
<ConfigurationType>DynamicLibrary</ConfigurationType>
31+
<UseDebugLibraries>true</UseDebugLibraries>
32+
<PlatformToolset>v141</PlatformToolset>
33+
<CharacterSet>MultiByte</CharacterSet>
34+
</PropertyGroup>
35+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
36+
<ConfigurationType>DynamicLibrary</ConfigurationType>
37+
<UseDebugLibraries>false</UseDebugLibraries>
38+
<PlatformToolset>v141</PlatformToolset>
39+
<WholeProgramOptimization>true</WholeProgramOptimization>
40+
<CharacterSet>Unicode</CharacterSet>
41+
</PropertyGroup>
42+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
43+
<ConfigurationType>DynamicLibrary</ConfigurationType>
44+
<UseDebugLibraries>true</UseDebugLibraries>
45+
<PlatformToolset>v141</PlatformToolset>
46+
<CharacterSet>MultiByte</CharacterSet>
47+
</PropertyGroup>
48+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
49+
<ConfigurationType>DynamicLibrary</ConfigurationType>
50+
<UseDebugLibraries>false</UseDebugLibraries>
51+
<PlatformToolset>v141</PlatformToolset>
52+
<WholeProgramOptimization>true</WholeProgramOptimization>
53+
<CharacterSet>Unicode</CharacterSet>
54+
</PropertyGroup>
55+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
56+
<ImportGroup Label="ExtensionSettings">
57+
</ImportGroup>
58+
<ImportGroup Label="Shared">
59+
</ImportGroup>
60+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
61+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
62+
</ImportGroup>
63+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
64+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
65+
</ImportGroup>
66+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
67+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
68+
</ImportGroup>
69+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
70+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
71+
</ImportGroup>
72+
<PropertyGroup Label="UserMacros" />
73+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
74+
<LinkIncremental>true</LinkIncremental>
75+
</PropertyGroup>
76+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
77+
<LinkIncremental>true</LinkIncremental>
78+
</PropertyGroup>
79+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
80+
<LinkIncremental>false</LinkIncremental>
81+
</PropertyGroup>
82+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
83+
<LinkIncremental>false</LinkIncremental>
84+
</PropertyGroup>
85+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
86+
<ClCompile>
87+
<PrecompiledHeader>Use</PrecompiledHeader>
88+
<WarningLevel>Level3</WarningLevel>
89+
<Optimization>Disabled</Optimization>
90+
<SDLCheck>true</SDLCheck>
91+
<PreprocessorDefinitions>WIN32;_DEBUG;RAZERHYDRA_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
92+
<ConformanceMode>true</ConformanceMode>
93+
</ClCompile>
94+
<Link>
95+
<SubSystem>Windows</SubSystem>
96+
<GenerateDebugInformation>true</GenerateDebugInformation>
97+
<ModuleDefinitionFile>RazerHydra.def</ModuleDefinitionFile>
98+
</Link>
99+
</ItemDefinitionGroup>
100+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
101+
<ClCompile>
102+
<PrecompiledHeader>Use</PrecompiledHeader>
103+
<WarningLevel>Level3</WarningLevel>
104+
<Optimization>Disabled</Optimization>
105+
<SDLCheck>true</SDLCheck>
106+
<PreprocessorDefinitions>_DEBUG;RAZERHYDRA_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
107+
<ConformanceMode>true</ConformanceMode>
108+
</ClCompile>
109+
<Link>
110+
<SubSystem>Windows</SubSystem>
111+
<GenerateDebugInformation>true</GenerateDebugInformation>
112+
<ModuleDefinitionFile>RazerHydra.def</ModuleDefinitionFile>
113+
</Link>
114+
</ItemDefinitionGroup>
115+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
116+
<ClCompile>
117+
<PrecompiledHeader>Use</PrecompiledHeader>
118+
<WarningLevel>Level3</WarningLevel>
119+
<Optimization>MaxSpeed</Optimization>
120+
<FunctionLevelLinking>true</FunctionLevelLinking>
121+
<IntrinsicFunctions>true</IntrinsicFunctions>
122+
<SDLCheck>true</SDLCheck>
123+
<PreprocessorDefinitions>WIN32;NDEBUG;RAZERHYDRA_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
124+
<ConformanceMode>true</ConformanceMode>
125+
</ClCompile>
126+
<Link>
127+
<SubSystem>Windows</SubSystem>
128+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
129+
<OptimizeReferences>true</OptimizeReferences>
130+
<GenerateDebugInformation>true</GenerateDebugInformation>
131+
</Link>
132+
</ItemDefinitionGroup>
133+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
134+
<ClCompile>
135+
<PrecompiledHeader>Use</PrecompiledHeader>
136+
<WarningLevel>Level3</WarningLevel>
137+
<Optimization>MaxSpeed</Optimization>
138+
<FunctionLevelLinking>true</FunctionLevelLinking>
139+
<IntrinsicFunctions>true</IntrinsicFunctions>
140+
<SDLCheck>true</SDLCheck>
141+
<PreprocessorDefinitions>NDEBUG;RAZERHYDRA_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
142+
<ConformanceMode>true</ConformanceMode>
143+
</ClCompile>
144+
<Link>
145+
<SubSystem>Windows</SubSystem>
146+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
147+
<OptimizeReferences>true</OptimizeReferences>
148+
<GenerateDebugInformation>true</GenerateDebugInformation>
149+
</Link>
150+
</ItemDefinitionGroup>
151+
<ItemGroup>
152+
<ClInclude Include="stdafx.h" />
153+
<ClInclude Include="targetver.h" />
154+
</ItemGroup>
155+
<ItemGroup>
156+
<ClCompile Include="dllmain.cpp" />
157+
<ClCompile Include="RazerHydra.cpp" />
158+
<ClCompile Include="stdafx.cpp">
159+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
160+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
161+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
162+
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
163+
</ClCompile>
164+
</ItemGroup>
165+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
166+
<ImportGroup Label="ExtensionTargets">
167+
</ImportGroup>
168+
</Project>

C++/RazerHydra/ReadMe.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
En:
2+
Initial implementation of the Razer Hydra driver.
3+
You need to add a change in the coordinates of the controllers during rotation, add an initial calibration and so on.
4+
5+
Ru:
6+
��������� ������������� �������� Razer Hydra.
7+
����� �������� ��������� ��������� ������������ ��� ��������, �������� ��������� ���������� � ��� �����.

C++/RazerHydra/dllmain.cpp

48 Bytes
Binary file not shown.

C++/RazerHydra/stdafx.cpp

44 Bytes
Binary file not shown.

C++/RazerHydra/stdafx.h

204 Bytes
Binary file not shown.

C++/RazerHydra/targetver.h

82 Bytes
Binary file not shown.

README.RU.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
Готовые и демонстрационные драйверы для VR устройств.
55

66
## Драйверы
7-
**PSMoveService** - драйвер позволяющий получать позиционирование в пространстве, для шлема и контроллеров, с помощью пинг понг шариков со светодиодами. Для работы необходим [PSMoveService](https://github.com/cboulay/PSMoveService). Подробнее [тут](https://github.com/TrueOpenVR/TrueOpenVR-Drivers/tree/master/C%2B%2B/PSMoveService).
7+
**PSMoveService** - драйвер позволяющий получать позиционирование в пространстве, для шлема и контроллеров, с помощью пинг понг шариков со светодиодами. Для работы необходим ["PSMoveService"](https://github.com/cboulay/PSMoveService). Подробнее [тут](https://github.com/TrueOpenVR/TrueOpenVR-Drivers/tree/master/C%2B%2B/PSMoveService).
8+
9+
**RazerHydra** - драйвер позволяющий получать использовать контроллеры Razer Hydra. Для работы необходимо установить "SixenceSDK" ("Additionally\RazerHydra\Install.bat"). Подробнее [тут](https://github.com/TrueOpenVR/TrueOpenVR-Drivers/tree/master/C%2B%2B/RazerHydra).
810

911
**ArduinoControllers** - драйвер позволяющий отслеживать вращение и получать кнопки для VR контроллеров. Вместе с пинг понг шариками, со светодиодами, можно получить полноценные VR контроллеры (запускать через "SpliiterAdvance" драйвер, вместе с "PSMoveService"). Номера COM-портов изменяются в файле "ArduinoControllers.ini", в папке драйверов TOVR. Прошивку для Arduino можно найти [здесь](https://github.com/TrueOpenVR/TrueOpenVR-DIY/blob/master/Controllers/Arduino/Controller.ino). Подробнее о создании контроллеров [тут](https://github.com/TrueOpenVR/TrueOpenVR-DIY/blob/master/Controllers/Controllers.RU.md).
1012

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ Ready and samples drivers for VR devices.
66
## Drivers
77
**PSMoveService** - driver allowing to receive positioning in space, for HMD and controllers, using ping pong balls with LEDs. Need to work [PSMoveService](https://github.com/cboulay/PSMoveService). Read more [here](https://github.com/TrueOpenVR/TrueOpenVR-Drivers/tree/master/C%2B%2B/PSMoveService).
88

9+
**RazerHydra** - driver allowing to use the Razer Hydra controllers. To work you need to install "SixenceSDK" ("Additionally\RazerHydra\Install.bat"). Read more [here](https://github.com/TrueOpenVR/TrueOpenVR-Drivers/tree/master/C%2B%2B/RazerHydra).
10+
911
**ArduinoControllers** - driver allowing tracking the rotation and receive buttons for VR controllers. Together with ping pong balls, with LEDs, you can get full VR controllers (run through the "SpliiterAdvance" driver with "PSMoveService"). COM ports numbers is changing in the "ArduinoControllers.ini" file, in the TOVR drivers folder. Firmware for Arduino can be found [here](https://github.com/TrueOpenVR/TrueOpenVR-DIY/blob/master/Controllers/Arduino/Controller.ino). Read more about creating controllers. [here](https://github.com/TrueOpenVR/TrueOpenVR-DIY/blob/master/Controllers/Controllers.md).
1012

1113
**SplitterAdvance** - driver allowing to connect one driver for positioning, a second driver for rotation, a third driver for buttons, for VR HMD and VR controllers. You can configure the drivers in the "SplitterAdvance.ini" or "SplitterAdvance64.ini" (for 64 bit architecture) file located in the "TrueOpenVR\Drivers" folder, changing the drivers names. Read more [here](https://github.com/TrueOpenVR/TrueOpenVR-Drivers/tree/master/Delphi/SplitterAdvance).
1214

13-
**SplitterControllers** - driver allowing to connect one driver for one controller and two driver for two controller. You can specify to change the index of the device. You can use it together with the "SplitterAdvance" driver. You can configure the drivers in the file "SplitterConrollers.ini" or "SplitterConrollers64.ini" (for 64-bit architecture) located in the "TrueOpenVR \ Drivers" folder, changing the driver names.
15+
**SplitterControllers** - driver allowing to connect one driver for one controller and two driver for two controller. You can specify to change the index of the device. You can use it together with the "SplitterAdvance" driver. You can configure the drivers in the file "SplitterConrollers.ini" or "SplitterConrollers64.ini" (for 64-bit architecture) located in the "TrueOpenVR\Drivers" folder, changing the driver names.
1416

1517
**Splitter** - driver allowing to connect one driver for the VR HMD, and the second driver for the controllers. You can configure the drivers in the "Splitter.ini" file located in the "TrueOpenVR\Drivers" folder, changing the drivers names.
1618

0 commit comments

Comments
 (0)