An OpenVR Driver for VR Gloves

Overview

lucidgloves - LucidVR X Fngrs

Developed by:

  • Danwillm
  • Lucas_VRTech

What is this?

This repository contains the OpenVR(SteamVR) driver for a DIY VR Haptic Glove.

This Repository is a very early work in progress. Binaries are not up yet and many things are likely to change. Things in this repo are subject to rapid changes and currently is not in a stable release state.

Pre-Built binaries are available in the releases section. Instructions for building from source code are in the Wiki.

Releases will be available on Steam once the repo hits a stable release.

That said, we are more than happy to help with issues that may arise, skip to the bottom for how to contact us.

Officically Compatible Hardware:

  • LucidVR Gloves - Prototype 3+
  • Fngrs by danwillm
  • If you've made you're own, we would love to know and incorporate into this project!

Currently supported:

  • Finger flexion tracking
  • Positioning from a controller
  • Button and joystick inputs
  • Communication Protocols:
    • Serial over USB

Features that are almost certainly going to be supported:

  • Positioning from a tracker (If you have some available and don't mind running test driver builds, please do contact us!)
  • Communication Protocols:
    • Bluetooth LE
    • Single port serial

Considered additions:

  • Finger splay tracking
  • Force feedback haptics
  • Communication Protocols:
    • 2.4ghz wifi
    • Single port serial
    • Hex compression for serial

Games tested:

  • Half Life Alyx (compatible)
  • SteamVR Home (known issues)
  • The Lab (compatible)
  • Aperture Hand Lab (compatible)
  • Pavlov (compatible)
  • Boneworks (known issues)
  • Blade and Sorcery (known issues)
  • VRChat (NOT compatible due to VRChat's bindings, but we are looking into it.)
  • Have a game you've tested that does/doesn't work? Please let us know!

We are actively welcoming contributions, feel free to open a pull request.

If you run into issues, you are more than welcome to open a GitHub issue/discussion, or contact us directly on Discord:

danwillm#8254 - Driver maintainer

LucidVR#0001 - Hardware maintainer

Issues
  • Arduiono uno and Driver lucidgloves has no suitable devices.

    Arduiono uno and Driver lucidgloves has no suitable devices.

    I had no Arduino micro so i just used a Uno instead, the Potentiometer readings works fine on the Arduino serial monitor, but the SteamVR web console says there is no suitable device, i did notice that the config file had a different com port so I had changed to the one my Arduino uses, but still steamvr said that no device was suitable. I have no idea if this is because of this error: "OpenService failed (1060)", or the fact that I'm using an Arduino Uno or that I'm just having one Potentiometer connected for testing. SteamVR does say that an unexpected SteamVR Error happened and that its a critical error.

    opened by weegeeday 11
  • Syncronising versioning

    Syncronising versioning

    So far as I can tell, the Gloves and this repo are not synced, when it comes to the version numbers.

    I think it can help to avoid confusion, if you use 0.5 for prototype 5, 0.6 for prototype 6 and so on

    opened by ShalokShalom 8
  • expanding knuckle emulation trigger behavior

    expanding knuckle emulation trigger behavior

    dumb-dumb change to trigger behavior to alleviate some headaches in certain applications but especially overlays. This removes the analog trigger behavior, but what marginal benefits using your index finger as a trigger brings is outweighed by the issues of having the controller trigger constantly triggering unintentionally in most usage scenarios.

    This should be seen as a temporary feature loss until there is some consensus and solution on how to better replicate the analog trigger that doesn't make the gloves annoying to use.

    opened by kusomaigo 8
  • Failed to load driver_openglove.dll

    Failed to load driver_openglove.dll

    Problem SteamVR can't find gloves controller, two esp32 chips on two different serial ports. SteamVR log shows as Unable to load driver openglove. Primary driver shared library not found on filesystem (for this architecture): C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\OpenGlove\bin\win32\driver_openglove.dll.

    Environment

    • Opengloves driver downloaded from Steam
    • SteamVR, Steam, openXR runtime

    I think there is no need to load a Win32 driver, while I've no idea how to deal with this.

    steamvr_settings.zip

    opened by breezZe 7
  • Build Problems

    Build Problems

    I try to build this driver and got the following error messages: [build] E:\Quellcode\opengloves-driver\src\DeviceDriver\KnuckleDriver.cpp:11:1: error: a storage class can only be specified for objects and functions [build] static const enum ComponentIndex : int { [build] ^~~~~~ [build] E:\Quellcode\opengloves-driver\src\DeviceDriver\LucidGloveDriver.cpp:15:1: error: a storage class can only be specified for objects and functions [build] static const enum ComponentIndex : int { [build] ^~~~~~ I build in Visual Studio Code with MinGw under Windows 10.

    opened by fharni 5
  • Rel 0.1.1 changes controller icons in VR

    Rel 0.1.1 changes controller icons in VR

    Using 0.1.1 on a Win 10 and an Oculus Quest (not #2) changes controller icon in SteamVR home to what looks like a PS2 controller. buttons no longer work.

    opened by timbomur 4
  • Thumb approximation for Index Emulation

    Thumb approximation for Index Emulation

    Allow some degree of thumb motion in index-emulated games, by setting (capacitive) touch on the A button when the thumb is pushed beyond a certain threshold.

    enhancement 
    opened by lucas-vrtech 3
  • Build and Link Problems

    Build and Link Problems

    I have problems building the current main v0.3 branch.

    e:\Quellcode\opengloves-driver\build>cmake.exe -G "MinGW Makefiles" ..
    -- The C compiler identification is GNU 8.1.0
    -- The CXX compiler identification is GNU 8.1.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/gcc.exe - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done
    -- Generating done
    -- Build files have been written to: E:/Quellcode/opengloves-driver/build
    
    e:\Quellcode\opengloves-driver\build>mingw32-make
    [  8%] Building CXX object CMakeFiles/driver_openglove.dir/src/Bones.cpp.obj
    [ 16%] Building CXX object CMakeFiles/driver_openglove.dir/src/Communication/BTSerialCommunicationManager.cpp.obj
    [ 25%] Building CXX object CMakeFiles/driver_openglove.dir/src/Communication/SerialCommunicationManager.cpp.obj
    [ 33%] Building CXX object CMakeFiles/driver_openglove.dir/src/ControllerPose.cpp.obj
    In file included from E:\Quellcode\opengloves-driver\src\ControllerPose.cpp:1:
    E:/Quellcode/opengloves-driver/include/ControllerPose.h:23:7: error: extra qualification 'ControllerPose::' on member 'IsOtherRole' [-fpermissive]
      bool ControllerPose::IsOtherRole(int32_t test);
           ^~~~~~~~~~~~~~
    mingw32-make[2]: *** [CMakeFiles\driver_openglove.dir\build.make:121: CMakeFiles/driver_openglove.dir/src/ControllerPose.cpp.obj] Error 1
    mingw32-make[1]: *** [CMakeFiles\Makefile2:82: CMakeFiles/driver_openglove.dir/all] Error 2
    mingw32-make: *** [Makefile:90: all] Error 2
    

    I changed bool ControllerPose::IsOtherRole(int32_t test); to bool IsOtherRole(int32_t test);

    After this, the linking process failes with this message:

    Consolidate compiler generated dependencies of target driver_openglove
    [  8%] Building CXX object CMakeFiles/driver_openglove.dir/src/ControllerPose.cpp.obj
    [ 16%] Building CXX object CMakeFiles/driver_openglove.dir/src/DeviceDriver/KnuckleDriver.cpp.obj
    [ 25%] Building CXX object CMakeFiles/driver_openglove.dir/src/DeviceDriver/LucidGloveDriver.cpp.obj
    [ 33%] Building CXX object CMakeFiles/driver_openglove.dir/src/DeviceFactory.cpp.obj
    In file included from E:/Quellcode/opengloves-driver/include/Communication/BTSerialCommunicationManager.h:14,
                     from E:/Quellcode/opengloves-driver/include/DeviceProvider.h:13,
                     from E:\Quellcode\opengloves-driver\src\DeviceFactory.cpp:4:
    C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/x86_64-w64-mingw32/include/Winsock2.h:15:2: warning: #warning Please include winsock2.h before windows.h [-Wcpp]
     #warning Please include winsock2.h before windows.h
      ^~~~~~~
    [ 41%] Building CXX object CMakeFiles/driver_openglove.dir/src/DeviceProvider.cpp.obj
    In file included from E:/Quellcode/opengloves-driver/include/Communication/BTSerialCommunicationManager.h:14,
                     from E:/Quellcode/opengloves-driver/include/DeviceProvider.h:13,
                     from E:\Quellcode\opengloves-driver\src\DeviceProvider.cpp:1:
    C:/PROGRA~1/MINGW-~1/X86_64~1.0-P/mingw64/x86_64-w64-mingw32/include/Winsock2.h:15:2: warning: #warning Please include winsock2.h before windows.h [-Wcpp]
     #warning Please include winsock2.h before windows.h
      ^~~~~~~
    [ 50%] Building CXX object CMakeFiles/driver_openglove.dir/src/DriverLog.cpp.obj
    [ 58%] Building CXX object CMakeFiles/driver_openglove.dir/src/Encode/LegacyEncodingManager.cpp.obj
    [ 66%] Building CXX object CMakeFiles/driver_openglove.dir/src/Quaternion.cpp.obj
    [ 75%] Linking CXX shared library libdriver_openglove.dll
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x3eb): undefined reference to `__imp_recv'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x4b6): undefined reference to `__imp_shutdown'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x4c9): undefined reference to `__imp_WSAGetLastError'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x5a5): undefined reference to `BluetoothFindFirstDevice'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x6df): undefined reference to `BluetoothFindNextDevice'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x78e): undefined reference to `__imp_WSAStartup'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x7eb): undefined reference to `__imp_socket'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x872): undefined reference to `__imp_connect'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x884): undefined reference to `__imp_WSAGetLastError'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x8c0): undefined reference to `__imp_ioctlsocket'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x92e): undefined reference to `__imp_send'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x940): undefined reference to `__imp_WSAGetLastError'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x962): undefined reference to `__imp_closesocket'
    CMakeFiles\driver_openglove.dir/objects.a(BTSerialCommunicationManager.cpp.obj):BTSerialCommunicationManager.cpp:(.text+0x96b): undefined reference to `__imp_WSACleanup'
    collect2.exe: error: ld returned 1 exit status
    mingw32-make[2]: *** [CMakeFiles\driver_openglove.dir\build.make:271: libdriver_openglove.dll] Error 1
    mingw32-make[1]: *** [CMakeFiles\Makefile2:82: CMakeFiles/driver_openglove.dir/all] Error 2
    mingw32-make: *** [Makefile:90: all] Error 2
    
    opened by fharni 3
  • Force feedback integration

    Force feedback integration

    Integrate a force feedback interface between the driver and games.

    Using OpenVR's IVRIOBuffer interface is probably the most suitable way to do this, but modding may also be necersarry.

    https://github.com/ValveSoftware/openvr/wiki/IVRIOBuffer

    enhancement 
    opened by danwillm 3
  • Bugfix/serial rw fixes

    Bugfix/serial rw fixes

    Input throttling and configurable feedback

    If the glove firmware sends data more often than we poll for it then the buffer will become saturated and block future reads. Data is guaranteed to be ready on the next read so just purge the buffers after we get a full set of encoded data.

    Added config to enable/disable feedback for gloves that do not support it.

    opened by MasterOfShred 2
  • Add more scenarios to troubleshooting FAQ in wiki section

    Add more scenarios to troubleshooting FAQ in wiki section

    A great first task for those who have already experimented with the driver. It would be nice to add some more troubleshooting scenarios to the wiki page https://github.com/LucidVR/opengloves-driver/wiki/Troubleshooting

    good first issue 
    opened by lucas-vrtech 2
  • README Formatting

    README Formatting

    Please check the Preview

    • Steam / Manual installation -> docs/Installation -> Removed redundant info -> Placed install link at the top

    • General Formatting / Spacing

    • Rewording

    opened by ElectronicsArchiver 0
  • Add wiki for how to use config UI

    Add wiki for how to use config UI

    Currently, most of the wiki pages are from before the UI's were created, would be great to be able to add documentation with screenshots of the UI from the steam release.

    good first issue 
    opened by lucas-vrtech 0
  • Real time update settings

    Real time update settings

    Allow the driver to work with real-time settings updates, for example switching com ports or communication methods.

    This way you won't have to restart SteamVR each time after changing one of these. This will require refactoring the device provider and device driver classes.

    enhancement 
    opened by lucas-vrtech 0
