pixeltris / GK6X

Configure keys, macros, and lighting on GK6X keyboards (GK64, GK84, GK61, etc)
Other
839 stars 104 forks source link

GK64 sound-reactive lighting broken #64

Closed metakirby5 closed 3 years ago

metakirby5 commented 4 years ago

I noticed that the sound-reactive lighting doesn't seem to work on my GK64 anymore. I'm running version 1.8 on Mac OS.

I believe this may have happened as a result of my attempt to try out a bunch of lighting effects. I added every lighting file in Data/lighting to the config as e.g. [Lighting(RGB,Base)] to try them out one at a time. I noticed that after I had returned my config to normal, the sound-reactive lighting no longer worked.

I don't know of any way to factory reset the board, but if you know of any way, I am happy to try it out.

pixeltris commented 4 years ago

That's odd, the software isn't actually capable of changing reactive lighting effects. Do any of the reactive lighting effects work other than the sound one?

When you say you tried every lighting effect out; did you put literally every lighting effect into a single file and use the map command to map them all at the same time? If so maybe that's a bad thing. I know there is a limit to the number of lighting effects, but maybe I didn't actually stop it at that limit, and it ended up wiping over stuff it shouldn't have?

I found a manual online which says fn+backspace held down for 3 seconds does a factory reset.

metakirby5 commented 4 years ago

Thanks for following up so fast!

That's odd, the software isn't actually capable of changing reactive lighting effects.

One of the lighting files I tried was called Music volume lighting effect.le, so is it possible that it was somehow detected as a duplicate and the original removed?

Do any of the reactive lighting effects work other than the sound one?

Reactive lighting effects 1-3 (the keypress-reactive ones) still seem to work normally.

When you say you tried every lighting effect out; did you put literally every lighting effect into a single file and use the map command to map them all at the same time? If so maybe that's a bad thing. I know there is a limit to the number of lighting effects, but maybe I didn't actually stop it at that limit, and it ended up wiping over stuff it shouldn't have?

That is totally what I did 😅 I did see a call to Math.Min(maxEffects, lightingEffects.Count) in KeyboardDevice.SetLighting, so it should not have sent any data over the limit.

I found a manual online which says fn+backspace held down for 3 seconds does a factory reset.

I did try that, but it doesn't seem to work on the latest firmware where fn+backspace toggles the lighting.

pixeltris commented 4 years ago

I assume [NoLighting] doesn't fix it? On my keyboard factory reset is fn+q+esc held down for 3 seconds, but I don't think it has ever been that for GK64. There definitely should be a factory reset combo somewhere. I'd recommend contacting the seller for the manual (which is what I had to do for my board).

I guess there's a chance that one of the lighting effects has data formatted in a way that resulted in an overflow (which could potentially be a pretty dangerous thing). I'll see if I can reproduce this and resolve it without the factory reset combo.

metakirby5 commented 4 years ago

Yeah, unfortunately a config file with only [NoLighting] didn't fix it.

It seems like fn+q+esc was in fact the factory reset combo on my GK64 (or something similar, as I noticed the lighting changed after holding it down). Did not seem to resolve the issue though 🙁 I'm still reaching out to the seller for the manual just in case it's a different combo.

I do want to mention that the issue could be unrelated to the software entirely; I usually don't use lighting, so I just happened to notice the effects were broken when playing around with it using the software. The PCB has been moved to a different case and the switches have been swapped in/out several times. I was very careful not to damage the PCB, and I especially haven't been doing anything around the microphone area, but it's possible that something was knocked loose somewhere in the process.

I guess there's a chance that one of the lighting effects has data formatted in a way that resulted in an overflow (which could potentially be a pretty dangerous thing).

I did try using lighting effects for keyboards with more keys than GK64 (like 66 All lighting.le), which could be a lead. On these, it seemed like either the lights were misaligned with the keys or the lighting didn't show at all.

pixeltris commented 4 years ago

It sounds somewhat similar to this issue where there was a default lighting effect which is no longer accessible https://github.com/pixeltris/GK6X/issues/27

