GithubHelp home page GithubHelp logo

Comments (9)

mattventura avatar mattventura commented on May 29, 2024

Also this doesn't happen with only layerLock, it happens with layerShift and probably layerLatch as well.

from controller.

haata avatar haata commented on May 29, 2024

Sorry about the delay.
I've added a new debug option to help with this 99098fb
It's called layerDebug

If you still have the issue would you mind attempting to change layer states with it on?
It'll show you all the changes.

from controller.

mattventura avatar mattventura commented on May 29, 2024

Everything seems to work fine in terms of the layer stack. If I lock Fn1, then lock Fn2, layerDebug correctly shows 0, then 0:1, then 0:1:2. But if both layer 1 and layer 2 have a mapping for the same key, layer 1's takes priority. If the layer stack is 0:2:1, then layer 2 takes priority if there's a conflict.

It looks like the partialMap code (specifically macro.c:365) starts at the bottom of the stack and stops when it finds a match. Shouldn't it be the other way around?

from controller.

haata avatar haata commented on May 29, 2024

Basically in the case of 0:2:1, first layer 1 is checked, if nothing is defined, then check layer 2, and if nothing there is defined check layer 0.

I guess I could have wrote it as 1:2:0, but it's easier to visually check if it grows to the right.

from controller.

mattventura avatar mattventura commented on May 29, 2024

Is that what's supposed to happen? It seems to work the opposite way, where if the layer stack is 0:1:2, then the priority is 1 > 2 > 0. In the case of 0:2:1, it's 2 > 1 > 0.

from controller.

haata avatar haata commented on May 29, 2024

Oops, probably traversing the stack backwards. 0 isn't part of the actual stack because it's always the fallback. I'll try to fix this tonight.

from controller.

haata avatar haata commented on May 29, 2024

Hopefully fixed with 216b151

from controller.

mattventura avatar mattventura commented on May 29, 2024

I'm confused. Previously, if I activated layer 1, then layer 2, it would display 0:1:2 as the layer stack, but it would function as 1 > 2 > 0. Now, it displays 0:2:1, and functions the same.

Shouldn't activating layer 1 then layer 2 cause layer 2 to take priority? I think now the debug output matches the actual behavior, but the behavior itself is bugged.

from controller.

haata avatar haata commented on May 29, 2024

Sorry this has taken me so long.

Was browsing the Macro code when doing the Interconnect (Infinity Ergodox) and noticed the layer evaluation code was processing the layers backwards (everything else was correct).

Super easy fix. Should be working now.

51486bc

from controller.

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.