Merge remote-tracking branch 'origin/develop' into xap

This commit is contained in:
QMK Bot 2025-04-01 05:07:17 +00:00
commit 3fdd017943
5 changed files with 13 additions and 3 deletions

View File

@ -7,6 +7,7 @@
"properties": {
"module_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
"maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
"license": {"type": "string"},
"url": {
"type": "string",
"format": "uri"

View File

@ -72,6 +72,7 @@ A Community Module is denoted by a `qmk_module.json` file such as the following:
{
"module_name": "Hello World",
"maintainer": "QMK Maintainers",
"license": "GPL-2.0-or-later",
"features": {
"deferred_exec": true
},
@ -86,6 +87,10 @@ A Community Module is denoted by a `qmk_module.json` file such as the following:
At minimum, the module must provide the `module_name` and `maintainer` fields.
The `license` field is encouraged to indicate the terms for using and sharing the module. It is recommended to use a [SPDX license identifier](https://spdx.org/licenses/) like "`Apache-2.0`" or "`GPL-2.0-or-later`" if possible.
The `url` field may specify a URL to more information about the module.
The use of `features` matches the definition normally provided within `keyboard.json` and `info.json`, allowing a module to signal to the build system that it has its own dependencies. In the example above, it enables the _deferred executor_ feature whenever the above module is used in a build.
The `keycodes` array allows a module to provide new keycodes (as well as corresponding aliases) to a keymap.

View File

@ -250,12 +250,14 @@ class CommunityModuleJSONEncoder(QMKJSONEncoder):
return '00module_name'
if key == 'maintainer':
return '01maintainer'
if key == 'license':
return '02license'
if key == 'url':
return '02url'
return '03url'
if key == 'features':
return '03features'
return '04features'
if key == 'keycodes':
return '04keycodes'
return '05keycodes'
elif self.indentation_level == 3: # keycodes
if key == 'key':
return '00key'

View File

@ -1,6 +1,7 @@
{
"module_name": "Hello World",
"maintainer": "QMK Maintainers",
"license": "GPL-2.0-or-later",
"features": {
"console": true,
"deferred_exec": true

View File

@ -1,6 +1,7 @@
{
"module_name": "Super Alt Tab",
"maintainer": "QMK Maintainers",
"license": "GPL-2.0-or-later",
"keycodes": [
{
"key": "COMMUNITY_MODULE_SUPER_ALT_TAB",