Difference between revisions of "Chroma"

From GiderosMobile
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
<languages />
 
 
<!-- GIDEROSOBJ:chroma -->
 
<!-- GIDEROSOBJ:chroma -->
'''<translate>Supported platforms</translate>:''' [[File:Platform html5.png]][[File:Platform pc.png]]<br/>
+
'''Supported platforms:''' [[File:Platform html5.png]][[File:Platform pc.png]]<br/>
'''<translate>Available since</translate>:''' Gideros 2020.7<br/>
+
'''Available since:''' Gideros 2020.7<br/>
=== <translate>Description</translate> ===
 
<translate>An interface for the RΛZΞR Chroma SDK<br/><br/>
 
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 it's LED colour to -1 will show the keyboard colour instead.</translate>
 
  
An emulator for the Chroma devices can be downloaded from here: https://developer.razer.com/works-with-chroma/download/
+
=== Description ===
 +
An interface for the RΛZΞR Chroma SDK.
  
[[File:Razer.png|thumb|Screenshot of the plugin working with Razer Chroma emulator]]
+
Device can be any of: "keyboard", "mouse", "headset", "mousepad", "keypad" or "chromalink"
<br/>
 
  
=== <translate>Examples</translate> ===
+
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.
'''Example'''<br/>
 
<source lang="lua">pcall(function() require "json" end)
 
  
 +
An emulator for the Chroma devices can be downloaded from here: '''https://developer.razer.com/works-with-chroma/download/'''
 +
 +
 +
[[File:Razer.png|800px]]
 +
 +
'''''Screenshot of the plugin working with Razer Chroma emulator'''''
 +
 +
=== Example ===
 +
<source lang="lua">
 +
pcall(function() require "json" end)
 
pcall(function() require "chroma" end)
 
pcall(function() require "chroma" end)
 +
 
if Chroma then
 
if Chroma then
 
print("Chroma successfully loaded")
 
print("Chroma successfully loaded")
 
 
chroma=Chroma.new()
 
chroma=Chroma.new()
 
 
chroma:clear("keyboard")
 
chroma:clear("keyboard")
 
local h=chroma:getHeight("keyboard")
 
local h=chroma:getHeight("keyboard")
Line 56: Line 58:
 
end
 
end
  
stage:addEventListener(Event.ENTER_FRAME,gameLoop)</source>
+
stage:addEventListener(Event.ENTER_FRAME,gameLoop)
 +
