You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.4 KiB

Keyboard-Layout-Editor-for-Blender

Allows you to import keyboard layouts into blender and have them render in 3d

To-Do

  • Add support for ISO enter
  • Add key labels
  • Add more key profiles (DSA, SA and DCS are done)
  • Add support for fonts (Google Fonts only)
  • Add support for glyphs
  • Add legend alignment
  • Add front legend support

How to install Addon:

  1. Download zip (releases)
  2. Open Blender
  3. Go to File > User Preferences (Ctrl + Alt + U)
  4. Select the "Add-ons" tab.
  5. Click “Install from File...” at the bottom of the panel
  6. Select the zip archive that you downloaded and click “Install from File…” at the top right
  7. Check the checkbox next to “Import-Export: Import: KLE Raw JSON format (.json)”
  8. Click “Save User Settings” and close the preferences window
  9. Now the addon is ready to use

How to use Addon:

  1. Open Blender
  2. Go to File>Import>KLE Raw Data (.json)
  3. Select the “keyboard-layout.json” that you downloaded from Keyboard Layout Editor and click “Import KLE Raw JSON” at the top right
  4. All Done!

How to add LEDs:

  • Add the following line to the object at the beginning (the one with "backcolor" in it):

    "led" : [RED, GREEN, BLUE, BRIGHTNESS] (you may need to add a comma to the line above)

    • RED, GREEN, and BLUE are out of 255, and BRIGHTNESS is from 0 to 1
  • To make the keycap legends backlit, make the legend color the same as whatever color you made the LEDs

Blender scene file

A basic scene for blender can be found in this gist. Open the scene in blender before importing. Please note that lighting, camera and render setup will most probably require some tweaking to fit with your specific layout.

Contributions

Special thanks to @zslane on Deskthority for the SA models. Thanks to @wilderjs for implementing SA support

Examples:

Example 1

Courtesy of /u/jacopods

 

Example 2

Courtesy of /u/zzubnik

 

Example 3

Courtesy of /u/zzubnik

 

Please open a pull request if you'd like to add more examples