Chroma

From GiderosMobile
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Supported platforms: Platform html5.pngPlatform pc.png
Available since: Gideros 2020.7

Description

An interface for the RΛZΞR Chroma SDK.

Device can be any of: "keyboard", "mouse", "headset", "mousepad", "keypad" or "chromalink"

A special hybrid device called "chars" can be used to light up a key, setting its LED colour to -1 will show the keyboard colour instead.

An emulator for the Chroma devices can be downloaded from here: https://developer.razer.com/works-with-chroma/download/


Razer.png

Screenshot of the plugin working with Razer Chroma emulator

Example

pcall(function() require "json" end)
pcall(function() require "chroma" end)

if Chroma then
	print("Chroma successfully loaded")
	chroma=Chroma.new()
	chroma:clear("keyboard")
	local h=chroma:getHeight("keyboard")
	for y=1,h do
		for x=1,0xf do
			chroma:setColor("keyboard",x,y,(x*16)<<16)
			chroma:setColor("keyboard",31-x,y,(x*16)<<16)
		end
	end
	for loop=1,12 do
		chroma:setKey("f"..loop,0x100-(loop*0x10))
	end
	chroma:setKey({"w","up"},0xffffff)
	chroma:setKey({"z","down"},0xffffff)
	chroma:setKey({"a","left"},0xffffff)
	chroma:setKey({"s","right"},0xffffff)
end

frameCounter=0
test1=false

function gameLoop(e)
	frameCounter+=1
	if chroma and chroma:isReady() then
		if not test1 then
			chroma:effect("mouse","static",255<<8)
			chroma:effect("mousepad","static",255<<16)
			test1=true
		end
		chroma:colorScroll("keyboard",1,0,true)
	end
end

stage:addEventListener(Event.ENTER_FRAME,gameLoop)

Methods

Chroma.new initialises the plugin
Chroma:getSession gets the session id
Chroma:getTicks gets the number of ticks (seconds) from the razer chroma server that you have been connected
Chroma:isReady returns true if Chroma has started and is ready to accept commands
Chroma:getLastError returns the last error number
Chroma:getErrorText returns the text representation of the error number
Chroma:getWidth returns the number of LED columns
Chroma:getHeight returns the number of LED rows
Chroma:setKey sets the LED colour for a specific key
Chroma:setColor sets the colour for the LED at x,y on the device
Chroma:getColor returns the colour of the LED at x,y on the device
Chroma:clear sets all the LED colours on the device to a specific colour
Chroma:flush sends the wanted colours of the LEDs to the device
Chroma:color sets all the LED colours very quickly to a specific colour
Chroma:colorScroll scrolls the LED colours in a given direction
Chroma:effect sends raw effect data to the Chroma server

Events

Constants