Code Monkey home page Code Monkey logo

qmk_compiler's People

Contributors

dependabot[bot] avatar fauxpark avatar jackhumbert avatar mechmerlin avatar skullydazed avatar strikerrus avatar tzarc avatar yanfali avatar zvecr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qmk_compiler's Issues

Templates

In the function qmk_compiler.generate_keymap_c(result, layers), a folder with templates is referenced: 'keyboards/%(keyboard)s/templates/keymap.c'

I can't find any reference to a folder "templates" in the qmk_firmware repository. Where are those templates or are they not used anymore?

If rq workers have overlapping names the compiler container dies

Example:

qmk_compiler_1  | Traceback (most recent call last):
qmk_compiler_1  |   File "/usr/local/bin/rq", line 11, in <module>
qmk_compiler_1  |     sys.exit(main())
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 764, in __call__
qmk_compiler_1  |     return self.main(*args, **kwargs)
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 717, in main
qmk_compiler_1  |     rv = self.invoke(ctx)
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 1137, in invoke
qmk_compiler_1  |     return _process_result(sub_ctx.command.invoke(sub_ctx))
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 956, in invoke
qmk_compiler_1  |     return ctx.invoke(self.callback, **ctx.params)
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 555, in invoke
qmk_compiler_1  |     return callback(*args, **kwargs)
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/rq/cli/cli.py", line 75, in wrapper
qmk_compiler_1  |     return ctx.invoke(func, cli_config, *args[1:], **kwargs)
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/click/core.py", line 555, in invoke
qmk_compiler_1  |     return callback(*args, **kwargs)
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/rq/cli/cli.py", line 236, in worker
qmk_compiler_1  |     worker.work(burst=burst, logging_level=logging_level)
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/rq/worker.py", line 466, in work
qmk_compiler_1  |     self.register_birth()
qmk_compiler_1  |   File "/usr/local/lib/python3.5/dist-packages/rq/worker.py", line 276, in register_birth
qmk_compiler_1  |     raise ValueError(msg.format(self.name))
qmk_compiler_1  | ValueError: There exists an active worker named '4fd5a8e9ed53.8' already

There is probably an elegant way to handle this, but idk what that would be.

On discord @skullydazed suggested "we could generate a random name every time and pass -n"

Keyboard name mismatch

The keymaps endpoint (e.g. https://api.qmk.fm/v1/keyboards/1upkeyboards/1up60hse/keymaps/default) shows some lack of congruence. The key keyboard_name, inside keymaps, should be probably called keyboard_folder instead. Thank you.

screenshot

...

screenshot2

This change (if it isn't too late) will also make it more consistent with the info.json:

{
  "keyboard_name": "1up60hse",
  "keyboard_folder": "1upkeyboards/1up60hse",
  "...": "..."
}

Command and Control swapped by Compiler

The command (OS) and control keys are swapped by the compiler now. The control keys that are now commands are LCtl_T and RCtl_T while the commands that are now controls are the plain R and L Gui keys. I tried old jsons with the same result. Swapping them I found plain L and R Ctl are also commands but L and RGui_T remain OS keys...

idobo keyboard

add LICENSE file

add license file to the repo.
Would love to take this up as part of hacktoberfest!

Make generated keymap code more human-friendly

Consider removing

// Helpful defines
#define _______ KC_TRNS

from the generated source since the alias is already defined in quantum_keycodes.h.

Also, consider replacing KC_NO and KC_TRNS in the code with XXXXXXX and _______, respectively. Furthermore, add line breaks to the keymaps to make them easier to read (example).

The reasoning here is that a lot of people use the Configurator to get a quick start with QMK, and then move on to editing the generated source by hand. It would be helpful to have the keymaps generated in a human-friendly format because of that.

downloading source throws a 500 error

reported by @junderwood

Steps to reproduce:

  1. compile a keyboard from config.qmk.fm
  2. click download source

Error Reported:

Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

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.