def main(): sdk = CueSdk() connected = sdk.connect() if not connected: err = sdk.get_last_error() print("Handshake failed: %s" % err) return subscribed = sdk.subscribe_for_events(SdkEventHandler) if not subscribed: err = sdk.get_last_error() print("Subscribe for events error: %s" % err) return print("Working... Press any G/M key or connect/disconnect Corsair device" + " to see events in action\n") print("Press \"q\" to close program...") while (True): input_str = input() if input_str == "q" or input_str == "Q": print("Exiting.") break sdk.unsubscribe_from_events()
def main(): sdk = CueSdk() connected = sdk.connect() if not connected: err = sdk.get_last_error() print("Handshake failed: " + err) return subscribed = sdk.subscribe_for_events(sdk_event_handler) if not subscribed: err = sdk.get_last_error() print("Subscribe for events error: " + err) return print("Working... Press any G/M key or connect/disconnect Corsair device" " to see events in action\n") print('Press "q" to close program...') while True: input_str = input() if input_str.lower() == "q": print("Exiting.") break sdk.unsubscribe_from_events()
def __init__(): sdk = CueSdk() sdk.connect() print(sdk.protocol_details) print(sdk.get_devices()) sdk.set_led_colors_flush_buffer()
def init(): global corsair_sdk corsair_sdk = CueSdk() connected = corsair_sdk.connect() corsair_sdk.request_control() if not connected: err = corsair_sdk.get_last_error() print("Handshake failed: %s" % err) return global corsair_all_leds corsair_all_leds = get_available_leds()
def main(): sdk = CueSdk() connected = sdk.connect() if not connected: err = sdk.get_last_error() print("Handshake failed: %s" % err) return frames = list() device_count = sdk.get_device_count() for device_index in range(device_count): led_positions = sdk.get_led_positions_by_device_index(device_index) frames.append(DeviceFrame(led_positions)) if (len(frames) == 0): return # list of effects fxs = [gradient, rainbow45, swirls2] fxi = 0 inputQueue = queue.Queue() inputThread = threading.Thread(target=read_keys, args=(inputQueue, ), daemon=True) inputThread.start() print("Working...\nPress \"q\" to close program\n" "Press any other key to switch between effects") while (True): if (inputQueue.qsize() > 0): input_str = inputQueue.get() if input_str == "q" or input_str == "Q": print("Exiting.") break else: fxi = (fxi + 1) % len(fxs) print("Switching to %s" % fxs[fxi].__name__) frame_time = time.time() for di in range(device_count): frame = frames[di] if not frame.empty: frame.update(frame_time, fxs[fxi]) sdk.set_led_colors_buffer_by_device_index(di, frame.colors) sdk.set_led_colors_flush_buffer()
def main(): global sdk input_queue = queue.Queue() input_thread = threading.Thread(target=read_keys, args=(input_queue, ), daemon=True) input_thread.start() sdk = CueSdk() connected = sdk.connect() if not connected: err = sdk.get_last_error() print("Handshake failed: %s" % err) return wave_duration = 500 colors = get_available_leds() if not colors: return print('Working... Use "+" or "-" to increase or decrease speed.\n' 'Press "q" to close program...') while True: if input_queue.qsize() > 0: input_str = input_queue.get() if input_str.lower() == "q": print("Exiting.") break elif input_str == "+": if wave_duration > 100: wave_duration -= 100 elif input_str == "-": if wave_duration < 2000: wave_duration += 100 perform_pulse_effect(wave_duration, colors) time.sleep(0.01)
def main(): sdk = CueSdk() connected = sdk.connect() if not connected: err = sdk.get_last_error() print("Handshake failed: %s" % err) return frames = list() device_count = sdk.get_device_count() for device_index in range(device_count): led_positions = sdk.get_led_positions_by_device_index(device_index) frames.append(DeviceFrame(led_positions)) if (len(frames) == 0): return # list of effects fxs = [gradient, rainbow45, swirls2] fxi = 0 print("Working...\nPress \"q\" to close program\n" "Press any other key to switch between effects") while (True): if msvcrt.kbhit(): key = msvcrt.getch().decode() if key == "q" or key == "Q": print("Exiting.") break else: fxi = (fxi + 1) % len(fxs) print("Switching to %s" % fxs[fxi].__name__) frame_time = time.time() for di in range(device_count): frame = frames[di] if not frame.empty: frame.update(frame_time, fxs[fxi]) sdk.set_led_colors_buffer_by_device_index(di, frame.colors) sdk.set_led_colors_flush_buffer()
def main(): global sdk sdk = CueSdk() connected = sdk.connect() if not connected: err = sdk.get_last_error() print("Handshake failed: %s" % err) return wave_duration = 500 colors = get_available_leds() if not colors: return step = 20 while (True): transition(colors, (255, 0, 0), (255, 255, 0), step) transition(colors, (255, 255, 0), (0, 255, 0), step) transition(colors, (0, 255, 0), (0, 255, 255), step) transition(colors, (0, 255, 255), (0, 0, 255), step) transition(colors, (0, 0, 255), (255, 0, 255), step) transition(colors, (255, 0, 255), (255, 0, 0), step)
def main(): global sdk global color color = "ff0000" rainbowColor = 0 sdk = CueSdk() connected = sdk.connect() print(connected) if not connected: err = sdk.get_last_error() print("Handshake failed: %s" % err) return while True: if rainbow: rainbowEffect(get_available_leds(), rainbowColor) time.sleep(0.05) rainbowColor += 1 #print(rainbowColor*2) if rainbowColor > 99: rainbowColor = 0 else: static(get_available_leds(), color)
def main(): global sdk sdk = CueSdk() connected = sdk.connect() if not connected: err = sdk.get_last_error() print("Handshake failed: %s" % err) return colors = get_available_leds() # I couldn't be bothered making this play on all devices because I only have 1 anyway, but it shouldn't be too hard to implement firstDevice = colors[0] keyList = [] for c in firstDevice: keyList.append([c, firstDevice[c]]) y = [] x = [] for c in keyList: x.append(c[1][0]) y.append(c[1][1]) # Normalize and get min/max normY = (np.max(y) - np.min(y)) normX = (np.max(x) - np.min(x)) yMin = np.min(y) xMin = np.min(x) # Make sure the keyvals X:Y are set to 24:6 (just because the keyboard has basically 6 rows and 24 keys as width) # Change this as needed. for c in keyList: c[1] = ((c[1][0] - xMin) / normX * 24, (c[1][1] - yMin) / normY * 6) # Reset every key to black, because we might not write to all keys, and it will throw an error if a key doesnt have rgb value for key in firstDevice: firstDevice[key] = (0, 0, 0) # Lets just map all the keys right now so we can skip checking the distance every frame keymap = [] for y in range(6): keymap.append([]) for x in range(0, 24): # We add 1 to y here, because apparently that makes the top row work properly. key = getClosestPoint((x, y + 1), keyList) keymap[y].append(key) # Use mss to capture screen with mss.mss() as sct: # Part of the screen to capture monitor = {"top": 0, "left": 0, "width": 1920, "height": 1080} while "Screen capturing": # Get raw pixels from the screen, save it to a Numpy array image = np.array(sct.grab(monitor)) image = Image.fromarray(image) image = scaleImage(image) # Change these values as you wish, they are there to enhance colours etc. to make it look nice on the keyboard # image = ImageEnhance.Brightness(image).enhance(3.0) image = ImageEnhance.Color(image).enhance(3.0) image = ImageEnhance.Contrast(image).enhance(2.0) image = np.asarray(image) for y in range(len(image)): for x in range(len(image[y])): key = keymap[y][x] firstDevice[key[0]] = (int(image[y, x, 2]), int(image[y, x, 1]), int(image[y, x, 0])) sdk.set_led_colors_buffer_by_device_index(0, firstDevice) sdk.set_led_colors_flush_buffer()
from cuesdk import CueSdk import time from PIL import ImageGrab from PIL import Image import pandas as pd import numpy as np sdk = CueSdk() sdk.connect() devices = sdk.get_devices() device_list = dict() mouse_on_right = True for i in range(sdk.get_device_count()): device_type = str(devices[i].type) if 'Mouse' in device_type: device_list.update({'mouse': i}) if 'Keyboard' in device_type: device_list.update({'keyboard': i}) def get_available_leds(): leds = dict() device_count = sdk.get_device_count() for device_index in range(device_count): led_positions = sdk.get_led_positions_by_device_index(device_index) leds.update({device_index: led_positions}) return leds
import os from cuesdk import CueSdk sdk = CueSdk(os.path.join(os.getcwd(), 'bin\\CUESDK.x64_2017.dll')) sdk.connect() print('') print(122 * '-') print(50 * '-', '[ICUE ENUMERATOR]', 50 * '-') print(sdk.protocol_details) print(122 * '-') device = sdk.get_devices() device_count = len(device) print('Devices Found:', device_count) i = 0 for _ in device: print(' ', i, _) i += 1 print(122 * '-') # Enumerate i_0 = 0 for devices in device: # 0 Device Name i_str = str(i_0) key_name = [] key_id = [] key_color = [] key_pos = []
def __init__(self): super().__init__("iCue") self.sdk = CueSdk() self.devices = {}