* grid-align keycodes; use short-form keycodes
No logic change.
* info.json: correct layout macro reference
* info.json: correct LAYOUT_64key data
Removes an extra key from the layout data.
* 64_ansi Community Layout support
* rename LAYOUT_64key to LAYOUT_64_ansi (with alias for backwards compatibility)
* add LAYOUTS = 64_ansi to rules.mk
* remove width and height keys from info.json
* 60_tsangan_hhkb Community Layout support
* rename LAYOUT to LAYOUT_60_tsangan_hhkb
* add LAYOUTS = 60_tsangan_hhkb to rules.mk
* correct maintainer field in info.json
* remove width and height keys from info.json
* fix GitHub account link on readme
* 65_ansi_blocker Community Layout support
* rename LAYOUT to LAYOUT_65_ansi_blocker (with alias for backwards compatibility)
* add LAYOUTS = 65_ansi_blocker to rules.mk
* remove width and height keys from info.json
* [Keyboard] Add some last minute tweaks to Work board
* Additional fixes
* Fix rgb pin
* Fix ws2812 hackery
* additional led tweaks
* Add indicator LEDs
* fix bootmagic settings
* Fix up RGB stuff
* Limit power draw for entire board
* fixup lights and such
* change LED order on loop
* Fix indicators if via is not enabled
* Enable Sleep for rgb matrix
* Even more LED tweaks
* Final tweaks?
* Tweak keycodes
* apply human-friendly formatting to info.json
* update key labels; correct maintainer field
* add LAYOUT_all data to info.json
* remove width and height keys from info.json (per fauxpark)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Helix/pico use post_rules.mk insted of local_features.mk
Tested with the following procedure.
```
git checkout 77a93fec79 (qmk/develop)
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
git checkout helix_use_post_rules.mk
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
```
* Helix/rev2 use post_rules.mk
Tested with the following procedure.
```
git checkout 77a93fec79 (qmk/develop)
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
make helix/rev2:all:check-md5
make helix/rev2/sc:all:check-md5
git checkout helix_use_post_rules.mk
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
make helix/rev2:all:check-md5
make helix/rev2/sc:all:check-md5
```
Without this build would fail, if a keyboard had haptic feedback enabled,
TAPPING_TOGGLE was not overridden in a config.h, and if NO_HAPTIC_MOD was
defined in config.h.
* Nix: Allow calls to `bin/qmk` even when the build was started by `qmk`
The `$PATH` modifications performed by the Nix wrapper for the `qmk`
executable prevent `bin/qmk` from working properly (the changed `$PATH`
contains a wrong `python3` executable which does not have the needed
Python modules in its module path). As a workaround, disable the
generation of that wrapper for the `qmk` Python package (there is yet
another wrapper generated while building the Python environment, which
would still set the Python module path properly when running `qmk`).
Although `bin/qmk` is officially deprecated, QMK CLI still invokes it in
some cases (at least `qmk doctor` and `qmk pytest`), therefore keeping
these invocations working is useful.
* Nix: Update `util/nix/pyproject.toml` to match `requirements*.txt`
Update the Python dependency information used by Poetry to match the
current state of the qmk_firmware code.
* Nix: Bump QMK CLI dependency to 1.0.0; bump other Python deps
Update Python dependencies for nix-shell to the most recent releases:
- dotty-dict: 1.3.0 -> no longer used
- milc: 1.4.2 -> 1.6.2
- pep8-naming: 0.11.1 -> 0.12.1
- pygments: 2.9.0 -> 2.10.0
- pyrsistent: 0.17.3 -> 0.18.0
- pyusb: 1.1.1 -> 1.2.1
- setuptools-scm: 6.0.1 -> no longer used
- qmk: 0.1.0 -> 1.0.0
- qmk-dotty-dict: not used -> 1.3.0.post1
- yapf: 0.30.0 -> 0.31.0
Note to self: The command to update Python dependencies changed to:
( cd util/nix && nix run 'nixpkgs#poetry' -- update --lock )
* add 'include keyboard_features.mk' into build_keyboard.mk
keyboard_features.mk is a keyboard-local version of the functions performed by common_features.mk.
* add comment into build_keyboard.mk
* added description of keyboard_features.mk in hardware_keyboard_guidelines.md.
* rename `keyboard_features.mk` to `post_rules.mk`
2021-08-29 09:42:57 +10:00
1197 changed files with 13583 additions and 17152 deletions
@@ -75,7 +75,7 @@ As noted during last breaking changes cycle, QMK has decided to deprecate the fu
This pull request changes the behavior of `BOOTMAGIC_ENABLE` such that specifying `full` results in an error, allowing only `no`, `yes`, or `lite`.
Next cycle,`lite` will be removed, so `yes` and `no` should be used in to minimise disruption.
Currently `lite` is the equivalent of `yes` in `rules.mk`. Next cycle the use of the`lite` keyword will be prevented in favour of `yes` -- any new submissions should now be using `yes` or `no` to minimise disruption.
This command lets you connect to keyboard consoles to get debugging messages. It only works if your keyboard firmware has been compiled with `CONSOLE_ENABLE=yes`.
Before opening a pull request, you can preview your changes if you have set up the development environment by running this command from the `qmk_firmware/` folder:
@@ -51,25 +51,6 @@ Wir suchen nach Freiwilligen, die ein `qmk`-Package für weitere Betriebssysteme
* Installiere mit einem [virtualenv](https://virtualenv.pypa.io/en/latest/).
* Weise den User an, die Umgebungs-Variable `QMK_HOME` zu setzen, um die Firmware-Quelle anders einzustellen als `~/qmk_firmware`.
# Lokale CLI
Wenn Du die globale CLI nicht verwenden möchtest, beinhaltet `qmk_firmware` auch eine lokale CLI. Du kannst sie hier finden: `qmk_firmware/bin/qmk`. Du kannst den `qmk`-Befehl aus irgendeinem Datei-Verzeichnis ausführen und es wird immer auf dieser Kopie von `qmk_firmware` arbeiten.
**Beispiel**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Einschränkungen der lokalen CLI
Hier ein Vergleich mit der globalen CLI:
* Die lokale CLI unterstützt kein `qmk setup` oder `qmk clone`.
* Die lokale CLI arbeitet immer innerhalb der selben `qmk_firmware`-Verzeichnisstruktur, auch wenn Du mehrere Repositories geklont hast.
* Die lokale CLI läuft nicht in einer virtualenv. Daher ist es möglich, dass Abhängigkeiten (dependencies) miteinander in Konflikt kommen/stehen.
The keyboard can be made to be recognized as a joystick HID device by the operating system.
This is enabled by adding `JOYSTICK_ENABLE` to `rules.mk`. You can set this value to `analog`, `digital`, or `no`.
!> Joystick support is not currently available on V-USB devices.
The joystick feature provides two services:
@@ -18,7 +16,8 @@ or send gamepad reports based on values computed by the keyboard.
To use analog input you must first enable it in `rules.mk`:
```makefile
JOYSTICK_ENABLE=analog
JOYSTICK_ENABLE=yes
JOYSTICK_DRIVER= analog # or 'digital'
```
An analog device such as a potentiometer found on a gamepad's analog axes is based on a [voltage divider](https://en.wikipedia.org/wiki/Voltage_divider).
The [Grave Escape feature](https://docs.qmk.fm/using-qmk/advanced-keycodes/feature_grave_esc) is limited in its configurability and has [bugs when used on macOS](https://docs.qmk.fm/using-qmk/advanced-keycodes/feature_grave_esc#caveats). Key overrides can be used to achieve a similar functionality as Grave Escape, but with more customization and without bugs on macOS.
The [Grave Escape feature](feature_grave_esc.md) is limited in its configurability and has [bugs when used on macOS](feature_grave_esc.md#caveats). Key overrides can be used to achieve a similar functionality as Grave Escape, but with more customization and without bugs on macOS.
@@ -48,25 +48,6 @@ Nous recherchons des gens pour créer et maintenir un paquet `qmk` pour plus de
* Installez en utilisant un virtualenv
* Expliquez à l'utilisateur de définir la variable d'environnement `QMK_Home` pour "check out" les sources du firmware à un autre endroit que `~/qmk_firmware`.
# CLI locale
Si vous ne voulez pas utiliser la CLI globale, il y a une CLI locale empaquetée avec `qmk_firmware`. Vous pouvez le trouver dans `qmk_firmware/bin/qmk`. Vous pouvez lancer la commande `qmk` depuis n'importe quel répertoire et elle fonctionnera toujours sur cette copie de `qmk_firmware`.
**Exemple**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Limitations de la CLI locale
Il y a quelques limitations à la CLI locale comparé à la globale:
* La CLI locale ne supporte pas `qmk setup` ou `qmk clone`
* La CLI locale n'opère pas sur le même arbre `qmk_firmware`, même si vous avez plusieurs dépôts clonés.
* La CLI locale ne s'exécute pas dans un virtualenv, donc il y a des risques que des dépendances seront en conflit
@@ -24,7 +24,7 @@ The "easy" way to flash the firmware is using a tool from your host OS:
If you want to program via the command line you can uncomment the ['modifyvm'] lines in the Vagrantfile to enable the USB passthrough into Linux and then program using the command line tools like dfu-util/dfu-programmer or you can install the Teensy CLI version.
## Vagrantfile Overview
The development environment is configured to run the QMK Docker image, `qmkfm/base_container`. This not only ensures predictability between systems, it also mirrors the CI environment.
The development environment is configured to run the QMK Docker image, `qmkfm/qmk_cli`. This not only ensures predictability between systems, it also mirrors the CI environment.
Many of the settings written in the `rules.mk` file are interpreted by `common_features.mk`, which sets the necessary source files and compiler options.
The `post_rules.mk` file can interpret `features` of a keyboard-level before `common_features.mk`. For example, when your designed keyboard has the option to implement backlighting or underglow using rgblight.c, writing the following in the `post_rules.mk` makes it easier for the user to configure the `rules.mk`.
Pressing and releasing a key. In some situations you will need to distinguish between a key down and a key up event, and Tap always refers to both at once.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.