Here is a quick overview on several key elements to look out for when developing using the Razer Chroma SDK.
1) POSSESS THE NECESSARY RAZER CHROMA PERIPHERALS
Ensure that you have Razer Chroma peripherals that are supported by the Razer Chroma SDK. You can refer to the full list supported by the SDK here. The optimal line of hardware to own for development would be
- Mouse – Razer Mamba Tournament Edition/Razer Diamondback
- Keyboard – Razer BlackWidow Chroma V2
- Headset – Razer Kraken 7.1 V2
- Mousemat – Razer Firefly
- Keypad – Razer Orbweaver Chroma
The Razer Laptop can be supported by simply using an API that is further explained in (2).
2) BUILDING ACCURATE SUPPORT FOR AS MANY RAZER PRODUCTS AS YOU CAN
- Using Generic Layout
To ensure that your codes are future proof and supports any new Razer Chroma product, you are advised to develop using the generic matrix for our major product lines such as keyboards, mouse, mousemats, keypads and headsets. By using this way, you do not have to constantly update your code within the game/application to support new Razer Chroma products that Razer releases.
- Automatically Support the Various Keyboard Layouts
An API was developed to use the BlackWidow Chroma keyboard as a baseline to accurately map and support various regional language layouts and the Razer Blades.
This is due to our keyboard is featured in various layouts such as German, UK, French and even our laptops.
You can also test how your effects will appear on the Razer Blade line by downloading the emulator.
CHROMA_CUSTOM acts like a drawing canvas while CHROMA_CUSTOM_KEY gives you the canvas plus key effects regardless of physical or region layout.
This new API allows developers to create effects on keyboard without having to worry about the location of the physical keys. The data structure contains 2 x 2D array with one represents a canvas and the other key effects.
For an example, when an animated effect (wave) with blinking W, A, S, D effect runs on a BW Chroma with US layout, you will see the wave effect as the background and blinking W, A, S, D overlaying on top. Running this on a Blade will see the exact result despite the Blade having a different physical key layout compared to a BW Chroma. Running this effect on a French layout BW Chroma will yield the same result even though the localized key layout is different.
The difference between CHROMA_CUSTOM_KEY and CHROMA_CUSTOM is with CHROMA_CUSTOM, the effect will appear at the location as it is. Hence, different keyboard layouts will result in the effect appearing differently. With CHROMA_CUSTOM_KEY, the developer is guaranteed that effect appears the same for all keyboard layouts.
3) CODE SUPPORT FOR CHROMA LINK
Why Code for Chroma Link?
Razer has an ever expanding 3rd Party Lighting ecosystem. Some examples: PC Cases, Home Lighting, Monitors and Chair/Desks.
It is an impossible task for developers to code specifically for every device with different lighting profiles
What is Chroma Link?
From Chroma SDK 2.1.3 onwards, we have introduced a new API that allows developers to code for 5 virtual LEDs which will then be mapped to our growing 3rd Party Chroma ecosystem of products.
The Best Practices document will set a framework on what type of effects should be shown on each LED and it is key for developers to use it as a guide to ensure the best experience for the user.
Benefits of Supporting Chroma Link
- Code once, support an entire ecosystem
Achieve maximum ROI by simply coding for Chroma Link to support an entire ecosystem of products without having to constantly add support for new products
- Exposure to other brand’s marketing and following
Our growing ecosystem of partner products includes brands such as Lenovo (Monitors and Desktops), NZXT (PC Cases) and Lian Li (Desks). Having support will allow you to leverage off their immense following and marketing activities.
4) ALLOW USERS TO READ YOUR GAME/APP DETAILS WITHIN SYNAPSE
Enclose your application with the XML file to ensure that your app details are shown accurately within Razer Synapse.
- Example 1: Your Application Shown Within Synapse
- Example 2: Application Details
6) TELL THE WORLD ABOUT YOUR CREATION ON THE ULTIMATE DISTRIBUTION PLATFORM—CHROMA WORKSHOP
Check out the Chroma Workshop—the repository for all Razer Chroma supported games, apps and profiles. You can also share your game as well as application, and it could just become the next big thing.
You can reach out to our team for co-marketing opportunities at our Contact Us page.
7) DEVELOPMENT TOOLS
a. Sample Project
The application will allow you to try out the effects for each of our SDK supported devices. You are also able to view the source code to better understand how the code works.
b. Emulator (Beta)
Should you lack a particular device, the emulator will be able to simulate the Chroma effects of the following supported products:
- Razer Blade
- Mamba TE
- BlackWidow Chroma
This will be most useful when you need to check how the Chroma effects appear on the Razer Blade once you’ve implemented the CUSTOM_KEYS API.DOWNLOAD