It could also be that the reactive lighting effects don't get reset when you use the reset keyboard combo as there shouldn't be a way for the software to interfere with them in the first place. I'm honestly a little scared to try what you tested as it would be a shame to wipe a nice reactive lighting effect! Maybe I'll get a cheap GK61 or GK64 at some point and do tests there.

Do you happen to have the exact config that you mapped? Maybe it's still in the undo history of your text editor? It would be useful for reproducing it.

Also it might be useful to know if the audio reactive lighting effect is still 'there'. Does it just get skipped over entirely and shows the effect after that one? Or does it show your keyboard with no lighting at all where that effect should be?

Thinking about it the official software never sends as many as 32 effects I think. Maybe some of the additional slots (beyond the 5 that the UI can use) are meant to be reserved? I'm not 100% sure!

metakirby5 commented 4 years ago

Also it might be useful to know if the audio reactive lighting effect is still 'there'. Does it just get skipped over entirely and shows the effect after that one? Or does it show your keyboard with no lighting at all where that effect should be?

It shows the keyboard with no lighting at all where that effect should be. So it seems like it's still "there", just not reacting to any sound.

Do you happen to have the exact config that you mapped? Maybe it's still in the undo history of your text editor? It would be useful for reproducing it.

Below is the exact config I tried! I basically tried a few off the top and deleted the ones I didn't like as I went down the list, using map again whenever I lost track of which effect I was on.

