Git Product home page Git Product logo

Comments (4)

benblazak avatar benblazak commented on July 19, 2024

If this gets implemented, it will be more complicated than I thought. Basically, altered stuff will have to be written to the EEPROM, which is only 1024 bytes - which is only large enough to hold about 2 full keymaps (with functions).

A couple options would be:

  • Only write the keycode matrix to the EEPROM, and keep all of it there. This would require a default set of function matrices that would work with any possible remap.
  • Only write changed codes to the EEPROM. This would require some sort of EEPROM lookup for every keypress/release, to see if an altered value was in there. I don't think it'd be too slow to do this, but testing would be good.

Of course, if the keymap we want to be programmable like this is only 1 (or maybe 2) layers, it doesn't matter, it should be fairly trivial to store the whole thing in the EEPROM and write some update functions. The logic of how the keypresses would activate the remap layer and how the remap layer would behave would be the hardest part.

Anyway, this is still a fairly low priority. I was just thinking about it today as I was moving the matrices from RAM to program space.

from ergodox-firmware.

benjamin-kett avatar benjamin-kett commented on July 19, 2024

I think we should update this ticket with the fact a UI will handle much of the remapping work. We can directly flash the teensy using the compiled .hex (at least in theory), and IMO that will give us the ability to have many layouts stored directly onto the controller without needing to have "on the fly" remapping. Whilst this feature might be nice for quick changes, I don't know how feasible it is to do in phase 1 before people get something in hand, and we can then measure up the amount of demand for it,

Cheers,

from ergodox-firmware.

benblazak avatar benblazak commented on July 19, 2024

updated

from ergodox-firmware.

benblazak avatar benblazak commented on July 19, 2024

this may be reopened sometime in the future, but for now the issue is being closed as "won't implement". it would take a bit of ingenuity to get it to work, and i don't see a huge interest in it given the existence of the UIs, which allow for pretty quick remapping.

the ability to save and execute macros on-keyboard would be nice, and i can see that being really useful. but i'll reconsider that and open another issue if it seems to reasonable sometime later.

from ergodox-firmware.

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.