"Introducing Naruka, a groundbreaking project dedicated to making gaming more inclusive for everyone, especially those with physical disabilities. Our mission is to enhance the gaming experience by developing a computer vision-based gamepad emulator that offers a new level of accessibility and customization.
Naruka aims to decrease dependency on traditional game controllers, allowing users to enjoy a wide range of games that were previously inaccessible. With Naruka, users can customize their gaming experience by choosing their preferred level of motion sensitivity, ensuring a personalized and immersive gaming experience for all.
Join us in breaking down barriers and creating a gaming environment where everyone can play and thrive. Naruka is not just a project; it's a movement towards inclusivity and empowerment in gaming."
- The top of the index finger will represent the joystick centre. Press 'q' to re-centre it.
- Palm represents the location of the triggers.
- Pressing each finger will cause the respective button in the xbox controller to be pushed.
- Flipping the hand (ie turning your palm towards you) will cause the respective joystick button to be pushed.
Each respective finger will represent:
- Left Hand
- Left bumper
- Right bumper
- B
- X
- Y
- Left Hand
- The left and right thumb buttons cause the back and start buttons to trigger respectively.
- Pressing W while the program is running will activate a dialogue to change the joystick dead zone, sensitivity, and radius on screen.
- Pressing 'e' will cause a setting menu to appear from which you can change the radius, sensitivity and dead zone values on the fly.
- Pressing 'Esc' on the window will cause the opencv window to close.
- argparse
- tkinter
- PIL (Python Imaging Library)
- cv2 (OpenCV)
- mediapipe
- numpy
- vgamepad