All Projects → rdady → gear-vr-controller-linux

rdady / gear-vr-controller-linux

Licence: other
Gear VR Controller Linux WebBrowser mouse

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to gear-vr-controller-linux

Pedalino
Smart wireless MIDI foot controller for guitarists and more.
Stars: ✭ 105 (+183.78%)
Mutual labels:  controller, bluetooth
DualSenseWindows UE4
Unreal Engine 4 port of the Windows API for the PS5 DualSense controller created at Ohjurot/DualSense-Windows
Stars: ✭ 25 (-32.43%)
Mutual labels:  controller, bluetooth
nxbt
Control your Nintendo Switch through a website, terminal, or macro.
Stars: ✭ 340 (+818.92%)
Mutual labels:  controller, bluetooth
joyconpi
An attempt at emulating a Nintendo Switch Joy-Con controller with a Raspberry Pi
Stars: ✭ 24 (-35.14%)
Mutual labels:  controller, bluetooth
Pedalinomini
Same features of Pedalino™ in a compact form.
Stars: ✭ 139 (+275.68%)
Mutual labels:  controller, bluetooth
Antimicrox
Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support.
Stars: ✭ 226 (+510.81%)
Mutual labels:  controller
Meganekko
Gear VR Application Framework
Stars: ✭ 25 (-32.43%)
Mutual labels:  gear-vr
Controller
Complete, fast and testable actions for Rack and Hanami
Stars: ✭ 221 (+497.3%)
Mutual labels:  controller
RejsaRubberTrac
RejsaRubberTrac - A wireless thermal camera for monitoring tire temperatures
Stars: ✭ 77 (+108.11%)
Mutual labels:  bluetooth
bluetooth-terminal
ES6 class for serial communication with your own Bluetooth Low Energy (Smart) devices
Stars: ✭ 43 (+16.22%)
Mutual labels:  bluetooth
Spstorkcontroller
Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
Stars: ✭ 2,494 (+6640.54%)
Mutual labels:  controller
Xqpagecontroller
PageController, including normal style, including sticky, tableview in tableview
Stars: ✭ 240 (+548.65%)
Mutual labels:  controller
onewheel-bluetooth
A python bluetooth data reader for the Onewheel (supporting Gemini firmware, and later).
Stars: ✭ 28 (-24.32%)
Mutual labels:  bluetooth
Transition
Easy interactive interruptible custom ViewController transitions
Stars: ✭ 2,566 (+6835.14%)
Mutual labels:  controller
BTLinker
🔥空祖家的蓝牙连接封装库,适用于智能硬件蓝牙通讯
Stars: ✭ 64 (+72.97%)
Mutual labels:  bluetooth
Edi
Edi - The open source text editor IDE based on AvalonDock and AvalonEdit
Stars: ✭ 220 (+494.59%)
Mutual labels:  controller
basebox
A tiny OpenFlow controller for OF-DPA switches.
Stars: ✭ 39 (+5.41%)
Mutual labels:  controller
ESP-WROOM-Breakout
Breakouts for ESP8266 and ESP32 WiFi/WLAN + Bluetooth modules from Espressif (ESP-WROOM-02, ESP-WROOM-32)
Stars: ✭ 32 (-13.51%)
Mutual labels:  bluetooth
routr-ui
A webui for Routr
Stars: ✭ 16 (-56.76%)
Mutual labels:  controller
Node Xbox Controller
🎮 [UNMAINTAINED] Interface for Xbox 360 game controller into Node.js
Stars: ✭ 253 (+583.78%)
Mutual labels:  controller

gear-vr-controller-linux

This little mapper creates a mouse + web navigator device from Samsung Gear VR Controller. My work was inspired by this project https://github.com/jsyang/gearvr-controller-webbluetooth

How To use?

  1. $ pip3 install python-uinput pygatt gatt more-itertools --user
  2. Change the bluetooth MAC address in the .py file to yours!!!
  3. Pair Controller with (Linux) PC
  4. Connect Controller
  5. As root load uinput: # modprobe uinput
  6. As root enable user access to uinput: # chmod 666 /dev/uinput
  7. Run my program
  8. Enjoy

To avoid steps 4 and 5:

As root do this once, a change YOURGROUP to the group of your user

echo 'KERNEL=="uinput", MODE="0660", GROUP="YOURGROUP", OPTIONS+="static_node=uinput"' > /etc/udev/rules.d/99-uinput.rules

What's the usecase? a.k.a. Why?

I am sitting at my desk while holding my litte son while he sleeps, but I sill need do nerdy stuff like browsing the web. An air mouse is not that convenient, but this controller ... is a perfect match. It could be considered as the one hand equivalent of the Steam Controller. BTW I hope sc-controller will intergate this controller in his project as well.

ISSUES

Consider this project at this point as a Proof Of Concept.

Plans for the future

I had the idea to implement the esp-GearVRController-Mouse-adapter, but I am stuck with it. ESP32 https://www.espressif.com/en/products/hardware/esp32/overview was my best choice. Really good piece of hardware, but handling the 128bit uuid notification event stucks by waiting for a semaphore in the readValue() ...

NodeJS: as the original reverse engineering was done in Javascript and nodejs has mouse emulation libraries, this could work.

Android-GearVRController-Mouse-adapter: https://github.com/rdady/BLE-HID-Peripheral-for-Android An Android phone could pretend to be a BLE mouse / joystick. Advantage is, no special hardware is needed and no special knowledge is needed for its programming, but installing an app. I am working on this one, wait for it :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].