</source>
 +
 
 
{|-
 
{|-
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
=== <translate>Methods</translate> ===
+
=== Methods ===
[[Special:MyLanguage/Chroma.new|chroma.new]] ''<translate>Initialises the plugin.</translate>''<br/><!-- GIDEROSMTD:Chroma.new(devices,title,description,name,contact,category) Initialises the plugin. -->
+
[[Chroma.new]] ''initialises the plugin''<br/><!--GIDEROSMTD:Chroma.new(devices,title,description,name,contact,category) initialises the plugin-->
[[Special:MyLanguage/Chroma:getSession|Chroma:getSession]] ''<translate>Gets the session id</translate>''<br/><!-- GIDEROSMTD:Chroma:getSession() Gets the session id -->
+
[[Chroma:getSession]] ''gets the session id''<br/><!--GIDEROSMTD:Chroma:getSession() gets the session id-->
[[Special:MyLanguage/Chroma:getTicks|Chroma:getTicks]] ''<translate>Gets the number of ticks (seconds) from the razer chroma server that you have been connected.</translate>''<br/><!-- GIDEROSMTD:Chroma:getTicks() Gets the number of ticks (seconds) from the razer chroma server that you have been connected. -->
+
[[Chroma:getTicks]] ''gets the number of ticks (seconds) from the razer chroma server that you have been connected''<br/><!-- GIDEROSMTD:Chroma:getTicks() gets the number of ticks (seconds) from the razer chroma server that you have been connected-->
[[Special:MyLanguage/Chroma:isReady|Chroma:isReady]] ''<translate>Returns true if Chroma has started and is ready to accept commands.</translate>''<br/><!-- GIDEROSMTD:Chroma:isReady() Returns true if Chroma has started and is ready to accept commands. -->
+
[[Chroma:isReady]] ''returns true if Chroma has started and is ready to accept commands''<br/><!--GIDEROSMTD:Chroma:isReady() returns true if Chroma has started and is ready to accept commands-->
[[Special:MyLanguage/Chroma:getLastError|Chroma:getLastError]] ''<translate>Returns the last error number.</translate>''<br/><!-- GIDEROSMTD:Chroma:getLastErrory() Returns the last error number. -->
+
[[Chroma:getLastError]] ''returns the last error number''<br/><!--GIDEROSMTD:Chroma:getLastErrory() returns the last error number-->
[[Special:MyLanguage/Chroma:getErrorText|Chroma:getErrorText]] ''<translate>Returns the text representation of the error number.</translate>''<br/><!-- GIDEROSMTD:Chroma:getErrorText(number) Returns the text representation of the error number. -->
+
[[Chroma:getErrorText]] ''returns the text representation of the error number''<br/><!--GIDEROSMTD:Chroma:getErrorText(number) returns the text representation of the error number-->
[[Special:MyLanguage/Chroma:getWidth|Chroma:getWidth]] ''<translate>Returns the number of LED columns.</translate>''<br/><!-- GIDEROSMTD:Chroma:getWidth(device) Returns the number of LED columns. -->
+
[[Chroma:getWidth]] ''returns the number of LED columns''<br/><!--GIDEROSMTD:Chroma:getWidth(device) returns the number of LED columns-->
[[Special:MyLanguage/Chroma:getHeight|Chroma:getHeight]] ''<translate>Returns the number of LED rows.</translate>''<br/><!-- GIDEROSMTD:Chroma:getHeight(device) Returns the number of LED rows. -->
+
[[Chroma:getHeight]] ''returns the number of LED rows''<br/><!--GIDEROSMTD:Chroma:getHeight(device) returns the number of LED rows-->
[[Special:MyLanguage/Chroma:setKey|Chroma:setKey]] ''<translate>Sets the LED colour for a specific key.</translate>''<br/><!-- GIDEROSMTD:Chroma:setKey(keys,colors,flush) Sets the LED colour for a specific key. -->
+
[[Chroma:setKey]] ''sets the LED colour for a specific key''<br/><!--GIDEROSMTD:Chroma:setKey(keys,colors,flush) sets the LED colour for a specific key-->
[[Special:MyLanguage/Chroma:setColor|Chroma:setColor]] ''<translate>Basically this sets the colour for the LED at x,y on the device.</translate>''<br/><!-- GIDEROSMTD:Chroma:setColor(device,x,y,colors,flush) Basically this sets the colour for the LED at x,y on the device. -->
+
[[Chroma:setColor]] ''sets the colour for the LED at x,y on the device''<br/><!--GIDEROSMTD:Chroma:setColor(device,x,y,colors,flush) sets the colour for the LED at x,y on the device-->
[[Special:MyLanguage/Chroma:getColor|Chroma:getColor]] ''<translate>Returns the colour of the LED at x,y on the device.</translate>''<br/><!-- GIDEROSMTD:Chroma:getColor(device,x,y) Returns the colour of the LED at x,y on the device. -->
+
[[Chroma:getColor]] ''returns the colour of the LED at x,y on the device''<br/><!--GIDEROSMTD:Chroma:getColor(device,x,y) returns the colour of the LED at x,y on the device-->
[[Special:MyLanguage/Chroma:clear|Chroma:clear]] ''<translate>Basically sets all the LED colours on the device to a specific colour.</translate>''<br/><!-- GIDEROSMTD:Chroma:clear(device,color,flush) Basically sets all the LED colours on the device to a specific colour. -->
+
[[Chroma:clear]] ''sets all the LED colours on the device to a specific colour''<br/><!--GIDEROSMTD:Chroma:clear(device,color,flush) sets all the LED colours on the device to a specific colour-->
[[Special:MyLanguage/Chroma:flush|Chroma:flush]] ''<translate>Sends the wanted colours of the LEDs to the device.</translate>''<br/><!-- GIDEROSMTD:Chroma:flush(device) Sends the wanted colours of the LEDs to the device. -->
+
[[Chroma:flush]] ''sends the wanted colours of the LEDs to the device''<br/><!--GIDEROSMTD:Chroma:flush(device) sends the wanted colours of the LEDs to the device-->
[[Special:MyLanguage/Chroma:color|Chroma:color]] ''<translate>This sets all the LED colours very quickly to a specific colour.</translate>''<br/><!-- GIDEROSMTD:Chroma:color(devices,color) This sets all the LED colours very quickly to a specific colour. -->
+
[[Chroma:color]] ''sets all the LED colours very quickly to a specific colour''<br/><!--GIDEROSMTD:Chroma:color(devices,color) sets all the LED colours very quickly to a specific colour-->
[[Special:MyLanguage/Chroma:colorScroll|Chroma:colorScroll]] ''<translate>Scrolls the LED colours in a given direction.</translate>''<br/><!-- GIDEROSMTD:Chroma:colorScroll(device,dirX,dirY,flush) Scrolls the LED colours in a given direction. -->
+
[[Chroma:colorScroll]] ''scrolls the LED colours in a given direction''<br/><!--GIDEROSMTD:Chroma:colorScroll(device,dirX,dirY,flush) scrolls the LED colours in a given direction-->
[[Special:MyLanguage/Chroma:effect|Chroma:effect]] ''<translate>Sends raw effect data to the Chroma server.</translate>''<br/><!-- GIDEROSMTD:Chroma:effect(device,effect,para) Sends raw effect data to the Chroma server. -->
+
[[Chroma:effect]] ''sends raw effect data to the Chroma server''<br/><!--GIDEROSMTD:Chroma:effect(device,effect,para) sends raw effect data to the Chroma server-->
  
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
=== <translate>Events</translate> ===
+
=== Events ===
=== <translate>Constants</translate> ===
+
=== Constants ===
 
|}
 
|}
  
 
{{GIDEROS IMPORTANT LINKS}}
 
{{GIDEROS IMPORTANT LINKS}}

Revision as of 23:18, 1 March 2023

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