If you're a fan of Logitech's very colorful "Bleep Bloop" keyboard lighting effect present for the G513 in recent versions of LGS, and happen to use linux, the python script below will give you back that awesome effect. To use it you'll need python3 and to install g810-led version 0.2.9 or higher.
Note that with some modification this should work for all of the Logitech keyboards that g810-led supports (as of the end of 2018, that means the G213, G410, G413, G512, G513, G610, G810, G910 and GPRO). Just either add or remove elements from the keymap corresponding to the keys you want to change and then substitute the appropriate binary name where the g513-led process is called. You can find the list of key names to use by running g810-led --help-keys.
Note that with some modification this should work for all of the Logitech keyboards that g810-led supports (as of the end of 2018, that means the G213, G410, G413, G512, G513, G610, G810, G910 and GPRO). Just either add or remove elements from the keymap corresponding to the keys you want to change and then substitute the appropriate binary name where the g513-led process is called. You can find the list of key names to use by running g810-led --help-keys.
#!/usr/bin/python3
import sys, time, subprocess
keymap = [
#['key','1st color','2nd color','etc','','','',''],
['esc', 'g','y','w','p','m','l','r'],
['f1', 'y','g','g','g','l','o','g'],
['f2', 'r','y','l','y','y','m','l'],
['f3', 'l','l','m','d','r','y','o'],
['f4', 'w','w','y','b','l','r','b'],
['f5', 'm','m','g','l','w','d','l'],
['f6', 'b','l','p','y','g','l','y'],
['f7', 'g','g','l','r','r','g','r'],
['f8', 'w','d','y','g','y','r','p'],
['f9', 'o','m','g','o','m','d','w'],
['f10', 'm','w','r','d','m','w','g'],
['f11', 'g','m','w','y','g','m','y'],
['f12', 'y','r','b','l','l','g','o'],
['print_screen', 'p','d','w','r','d','o','g'],
['scroll_lock', 'l','o','o','m','y','l','p'],
['pause_break', 'o','g','d','w','w','m','g'],
['ins', 'd','l','m','b','g','d','l'],
['home', 'o','g','l','g','r','r','g'],
['page_up', 'm','m','y','m','l','l','l'],
['del', 'r','w','w','y','y','l','y'],
['end', 'd','m','d','r','m','o','w'],
['page_down', 'l','y','r','l','g','m','w'],
['arrow_top', 'r','o','g','r','b','r','b'],
['arrow_left', 'p','y','p','l','g','o','w'],
['arrow_bottom', 'm','l','d','g','p','d','l'],
['arrow_right', 'w','d','y','m','l','m','g'],
['num_lock', 'l','m','y','d','p','r','r'],
['num_slash', 'm','l','d','y','l','l','l'],
['num_asterisk', 'l','m','l','m','y','y','y'],
['num_minus', 'w','w','b','w','g','m','g'],
['num7', 'y','d','l','p','d','d','y'],
['num8', 'g','y','r','o','y','m','g'],
['num9', 'y','p','m','d','l','d','g'],
['num_plus', 'o','y','y','g','r','m','l'],
['num4', 'r','o','d','b','o','r','o'],
['num5', 'l','g','o','m','m','g','m'],
['num6', 'd','m','g','y','m','m','o'],
['num1', 'y','l','b','w','r','m','m'],
['num2', 'm','r','d','l','g','d','l'],
['num3', 'w','p','w','d','y','l','d'],
['numenter', 'l','l','l','o','m','o','p'],
['num0', 'p','y','p','o','o','r','o'],
['num_dot', 'g','d','m','m','d','g','r'],
['1', 'o','d','o','r','g','r','y'],
['2', 'd','r','d','d','o','g','m'],
['3', 'o','l','o','l','d','o','b'],
['4', 'm','y','d','m','l','w','g'],
['5', 'g','o','p','y','m','m','w'],
['6', 'p','d','w','o','l','b','m'],
['7', 'd','y','l','m','m','y','d'],
['8', 'm','l','d','y','g','o','m'],
['9', 'y','w','o','m','d','m','d'],
['0', 'l','m','m','p','l','y','b'],
['q', 'm','o','y','l','l','o','m'],
['w', 'b','m','w','m','o','m','b'],
['e', 'y','y','b','g','m','l','o'],
['r', 'l','g','g','p','p','d','p'],
['t', 'w','m','y','d','l','p','g'],
['y', 'l','p','w','r','y','o','m'],
['u', 'y','m','y','o','d','m','y'],
['i', 'o','o','g','d','y','p','m'],
['o', 'b','y','d','l','p','w','p'],
['p', 'd','l','l','d','g','d','y'],
['a', 'w','r','o','d','m','d','p'],
['s', 'l','o','l','y','r','r','y'],
['d', 'r','d','m','l','y','w','d'],
['f', 'd','l','r','o','d','o','r'],
['g', 'g','r','l','y','g','g','y'],
['h', 'r','y','y','w','b','d','g'],
['j', 'w','d','l','m','w','m','d'],
['k', 'd','p','w','b','l','y','o'],
['l', 'r','m','m','w','m','l','d'],
['z', 'd','y','y','w','g','g','p'],
['x', 'p','m','r','d','b','r','b'],
['c', 'y','w','d','m','l','b','w'],
['v', 'g','y','o','o','m','y','o'],
['b', 'w','l','m','m','r','m','m'],
['n', 'm','r','d','r','w','r','w'],
['m', 'g','l','y','y','b','g','b'],
['tilde', 'l','o','p','w','o','y','w'],
['tab', 'g','w','r','y','p','p','g'],
['caps_lock', 'l','l','g','l','r','l','r'],
['shift_left', 'w','o','l','y','l','y','o'],
['ctrl_left', 'm','w','y','l','w','l','m'],
['win_left', 'y','m','w','r','p','g','d'],
['alt_left', 'g','y','g','g','y','m','g'],
['space', 'r','g','p','l','o','o','m'],
['minus', 'd','d','d','w','y','l','d'],
['equal', 'm','g','g','g','o','d','g'],
['backspace', 'w','l','o','m','y','g','o'],
['open_bracket', 'y','y','y','y','l','r','b'],
['close_bracket', 'w','m','r','d','m','b','d'],
['backslash', 'g','y','d','r','r','m','w'],
['semicolon', 'g','g','r','l','l','w','m'],
['quote', 'm','d','m','m','y','g','l'],
['enter', 'l','g','y','o','p','l','m'],
['comma', 'o','d','w','d','d','m','m'],
['period', 'l','o','l','g','m','y','r'],
['slash', 'y','m','p','p','d','p','y'],
['shift_right', 'b','w','o','l','l','d','r'],
['alt_right', 'd','l','d','y','y','p','w'],
['winr', 'p','d','o','w','b','b','o'],
['menu', 'm','m','m','p','d','y','p'],
['ctrl_right', 'w','r','b','w','w','l','l'],
['caps_indicator','l','y','y','p','l','g','m'],
['game_mode', 'o','y','l','w','o','w','d'],
]
def getColor(colorIndex):
if (colorIndex == 'd'): #dark blue
return '0000ff'
elif (colorIndex == 'b'): #medium blue
return '00aeff'
elif (colorIndex == 'l'): #light blue
return '00dcff'
elif (colorIndex == 'g'): #green
return '00ff00'
elif (colorIndex == 'p'): #purple
return '8000ff'
elif (colorIndex == 'r'): #red
return 'ff0000'
elif (colorIndex == 'm'): #magenta
return 'ff00ff'
elif (colorIndex == 'o'): #orange
return 'ff5000'
elif (colorIndex == 'y'): #yellow
return 'ffdc00'
elif (colorIndex == 'w'): #white
return 'ffffff'
elif (colorIndex == ''): #dark
return '000000'
else:
print("Warning: invalid color code given.")
return '000000'
def writeColorsToKeyboard(index):
if (index > 6 or index < 0): #make sure we don't go OOB
sys.exit()
commandString = ''
for key in enumerate(keymap):
commandString = commandString + 'k ' + key[1][0] + ' ' \
+ getColor(key[1][index+1]) + '\\n'
subprocess.call('echo -e "'+commandString+'c" | g513-led -pp',shell=True)
while (True):
for i in range(0,7):
time.sleep(1.5)
writeColorsToKeyboard(i)