JS Buttons
Demo 3

In this demo (idea by Raquel Horta Bartomeu) the buttons can be used to do moves even if the cube has been rotated via mouse/touch. When a move button is pressed the cube will "snap" into one of the 24 possible positions. To ensure the correct snap position, rotate so the front face is largest. To snap prior to doing a move, use the Snap button. Keyboard letters can also be used to do moves (click on cube to activate keyboard input).