"Razer" Stream Controller
Describe the feature idea Since the Razer Stream Controller and Stream Controller X, use the loupedeck software in windows, is it possible to add support for those devices?
lsusb ID 1532:0d09 Razer USA, Ltd Razer Stream Controller
In theory yes, but either https://github.com/abcminiuser/python-elgato-streamdeck or https://github.com/devleaks/python-loupedeck-live would need to have compatibility for it (or at least an open PR).
Eureka! I managed to get a successful handshake on my Razer Stream Controller X by modifying loupedeck.py at: https://github.com/devleaks/python-loupedeck-live
As it was, the test script sent the request, but didn't get the answer it expected. With a bit of help, I changed loupedeck.py and got a nice picture of the author's cat on my Razer Steam Controller X: Loupedeck.txt
I let the author know. It will be interesting to see if additional functionalities work like button inputs, screen updates, and touch interactions.
DEBUG:DeviceManager:list: listing ports.. DEBUG:DeviceManager:trying /dev/ttyACM0.. DEBUG:DeviceManager:..added /dev/ttyACM0 DEBUG:DeviceManager:trying /dev/ttyS31.. DEBUG:DeviceManager:.. not added /dev/ttyS31 DEBUG:DeviceManager:trying /dev/ttyS30.. DEBUG:DeviceManager:.. not added /dev/ttyS30 DEBUG:DeviceManager:trying /dev/ttyS29.. DEBUG:DeviceManager:.. not added /dev/ttyS29 DEBUG:DeviceManager:trying /dev/ttyS28.. DEBUG:DeviceManager:.. not added /dev/ttyS28 DEBUG:DeviceManager:trying /dev/ttyS27.. DEBUG:DeviceManager:.. not added /dev/ttyS27 DEBUG:DeviceManager:trying /dev/ttyS26.. DEBUG:DeviceManager:.. not added /dev/ttyS26 DEBUG:DeviceManager:trying /dev/ttyS25.. DEBUG:DeviceManager:.. not added /dev/ttyS25 DEBUG:DeviceManager:trying /dev/ttyS24.. DEBUG:DeviceManager:.. not added /dev/ttyS24 DEBUG:DeviceManager:trying /dev/ttyS23.. DEBUG:DeviceManager:.. not added /dev/ttyS23 DEBUG:DeviceManager:trying /dev/ttyS22.. DEBUG:DeviceManager:.. not added /dev/ttyS22 DEBUG:DeviceManager:trying /dev/ttyS21.. DEBUG:DeviceManager:.. not added /dev/ttyS21 DEBUG:DeviceManager:trying /dev/ttyS20.. DEBUG:DeviceManager:.. not added /dev/ttyS20 DEBUG:DeviceManager:trying /dev/ttyS19.. DEBUG:DeviceManager:.. not added /dev/ttyS19 DEBUG:DeviceManager:trying /dev/ttyS18.. DEBUG:DeviceManager:.. not added /dev/ttyS18 DEBUG:DeviceManager:trying /dev/ttyS17.. DEBUG:DeviceManager:.. not added /dev/ttyS17 DEBUG:DeviceManager:trying /dev/ttyS16.. DEBUG:DeviceManager:.. not added /dev/ttyS16 DEBUG:DeviceManager:trying /dev/ttyS15.. DEBUG:DeviceManager:.. not added /dev/ttyS15 DEBUG:DeviceManager:trying /dev/ttyS14.. DEBUG:DeviceManager:.. not added /dev/ttyS14 DEBUG:DeviceManager:trying /dev/ttyS13.. DEBUG:DeviceManager:.. not added /dev/ttyS13 DEBUG:DeviceManager:trying /dev/ttyS12.. DEBUG:DeviceManager:.. not added /dev/ttyS12 DEBUG:DeviceManager:trying /dev/ttyS11.. DEBUG:DeviceManager:.. not added /dev/ttyS11 DEBUG:DeviceManager:trying /dev/ttyS10.. DEBUG:DeviceManager:.. not added /dev/ttyS10 DEBUG:DeviceManager:trying /dev/ttyS9.. DEBUG:DeviceManager:.. not added /dev/ttyS9 DEBUG:DeviceManager:trying /dev/ttyS8.. DEBUG:DeviceManager:.. not added /dev/ttyS8 DEBUG:DeviceManager:trying /dev/ttyS7.. DEBUG:DeviceManager:.. not added /dev/ttyS7 DEBUG:DeviceManager:trying /dev/ttyS6.. DEBUG:DeviceManager:.. not added /dev/ttyS6 DEBUG:DeviceManager:trying /dev/ttyS5.. DEBUG:DeviceManager:.. not added /dev/ttyS5 DEBUG:DeviceManager:trying /dev/ttyS4.. DEBUG:DeviceManager:.. not added /dev/ttyS4 DEBUG:DeviceManager:trying /dev/ttyS3.. DEBUG:DeviceManager:.. not added /dev/ttyS3 DEBUG:DeviceManager:trying /dev/ttyS2.. DEBUG:DeviceManager:.. not added /dev/ttyS2 DEBUG:DeviceManager:trying /dev/ttyS1.. DEBUG:DeviceManager:.. not added /dev/ttyS1 DEBUG:DeviceManager:trying /dev/ttyS0.. DEBUG:DeviceManager:..added /dev/ttyS0 DEBUG:DeviceManager:trying /dev/tty63.. DEBUG:DeviceManager:.. not added /dev/tty63 DEBUG:DeviceManager:trying /dev/tty62.. DEBUG:DeviceManager:.. not added /dev/tty62 DEBUG:DeviceManager:trying /dev/tty61.. DEBUG:DeviceManager:.. not added /dev/tty61 DEBUG:DeviceManager:trying /dev/tty60.. DEBUG:DeviceManager:.. not added /dev/tty60 DEBUG:DeviceManager:trying /dev/tty59.. DEBUG:DeviceManager:.. not added /dev/tty59 DEBUG:DeviceManager:trying /dev/tty58.. DEBUG:DeviceManager:.. not added /dev/tty58 DEBUG:DeviceManager:trying /dev/tty57.. DEBUG:DeviceManager:.. not added /dev/tty57 DEBUG:DeviceManager:trying /dev/tty56.. DEBUG:DeviceManager:.. not added /dev/tty56 DEBUG:DeviceManager:trying /dev/tty55.. DEBUG:DeviceManager:.. not added /dev/tty55 DEBUG:DeviceManager:trying /dev/tty54.. DEBUG:DeviceManager:.. not added /dev/tty54 DEBUG:DeviceManager:trying /dev/tty53.. DEBUG:DeviceManager:.. not added /dev/tty53 DEBUG:DeviceManager:trying /dev/tty52.. DEBUG:DeviceManager:.. not added /dev/tty52 DEBUG:DeviceManager:trying /dev/tty51.. DEBUG:DeviceManager:.. not added /dev/tty51 DEBUG:DeviceManager:trying /dev/tty50.. DEBUG:DeviceManager:.. not added /dev/tty50 DEBUG:DeviceManager:trying /dev/tty49.. DEBUG:DeviceManager:.. not added /dev/tty49 DEBUG:DeviceManager:trying /dev/tty48.. DEBUG:DeviceManager:.. not added /dev/tty48 DEBUG:DeviceManager:trying /dev/tty47.. DEBUG:DeviceManager:.. not added /dev/tty47 DEBUG:DeviceManager:trying /dev/tty46.. DEBUG:DeviceManager:.. not added /dev/tty46 DEBUG:DeviceManager:trying /dev/tty45.. DEBUG:DeviceManager:.. not added /dev/tty45 DEBUG:DeviceManager:trying /dev/tty44.. DEBUG:DeviceManager:.. not added /dev/tty44 DEBUG:DeviceManager:trying /dev/tty43.. DEBUG:DeviceManager:.. not added /dev/tty43 DEBUG:DeviceManager:trying /dev/tty42.. DEBUG:DeviceManager:.. not added /dev/tty42 DEBUG:DeviceManager:trying /dev/tty41.. DEBUG:DeviceManager:.. not added /dev/tty41 DEBUG:DeviceManager:trying /dev/tty40.. DEBUG:DeviceManager:.. not added /dev/tty40 DEBUG:DeviceManager:trying /dev/tty39.. DEBUG:DeviceManager:.. not added /dev/tty39 DEBUG:DeviceManager:trying /dev/tty38.. DEBUG:DeviceManager:.. not added /dev/tty38 DEBUG:DeviceManager:trying /dev/tty37.. DEBUG:DeviceManager:.. not added /dev/tty37 DEBUG:DeviceManager:trying /dev/tty36.. DEBUG:DeviceManager:.. not added /dev/tty36 DEBUG:DeviceManager:trying /dev/tty35.. DEBUG:DeviceManager:.. not added /dev/tty35 DEBUG:DeviceManager:trying /dev/tty34.. DEBUG:DeviceManager:.. not added /dev/tty34 DEBUG:DeviceManager:trying /dev/tty33.. DEBUG:DeviceManager:.. not added /dev/tty33 DEBUG:DeviceManager:trying /dev/tty32.. DEBUG:DeviceManager:.. not added /dev/tty32 DEBUG:DeviceManager:trying /dev/tty31.. DEBUG:DeviceManager:.. not added /dev/tty31 DEBUG:DeviceManager:trying /dev/tty30.. DEBUG:DeviceManager:.. not added /dev/tty30 DEBUG:DeviceManager:trying /dev/tty29.. DEBUG:DeviceManager:.. not added /dev/tty29 DEBUG:DeviceManager:trying /dev/tty28.. DEBUG:DeviceManager:.. not added /dev/tty28 DEBUG:DeviceManager:trying /dev/tty27.. DEBUG:DeviceManager:.. not added /dev/tty27 DEBUG:DeviceManager:trying /dev/tty26.. DEBUG:DeviceManager:.. not added /dev/tty26 DEBUG:DeviceManager:trying /dev/tty25.. DEBUG:DeviceManager:.. not added /dev/tty25 DEBUG:DeviceManager:trying /dev/tty24.. DEBUG:DeviceManager:.. not added /dev/tty24 DEBUG:DeviceManager:trying /dev/tty23.. DEBUG:DeviceManager:.. not added /dev/tty23 DEBUG:DeviceManager:trying /dev/tty22.. DEBUG:DeviceManager:.. not added /dev/tty22 DEBUG:DeviceManager:trying /dev/tty21.. DEBUG:DeviceManager:.. not added /dev/tty21 DEBUG:DeviceManager:trying /dev/tty20.. DEBUG:DeviceManager:.. not added /dev/tty20 DEBUG:DeviceManager:trying /dev/tty19.. DEBUG:DeviceManager:.. not added /dev/tty19 DEBUG:DeviceManager:trying /dev/tty18.. DEBUG:DeviceManager:.. not added /dev/tty18 DEBUG:DeviceManager:trying /dev/tty17.. DEBUG:DeviceManager:.. not added /dev/tty17 DEBUG:DeviceManager:trying /dev/tty16.. DEBUG:DeviceManager:.. not added /dev/tty16 DEBUG:DeviceManager:trying /dev/tty15.. DEBUG:DeviceManager:.. not added /dev/tty15 DEBUG:DeviceManager:trying /dev/tty14.. DEBUG:DeviceManager:.. not added /dev/tty14 DEBUG:DeviceManager:trying /dev/tty13.. DEBUG:DeviceManager:.. not added /dev/tty13 DEBUG:DeviceManager:trying /dev/tty12.. DEBUG:DeviceManager:.. not added /dev/tty12 DEBUG:DeviceManager:trying /dev/tty11.. DEBUG:DeviceManager:.. not added /dev/tty11 DEBUG:DeviceManager:trying /dev/tty10.. DEBUG:DeviceManager:.. not added /dev/tty10 DEBUG:DeviceManager:trying /dev/tty9.. DEBUG:DeviceManager:.. not added /dev/tty9 DEBUG:DeviceManager:trying /dev/tty8.. DEBUG:DeviceManager:.. not added /dev/tty8 DEBUG:DeviceManager:trying /dev/tty7.. DEBUG:DeviceManager:.. not added /dev/tty7 DEBUG:DeviceManager:trying /dev/tty6.. DEBUG:DeviceManager:.. not added /dev/tty6 DEBUG:DeviceManager:trying /dev/tty5.. DEBUG:DeviceManager:.. not added /dev/tty5 DEBUG:DeviceManager:trying /dev/tty4.. DEBUG:DeviceManager:.. not added /dev/tty4 DEBUG:DeviceManager:trying /dev/tty3.. DEBUG:DeviceManager:.. not added /dev/tty3 DEBUG:DeviceManager:trying /dev/tty2.. DEBUG:DeviceManager:.. not added /dev/tty2 DEBUG:DeviceManager:trying /dev/tty1.. DEBUG:DeviceManager:..added /dev/tty1 DEBUG:DeviceManager:trying /dev/tty0.. DEBUG:DeviceManager:.. not added /dev/tty0 DEBUG:DeviceManager:list: ..listed DEBUG:Loupedeck:init: connection opened DEBUG:Loupedeck:is_loupedeck: /dev/ttyACM0: trying.. Raw response from device: b'HTTP/1.1 101 Switching Protocols\r\n' Handshake response matched: b'HTTP/1.1 101 Switching Protocols\r\n' Raw response from device: b'Upgrade: websocket\r\n' Handshake response matched: b'Upgrade: websocket\r\n' Raw response from device: b'Connection: Upgrade\r\n' Handshake response matched: b'Connection: Upgrade\r\n' Raw response from device: b'Sec-WebSocket-Accept: ALtlZo9FMEUEQleXJmq++ukUQ1s=\r\n' Handshake response matched: b'Sec-WebSocket-Accept: ALtlZo9FMEUEQleXJmq++ukUQ1s=\r\n' Raw response from device: b'\r\n' Handshake response matched: b'\r\n' DEBUG:Loupedeck:is_loupedeck: /dev/ttyACM0: ..got a LoupedeckLive device DEBUG:LoupedeckLive:_read_serial: starting DEBUG:LoupedeckLive:start: read started DEBUG:LoupedeckLive:_process_messages: starting DEBUG:LoupedeckLive:start: process started DEBUG:LoupedeckLive:start: started DEBUG:LoupedeckLive:Device: /dev/ttyACM0 DEBUG:LoupedeckLive:init: inited DEBUG:DeviceManager:enumerate: added Loupedeck device at /dev/ttyACM0 DEBUG:Loupedeck:init: connection opened DEBUG:Loupedeck:is_loupedeck: /dev/ttyS0: trying.. Raw response from device: b'' Empty response detected. Attempt 1 Raw response from device: b'' Empty response detected. Attempt 2 DEBUG:Loupedeck:is_loupedeck: /dev/ttyS0: ..got 2 wrong answers, probably not a LoupedeckLive device, ignoring. DEBUG:Loupedeck:init: connection opened DEBUG:Loupedeck:is_loupedeck: /dev/tty1: trying.. Raw response from device: b'' Empty response detected. Attempt 1 Raw response from device: b'' Empty response detected. Attempt 2 DEBUG:Loupedeck:is_loupedeck: /dev/tty1: ..got 2 wrong answers, probably not a LoupedeckLive device, ignoring. trying.. <Loupedeck.Devices.LoupedeckLive.LoupedeckLive object at 0x7f41b771ac50> WARNING:LoupedeckLive:set_brightness: brightness set to 0 DEBUG:Loupedeck:del: connection closed DEBUG:Loupedeck:del: connection closed DEBUG:PIL.TiffImagePlugin:tag: Make (271) - type: string (2) Tag Location: 22 - Data Location: 122 - value: b'Google\x00' DEBUG:PIL.TiffImagePlugin:tag: Model (272) - type: string (2) Tag Location: 34 - Data Location: 130 - value: b'Pixel 2 XL\x00' DEBUG:PIL.TiffImagePlugin:tag: Orientation (274) - type: short (3) - value: b'\x00\x01' DEBUG:PIL.TiffImagePlugin:tag: XResolution (282) - type: rational (5) Tag Location: 58 - Data Location: 142 - value: b'\x00\x00\x00H\x00\x00\x00\x01' DEBUG:PIL.TiffImagePlugin:tag: YResolution (283) - type: rational (5) Tag Location: 70 - Data Location: 150 - value: b'\x00\x00\x00H\x00\x00\x00\x01' DEBUG:PIL.TiffImagePlugin:tag: ResolutionUnit (296) - type: short (3) - value: b'\x00\x02' DEBUG:PIL.TiffImagePlugin:tag: Software (305) - type: string (2) Tag Location: 94 - Data Location: 158 - value: b'HDR+ 1.0.220943774n\x00' DEBUG:PIL.TiffImagePlugin:tag: DateTime (306) - type: string (2) Tag Location: 106 - Data Location: 178 - value: b'2019:03:23 18:33:50\x00' DEBUG:PIL.TiffImagePlugin:tag: ExifIFD (34665) - type: long (4) - value: b'\x00\x00\x00\xc6' DEBUG:PIL.TiffImagePlugin:tag: Orientation (274) - type: short (3) - value: b'\x00\x01' DEBUG:PIL.TiffImagePlugin:tag: XResolution (282) - type: rational (5) Tag Location: 34 - Data Location: 86 - value: b'\x00\x00\x00H\x00\x00\x00\x01' DEBUG:PIL.TiffImagePlugin:tag: YResolution (283) - type: rational (5) Tag Location: 46 - Data Location: 94 - value: b'\x00\x00\x00H\x00\x00\x00\x01' DEBUG:PIL.TiffImagePlugin:tag: ResolutionUnit (296) - type: short (3) - value: b'\x00\x02' DEBUG:PIL.TiffImagePlugin:tag: Copyright (33432) - type: string (2) Tag Location: 70 - Data Location: 102 - value: <table: 35 bytes> DEBUG:PIL.TiffImagePlugin:tag: ExifIFD (34665) - type: long (4) - value: b'\x00\x00\x00\x8a' DEBUG:PIL.TiffImagePlugin:tag: Orientation (274) - type: short (3) - value: b'\x00\x01' DEBUG:PIL.TiffImagePlugin:tag: XResolution (282) - type: rational (5) Tag Location: 34 - Data Location: 74 - value: b'\x00\x00\x00H\x00\x00\x00\x01' DEBUG:PIL.TiffImagePlugin:tag: YResolution (283) - type: rational (5) Tag Location: 46 - Data Location: 82 - value: b'\x00\x00\x00H\x00\x00\x00\x01' DEBUG:PIL.TiffImagePlugin:tag: ResolutionUnit (296) - type: short (3) - value: b'\x00\x02' DEBUG:PIL.TiffImagePlugin:tag: ExifIFD (34665) - type: long (4) - value: b'\x00\x00\x00Z'
Closing this as support needs to be added to the underlying library