Hello Jenketsu,
it's not my code. i've just found it on the internet.
for me it works.
I've a 3rd party CM Storm Devastator keyboard.
In a Windows enviroment the backlit can be switched on/off by the "scroll lock" key.
In Linux the backlit can be switched on/off by the "scroll lock" key too (but before it works this function must be activated by command "xmodmap -e 'add mod3 = Scroll_Lock'").
In MacOSX 10.9.2 i've found these HID-LED-test-tool.
The HID-LED-test-tool generates some output:
as you can see there are two "device" entries. the second one seems to be the external CM Storm Keyboard. the backlight is on, when the the third value is "0x000000001".
regards...
pass = 0.
device = 0x52a170.
element = 0x52a460 (page: 8, usage: 1, type: 129 ).
value = 0x00000000.
element = 0x52a590 (page: 8, usage: 2, type: 129 ).
value = 0x00000000.
element = 0x52a5e0 (page: 8, usage: 3, type: 129 ).
value = 0x00000000.
element = 0x52a660 (page: 8, usage: 4, type: 129 ).
value = 0x00000000.
element = 0x52a6a0 (page: 8, usage: 5, type: 129 ).
value = 0x00000000.
device = 0x529df0.
element = 0x52a7e0 (page: 8, usage: 1, type: 129 ).
value = 0x00000000.
element = 0x52a820 (page: 8, usage: 2, type: 129 ).
value = 0x00000000.
element = 0x52a860 (page: 8, usage: 3, type: 129 ).
value = 0x00000000.
pass = 1.
device = 0x52a170.
element = 0x52a460 (page: 8, usage: 1, type: 129 ).
value = 0x00000001.
element = 0x52a590 (page: 8, usage: 2, type: 129 ).
value = 0x00000000.
element = 0x52a5e0 (page: 8, usage: 3, type: 129 ).
value = 0x00000000.
element = 0x52a660 (page: 8, usage: 4, type: 129 ).
value = 0x00000000.
element = 0x52a6a0 (page: 8, usage: 5, type: 129 ).
value = 0x00000000.
device = 0x529df0.
element = 0x52a7e0 (page: 8, usage: 1, type: 129 ).
value = 0x00000001.
element = 0x52a820 (page: 8, usage: 2, type: 129 ).
value = 0x00000000.
element = 0x52a860 (page: 8, usage: 3, type: 129 ).
value = 0x00000000.
pass = 2.
device = 0x52a170.
element = 0x52a460 (page: 8, usage: 1, type: 129 ).
value = 0x00000000.
element = 0x52a590 (page: 8, usage: 2, type: 129 ).
value = 0x00000001.
element = 0x52a5e0 (page: 8, usage: 3, type: 129 ).
value = 0x00000000.
element = 0x52a660 (page: 8, usage: 4, type: 129 ).
value = 0x00000000.
element = 0x52a6a0 (page: 8, usage: 5, type: 129 ).
value = 0x00000000.
device = 0x529df0.
element = 0x52a7e0 (page: 8, usage: 1, type: 129 ).
value = 0x00000000.
element = 0x52a820 (page: 8, usage: 2, type: 129 ).
value = 0x00000001.
element = 0x52a860 (page: 8, usage: 3, type: 129 ).
value = 0x00000000.
pass = 3.
device = 0x52a170.
element = 0x52a460 (page: 8, usage: 1, type: 129 ).
value = 0x00000001.
element = 0x52a590 (page: 8, usage: 2, type: 129 ).
value = 0x00000001.
element = 0x52a5e0 (page: 8, usage: 3, type: 129 ).
value = 0x00000000.
element = 0x52a660 (page: 8, usage: 4, type: 129 ).
value = 0x00000000.
element = 0x52a6a0 (page: 8, usage: 5, type: 129 ).
value = 0x00000000.
device = 0x529df0.
element = 0x52a7e0 (page: 8, usage: 1, type: 129 ).
value = 0x00000001.
element = 0x52a820 (page: 8, usage: 2, type: 129 ).
value = 0x00000001.
element = 0x52a860 (page: 8, usage: 3, type: 129 ).
value = 0x00000000.
pass = 4.
device = 0x52a170.
element = 0x52a460 (page: 8, usage: 1, type: 129 ).
value = 0x00000000.
element = 0x52a590 (page: 8, usage: 2, type: 129 ).
value = 0x00000000.
element = 0x52a5e0 (page: 8, usage: 3, type: 129 ).
value = 0x00000001.
element = 0x52a660 (page: 8, usage: 4, type: 129 ).
value = 0x00000000.
element = 0x52a6a0 (page: 8, usage: 5, type: 129 ).
value = 0x00000000.
device = 0x529df0.
element = 0x52a7e0 (page: 8, usage: 1, type: 129 ).
value = 0x00000000.
element = 0x52a820 (page: 8, usage: 2, type: 129 ).
value = 0x00000000.
element = 0x52a860 (page: 8, usage: 3, type: 129 ).
value = 0x00000001.
pass = 5.
device = 0x52a170.
element = 0x52a460 (page: 8, usage: 1, type: 129 ).
value = 0x00000001.
element = 0x52a590 (page: 8, usage: 2, type: 129 ).
value = 0x00000000.
element = 0x52a5e0 (page: 8, usage: 3, type: 129 ).
value = 0x00000001.
element = 0x52a660 (page: 8, usage: 4, type: 129 ).
value = 0x00000000.
element = 0x52a6a0 (page: 8, usage: 5, type: 129 ).
value = 0x00000000.
device = 0x529df0.
element = 0x52a7e0 (page: 8, usage: 1, type: 129 ).
value = 0x00000001.
element = 0x52a820 (page: 8, usage: 2, type: 129 ).
value = 0x00000000.
element = 0x52a860 (page: 8, usage: 3, type: 129 ).
value = 0x00000001.
pass = 6.
device = 0x52a170.
element = 0x52a460 (page: 8, usage: 1, type: 129 ).
value = 0x00000000.
element = 0x52a590 (page: 8, usage: 2, type: 129 ).
value = 0x00000001.
element = 0x52a5e0 (page: 8, usage: 3, type: 129 ).
value = 0x00000001.
element = 0x52a660 (page: 8, usage: 4, type: 129 ).
value = 0x00000000.
element = 0x52a6a0 (page: 8, usage: 5, type: 129 ).
value = 0x00000000.
device = 0x529df0.
element = 0x52a7e0 (page: 8, usage: 1, type: 129 ).
value = 0x00000000.
element = 0x52a820 (page: 8, usage: 2, type: 129 ).
value = 0x00000001.
element = 0x52a860 (page: 8, usage: 3, type: 129 ).
value = 0x00000001.