Releases(v0.5.2)
  • v0.5.2(Jul 14, 2022)

    Releasing OpenGloves Driver v0.5.2! Small tweaks and fixes include: live configuration updates and quality of life improvements

    • small changes to pose calculations
    • fixes a rare bug where controllers might not be found
    • changes made to configuration are now updated live in steamvr without needing to restart

    UI

    • Driver can now be fully enabled/disabled within UI
    • \.\COM for serial devices is now not editable

    The release is available on github, though we thoroughly recommend everyone to use the Steam releases to receive automatic updates and a UI for configuration!

    IMPORTANT: If you've already installed the driver via GitHub, make sure to delete it if you are installing via steam.

    Github installation: Extract the correct opengloves.zip folder (not source code), and put the folder into the Steam\steamapps\common\SteamVR\drivers folder. Change the default.vrsettings file in lucidgloves\resources\settings to match your hardware. (see wiki

    Source code(tar.gz)
    Source code(zip)
    opengloves.zip(735.04 KB)
  • v0.5(Jan 24, 2022)

    This update includes: Splay & Multiple Finger Joint Support and numerous bug fixes and performance improvements

    Driver:

    • Splay support
    • Multiple finger joint support
    • Made glove position updates smoother
    • Made finger animations smoother
    • Potential fix for lag that some people were encountering when using an ESP over USB
    • Reduce buffer size for USB connection in aims to minimise latency
    • Last commit hash is now included in logs for help with debugging
    • Input Named Pipe has changed name (BREAKING CHANGE, see https://github.com/LucidVR/opengloves-driver/wiki/Driver-Input#input-via-named-pipe)

    The release is also available on github, though we thoroughly recommend everyone to use the Steam releases to receive automatic updates and a UI for configuration!

    IMPORTANT: If you've already installed the driver via GitHub, make sure to delete it if you are installing via steam.

    Github installation: Extract the correct opengloves.zip folder (not source code), and put the folder into the Steam\steamapps\common\SteamVR\drivers folder. Change the default.vrsettings file in lucidgloves\resources\settings to match your hardware. (see wiki)

    Source code(tar.gz)
    Source code(zip)
    opengloves.zip(668.53 KB)
  • v0.4.2(Dec 30, 2021)

    Releasing v0.4.2!

    This update includes numerous bug fixes and improvements. Notably: inputs via named pipes, smoother finger animations and improvements to glove positioning relative to the controller.

    A full list of changes are below.

    Driver:

    • Adds a method to communicate glove inputs via named pipes, which allows the gloves to be used without needing an external device connected through Bluetooth/serial
      • Already being used in both PerlinWarp's NeuroGloves, and utility app for OpenGloves! Check them out here:
        • https://github.com/PerlinWarp/NeuroGloves
        • https://github.com/PerlinWarp/pygloves
    • Fix to "lag" in glove poses, where there might be some delay in the glove updating it's rotation relative to the controller
    • Improve animations for fingers curling in skeletal input - animations should be a lot smoother
    • Adds an option to disable force feedback messages being sent to the glove, in an attempt to fix issues people were having with force feedback being disabled in the firmware
    • Couple of small changes to how we handle communication and fails in order to help improve stability
    • Adds an option to enable a thumb approximation mode, where the driver will trigger a touch on the A button in order to move the thumb in games like Boneworks
    • Gloves are now disabled by default when downloading the driver. make sure to enable them in the default.vrsettings
    • Values can be now encoded with multiple characters
    • Potential bug fixes for serial and Bluetooth communication dropping out

    The release is also available on github, though we thoroughly recommend everyone to use the Steam releases to receive automatic updates and a UI for configuration!

    IMPORTANT: If you've already installed the driver via GitHub, make sure to delete it if you are installing via steam.

    Github installation: Extract the correct opengloves.zip folder (not source code), and put the folder into the Steam\steamapps\common\SteamVR\drivers folder. Change the default.vrsettings file in lucidgloves\resources\settings to match your hardware. (see wiki)

    Source code(tar.gz)
    Source code(zip)
    openglove.zip(665.69 KB)
  • v0.4.1(Aug 23, 2021)

    Version 0.4.1 includes some quality of life improvements to the features introduced in v0.4.

    • Serial and Bluetooth will now reconnect automatically if the arduino was disconnected or was connected late
    • Baud rate is now configurable (Thanks @noob247365)
    • Driver now parses GLTF files for hand animations, this should mean that the quality of the hand animations should be functionally the same as the index controller (we're using the same animations)

    NOTE: 4095 is the new default analog maximum value. Arduino users may need to change back to 1023.

    The driver has been released onto Steam! https://store.steampowered.com/app/1574050/

    The release is also available on github, though we thoroughly recommend everyone to use the Steam releases to receive automatic updates and a UI for configuration!

    IMPORTANT: If you've already installed the driver via GitHub, make sure to delete it if you are installing via steam.

    Github installation: Extract the correct opengloves.zip folder (not source code), and put the folder into the Steam\steamapps\common\SteamVR\drivers folder. Change the default.vrsettings file in lucidgloves\resources\settings to match your hardware. (see wiki)

    Source code(tar.gz)
    Source code(zip)
    driver.zip(660.43 KB)
  • v0.4(Aug 7, 2021)

    Release v0.4:

    Additions:

    • Force Feedback Haptics
    • Automatic Pose Calibration
    • Alphabetic Encoding Manager
    • Menu Button

    Changes and Fixes:

    • Controller discovery done through overlay
      • More reliable Vive wand discovery
    • Settings will now not reset between updates
    • Fix issues with Bluetooth not working on some machines
    • Fix bug with pose settings caused by unit conversions
    • Fix bug with playspace calibrator caused by lighthouse tracking name

    The driver has been released onto Steam! https://store.steampowered.com/app/1574050/

    The release is also available on github, though we thoroughly recommend everyone to use the Steam releases to receive automatic updates and a UI for configuration!

    IMPORTANT: If you've already installed the driver via GitHub, make sure to delete it if you are installing via steam.

    Github installation: Extract the correct opengloves.zip folder (not source code), and put the folder into the Steam\steamapps\common\SteamVR\drivers folder. Change the default.vrsettings file in lucidgloves\resources\settings to match your hardware. (see wiki)

    Source code(tar.gz)
    Source code(zip)
    openglove.zip(538.98 KB)
  • v0.3(May 21, 2021)

    Driver v0.3 Bluetooth & Steam support now included!

    Change notes:

    • Added bluetooth driver implementation. This feature is still experimental as it has not been tested on all boards yet.
    • Driver renamed to opengloves
    • Added support for automatic Vive Wand & Tracker discovery
    • Potential fixes for crashes caused by corrupt data packets
    • Independent offset values for each hand (rather than mirroring)
    • Knuckle emulation icons now replaced with glove icons to avoid possible confusion (implementation still works the same)

    The driver has been released onto Steam! https://store.steampowered.com/app/1574050/

    The release is also available on github, though we thoroughly recommend everyone to use the Steam releases to receive automatic updates and a UI for configuration!

    We've published a UI (source not yet released) for Steam users to tweak configuration values. You can get to the UI by launching the OpenGlove Steam app. Note that you only need to launch the app if you want to edit the configuration, you can launch SteamVR as normal and the driver should activate.

    IMPORTANT: If you've already installed the driver via GitHub, make sure to delete it if you are installing via steam.

    Github installation: Extract the correct opengloves.zip folder (not source code), and put the folder into the Steam\steamapps\common\SteamVR\drivers folder. Change the default.vrsettings file in lucidgloves\resources\settings to match your hardware. (see wiki)

    Source code(tar.gz)
    Source code(zip)
    openglove.zip(201.21 KB)
  • v0.2(Apr 14, 2021)

    Changes:

    • Added Valve Index controller emulation for much more widespread game support
    • Added device ID overrides for VIVE wand and tracker support
    • Added in encoder manager system for more methods of encoding data
    • Added more configurations for pose offsets and rotation

    Installation Instructions: Extract the correct lucidgloves.zip folder (not source code), and put the folder into the Steam\steamapps\common\SteamVR\drivers folder. Change the default.vrsettings file in lucidgloves\resources\settings to match your hardware. (see wiki)

    Source code(tar.gz)
    Source code(zip)
    lucidgloves.zip(595.75 KB)
  • v0.1.1(Mar 24, 2021)

    Changes:

    • Fix crash occurring when no headset is connected.
    • Added scalar components for finger scalar values (to get closer to compatibility with Boneworks, B&S, VRChat)
    • Added configuration for left and right-hand enabled

    Installation Instructions: Extract the correct zip folder (not source code), and put the folder into the Steam\steamapps\common\SteamVR\drivers folder. Change the default.vrsettings file in lucidgloves\resources\settings to match your hardware. (see wiki)

    Source code(tar.gz)
    Source code(zip)
    lucidgloves.zip(589.01 KB)
  • v0.1(Mar 14, 2021)

    Pi Day Release Version. Early access, features may be unstable and this is not production ready.

    Instructions: Extract the correct zip folder (not source code), and put the folder into the Steam\steamapps\common\SteamVR\drivers folder. Change the default.vrsettings file in lucidgloves\resources\settings to match your hardware. (see wiki)

    Source code(tar.gz)
    Source code(zip)
    lucidgloves.zip(588.99 KB)
Arduino/ESP32 firmware for DIY haptic gloves. Officially compatible with LucidVR gloves.

Arduino/ESP32 firmware for DIY haptic gloves. Officially compatible with LucidVR gloves.

null 1.4k Aug 8, 2022
Loads a signed kernel driver which allows you to map any driver to kernel mode without any traces of the signed / mapped driver.

CosMapper Loads a signed kernel driver (signed with leaked cert) which allows you to map any driver to kernel mode without any traces of the signed /

null 120 Aug 12, 2022
x64 Windows kernel driver mapper, inject unsigned driver using anycall

anymapper x64 Windows kernel driver mapper, inject unsigned driver using anycall This project is WIP. Todo Fix: Can't make API calls from IAT nor func

Kento Oki 68 Jun 22, 2022
Driver leap - Self-sustainable fork of SteamVR driver for Leap Motion controller with updated vendor libraries

Driver Leap Self-sustainable fork of SteamVR driver for Leap Motion controller with updated vendor libraries Installation (for users) Install Ultralea

null 47 Aug 12, 2022
Hygieia, a vulnerable driver traces scanner written in C++ as an x64 Windows kernel driver.

Hygieia The Greek goddess of health, her name is the source for the word "hygiene". Hygieia is a windows driver that works similarly to how pagewalkr

Deputation 77 Aug 12, 2022
SinMapper - usermode driver mapper that forcefully loads any signed kernel driver

usermode driver mapper that forcefully loads any signed kernel driver (legit cert) with a big enough section (example: .data, .rdata) to map your driver over. the main focus of this project is to prevent modern anti-cheats (BattlEye, EAC) from finding your driver and having the power to hook anything due to being inside of legit memory (signed legit driver).

null 109 Aug 6, 2022
Lotus 1-2-3 R4D Display Driver for DOSEMU

Lotus 1-2-3 R4D Display Driver for DOSEMU2 This is a WIP display driver for Lotus 1-2-3 R4D to enable support for arbitrary text resolutions in DOSEMU

Tavis Ormandy 108 Jul 28, 2022
Simple Player-Glow & Driver Source Included

External-Apex-Cheat Install WDK Build in Release x64 Map driver using KDMapper Launch Game Run User-mode when in main menu Have Fun driver is indeed p

null 96 Jul 26, 2022
MPU-9250 sensor driver.

mpu9250 This library communicates with InvenSense MPU-9250 and MPU-9255 Inertial Measurement Units (IMUs). License Changelog Contributing guide Descri

Bolder Flight Systems 398 Aug 6, 2022
Corsair LL Access driver abuse

CorsairLLeak Map physical addresses into userspace (RW), read/write MSRs, send/recieve data on I/O ports, and query/set bus configuration data with th

Arush Agarampur 21 Jun 27, 2022
Valorant cheat that abuses Logitech GHUB driver input management.

valorant-cheat Valorant cheat that uses Logitech GHUB driver input management and color detection. features Triggerbot with customizable delay (VK_SHI

null 28 Aug 1, 2022
ASUSTeK AsIO3 I/O driver unlock

AsIo3Unlock ASUSTeK AsIO3 I/O driver unlock Purpose This is proof-of-concept bypass of pseudo-security caller check implemented in AsIO3, "unlocking"

null 18 Jul 15, 2022
A FAT filesystem with SPI driver for SD card on Raspberry Pi Pico

no-OS-FatFS-SD-SPI-RPi-Pico Simple library for SD Cards on the Pico At the heart of this library is ChaN's FatFs - Generic FAT Filesystem Module. It a

Carl J Kugler III 97 Aug 1, 2022
OffensivePH - use old Process Hacker driver to bypass several user-mode access controls

offensiveph OffensivePH is a post-exploitation tool that utilizes an old Process Hacker driver to bypass several user-mode access controls. Usage Comp

Red Section 260 Jul 25, 2022
ads1115 full function driver

LibDriver ADS1115 English | 简体中文 ADS1115 is an ultra small package, low power, IIC bus interface, 16 bit conversion accuracy, internal voltage referen

Shifeng Li 38 May 25, 2022
Linux USB driver for the MOTU AVB series interfaces

motu-avb Linux USB driver for the MOTU AVB series interfaces Kernel parameters: samplerate: set the samplerate (its currently fixed at module load) de

null 42 Jul 20, 2022
A kernel level driver for Windows built to configure the Blue Screen Of Death

BSODConfigure A kernel level driver for Windows built to configure the Blue Screen Of Death. Go see the writeup at https://www.phasetw0.com/configurin

phasetw0 13 Jun 30, 2022
Driver for the TI TMP102 I2C temperature sensor. For use with TI TM4C123X MCUs.

TI TMP102 Driver Simple driver for the TI TMP102 I2C temperature sensor. For use with TI TM4C123X MCUs and TI's TivaWare™ Peripheral Driver Library. D

Dan Maher 4 Jun 27, 2021
bmp180 full function driver

LibDriver BMP180 English | 简体中文 The BMP180 is the function compatible successor of the BMP085, a new generation of high precision digital pressure sen

Shifeng Li 57 Aug 10, 2022