/vrpark_remap

Remapping app for cheap Aliexpress joystick modules to be used with Kodi or other player

Primary LanguagePythonApache License 2.0Apache-2.0

Forks Stargazers Issues MIT License


Logo

vrpark_remap

Application that remaps cheap Aliexpress remote mouse to keyboard button presses.


Report Bug · Request Feature

About The Project

Intend of the project was to use one of the cheap Aliexpress bluetooth joysticks to control Kodi.
Originally the joystick of the remote controller is acting as a mouse.

Original Layout

Original layout

Remapped layout

The remapped controller has 2 modes, Mouse mode and Keyboard mode.
It is possible to switch between modes by clicking D button, desktop notification is sent Mouse layout Mouse layout

Mouse mode

In this mode only VolumeUp is changed and is left for additional functionality.

Mouse layout

Keyboard mode

This mode is meant to be used for Kodi player.
Joystick is remmaped so that it gives left, right up, down key presses when moved.
Buttons B, A are Backspace and Enter.

Keyboard layout

(back to top)

Getting Started

Prerequisites

  • Python-evdev is used to intercept the inputs and inject keypresses
  • Uinput kernel driver is used to inject inputs
  • Py-notifier for notifications
  • Udev for detecting connection of controller and running the mapper app

(back to top)

Installation

In order to install vrpark_remap you need to follow these steps:

  1. Clone the repo

    git clone https://github.com/Risto97/vrpark_remap.git
    cd vrpark_remap
  2. Install python dependencies

    pip install -r requirements.txt
  3. Change 83-vr_park.rules path to script

     KERNEL=="event[0-9]*", SUBSYSTEM=="input", SUBSYSTEMS=="input", ATTRS{name}=="VR-PARK", MODE="0660", RUN+="<path-to-local-git-repo>/run_remap.sh '%E{DEVNAME}'"
  4. Change variable USER in run_remap.sh

  5. Copy 83-vr_park.rules and 99-uinput.rules to /etc/udev/rules.d

    cp 83-vr_park.rules 99-uinput.rules /etc/udev/rules.d
  6. Reload udev rules, if it doesnt help restart the PC

    udevadm control --reload
    udevadm trigger

Turning on the controller it should work now.

(back to top)

Contact

Your Name - risto.pejasinovic@gmail.com - risto.pejasinovic@cern.ch

(back to top)