Magic Keyboard - Light Installation





Introduction: Magic Keyboard - Light Installation

About: Currently based in Montreal, Canada, I’m a technologist, engineer and designer in new media doing projects with light, video, sound, smoke and objects.

In November 2012, I created a simple installation called Magic Keyboard. At the time, the project was only running on my laptop and wasn't ready to be opened on any device.

Over the years there was a rising interest for the concept, and I felt it was a great idea to port it to the web with a simple calibration tool to make it happen for more people.

So, in 2015 I created Keybright (, a simple website to make your own magic keyboard in just a few clicks.


  • Laptop / Computer
  • USB external keyboard
  • Projector
  • (You might need a tripod/clamp for your projector if you plan to project on a horizontal surface)
  • Internet connection

Step 1: Setup Your Projector and Laptop

This is the most demanding step, especially if you want to project on a horizontal surface.

Power up your projector and aim it towards the projection surface (vertical wall, horizontal table, floor... or crazier ideas). Make sure the projected area is close to a rectangle shape, this will make the Calibration phase easier.

Simply connect your laptop to your projector with a standard video cable (VGA, HDMI, DVI...).

And launch your preffered web-browser (Chrome, Firefox, Safari...) with the website ( ). Drag the web-browser window to the projected screen.

Step 2: Plug Your Keyboard and Calibrate

Then just make sure your browser window is fullscreen. You can do so by pressing F11.

You can now plug your external USB keyboard to the laptop and make sure that it is recognized (ie. you can type text with it like with your actual laptop keyboard). An optional USB extension chord will give you more flexibility too.

Position your Keyboard in the projected area.

On the website, follow up until the Calibration phase.

Then Move and Resize the Keyboard picture to match your physical Keyboard as well as possible.

Step 3: Hit Play and Enjoy !

Simply hit Play, turn on the sound and enjoy !

Step 4: What's Next ?

I am currently building new variations and games alongside the standard keyboard installation. My goal is to build a DIY happy alternative to existing videogames with a physical/digital experience at home rather than just a 16/9 screen. Imagine a battleship game with 2 keyboards or a funky musical instrument !
Here are some prototypes I have done :

Original Magic Keyboard

Letters Orchestra

A Machines sketchbook

Burning rain

The project is also opensource on Github and you are more than welcome to contribute.

You can follow this instructable or our Facebook page too to get updates for new games and improvements.



    • Creative Misuse Contest

      Creative Misuse Contest
    • Clocks Contest

      Clocks Contest
    • Oil Contest

      Oil Contest

    13 Discussions

    Tried setting this up but I get an error message saying the server cannot be found. Does this project still work or was it moth balled?

    1 more answer

    Very Funny.

    It gives magical look of jumping characters.........

    Es un proyecto muy bonito te felicito , se sale del contexto de proyectos repetitivos, por eso tu proyecto es unico e innovador..... felicitaciones

    1 reply

    Gracias ! Me gustaria mucho a ver si probas de hacer la installacion :) feliz ano nuevo !

    It s web based with some Javascript, so it should be ok. let me know if you manage to make it work :)

    This is awesome. That could easily go to an art exhibition!

    3 replies

    lol - the letter soup in the final video! That's really tasty ;-)


    Looking forward to see your own installation !

    I'd do so immediately, but without the projector is rather pointless :-(

    If I happen to get access to a projector I'll definitely will start :-)


    Reply 2 years ago

    It would be amazing to make something compatible with other devices than computers. Especially tablets and phones.

    You can have a look at the code here (and even make your own branch), it's done using Javascript Physics libraries.