Skip to content

nepcore/twistykeys

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TwistyKeys

Use a real cube as a controller for Spineraks Twisty Cube by converting moves into key presses

This tool is only compatible with the QiYi SmartCube (both variants should work), also called QY SC-S and QY SC-A

The physical cube does not know what side is facing which direction, therefore sides are mapped to fixed inputs:

  • Green always rotates the front face of the digital cube
  • Blue always rotates the back face of the digital cube
  • Orange always rotates the left face of the digital cube
  • Red always rotates the right face of the digital cube
  • White always rotates the top face of the digital cube
  • Yellow always rotates the bottom face of the digital cube

Running

Linux

On first setup run echo 'KERNEL=="uinput", SUBSYSTEM=="misc", OPTIONS+="static_node=uinput", TAG+="uaccess", OPTIONS+="static_node=uinput"' | sudo tee /etc/udev/rules.d/70-twistykeys.rules && sudo udevadm trigger to set up the permissions required. This allows applications to create virtual input devices which can be used to emulate key strokes etc without also allowing applications to read inputs from e.g. your keyboard. (If you already have Steam installed it may have set this up for you already)

Download the latest release and put it somewhere you'll find it.

Open a terminal window and navigate it to the directory where you put the executable. In many file managers you can right click an empty spot in a directory and find an option like "Open terminal here". Then run ./twistykeys in that terminal.

The application will start to list discovered Bluetooth devices. Now turn any face of your SmartCube, once it's discovered you will be asked if you want to connect to it. Check if it found the correct device and confirm with enter, then wait for it to set up the connection. Once it outputs the SmartCubes current battery level you can switch to your browser to start operating digital puzzle cubes using the physical one.

Windows

Download the latest release and double click it.

The application will start to list discovered Bluetooth devices. Now turn any face of your SmartCube, once it's discovered you will be asked if you want to connect to it. Check if it found the correct device and confirm with enter, then wait for it to set up the connection. Once it outputs the SmartCubes current battery level you can switch to your browser to start operating digital puzzle cubes using the physical one.

Building

Make sure you have Rust installed, for example via rustup. Run cargo build, afterwards the executable can be found in target/debug.

About

Reverse engineering the bluetooth protocol used by the QiYi Smart Cube

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%