- This project runs on Linux systems using the X Window System. A Leap Motion controller is also needed.
For compatibility reasons, version 2.3 of the Leap Motion tracking software is needed. Specifically, this hotfix version of the software must be used for reasons detailed here.
The necessary Leap Motion headers are included in this project already. Install Leap packages on Ubuntu 12.04 and later after downloading the SDK (v2.3) from the Leap legacy release page with
sudo dpkg --install Leap-*-x64.deb
To get Leap packages on Fedora follow these instructions from the Leap Motion support page:
For Fedora 21 and later, first install alien and convert Leap--x64.deb into a rpm package as follows. sudo yum update sudo yum install alien sudo alien -rv --scripts Leap--x64.deb Next, run: sudo rpm -ivh --nodeps --force leap-*-2-x86_64.rpm
If necessary, Leap services can be started or restarted with:
sudo leapd
or
sudo service leapd restart
The mouse simulation module requires libxdo-dev which can be installed with:
sudo apt-get install xdotool
Before building, Cmake must be used to generate the build files for the hand tracking module. Running cmake
from the project root should suffice.
After that simply use:
cargo build --release
in the project root to build the entire project. All binaries will be placed in target/release
or target/debug
depending on which you have built.
The program can be run from the command line, either by using cargo:
cargo run --bin telekinetic
or running directly with by running telekinetic
from the binary directory.
The hand tracker follows your index finger for the mouse pointer position. Left mouse presses can be simulated by retracting your thumb while releases can be simulated by extending your thumb. Similarly, right mouse clicks can be simulated by retracting your middle finger and releases are simulated by extending your middle finger. A demonstration is provided below.