[NoLighting]
[Lighting(2LED Full lighting,Base)]
[Lighting(61 Arrow-Key,Base)]
[Lighting(61 Bluetooth Arrow-Key,Base)]
[Lighting(61 Bluetooth F1-F12,Base)]
[Lighting(61 Bluetooth FN 9 Key,Base)]
[Lighting(61-1,Base)]
[Lighting(61-2,Base)]
[Lighting(61-3,Base)]
[Lighting(61-Layer2,Base)]
[Lighting(61-Mac,Base)]
[Lighting(62 Arrow-Key,Base)]
[Lighting(64 Arrow-key,Base)]
[Lighting(64 Bluetooth Arrow-key,Base)]
[Lighting(64 Bluetooth F1-F12,Base)]
[Lighting(64 Bluetooth FN 9 key,Base)]
[Lighting(64 lighting,Base)]
[Lighting(66 All green & ESC change,Base)]
[Lighting(66 All lighting,Base)]
[Lighting(66 Green Breathing On Red_67,Base)]
[Lighting(66 Upper red light & lower green breath,Base)]
[Lighting(68 Bluetooth Arrow-Key,Base)]
[Lighting(68 Bluetooth F1-F12,Base)]
[Lighting(68 Bluetooth FN 9 Key,Base)]
[Lighting(68-key Arrow-Key,Base)]
[Lighting(68-key F1-F12,Base)]
[Lighting(68-key FN9Key,Base)]
[Lighting(6X-F1-F12 Key,Base)]
[Lighting(6X-FN9Key,Base)]
[Lighting(7 colors gradual change,Base)]
[Lighting(81 Arrow-key,Base)]
[Lighting(81-key F1-F12,Base)]
[Lighting(81-key FN9Key,Base)]
[Lighting(84 Arrow-Key,Base)]
[Lighting(84 Calculator,Base)]
[Lighting(84-key Spectral Cycle up & down,Base)]
[Lighting(All breath,Base)]
[Lighting(All equipment Asynchronous Shine,Base)]
[Lighting(All equipment Colourful dazzling,Base)]
[Lighting(All equipment Cyan blazed,Base)]
[Lighting(All equipment Dazzle,Base)]
[Lighting(All equipment Ice fire collision,Base)]
[Lighting(All equipment Meteor,Base)]
[Lighting(All equipment Minds think alike,Base)]
[Lighting(All equipment Palpitate,Base)]
[Lighting(All equipment Pink love bomb,Base)]
[Lighting(All equipment RGB,Base)]
[Lighting(All equipment Riotous greet,Base)]
[Lighting(All equipment Starlight blazed,Base)]
[Lighting(All equipment Synchro Shine,Base)]
[Lighting(All equipment Undulating waves,Base)]
[Lighting(All equipment asynchronous streamer,Base)]
[Lighting(All equipment blue breath,Base)]
[Lighting(All equipment blue,Base)]
[Lighting(All equipment green breath,Base)]
[Lighting(All equipment green,Base)]
[Lighting(All equipment red breath,Base)]
[Lighting(Battle Royale,Base)]
[Lighting(Blue Light Breathing,Base)]
[Lighting(Blue lights breathing,Base)]
[Lighting(CSGO game lamp effect,Base)]
[Lighting(CSGO game lighting effects,Base)]
[Lighting(Calculator,Base)]
[Lighting(Caterpillar,Base)]
[Lighting(Colored clouds flying,Base)]
[Lighting(Colorful Gradient,Base)]
[Lighting(Colorful Waterfall,Base)]
[Lighting(Colorful cloud flying,Base)]
[Lighting(Comet 2,Base)]
[Lighting(Constant lighting,Base)]
[Lighting(Cupid's arrow,Base)]
[Lighting(Cyan lights breathing,Base)]
[Lighting(DOTA,Base)]
[Lighting(Drift collide,Base)]
[Lighting(Drifting Collision,Base)]
[Lighting(Electrocardio,Base)]
[Lighting(Encounter,Base)]
[Lighting(Endless stream,Base)]
[Lighting(Flame,Base)]
[Lighting(Flashing lights,Base)]
[Lighting(Fn1,Base)]
[Lighting(Fn1_65,Base)]
[Lighting(Fn3_68,Base)]
[Lighting(Fn3_69,Base)]
[Lighting(Fn3_69_66,Base)]
[Lighting(Four seasons as spring,Base)]
[Lighting(Full Blue Light,Base)]
[Lighting(Full Green Light,Base)]
[Lighting(Full Purple Light,Base)]
[Lighting(Full Red light,Base)]
[Lighting(Full White Light,Base)]
[Lighting(Full blue lighting,Base)]
[Lighting(Full bright yellow light,Base)]
[Lighting(Full cyan lighting,Base)]
[Lighting(Full green lighting,Base)]
[Lighting(Full purple lighting,Base)]
[Lighting(Full red lighting,Base)]
[Lighting(Full white lighting,Base)]
[Lighting(Full yellow lighting,Base)]
[Lighting(G lighting,Base)]
[Lighting(GK61 Arrow Transition,Base)]
[Lighting(GK61 Diffusion,Base)]
[Lighting(GK61 Two-way Arrow Transition,Base)]
[Lighting(GK64S-1,Base)]
[Lighting(GK64S-2,Base)]
[Lighting(GK64S-3,Base)]
[Lighting(GK66 Rainbow Waves,Base)]
[Lighting(GK68S-1,Base)]
[Lighting(GK68S-2,Base)]
[Lighting(GK68S-3,Base)]
[Lighting(GK73S-1,Base)]
[Lighting(GK73S-2,Base)]
[Lighting(GK73S-3,Base)]
[Lighting(GK96XS-1,Base)]
[Lighting(Geek,Base)]
[Lighting(Going left, Going right,Base)]
[Lighting(Going left,Base)]
[Lighting(Going right,Base)]
[Lighting(Gradual brighten,Base)]
[Lighting(Gradual change RGB,Base)]
[Lighting(Gradual,Base)]
[Lighting(Gradually Bright,Base)]
[Lighting(Green Light Breathing,Base)]
[Lighting(Green lights breathing,Base)]
[Lighting(Heart,Base)]
[Lighting(Heartbeat,Base)]
[Lighting(Horse race with breathing,Base)]
[Lighting(Horse race,Base)]
[Lighting(HustleandFlow,Base)]
[Lighting(Imitating TT 1,Base)]
[Lighting(Imitating TT 2,Base)]
[Lighting(Imitating TT 3,Base)]
[Lighting(JK-061-Mac,Base)]
[Lighting(KB-4-A,Base)]
[Lighting(KB-4-B,Base)]
[Lighting(KB-4-C,Base)]
[Lighting(KB-6-1,Base)]
[Lighting(KB-6-2,Base)]
[Lighting(KB-6-A,Base)]
[Lighting(KB-6-B,Base)]
[Lighting(KB-6-C,Base)]
[Lighting(LOL,Base)]
[Lighting(LOL1,Base)]
[Lighting(MW,Base)]
[Lighting(Magic Waves,Base)]
[Lighting(Mouse Neon breath,Base)]
[Lighting(Mouse blink,Base)]
[Lighting(Mouse blue breath,Base)]
[Lighting(Mouse blue light,Base)]
[Lighting(Mouse endless stream,Base)]
[Lighting(Mouse green breath,Base)]
[Lighting(Mouse green light,Base)]
[Lighting(Mouse mixed colors are always bright,Base)]
[Lighting(Mouse passion meets,Base)]
[Lighting(Mouse promoted step by step,Base)]
[Lighting(Mouse red breath,Base)]
[Lighting(Mouse red light,Base)]
[Lighting(MousePad-Colorful-Breath,Base)]
[Lighting(MousePad-Cyan-Breath,Base)]
[Lighting(MousePad-Pink,Base)]
[Lighting(MousePad-RGB,Base)]
[Lighting(MousePad-Spectral,Base)]
[Lighting(Mousepad-Blue,Base)]
[Lighting(Mousepad-Braided ribbon,Base)]
[Lighting(Mousepad-Breathing-Blue,Base)]
[Lighting(Mousepad-Breathing-Green,Base)]
[Lighting(Mousepad-Breathing-Purple,Base)]
[Lighting(Mousepad-Breathing-Red,Base)]
[Lighting(Mousepad-Breathing-Yellow,Base)]
[Lighting(Mousepad-Butterfly,Base)]
[Lighting(Mousepad-Color band connection,Base)]
[Lighting(Mousepad-Colorful Swirling,Base)]
[Lighting(Mousepad-Dazzling,Base)]
[Lighting(Mousepad-Fire and Water,Base)]
[Lighting(Mousepad-Flipped,Base)]
[Lighting(Mousepad-Fragrant Mint,Base)]
[Lighting(Mousepad-Green,Base)]
[Lighting(Mousepad-Heartbeat Wave,Base)]
[Lighting(Mousepad-Heartbeat,Base)]
[Lighting(Mousepad-Ice blue,Base)]
[Lighting(Mousepad-LightOff,Base)]
[Lighting(Mousepad-Purple,Base)]
[Lighting(Mousepad-Red,Base)]
[Lighting(Mousepad-Sunshine,Base)]
[Lighting(Mousepad-Welcome rainbow,Base)]
[Lighting(Mousepad-Yellow,Base)]
[Lighting(Music volume light effect 2,Base)]
[Lighting(Music volume lighting effect,Base)]
[Lighting(Neon Ribbon,Base)]
[Lighting(OW - E,Base)]
[Lighting(OW - Q,Base)]
[Lighting(OW - shift,Base)]
[Lighting(OW 2 E,Base)]
[Lighting(OW 2 shift,Base)]
[Lighting(OW 3 E,Base)]
[Lighting(OW 3 shift,Base)]
[Lighting(OW Reaper - Mode 2,Base)]
[Lighting(OW Reaper - mode 1,Base)]
[Lighting(OW Reaper -mode 1 -Q,Base)]
[Lighting(OW Reaper- Mode 1,Base)]
[Lighting(OW,Base)]
[Lighting(OW1,Base)]
[Lighting(OW2,Base)]
[Lighting(OW3,Base)]
[Lighting(Overwatch,Base)]
[Lighting(Playerunknown's Battlegrounds,Base)]
[Lighting(Purple lights breathing,Base)]
[Lighting(RGB Circulatory extinction,Base)]
[Lighting(RGB Horse racing,Base)]
[Lighting(RGB Spectral cycle,Base)]
[Lighting(RGB across corners,Base)]
[Lighting(RGB colors flow,Base)]
[Lighting(RGB lights wave,Base)]
[Lighting(RGB neon glow,Base)]
[Lighting(RGB,Base)]
[Lighting(Rainbow Waves,Base)]
[Lighting(Red Light Breathing,Base)]
[Lighting(Red lights breathing,Base)]
[Lighting(SK61S-PTIR-1,Base)]
[Lighting(SK61S-PTIR-2,Base)]
[Lighting(SK61S-PTIR-3,Base)]
[Lighting(SK61S-PTIR-A,Base)]
[Lighting(SK61S-PTIR-B,Base)]
[Lighting(SK61S-PTIR-C,Base)]
[Lighting(SK64_66-1,Base)]
[Lighting(SK64_66-2,Base)]
[Lighting(SK64_66-3,Base)]
[Lighting(SK64_66-PTIR-1,Base)]
[Lighting(SK64_66-PTIR-2,Base)]
[Lighting(SK64_66-PTIR-3,Base)]
[Lighting(SK64_66-PTIR-A,Base)]
[Lighting(SK64_66-PTIR-B,Base)]
[Lighting(SK64_66-PTIR-C,Base)]
[Lighting(SK64_66-PTIR-D,Base)]
[Lighting(SK64_66-PTIR-E,Base)]
[Lighting(SK84S-PTIR-1,Base)]
[Lighting(SK84S-PTIR-2,Base)]
[Lighting(SK84S-PTIR-3,Base)]
[Lighting(SK84S-PTIR-A,Base)]
[Lighting(SK84S-PTIR-B,Base)]
[Lighting(SK84S-PTIR-C,Base)]
[Lighting(SK84S-PTIR-D,Base)]
[Lighting(SK84S-PTIR-E,Base)]
[Lighting(SK87S-1,Base)]
[Lighting(SK87S-2,Base)]
[Lighting(SK87S-3,Base)]
[Lighting(SK87S-Lights all up and down,Base)]
[Lighting(SK87S-Pure green,Base)]
[Lighting(SK87S-RGB Gradient,Base)]
[Lighting(SK87S-Rainbow,Base)]
[Lighting(SK87S-Up and down RGB transformation,Base)]
[Lighting(Seasons Like Spring,Base)]
[Lighting(Spectral Cycle,Base)]
[Lighting(Star lighting,Base)]
[Lighting(Symphony streamer,Base)]
[Lighting(Synchronous RGB gradient,Base)]
[Lighting(TT Spectral cycle 1,Base)]
[Lighting(Tank,Base)]
[Lighting(Telepathy,Base)]
[Lighting(Two poles,Base)]
[Lighting(Virgule shuttle,Base)]
[Lighting(WASD static,Base)]
[Lighting(Walking in the Waves,Base)]
[Lighting(Water wave,Base)]
[Lighting(Waverider,Base)]
[Lighting(White Light Breathing,Base)]
[Lighting(White lights breathing,Base)]
[Lighting(Windmill,Base)]
[Lighting(Yellow lights breathing,Base)]
[Lighting(fn1 lower lamp position change cherry 1,Base)]
[Lighting(snake,Base)]

[Base,Layer1,Layer2,Layer3,FnLayer1,FnLayer2,FnLayer3]
Esc:BackTick
CapsLock:Esc

[Base]
LWin:LAlt
LAlt:LWin
pixeltris commented 4 years ago

Thanks! I'll probably be getting a GK64 at some point so I'll try that out. Unfortunately for now I'm not much help with your current situation. The only thing I could think of at this point is to re-apply the firmware (if available for your model. certainly nothing available for mine!).

metakirby5 commented 4 years ago

No worries! I plan on using wireless a lot so most of the time I'll have lighting off anyways. I would trade lighting for being able to remap the top left key to backtick any day 🙂

I only have a Mac OS computer, so I unfortunately wouldn't be able to apply the firmware even if I wanted to 😅 Your software is the only way I'm able to remap keys on my keyboard, so thanks again for developing it!

pixeltris commented 3 years ago

I'm going to leave this as-is. I should probably put a disclaimer somewhere to warn of potential issues when mapping large amounts of lighting...