Release testing

Before a new release of Kaleidoscope, the following test process should be run through on all supported operating systems.

Always run all of the automated tests to verify there are no regressions.

(As of August 2017, this whole thing really applies to Model01-Firmware, but we hope to generalize it to Kaleidoscope)

Tested operating systems

  • The latest stable Ubuntu Linux release running X11. (We should eventually be testing both X11 and Wayland)

  • The latest stable release of macOS

  • An older Mac OS X release TBD. (There were major USB stack changes in 10.9 or so)

  • Windows 10

  • Windows 7

  • The current release of ChromeOS

  • A currentish android tablet that supports USB Host

  • an iOS device (once we fix the usb connection issue to limit power draw)

Test process

Basic testing

  1. Plug the keyboard in

  2. Make sure the host OS doesn’t throw an error

  3. Make sure the LED in the top left doesn’t glow red

  4. Make sure the LED in the top-right corner of the left side breathes blue for ~10s

  5. Bring up some sort of notepad app or text editor

Basic testing, part 2

  1. Test typing of shifted and unshifted letters and numbers with and without key repeat

  2. Test typing of fn-shifted characters: []{}|\ with and without key repeat

  3. Test that ‘Any’ key generates a random letter or number and that key repeat works

  4. Test fn-hjkl to move the cursor

  5. Test Fn-WASD to move the mouse

  6. Test Fn-RFV for the three mouse buttons

  7. Test Fn-BGTabEsc for mouse warp

  8. Test that LeftFn+RightFn + hjkl move the cursor

  9. Verify that leftfn+rightfn do not light up the numpad


  1. Open the platform’s native key event viewer (If not available, visit in a browser)

  2. Press as many keys as your fingers will let you

  3. Verify that the keymap reports all the keys you’re pressing

Test media keys

  1. Fn-Any: previous track

  2. Fn-Y: next-track

  3. Fn-Enter: play/pause

  4. Fn-Butterfly: Windows ‘menu’ key

  5. Fn-n: mute

  6. Fn-m: volume down

  7. Fn-,: volume up

Test numlock

  1. Tap “Num”

  2. Verify that the numpad lights up red

  3. Verify that the num key is breathing blue

  4. Verify that numpad keys generate numbers

  5. Tap the Num key

  6. Verify that the numpad keys stop being lit up 1 Verify that ‘jkl’ don’t generate numbers.

Test LED Effects

  1. Tap the LED key

  2. Verify that there is a rainbow effect

  3. Tap the LED key a few more times and verify that other LED effects show up

  4. Verify that you can still type.

Second connection

  1. Unplug the keyboard

  2. Plug the keyboard back in

  3. Make sure you can still type


  1. If the OS has a way to show serial port devices, verify that the keyboard’s serial port shows up.

  2. If you can run stty, as you can on linux and macos, make sure you can tickle the serial port at 1200 bps. Linux: stty -F /dev/ttyACM0 1200 Mac:

  3. If you tickle the serial port without holding down the prog key, verify that the Prog key does not light up red

  4. If you hold down the prog key before tickling the serial port, verify that the Prog key’s LED lights up red.

  5. Unplug the keyboard

  6. While holding down prog, plug the keyboard in

  7. Verify that the prog key is glowing red.

  8. Unplug the keyboard

  9. Plug the keyboard in

  10. Verify that the prog key is not glowing red.

If the current platform supports the Arduino IDE (Win/Lin/Mac)

  1. use the Arduino IDE to reflash the current version of the software.

  2. Verify that you can type a few keys

  3. Verify that the LED key toggles between LED effects