Code Monkey home page Code Monkey logo

Comments (16)

pixeltris avatar pixeltris commented on May 27, 2024

As mentioned I've barely tested it so yea issues are to be expected.

The Web GUI uses its own separate storage of configuration, so it isn't compatible with the commands like 'map' / 'unmap'. It saves things into /driver/UserData/.

The lighting effects on layers 1,2,3 are configured differently to the lighting effect on the base layer. On the base layer you put your lighting into those 5 slots. On layers 1/2/3 you select the lighting effect you want on the list on the right hand side, then click save, then click apply.

'offline' (aka 'driver' layer) isn't supported by my code.

If the 'Apply' button freezes that means something is broken (and nothing will actually apply). Open the developer console (F12 on most browsers) and look at the console log to see what errors there are.

I'm not sure what you mean exactly by 'Logic Lights' / 'Code lights'. GK6X have 3 different forms of lighting:

  • Regular lighting effects which constantly play (we can configure these).
  • Reactive lighting effects which do things like highlight which keys you pressed, lights up rows of lights relative to the key you pressed, light up keys when the keyboard mic hears noise, etc. These are hardcoded on the firmware and cannot be modified.
  • Key-press lighting effects. These play a lighting effect one time when you press a key. These can be configured per-key. I didn't implement this as it generally looks awful.

If the 'Apply' button successfully executes it should alleviate not being able to map keys. It sounds like something isn't currently handled properly so the 'Apply' button hangs and things cannot map. See the browser console log for the errors.

from gk6x.

h3oCharles avatar h3oCharles commented on May 27, 2024

in the GK64 manual that's what they are called. So I guess Fn+CloseSquareBrace is Regular lighting and Fn+Backslash is Reactive lighting

and here's the console after changing the light effect on a layer
chrome_2020-05-16_10-40_8fLXWgATi6

from gk6x.

pixeltris avatar pixeltris commented on May 27, 2024

Sounds like an exception is being thrown in

case "ApplyConfig":

You'd need to log the error here to get more information

catch

from gk6x.

h3oCharles avatar h3oCharles commented on May 27, 2024

where could I find that in the chrome dev console? btw your program doesn't log anything regarding gui

from gk6x.

pixeltris avatar pixeltris commented on May 27, 2024

What I linked is on the C# code (the server part). It sounds like it's hitting that "catch" line of code. So you need to change that to do something like this:

catch(Exception e)
{
    Program.Log("Exception: + e.ToString());
}

Then you can check the console to see what it logs, and then diagnose the issue from there.

from gk6x.

h3oCharles avatar h3oCharles commented on May 27, 2024

so what you're telling me is:

  • fork the code, edit WebGUI.cs
  • inside that file, replace lines 866-869 with what you gave me
  • download the source, compile it with the MSBuild thing
  • find the error from there

...right?

if so, i failed to compile with the line change. is Program.Log a valid command? Feel free to look at my fork if i've done this correctly

cmd_2020-05-16_15-02_UXsHAdfsNo

from gk6x.

pixeltris avatar pixeltris commented on May 27, 2024

I missed a quotation mark

catch(Exception e)
{
    Program.Log("Exception: " + e.ToString());
}

from gk6x.

h3oCharles avatar h3oCharles commented on May 27, 2024

yup, that fixed it, here's what i got

GK6X_2020-05-16_15-32_DFtVuRNUm4

this is where the error points to

Debug.WriteLine(device.State.KeysByLogicCode[keyIndex].KeyName + " = " + (DriverValue)driverValue);

from gk6x.

pixeltris avatar pixeltris commented on May 27, 2024

I guess you can just delete that line of code as I was just using that for some temporary logging stuff.

from gk6x.

h3oCharles avatar h3oCharles commented on May 27, 2024

Do I remove lines 512-516 or just line 514?

from gk6x.

pixeltris avatar pixeltris commented on May 27, 2024

Just 514.

Line 512 could probably be changed to this to be safe: if (keyIndex >= 0 && keyIndex < driverValues.Length)

from gk6x.

h3oCharles avatar h3oCharles commented on May 27, 2024

that fixed it, it also fixed other problems regarding GUI configuration!

so for testing purposes I did this

chrome_2020-05-16_16-19_fOYq9evGEf

hit apply, it succeeded, and reprogrammed ZXCV worked! hooray!

from gk6x.

pixeltris avatar pixeltris commented on May 27, 2024

Nice.

from gk6x.

h3oCharles avatar h3oCharles commented on May 27, 2024

closeable? maybe apply all of the things you mentioned in your code?

from gk6x.

pixeltris avatar pixeltris commented on May 27, 2024

Sure will do. I'll put an updated release and hopefully the exe wont get flagged anymore as well.

from gk6x.

pixeltris avatar pixeltris commented on May 27, 2024

I guess it would be nice to look into what causes the "standard" (base) layer from not being editable in the web GUI (seeing as you can edit it using the commands and stuff). I think the limitations on that are in 0.js but I haven't spent much time trying to fix it up.

from gk6x.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.