Comments (9)
Also this doesn't happen with only layerLock, it happens with layerShift and probably layerLatch as well.
from controller.
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.
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.
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.
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.
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.
Hopefully fixed with 216b151
from controller.
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.
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.
from controller.
Related Issues (20)
- Method for toggling a set of LEDs off/on?
- Colours differ between sections of the underlighting on Gemini HOT 1
- Stretch Rainbow Animations
- K-Type enters flashing mode when using Ultimaker Cura HOT 5
- Mouse Key Control - Ergodox Infinity
- Creating custom KLL files
- Errors running ergodox.bash HOT 2
- GEMINI RGUI (possibly MENU as well) remap issue due to layout mismatch HOT 2
- Support for Aurora RGB sync HOT 3
- Macro "CapsLock" + "I" produces extra letters HOT 1
- Support for fwupd - Linux Vendor Firmware Service HOT 12
- Hexgears Gemini white backlighting not white HOT 2
- Kira LEDS go into a continous blinking loop (red, blue, green on different parts of the keyboard) HOT 5
- K-Type not detected in flash mode
- Kira - Multiple issues flashing the firmware HOT 2
- HID-IO as a replacement for CDC Virtual Serial Port? HOT 1
- Docker Missing CMakeLists.txt HOT 1
- Slow initialization and /dev/ttyACM0 no longer available after flashing with updated controller
- How do I map right alt to emit Fn? HOT 1
- Cannot install libusbK driver
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from controller.