Compare commits
69 commits
master
...
muon_light
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec0f9db8ad | ||
|
|
8c36c83a84 | ||
|
|
cca90f4389 | ||
|
|
1b7efbc03b | ||
|
|
e54159d9e8 | ||
|
|
d01f40edbf | ||
|
|
13f49ad8d9 | ||
|
|
0f89d7efed | ||
|
|
2fccc1a064 | ||
|
|
53c518f7d4 | ||
|
|
bcbc64aed8 | ||
|
|
459dfa510e | ||
|
|
5bb1e7869c | ||
|
|
58c4ba096a | ||
|
|
c8cc9c6aab | ||
|
|
e1e4a51472 | ||
|
|
c53a8ead93 | ||
|
|
a6afb16c90 | ||
|
|
21665df8eb | ||
|
|
ff4a1ae5d2 | ||
|
|
018a0142d2 | ||
|
|
c1f6f1308b | ||
|
|
274283420d | ||
|
|
874f5a5c07 | ||
|
|
161c68b48a | ||
|
|
5fad8d774d | ||
|
|
4fdc9badd3 | ||
|
|
af6107bee8 | ||
|
|
d233737c95 | ||
|
|
3e282ab203 | ||
|
|
1c0d85c143 | ||
|
|
7c19e9fa04 | ||
|
|
9fccfc8dd5 | ||
|
|
1cb72a9c59 | ||
|
|
82146ecfc0 | ||
|
|
4a1984d33e | ||
|
|
676080372c | ||
|
|
0af7415981 | ||
|
|
df371458b3 | ||
|
|
e0e5efbead | ||
|
|
edb4460e64 | ||
|
|
fe72bfa070 | ||
|
|
25642c8840 | ||
|
|
03b1904b2e | ||
|
|
bb71a988c2 | ||
|
|
ddee61c9ba | ||
|
|
91efe74365 | ||
|
|
12a64ff24b | ||
|
|
b034896cd3 | ||
|
|
2bd625b754 | ||
|
|
da32068f48 | ||
|
|
b308d6709e | ||
|
|
123ad0de95 | ||
|
|
00fc38435f | ||
|
|
8b5b41bb47 | ||
|
|
4bdde668e1 | ||
|
|
3c0d86eb47 | ||
|
|
f60166c1a1 | ||
|
|
7d59f83b2e | ||
|
|
be81cd8c98 | ||
|
|
b075df1c87 | ||
|
|
8a91aa5e6c | ||
|
|
fae437cfad | ||
|
|
fc91bf4a65 | ||
|
|
78ea99d154 | ||
|
|
2165f9d654 | ||
|
|
31df12c84f | ||
|
|
d09d9f32bd | ||
|
|
690a08cbbb |
27899 changed files with 810185 additions and 1758415 deletions
|
|
@ -1,30 +0,0 @@
|
|||
---
|
||||
BasedOnStyle: Google
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: 'true'
|
||||
AlignConsecutiveDeclarations: 'true'
|
||||
AlignOperands: 'true'
|
||||
AllowAllParametersOfDeclarationOnNextLine: 'false'
|
||||
AllowShortCaseLabelsOnASingleLine: 'false'
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
AllowShortLoopsOnASingleLine: 'false'
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: 'false'
|
||||
BinPackArguments: 'true'
|
||||
BinPackParameters: 'true'
|
||||
ColumnLimit: '1000'
|
||||
IndentCaseLabels: 'true'
|
||||
IndentPPDirectives: AfterHash
|
||||
IndentWidth: '4'
|
||||
MaxEmptyLinesToKeep: '1'
|
||||
PointerAlignment: Right
|
||||
SortIncludes: 'false'
|
||||
SpaceBeforeAssignmentOperators: 'true'
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: 'false'
|
||||
SpacesBeforeTrailingComments: 1
|
||||
TabWidth: '4'
|
||||
UseTab: Never
|
||||
|
||||
...
|
||||
24
.clang_complete
Normal file
24
.clang_complete
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
-I.
|
||||
-I./drivers
|
||||
-I./drivers/avr
|
||||
-I./keyboards/ergodox_ez
|
||||
-I./keyboards/ergodox_ez/keymaps/vim
|
||||
-I./lib
|
||||
-I./lib/lufa
|
||||
-I./quantum
|
||||
-I./quantum/api
|
||||
-I./quantum/audio
|
||||
-I./quantum/keymap_extras
|
||||
-I./quantum/process_keycode
|
||||
-I./quantum/serial_link
|
||||
-I./quantum/template
|
||||
-I./quantum/tools
|
||||
-I./quantum/visualizer
|
||||
-I./tmk_core
|
||||
-I./tmk_core/common
|
||||
-I./tmk_core/common/debug.h
|
||||
-I./tmk_core/protocol
|
||||
-I./tmk_core/protocol/lufa
|
||||
-I./util
|
||||
-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYMAP=\"$(KEYMAP)\"
|
||||
33
.clangd
33
.clangd
|
|
@ -1,33 +0,0 @@
|
|||
CompileFlags:
|
||||
Add:
|
||||
[
|
||||
-Wno-unknown-attributes,
|
||||
-Wno-maybe-uninitialized,
|
||||
-Wno-unknown-warning-option,
|
||||
-Wno-pointer-to-int-cast,
|
||||
-Wno-int-to-void-pointer-cast,
|
||||
-DPROGMEM=,
|
||||
]
|
||||
Remove:
|
||||
[
|
||||
-W*,
|
||||
-mmcu=*,
|
||||
-mcpu=*,
|
||||
-mfpu=*,
|
||||
-mfloat-abi=*,
|
||||
-mno-unaligned-access,
|
||||
-mno-thumb-interwork,
|
||||
-mcall-prologues,
|
||||
-D__has_include*,
|
||||
-mlra,
|
||||
]
|
||||
Compiler: clang
|
||||
Diagnostics:
|
||||
UnusedIncludes: None
|
||||
Suppress:
|
||||
[
|
||||
asm_invalid_output_constraint,
|
||||
asm_invalid_input_constraint,
|
||||
invalid_asm_value_for_constraint,
|
||||
anyx86_interrupt_attribute,
|
||||
]
|
||||
|
|
@ -4,40 +4,33 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
indent_size = 2
|
||||
|
||||
# We recommend you to keep these unchanged
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
# To match GitHub Actions formatting
|
||||
[*.{yaml,yml}]
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[{Makefile,*.mk}]
|
||||
indent_style = tab
|
||||
|
||||
# Don't override anything in `lib/`...
|
||||
[lib/**]
|
||||
indent_style = unset
|
||||
indent_size = unset
|
||||
tab_width = unset
|
||||
end_of_line = unset
|
||||
charset = unset
|
||||
spelling_language = unset
|
||||
trim_trailing_whitespace = unset
|
||||
insert_final_newline = unset
|
||||
|
||||
# ...except QMK's `lib/python`.
|
||||
[{*.py,lib/python/**.py}]
|
||||
end_of_line = lf
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
max_line_length = 200
|
||||
|
||||
# Make these match what we have in .gitattributes
|
||||
[*.mk]
|
||||
end_of_line = lf
|
||||
|
||||
[Makefile]
|
||||
end_of_line = lf
|
||||
|
||||
[*.sh]
|
||||
end_of_line = lf
|
||||
|
||||
# The gitattributes file will handle the line endings conversion properly according to the operating system settings for other files
|
||||
|
||||
|
||||
# We don't have gitattributes properly for these
|
||||
# So if the user have for example core.autocrlf set to true
|
||||
# the line endings would be wrong.
|
||||
[lib/**]
|
||||
end_of_line = unset
|
||||
|
|
|
|||
114
.gitattributes
vendored
114
.gitattributes
vendored
|
|
@ -2,70 +2,69 @@
|
|||
* text=auto
|
||||
|
||||
# sources
|
||||
*.c text eol=lf
|
||||
*.cc text eol=lf
|
||||
*.cxx text eol=lf
|
||||
*.cpp text eol=lf
|
||||
*.c++ text eol=lf
|
||||
*.hpp text eol=lf
|
||||
*.h text eol=lf
|
||||
*.h++ text eol=lf
|
||||
*.hh text eol=lf
|
||||
*.bat text eol=crlf
|
||||
*.cmd text eol=crlf
|
||||
*.coffee text eol=lf
|
||||
*.css text eol=lf
|
||||
*.htm text eol=lf
|
||||
*.html text eol=lf
|
||||
*.inc text eol=lf
|
||||
*.ini text eol=crlf
|
||||
*.js text eol=lf
|
||||
*.jsx text eol=lf
|
||||
*.json text eol=lf
|
||||
*.less text eol=lf
|
||||
*.php text eol=lf
|
||||
*.pl text eol=lf
|
||||
*.py text eol=lf
|
||||
*.rb text eol=lf
|
||||
*.sass text eol=lf
|
||||
*.scm text eol=lf
|
||||
*.scss text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.sql text eol=lf
|
||||
*.styl text eol=lf
|
||||
*.ts text eol=lf
|
||||
*.xml text eol=lf
|
||||
*.xhtml text eol=lf
|
||||
*.c text
|
||||
*.cc text
|
||||
*.cxx text
|
||||
*.cpp text
|
||||
*.c++ text
|
||||
*.hpp text
|
||||
*.h text
|
||||
*.h++ text
|
||||
*.hh text
|
||||
*.bat text
|
||||
*.coffee text
|
||||
*.css text
|
||||
*.htm text
|
||||
*.html text
|
||||
*.inc text
|
||||
*.ini text
|
||||
*.js text
|
||||
*.jsx text
|
||||
*.json text
|
||||
*.less text
|
||||
*.php text
|
||||
*.pl text
|
||||
*.py text
|
||||
*.rb text
|
||||
*.sass text
|
||||
*.scm text
|
||||
*.scss text
|
||||
*.sh text
|
||||
*.sql text
|
||||
*.styl text
|
||||
*.ts text
|
||||
*.xml text
|
||||
*.xhtml text
|
||||
|
||||
# make files (need to always use lf for compatibility with Windows 10 bash)
|
||||
Makefile eol=lf
|
||||
*.mk eol=lf
|
||||
*.mk eol=lf
|
||||
|
||||
# make files (need to always use lf for compatibility with Windows 10 bash)
|
||||
*.sh eol=lf
|
||||
|
||||
# documentation
|
||||
*.markdown text eol=lf
|
||||
*.md text eol=lf
|
||||
*.mdwn text eol=lf
|
||||
*.mdown text eol=lf
|
||||
*.mkd text eol=lf
|
||||
*.mkdn text eol=lf
|
||||
*.mdtxt text eol=lf
|
||||
*.mdtext text eol=lf
|
||||
*.txt text eol=lf
|
||||
AUTHORS text eol=lf
|
||||
CHANGELOG text eol=lf
|
||||
CHANGES text eol=lf
|
||||
CONTRIBUTING text eol=lf
|
||||
COPYING text eol=lf
|
||||
INSTALL text eol=lf
|
||||
license text eol=lf
|
||||
LICENSE text eol=lf
|
||||
NEWS text eol=lf
|
||||
readme text eol=lf
|
||||
*README* text eol=lf
|
||||
TODO text eol=lf
|
||||
*.markdown text
|
||||
*.md text
|
||||
*.mdwn text
|
||||
*.mdown text
|
||||
*.mkd text
|
||||
*.mkdn text
|
||||
*.mdtxt text
|
||||
*.mdtext text
|
||||
*.txt text
|
||||
AUTHORS text
|
||||
CHANGELOG text
|
||||
CHANGES text
|
||||
CONTRIBUTING text
|
||||
COPYING text
|
||||
INSTALL text
|
||||
license text
|
||||
LICENSE text
|
||||
NEWS text
|
||||
readme text
|
||||
*README* text
|
||||
TODO text
|
||||
|
||||
GRAPHICS
|
||||
*.ai binary
|
||||
|
|
@ -83,7 +82,7 @@ GRAPHICS
|
|||
*.png binary
|
||||
*.psb binary
|
||||
*.psd binary
|
||||
*.svg text eol=lf
|
||||
*.svg text
|
||||
*.svgz binary
|
||||
*.tif binary
|
||||
*.tiff binary
|
||||
|
|
@ -93,4 +92,3 @@ GRAPHICS
|
|||
# hex files
|
||||
*.hex binary
|
||||
*.eep binary
|
||||
nix/sources.nix linguist-generated=true
|
||||
|
|
|
|||
41
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
41
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
|
@ -1,41 +0,0 @@
|
|||
name: Bug report
|
||||
description: Create a report to help us improve QMK Firmware.
|
||||
title: "[Bug] "
|
||||
labels: ["bug", "help wanted"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Provide a general summary of the bug in the title above.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Describe the Bug
|
||||
description: A clear and concise description of what the bug is.
|
||||
- type: input
|
||||
attributes:
|
||||
label: Keyboard Used
|
||||
description: The name of the keyboard from the `make` or `qmk compile`/`qmk flash` commands, eg. `planck/rev6`.
|
||||
- type: input
|
||||
attributes:
|
||||
label: Link to product page (if applicable)
|
||||
- type: input
|
||||
attributes:
|
||||
label: Operating System
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: qmk doctor Output
|
||||
description: Output from running the `qmk doctor` command.
|
||||
render: text
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is AutoHotKey / Karabiner installed
|
||||
options:
|
||||
- label: AutoHotKey (Windows)
|
||||
- label: Karabiner (macOS)
|
||||
- type: input
|
||||
attributes:
|
||||
label: Other keyboard-related software installed
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Add any other relevant information about the problem here.
|
||||
8
.github/ISSUE_TEMPLATE/config.yml
vendored
8
.github/ISSUE_TEMPLATE/config.yml
vendored
|
|
@ -1,8 +0,0 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: QMK Discord
|
||||
url: https://discord.gg/qmk
|
||||
about: Ask questions, discuss issues and features. Chill.
|
||||
- name: OLKB Subreddit
|
||||
url: https://www.reddit.com/r/olkb
|
||||
about: All things OLKB and QMK.
|
||||
24
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
24
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
|
|
@ -1,24 +0,0 @@
|
|||
name: Feature request
|
||||
description: Suggest a new feature or changes to existing features.
|
||||
title: "[Feature Request] "
|
||||
labels: ["enhancement", "help wanted"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Provide a general summary of the changes you want in the title above.
|
||||
|
||||
Please refrain from asking maintainers to add support for specific keyboards -- it is unlikely they will have hardware available, and will not be able to help.
|
||||
Your best bet is to take the initiative, add support, then submit a PR yourself.
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Feature Request Type
|
||||
options:
|
||||
- label: Core functionality
|
||||
- label: Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
|
||||
- label: Alteration (enhancement/optimization) of existing feature(s)
|
||||
- label: New behavior
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Description
|
||||
description: A few sentences describing what it is that you'd like to see in QMK. Additional information (such as links to spec sheets, licensing info, other related issues or PRs, etc) would be helpful.
|
||||
19
.github/ISSUE_TEMPLATE/other_issues.yml
vendored
19
.github/ISSUE_TEMPLATE/other_issues.yml
vendored
|
|
@ -1,19 +0,0 @@
|
|||
name: Other issues
|
||||
description: Anything else that doesn't fall into the above categories.
|
||||
labels: ["help wanted", "question"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Provide a general summary of the changes you want in the title above.
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Please check [https://docs.qmk.fm/#/support](https://docs.qmk.fm/#/support) for additional resources first. If that doesn't answer your question, choose the bug report template instead, as that may be more appropriate.
|
||||
|
||||
Please refrain from asking maintainers to add support for specific keyboards -- it is unlikely they will have hardware available, and will not be able to help.
|
||||
Your best bet is to take the initiative, add support, then submit a PR yourself.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Issue Description
|
||||
description: Describe your issue in as much detail as possible.
|
||||
11
.github/ISSUE_TEMPLATE/zzz_blank.md
vendored
11
.github/ISSUE_TEMPLATE/zzz_blank.md
vendored
|
|
@ -1,11 +0,0 @@
|
|||
---
|
||||
name: Blank issue
|
||||
about: If you're 100% sure that you don't need one of the other issue templates, use
|
||||
this one instead.
|
||||
title: ''
|
||||
labels: help wanted, question
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
|
||||
34
.github/PULL_REQUEST_TEMPLATE.md
vendored
34
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
|
@ -1,34 +0,0 @@
|
|||
<!--- Provide a general summary of your changes in the title above. -->
|
||||
|
||||
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
|
||||
|
||||
## Description
|
||||
|
||||
<!--- Describe your changes in detail here. -->
|
||||
|
||||
## Types of Changes
|
||||
|
||||
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply. -->
|
||||
- [ ] Core
|
||||
- [ ] Bugfix
|
||||
- [ ] New feature
|
||||
- [ ] Enhancement/optimization
|
||||
- [ ] Keyboard (addition or update)
|
||||
- [ ] Keymap/layout (addition or update)
|
||||
- [ ] Documentation
|
||||
|
||||
## Issues Fixed or Closed by This PR
|
||||
|
||||
*
|
||||
|
||||
## Checklist
|
||||
|
||||
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
|
||||
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
|
||||
- [ ] My code follows the code style of this project: [**C**](https://docs.qmk.fm/#/coding_conventions_c), [**Python**](https://docs.qmk.fm/#/coding_conventions_python)
|
||||
- [ ] I have read the [**PR Checklist** document](https://docs.qmk.fm/#/pr_checklist) and have made the appropriate changes.
|
||||
- [ ] My change requires a change to the documentation.
|
||||
- [ ] I have updated the documentation accordingly.
|
||||
- [ ] I have read the [**CONTRIBUTING** document](https://docs.qmk.fm/#/contributing).
|
||||
- [ ] I have added tests to cover my changes.
|
||||
- [ ] I have tested the changes and verified that they work and don't break anything (as well as I can manage).
|
||||
9
.github/dependabot.yml
vendored
9
.github/dependabot.yml
vendored
|
|
@ -1,9 +0,0 @@
|
|||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
labels: CI
|
||||
reviewers:
|
||||
- "qmk/collaborators"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
60
.github/labeler.yml
vendored
60
.github/labeler.yml
vendored
|
|
@ -1,60 +0,0 @@
|
|||
core:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- quantum/**
|
||||
- tmk_core/**
|
||||
- drivers/**
|
||||
- tests/**
|
||||
- util/**
|
||||
- platforms/**
|
||||
- builddefs/*.mk
|
||||
- Makefile
|
||||
- '*.mk'
|
||||
dependencies:
|
||||
- changed-files:
|
||||
- all-globs-to-any-file:
|
||||
- lib/**
|
||||
- '!lib/python/**'
|
||||
keyboard:
|
||||
- changed-files:
|
||||
- all-globs-to-any-file:
|
||||
- keyboards/**
|
||||
- '!keyboards/**/keymaps/**'
|
||||
keymap:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- users/**
|
||||
- layouts/**
|
||||
- keyboards/**/keymaps/**
|
||||
via:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- keyboards/**/keymaps/via/*
|
||||
cli:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- requirements.txt
|
||||
- lib/python/**
|
||||
python:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- '**/*.py'
|
||||
documentation:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- docs/**
|
||||
- builddefs/docsgen/**
|
||||
CI:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- .github/**
|
||||
dd:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- data/constants/**
|
||||
- data/mappings/**
|
||||
- data/schemas/**
|
||||
community_module:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- modules/**
|
||||
50
.github/workflows/api.yml
vendored
50
.github/workflows/api.yml
vendored
|
|
@ -1,50 +0,0 @@
|
|||
name: Update API Data
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
paths:
|
||||
- 'keyboards/**'
|
||||
- 'layouts/community/**'
|
||||
- 'lib/python/**'
|
||||
- 'data/**'
|
||||
- '.github/workflows/api.yml'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
api_data:
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
# protect against those who work in their fork on 'important' branches
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip3 install -r requirements-dev.txt
|
||||
|
||||
- name: Generate API Data
|
||||
run: |
|
||||
qmk generate-api
|
||||
|
||||
- name: Upload API Data
|
||||
uses: jakejarvis/s3-sync-action@master
|
||||
with:
|
||||
args: --acl public-read --follow-symlinks --delete
|
||||
env:
|
||||
AWS_S3_BUCKET: ${{ github.ref == 'refs/heads/develop' && secrets['API_SPACE_DEVELOP'] || secrets['API_SPACE_MASTER'] }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_KEY }}
|
||||
AWS_S3_ENDPOINT: https://nyc3.digitaloceanspaces.com
|
||||
SOURCE_DIR: '.build/api_data'
|
||||
20
.github/workflows/auto_approve.yml
vendored
20
.github/workflows/auto_approve.yml
vendored
|
|
@ -1,20 +0,0 @@
|
|||
name: Automatic Approve
|
||||
|
||||
permissions: {}
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/5 * * * *"
|
||||
|
||||
jobs:
|
||||
automatic_approve:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: zvecr/automatic-approve-action@safe_files
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
workflows: "labeler.yml,lint.yml,docs.yml"
|
||||
safe_files: "keyboards/,docs/"
|
||||
39
.github/workflows/auto_tag.yml
vendored
39
.github/workflows/auto_tag.yml
vendored
|
|
@ -1,39 +0,0 @@
|
|||
name: Essential files modified
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- builddefs/**/*
|
||||
- drivers/**/*
|
||||
- platforms/**/*
|
||||
- quantum/**/*
|
||||
- tests/**/*
|
||||
- tmk_core/**/*
|
||||
- lib/python/**/*
|
||||
- util/**/*
|
||||
- Makefile
|
||||
- '*.mk'
|
||||
|
||||
jobs:
|
||||
tag:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# protect against those who develop with their fork on master
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Bump version and push tag
|
||||
uses: anothrNick/github-tag-action@1.66.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
DEFAULT_BUMP: 'patch'
|
||||
139
.github/workflows/ci_build_major_branch.yml
vendored
139
.github/workflows/ci_build_major_branch.yml
vendored
|
|
@ -1,139 +0,0 @@
|
|||
name: CI Build Major Branch
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
actions: write
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
type: choice
|
||||
description: "Branch to build"
|
||||
options: [master, develop]
|
||||
|
||||
env:
|
||||
# https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#usage-limits
|
||||
# We've decreased it from 20 to 15 to allow for other GHA to run unimpeded
|
||||
CONCURRENT_JOBS: 15
|
||||
|
||||
# Ensure we only have one build running at a time, cancelling any active builds if a new commit is pushed to the respective branch
|
||||
concurrency:
|
||||
group: ci_build-${{ github.event.inputs.branch || github.ref_name }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
determine_concurrency:
|
||||
name: "Determine concurrency"
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
outputs:
|
||||
slice_length: ${{ steps.generate_slice_length.outputs.slice_length }}
|
||||
|
||||
steps:
|
||||
- name: Install prerequisites
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y jq
|
||||
|
||||
- name: Disable safe.directory check
|
||||
run: |
|
||||
git config --global --add safe.directory '*'
|
||||
|
||||
- name: Checkout QMK Firmware
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Determine concurrency
|
||||
id: generate_slice_length
|
||||
run: |
|
||||
target_count=$( {
|
||||
qmk find -km default 2>/dev/null
|
||||
# qmk find -km xap 2>/dev/null
|
||||
} | sort | uniq | wc -l)
|
||||
slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution
|
||||
echo "slice_length=$slice_length" >> $GITHUB_OUTPUT
|
||||
|
||||
build_targets:
|
||||
name: "Compile keymap ${{ matrix.keymap }}"
|
||||
needs: determine_concurrency
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
keymap: [default]
|
||||
# keymap: [default, xap]
|
||||
uses: ./.github/workflows/ci_build_major_branch_keymap.yml
|
||||
with:
|
||||
branch: ${{ inputs.branch || github.ref_name }}
|
||||
keymap: ${{ matrix.keymap }}
|
||||
slice_length: ${{ needs.determine_concurrency.outputs.slice_length }}
|
||||
secrets: inherit
|
||||
|
||||
rollup_tasks:
|
||||
name: "Consolidation"
|
||||
needs: build_targets
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Disable safe.directory check
|
||||
run: |
|
||||
git config --global --add safe.directory '*'
|
||||
|
||||
- name: Checkout QMK Firmware
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Download firmwares
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
pattern: firmware-*
|
||||
path: .
|
||||
merge-multiple: true
|
||||
|
||||
- name: Generate index page
|
||||
run: |
|
||||
python3 -m pip install -r ./util/ci/requirements.txt
|
||||
./util/ci/index_generator.py > index.html
|
||||
./util/ci/firmware_list_generator.py > firmware_list.json
|
||||
|
||||
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/${{ github.sha }}
|
||||
uses: jakejarvis/s3-sync-action@master
|
||||
with:
|
||||
args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2'
|
||||
env:
|
||||
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
|
||||
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
|
||||
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
|
||||
SOURCE_DIR: .
|
||||
DEST_DIR: ${{ inputs.branch || github.ref_name }}/${{ github.sha }}
|
||||
|
||||
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/latest
|
||||
uses: jakejarvis/s3-sync-action@master
|
||||
with:
|
||||
args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2'
|
||||
env:
|
||||
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
|
||||
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
|
||||
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
|
||||
SOURCE_DIR: .
|
||||
DEST_DIR: ${{ inputs.branch || github.ref_name }}/latest
|
||||
|
||||
- name: Check if failure marker file exists
|
||||
id: check_failure_marker
|
||||
uses: andstor/file-existence-action@v3
|
||||
with:
|
||||
files: ./.failed
|
||||
|
||||
- name: Fail build if needed
|
||||
if: steps.check_failure_marker.outputs.files_exists == 'true'
|
||||
run: |
|
||||
# Exit with failure if the compilation stage failed
|
||||
exit 1
|
||||
181
.github/workflows/ci_build_major_branch_keymap.yml
vendored
181
.github/workflows/ci_build_major_branch_keymap.yml
vendored
|
|
@ -1,181 +0,0 @@
|
|||
name: CI Build Major Branch Keymap
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
actions: write
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
branch:
|
||||
type: string
|
||||
required: true
|
||||
keymap:
|
||||
type: string
|
||||
required: true
|
||||
slice_length:
|
||||
type: string
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
generate_targets:
|
||||
name: "Generate targets (${{ inputs.keymap }})"
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
outputs:
|
||||
targets: ${{ steps.generate_targets.outputs.targets }}
|
||||
|
||||
steps:
|
||||
- name: Install prerequisites
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y jq
|
||||
|
||||
- name: Disable safe.directory check
|
||||
run: |
|
||||
git config --global --add safe.directory '*'
|
||||
|
||||
- name: Checkout QMK Firmware
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Generate build targets
|
||||
id: generate_targets
|
||||
run: |
|
||||
{ # Intentionally use `shuf` here so that we share manufacturers across all build groups -- some have a lot of ARM-based boards which inherently take longer
|
||||
counter=0
|
||||
echo -n '{'
|
||||
qmk find -km ${{ inputs.keymap }} 2>/dev/null | sort | uniq | shuf | xargs -L${{ inputs.slice_length }} | while IFS=$'\n' read target ; do
|
||||
if [ $counter -gt 0 ]; then
|
||||
echo -n ','
|
||||
fi
|
||||
counter=$((counter+1))
|
||||
printf "\"group %02d\":{" $counter
|
||||
echo -n '"targets":"'
|
||||
echo $target | tr ' ' '\n' | sort | uniq | xargs echo -n
|
||||
echo -n '"}'
|
||||
done
|
||||
echo -n '}'
|
||||
} | sed -e 's@\n@@g' > targets.json
|
||||
|
||||
# Output the target keys as a variable
|
||||
echo "targets=$(jq -c 'keys' targets.json)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Upload targets json
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: targets-${{ inputs.keymap }}
|
||||
path: targets.json
|
||||
|
||||
build_targets:
|
||||
name: "Compile ${{ matrix.target }} (${{ inputs.keymap }})"
|
||||
needs: generate_targets
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
continue-on-error: true
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
target: ${{ fromJson(needs.generate_targets.outputs.targets) }}
|
||||
|
||||
steps:
|
||||
- name: Install prerequisites
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y jq
|
||||
|
||||
- name: Disable safe.directory check
|
||||
run: |
|
||||
git config --global --add safe.directory '*'
|
||||
|
||||
- name: Checkout QMK Firmware
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Get target definitions
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: targets-${{ inputs.keymap }}
|
||||
path: .
|
||||
|
||||
- name: Deploy submodules
|
||||
run: |
|
||||
qmk git-submodule -f
|
||||
|
||||
- name: Dump targets
|
||||
run: |
|
||||
jq -r '.["${{ matrix.target }}"].targets' targets.json | tr ' ' '\n' | sort
|
||||
|
||||
- name: Build targets
|
||||
continue-on-error: true
|
||||
run: |
|
||||
export NCPUS=$(( $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -1 ))
|
||||
qmk mass-compile -t -j $NCPUS -e DUMP_CI_METADATA=yes $(jq -r '.["${{ matrix.target }}"].targets' targets.json) || touch .failed
|
||||
|
||||
- name: Upload binaries
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: firmware-${{ inputs.keymap }}-${{ matrix.target }}
|
||||
if-no-files-found: ignore
|
||||
path: |
|
||||
*.bin
|
||||
*.hex
|
||||
*.uf2
|
||||
.build/failed.*
|
||||
.failed
|
||||
|
||||
- name: Fail build if any group failed
|
||||
run: |
|
||||
# Exit with failure if the compilation stage failed
|
||||
[ ! -f .failed ] || exit 1
|
||||
|
||||
repack_firmware:
|
||||
if: always()
|
||||
name: "Repack artifacts"
|
||||
needs: build_targets
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout QMK Firmware
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download firmwares
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
pattern: firmware-${{ inputs.keymap }}-*
|
||||
path: .
|
||||
merge-multiple: true
|
||||
|
||||
- name: Upload all firmwares
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: firmware-${{ inputs.keymap }}
|
||||
if-no-files-found: ignore
|
||||
path: |
|
||||
*.bin
|
||||
*.hex
|
||||
*.uf2
|
||||
.build/failed.*
|
||||
.failed
|
||||
|
||||
- name: Generate output logs
|
||||
run: |
|
||||
# Generate the step summary markdown
|
||||
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
|
||||
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
|
||||
truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
|
||||
|
||||
- name: Delete temporary build artifacts
|
||||
uses: geekyeggo/delete-artifact@v5
|
||||
with:
|
||||
name: |
|
||||
firmware-${{ inputs.keymap }}-*
|
||||
targets-${{ inputs.keymap }}
|
||||
|
||||
- name: 'CI Discord Notification'
|
||||
if: always() && !cancelled()
|
||||
working-directory: util/ci/
|
||||
env:
|
||||
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
|
||||
run: |
|
||||
python3 -m pip install -r requirements.txt
|
||||
python3 ./discord-results.py --branch ${{ inputs.branch || github.ref_name }} --sha $(git rev-parse HEAD) --keymap ${{ inputs.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
34
.github/workflows/cli.yml
vendored
34
.github/workflows/cli.yml
vendored
|
|
@ -1,34 +0,0 @@
|
|||
name: CLI CI
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
paths:
|
||||
- 'lib/python/**'
|
||||
- 'requirements.txt'
|
||||
- '.github/workflows/cli.yml'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
steps:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip3 install -r requirements-dev.txt
|
||||
- name: Run tests
|
||||
run: qmk pytest
|
||||
37
.github/workflows/develop_update.yml
vendored
37
.github/workflows/develop_update.yml
vendored
|
|
@ -1,37 +0,0 @@
|
|||
name: Update develop after master merge
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
develop_update:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Disable automatic eol conversion
|
||||
run: |
|
||||
echo "* -text" > .git/info/attributes
|
||||
|
||||
- name: Checkout develop
|
||||
run: |
|
||||
git fetch origin master develop
|
||||
git checkout develop
|
||||
|
||||
- name: Update develop from master
|
||||
run: |
|
||||
git config --global user.name "QMK Bot"
|
||||
git config --global user.email "hello@qmk.fm"
|
||||
git merge origin/master
|
||||
git push origin develop
|
||||
65
.github/workflows/docs.yml
vendored
65
.github/workflows/docs.yml
vendored
|
|
@ -1,65 +0,0 @@
|
|||
name: Generate Docs
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- 'builddefs/docsgen/**'
|
||||
- 'tmk_core/**'
|
||||
- 'quantum/**'
|
||||
- 'platforms/**'
|
||||
- 'docs/**'
|
||||
- '.github/workflows/docs.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
- 'builddefs/docsgen/**'
|
||||
- 'docs/**'
|
||||
- '.github/workflows/docs.yml'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
generate:
|
||||
runs-on: ubuntu-latest
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt-get update && apt-get install -y rsync doxygen
|
||||
# install nvm
|
||||
touch $HOME/.bashrc
|
||||
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
|
||||
|
||||
- name: Install node
|
||||
run: |
|
||||
source $HOME/.bashrc
|
||||
nvm install 20
|
||||
nvm use 20
|
||||
corepack enable
|
||||
|
||||
- name: Build docs
|
||||
run: |
|
||||
source $HOME/.bashrc
|
||||
nvm use 20
|
||||
qmk --verbose generate-docs
|
||||
|
||||
- name: Deploy
|
||||
if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }}
|
||||
uses: JamesIves/github-pages-deploy-action@v4.7.3
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: gh-pages
|
||||
folder: .build/docs
|
||||
git-config-name: QMK Bot
|
||||
git-config-email: hello@qmk.fm
|
||||
43
.github/workflows/feature_branch_update.yml
vendored
43
.github/workflows/feature_branch_update.yml
vendored
|
|
@ -1,43 +0,0 @@
|
|||
name: Update feature branches after develop merge
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- develop
|
||||
|
||||
jobs:
|
||||
feature_branch_update:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
branch:
|
||||
- xap
|
||||
- riot
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Disable automatic eol conversion
|
||||
run: |
|
||||
echo "* -text" > .git/info/attributes
|
||||
|
||||
- name: Checkout branch
|
||||
run: |
|
||||
git fetch origin develop ${{ matrix.branch }}
|
||||
git checkout ${{ matrix.branch }}
|
||||
|
||||
- name: Update branch from develop
|
||||
run: |
|
||||
git config --global user.name "QMK Bot"
|
||||
git config --global user.email "hello@qmk.fm"
|
||||
git merge origin/develop
|
||||
git push origin ${{ matrix.branch }}
|
||||
58
.github/workflows/format.yml
vendored
58
.github/workflows/format.yml
vendored
|
|
@ -1,58 +0,0 @@
|
|||
name: PR Lint Format
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'drivers/**'
|
||||
- 'lib/arm_atsam/**'
|
||||
- 'lib/lib8tion/**'
|
||||
- 'lib/python/**'
|
||||
- 'modules/**'
|
||||
- 'platforms/**'
|
||||
- 'quantum/**'
|
||||
- 'tests/**'
|
||||
- 'tmk_core/**'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
steps:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip3 install -r requirements-dev.txt
|
||||
|
||||
- name: Get changed files
|
||||
id: file_changes
|
||||
uses: tj-actions/changed-files@v46
|
||||
with:
|
||||
use_rest_api: true
|
||||
|
||||
- name: Run qmk formatters
|
||||
shell: 'bash {0}'
|
||||
run: |
|
||||
echo '${{ steps.file_changes.outputs.added_files}}' '${{ steps.file_changes.outputs.modified_files}}' > ~/files_changed.txt
|
||||
qmk format-c --core-only $(< ~/files_changed.txt) || true
|
||||
qmk format-python $(< ~/files_changed.txt) || true
|
||||
qmk format-text $(< ~/files_changed.txt) || true
|
||||
|
||||
- name: Fail when formatting required
|
||||
run: |
|
||||
git diff
|
||||
for file in $(git diff --name-only); do
|
||||
echo "File '${file}' Requires Formatting"
|
||||
echo "::error file=${file}::Requires Formatting"
|
||||
done
|
||||
test -z "$(git diff --name-only)"
|
||||
59
.github/workflows/format_push.yml
vendored
59
.github/workflows/format_push.yml
vendored
|
|
@ -1,59 +0,0 @@
|
|||
name: Lint Format
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
steps:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Disable automatic eol conversion
|
||||
run: |
|
||||
echo "* -text" > .git/info/attributes
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip3 install -r requirements-dev.txt
|
||||
|
||||
- name: Run qmk formatters
|
||||
shell: 'bash {0}'
|
||||
run: |
|
||||
qmk format-c -a
|
||||
qmk format-python -a
|
||||
qmk format-text -a
|
||||
git diff
|
||||
|
||||
- uses: rlespinasse/github-slug-action@v5
|
||||
|
||||
- name: Become QMK Bot
|
||||
run: |
|
||||
git config user.name 'QMK Bot'
|
||||
git config user.email 'hello@qmk.fm'
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7
|
||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
delete-branch: true
|
||||
branch: bugfix/format_${{ env.GITHUB_REF_SLUG }}
|
||||
author: QMK Bot <hello@qmk.fm>
|
||||
committer: QMK Bot <hello@qmk.fm>
|
||||
commit-message: Format code according to conventions
|
||||
title: '[CI] Format code according to conventions'
|
||||
13
.github/workflows/labeler.yml
vendored
13
.github/workflows/labeler.yml
vendored
|
|
@ -1,13 +0,0 @@
|
|||
name: "Pull Request Labeler"
|
||||
|
||||
on:
|
||||
- pull_request_target
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@v5
|
||||
87
.github/workflows/lint.yml
vendored
87
.github/workflows/lint.yml
vendored
|
|
@ -1,87 +0,0 @@
|
|||
name: PR Lint keyboards
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'keyboards/**'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
steps:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip3 install -r requirements-dev.txt
|
||||
|
||||
- name: Get changed files
|
||||
id: file_changes
|
||||
uses: tj-actions/changed-files@v46
|
||||
with:
|
||||
use_rest_api: true
|
||||
|
||||
- name: Print info
|
||||
run: |
|
||||
git rev-parse --short HEAD
|
||||
echo ${{ github.event.pull_request.base.sha }}
|
||||
echo '${{ steps.file_changes.outputs.all_changed_files}}'
|
||||
|
||||
- name: Run qmk lint
|
||||
if: always()
|
||||
shell: 'bash {0}'
|
||||
run: |
|
||||
QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.all_changed_files}}' | sed 's/ /\n/g')
|
||||
QMK_KEYBOARDS=$(qmk list-keyboards)
|
||||
|
||||
exit_code=0
|
||||
|
||||
for KB in $QMK_KEYBOARDS; do
|
||||
KEYBOARD_CHANGES=$(echo "$QMK_CHANGES" | grep -E '^(keyboards/'${KB}'/)')
|
||||
if [[ -z "$KEYBOARD_CHANGES" ]]; then
|
||||
# skip as no changes for this keyboard
|
||||
continue
|
||||
fi
|
||||
|
||||
KEYMAP_ONLY=$(echo "$KEYBOARD_CHANGES" | grep -cv /keymaps/)
|
||||
if [[ $KEYMAP_ONLY -gt 0 ]]; then
|
||||
echo "linting ${KB}"
|
||||
|
||||
qmk lint --keyboard ${KB} && qmk info -l --keyboard ${KB}
|
||||
exit_code=$(($exit_code + $?))
|
||||
fi
|
||||
done
|
||||
|
||||
qmk format-text ${{ steps.file_changes.outputs.all_changed_files}} || true
|
||||
for file in ${{ steps.file_changes.outputs.all_changed_files}}; do
|
||||
if [[ -f $file ]]; then
|
||||
if ! git diff --quiet $file; then
|
||||
echo "File '${file}' Requires Formatting"
|
||||
echo "::error file=${file}::Requires Formatting"
|
||||
exit_code=$(($exit_code + 1))
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ $exit_code -gt 255 ]]; then
|
||||
exit 255
|
||||
fi
|
||||
exit $exit_code
|
||||
|
||||
- name: Verify keyboard aliases
|
||||
if: always()
|
||||
shell: 'bash {0}'
|
||||
run: |
|
||||
git reset --hard
|
||||
git clean -xfd
|
||||
qmk ci-validate-aliases
|
||||
36
.github/workflows/regen.yml
vendored
36
.github/workflows/regen.yml
vendored
|
|
@ -1,36 +0,0 @@
|
|||
name: PR Regenerate Files
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'data/constants/**'
|
||||
- 'lib/python/**'
|
||||
|
||||
jobs:
|
||||
regen:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
steps:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Run qmk generators
|
||||
run: |
|
||||
util/regen.sh
|
||||
git diff
|
||||
|
||||
- name: Fail when regeneration required
|
||||
run: |
|
||||
git diff
|
||||
for file in $(git diff --name-only); do
|
||||
echo "File '${file}' Requires Regeneration"
|
||||
echo "::error file=${file}::Requires Regeneration"
|
||||
done
|
||||
test -z "$(git diff --name-only)"
|
||||
46
.github/workflows/regen_push.yml
vendored
46
.github/workflows/regen_push.yml
vendored
|
|
@ -1,46 +0,0 @@
|
|||
name: Regenerate Files
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
|
||||
jobs:
|
||||
regen:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
steps:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Run qmk generators
|
||||
run: |
|
||||
util/regen.sh
|
||||
git diff
|
||||
|
||||
- uses: rlespinasse/github-slug-action@v5
|
||||
|
||||
- name: Become QMK Bot
|
||||
run: |
|
||||
git config user.name 'QMK Bot'
|
||||
git config user.email 'hello@qmk.fm'
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7
|
||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
delete-branch: true
|
||||
branch: bugfix/regen_${{ env.GITHUB_REF_SLUG }}
|
||||
author: QMK Bot <hello@qmk.fm>
|
||||
committer: QMK Bot <hello@qmk.fm>
|
||||
commit-message: Regenerate Files
|
||||
title: '[CI] Regenerate Files'
|
||||
66
.github/workflows/stale.yml
vendored
66
.github/workflows/stale.yml
vendored
|
|
@ -1,66 +0,0 @@
|
|||
name: 'Close stale issues and PRs'
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
actions: write
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '30 1 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@main
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
remove-stale-when-updated: true
|
||||
exempt-draft-pr: true
|
||||
ascending: true
|
||||
operations-per-run: 150
|
||||
|
||||
stale-issue-label: stale
|
||||
days-before-issue-stale: 90
|
||||
days-before-issue-close: 30
|
||||
exempt-issue-labels: bug,in progress,on hold,discussion,to do
|
||||
|
||||
stale-issue-message: >
|
||||
This issue has been automatically marked as stale because it has not had activity in the
|
||||
last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity
|
||||
occurs.
|
||||
|
||||
For maintainers: Please label with `bug`, `in progress`, `on hold`, `discussion` or `to do` to prevent
|
||||
the issue from being re-flagged.
|
||||
|
||||
close-issue-message: >
|
||||
This issue has been automatically closed because it has not had activity in the last 30 days.
|
||||
If this issue is still valid, re-open the issue and let us know.
|
||||
|
||||
// [stale-action-closed]
|
||||
|
||||
stale-pr-label: stale
|
||||
days-before-pr-stale: 45
|
||||
days-before-pr-close: 30
|
||||
exempt-pr-labels: bug,awaiting review,breaking_change,in progress,on hold,needs-core-wireless,crippled-firmware
|
||||
|
||||
stale-pr-message: >
|
||||
Thank you for your contribution!
|
||||
|
||||
This pull request has been automatically marked as stale because it has not had
|
||||
activity in the last 45 days. It will be closed in 30 days if no further activity occurs.
|
||||
Please feel free to give a status update now, or re-open when it's ready.
|
||||
|
||||
For maintainers: Please label with `bug`, `awaiting review`, `breaking_change`, `in progress`, or `on hold`
|
||||
to prevent the issue from being re-flagged.
|
||||
|
||||
close-pr-message: >
|
||||
Thank you for your contribution!
|
||||
|
||||
This pull request has been automatically closed because it has not had activity in the last 30 days.
|
||||
Please feel free to give a status update now, ping for review, or re-open when it's ready.
|
||||
|
||||
// [stale-action-closed]
|
||||
35
.github/workflows/unit_test.yml
vendored
35
.github/workflows/unit_test.yml
vendored
|
|
@ -1,35 +0,0 @@
|
|||
name: Unit Tests
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
paths:
|
||||
- 'builddefs/**'
|
||||
- 'quantum/**'
|
||||
- 'platforms/**'
|
||||
- 'tmk_core/**'
|
||||
- 'tests/**'
|
||||
- '*.mk'
|
||||
- 'Makefile'
|
||||
- '.github/workflows/unit_test.yml'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install dependencies
|
||||
run: pip3 install -r requirements-dev.txt
|
||||
- name: Run tests
|
||||
run: qmk test-c
|
||||
150
.gitignore
vendored
150
.gitignore
vendored
|
|
@ -1,122 +1,70 @@
|
|||
# Junk files
|
||||
*.bak
|
||||
*.swp
|
||||
*~
|
||||
.DS_Store
|
||||
._*
|
||||
|
||||
# Merge files
|
||||
*.orig
|
||||
*.rej
|
||||
|
||||
# Build artifacts
|
||||
.clang_complete
|
||||
.build/
|
||||
.dep
|
||||
*.o
|
||||
*.bin
|
||||
*.eep
|
||||
*.elf
|
||||
*.hex
|
||||
*.qmk
|
||||
!util/bootloader.hex
|
||||
!quantum/tools/eeprom_reset.hex
|
||||
*.log
|
||||
*.lss
|
||||
*.lst
|
||||
*.map
|
||||
*.o
|
||||
*.a
|
||||
*.so
|
||||
*.dylib
|
||||
*.dll
|
||||
*.la
|
||||
*.stackdump
|
||||
*.sym
|
||||
index.html
|
||||
firmware_list.json
|
||||
|
||||
# QMK-specific
|
||||
api_data/v1
|
||||
*.swp
|
||||
tags
|
||||
*~
|
||||
build/
|
||||
.build/
|
||||
*.bak
|
||||
.vagrant/
|
||||
quantum/version.h
|
||||
*.bin
|
||||
*.eep
|
||||
*.hex
|
||||
*.qmk
|
||||
*.uf2
|
||||
|
||||
# DD config at wrong location
|
||||
/keyboards/**/keymaps/*/info.json
|
||||
/keyboards/**/keymaps/*/keyboard.json
|
||||
|
||||
# Old-style QMK Makefiles
|
||||
/keyboards/**/Makefile
|
||||
|
||||
# kbfirmware....
|
||||
/keyboards/**/kb.h
|
||||
/keyboards/**/kb.c
|
||||
.idea/
|
||||
CMakeLists.txt
|
||||
cmake-build-debug
|
||||
doxygen/
|
||||
.DS_STORE
|
||||
/util/wsl_downloaded
|
||||
/util/win_downloaded
|
||||
/keyboards/*/Makefile
|
||||
/keyboards/*/*/Makefile
|
||||
/keyboards/*/*/*/Makefile
|
||||
/keyboards/*/*/*/*/Makefile
|
||||
/keyboards/*/*/*/*/*/Makefile
|
||||
/keyboards/*/keymaps/Makefile
|
||||
/keyboards/*/*/keymaps/Makefile
|
||||
/keyboards/*/*/*/keymaps/Makefile
|
||||
/keyboards/*/*/*/*/keymaps/Makefile
|
||||
/keyboards/*/*/*/*/*/keymaps/Makefile
|
||||
|
||||
# Eclipse/PyCharm/Other IDE Settings
|
||||
*.iml
|
||||
.browse.VC.db*
|
||||
.cproject
|
||||
.idea
|
||||
.idea/
|
||||
.project
|
||||
.settings/
|
||||
|
||||
# ?
|
||||
.dep
|
||||
.history/
|
||||
build/
|
||||
cmake-build-debug
|
||||
CMakeLists.txt
|
||||
*.pdf
|
||||
|
||||
.idea
|
||||
*.iml
|
||||
.browse.VC.db*
|
||||
*.stackdump
|
||||
util/Win_Check_Output.txt
|
||||
# Let these ones be user specific, since we have so many different configurations
|
||||
*.code-workspace
|
||||
.stfolder
|
||||
.tags
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/ipch/
|
||||
.vscode/last.sql
|
||||
.vscode/launch.json
|
||||
.vscode/tasks.json
|
||||
.vscode/last.sql
|
||||
.vscode/temp.sql
|
||||
tags
|
||||
.stfolder
|
||||
.tags
|
||||
|
||||
# Ignore image/font files
|
||||
*.bmp
|
||||
*.wbmp
|
||||
*.gif
|
||||
*.jpg
|
||||
*.jpeg
|
||||
# ignore image files
|
||||
*.png
|
||||
*.apng
|
||||
*.mng
|
||||
*.svg
|
||||
*.webp
|
||||
*.webm
|
||||
*.avi
|
||||
*.mp4
|
||||
*.mpeg
|
||||
*.ttf
|
||||
*.otf
|
||||
*.jpg
|
||||
*.gif
|
||||
|
||||
# Things Travis sees
|
||||
/.vs
|
||||
id_rsa_*
|
||||
# Do not ignore MiniDox left/right hand eeprom files
|
||||
!keyboards/minidox/*.eep
|
||||
|
||||
# things travis sees
|
||||
secrets.tar
|
||||
|
||||
# Python things
|
||||
__pycache__
|
||||
.python-version
|
||||
.venv
|
||||
|
||||
# Prerequisites for updating ChibiOS
|
||||
/util/fmpp*
|
||||
|
||||
# Allow to exist but don't include it in the repo
|
||||
user_song_list.h
|
||||
|
||||
# clangd
|
||||
compile_commands.json
|
||||
.clangd/
|
||||
.cache/
|
||||
|
||||
# VIA(L) files that don't belong in QMK repo
|
||||
via*.json
|
||||
/keyboards/**/keymaps/via/*
|
||||
/keyboards/**/keymaps/vial/*
|
||||
id_rsa_*
|
||||
/.vs
|
||||
|
|
|
|||
25
.gitmodules
vendored
25
.gitmodules
vendored
|
|
@ -1,27 +1,14 @@
|
|||
[submodule "lib/chibios"]
|
||||
path = lib/chibios
|
||||
url = https://github.com/qmk/ChibiOS
|
||||
branch = master
|
||||
branch = handwire
|
||||
[submodule "lib/chibios-contrib"]
|
||||
path = lib/chibios-contrib
|
||||
url = https://github.com/qmk/ChibiOS-Contrib
|
||||
branch = master
|
||||
branch = k-type-fix
|
||||
[submodule "lib/ugfx"]
|
||||
path = lib/ugfx
|
||||
url = https://github.com/qmk/uGFX
|
||||
[submodule "lib/googletest"]
|
||||
path = lib/googletest
|
||||
url = https://github.com/qmk/googletest
|
||||
[submodule "lib/lufa"]
|
||||
path = lib/lufa
|
||||
url = https://github.com/qmk/lufa
|
||||
[submodule "lib/vusb"]
|
||||
path = lib/vusb
|
||||
url = https://github.com/qmk/v-usb
|
||||
[submodule "lib/printf"]
|
||||
path = lib/printf
|
||||
url = https://github.com/qmk/printf
|
||||
[submodule "lib/pico-sdk"]
|
||||
path = lib/pico-sdk
|
||||
url = https://github.com/qmk/pico-sdk.git
|
||||
[submodule "lib/lvgl"]
|
||||
path = lib/lvgl
|
||||
url = https://github.com/qmk/lvgl.git
|
||||
branch = release/v8.2
|
||||
url = https://github.com/google/googletest
|
||||
|
|
|
|||
44
.travis.yml
Normal file
44
.travis.yml
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
os: linux
|
||||
dist: trusty
|
||||
sudo: required
|
||||
group: edge
|
||||
language: c
|
||||
branches:
|
||||
except:
|
||||
- /^.*-automated-build$/
|
||||
- /^[0-9]+\.[0-9]+\.[0-9]+/
|
||||
env:
|
||||
global:
|
||||
- secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM=
|
||||
before_install:
|
||||
- wget http://ww1.microchip.com/downloads/en/DeviceDoc/avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz || wget http://qmk.fm/avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz
|
||||
install:
|
||||
- tar -zxf avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz
|
||||
- export PATH="$PATH:$TRAVIS_BUILD_DIR/avr8-gnu-toolchain-linux_x86_64/bin"
|
||||
- npm install -g moxygen
|
||||
before_script:
|
||||
- avr-gcc --version
|
||||
script:
|
||||
- make test:all AUTOGEN=false
|
||||
- bash util/travis_build.sh
|
||||
- bash util/travis_docs.sh
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- dfu-programmer
|
||||
- pandoc
|
||||
- gcc-arm-none-eabi
|
||||
- binutils-arm-none-eabi
|
||||
- libnewlib-arm-none-eabi
|
||||
- diffutils
|
||||
- dos2unix
|
||||
- doxygen
|
||||
after_success:
|
||||
bash util/travis_compiled_push.sh
|
||||
notifications:
|
||||
webhooks:
|
||||
urls:
|
||||
- https://webhooks.gitter.im/e/afce403d65f143dfac09
|
||||
on_success: always # options: [always|never|change] default: always
|
||||
on_failure: always # options: [always|never|change] default: always
|
||||
on_start: never # options: [always|never|change] default: always
|
||||
6
.vscode/extensions.json
vendored
6
.vscode/extensions.json
vendored
|
|
@ -1,10 +1,6 @@
|
|||
// Suggested extensions
|
||||
{
|
||||
"recommendations": [
|
||||
"EditorConfig.EditorConfig",
|
||||
"xaver.clang-format",
|
||||
"llvm-vs-code-extensions.vscode-clangd",
|
||||
"bierner.github-markdown-preview",
|
||||
"donjayamanne.git-extension-pack"
|
||||
"EditorConfig.EditorConfig"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
46
.vscode/settings.json
vendored
46
.vscode/settings.json
vendored
|
|
@ -5,53 +5,13 @@
|
|||
// Configure glob patterns for excluding files and folders.
|
||||
"files.exclude": {
|
||||
"**/.build": true,
|
||||
"**/*.hex": true,
|
||||
"**/*.bin": true,
|
||||
"**/*.uf2": true
|
||||
"**/*.hex": true
|
||||
},
|
||||
"files.associations": {
|
||||
// QMK Filetypes
|
||||
"keyboard.json": "jsonc",
|
||||
"info.json": "jsonc",
|
||||
"keymap.json": "jsonc",
|
||||
"qmk.json": "jsonc",
|
||||
"qmk_module.json": "jsonc",
|
||||
// Standard filetypes
|
||||
"*.h": "c",
|
||||
"*.c": "c",
|
||||
"*.inc": "c",
|
||||
"*.cpp": "cpp",
|
||||
"*.hpp": "cpp",
|
||||
"xstddef": "c",
|
||||
"type_traits": "c",
|
||||
"utility": "c",
|
||||
"ranges": "c"
|
||||
},
|
||||
"[markdown]": {
|
||||
"editor.trimAutoWhitespace": false,
|
||||
"files.trimTrailingWhitespace": false
|
||||
},
|
||||
"python.formatting.provider": "yapf",
|
||||
"[json]": {
|
||||
"editor.formatOnSave": false
|
||||
},
|
||||
"clangd.arguments": ["--header-insertion=never"],
|
||||
"json.schemas": [
|
||||
{
|
||||
"fileMatch": ["qmk.json"],
|
||||
"url": "./data/schemas/user_repo_v1_1.jsonschema"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["qmk_module.json"],
|
||||
"url": "./data/schemas/community_module.jsonschema"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["keyboard.json", "info.json"],
|
||||
"url": "./data/schemas/keyboard.jsonschema"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["keymap.json"],
|
||||
"url": "./data/schemas/keymap.jsonschema"
|
||||
}
|
||||
]
|
||||
"xstddef": "c"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
15
CODE_OF_CONDUCT.md
Normal file
15
CODE_OF_CONDUCT.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# Code Of Conduct
|
||||
|
||||
QMK strives to be an inclusive and tolerant community. We welcome participation from anyone regardless of age, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, political belief, race, religion, or sexual identity and orientation.
|
||||
|
||||
> “A gentle word turns away wrath, but a harsh word stirs up anger.”
|
||||
|
||||
Our users, contributors, and collaborators are expected to treat each other with respect, to assume good intentions, and to gently correct, where possible, rather than react with escalation. Some examples of behavior we will not tolerate include, but is not limited to:
|
||||
|
||||
* The use of sexualized language or imagery
|
||||
* Unwelcome advances, sexual or otherwise
|
||||
* Insults or derogatory comments, or personal or political attacks
|
||||
* Publishing others’ private information without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||
|
||||
If someone is violating this Code of Conduct you may email hello@qmk.fm to bring your concern to the Members. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
28
Dockerfile
Normal file
28
Dockerfile
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
FROM debian:jessie
|
||||
MAINTAINER Erik Dasque <erik@frenchguys.com>
|
||||
|
||||
RUN apt-get update && apt-get install --no-install-recommends -y build-essential \
|
||||
gcc \
|
||||
unzip \
|
||||
wget \
|
||||
zip \
|
||||
gcc-avr \
|
||||
binutils-avr \
|
||||
avr-libc \
|
||||
dfu-programmer \
|
||||
dfu-util \
|
||||
gcc-arm-none-eabi \
|
||||
binutils-arm-none-eabi \
|
||||
libnewlib-arm-none-eabi \
|
||||
git \
|
||||
software-properties-common \
|
||||
avrdude \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV keyboard=ergodox
|
||||
ENV subproject=ez
|
||||
ENV keymap=default
|
||||
|
||||
VOLUME /qmk
|
||||
WORKDIR /qmk
|
||||
CMD make clean ; make keyboard=${keyboard} subproject=${subproject} keymap=${keymap}
|
||||
74
Doxyfile
74
Doxyfile
|
|
@ -21,7 +21,7 @@ DOXYFILE_ENCODING = UTF-8
|
|||
PROJECT_NAME = "QMK Firmware"
|
||||
PROJECT_NUMBER = https://github.com/qmk/qmk_firmware
|
||||
PROJECT_BRIEF = "Keyboard controller firmware for Atmel AVR and ARM USB families"
|
||||
OUTPUT_DIRECTORY = .build/docs/static/doxygen
|
||||
OUTPUT_DIRECTORY = doxygen
|
||||
ALLOW_UNICODE_NAMES = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
|
|
@ -40,8 +40,8 @@ ABBREVIATE_BRIEF = "The $name class" \
|
|||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = YES
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_INC_PATH =
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
QT_AUTOBRIEF = NO
|
||||
|
|
@ -49,13 +49,13 @@ MULTILINE_CPP_IS_BRIEF = NO
|
|||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 4
|
||||
ALIASES =
|
||||
TCL_SUBST =
|
||||
ALIASES =
|
||||
TCL_SUBST =
|
||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
OPTIMIZE_FOR_FORTRAN = NO
|
||||
OPTIMIZE_OUTPUT_VHDL = NO
|
||||
EXTENSION_MAPPING =
|
||||
EXTENSION_MAPPING =
|
||||
MARKDOWN_SUPPORT = YES
|
||||
TOC_INCLUDE_HEADINGS = 2
|
||||
AUTOLINK_SUPPORT = YES
|
||||
|
|
@ -104,14 +104,14 @@ GENERATE_TODOLIST = YES
|
|||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_FILES = YES
|
||||
SHOW_NAMESPACES = YES
|
||||
FILE_VERSION_FILTER =
|
||||
LAYOUT_FILE =
|
||||
CITE_BIB_FILES =
|
||||
FILE_VERSION_FILTER =
|
||||
LAYOUT_FILE =
|
||||
CITE_BIB_FILES =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to warning and progress messages
|
||||
|
|
@ -124,7 +124,7 @@ WARN_IF_DOC_ERROR = YES
|
|||
WARN_NO_PARAMDOC = NO
|
||||
WARN_AS_ERROR = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
WARN_LOGFILE =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the input files
|
||||
|
|
@ -143,19 +143,19 @@ FILE_PATTERNS = *.c \
|
|||
*.hpp \
|
||||
*.h++
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXCLUDE_SYMBOLS =
|
||||
EXAMPLE_PATH =
|
||||
EXCLUDE_PATTERNS =
|
||||
EXCLUDE_SYMBOLS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS = *
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
FILTER_SOURCE_PATTERNS =
|
||||
USE_MDFILE_AS_MAINPAGE =
|
||||
FILTER_SOURCE_PATTERNS =
|
||||
USE_MDFILE_AS_MAINPAGE =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to source browsing
|
||||
|
|
@ -177,7 +177,7 @@ VERBATIM_HEADERS = YES
|
|||
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
IGNORE_PREFIX =
|
||||
IGNORE_PREFIX =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to disabled outputs
|
||||
|
|
@ -207,18 +207,18 @@ ENABLE_PREPROCESSING = YES
|
|||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED = __DOXYGEN__ PROGMEM
|
||||
EXPAND_AS_DEFINED =
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
EXTERNAL_PAGES = YES
|
||||
|
|
@ -229,14 +229,14 @@ PERL_PATH = /usr/bin/perl
|
|||
#---------------------------------------------------------------------------
|
||||
|
||||
CLASS_DIAGRAMS = YES
|
||||
MSCGEN_PATH =
|
||||
DIA_PATH =
|
||||
MSCGEN_PATH =
|
||||
DIA_PATH =
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = NO
|
||||
DOT_NUM_THREADS = 0
|
||||
DOT_FONTNAME = Helvetica
|
||||
DOT_FONTSIZE = 10
|
||||
DOT_FONTPATH =
|
||||
DOT_FONTPATH =
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
|
|
@ -251,13 +251,13 @@ GRAPHICAL_HIERARCHY = YES
|
|||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
INTERACTIVE_SVG = NO
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
MSCFILE_DIRS =
|
||||
DIAFILE_DIRS =
|
||||
PLANTUML_JAR_PATH =
|
||||
PLANTUML_CFG_FILE =
|
||||
PLANTUML_INCLUDE_PATH =
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
MSCFILE_DIRS =
|
||||
DIAFILE_DIRS =
|
||||
PLANTUML_JAR_PATH =
|
||||
PLANTUML_CFG_FILE =
|
||||
PLANTUML_INCLUDE_PATH =
|
||||
DOT_GRAPH_MAX_NODES = 50
|
||||
MAX_DOT_GRAPH_DEPTH = 0
|
||||
DOT_TRANSPARENT = NO
|
||||
|
|
|
|||
502
Makefile
502
Makefile
|
|
@ -19,52 +19,144 @@ endif
|
|||
# Otherwise the [OK], [ERROR] and [WARN] messages won't be displayed correctly
|
||||
override SILENT := false
|
||||
|
||||
ifeq ($(shell git rev-parse --is-inside-work-tree 2>/dev/null),)
|
||||
export SKIP_GIT := yes
|
||||
export NOT_REPO := yes
|
||||
endif
|
||||
|
||||
ifdef SKIP_VERSION
|
||||
export SKIP_GIT := yes
|
||||
endif
|
||||
|
||||
ifndef SUB_IS_SILENT
|
||||
ifndef SKIP_GIT
|
||||
QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
|
||||
endif
|
||||
|
||||
QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
|
||||
ifneq ($(QMK_VERSION),)
|
||||
$(info QMK Firmware $(QMK_VERSION))
|
||||
endif
|
||||
endif
|
||||
|
||||
# Try to determine userspace from qmk config, if set.
|
||||
ifeq ($(QMK_USERSPACE),)
|
||||
QMK_USERSPACE = $(shell qmk config -ro user.overlay_dir | cut -d= -f2 | sed -e 's@^None$$@@g')
|
||||
endif
|
||||
|
||||
# Determine which qmk cli to use
|
||||
QMK_BIN := qmk
|
||||
|
||||
# avoid 'Entering|Leaving directory' messages
|
||||
MAKEFLAGS += --no-print-directory
|
||||
|
||||
ON_ERROR := error_occurred=1
|
||||
|
||||
BREAK_ON_ERRORS = no
|
||||
|
||||
ROOT_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
|
||||
STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST))
|
||||
ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST))
|
||||
ROOT_DIR := $(dir $(ROOT_MAKEFILE))
|
||||
ifeq ($(ROOT_DIR),)
|
||||
ROOT_DIR := .
|
||||
endif
|
||||
|
||||
include paths.mk
|
||||
include $(BUILDDEFS_PATH)/support.mk
|
||||
|
||||
TEST_OUTPUT_DIR := $(BUILD_DIR)/test
|
||||
ABS_STARTING_MAKEFILE := $(abspath $(STARTING_MAKEFILE))
|
||||
ABS_ROOT_MAKEFILE := $(abspath $(ROOT_MAKEFILE))
|
||||
ABS_STARTING_DIR := $(dir $(ABS_STARTING_MAKEFILE))
|
||||
ABS_ROOT_DIR := $(dir $(ABS_ROOT_MAKEFILE))
|
||||
STARTING_DIR := $(subst $(ABS_ROOT_DIR),,$(ABS_STARTING_DIR))
|
||||
BUILD_DIR := $(ROOT_DIR)/.build
|
||||
TEST_DIR := $(BUILD_DIR)/test
|
||||
ERROR_FILE := $(BUILD_DIR)/error_occurred
|
||||
|
||||
MAKEFILE_INCLUDED=yes
|
||||
|
||||
# Helper function to process the newt element of a space separated path
|
||||
# It works a bit like the traditional functional head tail
|
||||
# so the CURRENT_PATH_ELEMENT will become the new head
|
||||
# and the PATH_ELEMENTS are the rest that are still unprocessed
|
||||
define NEXT_PATH_ELEMENT
|
||||
$$(eval CURRENT_PATH_ELEMENT := $$(firstword $$(PATH_ELEMENTS)))
|
||||
$$(eval PATH_ELEMENTS := $$(wordlist 2,9999,$$(PATH_ELEMENTS)))
|
||||
endef
|
||||
|
||||
# We change the / to spaces so that we more easily can work with the elements
|
||||
# separately
|
||||
PATH_ELEMENTS := $(subst /, ,$(STARTING_DIR))
|
||||
# Initialize the path elements list for further processing
|
||||
$(eval $(call NEXT_PATH_ELEMENT))
|
||||
|
||||
# This function sets the KEYBOARD; KEYMAP and SUBPROJECT to the correct
|
||||
# variables depending on which directory you stand in.
|
||||
# It's really a very simple if else chain, if you squint enough,
|
||||
# but the makefile syntax makes it very verbose.
|
||||
# If we are in a subfolder of keyboards
|
||||
#
|
||||
# *** No longer needed **
|
||||
#
|
||||
# ifeq ($(CURRENT_PATH_ELEMENT),keyboards)
|
||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
||||
# KEYBOARD := $(CURRENT_PATH_ELEMENT)
|
||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
||||
# # If we are in a subfolder of keymaps, or in other words in a keymap
|
||||
# # folder
|
||||
# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
|
||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
||||
# KEYMAP := $(CURRENT_PATH_ELEMENT)
|
||||
# # else if we are not in the keyboard folder itself
|
||||
# else ifneq ($(CURRENT_PATH_ELEMENT),)
|
||||
# # the we can assume it's a subproject, as no other folders
|
||||
# # should have make files in them
|
||||
# SUBPROJECT := $(CURRENT_PATH_ELEMENT)
|
||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
||||
# # if we are inside a keymap folder of a subproject
|
||||
# ifeq ($(CURRENT_PATH_ELEMENT),keymaps)
|
||||
# $(eval $(call NEXT_PATH_ELEMENT))
|
||||
# KEYMAP := $(CURRENT_PATH_ELEMENT)
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
|
||||
define GET_KEYBOARDS
|
||||
All_RULES_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/rules.mk))
|
||||
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
|
||||
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/rules.mk))
|
||||
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/rules.mk))
|
||||
|
||||
KEYMAPS_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/keymaps/*/rules.mk))
|
||||
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/keymaps/*/rules.mk))
|
||||
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/keymaps/*/rules.mk))
|
||||
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/keymaps/*/rules.mk))
|
||||
|
||||
KEYBOARDS := $$(sort $$(filter-out $$(KEYMAPS_MK), $$(All_RULES_MK)))
|
||||
endef
|
||||
|
||||
$(eval $(call GET_KEYBOARDS))
|
||||
|
||||
# Only consider folders with makefiles, to prevent errors in case there are extra folders
|
||||
#KEYBOARDS += $(patsubst $(ROOD_DIR)/keyboards/%/rules.mk,%,$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
|
||||
|
||||
list-keyboards:
|
||||
echo $(KEYBOARDS)
|
||||
exit 0
|
||||
|
||||
define PRINT_KEYBOARD
|
||||
$(info $(PRINTING_KEYBOARD))
|
||||
endef
|
||||
|
||||
generate-keyboards-file:
|
||||
$(foreach PRINTING_KEYBOARD,$(KEYBOARDS),$(eval $(call PRINT_KEYBOARD)))
|
||||
exit 0
|
||||
|
||||
clean:
|
||||
echo -n 'Deleting .build ... '
|
||||
rm -rf $(BUILD_DIR)
|
||||
echo 'done'
|
||||
exit 0
|
||||
|
||||
#Compatibility with the old make variables, anything you specify directly on the command line
|
||||
# always overrides the detected folders
|
||||
ifdef keyboard
|
||||
KEYBOARD := $(keyboard)
|
||||
endif
|
||||
ifdef keymap
|
||||
KEYMAP := $(keymap)
|
||||
endif
|
||||
|
||||
# Uncomment these for debugging
|
||||
# $(info Keyboard: $(KEYBOARD))
|
||||
# $(info Keymap: $(KEYMAP))
|
||||
# $(info Subproject: $(SUBPROJECT))
|
||||
# $(info Keyboards: $(KEYBOARDS))
|
||||
|
||||
|
||||
# Set the default goal depending on where we are running make from
|
||||
# this handles the case where you run make without any arguments
|
||||
.DEFAULT_GOAL := all:all
|
||||
ifneq ($(KEYMAP),)
|
||||
.DEFAULT_GOAL := $(KEYBOARD):$(KEYMAP)
|
||||
else ifneq ($(KEYBOARD),)
|
||||
# Inside a keyboard folder, build all keymaps for all subprojects
|
||||
# Note that this is different from the old behaviour, which would
|
||||
# build only the default keymap of the default keyboard
|
||||
.DEFAULT_GOAL := $(KEYBOARD):all
|
||||
endif
|
||||
|
||||
|
||||
# Compare the start of the RULE variable with the first argument($1)
|
||||
|
|
@ -91,20 +183,54 @@ endef
|
|||
# a function that returns the value
|
||||
COMPARE_AND_REMOVE_FROM_RULE = $(eval $(call COMPARE_AND_REMOVE_FROM_RULE_HELPER,$1))$(RULE_FOUND)
|
||||
|
||||
# Try to find a match for the start of the rule to be checked
|
||||
|
||||
# Recursively try to find a match for the start of the rule to be checked
|
||||
# $1 The list to be checked
|
||||
# If a match is found, then RULE_FOUND is set to true
|
||||
# and MATCHED_ITEM to the item that was matched
|
||||
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER3
|
||||
ifneq ($1,)
|
||||
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,$$(firstword $1)),true)
|
||||
MATCHED_ITEM := $$(firstword $1)
|
||||
else
|
||||
$$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER3,$$(wordlist 2,9999,$1)))
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
# A recursive helper function for finding the longest match
|
||||
# $1 The list to be checked
|
||||
# It works by always removing the currently matched item from the list
|
||||
# and call itself recursively, until a match is found
|
||||
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER2
|
||||
# Stop the recursion when the list is empty
|
||||
ifneq ($1,)
|
||||
RULE_BEFORE := $$(RULE)
|
||||
$$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER3,$1))
|
||||
# If a match is found in the current list, otherwise just return what we had before
|
||||
ifeq ($$(RULE_FOUND),true)
|
||||
# Save the best match so far and call itself recursively
|
||||
BEST_MATCH := $$(MATCHED_ITEM)
|
||||
BEST_MATCH_RULE := $$(RULE)
|
||||
RULE_FOUND := false
|
||||
RULE := $$(RULE_BEFORE)
|
||||
$$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER2,$$(filter-out $$(MATCHED_ITEM),$1)))
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
|
||||
# Recursively try to find the longest match for the start of the rule to be checked
|
||||
# $1 The list to be checked
|
||||
# If a match is found, then RULE_FOUND is set to true
|
||||
# and MATCHED_ITEM to the item that was matched
|
||||
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER
|
||||
# Split on ":", padding with empty strings to avoid indexing issues
|
||||
TOKEN1:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[0])" $$(RULE))
|
||||
TOKENr:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[1])" $$(RULE))
|
||||
|
||||
FOUNDx:=$$(shell echo $1 | tr " " "\n" | grep -Fx $$(TOKEN1))
|
||||
ifneq ($$(FOUNDx),)
|
||||
RULE := $$(TOKENr)
|
||||
BEST_MATCH :=
|
||||
$$(eval $$(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER2,$1))
|
||||
ifneq ($$(BEST_MATCH),)
|
||||
RULE_FOUND := true
|
||||
MATCHED_ITEM := $$(TOKEN1)
|
||||
RULE := $$(BEST_MATCH_RULE)
|
||||
MATCHED_ITEM := $$(BEST_MATCH)
|
||||
else
|
||||
RULE_FOUND := false
|
||||
MATCHED_ITEM :=
|
||||
|
|
@ -114,29 +240,6 @@ endef
|
|||
# Make it easier to call TRY_TO_MATCH_RULE_FROM_LIST
|
||||
TRY_TO_MATCH_RULE_FROM_LIST = $(eval $(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER,$1))$(RULE_FOUND)
|
||||
|
||||
# As TRY_TO_MATCH_RULE_FROM_LIST_HELPER, but with additional
|
||||
# resolution of DEFAULT_FOLDER and keyboard_aliases.hjson for provided rule
|
||||
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER_KB
|
||||
# Split on ":", padding with empty strings to avoid indexing issues
|
||||
TOKEN1:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[0])" $$(RULE))
|
||||
TOKENr:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[1])" $$(RULE))
|
||||
|
||||
TOKEN1:=$$(shell $(QMK_BIN) resolve-alias --allow-unknown $$(TOKEN1))
|
||||
|
||||
FOUNDx:=$$(shell echo $1 | tr " " "\n" | grep -Fx $$(TOKEN1))
|
||||
ifneq ($$(FOUNDx),)
|
||||
RULE := $$(TOKENr)
|
||||
RULE_FOUND := true
|
||||
MATCHED_ITEM := $$(TOKEN1)
|
||||
else
|
||||
RULE_FOUND := false
|
||||
MATCHED_ITEM :=
|
||||
endif
|
||||
endef
|
||||
|
||||
# Make it easier to call TRY_TO_MATCH_RULE_FROM_LIST_KB
|
||||
TRY_TO_MATCH_RULE_FROM_LIST_KB = $(eval $(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER_KB,$1))$(RULE_FOUND)
|
||||
|
||||
define ALL_IN_LIST_LOOP
|
||||
OLD_RULE$1 := $$(RULE)
|
||||
$$(eval $$(call $1,$$(ITEM$1)))
|
||||
|
|
@ -156,32 +259,25 @@ define PARSE_RULE
|
|||
# If the rule starts with all, then continue the parsing from
|
||||
# PARSE_ALL_KEYBOARDS
|
||||
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
|
||||
KEYBOARD_RULE=all
|
||||
$$(eval $$(call PARSE_ALL_KEYBOARDS))
|
||||
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true)
|
||||
$$(eval $$(call PARSE_TEST))
|
||||
# If the rule starts with the name of a known keyboard, then continue
|
||||
# the parsing from PARSE_KEYBOARD
|
||||
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST_KB,$$(shell $(QMK_BIN) list-keyboards)),true)
|
||||
KEYBOARD_RULE=$$(MATCHED_ITEM)
|
||||
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true)
|
||||
$$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM)))
|
||||
# Otherwise use the KEYBOARD variable, which is determined either by
|
||||
# the current directory you run make from, or passed in as an argument
|
||||
else ifneq ($$(KEYBOARD),)
|
||||
$$(eval $$(call PARSE_KEYBOARD,$$(KEYBOARD)))
|
||||
else
|
||||
$$(info make: *** No rule to make target '$1'. Stop.)
|
||||
$$(info |)
|
||||
$$(info | QMK's make format is:)
|
||||
$$(info | make keyboard_folder:keymap_folder[:target])
|
||||
$$(info |)
|
||||
$$(info | Where `keyboard_folder` is the path to the keyboard relative to)
|
||||
$$(info | `qmk_firmware/keyboards/`, and `keymap_folder` is the name of the)
|
||||
$$(info | keymap folder under that board's `keymaps/` directory.)
|
||||
$$(info |)
|
||||
$$(info | Examples:)
|
||||
$$(info | keyboards/dz60, keyboards/dz60/keymaps/default)
|
||||
$$(info | -> make dz60:default)
|
||||
$$(info | -> qmk compile -kb dz60 -km default)
|
||||
$$(info | keyboards/planck/rev6, keyboards/planck/keymaps/default)
|
||||
$$(info | -> make planck/rev6:default:flash)
|
||||
$$(info | -> qmk flash -kb planck/rev6 -km default)
|
||||
$$(info | QMK's make format recently changed to use folder locations and colons:)
|
||||
$$(info | make project_folder:keymap[:target])
|
||||
$$(info | Examples:)
|
||||
$$(info | make planck/rev4:default:dfu)
|
||||
$$(info | make planck:default)
|
||||
$$(info |)
|
||||
endif
|
||||
endef
|
||||
|
|
@ -194,12 +290,28 @@ define PARSE_KEYBOARD
|
|||
# include the correct makefile to determine the actual name of it
|
||||
CURRENT_KB := $1
|
||||
|
||||
# KEYBOARD_FOLDERS := $$(subst /, , $(CURRENT_KB))
|
||||
|
||||
DEFAULT_FOLDER := $$(CURRENT_KB)
|
||||
|
||||
# We assume that every rules.mk will contain the full default value
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(CURRENT_KB)/rules.mk)
|
||||
ifneq ($$(DEFAULT_FOLDER),$$(CURRENT_KB))
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(DEFAULT_FOLDER)/rules.mk)
|
||||
endif
|
||||
CURRENT_KB := $$(DEFAULT_FOLDER)
|
||||
|
||||
# 5/4/3/2/1
|
||||
KEYBOARD_FOLDER_PATH_1 := $$(CURRENT_KB)
|
||||
KEYBOARD_FOLDER_PATH_2 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_1)))
|
||||
KEYBOARD_FOLDER_PATH_3 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_2)))
|
||||
KEYBOARD_FOLDER_PATH_4 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_3)))
|
||||
KEYBOARD_FOLDER_PATH_5 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_4)))
|
||||
KEYBOARD_FOLDER_1 := $$(notdir $$(KEYBOARD_FOLDER_PATH_1))
|
||||
KEYBOARD_FOLDER_2 := $$(notdir $$(KEYBOARD_FOLDER_PATH_2))
|
||||
KEYBOARD_FOLDER_3 := $$(notdir $$(KEYBOARD_FOLDER_PATH_3))
|
||||
KEYBOARD_FOLDER_4 := $$(notdir $$(KEYBOARD_FOLDER_PATH_4))
|
||||
KEYBOARD_FOLDER_5 := $$(notdir $$(KEYBOARD_FOLDER_PATH_5))
|
||||
|
||||
KEYMAPS :=
|
||||
# get a list of all keymaps
|
||||
|
|
@ -209,23 +321,51 @@ define PARSE_KEYBOARD
|
|||
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.)))
|
||||
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.)))
|
||||
|
||||
ifneq ($(QMK_USERSPACE),)
|
||||
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/*/.)))
|
||||
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/*/.)))
|
||||
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.)))
|
||||
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.)))
|
||||
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.)))
|
||||
# get subkeymaps too
|
||||
KEYMAPS += $$(patsubst $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/%,%,$$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/*/*/.)))
|
||||
KEYMAPS += $$(patsubst $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/%,%,$$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/*/*/.)))
|
||||
KEYMAPS += $$(patsubst $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/%,%,$$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/*/.)))
|
||||
KEYMAPS += $$(patsubst $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/%,%,$$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/*/.)))
|
||||
KEYMAPS += $$(patsubst $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/%,%,$$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/*/.)))
|
||||
|
||||
# this might be needed, but in a different form
|
||||
#KEYMAPS := $$(sort $$(filter-out $$(KEYBOARD_FOLDER_1) $$(KEYBOARD_FOLDER_2) \
|
||||
$$(KEYBOARD_FOLDER_3) $$(KEYBOARD_FOLDER_4) $$(KEYBOARD_FOLDER_5), $$(KEYMAPS)))
|
||||
|
||||
KEYBOARD_LAYOUTS :=
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_5)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_5)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
|
||||
endif
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_4)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_4)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
|
||||
endif
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_3)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_3)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
|
||||
endif
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_2)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_2)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
|
||||
endif
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_1)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_1)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
|
||||
endif
|
||||
|
||||
KEYBOARD_LAYOUTS := $(shell $(QMK_BIN) list-layouts --keyboard $1)
|
||||
LAYOUT_KEYMAPS :=
|
||||
$$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.)))))
|
||||
ifneq ($(QMK_USERSPACE),)
|
||||
$$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/layouts/$$(LAYOUT)/*/.)))))
|
||||
endif
|
||||
|
||||
KEYMAPS := $$(sort $$(KEYMAPS) $$(LAYOUT_KEYMAPS))
|
||||
|
||||
# $$(eval $$(info $$(KEYMAPS)))
|
||||
|
||||
# if the rule after removing the start of it is empty (we haven't specified a kemap or target)
|
||||
# compile all the keymaps
|
||||
ifeq ($$(RULE),)
|
||||
|
|
@ -233,18 +373,12 @@ define PARSE_KEYBOARD
|
|||
# The same if all was specified
|
||||
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
|
||||
$$(eval $$(call PARSE_ALL_KEYMAPS))
|
||||
# List all keymaps for the given keyboard
|
||||
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,list-keymaps),true)
|
||||
$$(eval $$(call LIST_ALL_KEYMAPS))
|
||||
# Try to match the specified keyamp with the list of known keymaps
|
||||
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true)
|
||||
$$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM)))
|
||||
# Otherwise try to match the keymap from the current folder, or arguments to the make command
|
||||
else ifneq ($$(KEYMAP),)
|
||||
$$(eval $$(call PARSE_KEYMAP,$$(KEYMAP)))
|
||||
# Otherwise if we are running make all:<user> just skip
|
||||
else ifeq ($$(KEYBOARD_RULE),all)
|
||||
# $$(info Skipping: No user keymap for $$(CURRENT_KB))
|
||||
# Otherwise, make all keymaps, again this is consistent with how it works without
|
||||
# any arguments
|
||||
else
|
||||
|
|
@ -255,18 +389,25 @@ endef
|
|||
# if we are going to compile all keyboards, match the rest of the rule
|
||||
# for each of them
|
||||
define PARSE_ALL_KEYBOARDS
|
||||
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(shell $(QMK_BIN) list-keyboards --no-resolve-defaults)))
|
||||
$$(eval $$(call PARSE_ALL_IN_LIST,PARSE_KEYBOARD,$(KEYBOARDS)))
|
||||
endef
|
||||
|
||||
# Prints a list of all known keymaps for the given keyboard
|
||||
define LIST_ALL_KEYMAPS
|
||||
COMMAND_true_LIST_KEYMAPS := \
|
||||
printf "$$(KEYMAPS)\n";
|
||||
COMMAND_false_LIST_KEYMAPS := \
|
||||
printf "$$(MSG_AVAILABLE_KEYMAPS)\n"; \
|
||||
printf "$$(KEYMAPS)\n";
|
||||
COMMANDS += LIST_KEYMAPS
|
||||
endef
|
||||
# $1 Subproject
|
||||
# When entering this, the keyboard and subproject are known, so now we need
|
||||
# to determine which keymaps are going to get compiled
|
||||
# define PARSE_SUBPROJECT
|
||||
|
||||
# endef
|
||||
|
||||
# If we want to parse all subprojects, but the keyboard doesn't have any,
|
||||
# then use defaultsp instead
|
||||
# define PARSE_ALL_SUBPROJECTS
|
||||
# ifeq ($$(SUBPROJECTS),)
|
||||
# $$(eval $$(call PARSE_SUBPROJECT,defaultsp))
|
||||
# else
|
||||
# $$(eval $$(call PARSE_ALL_IN_LIST,PARSE_SUBPROJECT,$$(SUBPROJECTS)))
|
||||
# endif
|
||||
# endef
|
||||
|
||||
# $1 Keymap
|
||||
# This is the meat of compiling a keyboard, when entering this, everything is known
|
||||
|
|
@ -278,18 +419,19 @@ define PARSE_KEYMAP
|
|||
# The rest of the rule is the target
|
||||
# Remove the leading ":" from the target, as it acts as a separator
|
||||
MAKE_TARGET := $$(patsubst :%,%,$$(RULE))
|
||||
# We need to generate an unique identifier to append to the COMMANDS list
|
||||
# We need to generate an unique indentifer to append to the COMMANDS list
|
||||
CURRENT_KB_UNDER := $$(subst /,_,$$(CURRENT_KB))
|
||||
COMMAND := COMMAND_KEYBOARD_$$(CURRENT_KB_UNDER)_KEYMAP_$$(CURRENT_KM)
|
||||
CURRENT_KM_UNDER := $$(subst /,_,$$(CURRENT_KM))
|
||||
COMMAND := COMMAND_KEYBOARD_$$(CURRENT_KB_UNDER)_KEYMAP_$$(CURRENT_KM_UNDER)
|
||||
# If we are compiling a keyboard without a subproject, we want to display just the name
|
||||
# of the keyboard, otherwise keyboard/subproject
|
||||
KB_SP := $$(CURRENT_KB)
|
||||
# Format it in bold
|
||||
KB_SP := $(BOLD)$$(KB_SP)$(NO_COLOR)
|
||||
# Specify the variables that we are passing forward to submake
|
||||
MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM) QMK_BIN=$$(QMK_BIN)
|
||||
MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM)
|
||||
# And the first part of the make command
|
||||
MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f $(BUILDDEFS_PATH)/build_keyboard.mk $$(MAKE_TARGET)
|
||||
MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_keyboard.mk $$(MAKE_TARGET)
|
||||
# The message to display
|
||||
MAKE_MSG := $$(MSG_MAKE_KB)
|
||||
# We run the command differently, depending on if we want more output or not
|
||||
|
|
@ -306,8 +448,6 @@ define BUILD
|
|||
LOG=$$$$($$(MAKE_CMD) $$(MAKE_VARS) SILENT=true 2>&1) ; \
|
||||
if [ $$$$? -gt 0 ]; \
|
||||
then $$(PRINT_ERROR_PLAIN); \
|
||||
elif [ "$$$$LOG" = "skipped" ] ; \
|
||||
then $$(PRINT_SKIPPED_PLAIN); \
|
||||
elif [ "$$$$LOG" != "" ] ; \
|
||||
then $$(PRINT_WARNING_PLAIN); \
|
||||
else \
|
||||
|
|
@ -327,20 +467,18 @@ define PARSE_ALL_KEYMAPS
|
|||
endef
|
||||
|
||||
define BUILD_TEST
|
||||
TEST_PATH := $1
|
||||
TEST_NAME := $$(notdir $$(TEST_PATH))
|
||||
TEST_FULL_NAME := $$(subst /,_,$$(patsubst $$(ROOT_DIR)tests/%,%,$$(TEST_PATH)))
|
||||
TEST_NAME := $1
|
||||
MAKE_TARGET := $2
|
||||
COMMAND := $1
|
||||
MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f $(BUILDDEFS_PATH)/build_test.mk $$(MAKE_TARGET)
|
||||
MAKE_VARS := TEST=$$(TEST_NAME) TEST_OUTPUT=$$(TEST_FULL_NAME) TEST_PATH=$$(TEST_PATH) FULL_TESTS="$$(FULL_TESTS)"
|
||||
MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_test.mk $$(MAKE_TARGET)
|
||||
MAKE_VARS := TEST=$$(TEST_NAME) FULL_TESTS="$$(FULL_TESTS)"
|
||||
MAKE_MSG := $$(MSG_MAKE_TEST)
|
||||
$$(eval $$(call BUILD))
|
||||
ifneq ($$(MAKE_TARGET),clean)
|
||||
TEST_EXECUTABLE := $$(TEST_OUTPUT_DIR)/$$(TEST_FULL_NAME).elf
|
||||
TESTS += $$(TEST_FULL_NAME)
|
||||
TEST_EXECUTABLE := $$(TEST_DIR)/$$(TEST_NAME).elf
|
||||
TESTS += $$(TEST_NAME)
|
||||
TEST_MSG := $$(MSG_TEST)
|
||||
$$(TEST_FULL_NAME)_COMMAND := \
|
||||
$$(TEST_NAME)_COMMAND := \
|
||||
printf "$$(TEST_MSG)\n"; \
|
||||
$$(TEST_EXECUTABLE); \
|
||||
if [ $$$$? -gt 0 ]; \
|
||||
|
|
@ -350,21 +488,14 @@ define BUILD_TEST
|
|||
endif
|
||||
endef
|
||||
|
||||
define LIST_TEST
|
||||
include $(BUILDDEFS_PATH)/testlist.mk
|
||||
FOUND_TESTS := $$(patsubst ./tests/%,%,$$(TEST_LIST))
|
||||
$$(info $$(FOUND_TESTS))
|
||||
endef
|
||||
|
||||
define PARSE_TEST
|
||||
TESTS :=
|
||||
TEST_NAME := $$(firstword $$(subst :, ,$$(RULE)))
|
||||
TEST_TARGET := $$(subst $$(TEST_NAME),,$$(subst $$(TEST_NAME):,,$$(RULE)))
|
||||
include $(BUILDDEFS_PATH)/testlist.mk
|
||||
ifeq ($$(TEST_NAME),all)
|
||||
MATCHED_TESTS := $$(TEST_LIST)
|
||||
else
|
||||
MATCHED_TESTS := $$(foreach TEST, $$(TEST_LIST),$$(if $$(findstring x$$(TEST_NAME)x, x$$(patsubst ./tests/%,%,$$(TEST)x)), $$(TEST),))
|
||||
MATCHED_TESTS := $$(foreach TEST,$$(TEST_LIST),$$(if $$(findstring $$(TEST_NAME),$$(TEST)),$$(TEST),))
|
||||
endif
|
||||
$$(foreach TEST,$$(MATCHED_TESTS),$$(eval $$(call BUILD_TEST,$$(TEST),$$(TEST_TARGET))))
|
||||
endef
|
||||
|
|
@ -383,7 +514,7 @@ define SET_SILENT_MODE
|
|||
endif
|
||||
endef
|
||||
|
||||
include $(BUILDDEFS_PATH)/message.mk
|
||||
include $(ROOT_DIR)/message.mk
|
||||
|
||||
ifeq ($(strip $(BREAK_ON_ERRORS)), yes)
|
||||
HANDLE_ERROR = exit 1
|
||||
|
|
@ -408,18 +539,23 @@ if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi;
|
|||
|
||||
endef
|
||||
|
||||
# Catch everything and parse the command line ourselves.
|
||||
# Let's match everything, we handle all the rule parsing ourselves
|
||||
.PHONY: %
|
||||
%:
|
||||
# Ensure that $(QMK_BIN) works.
|
||||
if ! $(QMK_BIN) hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; exit 1; fi
|
||||
ifdef NOT_REPO
|
||||
printf "$(MSG_NOT_REPO)"
|
||||
endif
|
||||
ifndef SKIP_GIT
|
||||
$(QMK_BIN) git-submodule --sync
|
||||
# Check if we have the CMP tool installed
|
||||
cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
|
||||
# Check if the submodules are dirty, and display a warning if they are
|
||||
if ! $(QMK_BIN) git-submodule --check 1> /dev/null 2>&1; then printf "$(MSG_SUBMODULE_DIRTY)"; fi
|
||||
ifndef SKIP_GIT
|
||||
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --init lib/chibios; fi
|
||||
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --init lib/chibios-contrib; fi
|
||||
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --init lib/ugfx; fi
|
||||
git submodule status --recursive 2>/dev/null | \
|
||||
while IFS= read -r x; do \
|
||||
case "$$x" in \
|
||||
\ *) ;; \
|
||||
*) printf "$(MSG_SUBMODULE_DIRTY)";break;; \
|
||||
esac \
|
||||
done
|
||||
endif
|
||||
rm -f $(ERROR_FILE) > /dev/null 2>&1
|
||||
$(eval $(call PARSE_RULE,$@))
|
||||
|
|
@ -428,68 +564,54 @@ endif
|
|||
# it has to be there to allow parallel execution of the submake
|
||||
# This always tries to compile everything, even if error occurs in the middle
|
||||
# But we return the error code at the end, to trigger travis failures
|
||||
# The sort at this point is to remove duplicates
|
||||
$(foreach COMMAND,$(sort $(COMMANDS)),$(RUN_COMMAND))
|
||||
$(foreach COMMAND,$(COMMANDS),$(RUN_COMMAND))
|
||||
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
|
||||
$(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
|
||||
$(foreach TEST,$(TESTS),$(RUN_TEST))
|
||||
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
|
||||
|
||||
# These no longer work because of the colon system
|
||||
|
||||
# All should compile everything
|
||||
# .PHONY: all
|
||||
# all: all-keyboards test-all
|
||||
|
||||
# Define some shortcuts, mostly for compatibility with the old syntax
|
||||
# .PHONY: all-keyboards
|
||||
# all-keyboards: all\:all\:all
|
||||
|
||||
# .PHONY: all-keyboards-defaults
|
||||
# all-keyboards-defaults: all\:default
|
||||
|
||||
# .PHONY: test
|
||||
# test: test-all
|
||||
|
||||
# .PHONY: test-clean
|
||||
# test-clean: test-all-clean
|
||||
|
||||
lib/%:
|
||||
git submodule sync $?
|
||||
git submodule update --init $?
|
||||
|
||||
.PHONY: git-submodule
|
||||
git-submodule:
|
||||
$(QMK_BIN) git-submodule
|
||||
git submodule sync --recursive
|
||||
git submodule update --init --recursive
|
||||
|
||||
.PHONY: git-submodules
|
||||
git-submodules: git-submodule
|
||||
|
||||
.PHONY: list-keyboards
|
||||
list-keyboards:
|
||||
$(QMK_BIN) list-keyboards --no-resolve-defaults | tr '\n' ' '
|
||||
|
||||
.PHONY: list-tests
|
||||
list-tests:
|
||||
$(eval $(call LIST_TEST))
|
||||
|
||||
.PHONY: generate-keyboards-file
|
||||
generate-keyboards-file:
|
||||
$(QMK_BIN) list-keyboards --no-resolve-defaults
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
echo -n 'Deleting .build/ ... '
|
||||
rm -rf $(BUILD_DIR)
|
||||
echo 'done.'
|
||||
|
||||
.PHONY: distclean distclean_qmk
|
||||
distclean: distclean_qmk
|
||||
distclean_qmk: clean
|
||||
echo -n 'Deleting *.bin, *.hex, and *.uf2 ... '
|
||||
rm -f *.bin *.hex *.uf2
|
||||
echo 'done.'
|
||||
|
||||
ifneq ($(QMK_USERSPACE),)
|
||||
.PHONY: distclean_userspace
|
||||
distclean: distclean_userspace
|
||||
distclean_userspace: clean
|
||||
echo -n 'Deleting userspace *.bin, *.hex, and *.uf2 ... '
|
||||
rm -f $(QMK_USERSPACE)/*.bin $(QMK_USERSPACE)/*.hex $(QMK_USERSPACE)/*.uf2
|
||||
echo 'done.'
|
||||
ifdef SKIP_VERSION
|
||||
SKIP_GIT := yes
|
||||
endif
|
||||
|
||||
# Extra targets for formatting and/or pytest, running within the qmk/qmk_cli container to match GHA.
|
||||
CONTAINER_PREAMBLE := export HOME="/tmp"; export PATH="/tmp/.local/bin:\$$PATH"; python3 -m pip install --upgrade pip; python3 -m pip install -r requirements-dev.txt
|
||||
# Generate the version.h file
|
||||
ifndef SKIP_GIT
|
||||
GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S")
|
||||
else
|
||||
GIT_VERSION := NA
|
||||
endif
|
||||
ifndef SKIP_VERSION
|
||||
BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S")
|
||||
$(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h)
|
||||
$(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h)
|
||||
else
|
||||
BUILD_DATE := NA
|
||||
endif
|
||||
|
||||
.PHONY: format-core
|
||||
format-core:
|
||||
RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk format-c --core-only -a && qmk format-python -a"
|
||||
|
||||
.PHONY: pytest
|
||||
pytest:
|
||||
RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk pytest"
|
||||
|
||||
.PHONY: format-and-pytest
|
||||
format-and-pytest:
|
||||
RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk format-c --core-only -a && qmk format-python -a && qmk pytest"
|
||||
include $(ROOT_DIR)/testlist.mk
|
||||
|
|
|
|||
98
Vagrantfile
vendored
Normal file
98
Vagrantfile
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
# You can only have one config.vm.box uncommented at a time
|
||||
|
||||
# Comment this and uncomment another if you don't want to use the minimal Arch box
|
||||
#config.vm.box = "dragon788/arch-ala-elasticdog"
|
||||
|
||||
# VMware/Virtualbox 64 bit
|
||||
config.vm.box = "phusion/ubuntu-14.04-amd64"
|
||||
#
|
||||
# VMware/Virtualbox 64 bit
|
||||
#config.vm.box = "puphpet/centos65-x64"
|
||||
#
|
||||
# The opensuse boxes don't have dfu-util in their default repositories
|
||||
#
|
||||
# The virtualbox version has tools issues
|
||||
# VMware/Virtualbox 64 bit
|
||||
#config.vm.box = "bento/opensuse-13.2-x86_64"
|
||||
#
|
||||
# Virtualbox only
|
||||
#config.vm.box = "bento/opensuse-13.2-i386"
|
||||
# config.vm.box = ""
|
||||
# config.vm.box = ""
|
||||
|
||||
# This section allows you to customize the Virtualbox VM
|
||||
# settings, ie showing the GUI or upping the memory
|
||||
# or cores if desired
|
||||
config.vm.provider "virtualbox" do |vb|
|
||||
# Hide the VirtualBox GUI when booting the machine
|
||||
vb.gui = false
|
||||
# Uncomment the below lines if you want to program
|
||||
# your Teensy via the VM rather than your host OS
|
||||
#vb.customize ['modifyvm', :id, '--usb', 'on']
|
||||
#vb.customize ['usbfilter', 'add', '0',
|
||||
# '--target', :id,
|
||||
# '--name', 'teensy',
|
||||
# '--vendorid', '0x16c0',
|
||||
# '--productid','0x0478'
|
||||
# ]
|
||||
# Customize the amount of memory on the VM:
|
||||
vb.memory = "512"
|
||||
end
|
||||
|
||||
# This section allows you to customize the VMware VM
|
||||
# settings, ie showing the GUI or upping the memory
|
||||
# or cores if desired
|
||||
config.vm.provider "vmware_workstation" do |vmw|
|
||||
# Hide the VMware GUI when booting the machine
|
||||
vmw.gui = false
|
||||
|
||||
# Customize the amount of memory on the VM:
|
||||
vmw.memory = "512"
|
||||
end
|
||||
|
||||
config.vm.provider "vmware_fusion" do |vmf|
|
||||
# Hide the vmfare GUI when booting the machine
|
||||
vmf.gui = false
|
||||
|
||||
# Customize the amount of memory on the VM:
|
||||
vmf.memory = "512"
|
||||
end
|
||||
|
||||
# Docker provider pulls from hub.docker.com respecting docker.image if
|
||||
# config.vm.box is nil. Note that this bind-mounts from the current dir to
|
||||
# /vagrant in the guest, so unless your UID is 1000 to match vagrant in the
|
||||
# image, you'll need to: chmod -R a+rw .
|
||||
config.vm.provider "docker" do |docker, override|
|
||||
override.vm.box = nil
|
||||
docker.image = "jesselang/debian-vagrant:jessie"
|
||||
docker.has_ssh = true
|
||||
end
|
||||
|
||||
# This script ensures the required packages for AVR programming are installed
|
||||
# It also ensures the system always gets the latest updates when powered on
|
||||
# If this causes issues you can run a 'vagrant destroy' and then
|
||||
# add a # before ,args: and run 'vagrant up' to get a working
|
||||
# non-updated box and then attempt to troubleshoot or open a Github issue
|
||||
|
||||
config.vm.provision "shell", run: "always", path: "./util/install_dependencies.sh", args: "-update"
|
||||
|
||||
config.vm.post_up_message = <<-EOT
|
||||
Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
|
||||
or 'vagrant ssh-config' and Putty or Bitvise SSH or another SSH tool
|
||||
|
||||
Change directory (cd) to the keyboard you wish to program
|
||||
(Optionally) modify your layout,
|
||||
then run 'make clean'
|
||||
and then 'make' to compile the .eep and .hex files.
|
||||
|
||||
Or you can copy and paste the example line below.
|
||||
|
||||
cd /vagrant; cd keyboards; cd ergodox; make clean; make
|
||||
|
||||
|
||||
EOT
|
||||
end
|
||||
1
autocomplete.sh
Normal file
1
autocomplete.sh
Normal file
File diff suppressed because one or more lines are too long
46
book.json
Normal file
46
book.json
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"structure": {
|
||||
"summary": "_summary.md"
|
||||
},
|
||||
"plugins" : [
|
||||
"edit-link",
|
||||
"forkmegithub",
|
||||
"hints",
|
||||
"page-toc",
|
||||
"terminal",
|
||||
"toolbar",
|
||||
"bulk-redirect"
|
||||
],
|
||||
"pluginsConfig": {
|
||||
"edit-link": {
|
||||
"base": "https://github.com/qmk/qmk_firmware/edit/master/docs",
|
||||
"label": "Suggest an edit"
|
||||
},
|
||||
"forkmegithub": {
|
||||
"color": "red",
|
||||
"url": "https://github.com/qmk/qmk_firmware"
|
||||
},
|
||||
"page-toc": {
|
||||
"selector": ".markdown-section h1, .markdown-section h2"
|
||||
},
|
||||
"terminal": {
|
||||
"copyButtons": true,
|
||||
"fade": false,
|
||||
"style": "flat"
|
||||
},
|
||||
"toolbar": {
|
||||
"buttons": [
|
||||
{
|
||||
"label": "QMK Firmware",
|
||||
"icon": "fa fa-github",
|
||||
"url": "https://github.com/qmk/qmk_firmware"
|
||||
}
|
||||
]
|
||||
},
|
||||
"bulk-redirect": {
|
||||
"basepath": "/",
|
||||
"redirectsFile": "docs/redirects.json"
|
||||
}
|
||||
},
|
||||
"root": "./docs/"
|
||||
}
|
||||
82
bootloader.mk
Normal file
82
bootloader.mk
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
# Copyright 2017 Jack Humbert
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# If it's possible that multiple bootloaders can be used for one project,
|
||||
# you can leave this unset, and the correct size will be selected
|
||||
# automatically.
|
||||
#
|
||||
# Sets the bootloader defined in the keyboard's/keymap's rules.mk
|
||||
# Current options:
|
||||
# atmel-dfu
|
||||
# lufa-dfu
|
||||
# qmk-dfu
|
||||
# halfkay
|
||||
# caterina
|
||||
# bootloadHID
|
||||
#
|
||||
# BOOTLOADER_SIZE can still be defined manually, but it's recommended
|
||||
# you add any possible configuration to this list
|
||||
|
||||
ifeq ($(strip $(BOOTLOADER)), atmel-dfu)
|
||||
OPT_DEFS += -DBOOTLOADER_ATMEL_DFU
|
||||
OPT_DEFS += -DBOOTLOADER_DFU
|
||||
ifeq ($(strip $(MCU)), atmega32u4)
|
||||
BOOTLOADER_SIZE = 4096
|
||||
endif
|
||||
ifeq ($(strip $(MCU)), at90usb1286)
|
||||
BOOTLOADER_SIZE = 8192
|
||||
endif
|
||||
endif
|
||||
ifeq ($(strip $(BOOTLOADER)), lufa-dfu)
|
||||
OPT_DEFS += -DBOOTLOADER_LUFA_DFU
|
||||
OPT_DEFS += -DBOOTLOADER_DFU
|
||||
ifeq ($(strip $(MCU)), atmega32u4)
|
||||
BOOTLOADER_SIZE = 4096
|
||||
endif
|
||||
ifeq ($(strip $(MCU)), at90usb1286)
|
||||
BOOTLOADER_SIZE = 8192
|
||||
endif
|
||||
endif
|
||||
ifeq ($(strip $(BOOTLOADER)), qmk-dfu)
|
||||
OPT_DEFS += -DBOOTLOADER_QMK_DFU
|
||||
OPT_DEFS += -DBOOTLOADER_DFU
|
||||
ifeq ($(strip $(MCU)), atmega32u4)
|
||||
BOOTLOADER_SIZE = 4096
|
||||
endif
|
||||
ifeq ($(strip $(MCU)), at90usb1286)
|
||||
BOOTLOADER_SIZE = 8192
|
||||
endif
|
||||
endif
|
||||
ifeq ($(strip $(BOOTLOADER)), halfkay)
|
||||
OPT_DEFS += -DBOOTLOADER_HALFKAY
|
||||
ifeq ($(strip $(MCU)), atmega32u4)
|
||||
BOOTLOADER_SIZE = 512
|
||||
endif
|
||||
ifeq ($(strip $(MCU)), at90usb1286)
|
||||
BOOTLOADER_SIZE = 1024
|
||||
endif
|
||||
endif
|
||||
ifeq ($(strip $(BOOTLOADER)), caterina)
|
||||
OPT_DEFS += -DBOOTLOADER_CATERINA
|
||||
BOOTLOADER_SIZE = 4096
|
||||
endif
|
||||
ifeq ($(strip $(BOOTLOADER)), bootloadHID)
|
||||
OPT_DEFS += -DBOOTLOADER_BOOTLOADHID
|
||||
BOOTLOADER_SIZE = 4096
|
||||
endif
|
||||
|
||||
ifdef BOOTLOADER_SIZE
|
||||
OPT_DEFS += -DBOOTLOADER_SIZE=$(strip $(BOOTLOADER_SIZE))
|
||||
endif
|
||||
33
build_full_test.mk
Normal file
33
build_full_test.mk
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# Copyright 2017 Fred Sundvik
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include $(TMK_PATH)/protocol.mk
|
||||
|
||||
TEST_PATH=tests/$(TEST)
|
||||
|
||||
$(TEST)_SRC= \
|
||||
$(TEST_PATH)/keymap.c \
|
||||
$(TMK_COMMON_SRC) \
|
||||
$(QUANTUM_SRC) \
|
||||
$(SRC) \
|
||||
tests/test_common/matrix.c \
|
||||
tests/test_common/test_driver.cpp \
|
||||
tests/test_common/keyboard_report_util.cpp \
|
||||
tests/test_common/test_fixture.cpp
|
||||
$(TEST)_SRC += $(patsubst $(ROOTDIR)/%,%,$(wildcard $(TEST_PATH)/*.cpp))
|
||||
|
||||
$(TEST)_DEFS=$(TMK_COMMON_DEFS) $(OPT_DEFS)
|
||||
$(TEST)_CONFIG=$(TEST_PATH)/config.h
|
||||
VPATH+=$(TOP_DIR)/tests/test_common
|
||||
321
build_keyboard.mk
Normal file
321
build_keyboard.mk
Normal file
|
|
@ -0,0 +1,321 @@
|
|||
ifndef VERBOSE
|
||||
.SILENT:
|
||||
endif
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
include common.mk
|
||||
|
||||
# 5/4/3/2/1
|
||||
KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD)
|
||||
KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1)))
|
||||
KEYBOARD_FOLDER_PATH_3 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_2)))
|
||||
KEYBOARD_FOLDER_PATH_4 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_3)))
|
||||
KEYBOARD_FOLDER_PATH_5 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_4)))
|
||||
KEYBOARD_FOLDER_1 := $(notdir $(KEYBOARD_FOLDER_PATH_1))
|
||||
KEYBOARD_FOLDER_2 := $(notdir $(KEYBOARD_FOLDER_PATH_2))
|
||||
KEYBOARD_FOLDER_3 := $(notdir $(KEYBOARD_FOLDER_PATH_3))
|
||||
KEYBOARD_FOLDER_4 := $(notdir $(KEYBOARD_FOLDER_PATH_4))
|
||||
KEYBOARD_FOLDER_5 := $(notdir $(KEYBOARD_FOLDER_PATH_5))
|
||||
|
||||
KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD))
|
||||
KEYMAP_FILESAFE := $(subst /,_,$(KEYMAP))
|
||||
|
||||
TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP_FILESAFE)
|
||||
KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE)
|
||||
|
||||
# Force expansion
|
||||
TARGET := $(TARGET)
|
||||
|
||||
MASTER ?= left
|
||||
ifdef master
|
||||
MASTER = $(master)
|
||||
endif
|
||||
|
||||
ifeq ($(MASTER),right)
|
||||
OPT_DEFS += -DMASTER_IS_ON_RIGHT
|
||||
else
|
||||
ifneq ($(MASTER),left)
|
||||
$(error MASTER does not have a valid value(left/right))
|
||||
endif
|
||||
endif
|
||||
|
||||
KEYBOARD_PATHS :=
|
||||
|
||||
KEYBOARD_PATH_1 := keyboards/$(KEYBOARD_FOLDER_PATH_1)
|
||||
KEYBOARD_PATH_2 := keyboards/$(KEYBOARD_FOLDER_PATH_2)
|
||||
KEYBOARD_PATH_3 := keyboards/$(KEYBOARD_FOLDER_PATH_3)
|
||||
KEYBOARD_PATH_4 := keyboards/$(KEYBOARD_FOLDER_PATH_4)
|
||||
KEYBOARD_PATH_5 := keyboards/$(KEYBOARD_FOLDER_PATH_5)
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_5)
|
||||
include $(KEYBOARD_PATH_5)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_4)
|
||||
include $(KEYBOARD_PATH_4)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_3)
|
||||
include $(KEYBOARD_PATH_3)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_2)
|
||||
include $(KEYBOARD_PATH_2)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_1)
|
||||
include $(KEYBOARD_PATH_1)/rules.mk
|
||||
endif
|
||||
|
||||
KEYBOARD_SRC :=
|
||||
|
||||
KEYBOARD_C_1 := $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).c
|
||||
KEYBOARD_C_2 := $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).c
|
||||
KEYBOARD_C_3 := $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).c
|
||||
KEYBOARD_C_4 := $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).c
|
||||
KEYBOARD_C_5 := $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).c
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_5))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_5)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_4))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_4)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_3))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_3)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_2))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_2)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_1))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_1)
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE)
|
||||
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).h)","")
|
||||
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).h)","")
|
||||
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_2).h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).h)","")
|
||||
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_3).h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).h)","")
|
||||
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_4).h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).h)","")
|
||||
QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h
|
||||
endif
|
||||
|
||||
# We can assume a ChibiOS target When MCU_FAMILY is defined , since it's not used for LUFA
|
||||
ifdef MCU_FAMILY
|
||||
FIRMWARE_FORMAT=bin
|
||||
PLATFORM=CHIBIOS
|
||||
else
|
||||
PLATFORM=AVR
|
||||
FIRMWARE_FORMAT=hex
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM),CHIBIOS)
|
||||
include $(TMK_PATH)/chibios.mk
|
||||
OPT_OS = chibios
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_4)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_3)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_2)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h
|
||||
else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h)","")
|
||||
OPT_DEFS += -include $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h
|
||||
endif
|
||||
endif
|
||||
|
||||
CONFIG_H :=
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_5)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_4)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_3)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_2)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_1)/config.h
|
||||
endif
|
||||
|
||||
# Save the defines and includes here, so we don't include any keymap specific ones
|
||||
PROJECT_DEFS := $(OPT_DEFS)
|
||||
PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
|
||||
PROJECT_CONFIG := $(CONFIG_H)
|
||||
|
||||
MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP)
|
||||
MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP)
|
||||
MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP)
|
||||
MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
|
||||
MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
|
||||
|
||||
PARENT_MAIN_KEYMAP_PATH_1 := $(patsubst %/,%,$(dir $(MAIN_KEYMAP_PATH_1)))
|
||||
PARENT_MAIN_KEYMAP_PATH_2 := $(patsubst %/,%,$(dir $(MAIN_KEYMAP_PATH_2)))
|
||||
PARENT_MAIN_KEYMAP_PATH_3 := $(patsubst %/,%,$(dir $(MAIN_KEYMAP_PATH_3)))
|
||||
PARENT_MAIN_KEYMAP_PATH_4 := $(patsubst %/,%,$(dir $(MAIN_KEYMAP_PATH_4)))
|
||||
PARENT_MAIN_KEYMAP_PATH_5 := $(patsubst %/,%,$(dir $(MAIN_KEYMAP_PATH_5)))
|
||||
|
||||
# $(info $(PARENT_MAIN_KEYMAP_PATH_1))
|
||||
|
||||
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","")
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
|
||||
else ifneq ("$(wildcard $(PARENT_MAIN_KEYMAP_PATH_5)/keymap.c)","")
|
||||
KEYMAP_C := $(PARENT_MAIN_KEYMAP_PATH_5)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","")
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
|
||||
else ifneq ("$(wildcard $(PARENT_MAIN_KEYMAP_PATH_4)/keymap.c)","")
|
||||
KEYMAP_C := $(PARENT_MAIN_KEYMAP_PATH_4)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","")
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
|
||||
else ifneq ("$(wildcard $(PARENT_MAIN_KEYMAP_PATH_3)/keymap.c)","")
|
||||
KEYMAP_C := $(PARENT_MAIN_KEYMAP_PATH_3)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","")
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
|
||||
else ifneq ("$(wildcard $(PARENT_MAIN_KEYMAP_PATH_2)/keymap.c)","")
|
||||
KEYMAP_C := $(PARENT_MAIN_KEYMAP_PATH_2)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","")
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
|
||||
else ifneq ("$(wildcard $(PARENT_MAIN_KEYMAP_PATH_1)/keymap.c)","")
|
||||
KEYMAP_C := $(PARENT_MAIN_KEYMAP_PATH_1)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
|
||||
else ifneq ($(LAYOUTS),)
|
||||
include build_layout.mk
|
||||
else
|
||||
$(error Could not find keymap)
|
||||
# this state should never be reached
|
||||
endif
|
||||
|
||||
|
||||
PARENT_KEYMAP_PATH := $(patsubst %/,%,$(dir $(KEYMAP_PATH)))
|
||||
|
||||
# User space stuff
|
||||
ifeq ("$(USER_NAME)","")
|
||||
USER_NAME := $(KEYMAP)
|
||||
endif
|
||||
USER_PATH := users/$(USER_NAME)
|
||||
|
||||
|
||||
# Object files directory
|
||||
# To put object files in current directory, use a dot (.), do NOT make
|
||||
# this an empty or blank macro!
|
||||
KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET)
|
||||
|
||||
-include $(PARENT_KEYMAP_PATH)/rules.mk
|
||||
-include $(KEYMAP_PATH)/rules.mk
|
||||
-include $(USER_PATH)/rules.mk
|
||||
|
||||
ifneq ("$(wildcard $(PARENT_KEYMAP_PATH)/config.h)","")
|
||||
CONFIG_H += $(PARENT_KEYMAP_PATH)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
|
||||
CONFIG_H += $(KEYMAP_PATH)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(USER_PATH)/config.h)","")
|
||||
CONFIG_H += $(USER_PATH)/config.h
|
||||
endif
|
||||
|
||||
# # project specific files
|
||||
SRC += $(KEYBOARD_SRC) \
|
||||
$(KEYMAP_C) \
|
||||
$(QUANTUM_SRC)
|
||||
|
||||
# Optimize size but this may cause error "relocation truncated to fit"
|
||||
#EXTRALDFLAGS = -Wl,--relax
|
||||
|
||||
# Search Path
|
||||
VPATH += $(PARENT_KEYMAP_PATH)
|
||||
VPATH += $(KEYMAP_PATH)
|
||||
VPATH += $(KEYBOARD_PATHS)
|
||||
VPATH += $(COMMON_VPATH)
|
||||
VPATH += $(USER_PATH)
|
||||
|
||||
include common_features.mk
|
||||
include $(TMK_PATH)/protocol.mk
|
||||
include $(TMK_PATH)/common.mk
|
||||
include bootloader.mk
|
||||
|
||||
SRC += $(TMK_COMMON_SRC)
|
||||
OPT_DEFS += $(TMK_COMMON_DEFS)
|
||||
EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS)
|
||||
|
||||
ifeq ($(PLATFORM),AVR)
|
||||
ifeq ($(strip $(PROTOCOL)), VUSB)
|
||||
include $(TMK_PATH)/protocol/vusb.mk
|
||||
else
|
||||
include $(TMK_PATH)/protocol/lufa.mk
|
||||
endif
|
||||
include $(TMK_PATH)/avr.mk
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM),CHIBIOS)
|
||||
include $(TMK_PATH)/protocol/chibios.mk
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
|
||||
VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer
|
||||
VISUALIZER_PATH = $(QUANTUM_PATH)/visualizer
|
||||
include $(VISUALIZER_PATH)/visualizer.mk
|
||||
endif
|
||||
|
||||
ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H)
|
||||
|
||||
OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT)
|
||||
$(KEYMAP_OUTPUT)_SRC := $(SRC)
|
||||
$(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) $(GFXDEFS) \
|
||||
-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(QMK_KEYBOARD_H)\" -DQMK_KEYBOARD_CONFIG_H=\"$(KEYBOARD_PATH_1)/config.h\" \
|
||||
-DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \
|
||||
-DQMK_SUBPROJECT -DQMK_SUBPROJECT_H -DQMK_SUBPROJECT_CONFIG_H
|
||||
$(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS)
|
||||
$(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H)
|
||||
$(KEYBOARD_OUTPUT)_SRC := $(CHIBISRC) $(GFXSRC)
|
||||
$(KEYBOARD_OUTPUT)_DEFS := $(PROJECT_DEFS) $(GFXDEFS)
|
||||
$(KEYBOARD_OUTPUT)_INC := $(PROJECT_INC) $(GFXINC)
|
||||
$(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG)
|
||||
|
||||
# Default target.
|
||||
all: build check-size
|
||||
|
||||
# Change the build target to build a HEX file or a library.
|
||||
build: elf cpfirmware
|
||||
#build: elf hex eep lss sym
|
||||
#build: lib
|
||||
|
||||
|
||||
include $(TMK_PATH)/rules.mk
|
||||
22
build_layout.mk
Normal file
22
build_layout.mk
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
LAYOUTS_PATH := layouts
|
||||
LAYOUTS_REPOS := $(patsubst %/,%,$(sort $(dir $(wildcard $(LAYOUTS_PATH)/*/))))
|
||||
|
||||
define SEARCH_LAYOUTS_REPO
|
||||
LAYOUT_KEYMAP_PATH := $$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP)
|
||||
PARENT_LAYOUT_KEYMAP_PATH := $(patsubst %/,%,$(dir $(LAYOUT_KEYMAP_PATH)))
|
||||
LAYOUT_KEYMAP_C := $$(LAYOUT_KEYMAP_PATH)/keymap.c
|
||||
PARENT_LAYOUT_KEYMAP_C := $$(PARENT_LAYOUT_KEYMAP_PATH)/keymap.c
|
||||
ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_C))","")
|
||||
KEYMAP_C := $$(LAYOUT_KEYMAP_C)
|
||||
KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
|
||||
else ifneq ("$$(wildcard $$(PARENT_LAYOUT_KEYMAP_C))","")
|
||||
KEYMAP_C := $$(PARENT_LAYOUT_KEYMAP_C)
|
||||
KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
|
||||
endif
|
||||
endef
|
||||
|
||||
define SEARCH_LAYOUTS
|
||||
$$(foreach LAYOUTS_REPO,$$(LAYOUTS_REPOS),$$(eval $$(call SEARCH_LAYOUTS_REPO)))
|
||||
endef
|
||||
|
||||
$(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS)))
|
||||
67
build_test.mk
Normal file
67
build_test.mk
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
ifndef VERBOSE
|
||||
.SILENT:
|
||||
endif
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
include common.mk
|
||||
|
||||
TARGET=test/$(TEST)
|
||||
|
||||
GTEST_OUTPUT = $(BUILD_DIR)/gtest
|
||||
|
||||
TEST_OBJ = $(BUILD_DIR)/test_obj
|
||||
|
||||
OUTPUTS := $(TEST_OBJ)/$(TEST) $(GTEST_OUTPUT)
|
||||
|
||||
GTEST_INC := \
|
||||
$(LIB_PATH)/googletest/googletest/include\
|
||||
$(LIB_PATH)/googletest/googlemock/include\
|
||||
|
||||
GTEST_INTERNAL_INC :=\
|
||||
$(LIB_PATH)/googletest/googletest\
|
||||
$(LIB_PATH)/googletest/googlemock
|
||||
|
||||
$(GTEST_OUTPUT)_SRC :=\
|
||||
googletest/src/gtest-all.cc\
|
||||
googletest/src/gtest_main.cc\
|
||||
googlemock/src/gmock-all.cc
|
||||
|
||||
$(GTEST_OUTPUT)_DEFS :=
|
||||
$(GTEST_OUTPUT)_INC := $(GTEST_INC) $(GTEST_INTERNAL_INC)
|
||||
|
||||
LDFLAGS += -lstdc++ -lpthread -shared-libgcc
|
||||
CREATE_MAP := no
|
||||
|
||||
VPATH +=\
|
||||
$(LIB_PATH)/googletest\
|
||||
$(LIB_PATH)/googlemock
|
||||
|
||||
all: elf
|
||||
|
||||
VPATH += $(COMMON_VPATH)
|
||||
PLATFORM:=TEST
|
||||
|
||||
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
|
||||
include tests/$(TEST)/rules.mk
|
||||
endif
|
||||
|
||||
include common_features.mk
|
||||
include $(TMK_PATH)/common.mk
|
||||
include $(QUANTUM_PATH)/serial_link/tests/rules.mk
|
||||
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
|
||||
include build_full_test.mk
|
||||
endif
|
||||
|
||||
$(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC)
|
||||
$(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC)
|
||||
$(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS)
|
||||
$(TEST_OBJ)/$(TEST)_CONFIG := $($(TEST)_CONFIG)
|
||||
|
||||
include $(TMK_PATH)/native.mk
|
||||
include $(TMK_PATH)/rules.mk
|
||||
|
||||
|
||||
$(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null)
|
||||
$(shell mkdir -p $(TEST_OBJ) 2>/dev/null)
|
||||
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
# Copyright 2017 Fred Sundvik
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
$(TEST_OUTPUT)_INC := \
|
||||
tests/test_common/common_config.h
|
||||
|
||||
$(TEST_OUTPUT)_SRC := \
|
||||
$(QUANTUM_SRC) \
|
||||
$(SRC) \
|
||||
$(QUANTUM_PATH)/keymap_introspection.c \
|
||||
tests/test_common/matrix.c \
|
||||
tests/test_common/pointing_device_driver.c \
|
||||
tests/test_common/test_driver.cpp \
|
||||
tests/test_common/keyboard_report_util.cpp \
|
||||
tests/test_common/mouse_report_util.cpp \
|
||||
tests/test_common/test_fixture.cpp \
|
||||
tests/test_common/test_keymap_key.cpp \
|
||||
tests/test_common/test_logger.cpp \
|
||||
$(patsubst $(ROOTDIR)/%,%,$(wildcard $(TEST_PATH)/*.cpp))
|
||||
|
||||
$(TEST_OUTPUT)_DEFS := $(OPT_DEFS) "-DKEYMAP_C=\"keymap.c\""
|
||||
|
||||
$(TEST_OUTPUT)_CONFIG := $(TEST_PATH)/config.h
|
||||
|
||||
VPATH += $(TOP_DIR)/tests/test_common
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
# Look for a json keymap file
|
||||
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","")
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json
|
||||
KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_5)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","")
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json
|
||||
KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_4)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","")
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json
|
||||
KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_3)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","")
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json
|
||||
KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_2)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","")
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json
|
||||
KEYMAP_JSON_PATH := $(MAIN_KEYMAP_PATH_1)
|
||||
endif
|
||||
|
||||
ifneq ($(QMK_USERSPACE),)
|
||||
ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.json)","")
|
||||
KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.json
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)
|
||||
else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.json)","")
|
||||
KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.json
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)
|
||||
else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.json)","")
|
||||
KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.json
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)
|
||||
else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.json)","")
|
||||
KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.json
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)
|
||||
else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.json)","")
|
||||
KEYMAP_JSON := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.json
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)
|
||||
endif
|
||||
endif
|
||||
|
|
@ -1,621 +0,0 @@
|
|||
# Determine what keyboard we are building and setup the build environment.
|
||||
#
|
||||
# We support folders up to 5 levels deep below `keyboards/`. This file is
|
||||
# responsible for determining which folder is being used and doing the
|
||||
# corresponding environment setup.
|
||||
|
||||
ifndef VERBOSE
|
||||
.SILENT:
|
||||
endif
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
include paths.mk
|
||||
include $(BUILDDEFS_PATH)/support.mk
|
||||
include $(BUILDDEFS_PATH)/message.mk
|
||||
|
||||
# Helper to add defines with a 'QMK_' prefix
|
||||
define add_qmk_prefix_defs
|
||||
ifdef $1
|
||||
# Need to cater for 'STM32L4xx+'
|
||||
OPT_DEFS += -DQMK_$(2)="$($1)" -DQMK_$(2)_$(shell echo $($1) | sed -e 's@+@Plus@g' -e 's@[^a-zA-Z0-9]@_@g' | tr '[:lower:]' '[:upper:]')
|
||||
endif
|
||||
endef
|
||||
|
||||
# Set the qmk cli to use
|
||||
QMK_BIN ?= qmk
|
||||
|
||||
# Set the filename for the final firmware binary
|
||||
KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD))
|
||||
TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP)
|
||||
|
||||
ifeq ($(strip $(DUMP_CI_METADATA)),yes)
|
||||
$(info CI Metadata: KEYBOARD=$(KEYBOARD))
|
||||
$(info CI Metadata: KEYMAP=$(KEYMAP))
|
||||
endif
|
||||
|
||||
# Force expansion
|
||||
override TARGET := $(TARGET)
|
||||
|
||||
ifneq ($(FORCE_LAYOUT),)
|
||||
override TARGET := $(TARGET)_$(FORCE_LAYOUT)
|
||||
endif
|
||||
ifneq ($(CONVERT_TO),)
|
||||
override TARGET := $(TARGET)_$(CONVERT_TO)
|
||||
endif
|
||||
|
||||
# Object files and generated keymap directory
|
||||
# To put object files in current directory, use a dot (.), do NOT make
|
||||
# this an empty or blank macro!
|
||||
INTERMEDIATE_OUTPUT := $(BUILD_DIR)/obj_$(TARGET)
|
||||
|
||||
ifdef SKIP_VERSION
|
||||
OPT_DEFS += -DSKIP_VERSION
|
||||
endif
|
||||
|
||||
# Generate the version.h file
|
||||
VERSION_H_FLAGS :=
|
||||
ifdef SKIP_VERSION
|
||||
VERSION_H_FLAGS += --skip-all
|
||||
endif
|
||||
ifdef SKIP_GIT
|
||||
VERSION_H_FLAGS += --skip-git
|
||||
endif
|
||||
|
||||
# Determine which subfolders exist.
|
||||
KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD)
|
||||
KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1)))
|
||||
KEYBOARD_FOLDER_PATH_3 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_2)))
|
||||
KEYBOARD_FOLDER_PATH_4 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_3)))
|
||||
KEYBOARD_FOLDER_PATH_5 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_4)))
|
||||
KEYBOARD_FOLDER_1 := $(notdir $(KEYBOARD_FOLDER_PATH_1))
|
||||
KEYBOARD_FOLDER_2 := $(notdir $(KEYBOARD_FOLDER_PATH_2))
|
||||
KEYBOARD_FOLDER_3 := $(notdir $(KEYBOARD_FOLDER_PATH_3))
|
||||
KEYBOARD_FOLDER_4 := $(notdir $(KEYBOARD_FOLDER_PATH_4))
|
||||
KEYBOARD_FOLDER_5 := $(notdir $(KEYBOARD_FOLDER_PATH_5))
|
||||
KEYBOARD_PATHS :=
|
||||
KEYBOARD_PATH_1 := keyboards/$(KEYBOARD_FOLDER_PATH_1)
|
||||
KEYBOARD_PATH_2 := keyboards/$(KEYBOARD_FOLDER_PATH_2)
|
||||
KEYBOARD_PATH_3 := keyboards/$(KEYBOARD_FOLDER_PATH_3)
|
||||
KEYBOARD_PATH_4 := keyboards/$(KEYBOARD_FOLDER_PATH_4)
|
||||
KEYBOARD_PATH_5 := keyboards/$(KEYBOARD_FOLDER_PATH_5)
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_5)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_4)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_3)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_2)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/)","")
|
||||
KEYBOARD_PATHS += $(KEYBOARD_PATH_1)
|
||||
endif
|
||||
|
||||
|
||||
# Pull in rules.mk files from all our subfolders
|
||||
-include $(KEYBOARD_PATH_5)/rules.mk
|
||||
-include $(KEYBOARD_PATH_4)/rules.mk
|
||||
-include $(KEYBOARD_PATH_3)/rules.mk
|
||||
-include $(KEYBOARD_PATH_2)/rules.mk
|
||||
-include $(KEYBOARD_PATH_1)/rules.mk
|
||||
|
||||
# Create dependencies on DD keyboard config - structure validated elsewhere
|
||||
DD_CONFIG_FILES :=
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/info.json
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/info.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/info.json
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/info.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/info.json
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/info.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/info.json
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/info.json
|
||||
endif
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/keyboard.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_1)/keyboard.json
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/keyboard.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_2)/keyboard.json
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/keyboard.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_3)/keyboard.json
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/keyboard.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_4)/keyboard.json
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/keyboard.json)","")
|
||||
DD_CONFIG_FILES += $(KEYBOARD_PATH_5)/keyboard.json
|
||||
endif
|
||||
|
||||
MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP)
|
||||
MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP)
|
||||
MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP)
|
||||
MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
|
||||
MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
|
||||
|
||||
# Pull in rules from DD keyboard config
|
||||
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/info_rules.mk)
|
||||
include $(INFO_RULES_MK)
|
||||
|
||||
# Check for keymap.json first, so we can regenerate keymap.c
|
||||
include $(BUILDDEFS_PATH)/build_json.mk
|
||||
|
||||
# Pull in keymap level rules.mk
|
||||
ifeq ("$(wildcard $(KEYMAP_PATH))", "")
|
||||
# Look through the possible keymap folders until we find a matching keymap.c
|
||||
ifneq ($(QMK_USERSPACE),)
|
||||
ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.c)","")
|
||||
-include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/rules.mk
|
||||
KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)/keymap.c
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_1)
|
||||
else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.c)","")
|
||||
-include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/rules.mk
|
||||
KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)/keymap.c
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_2)
|
||||
else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.c)","")
|
||||
-include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/rules.mk
|
||||
KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)/keymap.c
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_3)
|
||||
else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.c)","")
|
||||
-include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/rules.mk
|
||||
KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)/keymap.c
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_4)
|
||||
else ifneq ("$(wildcard $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.c)","")
|
||||
-include $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/rules.mk
|
||||
KEYMAP_C := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)/keymap.c
|
||||
KEYMAP_PATH := $(QMK_USERSPACE)/$(MAIN_KEYMAP_PATH_5)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(KEYMAP_PATH),)
|
||||
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","")
|
||||
-include $(MAIN_KEYMAP_PATH_1)/rules.mk
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","")
|
||||
-include $(MAIN_KEYMAP_PATH_2)/rules.mk
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","")
|
||||
-include $(MAIN_KEYMAP_PATH_3)/rules.mk
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","")
|
||||
-include $(MAIN_KEYMAP_PATH_4)/rules.mk
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","")
|
||||
-include $(MAIN_KEYMAP_PATH_5)/rules.mk
|
||||
KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
|
||||
else ifneq ($(LAYOUTS),)
|
||||
# If we haven't found a keymap yet fall back to community layouts
|
||||
include $(BUILDDEFS_PATH)/build_layout.mk
|
||||
else ifeq ("$(wildcard $(KEYMAP_JSON_PATH))", "") # Not finding keymap.c is fine if we found a keymap.json
|
||||
$(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap)
|
||||
# this state should never be reached
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Have we found a keymap.json?
|
||||
ifneq ("$(wildcard $(KEYMAP_JSON))", "")
|
||||
ifneq ("$(wildcard $(KEYMAP_C))", "")
|
||||
# Allow a separately-found keymap.c next to keymap.json -- the keymap.c
|
||||
# generator will include the other keymap.c in the process, if supplied.
|
||||
OTHER_KEYMAP_C := $(KEYMAP_C)
|
||||
OPT_DEFS += -DOTHER_KEYMAP_C=\"$(OTHER_KEYMAP_C)\"
|
||||
endif
|
||||
|
||||
KEYMAP_PATH := $(KEYMAP_JSON_PATH)
|
||||
|
||||
KEYMAP_C := $(INTERMEDIATE_OUTPUT)/src/keymap.c
|
||||
KEYMAP_H := $(INTERMEDIATE_OUTPUT)/src/config.h
|
||||
|
||||
ifeq ($(OTHER_KEYMAP_C),)
|
||||
# Load the keymap-level rules.mk if exists (and we havent already loaded it for keymap.c)
|
||||
-include $(KEYMAP_PATH)/rules.mk
|
||||
endif
|
||||
|
||||
# Load any rules.mk content from keymap.json
|
||||
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --output $(INTERMEDIATE_OUTPUT)/src/rules.mk $(KEYMAP_JSON))
|
||||
include $(INFO_RULES_MK)
|
||||
|
||||
# Add rules to generate the keymap files - indentation here is important
|
||||
$(INTERMEDIATE_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/config.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --output $(KEYMAP_H) $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/keymap.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-keymap-h --quiet --output $(INTERMEDIATE_OUTPUT)/src/keymap.h $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/keymap.c $(INTERMEDIATE_OUTPUT)/src/keymap.h
|
||||
|
||||
endif
|
||||
|
||||
# Community modules
|
||||
COMMUNITY_RULES_MK = $(shell $(QMK_BIN) generate-community-modules-rules-mk -kb $(KEYBOARD) --quiet --escape --output $(INTERMEDIATE_OUTPUT)/src/community_rules.mk $(KEYMAP_JSON))
|
||||
include $(COMMUNITY_RULES_MK)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/community_modules.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-community-modules-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/community_modules.c: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-community-modules-c -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules.c $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-community-modules-introspection-c -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-community-modules-introspection-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-led-matrix-community-modules-inc -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-rgb-matrix-community-modules-inc -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
SRC += $(INTERMEDIATE_OUTPUT)/src/community_modules.c
|
||||
|
||||
generated-files: $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(INTERMEDIATE_OUTPUT)/src/community_modules.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc
|
||||
|
||||
include $(BUILDDEFS_PATH)/converters.mk
|
||||
|
||||
# Generate the board's version.h file.
|
||||
$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(INTERMEDIATE_OUTPUT)/src/version.h)
|
||||
|
||||
MCU_ORIG := $(MCU)
|
||||
include $(wildcard $(PLATFORM_PATH)/*/mcu_selection.mk)
|
||||
|
||||
# PLATFORM_KEY should be detected in DD keyboard config via key 'processor' (or rules.mk 'MCU')
|
||||
ifeq ($(PLATFORM_KEY),)
|
||||
$(call CATASTROPHIC_ERROR,Platform not defined)
|
||||
endif
|
||||
PLATFORM=$(shell echo $(PLATFORM_KEY) | tr '[:lower:]' '[:upper:]')
|
||||
|
||||
# Find all the C source files to be compiled in subfolders.
|
||||
KEYBOARD_SRC :=
|
||||
|
||||
KEYBOARD_C_1 := $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).c
|
||||
KEYBOARD_C_2 := $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).c
|
||||
KEYBOARD_C_3 := $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).c
|
||||
KEYBOARD_C_4 := $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).c
|
||||
KEYBOARD_C_5 := $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).c
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_5))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_5)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_4))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_4)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_3))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_3)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_2))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_2)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_C_1))","")
|
||||
KEYBOARD_SRC += $(KEYBOARD_C_1)
|
||||
endif
|
||||
|
||||
# Generate KEYBOARD_name_subname for all levels of the keyboard folder
|
||||
KEYBOARD_FILESAFE_1 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_1)))
|
||||
KEYBOARD_FILESAFE_2 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_2)))
|
||||
KEYBOARD_FILESAFE_3 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_3)))
|
||||
KEYBOARD_FILESAFE_4 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_4)))
|
||||
KEYBOARD_FILESAFE_5 := $(subst .,,$(subst /,_,$(KEYBOARD_FOLDER_PATH_5)))
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/)","")
|
||||
OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_5)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/)","")
|
||||
OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_4)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/)","")
|
||||
OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_3)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/)","")
|
||||
OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_2)
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/)","")
|
||||
OPT_DEFS += -DKEYBOARD_$(KEYBOARD_FILESAFE_1)
|
||||
endif
|
||||
|
||||
# Setup the define for QMK_KEYBOARD_H. This is used inside of keymaps so
|
||||
# that the same keymap may be used on multiple keyboards.
|
||||
#
|
||||
# We grab the most top-level include file that we can. That file should
|
||||
# use #ifdef statements to include all the necessary subfolder includes,
|
||||
# as described here:
|
||||
#
|
||||
# https://docs.qmk.fm/#/feature_layouts?id=tips-for-making-layouts-keyboard-agnostic
|
||||
#
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).h)","")
|
||||
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).h)","")
|
||||
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_2).h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).h)","")
|
||||
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_3).h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).h)","")
|
||||
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_4).h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).h)","")
|
||||
FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h
|
||||
endif
|
||||
|
||||
# Find all of the config.h files and add them to our CONFIG_H define.
|
||||
CONFIG_H :=
|
||||
|
||||
define config_h_community_module_appender
|
||||
ifneq ("$(wildcard $(1)/config.h)","")
|
||||
CONFIG_H += $(1)/config.h
|
||||
endif
|
||||
endef
|
||||
$(foreach module,$(COMMUNITY_MODULE_PATHS),$(eval $(call config_h_community_module_appender,$(module))))
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_5)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_4)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_3)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_2)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/config.h)","")
|
||||
CONFIG_H += $(KEYBOARD_PATH_1)/config.h
|
||||
endif
|
||||
|
||||
POST_CONFIG_H :=
|
||||
|
||||
define post_config_h_community_module_appender
|
||||
ifneq ("$(wildcard $(1)/post_config.h)","")
|
||||
POST_CONFIG_H += $(1)/post_config.h
|
||||
endif
|
||||
endef
|
||||
$(foreach module,$(COMMUNITY_MODULE_PATHS),$(eval $(call post_config_h_community_module_appender,$(module))))
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_config.h)","")
|
||||
POST_CONFIG_H += $(KEYBOARD_PATH_1)/post_config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_config.h)","")
|
||||
POST_CONFIG_H += $(KEYBOARD_PATH_2)/post_config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/post_config.h)","")
|
||||
POST_CONFIG_H += $(KEYBOARD_PATH_3)/post_config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/post_config.h)","")
|
||||
POST_CONFIG_H += $(KEYBOARD_PATH_4)/post_config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_config.h)","")
|
||||
POST_CONFIG_H += $(KEYBOARD_PATH_5)/post_config.h
|
||||
endif
|
||||
|
||||
CONFIG_H += $(INTERMEDIATE_OUTPUT)/src/info_config.h
|
||||
KEYBOARD_SRC += $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/info_config.h: $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/info_config.h)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.c: $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-keyboard-c --quiet --keyboard $(KEYBOARD) --output $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h: $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --include $(FOUND_KEYBOARD_H) --output $(INTERMEDIATE_OUTPUT)/src/default_keyboard.h)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
generated-files: $(INTERMEDIATE_OUTPUT)/src/info_config.h $(INTERMEDIATE_OUTPUT)/src/default_keyboard.c $(INTERMEDIATE_OUTPUT)/src/default_keyboard.h
|
||||
|
||||
generated-files: $(INTERMEDIATE_OUTPUT)/src/info_deps.d
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/info_deps.d:
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-make-dependencies -kb $(KEYBOARD) -km $(KEYMAP) -o $(INTERMEDIATE_OUTPUT)/src/info_deps.d)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
-include $(INTERMEDIATE_OUTPUT)/src/info_deps.d
|
||||
|
||||
.INTERMEDIATE : generated-files
|
||||
|
||||
# Userspace setup and definitions
|
||||
ifeq ("$(USER_NAME)","")
|
||||
USER_NAME := $(KEYMAP)
|
||||
endif
|
||||
USER_PATH := users/$(USER_NAME)
|
||||
|
||||
# If we have userspace, then add it to the lookup VPATH
|
||||
ifneq ($(wildcard $(QMK_USERSPACE)),)
|
||||
VPATH += $(QMK_USERSPACE)
|
||||
endif
|
||||
|
||||
# If the equivalent users directory exists in userspace, use that in preference to anything currently in the main repo
|
||||
ifneq ($(wildcard $(QMK_USERSPACE)/$(USER_PATH)),)
|
||||
USER_PATH := $(QMK_USERSPACE)/$(USER_PATH)
|
||||
endif
|
||||
|
||||
# Pull in user level rules.mk
|
||||
-include $(USER_PATH)/rules.mk
|
||||
ifneq ("$(wildcard $(USER_PATH)/config.h)","")
|
||||
CONFIG_H += $(USER_PATH)/config.h
|
||||
endif
|
||||
ifneq ("$(wildcard $(USER_PATH)/post_config.h)","")
|
||||
POST_CONFIG_H += $(USER_PATH)/post_config.h
|
||||
endif
|
||||
|
||||
# Disable features that a keyboard doesn't support
|
||||
-include $(BUILDDEFS_PATH)/disable_features.mk
|
||||
|
||||
ifneq ("$(CONVERTER)","")
|
||||
-include $(CONVERTER)/post_converter.mk
|
||||
endif
|
||||
|
||||
# Pull in post_rules.mk files from all our subfolders
|
||||
-include $(KEYBOARD_PATH_1)/post_rules.mk
|
||||
-include $(KEYBOARD_PATH_2)/post_rules.mk
|
||||
-include $(KEYBOARD_PATH_3)/post_rules.mk
|
||||
-include $(KEYBOARD_PATH_4)/post_rules.mk
|
||||
-include $(KEYBOARD_PATH_5)/post_rules.mk
|
||||
|
||||
define post_rules_mk_community_module_includer
|
||||
ifneq ("$(wildcard $(1)/post_rules.mk)","")
|
||||
include $(1)/post_rules.mk
|
||||
endif
|
||||
endef
|
||||
$(foreach module,$(COMMUNITY_MODULE_PATHS),$(eval $(call post_rules_mk_community_module_includer,$(module))))
|
||||
|
||||
ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
|
||||
CONFIG_H += $(KEYMAP_PATH)/config.h
|
||||
endif
|
||||
ifneq ("$(KEYMAP_H)","")
|
||||
CONFIG_H += $(KEYMAP_H)
|
||||
endif
|
||||
|
||||
ifeq ($(KEYMAP_C),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid keymap,Could not find keymap)
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DKEYMAP_C=\"$(KEYMAP_C)\"
|
||||
|
||||
# If a keymap or userspace places their keymap array in another file instead, allow for it to be included
|
||||
# !!NOTE!! -- For this to work, the source file cannot be part of $(SRC), so users should not add it via `SRC += <file>`
|
||||
ifneq ($(strip $(INTROSPECTION_KEYMAP_C)),)
|
||||
OPT_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\"
|
||||
endif
|
||||
|
||||
# project specific files
|
||||
SRC += \
|
||||
$(KEYBOARD_SRC) \
|
||||
$(QUANTUM_DIR)/keymap_introspection.c \
|
||||
$(QUANTUM_SRC) \
|
||||
$(QUANTUM_DIR)/main.c \
|
||||
|
||||
# Optimize size but this may cause error "relocation truncated to fit"
|
||||
#EXTRALDFLAGS = -Wl,--relax
|
||||
|
||||
# Search Path
|
||||
VPATH += $(KEYMAP_PATH)
|
||||
VPATH += $(USER_PATH)
|
||||
VPATH += $(KEYBOARD_PATHS)
|
||||
VPATH += $(COMMON_VPATH)
|
||||
VPATH += $(INTERMEDIATE_OUTPUT)/src
|
||||
|
||||
include $(BUILDDEFS_PATH)/common_features.mk
|
||||
include $(BUILDDEFS_PATH)/generic_features.mk
|
||||
include $(TMK_PATH)/protocol.mk
|
||||
include $(PLATFORM_PATH)/common.mk
|
||||
|
||||
SRC += $(patsubst %.c,%.clib,$(LIB_SRC))
|
||||
SRC += $(patsubst %.c,%.clib,$(QUANTUM_LIB_SRC))
|
||||
|
||||
-include $(PLATFORM_PATH)/$(PLATFORM_KEY)/bootloader.mk
|
||||
include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk
|
||||
-include $(PLATFORM_PATH)/$(PLATFORM_KEY)/flash.mk
|
||||
|
||||
ifneq ($(strip $(PROTOCOL)),)
|
||||
PROTOCOL_KEY = $(strip $(shell echo $(PROTOCOL) | tr '[:upper:]' '[:lower:]'))
|
||||
else
|
||||
PROTOCOL_KEY = $(PLATFORM_KEY)
|
||||
endif
|
||||
include $(TMK_PATH)/protocol/$(PROTOCOL_KEY)/$(PROTOCOL_KEY).mk
|
||||
|
||||
# Setup definitions based on the selected MCU
|
||||
$(eval $(call add_qmk_prefix_defs,MCU_ORIG,MCU))
|
||||
$(eval $(call add_qmk_prefix_defs,MCU_ARCH,MCU_ARCH))
|
||||
$(eval $(call add_qmk_prefix_defs,MCU_PORT_NAME,MCU_PORT_NAME))
|
||||
$(eval $(call add_qmk_prefix_defs,MCU_FAMILY,MCU_FAMILY))
|
||||
$(eval $(call add_qmk_prefix_defs,MCU_SERIES,MCU_SERIES))
|
||||
$(eval $(call add_qmk_prefix_defs,BOARD,BOARD))
|
||||
$(eval $(call add_qmk_prefix_defs,OPT,OPT))
|
||||
|
||||
# Control whether intermediate file listings are generated
|
||||
# e.g.:
|
||||
# make handwired/onekey/blackpill_f411:default KEEP_INTERMEDIATES=yes
|
||||
# cat .build/obj_handwired_onekey_blackpill_f411_default/quantum/quantum.i | sed -e 's@^#.*@@g' -e 's@^\s*//.*@@g' -e '/^\s*$/d' | clang-format
|
||||
ifeq ($(strip $(KEEP_INTERMEDIATES)), yes)
|
||||
OPT_DEFS += -save-temps=obj
|
||||
endif
|
||||
|
||||
OUTPUTS := $(INTERMEDIATE_OUTPUT)
|
||||
$(INTERMEDIATE_OUTPUT)_SRC := $(SRC) $(PLATFORM_SRC)
|
||||
$(INTERMEDIATE_OUTPUT)_DEFS := \
|
||||
-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(INTERMEDIATE_OUTPUT)/src/default_keyboard.h\" \
|
||||
-DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" \
|
||||
$(OPT_DEFS)
|
||||
$(INTERMEDIATE_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
|
||||
$(INTERMEDIATE_OUTPUT)_CONFIG := $(CONFIG_H) $(POST_CONFIG_H)
|
||||
|
||||
# Default target.
|
||||
all: build check-size
|
||||
|
||||
build: elf cpfirmware
|
||||
check-size: build
|
||||
check-md5: build
|
||||
objs-size: build
|
||||
|
||||
ifneq ($(strip $(TOP_SYMBOLS)),)
|
||||
ifeq ($(strip $(TOP_SYMBOLS)),yes)
|
||||
NUM_TOP_SYMBOLS := 10
|
||||
else
|
||||
NUM_TOP_SYMBOLS := $(strip $(TOP_SYMBOLS))
|
||||
endif
|
||||
all: top-symbols
|
||||
check-size: top-symbols
|
||||
top-symbols: build
|
||||
echo "###########################################"
|
||||
echo "# Highest flash usage:"
|
||||
$(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep ' [RrTt] ' | head -n$(NUM_TOP_SYMBOLS) | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g'
|
||||
echo "###########################################"
|
||||
echo "# Highest RAM usage:"
|
||||
$(NM) -Crtd --size-sort $(BUILD_DIR)/$(TARGET).elf | grep ' [BbCDdGgSs] ' | head -n$(NUM_TOP_SYMBOLS) | sed -e 's#^0000000# #g' -e 's#^000000# #g' -e 's#^00000# #g' -e 's#^0000# #g' -e 's#^000# #g' -e 's#^00# #g' -e 's#^0# #g'
|
||||
echo "###########################################"
|
||||
endif
|
||||
|
||||
include $(BUILDDEFS_PATH)/show_options.mk
|
||||
include $(BUILDDEFS_PATH)/common_rules.mk
|
||||
|
||||
# Ensure we have generated files available for each of the objects
|
||||
define GEN_FILES
|
||||
$1: generated-files
|
||||
endef
|
||||
$(foreach O,$(OBJ),$(eval $(call GEN_FILES,$(patsubst %.a,%.o,$(O)))))
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
LAYOUTS_PATH := layouts
|
||||
LAYOUTS_REPOS := $(patsubst %/,%,$(sort $(dir $(wildcard $(LAYOUTS_PATH)/*/))))
|
||||
|
||||
ifneq ($(QMK_USERSPACE),)
|
||||
LAYOUTS_REPOS += $(patsubst %/,%,$(QMK_USERSPACE)/$(LAYOUTS_PATH))
|
||||
endif
|
||||
|
||||
define SEARCH_LAYOUTS_REPO
|
||||
LAYOUT_KEYMAP_PATH := $$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP)
|
||||
LAYOUT_KEYMAP_JSON := $$(LAYOUT_KEYMAP_PATH)/keymap.json
|
||||
LAYOUT_KEYMAP_C := $$(LAYOUT_KEYMAP_PATH)/keymap.c
|
||||
ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_JSON))","")
|
||||
-include $$(LAYOUT_KEYMAP_PATH)/rules.mk
|
||||
KEYMAP_JSON := $$(LAYOUT_KEYMAP_JSON)
|
||||
KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
|
||||
else ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_C))","")
|
||||
-include $$(LAYOUT_KEYMAP_PATH)/rules.mk
|
||||
KEYMAP_C := $$(LAYOUT_KEYMAP_C)
|
||||
KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
|
||||
endif
|
||||
endef
|
||||
|
||||
define SEARCH_LAYOUTS
|
||||
$$(foreach LAYOUTS_REPO,$$(LAYOUTS_REPOS),$$(eval $$(call SEARCH_LAYOUTS_REPO)))
|
||||
endef
|
||||
|
||||
ifneq ($(FORCE_LAYOUT),)
|
||||
ifneq (,$(findstring $(FORCE_LAYOUT),$(LAYOUTS)))
|
||||
$(info Forcing layout: $(FORCE_LAYOUT))
|
||||
LAYOUTS := $(FORCE_LAYOUT)
|
||||
else
|
||||
$(call CATASTROPHIC_ERROR,Invalid layout,Forced layout does not exist)
|
||||
endif
|
||||
endif
|
||||
|
||||
$(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS)))
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
ifndef VERBOSE
|
||||
.SILENT:
|
||||
endif
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
OPT = g
|
||||
|
||||
include paths.mk
|
||||
include $(BUILDDEFS_PATH)/support.mk
|
||||
include $(BUILDDEFS_PATH)/message.mk
|
||||
|
||||
TARGET=test/$(TEST_OUTPUT)
|
||||
|
||||
GTEST_OUTPUT = $(BUILD_DIR)/gtest
|
||||
|
||||
TEST_OBJ = $(BUILD_DIR)/test_obj
|
||||
|
||||
OUTPUTS := $(TEST_OBJ)/$(TEST_OUTPUT) $(GTEST_OUTPUT)
|
||||
|
||||
GTEST_INC := \
|
||||
$(LIB_PATH)/googletest/googletest/include \
|
||||
$(LIB_PATH)/googletest/googlemock/include
|
||||
|
||||
GTEST_INTERNAL_INC := \
|
||||
$(LIB_PATH)/googletest/googletest \
|
||||
$(LIB_PATH)/googletest/googlemock
|
||||
|
||||
$(GTEST_OUTPUT)_SRC := \
|
||||
googletest/src/gtest-all.cc\
|
||||
googlemock/src/gmock-all.cc
|
||||
|
||||
$(GTEST_OUTPUT)_DEFS :=
|
||||
$(GTEST_OUTPUT)_INC := $(GTEST_INC) $(GTEST_INTERNAL_INC)
|
||||
|
||||
LDFLAGS += -lstdc++ -lpthread -shared-libgcc
|
||||
CREATE_MAP := no
|
||||
|
||||
VPATH += \
|
||||
$(LIB_PATH)/googletest \
|
||||
$(LIB_PATH)/googlemock \
|
||||
$(COMMON_VPATH) \
|
||||
$(TEST_PATH)
|
||||
|
||||
all: elf
|
||||
|
||||
PLATFORM:=TEST
|
||||
PLATFORM_KEY:=test
|
||||
BOOTLOADER_TYPE:=none
|
||||
|
||||
DEBUG ?= 0
|
||||
ifneq ($(strip $(DEBUG)), 0)
|
||||
CONSOLE_ENABLE = yes
|
||||
endif
|
||||
|
||||
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
|
||||
include tests/test_common/build.mk
|
||||
include $(TEST_PATH)/test.mk
|
||||
endif
|
||||
|
||||
include $(BUILDDEFS_PATH)/common_features.mk
|
||||
include $(BUILDDEFS_PATH)/generic_features.mk
|
||||
include $(PLATFORM_PATH)/common.mk
|
||||
include $(TMK_PATH)/protocol.mk
|
||||
include $(QUANTUM_PATH)/debounce/tests/rules.mk
|
||||
include $(QUANTUM_PATH)/encoder/tests/rules.mk
|
||||
include $(QUANTUM_PATH)/os_detection/tests/rules.mk
|
||||
include $(QUANTUM_PATH)/sequencer/tests/rules.mk
|
||||
include $(QUANTUM_PATH)/wear_leveling/tests/rules.mk
|
||||
include $(QUANTUM_PATH)/logging/print.mk
|
||||
include $(PLATFORM_PATH)/test/rules.mk
|
||||
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
|
||||
include $(BUILDDEFS_PATH)/build_full_test.mk
|
||||
endif
|
||||
|
||||
$(TEST_OUTPUT)_SRC += \
|
||||
tests/test_common/main.cpp \
|
||||
$(QUANTUM_PATH)/logging/print.c
|
||||
|
||||
ifneq ($(strip $(INTROSPECTION_KEYMAP_C)),)
|
||||
$(TEST_OUTPUT)_DEFS += -DINTROSPECTION_KEYMAP_C=\"$(strip $(INTROSPECTION_KEYMAP_C))\"
|
||||
endif
|
||||
|
||||
$(TEST_OBJ)/$(TEST_OUTPUT)_SRC := $($(TEST_OUTPUT)_SRC)
|
||||
$(TEST_OBJ)/$(TEST_OUTPUT)_INC := $($(TEST_OUTPUT)_INC) $(VPATH) $(GTEST_INC)
|
||||
$(TEST_OBJ)/$(TEST_OUTPUT)_DEFS := $($(TEST_OUTPUT)_DEFS)
|
||||
$(TEST_OBJ)/$(TEST_OUTPUT)_CONFIG := $($(TEST_OUTPUT)_CONFIG)
|
||||
|
||||
include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk
|
||||
include $(BUILDDEFS_PATH)/common_rules.mk
|
||||
|
||||
|
||||
$(shell mkdir -p $(BUILD_DIR)/test 2>/dev/null)
|
||||
$(shell mkdir -p $(TEST_OBJ) 2>/dev/null)
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,408 +0,0 @@
|
|||
# Hey Emacs, this is a -*- makefile -*-
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Enable vpath searching for source files only
|
||||
# Without this, output files, could be read from the wrong .build directories
|
||||
VPATH_SRC := $(VPATH)
|
||||
vpath %.c $(VPATH_SRC)
|
||||
vpath %.h $(VPATH_SRC)
|
||||
vpath %.cpp $(VPATH_SRC)
|
||||
vpath %.cc $(VPATH_SRC)
|
||||
vpath %.hpp $(VPATH_SRC)
|
||||
vpath %.S $(VPATH_SRC)
|
||||
VPATH :=
|
||||
|
||||
# Helper to return the distinct elements of a list
|
||||
uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1)))
|
||||
|
||||
# Convert all SRC to OBJ
|
||||
define OBJ_FROM_SRC
|
||||
$(patsubst %.c,$1/%.o,$(patsubst %.cpp,$1/%.o,$(patsubst %.cc,$1/%.o,$(patsubst %.S,$1/%.o,$(patsubst %.clib,$1/%.a,$($1_SRC))))))
|
||||
endef
|
||||
$(foreach OUTPUT,$(OUTPUTS),$(eval $(OUTPUT)_OBJ +=$(call OBJ_FROM_SRC,$(OUTPUT))))
|
||||
|
||||
# Define a list of all objects
|
||||
OBJ := $(foreach OUTPUT,$(OUTPUTS),$($(OUTPUT)_OBJ))
|
||||
NO_LTO_OBJ := $(filter %.a,$(OBJ))
|
||||
|
||||
MASTER_OUTPUT := $(firstword $(OUTPUTS))
|
||||
|
||||
# Output format. (can be srec, ihex, binary)
|
||||
FORMAT = ihex
|
||||
|
||||
# Optimization level, can be [0, 1, 2, 3, s].
|
||||
OPT ?= s
|
||||
|
||||
# Compiler flag to set the C and C++ language standard level
|
||||
CSTANDARD = -std=gnu11
|
||||
CXXSTANDARD = -std=gnu++14
|
||||
|
||||
# Speed up recompilations by opt-in usage of ccache
|
||||
USE_CCACHE ?= no
|
||||
ifneq ($(USE_CCACHE),no)
|
||||
CC_PREFIX ?= ccache
|
||||
endif
|
||||
|
||||
#---------------- Debug Options ----------------
|
||||
|
||||
DEBUG_ENABLE ?= no
|
||||
ifeq ($(strip $(DEBUG_ENABLE)),yes)
|
||||
CFLAGS += -ggdb3
|
||||
CXXFLAGS += -ggdb3
|
||||
ASFLAGS += -ggdb3
|
||||
# Create a map file when debugging
|
||||
LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref
|
||||
endif
|
||||
|
||||
|
||||
#---------------- C Compiler Options ----------------
|
||||
|
||||
ifeq ($(strip $(LTO_ENABLE)), yes)
|
||||
CDEFS += -flto
|
||||
CDEFS += -DLTO_ENABLE
|
||||
endif
|
||||
|
||||
CFLAGS += $(CDEFS)
|
||||
CFLAGS += -O$(OPT)
|
||||
# add color
|
||||
ifeq ($(COLOR),true)
|
||||
ifeq ("$(shell echo "int main(){}" | $(CC) -fdiagnostics-color -x c - -o /dev/null 2>&1)", "")
|
||||
CFLAGS+= -fdiagnostics-color
|
||||
endif
|
||||
endif
|
||||
CFLAGS += -Wall
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
ifneq ($(strip $(ALLOW_WARNINGS)), yes)
|
||||
CFLAGS += -Werror
|
||||
endif
|
||||
CFLAGS += $(CSTANDARD)
|
||||
|
||||
# This fixes lots of keyboards linking errors but SHOULDN'T BE A FINAL SOLUTION
|
||||
# Fixing of multiple variable definitions must be made.
|
||||
CFLAGS += -fcommon
|
||||
|
||||
#---------------- C++ Compiler Options ----------------
|
||||
|
||||
CXXFLAGS += $(CXXDEFS)
|
||||
CXXFLAGS += -O$(OPT)
|
||||
# to suppress "warning: only initialized variables can be placed into program memory area"
|
||||
CXXFLAGS += -w
|
||||
CXXFLAGS += -Wall
|
||||
CXXFLAGS += -Wundef
|
||||
|
||||
ifneq ($(strip $(ALLOW_WARNINGS)), yes)
|
||||
CXXFLAGS += -Werror
|
||||
endif
|
||||
|
||||
#---------------- Assembler Options ----------------
|
||||
|
||||
ASFLAGS += $(ADEFS)
|
||||
ifeq ($(VERBOSE_AS_CMD),yes)
|
||||
ASFLAGS += -v
|
||||
endif
|
||||
|
||||
#---------------- Linker Options ----------------
|
||||
|
||||
ifeq ($(VERBOSE_LD_CMD),yes)
|
||||
LDFLAGS += -v
|
||||
endif
|
||||
|
||||
LDFLAGS += $(EXTMEMOPTS)
|
||||
LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS))
|
||||
LDFLAGS += -lm
|
||||
# You can give EXTRALDFLAGS at 'make' command line.
|
||||
LDFLAGS += $(EXTRALDFLAGS)
|
||||
|
||||
#---------------- Assembler Listings ----------------
|
||||
|
||||
ADHLNS_ENABLE ?= no
|
||||
ifeq ($(ADHLNS_ENABLE),yes)
|
||||
# Avoid "Options to '-Xassembler' do not match" - only specify assembler options at LTO link time
|
||||
ifeq ($(strip $(LTO_ENABLE)), yes)
|
||||
LDFLAGS += -Wa,-adhlns=$(BUILD_DIR)/$(TARGET).lst
|
||||
else
|
||||
CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
|
||||
CXXFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
|
||||
ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),--listing-cont-lines=100
|
||||
endif
|
||||
endif
|
||||
|
||||
# Define programs and commands.
|
||||
SHELL = sh
|
||||
SED = sed
|
||||
REMOVE = rm -f
|
||||
REMOVEDIR = rmdir
|
||||
COPY = cp
|
||||
WINSHELL = cmd
|
||||
SECHO = $(SILENT) || echo
|
||||
MD5SUM ?= md5sum
|
||||
ifneq ($(filter Darwin FreeBSD,$(shell uname -s)),)
|
||||
MD5SUM = md5
|
||||
endif
|
||||
|
||||
# UF2 format settings
|
||||
# To produce a UF2 file in your build, add to your keyboard's rules.mk:
|
||||
# FIRMWARE_FORMAT = uf2
|
||||
UF2CONV = $(TOP_DIR)/util/uf2conv.py
|
||||
UF2CONV_ARGS ?=
|
||||
UF2_FAMILY ?= 0x0
|
||||
|
||||
# Compiler flags to generate dependency files.
|
||||
#GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d
|
||||
GENDEPFLAGS = -MMD -MP -MF $(patsubst %.o,%.td,$@)
|
||||
|
||||
|
||||
# Combine all necessary flags and optional flags.
|
||||
# Add target processor to flags.
|
||||
# You can give extra flags at 'make' command line like: make EXTRAFLAGS=-DFOO=bar
|
||||
ALL_CFLAGS = $(MCUFLAGS) $(CFLAGS) $(EXTRAFLAGS)
|
||||
ALL_CXXFLAGS = $(MCUFLAGS) -x c++ $(CXXFLAGS) $(EXTRAFLAGS)
|
||||
ALL_ASFLAGS = $(MCUFLAGS) -x assembler-with-cpp $(ASFLAGS) $(EXTRAFLAGS)
|
||||
|
||||
define NO_LTO
|
||||
$(patsubst %.a,%.o,$1): NOLTO_CFLAGS += -fno-lto
|
||||
endef
|
||||
$(foreach LOBJ, $(NO_LTO_OBJ), $(eval $(call NO_LTO,$(LOBJ))))
|
||||
|
||||
MOVE_DEP = mv -f $(patsubst %.o,%.td,$@) $(patsubst %.o,%.d,$@)
|
||||
|
||||
# For a ChibiOS build, ensure that the board files have the hook overrides injected
|
||||
define BOARDSRC_INJECT_HOOKS
|
||||
$(INTERMEDIATE_OUTPUT)/$(patsubst %.c,%.o,$(patsubst ./%,%,$1)): FILE_SPECIFIC_CFLAGS += -include $(TOP_DIR)/tmk_core/protocol/chibios/init_hooks.h
|
||||
endef
|
||||
$(foreach LOBJ, $(BOARDSRC), $(eval $(call BOARDSRC_INJECT_HOOKS,$(LOBJ))))
|
||||
|
||||
# Add QMK specific flags
|
||||
DFU_SUFFIX ?= dfu-suffix
|
||||
DFU_SUFFIX_ARGS ?=
|
||||
|
||||
|
||||
elf: $(BUILD_DIR)/$(TARGET).elf
|
||||
hex: $(BUILD_DIR)/$(TARGET).hex
|
||||
uf2: $(BUILD_DIR)/$(TARGET).uf2
|
||||
cpfirmware_qmk: $(FIRMWARE_FORMAT)
|
||||
$(SILENT) || printf "Copying $(TARGET).$(FIRMWARE_FORMAT) to qmk_firmware folder" | $(AWK_CMD)
|
||||
$(COPY) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) $(TARGET).$(FIRMWARE_FORMAT) && $(PRINT_OK)
|
||||
eep: $(BUILD_DIR)/$(TARGET).eep
|
||||
lss: $(BUILD_DIR)/$(TARGET).lss
|
||||
sym: $(BUILD_DIR)/$(TARGET).sym
|
||||
LIBNAME=lib$(TARGET).a
|
||||
lib: $(LIBNAME)
|
||||
|
||||
cpfirmware: cpfirmware_qmk
|
||||
|
||||
ifneq ($(QMK_USERSPACE),)
|
||||
cpfirmware: cpfirmware_userspace
|
||||
cpfirmware_userspace: cpfirmware_qmk
|
||||
$(SILENT) || printf "Copying $(TARGET).$(FIRMWARE_FORMAT) to userspace folder" | $(AWK_CMD)
|
||||
$(COPY) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) $(QMK_USERSPACE)/$(TARGET).$(FIRMWARE_FORMAT) && $(PRINT_OK)
|
||||
endif
|
||||
|
||||
# Display size of file, modifying the output so people don't mistakenly grab the hex output
|
||||
BINARY_SIZE = $(SIZE) --target=$(FORMAT) $(BUILD_DIR)/$(TARGET).hex | $(SED) -e 's/\.build\/.*$$/$(TARGET).$(FIRMWARE_FORMAT)/g'
|
||||
|
||||
sizebefore:
|
||||
@if test -f $(BUILD_DIR)/$(TARGET).hex; then $(SECHO) $(MSG_SIZE_BEFORE); $(SILENT) || $(BINARY_SIZE); \
|
||||
2>/dev/null; $(SECHO); fi
|
||||
|
||||
sizeafter: $(BUILD_DIR)/$(TARGET).hex
|
||||
@if test -f $(BUILD_DIR)/$(TARGET).hex; then $(SECHO); $(SECHO) $(MSG_SIZE_AFTER); $(SILENT) || $(BINARY_SIZE); \
|
||||
2>/dev/null; $(SECHO); fi
|
||||
|
||||
# Display compiler version information.
|
||||
gccversion :
|
||||
@$(SILENT) || $(CC) --version
|
||||
|
||||
# Create final output files (.hex, .eep) from ELF output file.
|
||||
%.hex: %.elf
|
||||
$(eval CMD=$(HEX) $< $@)
|
||||
#@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n"
|
||||
@$(SILENT) || printf "$(MSG_FLASH) $@" | $(AWK_CMD)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
%.uf2: %.elf
|
||||
$(eval CMD=$(HEX) $< $(BUILD_DIR)/$(TARGET).tmp && $(UF2CONV) $(UF2CONV_ARGS) $(BUILD_DIR)/$(TARGET).tmp --output $@ --convert --family $(UF2_FAMILY) >/dev/null 2>&1)
|
||||
#@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n"
|
||||
@$(SILENT) || printf "$(MSG_UF2) $@" | $(AWK_CMD)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
%.eep: %.elf
|
||||
$(eval CMD=$(EEP) $< $@ || exit 0)
|
||||
#@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n"
|
||||
@$(SILENT) || printf "$(MSG_EEPROM) $@" | $(AWK_CMD)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
# Create extended listing file from ELF output file.
|
||||
%.lss: %.elf
|
||||
$(eval CMD=$(OBJDUMP) -h -S -z $< > $@)
|
||||
#@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n"
|
||||
@$(SILENT) || printf "$(MSG_EXTENDED_LISTING) $@" | $(AWK_CMD)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
# Create a symbol table from ELF output file.
|
||||
%.sym: %.elf
|
||||
$(eval CMD=$(NM) -n $< > $@ )
|
||||
#@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n"
|
||||
@$(SILENT) || printf "$(MSG_SYMBOL_TABLE) $@" | $(AWK_CMD)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
%.bin: %.elf
|
||||
$(eval CMD=$(BIN) $< $@ || exit 0)
|
||||
#@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n"
|
||||
@$(SILENT) || printf "$(MSG_BIN) $@" | $(AWK_CMD)
|
||||
@$(BUILD_CMD)
|
||||
if [ ! -z "$(DFU_SUFFIX_ARGS)" ]; then \
|
||||
$(DFU_SUFFIX) $(DFU_SUFFIX_ARGS) -a $(BUILD_DIR)/$(TARGET).bin 1>/dev/null ;\
|
||||
fi
|
||||
#$(SILENT) || printf "$(MSG_EXECUTING) '$(DFU_SUFFIX) $(DFU_SUFFIX_ARGS) -a $(BUILD_DIR)/$(TARGET).bin 1>/dev/null':\n" ;\
|
||||
$(COPY) $(BUILD_DIR)/$(TARGET).bin $(TARGET).bin;
|
||||
|
||||
BEGIN = gccversion sizebefore
|
||||
|
||||
# Link: create ELF output file from object files.
|
||||
.SECONDARY : $(BUILD_DIR)/$(TARGET).elf
|
||||
.PRECIOUS : $(OBJ)
|
||||
# Note the obj.txt depeendency is there to force linking if a source file is deleted
|
||||
%.elf: $(OBJ) $(MASTER_OUTPUT)/cflags.txt $(MASTER_OUTPUT)/ldflags.txt $(MASTER_OUTPUT)/obj.txt | $(BEGIN)
|
||||
@$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=MAKE=$(MAKE) $(CC) $(ALL_CFLAGS) $(call uniq,$(OBJ)) --output $@ $(LDFLAGS))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
|
||||
define GEN_OBJRULE
|
||||
$1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC))
|
||||
ifdef $1_CONFIG
|
||||
$1_CONFIG_FLAGS += $$(patsubst %,-include %,$$($1_CONFIG))
|
||||
endif
|
||||
$1_CFLAGS = $$(ALL_CFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) $$(NOLTO_CFLAGS)
|
||||
$1_CXXFLAGS = $$(ALL_CXXFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS) $$(NOLTO_CFLAGS)
|
||||
$1_ASFLAGS = $$(ALL_ASFLAGS) $$($1_DEFS) $$($1_INCFLAGS) $$($1_CONFIG_FLAGS)
|
||||
|
||||
# Compile: create object files from C source files.
|
||||
$1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN)
|
||||
@mkdir -p $$(@D)
|
||||
@$$(SILENT) || printf "$$(MSG_COMPILING) $$<" | $$(AWK_CMD)
|
||||
$$(eval CC_EXEC := $$(CC))
|
||||
ifneq ($$(VERBOSE_C_CMD),)
|
||||
$$(if $$(filter $$(notdir $$(VERBOSE_C_CMD)),$$(notdir $$<)),$$(eval CC_EXEC += -v))
|
||||
endif
|
||||
ifneq ($$(VERBOSE_C_INCLUDE),)
|
||||
$$(if $$(filter $$(notdir $$(VERBOSE_C_INCLUDE)),$$(notdir $$<)),$$(eval CC_EXEC += -H))
|
||||
endif
|
||||
$$(eval CMD := $$(CC_EXEC) -c $$($1_CFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
@$$(BUILD_CMD)
|
||||
ifneq ($$(DUMP_C_MACROS),)
|
||||
$$(eval CMD := $$(CC) -E -dM $$($1_CFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$<)
|
||||
@$$(if $$(filter $$(notdir $$(DUMP_C_MACROS)),$$(notdir $$<)),$$(BUILD_CMD))
|
||||
endif
|
||||
|
||||
# Compile: create object files from C++ source files.
|
||||
$1/%.o : %.cpp $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN)
|
||||
@mkdir -p $$(@D)
|
||||
@$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD)
|
||||
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
@$$(BUILD_CMD)
|
||||
|
||||
$1/%.o : %.cc $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN)
|
||||
@mkdir -p $$(@D)
|
||||
@$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD)
|
||||
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
@$$(BUILD_CMD)
|
||||
|
||||
# Assemble: create object files from assembler source files.
|
||||
$1/%.o : %.S $1/asflags.txt $1/compiler.txt | $(BEGIN)
|
||||
@mkdir -p $$(@D)
|
||||
@$(SILENT) || printf "$$(MSG_ASSEMBLING) $$<" | $$(AWK_CMD)
|
||||
$$(eval CMD=$$(CC) -c $$($1_ASFLAGS) $$< -o $$@)
|
||||
@$$(BUILD_CMD)
|
||||
|
||||
$1/%.a : $1/%.o
|
||||
@mkdir -p $$(@D)
|
||||
@$(SILENT) || printf "Archiving: $$<" | $$(AWK_CMD)
|
||||
$$(eval CMD=$$(AR) rcs $$@ $$<)
|
||||
@$$(BUILD_CMD)
|
||||
|
||||
$1/force:
|
||||
|
||||
$1/cflags.txt: $1/force
|
||||
echo '$$($1_CFLAGS)' | cmp -s - $$@ || echo '$$($1_CFLAGS)' > $$@
|
||||
|
||||
$1/cxxflags.txt: $1/force
|
||||
echo '$$($1_CXXFLAGS)' | cmp -s - $$@ || echo '$$($1_CXXFLAGS)' > $$@
|
||||
|
||||
$1/asflags.txt: $1/force
|
||||
echo '$$($1_ASFLAGS)' | cmp -s - $$@ || echo '$$($1_ASFLAGS)' > $$@
|
||||
|
||||
$1/compiler.txt: $1/force
|
||||
test -f $$@ || touch $$@
|
||||
$$(CC) --version | cmp -s - $$@ || $$(CC) --version > $$@
|
||||
endef
|
||||
|
||||
.PRECIOUS: $(MASTER_OUTPUT)/obj.txt
|
||||
$(MASTER_OUTPUT)/obj.txt: $(MASTER_OUTPUT)/force
|
||||
echo '$(OBJ)' | cmp -s - $@ || echo '$(OBJ)' > $@
|
||||
|
||||
.PRECIOUS: $(MASTER_OUTPUT)/ldflags.txt
|
||||
$(MASTER_OUTPUT)/ldflags.txt: $(MASTER_OUTPUT)/force
|
||||
echo '$(LDFLAGS)' | cmp -s - $@ || echo '$(LDFLAGS)' > $@
|
||||
|
||||
|
||||
# We have to use static rules for the .d files for some reason
|
||||
DEPS = $(patsubst %.o,%.d,$(patsubst %.a,%.o,$(OBJ)))
|
||||
# Keep the .d files
|
||||
.PRECIOUS: $(DEPS)
|
||||
# Empty rule to force recompilation if the .d file is missing
|
||||
$(DEPS):
|
||||
|
||||
|
||||
$(foreach OUTPUT,$(OUTPUTS),$(eval $(call GEN_OBJRULE,$(OUTPUT))))
|
||||
|
||||
# Create preprocessed source for use in sending a bug report.
|
||||
%.i : %.c | $(BEGIN)
|
||||
$(CC) -E -mmcu=$(MCU) $(CFLAGS) $< -o $@
|
||||
|
||||
# Target: clean project.
|
||||
clean:
|
||||
$(foreach OUTPUT,$(OUTPUTS), $(REMOVE) -r $(OUTPUT) 2>/dev/null)
|
||||
$(REMOVE) $(BUILD_DIR)/$(TARGET).*
|
||||
|
||||
show_path:
|
||||
@echo VPATH=$(VPATH)
|
||||
@echo SRC=$(SRC)
|
||||
@echo OBJ=$(OBJ)
|
||||
|
||||
dump_vars: ERROR_IF_EMPTY=""
|
||||
dump_vars: ERROR_IF_NONBOOL=""
|
||||
dump_vars: ERROR_IF_UNSET=""
|
||||
dump_vars: CATASTROPHIC_ERROR=""
|
||||
dump_vars:
|
||||
@$(foreach V,$(sort $(.VARIABLES)),$(if $(filter-out environment% default automatic,$(origin $V)),$(info $V=$($V))))
|
||||
|
||||
objs-size:
|
||||
for i in $(OBJ); do echo $$i; done | sort | xargs $(SIZE)
|
||||
|
||||
|
||||
# size check optionally implemented in its platform.mk
|
||||
check-size:
|
||||
|
||||
check-md5:
|
||||
$(MD5SUM) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT)
|
||||
|
||||
# Create build directory
|
||||
$(shell mkdir -p $(BUILD_DIR) 2>/dev/null)
|
||||
|
||||
# Create object files directory
|
||||
$(eval $(foreach OUTPUT,$(OUTPUTS),$(shell mkdir -p $(OUTPUT) 2>/dev/null)))
|
||||
|
||||
# Include the dependency files.
|
||||
-include $(patsubst %.o,%.d,$(patsubst %.a,%.o,$(OBJ)))
|
||||
|
||||
|
||||
# Listing of phony targets.
|
||||
.PHONY : all dump_vars finish sizebefore sizeafter qmkversion \
|
||||
gccversion build elf hex uf2 eep lss sym coff extcoff \
|
||||
clean clean_list debug gdb-config show_path \
|
||||
program teensy dfu dfu-ee dfu-start \
|
||||
flash dfu-split-left dfu-split-right \
|
||||
avrdude-split-left avrdude-split-right \
|
||||
avrdude-loop usbasp
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
ifneq (,$(filter $(MCU),atmega32u4))
|
||||
# TODO: opt in rather than assume everything uses a pro micro
|
||||
PIN_COMPATIBLE ?= promicro
|
||||
endif
|
||||
|
||||
# Remove whitespace from any rule.mk provided vars
|
||||
# - env cannot be overwritten but cannot have whitespace anyway
|
||||
CONVERT_TO:=$(strip $(CONVERT_TO))
|
||||
ifneq ($(CONVERT_TO),)
|
||||
|
||||
# stash so we can overwrite env provided vars if needed
|
||||
ACTIVE_CONVERTER=$(CONVERT_TO)
|
||||
|
||||
ifeq ($(PIN_COMPATIBLE),)
|
||||
$(call CATASTROPHIC_ERROR,Converting to '$(CONVERT_TO)' not possible!)
|
||||
endif
|
||||
|
||||
# glob to search each platfrorm and/or check for valid converter
|
||||
CONVERTER := $(wildcard $(PLATFORM_PATH)/*/converters/$(PIN_COMPATIBLE)_to_$(CONVERT_TO)/)
|
||||
ifeq ($(CONVERTER),)
|
||||
$(call CATASTROPHIC_ERROR,Converting from '$(PIN_COMPATIBLE)' to '$(CONVERT_TO)' not possible!)
|
||||
endif
|
||||
|
||||
-include $(CONVERTER)/pre_converter.mk
|
||||
|
||||
PLATFORM_KEY = $(shell echo $(CONVERTER) | cut -d "/" -f2)
|
||||
|
||||
# Configure any defaults
|
||||
OPT_DEFS += -DCONVERT_TO_$(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]')
|
||||
OPT_DEFS += -DCONVERTER_TARGET=\"$(CONVERT_TO)\"
|
||||
OPT_DEFS += -DCONVERTER_ENABLED
|
||||
VPATH += $(CONVERTER)
|
||||
|
||||
# Configure for "alias" - worst case it produces an idential define
|
||||
OPT_DEFS += -DCONVERT_TO_$(shell echo $(ACTIVE_CONVERTER) | tr '[:lower:]' '[:upper:]')
|
||||
|
||||
# Finally run any converter specific logic
|
||||
include $(CONVERTER)/converter.mk
|
||||
endif
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
# Unconditionally disable features that a keyboard advertises it doesn't support
|
||||
|
||||
FEATURE_NAMES :=
|
||||
FEATURE_NAMES += AUDIO
|
||||
FEATURE_NAMES += BACKLIGHT
|
||||
FEATURE_NAMES += BLUETOOTH
|
||||
FEATURE_NAMES += DIP_SWITCH
|
||||
FEATURE_NAMES += DYNAMIC_KEYMAP
|
||||
FEATURE_NAMES += ENCODER
|
||||
FEATURE_NAMES += HAPTIC
|
||||
FEATURE_NAMES += HD44780
|
||||
FEATURE_NAMES += IOS_DEVICE
|
||||
FEATURE_NAMES += LCD_BACKLIGHT
|
||||
FEATURE_NAMES += LCD
|
||||
FEATURE_NAMES += OLED
|
||||
FEATURE_NAMES += POINTING_DEVICE
|
||||
FEATURE_NAMES += PS2_MOUSE
|
||||
FEATURE_NAMES += RGBLIGHT
|
||||
FEATURE_NAMES += RGB_MATRIX
|
||||
FEATURE_NAMES += SLEEP_LED
|
||||
FEATURE_NAMES += STENO
|
||||
FEATURE_NAMES += SWAP_HANDS
|
||||
FEATURE_NAMES += WATCHDOG
|
||||
FEATURE_NAMES += XT
|
||||
|
||||
$(foreach AFEATURE,$(FEATURE_NAMES),\
|
||||
$(if $(filter $($(AFEATURE)_SUPPORTED),no),$(eval $(AFEATURE)_ENABLE=no)))
|
||||
5
builddefs/docsgen/.gitignore
vendored
5
builddefs/docsgen/.gitignore
vendored
|
|
@ -1,5 +0,0 @@
|
|||
node_modules
|
||||
.vitepress/cache
|
||||
.vitepress/.temp
|
||||
.vitepress/dist
|
||||
docs
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
import { defineConfig } from "vitepress";
|
||||
import { tabsMarkdownPlugin } from "vitepress-plugin-tabs";
|
||||
import sidebar from "../../../docs/_sidebar.json";
|
||||
|
||||
// https://vitepress.dev/reference/site-config
|
||||
export default defineConfig(({ mode }) => {
|
||||
const prod = mode === "production";
|
||||
return {
|
||||
title: "QMK Firmware",
|
||||
description: "Documentation for QMK Firmware",
|
||||
|
||||
srcDir: prod ? "docs" : "../../docs",
|
||||
outDir: "../../.build/docs",
|
||||
cleanUrls: true,
|
||||
|
||||
markdown: {
|
||||
config(md) {
|
||||
md.use(tabsMarkdownPlugin);
|
||||
},
|
||||
},
|
||||
|
||||
vite: {
|
||||
resolve: {
|
||||
preserveSymlinks: true,
|
||||
},
|
||||
},
|
||||
|
||||
themeConfig: {
|
||||
// https://vitepress.dev/reference/default-theme-config
|
||||
logo: {
|
||||
light: "/qmk-logo-light.svg",
|
||||
dark: "/qmk-logo-dark.svg",
|
||||
},
|
||||
title: 'QMK Firmware',
|
||||
|
||||
nav: [{ text: "Home", link: "/" }],
|
||||
|
||||
search: {
|
||||
provider: "local",
|
||||
},
|
||||
|
||||
editLink: {
|
||||
pattern: 'https://github.com/qmk/qmk_firmware/edit/master/docs/:path'
|
||||
},
|
||||
lastUpdated: true,
|
||||
|
||||
sidebar: sidebar,
|
||||
|
||||
externalLinkIcon: true,
|
||||
|
||||
socialLinks: [
|
||||
{ icon: { svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px"><path d="M 29 3 C 28.0625 3 27.164063 3.382813 26.5 4 C 25.835938 4.617188 25.363281 5.433594 25 6.40625 C 24.355469 8.140625 24.085938 10.394531 24.03125 13.03125 C 19.234375 13.179688 14.820313 14.421875 11.28125 16.46875 C 10.214844 15.46875 8.855469 14.96875 7.5 14.96875 C 6.089844 14.96875 4.675781 15.511719 3.59375 16.59375 C 1.425781 18.761719 1.425781 22.238281 3.59375 24.40625 L 3.84375 24.65625 C 3.3125 26.035156 3 27.488281 3 29 C 3 33.527344 5.566406 37.585938 9.5625 40.4375 C 13.558594 43.289063 19.007813 45 25 45 C 30.992188 45 36.441406 43.289063 40.4375 40.4375 C 44.433594 37.585938 47 33.527344 47 29 C 47 27.488281 46.6875 26.035156 46.15625 24.65625 L 46.40625 24.40625 C 48.574219 22.238281 48.574219 18.761719 46.40625 16.59375 C 45.324219 15.511719 43.910156 14.96875 42.5 14.96875 C 41.144531 14.96875 39.785156 15.46875 38.71875 16.46875 C 35.195313 14.433594 30.800781 13.191406 26.03125 13.03125 C 26.09375 10.546875 26.363281 8.46875 26.875 7.09375 C 27.164063 6.316406 27.527344 5.757813 27.875 5.4375 C 28.222656 5.117188 28.539063 5 29 5 C 29.460938 5 29.683594 5.125 30.03125 5.40625 C 30.378906 5.6875 30.785156 6.148438 31.3125 6.6875 C 32.253906 7.652344 33.695313 8.714844 36.09375 8.9375 C 36.539063 11.238281 38.574219 13 41 13 C 43.75 13 46 10.75 46 8 C 46 5.25 43.75 3 41 3 C 38.605469 3 36.574219 4.710938 36.09375 6.96875 C 34.3125 6.796875 33.527344 6.109375 32.75 5.3125 C 32.300781 4.851563 31.886719 4.3125 31.3125 3.84375 C 30.738281 3.375 29.9375 3 29 3 Z M 41 5 C 42.667969 5 44 6.332031 44 8 C 44 9.667969 42.667969 11 41 11 C 39.332031 11 38 9.667969 38 8 C 38 6.332031 39.332031 5 41 5 Z M 25 15 C 30.609375 15 35.675781 16.613281 39.28125 19.1875 C 42.886719 21.761719 45 25.226563 45 29 C 45 32.773438 42.886719 36.238281 39.28125 38.8125 C 35.675781 41.386719 30.609375 43 25 43 C 19.390625 43 14.324219 41.386719 10.71875 38.8125 C 7.113281 36.238281 5 32.773438 5 29 C 5 25.226563 7.113281 21.761719 10.71875 19.1875 C 14.324219 16.613281 19.390625 15 25 15 Z M 7.5 16.9375 C 8.203125 16.9375 8.914063 17.148438 9.53125 17.59375 C 7.527344 19.03125 5.886719 20.769531 4.75 22.71875 C 3.582031 21.296875 3.660156 19.339844 5 18 C 5.714844 17.285156 6.609375 16.9375 7.5 16.9375 Z M 42.5 16.9375 C 43.390625 16.9375 44.285156 17.285156 45 18 C 46.339844 19.339844 46.417969 21.296875 45.25 22.71875 C 44.113281 20.769531 42.472656 19.03125 40.46875 17.59375 C 41.085938 17.148438 41.796875 16.9375 42.5 16.9375 Z M 17 22 C 14.800781 22 13 23.800781 13 26 C 13 28.199219 14.800781 30 17 30 C 19.199219 30 21 28.199219 21 26 C 21 23.800781 19.199219 22 17 22 Z M 33 22 C 30.800781 22 29 23.800781 29 26 C 29 28.199219 30.800781 30 33 30 C 35.199219 30 37 28.199219 37 26 C 37 23.800781 35.199219 22 33 22 Z M 17 24 C 18.117188 24 19 24.882813 19 26 C 19 27.117188 18.117188 28 17 28 C 15.882813 28 15 27.117188 15 26 C 15 24.882813 15.882813 24 17 24 Z M 33 24 C 34.117188 24 35 24.882813 35 26 C 35 27.117188 34.117188 28 33 28 C 31.882813 28 31 27.117188 31 26 C 31 24.882813 31.882813 24 33 24 Z M 34.15625 33.84375 C 34.101563 33.851563 34.050781 33.859375 34 33.875 C 33.683594 33.9375 33.417969 34.144531 33.28125 34.4375 C 33.28125 34.4375 32.757813 35.164063 31.4375 36 C 30.117188 36.835938 28.058594 37.6875 25 37.6875 C 21.941406 37.6875 19.882813 36.835938 18.5625 36 C 17.242188 35.164063 16.71875 34.4375 16.71875 34.4375 C 16.492188 34.082031 16.066406 33.90625 15.65625 34 C 15.332031 34.082031 15.070313 34.316406 14.957031 34.632813 C 14.84375 34.945313 14.894531 35.292969 15.09375 35.5625 C 15.09375 35.5625 15.863281 36.671875 17.46875 37.6875 C 19.074219 38.703125 21.558594 39.6875 25 39.6875 C 28.441406 39.6875 30.925781 38.703125 32.53125 37.6875 C 34.136719 36.671875 34.90625 35.5625 34.90625 35.5625 C 35.207031 35.273438 35.296875 34.824219 35.128906 34.441406 C 34.960938 34.058594 34.574219 33.820313 34.15625 33.84375 Z"/></svg>' }, link: "https://reddit.com/r/olkb" },
|
||||
{ icon: "discord", link: "https://discord.gg/qmk" },
|
||||
{ icon: "github", link: "https://github.com/qmk/qmk_firmware" },
|
||||
],
|
||||
}
|
||||
};
|
||||
});
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
<script setup>
|
||||
import DefaultTheme from 'vitepress/theme'
|
||||
import { useRouter } from 'vitepress'
|
||||
import { onBeforeMount } from 'vue';
|
||||
import aliases from "../../../../docs/_aliases.json";
|
||||
|
||||
const router = useRouter()
|
||||
onBeforeMount(async () => {
|
||||
// Convert from docsify-style to vitepress-style URLs
|
||||
let newUrl = window.location.href.replace(/\/#\//, '/').replace(/\?id=/, '#');
|
||||
|
||||
// Convert any aliases
|
||||
let testUrl = new URL(newUrl);
|
||||
while (testUrl.pathname in aliases) {
|
||||
testUrl.pathname = aliases[testUrl.pathname];
|
||||
}
|
||||
newUrl = testUrl.toString();
|
||||
|
||||
// Redirect if required
|
||||
if (newUrl != window.location.href) {
|
||||
window.history.replaceState({}, '', newUrl);
|
||||
await router.go(newUrl);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<DefaultTheme.Layout/>
|
||||
</template>
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
/* Override <kbd> as vitepress doesn't put them with borders */
|
||||
kbd {
|
||||
border: 1px solid var(--vp-c-text-1);
|
||||
border-radius: 5px;
|
||||
margin: 0.2em;
|
||||
padding: 0.2em;
|
||||
}
|
||||
|
||||
:root {
|
||||
--vp-nav-logo-height: 32px;
|
||||
|
||||
--vp-layout-max-width: calc(98% + 64px);
|
||||
|
||||
--vp-sidebar-width: 300px;
|
||||
}
|
||||
|
||||
.VPDoc.has-aside .content-container {
|
||||
max-width: unset !important;
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
import type { Theme } from 'vitepress'
|
||||
import DefaultTheme from 'vitepress/theme'
|
||||
import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client'
|
||||
import QMKLayout from './QMKLayout.vue'
|
||||
import './custom.css'
|
||||
|
||||
export default {
|
||||
extends: DefaultTheme,
|
||||
Layout: QMKLayout,
|
||||
enhanceApp({ app }) {
|
||||
enhanceAppWithTabs(app)
|
||||
}
|
||||
} satisfies Theme
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
|
||||
yarn install
|
||||
[[ -e docs ]] || ln -sf ../../docs docs
|
||||
DEBUG='vitepress:*,vite:*' yarn run docs:build
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"license": "GPL-2.0-or-later",
|
||||
"devDependencies": {
|
||||
"vite": "^5.4.19",
|
||||
"vitepress": "^1.1.0",
|
||||
"vitepress-plugin-tabs": "^0.5.0",
|
||||
"vue": "^3.4.24"
|
||||
},
|
||||
"scripts": {
|
||||
"docs:dev": "vitepress dev --host 0.0.0.0",
|
||||
"docs:build": "vitepress build",
|
||||
"docs:preview": "vitepress preview --host 0.0.0.0"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
|
||||
yarn install
|
||||
DEBUG='vitepress:*,vite:*' yarn run docs:dev
|
||||
|
|
@ -1,820 +0,0 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@algolia/autocomplete-core@1.9.3":
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7"
|
||||
integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==
|
||||
dependencies:
|
||||
"@algolia/autocomplete-plugin-algolia-insights" "1.9.3"
|
||||
"@algolia/autocomplete-shared" "1.9.3"
|
||||
|
||||
"@algolia/autocomplete-plugin-algolia-insights@1.9.3":
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587"
|
||||
integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==
|
||||
dependencies:
|
||||
"@algolia/autocomplete-shared" "1.9.3"
|
||||
|
||||
"@algolia/autocomplete-preset-algolia@1.9.3":
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da"
|
||||
integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==
|
||||
dependencies:
|
||||
"@algolia/autocomplete-shared" "1.9.3"
|
||||
|
||||
"@algolia/autocomplete-shared@1.9.3":
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa"
|
||||
integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==
|
||||
|
||||
"@algolia/cache-browser-local-storage@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz#0cc26b96085e1115dac5fcb9d826651ba57faabc"
|
||||
integrity sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==
|
||||
dependencies:
|
||||
"@algolia/cache-common" "4.23.3"
|
||||
|
||||
"@algolia/cache-common@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.23.3.tgz#3bec79092d512a96c9bfbdeec7cff4ad36367166"
|
||||
integrity sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==
|
||||
|
||||
"@algolia/cache-in-memory@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz#3945f87cd21ffa2bec23890c85305b6b11192423"
|
||||
integrity sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==
|
||||
dependencies:
|
||||
"@algolia/cache-common" "4.23.3"
|
||||
|
||||
"@algolia/client-account@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.23.3.tgz#8751bbf636e6741c95e7c778488dee3ee430ac6f"
|
||||
integrity sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==
|
||||
dependencies:
|
||||
"@algolia/client-common" "4.23.3"
|
||||
"@algolia/client-search" "4.23.3"
|
||||
"@algolia/transporter" "4.23.3"
|
||||
|
||||
"@algolia/client-analytics@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.23.3.tgz#f88710885278fe6fb6964384af59004a5a6f161d"
|
||||
integrity sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==
|
||||
dependencies:
|
||||
"@algolia/client-common" "4.23.3"
|
||||
"@algolia/client-search" "4.23.3"
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
"@algolia/transporter" "4.23.3"
|
||||
|
||||
"@algolia/client-common@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.23.3.tgz#891116aa0db75055a7ecc107649f7f0965774704"
|
||||
integrity sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==
|
||||
dependencies:
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
"@algolia/transporter" "4.23.3"
|
||||
|
||||
"@algolia/client-personalization@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.23.3.tgz#35fa8e5699b0295fbc400a8eb211dc711e5909db"
|
||||
integrity sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==
|
||||
dependencies:
|
||||
"@algolia/client-common" "4.23.3"
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
"@algolia/transporter" "4.23.3"
|
||||
|
||||
"@algolia/client-search@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.23.3.tgz#a3486e6af13a231ec4ab43a915a1f318787b937f"
|
||||
integrity sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==
|
||||
dependencies:
|
||||
"@algolia/client-common" "4.23.3"
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
"@algolia/transporter" "4.23.3"
|
||||
|
||||
"@algolia/logger-common@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.23.3.tgz#35c6d833cbf41e853a4f36ba37c6e5864920bfe9"
|
||||
integrity sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==
|
||||
|
||||
"@algolia/logger-console@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.23.3.tgz#30f916781826c4db5f51fcd9a8a264a06e136985"
|
||||
integrity sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==
|
||||
dependencies:
|
||||
"@algolia/logger-common" "4.23.3"
|
||||
|
||||
"@algolia/recommend@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-4.23.3.tgz#53d4f194d22d9c72dc05f3f7514c5878f87c5890"
|
||||
integrity sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==
|
||||
dependencies:
|
||||
"@algolia/cache-browser-local-storage" "4.23.3"
|
||||
"@algolia/cache-common" "4.23.3"
|
||||
"@algolia/cache-in-memory" "4.23.3"
|
||||
"@algolia/client-common" "4.23.3"
|
||||
"@algolia/client-search" "4.23.3"
|
||||
"@algolia/logger-common" "4.23.3"
|
||||
"@algolia/logger-console" "4.23.3"
|
||||
"@algolia/requester-browser-xhr" "4.23.3"
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
"@algolia/requester-node-http" "4.23.3"
|
||||
"@algolia/transporter" "4.23.3"
|
||||
|
||||
"@algolia/requester-browser-xhr@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz#9e47e76f60d540acc8b27b4ebc7a80d1b41938b9"
|
||||
integrity sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==
|
||||
dependencies:
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
|
||||
"@algolia/requester-common@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.23.3.tgz#7dbae896e41adfaaf1d1fa5f317f83a99afb04b3"
|
||||
integrity sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==
|
||||
|
||||
"@algolia/requester-node-http@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz#c9f94a5cb96a15f48cea338ab6ef16bbd0ff989f"
|
||||
integrity sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==
|
||||
dependencies:
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
|
||||
"@algolia/transporter@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.23.3.tgz#545b045b67db3850ddf0bbecbc6c84ff1f3398b7"
|
||||
integrity sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==
|
||||
dependencies:
|
||||
"@algolia/cache-common" "4.23.3"
|
||||
"@algolia/logger-common" "4.23.3"
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
|
||||
"@babel/parser@^7.24.4":
|
||||
version "7.24.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88"
|
||||
integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==
|
||||
|
||||
"@docsearch/css@3.6.0", "@docsearch/css@^3.6.0":
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.6.0.tgz#0e9f56f704b3a34d044d15fd9962ebc1536ba4fb"
|
||||
integrity sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==
|
||||
|
||||
"@docsearch/js@^3.6.0":
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.6.0.tgz#f9e46943449b9092d874944f7a80bcc071004cfb"
|
||||
integrity sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==
|
||||
dependencies:
|
||||
"@docsearch/react" "3.6.0"
|
||||
preact "^10.0.0"
|
||||
|
||||
"@docsearch/react@3.6.0":
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.6.0.tgz#b4f25228ecb7fc473741aefac592121e86dd2958"
|
||||
integrity sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==
|
||||
dependencies:
|
||||
"@algolia/autocomplete-core" "1.9.3"
|
||||
"@algolia/autocomplete-preset-algolia" "1.9.3"
|
||||
"@docsearch/css" "3.6.0"
|
||||
algoliasearch "^4.19.1"
|
||||
|
||||
"@esbuild/aix-ppc64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f"
|
||||
integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==
|
||||
|
||||
"@esbuild/android-arm64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052"
|
||||
integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==
|
||||
|
||||
"@esbuild/android-arm@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28"
|
||||
integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==
|
||||
|
||||
"@esbuild/android-x64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e"
|
||||
integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==
|
||||
|
||||
"@esbuild/darwin-arm64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a"
|
||||
integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==
|
||||
|
||||
"@esbuild/darwin-x64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22"
|
||||
integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==
|
||||
|
||||
"@esbuild/freebsd-arm64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e"
|
||||
integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==
|
||||
|
||||
"@esbuild/freebsd-x64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261"
|
||||
integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==
|
||||
|
||||
"@esbuild/linux-arm64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b"
|
||||
integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==
|
||||
|
||||
"@esbuild/linux-arm@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9"
|
||||
integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==
|
||||
|
||||
"@esbuild/linux-ia32@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2"
|
||||
integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==
|
||||
|
||||
"@esbuild/linux-loong64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df"
|
||||
integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==
|
||||
|
||||
"@esbuild/linux-mips64el@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe"
|
||||
integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==
|
||||
|
||||
"@esbuild/linux-ppc64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4"
|
||||
integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==
|
||||
|
||||
"@esbuild/linux-riscv64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc"
|
||||
integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==
|
||||
|
||||
"@esbuild/linux-s390x@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de"
|
||||
integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==
|
||||
|
||||
"@esbuild/linux-x64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0"
|
||||
integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==
|
||||
|
||||
"@esbuild/netbsd-x64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047"
|
||||
integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==
|
||||
|
||||
"@esbuild/openbsd-x64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70"
|
||||
integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==
|
||||
|
||||
"@esbuild/sunos-x64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b"
|
||||
integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==
|
||||
|
||||
"@esbuild/win32-arm64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d"
|
||||
integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==
|
||||
|
||||
"@esbuild/win32-ia32@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b"
|
||||
integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==
|
||||
|
||||
"@esbuild/win32-x64@0.21.5":
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
|
||||
integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
|
||||
|
||||
"@jridgewell/sourcemap-codec@^1.4.15":
|
||||
version "1.4.15"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
||||
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
||||
|
||||
"@rollup/rollup-android-arm-eabi@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz#d4dd60da0075a6ce9a6c76d71b8204f3e1822285"
|
||||
integrity sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==
|
||||
|
||||
"@rollup/rollup-android-arm64@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz#25c4d33259a7a2ccd2f52a5ffcc0bb3ab3f0729d"
|
||||
integrity sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==
|
||||
|
||||
"@rollup/rollup-darwin-arm64@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz#d137dff254b19163a6b52ac083a71cd055dae844"
|
||||
integrity sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==
|
||||
|
||||
"@rollup/rollup-darwin-x64@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz#58ff20b5dacb797d3adca19f02a21c532f9d55bf"
|
||||
integrity sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==
|
||||
|
||||
"@rollup/rollup-freebsd-arm64@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz#96ce1a241c591ec3e068f4af765d94eddb24e60c"
|
||||
integrity sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==
|
||||
|
||||
"@rollup/rollup-freebsd-x64@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz#e59e7ede505be41f0b4311b0b943f8eb44938467"
|
||||
integrity sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==
|
||||
|
||||
"@rollup/rollup-linux-arm-gnueabihf@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz#e455ca6e4ff35bd46d62201c153352e717000a7b"
|
||||
integrity sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==
|
||||
|
||||
"@rollup/rollup-linux-arm-musleabihf@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz#bc1a93d807d19e70b1e343a5bfea43723bcd6327"
|
||||
integrity sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==
|
||||
|
||||
"@rollup/rollup-linux-arm64-gnu@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz#f38bf843f1dc3d5de680caf31084008846e3efae"
|
||||
integrity sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==
|
||||
|
||||
"@rollup/rollup-linux-arm64-musl@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz#b3987a96c18b7287129cf735be2dbf83e94d9d05"
|
||||
integrity sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==
|
||||
|
||||
"@rollup/rollup-linux-loongarch64-gnu@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz#0f0324044e71c4f02e9f49e7ec4e347b655b34ee"
|
||||
integrity sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==
|
||||
|
||||
"@rollup/rollup-linux-powerpc64le-gnu@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz#809479f27f1fd5b4eecd2aa732132ad952d454ba"
|
||||
integrity sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==
|
||||
|
||||
"@rollup/rollup-linux-riscv64-gnu@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz#7bc75c4f22db04d3c972f83431739cfa41c6a36e"
|
||||
integrity sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==
|
||||
|
||||
"@rollup/rollup-linux-s390x-gnu@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz#cfe8052345c55864d83ae343362cf1912480170e"
|
||||
integrity sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==
|
||||
|
||||
"@rollup/rollup-linux-x64-gnu@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz#c6b048f1e25f3fea5b4bd246232f4d07a159c5a0"
|
||||
integrity sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==
|
||||
|
||||
"@rollup/rollup-linux-x64-musl@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz#615273ac52d1a201f4de191cbd3389016a9d7d80"
|
||||
integrity sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==
|
||||
|
||||
"@rollup/rollup-win32-arm64-msvc@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz#32ed85810c1b831c648eca999d68f01255b30691"
|
||||
integrity sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==
|
||||
|
||||
"@rollup/rollup-win32-ia32-msvc@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz#d47effada68bcbfdccd30c4a788d42e4542ff4d3"
|
||||
integrity sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==
|
||||
|
||||
"@rollup/rollup-win32-x64-msvc@4.31.0":
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz#7a2d89a82cf0388d60304964217dd7beac6de645"
|
||||
integrity sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==
|
||||
|
||||
"@shikijs/core@1.3.0", "@shikijs/core@^1.3.0":
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-1.3.0.tgz#5b93b51ddb8def1e3a1543107f9b5b0540f716f6"
|
||||
integrity sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==
|
||||
|
||||
"@shikijs/transformers@^1.3.0":
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@shikijs/transformers/-/transformers-1.3.0.tgz#b03c5733ef61e25e4f53666bf11889f8876f34e9"
|
||||
integrity sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==
|
||||
dependencies:
|
||||
shiki "1.3.0"
|
||||
|
||||
"@types/estree@1.0.6":
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50"
|
||||
integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==
|
||||
|
||||
"@types/linkify-it@*":
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.5.tgz#1e78a3ac2428e6d7e6c05c1665c242023a4601d8"
|
||||
integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==
|
||||
|
||||
"@types/markdown-it@^14.0.1":
|
||||
version "14.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-14.0.1.tgz#3d3fdf9dba83b69edececc070d39ec72b84270a7"
|
||||
integrity sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==
|
||||
dependencies:
|
||||
"@types/linkify-it" "*"
|
||||
"@types/mdurl" "*"
|
||||
|
||||
"@types/mdurl@*":
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.5.tgz#3e0d2db570e9fb6ccb2dc8fde0be1d79ac810d39"
|
||||
integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==
|
||||
|
||||
"@types/web-bluetooth@^0.0.20":
|
||||
version "0.0.20"
|
||||
resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597"
|
||||
integrity sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==
|
||||
|
||||
"@vitejs/plugin-vue@^5.0.4":
|
||||
version "5.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz#508d6a0f2440f86945835d903fcc0d95d1bb8a37"
|
||||
integrity sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==
|
||||
|
||||
"@vue/compiler-core@3.4.24":
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.24.tgz#6b4a5ffddcd874a692f2acfa68981201bcd7096b"
|
||||
integrity sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.24.4"
|
||||
"@vue/shared" "3.4.24"
|
||||
entities "^4.5.0"
|
||||
estree-walker "^2.0.2"
|
||||
source-map-js "^1.2.0"
|
||||
|
||||
"@vue/compiler-dom@3.4.24":
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.24.tgz#b7335a49f095b6d35e48b6f7be8da513c1fa52b8"
|
||||
integrity sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA==
|
||||
dependencies:
|
||||
"@vue/compiler-core" "3.4.24"
|
||||
"@vue/shared" "3.4.24"
|
||||
|
||||
"@vue/compiler-sfc@3.4.24":
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.24.tgz#2872e353147ce2a145169a33ddd4d68dc95c3a18"
|
||||
integrity sha512-nRAlJUK02FTWfA2nuvNBAqsDZuERGFgxZ8sGH62XgFSvMxO2URblzulExsmj4gFZ8e+VAyDooU9oAoXfEDNxTA==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.24.4"
|
||||
"@vue/compiler-core" "3.4.24"
|
||||
"@vue/compiler-dom" "3.4.24"
|
||||
"@vue/compiler-ssr" "3.4.24"
|
||||
"@vue/shared" "3.4.24"
|
||||
estree-walker "^2.0.2"
|
||||
magic-string "^0.30.10"
|
||||
postcss "^8.4.38"
|
||||
source-map-js "^1.2.0"
|
||||
|
||||
"@vue/compiler-ssr@3.4.24":
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.24.tgz#0d11fe54dabd17cbd6393a16bf7f785da1cfab46"
|
||||
integrity sha512-ZsAtr4fhaUFnVcDqwW3bYCSDwq+9Gk69q2r/7dAHDrOMw41kylaMgOP4zRnn6GIEJkQznKgrMOGPMFnLB52RbQ==
|
||||
dependencies:
|
||||
"@vue/compiler-dom" "3.4.24"
|
||||
"@vue/shared" "3.4.24"
|
||||
|
||||
"@vue/devtools-api@^7.0.27":
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.1.2.tgz#8808b0f008842b756bf1e9c30788837abb62ab3a"
|
||||
integrity sha512-AKd49cN3BdRgttmX5Aw8op7sx6jmaPwaILcDjaa05UKc1yIHDYST7P8yGZs6zd2pKFETAQz40gmyG7+b57slsQ==
|
||||
dependencies:
|
||||
"@vue/devtools-kit" "^7.1.2"
|
||||
|
||||
"@vue/devtools-kit@^7.1.2":
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.1.2.tgz#dfb7306edf895dadc556dd5f0c516809c2f94826"
|
||||
integrity sha512-UTrcUSOhlI9eXqbPMHUWwA6NQiiPT3onzXsVk2JHGR8ZFFSkzsWTTpHyVA1woG8zvgu2HNV/wigW2k87p858zw==
|
||||
dependencies:
|
||||
"@vue/devtools-shared" "^7.1.2"
|
||||
hookable "^5.5.3"
|
||||
mitt "^3.0.1"
|
||||
perfect-debounce "^1.0.0"
|
||||
speakingurl "^14.0.1"
|
||||
|
||||
"@vue/devtools-shared@^7.1.2":
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.1.2.tgz#7b1c1de10bab4756f271c377370a62833b4ee94b"
|
||||
integrity sha512-r9cUf93VMhKSsxF2/cBbf6Lm1nRBx+r1pRuji5CiAf3JIPYPOjeEqJ13OuwP1fauYh1tyBFcCxt3eJPvHT59gg==
|
||||
dependencies:
|
||||
rfdc "^1.3.1"
|
||||
|
||||
"@vue/reactivity@3.4.24":
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.24.tgz#150584316ca2acc4ed19a24f9f29863c3a17a7b2"
|
||||
integrity sha512-nup3fSYg4i4LtNvu9slF/HF/0dkMQYfepUdORBcMSsankzRPzE7ypAFurpwyRBfU1i7Dn1kcwpYsE1wETSh91g==
|
||||
dependencies:
|
||||
"@vue/shared" "3.4.24"
|
||||
|
||||
"@vue/runtime-core@3.4.24":
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.24.tgz#066c544dc59a07a96c12874a57b750c239124874"
|
||||
integrity sha512-c7iMfj6cJMeAG3s5yOn9Rc5D9e2/wIuaozmGf/ICGCY3KV5H7mbTVdvEkd4ZshTq7RUZqj2k7LMJWVx+EBiY1g==
|
||||
dependencies:
|
||||
"@vue/reactivity" "3.4.24"
|
||||
"@vue/shared" "3.4.24"
|
||||
|
||||
"@vue/runtime-dom@3.4.24":
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.24.tgz#4f8e7acbe1e8ffa7c55af1366e4438729ebe9b20"
|
||||
integrity sha512-uXKzuh/Emfad2Y7Qm0ABsLZZV6H3mAJ5ZVqmAOlrNQRf+T5mxpPGZBfec1hkP41t6h6FwF6RSGCs/gd8WbuySQ==
|
||||
dependencies:
|
||||
"@vue/runtime-core" "3.4.24"
|
||||
"@vue/shared" "3.4.24"
|
||||
csstype "^3.1.3"
|
||||
|
||||
"@vue/server-renderer@3.4.24":
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.24.tgz#80dd546f8d6a9f5c4f8b68083fe9cc2d62299332"
|
||||
integrity sha512-H+DLK4sQF6sRgzKyofmlEVBIV/9KrQU6HIV7nt6yIwSGGKvSwlV8pqJlebUKLpbXaNHugdSfAbP6YmXF69lxow==
|
||||
dependencies:
|
||||
"@vue/compiler-ssr" "3.4.24"
|
||||
"@vue/shared" "3.4.24"
|
||||
|
||||
"@vue/shared@3.4.24":
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.24.tgz#278ac71f492b392b9b17fe8fc7d324db1a8842db"
|
||||
integrity sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==
|
||||
|
||||
"@vueuse/core@10.9.0", "@vueuse/core@^10.9.0":
|
||||
version "10.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.9.0.tgz#7d779a95cf0189de176fee63cee4ba44b3c85d64"
|
||||
integrity sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==
|
||||
dependencies:
|
||||
"@types/web-bluetooth" "^0.0.20"
|
||||
"@vueuse/metadata" "10.9.0"
|
||||
"@vueuse/shared" "10.9.0"
|
||||
vue-demi ">=0.14.7"
|
||||
|
||||
"@vueuse/integrations@^10.9.0":
|
||||
version "10.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.9.0.tgz#2b1a9556215ad3c1f96d39cbfbef102cf6e0ec05"
|
||||
integrity sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==
|
||||
dependencies:
|
||||
"@vueuse/core" "10.9.0"
|
||||
"@vueuse/shared" "10.9.0"
|
||||
vue-demi ">=0.14.7"
|
||||
|
||||
"@vueuse/metadata@10.9.0":
|
||||
version "10.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.9.0.tgz#769a1a9db65daac15cf98084cbf7819ed3758620"
|
||||
integrity sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==
|
||||
|
||||
"@vueuse/shared@10.9.0":
|
||||
version "10.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.9.0.tgz#13af2a348de15d07b7be2fd0c7fc9853a69d8fe0"
|
||||
integrity sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==
|
||||
dependencies:
|
||||
vue-demi ">=0.14.7"
|
||||
|
||||
algoliasearch@^4.19.1:
|
||||
version "4.23.3"
|
||||
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.23.3.tgz#e09011d0a3b0651444916a3e6bbcba064ec44b60"
|
||||
integrity sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==
|
||||
dependencies:
|
||||
"@algolia/cache-browser-local-storage" "4.23.3"
|
||||
"@algolia/cache-common" "4.23.3"
|
||||
"@algolia/cache-in-memory" "4.23.3"
|
||||
"@algolia/client-account" "4.23.3"
|
||||
"@algolia/client-analytics" "4.23.3"
|
||||
"@algolia/client-common" "4.23.3"
|
||||
"@algolia/client-personalization" "4.23.3"
|
||||
"@algolia/client-search" "4.23.3"
|
||||
"@algolia/logger-common" "4.23.3"
|
||||
"@algolia/logger-console" "4.23.3"
|
||||
"@algolia/recommend" "4.23.3"
|
||||
"@algolia/requester-browser-xhr" "4.23.3"
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
"@algolia/requester-node-http" "4.23.3"
|
||||
"@algolia/transporter" "4.23.3"
|
||||
|
||||
csstype@^3.1.3:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
|
||||
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
|
||||
|
||||
entities@^4.5.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
|
||||
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
|
||||
|
||||
esbuild@^0.21.3:
|
||||
version "0.21.5"
|
||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d"
|
||||
integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==
|
||||
optionalDependencies:
|
||||
"@esbuild/aix-ppc64" "0.21.5"
|
||||
"@esbuild/android-arm" "0.21.5"
|
||||
"@esbuild/android-arm64" "0.21.5"
|
||||
"@esbuild/android-x64" "0.21.5"
|
||||
"@esbuild/darwin-arm64" "0.21.5"
|
||||
"@esbuild/darwin-x64" "0.21.5"
|
||||
"@esbuild/freebsd-arm64" "0.21.5"
|
||||
"@esbuild/freebsd-x64" "0.21.5"
|
||||
"@esbuild/linux-arm" "0.21.5"
|
||||
"@esbuild/linux-arm64" "0.21.5"
|
||||
"@esbuild/linux-ia32" "0.21.5"
|
||||
"@esbuild/linux-loong64" "0.21.5"
|
||||
"@esbuild/linux-mips64el" "0.21.5"
|
||||
"@esbuild/linux-ppc64" "0.21.5"
|
||||
"@esbuild/linux-riscv64" "0.21.5"
|
||||
"@esbuild/linux-s390x" "0.21.5"
|
||||
"@esbuild/linux-x64" "0.21.5"
|
||||
"@esbuild/netbsd-x64" "0.21.5"
|
||||
"@esbuild/openbsd-x64" "0.21.5"
|
||||
"@esbuild/sunos-x64" "0.21.5"
|
||||
"@esbuild/win32-arm64" "0.21.5"
|
||||
"@esbuild/win32-ia32" "0.21.5"
|
||||
"@esbuild/win32-x64" "0.21.5"
|
||||
|
||||
estree-walker@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
|
||||
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
|
||||
|
||||
focus-trap@^7.5.4:
|
||||
version "7.5.4"
|
||||
resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.5.4.tgz#6c4e342fe1dae6add9c2aa332a6e7a0bbd495ba2"
|
||||
integrity sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==
|
||||
dependencies:
|
||||
tabbable "^6.2.0"
|
||||
|
||||
fsevents@~2.3.2, fsevents@~2.3.3:
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
|
||||
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
|
||||
|
||||
hookable@^5.5.3:
|
||||
version "5.5.3"
|
||||
resolved "https://registry.yarnpkg.com/hookable/-/hookable-5.5.3.tgz#6cfc358984a1ef991e2518cb9ed4a778bbd3215d"
|
||||
integrity sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==
|
||||
|
||||
magic-string@^0.30.10:
|
||||
version "0.30.10"
|
||||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e"
|
||||
integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==
|
||||
dependencies:
|
||||
"@jridgewell/sourcemap-codec" "^1.4.15"
|
||||
|
||||
mark.js@8.11.1:
|
||||
version "8.11.1"
|
||||
resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5"
|
||||
integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==
|
||||
|
||||
minisearch@^6.3.0:
|
||||
version "6.3.0"
|
||||
resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.3.0.tgz#985a2f1ca3c73c2d65af94f0616bfe57164b0b6b"
|
||||
integrity sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==
|
||||
|
||||
mitt@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1"
|
||||
integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==
|
||||
|
||||
nanoid@^3.3.8:
|
||||
version "3.3.8"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf"
|
||||
integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
|
||||
|
||||
perfect-debounce@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a"
|
||||
integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==
|
||||
|
||||
picocolors@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
|
||||
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
||||
|
||||
postcss@^8.4.38, postcss@^8.4.43:
|
||||
version "8.5.1"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.1.tgz#e2272a1f8a807fafa413218245630b5db10a3214"
|
||||
integrity sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==
|
||||
dependencies:
|
||||
nanoid "^3.3.8"
|
||||
picocolors "^1.1.1"
|
||||
source-map-js "^1.2.1"
|
||||
|
||||
preact@^10.0.0:
|
||||
version "10.20.2"
|
||||
resolved "https://registry.yarnpkg.com/preact/-/preact-10.20.2.tgz#0b343299a8c020562311cc25db93b3d832ec5e71"
|
||||
integrity sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg==
|
||||
|
||||
rfdc@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f"
|
||||
integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==
|
||||
|
||||
rollup@^4.20.0:
|
||||
version "4.31.0"
|
||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.31.0.tgz#b84af969a0292cb047dce2c0ec5413a9457597a4"
|
||||
integrity sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==
|
||||
dependencies:
|
||||
"@types/estree" "1.0.6"
|
||||
optionalDependencies:
|
||||
"@rollup/rollup-android-arm-eabi" "4.31.0"
|
||||
"@rollup/rollup-android-arm64" "4.31.0"
|
||||
"@rollup/rollup-darwin-arm64" "4.31.0"
|
||||
"@rollup/rollup-darwin-x64" "4.31.0"
|
||||
"@rollup/rollup-freebsd-arm64" "4.31.0"
|
||||
"@rollup/rollup-freebsd-x64" "4.31.0"
|
||||
"@rollup/rollup-linux-arm-gnueabihf" "4.31.0"
|
||||
"@rollup/rollup-linux-arm-musleabihf" "4.31.0"
|
||||
"@rollup/rollup-linux-arm64-gnu" "4.31.0"
|
||||
"@rollup/rollup-linux-arm64-musl" "4.31.0"
|
||||
"@rollup/rollup-linux-loongarch64-gnu" "4.31.0"
|
||||
"@rollup/rollup-linux-powerpc64le-gnu" "4.31.0"
|
||||
"@rollup/rollup-linux-riscv64-gnu" "4.31.0"
|
||||
"@rollup/rollup-linux-s390x-gnu" "4.31.0"
|
||||
"@rollup/rollup-linux-x64-gnu" "4.31.0"
|
||||
"@rollup/rollup-linux-x64-musl" "4.31.0"
|
||||
"@rollup/rollup-win32-arm64-msvc" "4.31.0"
|
||||
"@rollup/rollup-win32-ia32-msvc" "4.31.0"
|
||||
"@rollup/rollup-win32-x64-msvc" "4.31.0"
|
||||
fsevents "~2.3.2"
|
||||
|
||||
shiki@1.3.0, shiki@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/shiki/-/shiki-1.3.0.tgz#3eda35cb49f6f0a98525e9da48fc072e6c655a3f"
|
||||
integrity sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==
|
||||
dependencies:
|
||||
"@shikijs/core" "1.3.0"
|
||||
|
||||
source-map-js@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
|
||||
integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
|
||||
|
||||
source-map-js@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
|
||||
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
|
||||
|
||||
speakingurl@^14.0.1:
|
||||
version "14.0.1"
|
||||
resolved "https://registry.yarnpkg.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53"
|
||||
integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==
|
||||
|
||||
tabbable@^6.2.0:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
|
||||
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
|
||||
|
||||
vite@^5.2.9, vite@^5.4.19:
|
||||
version "5.4.19"
|
||||
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.19.tgz#20efd060410044b3ed555049418a5e7d1998f959"
|
||||
integrity sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==
|
||||
dependencies:
|
||||
esbuild "^0.21.3"
|
||||
postcss "^8.4.43"
|
||||
rollup "^4.20.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.3.3"
|
||||
|
||||
vitepress-plugin-tabs@^0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/vitepress-plugin-tabs/-/vitepress-plugin-tabs-0.5.0.tgz#2b193a72ed36b9fcd63e3907d3044fe7b6cf3e4e"
|
||||
integrity sha512-SIhFWwGsUkTByfc2b279ray/E0Jt8vDTsM1LiHxmCOBAEMmvzIBZSuYYT1DpdDTiS3SuJieBheJkYnwCq/yD9A==
|
||||
|
||||
vitepress@^1.1.0:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.1.3.tgz#ded22392f5274680aaba8bb81dd4fb1c4741c02e"
|
||||
integrity sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA==
|
||||
dependencies:
|
||||
"@docsearch/css" "^3.6.0"
|
||||
"@docsearch/js" "^3.6.0"
|
||||
"@shikijs/core" "^1.3.0"
|
||||
"@shikijs/transformers" "^1.3.0"
|
||||
"@types/markdown-it" "^14.0.1"
|
||||
"@vitejs/plugin-vue" "^5.0.4"
|
||||
"@vue/devtools-api" "^7.0.27"
|
||||
"@vueuse/core" "^10.9.0"
|
||||
"@vueuse/integrations" "^10.9.0"
|
||||
focus-trap "^7.5.4"
|
||||
mark.js "8.11.1"
|
||||
minisearch "^6.3.0"
|
||||
shiki "^1.3.0"
|
||||
vite "^5.2.9"
|
||||
vue "^3.4.23"
|
||||
|
||||
vue-demi@>=0.14.7:
|
||||
version "0.14.7"
|
||||
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.7.tgz#8317536b3ef74c5b09f268f7782e70194567d8f2"
|
||||
integrity sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==
|
||||
|
||||
vue@^3.4.23, vue@^3.4.24:
|
||||
version "3.4.24"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.24.tgz#f269549939a6c092480f018aa0bd886ba64f4c6f"
|
||||
integrity sha512-NPdx7dLGyHmKHGRRU5bMRYVE+rechR+KDU5R2tSTNG36PuMwbfAJ+amEvOAw7BPfZp5sQulNELSLm5YUkau+Sg==
|
||||
dependencies:
|
||||
"@vue/compiler-dom" "3.4.24"
|
||||
"@vue/compiler-sfc" "3.4.24"
|
||||
"@vue/runtime-dom" "3.4.24"
|
||||
"@vue/server-renderer" "3.4.24"
|
||||
"@vue/shared" "3.4.24"
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
# Copyright 2021 QMK
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
GRAVE_ESC_ENABLE ?= yes
|
||||
MAGIC_ENABLE ?= yes
|
||||
SEND_STRING_ENABLE ?= yes
|
||||
SPACE_CADET_ENABLE ?= yes
|
||||
|
||||
GENERIC_FEATURES = \
|
||||
AUTO_SHIFT \
|
||||
AUTOCORRECT \
|
||||
BOOTMAGIC \
|
||||
CAPS_WORD \
|
||||
COMBO \
|
||||
COMMAND \
|
||||
CONNECTION \
|
||||
CRC \
|
||||
DEFERRED_EXEC \
|
||||
DIGITIZER \
|
||||
DIP_SWITCH \
|
||||
DYNAMIC_KEYMAP \
|
||||
DYNAMIC_MACRO \
|
||||
DYNAMIC_TAPPING_TERM \
|
||||
GRAVE_ESC \
|
||||
HAPTIC \
|
||||
KEYCODE_STRING \
|
||||
KEY_LOCK \
|
||||
KEY_OVERRIDE \
|
||||
LAYER_LOCK \
|
||||
LEADER \
|
||||
MAGIC \
|
||||
MOUSEKEY \
|
||||
MUSIC \
|
||||
OS_DETECTION \
|
||||
PROGRAMMABLE_BUTTON \
|
||||
REPEAT_KEY \
|
||||
SECURE \
|
||||
SEND_STRING \
|
||||
SEQUENCER \
|
||||
SPACE_CADET \
|
||||
SWAP_HANDS \
|
||||
TAP_DANCE \
|
||||
TRI_LAYER \
|
||||
VIA \
|
||||
VIRTSER \
|
||||
WPM \
|
||||
|
||||
define HANDLE_GENERIC_FEATURE
|
||||
# $$(info "Processing: $1_ENABLE $2.c")
|
||||
SRC += $$(wildcard $$(QUANTUM_DIR)/process_keycode/process_$2.c)
|
||||
SRC += $$(wildcard $$(QUANTUM_DIR)/$2/$2.c)
|
||||
SRC += $$(wildcard $$(QUANTUM_DIR)/$2.c)
|
||||
SRC += $$(wildcard $$(QUANTUM_DIR)/nvm/$$(NVM_DRIVER_LOWER)/nvm_$2.c)
|
||||
VPATH += $$(wildcard $$(QUANTUM_DIR)/$2/)
|
||||
OPT_DEFS += -D$1_ENABLE
|
||||
endef
|
||||
|
||||
$(foreach F,$(GENERIC_FEATURES),\
|
||||
$(if $(filter yes, $(strip $($(F)_ENABLE))),\
|
||||
$(eval $(call HANDLE_GENERIC_FEATURE,$(F),$(shell echo $(F) | tr '[:upper:]' '[:lower:]'))) \
|
||||
) \
|
||||
)
|
||||
|
|
@ -1,113 +0,0 @@
|
|||
COLOR ?= true
|
||||
|
||||
ifeq ($(COLOR),true)
|
||||
NO_COLOR=\033[0m
|
||||
OK_COLOR=\033[32;01m
|
||||
ERROR_COLOR=\033[31;01m
|
||||
WARN_COLOR=\033[33;01m
|
||||
SKIPPED_COLOR=\033[36;01m
|
||||
BLUE=\033[0;34m
|
||||
BOLD=\033[1m
|
||||
endif
|
||||
|
||||
ifneq ($(shell echo "1 2 3" | awk '{ printf "%2s", $$3; }' 2>/dev/null)," 3")
|
||||
AWK=awk
|
||||
else
|
||||
AWK=cat && test
|
||||
endif
|
||||
|
||||
ON_ERROR ?= exit 1
|
||||
|
||||
OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)\n
|
||||
ERROR_STRING=$(ERROR_COLOR)[ERRORS]$(NO_COLOR)\n
|
||||
WARN_STRING=$(WARN_COLOR)[WARNINGS]$(NO_COLOR)\n
|
||||
SKIPPED_STRING=$(SKIPPED_COLOR)[SKIPPED]$(NO_COLOR)\n
|
||||
|
||||
TAB_LOG = printf "\n%s\n\n" "$$LOG" | $(AWK) '{ sub(/^/," | "); print }'
|
||||
TAB_LOG_PLAIN = printf "%s\n" "$$LOG"
|
||||
AWK_STATUS = $(AWK) '{ printf " %-10s\n", $$1; }'
|
||||
AWK_CMD = $(AWK) '{ printf "%-99s", $$0; }'
|
||||
PRINT_ERROR = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG) && $(ON_ERROR)
|
||||
PRINT_WARNING = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG)
|
||||
PRINT_ERROR_PLAIN = ($(SILENT) ||printf " $(ERROR_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN) && $(ON_ERROR)
|
||||
PRINT_WARNING_PLAIN = ($(SILENT) || printf " $(WARN_STRING)" | $(AWK_STATUS)) && $(TAB_LOG_PLAIN)
|
||||
PRINT_SKIPPED_PLAIN = ($(SILENT) || printf " $(SKIPPED_STRING)" | $(AWK_STATUS))
|
||||
PRINT_OK = $(SILENT) || printf " $(OK_STRING)" | $(AWK_STATUS)
|
||||
BUILD_CMD = LOG=$$($(CMD) 2>&1) ; if [ $$? -gt 0 ]; then $(PRINT_ERROR); elif [ "$$LOG" != "" ] ; then $(PRINT_WARNING); else $(PRINT_OK); fi;
|
||||
MAKE_MSG_FORMAT = $(AWK) '{ printf "%-118s", $$0;}'
|
||||
|
||||
# The UNSYNC_OUTPUT_CMD command disables the `--output-sync` for the current command, if the `--output-sync` granularity is `target` or lower.
|
||||
# This is achieved by telling make to treat the current command as if it invokes a recursive make subcommand (as if by calling `$(MAKE)`).
|
||||
UNSYNC_OUTPUT_CMD = +true
|
||||
|
||||
# Define Messages
|
||||
# English
|
||||
MSG_ERRORS_NONE = Errors: none
|
||||
MSG_ERRORS = $(ERROR_COLOR)Make finished with errors\n$(NO_COLOR)
|
||||
MSG_BEGIN = -------- begin --------
|
||||
MSG_END = -------- end --------
|
||||
MSG_SIZE_BEFORE = Size before:
|
||||
MSG_SIZE_AFTER = Size after:
|
||||
MSG_COFF = Converting to AVR COFF:
|
||||
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
|
||||
MSG_FLASH = Creating load file for flashing:
|
||||
MSG_UF2 = Creating UF2 file for deployment:
|
||||
MSG_EEPROM = Creating load file for EEPROM:
|
||||
MSG_BIN = Creating binary load file for flashing:
|
||||
MSG_EXTENDED_LISTING = Creating Extended Listing:
|
||||
MSG_SYMBOL_TABLE = Creating Symbol Table:
|
||||
MSG_EXECUTING = Executing:
|
||||
MSG_LINKING = Linking:
|
||||
MSG_COMPILING = Compiling:
|
||||
MSG_COMPILING_CXX = Compiling:
|
||||
MSG_ASSEMBLING = Assembling:
|
||||
MSG_CLEANING = Cleaning project:
|
||||
MSG_CREATING_LIBRARY = Creating library:
|
||||
MSG_GENERATING = Generating:
|
||||
MSG_NOT_REPO = $(WARN_COLOR)WARNING:$(NO_COLOR) Target folder is not a git repo, you probably downloaded a zip file instead of cloning.\n\
|
||||
Please consider following $(BOLD)https://docs.qmk.fm/\#/newbs_getting_started$(NO_COLOR).\n\n
|
||||
MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR) Some git submodules are out of date or modified.\n\
|
||||
Please consider running $(BOLD)qmk git-submodule$(NO_COLOR).\n\n
|
||||
|
||||
define GENERATE_MSG_MAKE_KB
|
||||
MSG_MAKE_KB_ACTUAL := Making $$(KB_SP) with keymap $(BOLD)$$(CURRENT_KM)$(NO_COLOR)
|
||||
ifneq ($$(MAKE_TARGET),)
|
||||
MSG_MAKE_KB_ACTUAL += and target $(BOLD)$$(MAKE_TARGET)$(NO_COLOR)
|
||||
endif
|
||||
endef
|
||||
MSG_MAKE_KB = $(eval $(call GENERATE_MSG_MAKE_KB))$(MSG_MAKE_KB_ACTUAL)
|
||||
define GENERATE_MSG_MAKE_TEST
|
||||
MSG_MAKE_TEST_ACTUAL := Making test $(BOLD)$(TEST_NAME)$(NO_COLOR)
|
||||
ifneq ($$(MAKE_TARGET),)
|
||||
MSG_MAKE_TEST_ACTUAL += with target $(BOLD)$$(MAKE_TARGET)$(NO_COLOR)
|
||||
endif
|
||||
endef
|
||||
MSG_MAKE_TEST = $(eval $(call GENERATE_MSG_MAKE_TEST))$(MSG_MAKE_TEST_ACTUAL)
|
||||
MSG_TEST = Testing $(BOLD)$(TEST_NAME)$(NO_COLOR)
|
||||
define GENERATE_MSG_AVAILABLE_KEYMAPS
|
||||
MSG_AVAILABLE_KEYMAPS_ACTUAL := Available keymaps for $(BOLD)$$(CURRENT_KB)$(NO_COLOR):
|
||||
endef
|
||||
MSG_AVAILABLE_KEYMAPS = $(eval $(call GENERATE_MSG_AVAILABLE_KEYMAPS))$(MSG_AVAILABLE_KEYMAPS_ACTUAL)
|
||||
|
||||
MSG_BOOTLOADER_NOT_FOUND_BASE = Bootloader not found. Make sure the board is in bootloader mode. See https://docs.qmk.fm/\#/newbs_flashing\n
|
||||
MSG_CHECK_FILESIZE = Checking file size of $(TARGET).$(FIRMWARE_FORMAT)
|
||||
MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n
|
||||
MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n
|
||||
MSG_FILE_JUST_RIGHT = The firmware size is fine - $(CURRENT_SIZE)/$(MAX_SIZE) ($(PERCENT_SIZE)%%, $(FREE_SIZE) bytes free)\n
|
||||
MSG_FILE_NEAR_LIMIT = The firmware size is approaching the maximum - $(CURRENT_SIZE)/$(MAX_SIZE) ($(PERCENT_SIZE)%%, $(FREE_SIZE) bytes free)\n
|
||||
MSG_PYTHON_MISSING = $(ERROR_COLOR)ERROR:$(NO_COLOR) Cannot run \"qmk hello\"!\n\n\
|
||||
Please run $(BOLD)qmk setup$(NO_COLOR) to install all the dependencies QMK requires.\n\n
|
||||
MSG_FLASH_BOOTLOADER = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's bootloader is not specified or is not supported by the \":flash\" target at this time.\n\n
|
||||
MSG_FLASH_ARCH = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's architecture is not supported by the \":flash\" target at this time.\n\n
|
||||
MSG_BOOTLOADER_NOT_FOUND = $(ERROR_COLOR)ERROR:$(NO_COLOR) $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again in 5s (Ctrl+C to cancel)\n
|
||||
BOOTLOADER_RETRY_TIME ?= 0.5
|
||||
MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY = $(MSG_BOOTLOADER_NOT_FOUND_BASE) Trying again every $(BOOTLOADER_RETRY_TIME)s (Ctrl+C to cancel)
|
||||
|
||||
define WARNING_MESSAGE
|
||||
$(shell printf "\n %-99s $(WARN_STRING)\n" "$1" >&2)
|
||||
endef
|
||||
|
||||
define CATASTROPHIC_ERROR
|
||||
$(shell printf "\n * %-99s $(ERROR_STRING)\n" "$2" >&2)
|
||||
$(error $1)
|
||||
endef
|
||||
|
|
@ -1,151 +0,0 @@
|
|||
BUILD_OPTION_NAMES = \
|
||||
BOOTMAGIC_ENABLE \
|
||||
MOUSEKEY_ENABLE \
|
||||
EXTRAKEY_ENABLE \
|
||||
CONSOLE_ENABLE \
|
||||
COMMAND_ENABLE \
|
||||
NKRO_ENABLE \
|
||||
CUSTOM_MATRIX \
|
||||
DEBOUNCE_TYPE \
|
||||
SPLIT_KEYBOARD \
|
||||
DYNAMIC_KEYMAP_ENABLE \
|
||||
USB_HID_ENABLE \
|
||||
VIA_ENABLE
|
||||
|
||||
HARDWARE_OPTION_NAMES = \
|
||||
SLEEP_LED_ENABLE \
|
||||
BACKLIGHT_ENABLE \
|
||||
BACKLIGHT_DRIVER \
|
||||
RGBLIGHT_ENABLE \
|
||||
RGBLIGHT_DRIVER \
|
||||
RGB_MATRIX_ENABLE \
|
||||
RGB_MATRIX_DRIVER \
|
||||
CIE1931_CURVE \
|
||||
MIDI_ENABLE \
|
||||
BLUETOOTH_ENABLE \
|
||||
BLUETOOTH_DRIVER \
|
||||
AUDIO_ENABLE \
|
||||
HD44780_ENABLE \
|
||||
ENCODER_ENABLE \
|
||||
LED_TABLES \
|
||||
POINTING_DEVICE_ENABLE \
|
||||
DIP_SWITCH_ENABLE
|
||||
|
||||
OTHER_OPTION_NAMES = \
|
||||
UNICODE_ENABLE \
|
||||
UCIS_ENABLE \
|
||||
UNICODEMAP_ENABLE \
|
||||
UNICODE_COMMON \
|
||||
AUTO_SHIFT_ENABLE \
|
||||
DYNAMIC_TAPPING_TERM_ENABLE \
|
||||
COMBO_ENABLE \
|
||||
KEY_LOCK_ENABLE \
|
||||
KEY_OVERRIDE_ENABLE \
|
||||
LEADER_ENABLE \
|
||||
STENO_ENABLE \
|
||||
STENO_PROTOCOL \
|
||||
TAP_DANCE_ENABLE \
|
||||
VIRTSER_ENABLE \
|
||||
OLED_ENABLE \
|
||||
OLED_DRIVER \
|
||||
LED_BACK_ENABLE \
|
||||
LED_UNDERGLOW_ENABLE \
|
||||
LED_ANIMATIONS \
|
||||
IOS_DEVICE_ENABLE \
|
||||
HELIX ZINC \
|
||||
AUTOLOG_ENABLE \
|
||||
DEBUG_ENABLE \
|
||||
ENCODER_MAP_ENABLE \
|
||||
ENCODER_ENABLE_CUSTOM \
|
||||
GERMAN_ENABLE \
|
||||
HAPTIC_ENABLE \
|
||||
KEYLOGGER_ENABLE \
|
||||
LCD_BACKLIGHT_ENABLE \
|
||||
MACROS_ENABLED \
|
||||
PS2_ENABLE \
|
||||
PS2_MOUSE_ENABLE \
|
||||
PS2_DRIVER \
|
||||
RAW_ENABLE \
|
||||
SWAP_HANDS_ENABLE \
|
||||
WATCHDOG_ENABLE \
|
||||
ERGOINU \
|
||||
NO_USB_STARTUP_CHECK \
|
||||
DISABLE_PROMICRO_LEDs \
|
||||
MITOSIS_DATAGROK_BOTTOMSPACE \
|
||||
MITOSIS_DATAGROK_SLOWUART \
|
||||
RGB_MATRIX_KEYPRESSES \
|
||||
LED_MIRRORED \
|
||||
RGBLIGHT_FULL_POWER \
|
||||
LTO_ENABLE \
|
||||
PROGRAMMABLE_BUTTON_ENABLE \
|
||||
SECURE_ENABLE \
|
||||
CAPS_WORD_ENABLE \
|
||||
AUTOCORRECT_ENABLE \
|
||||
TRI_LAYER_ENABLE \
|
||||
REPEAT_KEY_ENABLE
|
||||
|
||||
define NAME_ECHO
|
||||
@printf " %-30s = %-16s # %s\\n" "$1" "$($1)" "$(origin $1)"
|
||||
|
||||
endef
|
||||
|
||||
define YAML_NAME_ECHO
|
||||
@echo ' $1 : "$(strip $($1))"'
|
||||
|
||||
endef
|
||||
|
||||
.PHONY: show_build_options0 show_build_options
|
||||
show_build_options0:
|
||||
@echo " KEYBOARD = $(KEYBOARD)"
|
||||
@echo " KEYMAP = $(KEYMAP)"
|
||||
@echo " MCU = $(MCU)"
|
||||
@echo " MCU_SERIES = $(MCU_SERIES)"
|
||||
@echo " PLATFORM = $(PLATFORM)"
|
||||
@echo " BOOTLOADER = $(BOOTLOADER)"
|
||||
@echo " FIRMWARE_FORMAT = $(FIRMWARE_FORMAT)"
|
||||
@echo
|
||||
@echo "Build Options:"
|
||||
$(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
|
||||
$(call NAME_ECHO,$(A_OPTION_NAME)))
|
||||
|
||||
show_build_options: show_build_options0
|
||||
@echo
|
||||
@echo "If you want to know more, please try 'show_all_features' or 'show_full_features'"
|
||||
@echo
|
||||
|
||||
.PHONY: show_all_features
|
||||
show_all_features: show_build_options0
|
||||
@echo
|
||||
@echo "Hardware Options:"
|
||||
$(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
|
||||
$(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
|
||||
@echo
|
||||
@echo "Other Options:"
|
||||
$(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
|
||||
$(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
|
||||
|
||||
.PHONY: show_full_features
|
||||
show_full_features: show_build_options0
|
||||
@echo
|
||||
@echo "Hardware Options:"
|
||||
$(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
|
||||
$(call NAME_ECHO,$(A_OPTION_NAME)))
|
||||
@echo
|
||||
@echo "Other Options:"
|
||||
$(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
|
||||
$(call NAME_ECHO,$(A_OPTION_NAME)))
|
||||
|
||||
.PHONY: yaml_build_options
|
||||
yaml_build_options:
|
||||
@echo '- KEYBOARD : "$(KEYBOARD)"'
|
||||
@echo ' KEYMAP : "$(KEYMAP)"'
|
||||
@echo ' MCU : "$(MCU)"'
|
||||
@echo ' MCU_SERIES : "$(MCU_SERIES)"'
|
||||
@echo ' PLATFORM : "$(PLATFORM)"'
|
||||
@echo ' FIRMWARE_FORMAT : "$(FIRMWARE_FORMAT)"'
|
||||
$(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
|
||||
$(call YAML_NAME_ECHO,$(A_OPTION_NAME)))
|
||||
$(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
|
||||
$(if $($(A_OPTION_NAME)),$(call YAML_NAME_ECHO,$(A_OPTION_NAME))))
|
||||
$(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
|
||||
$(if $($(A_OPTION_NAME)),$(call YAML_NAME_ECHO,$(A_OPTION_NAME))))
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
# Helper to determine if a compiler option is supported
|
||||
# Args:
|
||||
# $(1) = option to test, if successful will be output
|
||||
# $(2) = option to use if $(1) is not supported
|
||||
# $(3) = additional arguments to pass to the compiler during the test, but aren't contained in the output
|
||||
cc-option = $(shell \
|
||||
if { echo 'int main(){return 0;}' | $(CC) $(1) $(3) -o /dev/null -x c /dev/null >/dev/null 2>&1; }; \
|
||||
then echo "$(1)"; else echo "$(2)"; fi)
|
||||
|
||||
# Helper to pass comma character to make functions (use with `$(,)` to pass in `$(call ...)` arguments)
|
||||
, := ,
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
TEST_LIST = $(sort $(patsubst %/test.mk,%, $(shell find $(ROOT_DIR)tests -type f -name test.mk)))
|
||||
FULL_TESTS := $(notdir $(TEST_LIST))
|
||||
|
||||
include $(QUANTUM_PATH)/debounce/tests/testlist.mk
|
||||
include $(QUANTUM_PATH)/encoder/tests/testlist.mk
|
||||
include $(QUANTUM_PATH)/os_detection/tests/testlist.mk
|
||||
include $(QUANTUM_PATH)/sequencer/tests/testlist.mk
|
||||
include $(QUANTUM_PATH)/wear_leveling/tests/testlist.mk
|
||||
include $(PLATFORM_PATH)/test/testlist.mk
|
||||
|
||||
define VALIDATE_TEST_LIST
|
||||
ifneq ($1,)
|
||||
ifeq ($$(findstring -,$1),-)
|
||||
$$(call CATASTROPHIC_ERROR,Invalid test name,Test names can't contain '-', but '$1' does.)
|
||||
else
|
||||
$$(eval $$(call VALIDATE_TEST_LIST,$$(firstword $2),$$(wordlist 2,9999,$2)))
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
|
||||
$(eval $(call VALIDATE_TEST_LIST,$(firstword $(TEST_LIST)),$(wordlist 2,9999,$(TEST_LIST))))
|
||||
24
common.mk
Normal file
24
common.mk
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
include message.mk
|
||||
|
||||
# Directory common source files exist
|
||||
TOP_DIR = .
|
||||
TMK_DIR = tmk_core
|
||||
TMK_PATH = $(TMK_DIR)
|
||||
LIB_PATH = lib
|
||||
|
||||
QUANTUM_DIR = quantum
|
||||
QUANTUM_PATH = $(QUANTUM_DIR)
|
||||
|
||||
DRIVER_DIR = drivers
|
||||
DRIVER_PATH = $(DRIVER_DIR)
|
||||
|
||||
BUILD_DIR := .build
|
||||
|
||||
COMMON_VPATH := $(TOP_DIR)
|
||||
COMMON_VPATH += $(TMK_PATH)
|
||||
COMMON_VPATH += $(QUANTUM_PATH)
|
||||
COMMON_VPATH += $(QUANTUM_PATH)/keymap_extras
|
||||
COMMON_VPATH += $(QUANTUM_PATH)/audio
|
||||
COMMON_VPATH += $(QUANTUM_PATH)/process_keycode
|
||||
COMMON_VPATH += $(QUANTUM_PATH)/api
|
||||
COMMON_VPATH += $(DRIVER_PATH)
|
||||
234
common_features.mk
Normal file
234
common_features.mk
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
# Copyright 2017 Fred Sundvik
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
SERIAL_DIR := $(QUANTUM_DIR)/serial_link
|
||||
SERIAL_PATH := $(QUANTUM_PATH)/serial_link
|
||||
SERIAL_SRC := $(wildcard $(SERIAL_PATH)/protocol/*.c)
|
||||
SERIAL_SRC += $(wildcard $(SERIAL_PATH)/system/*.c)
|
||||
SERIAL_DEFS += -DSERIAL_LINK_ENABLE
|
||||
COMMON_VPATH += $(SERIAL_PATH)
|
||||
|
||||
COMMON_VPATH += $(DRIVER_PATH)
|
||||
ifeq ($(PLATFORM),AVR)
|
||||
COMMON_VPATH += $(DRIVER_PATH)/avr
|
||||
else
|
||||
COMMON_VPATH += $(DRIVER_PATH)/arm
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
|
||||
OPT_DEFS += -DAPI_SYSEX_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/api/api_sysex.c
|
||||
OPT_DEFS += -DAPI_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/api.c
|
||||
MIDI_ENABLE=yes
|
||||
endif
|
||||
|
||||
MUSIC_ENABLE := 0
|
||||
|
||||
ifeq ($(strip $(AUDIO_ENABLE)), yes)
|
||||
OPT_DEFS += -DAUDIO_ENABLE
|
||||
MUSIC_ENABLE := 1
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_clicky.c
|
||||
ifeq ($(PLATFORM),AVR)
|
||||
SRC += $(QUANTUM_DIR)/audio/audio.c
|
||||
else
|
||||
SRC += $(QUANTUM_DIR)/audio/audio_arm.c
|
||||
endif
|
||||
SRC += $(QUANTUM_DIR)/audio/voices.c
|
||||
SRC += $(QUANTUM_DIR)/audio/luts.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(MIDI_ENABLE)), yes)
|
||||
OPT_DEFS += -DMIDI_ENABLE
|
||||
MUSIC_ENABLE := 1
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c
|
||||
endif
|
||||
|
||||
ifeq ($(MUSIC_ENABLE), 1)
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_music.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(COMBO_ENABLE)), yes)
|
||||
OPT_DEFS += -DCOMBO_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_combo.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(STENO_ENABLE)), yes)
|
||||
OPT_DEFS += -DSTENO_ENABLE
|
||||
VIRTSER_ENABLE := yes
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_steno.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIRTSER_ENABLE)), yes)
|
||||
OPT_DEFS += -DVIRTSER_ENABLE
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(FAUXCLICKY_ENABLE)), yes)
|
||||
OPT_DEFS += -DFAUXCLICKY_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/fauxclicky.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
|
||||
OPT_DEFS += -DPOINTING_DEVICE_ENABLE
|
||||
OPT_DEFS += -DMOUSE_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/pointing_device.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(UCIS_ENABLE)), yes)
|
||||
OPT_DEFS += -DUCIS_ENABLE
|
||||
UNICODE_COMMON = yes
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
|
||||
OPT_DEFS += -DUNICODEMAP_ENABLE
|
||||
UNICODE_COMMON = yes
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(UNICODE_ENABLE)), yes)
|
||||
OPT_DEFS += -DUNICODE_ENABLE
|
||||
UNICODE_COMMON = yes
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(UNICODE_COMMON)), yes)
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
|
||||
OPT_DEFS += -DRGBLIGHT_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/rgblight.c
|
||||
CIE1931_CURVE = yes
|
||||
LED_BREATHING_TABLE = yes
|
||||
ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes)
|
||||
OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER
|
||||
else
|
||||
SRC += ws2812.c
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
|
||||
OPT_DEFS += -DRGB_MATRIX_ENABLE
|
||||
SRC += is31fl3731.c
|
||||
I2C_ENABLE = yes
|
||||
SRC += $(QUANTUM_DIR)/color.c
|
||||
SRC += $(QUANTUM_DIR)/rgb_matrix.c
|
||||
CIE1931_CURVE = yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
|
||||
OPT_DEFS += -DTAP_DANCE_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(KEY_LOCK_ENABLE)), yes)
|
||||
OPT_DEFS += -DKEY_LOCK_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_key_lock.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(PRINTING_ENABLE)), yes)
|
||||
OPT_DEFS += -DPRINTING_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_printer.c
|
||||
SRC += $(TMK_DIR)/protocol/serial_uart.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(AUTO_SHIFT_ENABLE)), yes)
|
||||
OPT_DEFS += -DAUTO_SHIFT_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_auto_shift.c
|
||||
ifeq ($(strip $(AUTO_SHIFT_MODIFIERS)), yes)
|
||||
OPT_DEFS += -DAUTO_SHIFT_MODIFIERS
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SERIAL_LINK_ENABLE)), yes)
|
||||
SRC += $(patsubst $(QUANTUM_PATH)/%,%,$(SERIAL_SRC))
|
||||
OPT_DEFS += $(SERIAL_DEFS)
|
||||
VAPTH += $(SERIAL_PATH)
|
||||
endif
|
||||
|
||||
ifneq ($(strip $(VARIABLE_TRACE)),)
|
||||
SRC += $(QUANTUM_DIR)/variable_trace.c
|
||||
OPT_DEFS += -DNUM_TRACED_VARIABLES=$(strip $(VARIABLE_TRACE))
|
||||
ifneq ($(strip $(MAX_VARIABLE_TRACE_SIZE)),)
|
||||
OPT_DEFS += -DMAX_VARIABLE_TRACE_SIZE=$(strip $(MAX_VARIABLE_TRACE_SIZE))
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LCD_ENABLE)), yes)
|
||||
CIE1931_CURVE = yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
|
||||
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
|
||||
CIE1931_CURVE = yes
|
||||
endif
|
||||
ifeq ($(strip $(BACKLIGHT_CUSTOM_DRIVER)), yes)
|
||||
OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(CIE1931_CURVE)), yes)
|
||||
OPT_DEFS += -DUSE_CIE1931_CURVE
|
||||
LED_TABLES = yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_BREATHING_TABLE)), yes)
|
||||
OPT_DEFS += -DUSE_LED_BREATHING_TABLE
|
||||
LED_TABLES = yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_TABLES)), yes)
|
||||
SRC += $(QUANTUM_DIR)/led_tables.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(TERMINAL_ENABLE)), yes)
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_terminal.c
|
||||
OPT_DEFS += -DTERMINAL_ENABLE
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(USB_HID_ENABLE)), yes)
|
||||
include $(TMK_DIR)/protocol/usb_hid.mk
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(I2C_SLAVE_ENABLE)), yes)
|
||||
I2C_ENABLE = yes
|
||||
OPT_DEFS += -DI2C_SLAVE_ENABLE
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(ENCODER_ENABLE)), yes)
|
||||
OPT_DEFS += -DENCODER_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/encoder.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(QWIIC_KEYBOARD_ENABLE)), yes)
|
||||
SRC += qwiic/qwiic_keyboard.c
|
||||
OPT_DEFS += -DQWIIC_KEYBOARD_ENABLE
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(I2C_ENABLE)), yes)
|
||||
SRC += twi2c.c
|
||||
endif
|
||||
|
||||
QUANTUM_SRC:= \
|
||||
$(QUANTUM_DIR)/quantum.c \
|
||||
$(QUANTUM_DIR)/keymap_common.c \
|
||||
$(QUANTUM_DIR)/keycode_config.c \
|
||||
$(QUANTUM_DIR)/process_keycode/process_leader.c
|
||||
|
||||
ifndef CUSTOM_MATRIX
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c
|
||||
endif
|
||||
|
|
@ -1,375 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ² │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ µ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "BE_SUP2",
|
||||
"label": "²",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "BE_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "BE_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "BE_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "BE_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "BE_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "BE_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "BE_EGRV",
|
||||
"label": "è",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "BE_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "BE_CCED",
|
||||
"label": "ç",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "BE_AGRV",
|
||||
"label": "à",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "BE_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "BE_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "BE_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "BE_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "BE_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "BE_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "BE_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "BE_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "BE_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "BE_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "BE_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "BE_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "BE_DCIR",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "BE_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "BE_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "BE_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "BE_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "BE_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "BE_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "BE_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "BE_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "BE_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "BE_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "BE_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "BE_UGRV",
|
||||
"label": "ù",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "BE_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "BE_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "BE_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "BE_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "BE_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "BE_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "BE_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "BE_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "BE_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "BE_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "BE_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "BE_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ³ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(BE_SUP2)": {
|
||||
"key": "BE_SUP3",
|
||||
"label": "³",
|
||||
}
|
||||
"S(BE_AMPR)": {
|
||||
"key": "BE_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(BE_EACU)": {
|
||||
"key": "BE_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(BE_DQUO)": {
|
||||
"key": "BE_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(BE_QUOT)": {
|
||||
"key": "BE_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(BE_LPRN)": {
|
||||
"key": "BE_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(BE_SECT)": {
|
||||
"key": "BE_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(BE_EGRV)": {
|
||||
"key": "BE_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(BE_EXLM)": {
|
||||
"key": "BE_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(BE_CCED)": {
|
||||
"key": "BE_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(BE_AGRV)": {
|
||||
"key": "BE_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(BE_RPRN)": {
|
||||
"key": "BE_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"S(BE_MINS)": {
|
||||
"key": "BE_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(BE_DCIR)": {
|
||||
"key": "BE_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(BE_DLR)": {
|
||||
"key": "BE_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(BE_UGRV)": {
|
||||
"key": "BE_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(BE_MICR)": {
|
||||
"key": "BE_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(BE_LABK)": {
|
||||
"key": "BE_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(BE_COMM)": {
|
||||
"key": "BE_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(BE_SCLN)": {
|
||||
"key": "BE_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"S(BE_COLN)": {
|
||||
"key": "BE_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(BE_EQL)": {
|
||||
"key": "BE_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ | │ @ │ # │ │ │ ^ │ │ │ { │ } │ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ´ │ ` │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ \ │ │ │ │ │ │ │ │ │ │ ~ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(BE_AMPR)": {
|
||||
"key": "BE_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(BE_EACU)": {
|
||||
"key": "BE_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(BE_DQUO)": {
|
||||
"key": "BE_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"ALGR(BE_SECT)": {
|
||||
"key": "BE_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"ALGR(BE_CCED)": {
|
||||
"key": "BE_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(BE_AGRV)": {
|
||||
"key": "BE_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(BE_E)": {
|
||||
"key": "BE_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(BE_DCIR)": {
|
||||
"key": "BE_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(BE_DLR)": {
|
||||
"key": "BE_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(BE_UGRV)": {
|
||||
"key": "BE_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"ALGR(BE_MICR)": {
|
||||
"key": "BE_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"ALGR(BE_LABK)": {
|
||||
"key": "BE_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(BE_EQL)": {
|
||||
"key": "BE_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,632 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ $ │ " │ « │ » │ ( │ ) │ @ │ + │ - │ / │ * │ = │ % │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ B │ É │ P │ O │ È │ ^ │ V │ D │ L │ J │ Z │ W │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ U │ I │ E │ , │ C │ T │ S │ R │ N │ M │ Ç │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ Ê │ À │ Y │ X │ . │ K │ ' │ Q │ G │ H │ F │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "BP_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "BP_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "BP_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "BP_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "BP_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "BP_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "BP_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "BP_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "BP_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "BP_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "BP_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "BP_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "BP_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "BP_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "BP_EACU",
|
||||
"label": "É",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "BP_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "BP_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "BP_EGRV",
|
||||
"label": "È",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "BP_DCIR",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "BP_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "BP_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "BP_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "BP_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "BP_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "BP_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "BP_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "BP_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "BP_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "BP_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "BP_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "BP_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "BP_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "BP_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "BP_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "BP_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "BP_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_BSLS": {
|
||||
"key": "BP_CCED",
|
||||
"label": "Ç",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "BP_ECIR",
|
||||
"label": "Ê",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "BP_AGRV",
|
||||
"label": "À",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "BP_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "BP_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "BP_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "BP_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "BP_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "BP_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "BP_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "BP_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "BP_F",
|
||||
"label": "F",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ ` │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ ! │ │ │ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ ; │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ : │ │ ? │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(BP_DLR)": {
|
||||
"key": "BP_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(BP_DQUO)": {
|
||||
"key": "BP_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(BP_LDAQ)": {
|
||||
"key": "BP_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(BP_RDAQ)": {
|
||||
"key": "BP_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(BP_LPRN)": {
|
||||
"key": "BP_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(BP_RPRN)": {
|
||||
"key": "BP_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(BP_AT)": {
|
||||
"key": "BP_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(BP_PLUS)": {
|
||||
"key": "BP_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(BP_MINS)": {
|
||||
"key": "BP_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(BP_SLSH)": {
|
||||
"key": "BP_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(BP_ASTR)": {
|
||||
"key": "BP_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(BP_EQL)": {
|
||||
"key": "BP_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"S(BP_PERC)": {
|
||||
"key": "BP_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"S(BP_DCIR)": {
|
||||
"key": "BP_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(BP_COMM)": {
|
||||
"key": "BP_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(BP_DOT)": {
|
||||
"key": "BP_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(BP_QUOT)": {
|
||||
"key": "BP_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(KC_SPC)": {
|
||||
"key": "BP_NBSP",
|
||||
"label": "(non-breaking space)",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ – │ — │ < │ > │ [ │ ] │ ^ │ ± │ − │ ÷ │ × │ ≠ │ ‰ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ | │ ´ │ & │ Œ │ ` │ ¡ │ ˇ │ Ð │ / │ IJ │ Ə │ ˘ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Æ │ Ù │ ¨ │ € │ │ © │ Þ │ ẞ │ ® │ ~ │ ¯ │ ¸ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ \ │ { │ } │ … │ ~ │ ¿ │ ° │ │ † │ ˛ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ _ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(BP_DLR)": {
|
||||
"key": "BP_NDSH",
|
||||
"label": "–",
|
||||
}
|
||||
"ALGR(BP_DQUO)": {
|
||||
"key": "BP_MDSH",
|
||||
"label": "—",
|
||||
}
|
||||
"ALGR(BP_LDAQ)": {
|
||||
"key": "BP_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"ALGR(BP_RDAQ)": {
|
||||
"key": "BP_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"ALGR(BP_LPRN)": {
|
||||
"key": "BP_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(BP_RPRN)": {
|
||||
"key": "BP_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(BP_AT)": {
|
||||
"key": "BP_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"ALGR(BP_PLUS)": {
|
||||
"key": "BP_PLMN",
|
||||
"label": "±",
|
||||
}
|
||||
"ALGR(BP_MINS)": {
|
||||
"key": "BP_MMNS",
|
||||
"label": "−",
|
||||
}
|
||||
"ALGR(BP_SLSH)": {
|
||||
"key": "BP_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"ALGR(BP_ASTR)": {
|
||||
"key": "BP_MUL",
|
||||
"label": "×",
|
||||
}
|
||||
"ALGR(BP_EQL)": {
|
||||
"key": "BP_NEQL",
|
||||
"label": "≠",
|
||||
}
|
||||
"ALGR(BP_PERC)": {
|
||||
"key": "BP_PERM",
|
||||
"label": "‰",
|
||||
}
|
||||
"ALGR(BP_B)": {
|
||||
"key": "BP_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(BP_EACU)": {
|
||||
"key": "BP_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"ALGR(BP_P)": {
|
||||
"key": "BP_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"ALGR(BP_O)": {
|
||||
"key": "BP_OE",
|
||||
"label": "Œ",
|
||||
}
|
||||
"ALGR(BP_EGRV)": {
|
||||
"key": "BP_DGRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"ALGR(BP_DCIR)": {
|
||||
"key": "BP_IEXL",
|
||||
"label": "¡",
|
||||
}
|
||||
"ALGR(BP_V)": {
|
||||
"key": "BP_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"ALGR(BP_D)": {
|
||||
"key": "BP_ETH",
|
||||
"label": "Ð",
|
||||
}
|
||||
"ALGR(BP_L)": {
|
||||
"key": "BP_DSLS",
|
||||
"label": "/ (dead)",
|
||||
}
|
||||
"ALGR(BP_J)": {
|
||||
"key": "BP_IJ",
|
||||
"label": "IJ",
|
||||
}
|
||||
"ALGR(BP_Z)": {
|
||||
"key": "BP_SCHW",
|
||||
"label": "Ə",
|
||||
}
|
||||
"ALGR(BP_W)": {
|
||||
"key": "BP_BREV",
|
||||
"label": "˘ (dead)",
|
||||
}
|
||||
"ALGR(BP_A)": {
|
||||
"key": "BP_AE",
|
||||
"label": "Æ",
|
||||
}
|
||||
"ALGR(BP_U)": {
|
||||
"key": "BP_UGRV",
|
||||
"label": "Ù",
|
||||
}
|
||||
"ALGR(BP_I)": {
|
||||
"key": "BP_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"ALGR(BP_E)": {
|
||||
"key": "BP_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(BP_C)": {
|
||||
"key": "BP_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
"ALGR(BP_T)": {
|
||||
"key": "BP_THRN",
|
||||
"label": "Þ",
|
||||
}
|
||||
"ALGR(BP_S)": {
|
||||
"key": "BP_SS",
|
||||
"label": "ẞ",
|
||||
}
|
||||
"ALGR(BP_R)": {
|
||||
"key": "BP_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"ALGR(BP_N)": {
|
||||
"key": "BP_DTIL",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"ALGR(BP_M)": {
|
||||
"key": "BP_MACR",
|
||||
"label": "¯ (dead)",
|
||||
}
|
||||
"ALGR(BP_CCED)": {
|
||||
"key": "BP_CEDL",
|
||||
"label": "¸ (dead)",
|
||||
}
|
||||
"ALGR(BP_AGRV)": {
|
||||
"key": "BP_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(BP_Y)": {
|
||||
"key": "BP_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(BP_X)": {
|
||||
"key": "BP_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(BP_DOT)": {
|
||||
"key": "BP_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
"ALGR(BP_K)": {
|
||||
"key": "BP_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"ALGR(BP_QUES)": {
|
||||
"key": "BP_IQUE",
|
||||
"label": "¿",
|
||||
}
|
||||
"ALGR(BP_Q)": {
|
||||
"key": "BP_RNGA",
|
||||
"label": "° (dead)",
|
||||
}
|
||||
"ALGR(BP_G)": {
|
||||
"key": "BP_DGRK",
|
||||
"label": "µ (dead Greek key)",
|
||||
}
|
||||
"ALGR(BP_H)": {
|
||||
"key": "BP_DAGG",
|
||||
"label": "†",
|
||||
}
|
||||
"ALGR(BP_F)": {
|
||||
"key": "BP_OGON",
|
||||
"label": "˛ (dead)",
|
||||
}
|
||||
"ALGR(KC_SPC)": {
|
||||
"key": "BP_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* Shift+AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ¶ │ „ │ “ │ ” │ ≤ │ ≥ │ │ ¬ │ ¼ │ ½ │ ¾ │ ′ │ ″ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ ¦ │ ˝ │ § │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ ˙ │ ¤ │ ̛ │ ſ │ │ │ ™ │ │ º │ , │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ ‘ │ ’ │ · │ ⌨ │ ̉ │ ̣ │ │ ‡ │ ª │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(ALGR(BP_DLR))": {
|
||||
"key": "BP_PARA",
|
||||
"label": "¶",
|
||||
}
|
||||
"S(ALGR(BP_DQUO))": {
|
||||
"key": "BP_DLQU",
|
||||
"label": "„",
|
||||
}
|
||||
"S(ALGR(BP_LDAQ))": {
|
||||
"key": "BP_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"S(ALGR(BP_RDAQ))": {
|
||||
"key": "BP_RDQU",
|
||||
"label": "”",
|
||||
}
|
||||
"S(ALGR(BP_LPRN))": {
|
||||
"key": "BP_LEQL",
|
||||
"label": "≤",
|
||||
}
|
||||
"S(ALGR(BP_RPRN))": {
|
||||
"key": "BP_GEQL",
|
||||
"label": "≥",
|
||||
}
|
||||
"S(ALGR(BP_PLUS))": {
|
||||
"key": "BP_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"S(ALGR(BP_MINS))": {
|
||||
"key": "BP_QRTR",
|
||||
"label": "¼",
|
||||
}
|
||||
"S(ALGR(BP_SLSH))": {
|
||||
"key": "BP_HALF",
|
||||
"label": "½",
|
||||
}
|
||||
"S(ALGR(BP_ASTR))": {
|
||||
"key": "BP_TQTR",
|
||||
"label": "¾",
|
||||
}
|
||||
"S(ALGR(BP_EQL))": {
|
||||
"key": "BP_PRIM",
|
||||
"label": "′",
|
||||
}
|
||||
"S(ALGR(BP_PERC))": {
|
||||
"key": "BP_DPRM",
|
||||
"label": "″",
|
||||
}
|
||||
"S(ALGR(BP_B))": {
|
||||
"key": "BP_BRKP",
|
||||
"label": "¦",
|
||||
}
|
||||
"S(ALGR(BP_EACU))": {
|
||||
"key": "BP_DACU",
|
||||
"label": "˝ (dead)",
|
||||
}
|
||||
"S(ALGR(BP_P))": {
|
||||
"key": "BP_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"S(ALGR(BP_I))": {
|
||||
"key": "BP_DOTA",
|
||||
"label": "˙ (dead)",
|
||||
}
|
||||
"S(ALGR(BP_E))": {
|
||||
"key": "BP_CURR",
|
||||
"label": "¤ (dead)",
|
||||
}
|
||||
"S(ALGR(BP_COMM))": {
|
||||
"key": "BP_HORN",
|
||||
"label": "̛ (dead)",
|
||||
}
|
||||
"S(ALGR(BP_C))": {
|
||||
"key": "BP_LNGS",
|
||||
"label": "ſ",
|
||||
}
|
||||
"S(ALGR(BP_R))": {
|
||||
"key": "BP_TM",
|
||||
"label": "™",
|
||||
}
|
||||
"S(ALGR(BP_M))": {
|
||||
"key": "BP_MORD",
|
||||
"label": "º",
|
||||
}
|
||||
"S(ALGR(BP_CCED))": {
|
||||
"key": "BP_DCMM",
|
||||
"label": ", (dead)",
|
||||
}
|
||||
"S(ALGR(BP_Y))": {
|
||||
"key": "BP_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"S(ALGR(BP_X))": {
|
||||
"key": "BP_RSQU",
|
||||
"label": "’",
|
||||
}
|
||||
"S(ALGR(BP_DOT))": {
|
||||
"key": "BP_MDDT",
|
||||
"label": "·",
|
||||
}
|
||||
"S(ALGR(BP_K))": {
|
||||
"key": "BP_KEYB",
|
||||
"label": "⌨",
|
||||
}
|
||||
"S(ALGR(BP_QUOT))": {
|
||||
"key": "BP_HOKA",
|
||||
"label": "̉ (dead)",
|
||||
}
|
||||
"S(ALGR(BP_Q))": {
|
||||
"key": "BP_DOTB",
|
||||
"label": "̣ (dead)",
|
||||
}
|
||||
"S(ALGR(BP_H))": {
|
||||
"key": "BP_DDAG",
|
||||
"label": "‡",
|
||||
}
|
||||
"S(ALGR(BP_F))": {
|
||||
"key": "BP_FORD",
|
||||
"label": "ª",
|
||||
}
|
||||
"S(ALGR(KC_SPC))": {
|
||||
"key": "BP_NNBS",
|
||||
"label": "(narrow non-breaking space)",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,379 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ' │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ´ │ [ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ç │ ~ │ ] │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
||||
* │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ; │ / │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "BR_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "BR_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "BR_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "BR_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "BR_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "BR_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "BR_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "BR_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "BR_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "BR_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "BR_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "BR_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "BR_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "BR_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "BR_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "BR_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "BR_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "BR_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "BR_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "BR_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "BR_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "BR_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "BR_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "BR_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "BR_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "BR_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "BR_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "BR_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "BR_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "BR_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "BR_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "BR_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "BR_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "BR_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "BR_CCED",
|
||||
"label": "Ç",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "BR_TILD",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"KC_BSLS": {
|
||||
"key": "BR_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "BR_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "BR_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "BR_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "BR_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "BR_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "BR_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "BR_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "BR_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "BR_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "BR_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "BR_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_INT1": {
|
||||
"key": "BR_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_PCMM": {
|
||||
"key": "BR_PDOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_PDOT": {
|
||||
"key": "BR_PCMM",
|
||||
"label": ",",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ " │ ! │ @ │ # │ $ │ % │ ¨ │ & │ * │ ( │ ) │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ^ │ } │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
||||
* │ │ | │ │ │ │ │ │ │ │ < │ > │ : │ ? │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(BR_QUOT)": {
|
||||
"key": "BR_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(BR_1)": {
|
||||
"key": "BR_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(BR_2)": {
|
||||
"key": "BR_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"S(BR_3)": {
|
||||
"key": "BR_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(BR_4)": {
|
||||
"key": "BR_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(BR_5)": {
|
||||
"key": "BR_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(BR_6)": {
|
||||
"key": "BR_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(BR_7)": {
|
||||
"key": "BR_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(BR_8)": {
|
||||
"key": "BR_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(BR_9)": {
|
||||
"key": "BR_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(BR_0)": {
|
||||
"key": "BR_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(BR_MINS)": {
|
||||
"key": "BR_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(BR_EQL)": {
|
||||
"key": "BR_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(BR_ACUT)": {
|
||||
"key": "BR_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"S(BR_LBRC)": {
|
||||
"key": "BR_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(BR_TILD)": {
|
||||
"key": "BR_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"S(BR_RBRC)": {
|
||||
"key": "BR_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(BR_BSLS)": {
|
||||
"key": "BR_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(BR_COMM)": {
|
||||
"key": "BR_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(BR_DOT)": {
|
||||
"key": "BR_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(BR_SCLN)": {
|
||||
"key": "BR_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(BR_SLSH)": {
|
||||
"key": "BR_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ ¹ │ ² │ ³ │ £ │ ¢ │ ¬ │ │ │ │ │ │ § │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ ° │ │ │ │ │ │ │ │ │ ª │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ º │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
||||
* │ │ │ │ │ ₢ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(BR_1)": {
|
||||
"key": "BR_SUP1",
|
||||
"label": "¹",
|
||||
}
|
||||
"ALGR(BR_2)": {
|
||||
"key": "BR_SUP2",
|
||||
"label": "²",
|
||||
}
|
||||
"ALGR(BR_3)": {
|
||||
"key": "BR_SUP3",
|
||||
"label": "³",
|
||||
}
|
||||
"ALGR(BR_4)": {
|
||||
"key": "BR_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"ALGR(BR_5)": {
|
||||
"key": "BR_CENT",
|
||||
"label": "¢",
|
||||
}
|
||||
"ALGR(BR_6)": {
|
||||
"key": "BR_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"ALGR(BR_EQL)": {
|
||||
"key": "BR_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"ALGR(BR_E)": {
|
||||
"key": "BR_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"ALGR(BR_LBRC)": {
|
||||
"key": "BR_FORD",
|
||||
"label": "ª",
|
||||
}
|
||||
"ALGR(BR_RBRC)": {
|
||||
"key": "BR_MORD",
|
||||
"label": "º",
|
||||
}
|
||||
"ALGR(BR_C)": {
|
||||
"key": "BR_CRUZ",
|
||||
"label": "₢",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,407 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ ¸ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ` │ < │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ « │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ É │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "FR_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "FR_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "FR_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "FR_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "FR_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "FR_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "FR_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "FR_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "FR_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "FR_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "FR_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "FR_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "FR_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "FR_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "FR_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "FR_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "FR_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "FR_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "FR_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "FR_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "FR_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "FR_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "FR_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "FR_DCIR",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "FR_CEDL",
|
||||
"label": "¸ (dead)",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "FR_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "FR_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "FR_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "FR_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "FR_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "FR_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "FR_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "FR_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "FR_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "FR_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "FR_DGRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "FR_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "FR_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "FR_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "FR_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "FR_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "FR_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "FR_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "FR_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "FR_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "FR_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "FR_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "FR_EACU",
|
||||
"label": "É",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ | │ ! │ " │ / │ $ │ % │ ? │ & │ * │ ( │ ) │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ : │ │ > │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ » │ │ │ │ │ │ │ │ ' │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(FR_HASH)": {
|
||||
"key": "FR_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(FR_1)": {
|
||||
"key": "FR_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(FR_2)": {
|
||||
"key": "FR_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(FR_3)": {
|
||||
"key": "FR_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(FR_4)": {
|
||||
"key": "FR_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(FR_5)": {
|
||||
"key": "FR_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(FR_6)": {
|
||||
"key": "FR_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(FR_7)": {
|
||||
"key": "FR_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(FR_8)": {
|
||||
"key": "FR_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(FR_9)": {
|
||||
"key": "FR_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(FR_0)": {
|
||||
"key": "FR_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(FR_MINS)": {
|
||||
"key": "FR_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(FR_EQL)": {
|
||||
"key": "FR_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(FR_CEDL)": {
|
||||
"key": "FR_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(FR_SCLN)": {
|
||||
"key": "FR_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(FR_LABK)": {
|
||||
"key": "FR_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(FR_LDAQ)": {
|
||||
"key": "FR_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"S(FR_COMM)": {
|
||||
"key": "FR_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ \ │ ± │ @ │ £ │ ¢ │ ¤ │ ¬ │ ¦ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ § │ ¶ │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ ~ │ { │ } │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ ° │ │ │ │ │ │ │ µ │ ¯ │ - │ ´ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(FR_HASH)": {
|
||||
"key": "FR_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(FR_1)": {
|
||||
"key": "FR_PLMN",
|
||||
"label": "±",
|
||||
}
|
||||
"ALGR(FR_2)": {
|
||||
"key": "FR_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(FR_3)": {
|
||||
"key": "FR_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"ALGR(FR_4)": {
|
||||
"key": "FR_CENT",
|
||||
"label": "¢",
|
||||
}
|
||||
"ALGR(FR_5)": {
|
||||
"key": "FR_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
"ALGR(FR_6)": {
|
||||
"key": "FR_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"ALGR(FR_7)": {
|
||||
"key": "FR_BRKP",
|
||||
"label": "¦",
|
||||
}
|
||||
"ALGR(FR_8)": {
|
||||
"key": "FR_SUP2",
|
||||
"label": "²",
|
||||
}
|
||||
"ALGR(FR_9)": {
|
||||
"key": "FR_SUP3",
|
||||
"label": "³",
|
||||
}
|
||||
"ALGR(FR_0)": {
|
||||
"key": "FR_QRTR",
|
||||
"label": "¼",
|
||||
}
|
||||
"ALGR(FR_MINS)": {
|
||||
"key": "FR_HALF",
|
||||
"label": "½",
|
||||
}
|
||||
"ALGR(FR_EQL)": {
|
||||
"key": "FR_TQTR",
|
||||
"label": "¾",
|
||||
}
|
||||
"ALGR(FR_O)": {
|
||||
"key": "FR_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"ALGR(FR_P)": {
|
||||
"key": "FR_PARA",
|
||||
"label": "¶",
|
||||
}
|
||||
"ALGR(FR_DCIR)": {
|
||||
"key": "FR_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(FR_CEDL)": {
|
||||
"key": "FR_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(FR_SCLN)": {
|
||||
"key": "FR_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"ALGR(FR_DGRV)": {
|
||||
"key": "FR_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(FR_LABK)": {
|
||||
"key": "FR_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(FR_LDAQ)": {
|
||||
"key": "FR_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"ALGR(FR_M)": {
|
||||
"key": "FR_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
"ALGR(FR_COMM)": {
|
||||
"key": "FR_MACR",
|
||||
"label": "¯",
|
||||
}
|
||||
"ALGR(FR_DOT)": {
|
||||
"key": "FR_SHYP",
|
||||
"label": " (soft hyphen)",
|
||||
}
|
||||
"ALGR(FR_EACU)": {
|
||||
"key": "FR_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,641 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ / │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ Ç │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ È │ À │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ Ù │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ É │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "CA_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "CA_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "CA_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "CA_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "CA_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "CA_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "CA_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "CA_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "CA_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "CA_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "CA_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "CA_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "CA_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "CA_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "CA_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "CA_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "CA_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "CA_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "CA_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "CA_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "CA_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "CA_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "CA_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "CA_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "CA_CCED",
|
||||
"label": "Ç",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "CA_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "CA_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "CA_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "CA_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "CA_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "CA_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "CA_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "CA_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "CA_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "CA_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "CA_EGRV",
|
||||
"label": "É",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "CA_AGRV",
|
||||
"label": "À",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "CA_UGRV",
|
||||
"label": "Ù",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "CA_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "CA_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "CA_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "CA_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "CA_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "CA_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "CA_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "CA_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "CA_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "CA_EACU",
|
||||
"label": "É",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ \ │ ! │ @ │ # │ $ │ % │ ? │ & │ * │ ( │ ) │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ : │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ ' │ " │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(CA_SLSH)": {
|
||||
"key": "CA_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"S(CA_1)": {
|
||||
"key": "CA_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(CA_2)": {
|
||||
"key": "CA_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"S(CA_3)": {
|
||||
"key": "CA_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(CA_4)": {
|
||||
"key": "CA_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(CA_5)": {
|
||||
"key": "CA_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(CA_6)": {
|
||||
"key": "CA_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(CA_7)": {
|
||||
"key": "CA_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(CA_8)": {
|
||||
"key": "CA_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(CA_9)": {
|
||||
"key": "CA_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(CA_0)": {
|
||||
"key": "CA_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(CA_MINS)": {
|
||||
"key": "CA_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(CA_EQL)": {
|
||||
"key": "CA_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(CA_CIRC)": {
|
||||
"key": "CA_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(CA_SCLN)": {
|
||||
"key": "CA_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(CA_COMM)": {
|
||||
"key": "CA_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"S(CA_DOT)": {
|
||||
"key": "CA_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ | │ │ │ │ ¤ │ │ │ { │ } │ [ │ ] │ │ ¬ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ € │ │ │ │ │ │ │ │ ` │ ~ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ ° │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ « │ » │ │ │ │ │ │ < │ > │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(CA_SLSH)": {
|
||||
"key": "CA_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(CA_4)": {
|
||||
"key": "CA_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
"ALGR(CA_7)": {
|
||||
"key": "CA_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(CA_8)": {
|
||||
"key": "CA_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(CA_9)": {
|
||||
"key": "CA_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(CA_0)": {
|
||||
"key": "CA_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(CA_EQL)": {
|
||||
"key": "CA_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"ALGR(CA_E)": {
|
||||
"key": "CA_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(CA_CIRC)": {
|
||||
"key": "CA_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"ALGR(CA_CCED)": {
|
||||
"key": "CA_DTIL",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"ALGR(CA_SCLN)": {
|
||||
"key": "CA_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"ALGR(CA_Z)": {
|
||||
"key": "CA_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"ALGR(CA_X)": {
|
||||
"key": "CA_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"ALGR(CA_COMM)": {
|
||||
"key": "CA_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"ALGR(CA_DOT)": {
|
||||
"key": "CA_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
/* Right Ctrl symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ ¹ │ ² │ ³ │ ¼ │ ½ │ ¾ │ │ │ │ │ │ ¸ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Ω │ Ł │ Œ │ ¶ │ Ŧ │ ← │ ↓ │ → │ Ø │ Þ │ │ ~ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Æ │ ß │ Ð │ │ Ŋ │ Ħ │ IJ │ ĸ │ Ŀ │ ´ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ ¢ │ “ │ ” │ ʼn │ μ │ ― │ ˙ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"RCTL(CA_1)": {
|
||||
"key": "CA_SUP1",
|
||||
"label": "¹",
|
||||
}
|
||||
"RCTL(CA_2)": {
|
||||
"key": "CA_SUP2",
|
||||
"label": "²",
|
||||
}
|
||||
"RCTL(CA_3)": {
|
||||
"key": "CA_SUP3",
|
||||
"label": "³",
|
||||
}
|
||||
"RCTL(CA_4)": {
|
||||
"key": "CA_QRTR",
|
||||
"label": "¼",
|
||||
}
|
||||
"RCTL(CA_5)": {
|
||||
"key": "CA_HALF",
|
||||
"label": "½",
|
||||
}
|
||||
"RCTL(CA_6)": {
|
||||
"key": "CA_TQTR",
|
||||
"label": "¾",
|
||||
}
|
||||
"RCTL(CA_EQL)": {
|
||||
"key": "CA_CEDL",
|
||||
"label": "¸ (dead)",
|
||||
}
|
||||
"RCTL(CA_Q)": {
|
||||
"key": "CA_OMEG",
|
||||
"label": "Ω",
|
||||
}
|
||||
"RCTL(CA_W)": {
|
||||
"key": "CA_LSTR",
|
||||
"label": "Ł",
|
||||
}
|
||||
"RCTL(CA_E)": {
|
||||
"key": "CA_OE",
|
||||
"label": "Œ",
|
||||
}
|
||||
"RCTL(CA_R)": {
|
||||
"key": "CA_PARA",
|
||||
"label": "¶",
|
||||
}
|
||||
"RCTL(CA_T)": {
|
||||
"key": "CA_TSTR",
|
||||
"label": "Ŧ",
|
||||
}
|
||||
"RCTL(CA_Y)": {
|
||||
"key": "CA_LARR",
|
||||
"label": "←",
|
||||
}
|
||||
"RCTL(CA_U)": {
|
||||
"key": "CA_DARR",
|
||||
"label": "↓",
|
||||
}
|
||||
"RCTL(CA_I)": {
|
||||
"key": "CA_RARR",
|
||||
"label": "→",
|
||||
}
|
||||
"RCTL(CA_O)": {
|
||||
"key": "CA_OSTR",
|
||||
"label": "Ø",
|
||||
}
|
||||
"RCTL(CA_P)": {
|
||||
"key": "CA_THRN",
|
||||
"label": "Þ",
|
||||
}
|
||||
"RCTL(CA_CCED)": {
|
||||
"key": "CA_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"RCTL(CA_A)": {
|
||||
"key": "CA_AE",
|
||||
"label": "Æ",
|
||||
}
|
||||
"RCTL(CA_S)": {
|
||||
"key": "CA_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"RCTL(CA_D)": {
|
||||
"key": "CA_ETH",
|
||||
"label": "Ð",
|
||||
}
|
||||
"RCTL(CA_G)": {
|
||||
"key": "CA_ENG",
|
||||
"label": "Ŋ",
|
||||
}
|
||||
"RCTL(CA_H)": {
|
||||
"key": "CA_HSTR",
|
||||
"label": "Ħ",
|
||||
}
|
||||
"RCTL(CA_J)": {
|
||||
"key": "CA_IJ",
|
||||
"label": "IJ",
|
||||
}
|
||||
"RCTL(CA_K)": {
|
||||
"key": "CA_KRA",
|
||||
"label": "ĸ",
|
||||
}
|
||||
"RCTL(CA_L)": {
|
||||
"key": "CA_LMDT",
|
||||
"label": "Ŀ",
|
||||
}
|
||||
"RCTL(CA_SCLN)": {
|
||||
"key": "CA_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"RCTL(CA_C)": {
|
||||
"key": "CA_CENT",
|
||||
"label": "¢",
|
||||
}
|
||||
"RCTL(CA_V)": {
|
||||
"key": "CA_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"RCTL(CA_B)": {
|
||||
"key": "CA_RDQU",
|
||||
"label": "”",
|
||||
}
|
||||
"RCTL(CA_N)": {
|
||||
"key": "CA_APSN",
|
||||
"label": "ʼn",
|
||||
}
|
||||
"RCTL(CA_M)": {
|
||||
"key": "CA_MICR",
|
||||
"label": "μ",
|
||||
}
|
||||
"RCTL(CA_COMM)": {
|
||||
"key": "CA_HRZB",
|
||||
"label": "―",
|
||||
}
|
||||
"RCTL(CA_DOT)": {
|
||||
"key": "CA_DOTA",
|
||||
"label": "˙ (dead)",
|
||||
}
|
||||
/* Shift+Right Ctrl symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ - │ ¡ │ │ £ │ │ ⅜ │ ⅝ │ ⅞ │ ™ │ ± │ │ ¿ │ ˛ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ ® │ │ ¥ │ ↑ │ ı │ │ │ ° │ ¯ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ § │ │ ª │ │ │ │ │ │ ˝ │ ˇ │ ˘ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ ¦ │ │ │ © │ ‘ │ ’ │ ♪ │ º │ × │ ÷ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"RCTL(S(CA_SLSH))": {
|
||||
"key": "CA_SHYP",
|
||||
"label": " (soft hyphen)",
|
||||
}
|
||||
"RCTL(S(CA_1))": {
|
||||
"key": "CA_IEXL",
|
||||
"label": "¡",
|
||||
}
|
||||
"RCTL(S(CA_3))": {
|
||||
"key": "CA_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"RCTL(S(CA_5))": {
|
||||
"key": "CA_TEIG",
|
||||
"label": "⅜",
|
||||
}
|
||||
"RCTL(S(CA_6))": {
|
||||
"key": "CA_FEIG",
|
||||
"label": "⅝",
|
||||
}
|
||||
"RCTL(S(CA_7))": {
|
||||
"key": "CA_SEIG",
|
||||
"label": "⅞",
|
||||
}
|
||||
"RCTL(S(CA_8))": {
|
||||
"key": "CA_TM",
|
||||
"label": "™",
|
||||
}
|
||||
"RCTL(S(CA_9))": {
|
||||
"key": "CA_PLMN",
|
||||
"label": "±",
|
||||
}
|
||||
"RCTL(S(CA_MINS))": {
|
||||
"key": "CA_IQUE",
|
||||
"label": "¿",
|
||||
}
|
||||
"RCTL(S(CA_EQL))": {
|
||||
"key": "CA_OGON",
|
||||
"label": "˛ (dead)",
|
||||
}
|
||||
"RCTL(S(CA_R))": {
|
||||
"key": "CA_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"RCTL(S(CA_Y))": {
|
||||
"key": "CA_YEN",
|
||||
"label": "¥",
|
||||
}
|
||||
"RCTL(S(CA_U))": {
|
||||
"key": "CA_UARR",
|
||||
"label": "↑",
|
||||
}
|
||||
"RCTL(S(CA_I))": {
|
||||
"key": "CA_DLSI",
|
||||
"label": "ı",
|
||||
}
|
||||
"RCTL(S(CA_CIRC))": {
|
||||
"key": "CA_RNGA",
|
||||
"label": "° (dead)",
|
||||
}
|
||||
"RCTL(S(CA_CCED))": {
|
||||
"key": "CA_MACR",
|
||||
"label": "¯ (dead)",
|
||||
}
|
||||
"RCTL(S(CA_S))": {
|
||||
"key": "CA_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"RCTL(S(CA_F))": {
|
||||
"key": "CA_FORD",
|
||||
"label": "ª",
|
||||
}
|
||||
"RCTL(S(CA_SCLN))": {
|
||||
"key": "CA_DACU",
|
||||
"label": "˝ (dead)",
|
||||
}
|
||||
"RCTL(S(CA_EGRV))": {
|
||||
"key": "CA_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"RCTL(S(CA_AGRV))": {
|
||||
"key": "CA_BREV",
|
||||
"label": "˘ (dead)",
|
||||
}
|
||||
"RCTL(S(CA_UGRV))": {
|
||||
"key": "CA_BRKP",
|
||||
"label": "¦",
|
||||
}
|
||||
"RCTL(S(CA_C))": {
|
||||
"key": "CA_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
"RCTL(S(CA_V))": {
|
||||
"key": "CA_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"RCTL(S(CA_B))": {
|
||||
"key": "CA_RSQU",
|
||||
"label": "’",
|
||||
}
|
||||
"RCTL(S(CA_N))": {
|
||||
"key": "CA_ENOT",
|
||||
"label": "♪",
|
||||
}
|
||||
"RCTL(S(CA_M))": {
|
||||
"key": "CA_MORD",
|
||||
"label": "º",
|
||||
}
|
||||
"RCTL(S(CA_COMM))": {
|
||||
"key": "CA_MUL",
|
||||
"label": "×",
|
||||
}
|
||||
"RCTL(S(CA_DOT))": {
|
||||
"key": "CA_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,302 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "CM_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "CM_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "CM_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "CM_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "CM_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "CM_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "CM_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "CM_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "CM_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "CM_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "CM_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "CM_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "CM_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "CM_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "CM_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "CM_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "CM_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "CM_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "CM_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "CM_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "CM_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "CM_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "CM_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "CM_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "CM_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_BSLS": {
|
||||
"key": "CM_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "CM_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "CM_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "CM_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "CM_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "CM_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "CM_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "CM_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "CM_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "CM_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "CM_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "CM_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "CM_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "CM_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "CM_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "CM_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "CM_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "CM_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "CM_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "CM_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "CM_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "CM_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ : │ { │ } │ | │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ " │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(CM_GRV)": {
|
||||
"key": "CM_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"S(CM_1)": {
|
||||
"key": "CM_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(CM_2)": {
|
||||
"key": "CM_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"S(CM_3)": {
|
||||
"key": "CM_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(CM_4)": {
|
||||
"key": "CM_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(CM_5)": {
|
||||
"key": "CM_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(CM_6)": {
|
||||
"key": "CM_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(CM_7)": {
|
||||
"key": "CM_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(CM_8)": {
|
||||
"key": "CM_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(CM_9)": {
|
||||
"key": "CM_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(CM_0)": {
|
||||
"key": "CM_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(CM_MINS)": {
|
||||
"key": "CM_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(CM_EQL)": {
|
||||
"key": "CM_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(CM_SCLN)": {
|
||||
"key": "CM_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(CM_LBRC)": {
|
||||
"key": "CM_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(CM_RBRC)": {
|
||||
"key": "CM_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(CM_BSLS)": {
|
||||
"key": "CM_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(CM_QUOT)": {
|
||||
"key": "CM_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(CM_COMM)": {
|
||||
"key": "CM_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(CM_DOT)": {
|
||||
"key": "CM_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(CM_SLSH)": {
|
||||
"key": "CM_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,403 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ¸ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Š │ Đ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Č │ Ć │ Ž │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "HR_CEDL",
|
||||
"label": "¸ (dead)",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "HR_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "HR_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "HR_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "HR_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "HR_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "HR_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "HR_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "HR_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "HR_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "HR_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "HR_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "HR_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "HR_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "HR_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "HR_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "HR_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "HR_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "HR_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "HR_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "HR_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "HR_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "HR_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "HR_SCAR",
|
||||
"label": "Š",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "HR_DSTR",
|
||||
"label": "Đ",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "HR_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "HR_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "HR_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "HR_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "HR_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "HR_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "HR_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "HR_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "HR_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "HR_CCAR",
|
||||
"label": "Č",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "HR_CACU",
|
||||
"label": "Ć",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "HR_ZCAR",
|
||||
"label": "Ž",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "HR_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "HR_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "HR_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "HR_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "HR_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "HR_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "HR_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "HR_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "HR_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "HR_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "HR_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ * │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(HR_CEDL)": {
|
||||
"key": "HR_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(HR_1)": {
|
||||
"key": "HR_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(HR_2)": {
|
||||
"key": "HR_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(HR_3)": {
|
||||
"key": "HR_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(HR_4)": {
|
||||
"key": "HR_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(HR_5)": {
|
||||
"key": "HR_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(HR_6)": {
|
||||
"key": "HR_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(HR_7)": {
|
||||
"key": "HR_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(HR_8)": {
|
||||
"key": "HR_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(HR_9)": {
|
||||
"key": "HR_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(HR_0)": {
|
||||
"key": "HR_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(HR_QUOT)": {
|
||||
"key": "HR_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(HR_PLUS)": {
|
||||
"key": "HR_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(HR_LABK)": {
|
||||
"key": "HR_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(HR_COMM)": {
|
||||
"key": "HR_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(HR_DOT)": {
|
||||
"key": "HR_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(HR_MINS)": {
|
||||
"key": "HR_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ \ │ | │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ [ │ ] │ │ │ ł │ Ł │ │ ß │ ¤ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ @ │ { │ } │ § │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(HR_1)": {
|
||||
"key": "HR_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"ALGR(HR_2)": {
|
||||
"key": "HR_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"ALGR(HR_3)": {
|
||||
"key": "HR_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"ALGR(HR_4)": {
|
||||
"key": "HR_BREV",
|
||||
"label": "˘ (dead)",
|
||||
}
|
||||
"ALGR(HR_5)": {
|
||||
"key": "HR_RNGA",
|
||||
"label": "° (dead)",
|
||||
}
|
||||
"ALGR(HR_6)": {
|
||||
"key": "HR_OGON",
|
||||
"label": "˛ (dead)",
|
||||
}
|
||||
"ALGR(HR_7)": {
|
||||
"key": "HR_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"ALGR(HR_8)": {
|
||||
"key": "HR_DOTA",
|
||||
"label": "˙ (dead)",
|
||||
}
|
||||
"ALGR(HR_9)": {
|
||||
"key": "HR_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"ALGR(HR_0)": {
|
||||
"key": "HR_DACU",
|
||||
"label": "˝ (dead)",
|
||||
}
|
||||
"ALGR(HR_Q)": {
|
||||
"key": "HR_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(HR_W)": {
|
||||
"key": "HR_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(HR_E)": {
|
||||
"key": "HR_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(HR_SCAR)": {
|
||||
"key": "HR_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"ALGR(HR_DSTR)": {
|
||||
"key": "HR_MUL",
|
||||
"label": "×",
|
||||
}
|
||||
"ALGR(HR_F)": {
|
||||
"key": "HR_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(HR_G)": {
|
||||
"key": "HR_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(HR_K)": {
|
||||
"key": "HR_LLST",
|
||||
"label": "ł",
|
||||
}
|
||||
"ALGR(HR_L)": {
|
||||
"key": "HR_CLST",
|
||||
"label": "Ł",
|
||||
}
|
||||
"ALGR(HR_CACU)": {
|
||||
"key": "HR_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"ALGR(HR_ZCAR)": {
|
||||
"key": "HR_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
"ALGR(HR_V)": {
|
||||
"key": "HR_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(HR_B)": {
|
||||
"key": "HR_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(HR_N)": {
|
||||
"key": "HR_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(HR_M)": {
|
||||
"key": "HR_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,435 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ; │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ´ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "CZ_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "CZ_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "CZ_ECAR",
|
||||
"label": "ě",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "CZ_SCAR",
|
||||
"label": "š",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "CZ_CCAR",
|
||||
"label": "č",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "CZ_RCAR",
|
||||
"label": "ř",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "CZ_ZCAR",
|
||||
"label": "ž",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "CZ_YACU",
|
||||
"label": "ý",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "CZ_AACU",
|
||||
"label": "á",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "CZ_IACU",
|
||||
"label": "í",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "CZ_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "CZ_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "CZ_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "CZ_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "CZ_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "CZ_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "CZ_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "CZ_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "CZ_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "CZ_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "CZ_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "CZ_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "CZ_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "CZ_UACU",
|
||||
"label": "ú",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "CZ_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "CZ_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "CZ_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "CZ_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "CZ_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "CZ_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "CZ_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "CZ_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "CZ_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "CZ_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "CZ_URNG",
|
||||
"label": "ů",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "CZ_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "CZ_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "CZ_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "CZ_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "CZ_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "CZ_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "CZ_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "CZ_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "CZ_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "CZ_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "CZ_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "CZ_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "CZ_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ' │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ | │ │ │ │ │ │ │ │ ? │ : │ _ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(CZ_SCLN)": {
|
||||
"key": "CZ_RNGA",
|
||||
"label": "° (dead)",
|
||||
}
|
||||
"S(CZ_PLUS)": {
|
||||
"key": "CZ_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(CZ_ECAR)": {
|
||||
"key": "CZ_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(CZ_SCAR)": {
|
||||
"key": "CZ_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(CZ_CCAR)": {
|
||||
"key": "CZ_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(CZ_RCAR)": {
|
||||
"key": "CZ_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(CZ_ZCAR)": {
|
||||
"key": "CZ_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(CZ_YACU)": {
|
||||
"key": "CZ_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(CZ_AACU)": {
|
||||
"key": "CZ_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(CZ_IACU)": {
|
||||
"key": "CZ_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(CZ_EACU)": {
|
||||
"key": "CZ_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(CZ_EQL)": {
|
||||
"key": "CZ_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(CZ_ACUT)": {
|
||||
"key": "CZ_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"S(CZ_UACU)": {
|
||||
"key": "CZ_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(CZ_RPRN)": {
|
||||
"key": "CZ_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(CZ_URNG)": {
|
||||
"key": "CZ_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(CZ_SECT)": {
|
||||
"key": "CZ_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(CZ_DIAE)": {
|
||||
"key": "CZ_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"S(CZ_BSLS)": {
|
||||
"key": "CZ_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(CZ_COMM)": {
|
||||
"key": "CZ_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(CZ_DOT)": {
|
||||
"key": "CZ_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(CZ_MINS)": {
|
||||
"key": "CZ_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ ~ │ │ ^ │ ˘ │ │ ˛ │ ` │ ˙ │ │ ˝ │ │ ¸ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ € │ │ │ │ │ │ │ │ ÷ │ × │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ # │ & │ @ │ { │ } │ │ < │ > │ * │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(CZ_PLUS)": {
|
||||
"key": "CZ_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"ALGR(CZ_SCAR)": {
|
||||
"key": "CZ_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"ALGR(CZ_CCAR)": {
|
||||
"key": "CZ_BREV",
|
||||
"label": "˘ (dead)",
|
||||
}
|
||||
"ALGR(CZ_ZCAR)": {
|
||||
"key": "CZ_OGON",
|
||||
"label": "˛ (dead)",
|
||||
}
|
||||
"ALGR(CZ_YACU)": {
|
||||
"key": "CZ_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"ALGR(CZ_AACU)": {
|
||||
"key": "CZ_DOTA",
|
||||
"label": "˙ (dead)",
|
||||
}
|
||||
"ALGR(CZ_EACU)": {
|
||||
"key": "CZ_DACU",
|
||||
"label": "˝ (dead)",
|
||||
}
|
||||
"ALGR(CZ_ACUT)": {
|
||||
"key": "CZ_CEDL",
|
||||
"label": "¸ (dead)",
|
||||
}
|
||||
"ALGR(CZ_E)": {
|
||||
"key": "CZ_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(CZ_UACU)": {
|
||||
"key": "CZ_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"ALGR(CZ_RPRN)": {
|
||||
"key": "CZ_MUL",
|
||||
"label": "×",
|
||||
}
|
||||
"ALGR(CZ_S)": {
|
||||
"key": "CZ_LDST",
|
||||
"label": "đ",
|
||||
}
|
||||
"ALGR(CZ_D)": {
|
||||
"key": "CZ_CDST",
|
||||
"label": "Đ",
|
||||
}
|
||||
"ALGR(CZ_F)": {
|
||||
"key": "CZ_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(CZ_G)": {
|
||||
"key": "CZ_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(CZ_K)": {
|
||||
"key": "CZ_LLST",
|
||||
"label": "ł",
|
||||
}
|
||||
"ALGR(CZ_L)": {
|
||||
"key": "CZ_CLST",
|
||||
"label": "Ł",
|
||||
}
|
||||
"ALGR(CZ_URNG)": {
|
||||
"key": "CZ_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"ALGR(CZ_SECT)": {
|
||||
"key": "CZ_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"ALGR(CZ_DIAE)": {
|
||||
"key": "CZ_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
"ALGR(CZ_X)": {
|
||||
"key": "CZ_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"ALGR(CZ_C)": {
|
||||
"key": "CZ_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"ALGR(CZ_V)": {
|
||||
"key": "CZ_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(CZ_B)": {
|
||||
"key": "CZ_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(CZ_N)": {
|
||||
"key": "CZ_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(CZ_COMM)": {
|
||||
"key": "CZ_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"ALGR(CZ_DOT)": {
|
||||
"key": "CZ_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"ALGR(CZ_MINS)": {
|
||||
"key": "CZ_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,580 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ \ │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ' │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ú │ ) │ ¨ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
|
||||
* │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "CZ_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "CZ_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "CZ_ECAR",
|
||||
"label": "ě",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "CZ_SCAR",
|
||||
"label": "š",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "CZ_CCAR",
|
||||
"label": "č",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "CZ_RCAR",
|
||||
"label": "ř",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "CZ_ZCAR",
|
||||
"label": "ž",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "CZ_YACU",
|
||||
"label": "ý",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "CZ_AACU",
|
||||
"label": "á",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "CZ_IACU",
|
||||
"label": "í",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "CZ_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "CZ_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "CZ_ACUT",
|
||||
"label": "' (dead)",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "CZ_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "CZ_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "CZ_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "CZ_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "CZ_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "CZ_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "CZ_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "CZ_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "CZ_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "CZ_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "CZ_UACU",
|
||||
"label": "ú",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "CZ_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "CZ_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "CZ_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "CZ_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "CZ_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "CZ_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "CZ_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "CZ_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "CZ_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "CZ_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "CZ_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "CZ_URNG",
|
||||
"label": "ů",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "CZ_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "CZ_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "CZ_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "CZ_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "CZ_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "CZ_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "CZ_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "CZ_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "CZ_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "CZ_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "CZ_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ ` │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ " │ ! │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
|
||||
* │ │ │ │ │ │ │ │ │ ? │ : │ _ │ │
|
||||
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(CZ_BSLS)": {
|
||||
"key": "CZ_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(CZ_PLUS)": {
|
||||
"key": "CZ_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(CZ_ECAR)": {
|
||||
"key": "CZ_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(CZ_SCAR)": {
|
||||
"key": "CZ_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(CZ_CCAR)": {
|
||||
"key": "CZ_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(CZ_RCAR)": {
|
||||
"key": "CZ_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(CZ_ZCAR)": {
|
||||
"key": "CZ_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(CZ_YACU)": {
|
||||
"key": "CZ_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(CZ_AACU)": {
|
||||
"key": "CZ_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(CZ_IACU)": {
|
||||
"key": "CZ_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(CZ_EACU)": {
|
||||
"key": "CZ_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(CZ_EQL)": {
|
||||
"key": "CZ_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(CZ_ACUT)": {
|
||||
"key": "CZ_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"S(CZ_UACU)": {
|
||||
"key": "CZ_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(CZ_RPRN)": {
|
||||
"key": "CZ_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(CZ_DIAE)": {
|
||||
"key": "CZ_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"S(CZ_URNG)": {
|
||||
"key": "CZ_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(CZ_SECT)": {
|
||||
"key": "CZ_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(CZ_COMM)": {
|
||||
"key": "CZ_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(CZ_DOT)": {
|
||||
"key": "CZ_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(CZ_MINS)": {
|
||||
"key": "CZ_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ │ │ @ │ # │ $ │ ~ │ ^ │ & │ * │ { │ } │ ° │ ^ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ ė │ ę │ € │ │ │ │ │ │ │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
|
||||
* │ │ ą │ ß │ ∂ │ │ │ ‘ │ ’ │ │ ł │ ; │ ' │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
|
||||
* │ │ │ │ │ │ │ ‚ │ │ < │ > │ – │ │
|
||||
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"A(CZ_ECAR)": {
|
||||
"key": "CZ_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"A(CZ_SCAR)": {
|
||||
"key": "CZ_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"A(CZ_CCAR)": {
|
||||
"key": "CZ_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"A(CZ_RCAR)": {
|
||||
"key": "CZ_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"A(CZ_ZCAR)": {
|
||||
"key": "CZ_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"A(CZ_YACU)": {
|
||||
"key": "CZ_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"A(CZ_AACU)": {
|
||||
"key": "CZ_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"A(CZ_IACU)": {
|
||||
"key": "CZ_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"A(CZ_EACU)": {
|
||||
"key": "CZ_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"A(CZ_EQL)": {
|
||||
"key": "CZ_RNGA",
|
||||
"label": "° (dead)",
|
||||
}
|
||||
"A(CZ_ACUT)": {
|
||||
"key": "CZ_DCIR",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"A(CZ_W)": {
|
||||
"key": "CZ_LEDT",
|
||||
"label": "ė",
|
||||
}
|
||||
"A(CZ_E)": {
|
||||
"key": "CZ_LEOG",
|
||||
"label": "ę",
|
||||
}
|
||||
"A(CZ_R)": {
|
||||
"key": "CZ_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"A(CZ_Z)": {
|
||||
"key": "CZ_LZDT",
|
||||
"label": "ż",
|
||||
}
|
||||
"A(CZ_UACU)": {
|
||||
"key": "CZ_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"A(CZ_RPRN)": {
|
||||
"key": "CZ_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"A(CZ_A)": {
|
||||
"key": "CZ_LAOG",
|
||||
"label": "ą",
|
||||
}
|
||||
"A(CZ_S)": {
|
||||
"key": "CZ_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"A(CZ_D)": {
|
||||
"key": "CZ_PDIF",
|
||||
"label": "∂",
|
||||
}
|
||||
"A(CZ_H)": {
|
||||
"key": "CZ_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"A(CZ_J)": {
|
||||
"key": "CZ_RSQU",
|
||||
"label": "’",
|
||||
}
|
||||
"A(CZ_L)": {
|
||||
"key": "CZ_LLST",
|
||||
"label": "ł",
|
||||
}
|
||||
"A(CZ_URNG)": {
|
||||
"key": "CZ_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"A(CZ_SECT)": {
|
||||
"key": "CZ_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"A(CZ_N)": {
|
||||
"key": "CZ_SLQU",
|
||||
"label": "‚",
|
||||
}
|
||||
"A(CZ_COMM)": {
|
||||
"key": "CZ_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"A(CZ_DOT)": {
|
||||
"key": "CZ_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"A(CZ_MINS)": {
|
||||
"key": "CZ_NDSH",
|
||||
"label": "–",
|
||||
}
|
||||
/* Shift+Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ │ ¬ │ • │ ≠ │ £ │ ◊ │ † │ ¶ │ ÷ │ « │ » │ , │ - │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ Ė │ Ę │ ® │ ™ │ Ż │ │ │ │ │ ‹ │ › │ " │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
|
||||
* │ │ Ą │ ∑ │ ∆ │ │ │ “ │ ” │ │ Ł │ … │ ~ │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
|
||||
* │ │ │ │ © │ √ │ │ „ │ │ ≤ │ ≥ │ — │ │
|
||||
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(A(CZ_1))": {
|
||||
"key": "CZ_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"S(A(CZ_2))": {
|
||||
"key": "CZ_BULT",
|
||||
"label": "•",
|
||||
}
|
||||
"S(A(CZ_3))": {
|
||||
"key": "CZ_NEQL",
|
||||
"label": "≠",
|
||||
}
|
||||
"S(A(CZ_4))": {
|
||||
"key": "CZ_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(A(CZ_5))": {
|
||||
"key": "CZ_LOZN",
|
||||
"label": "◊",
|
||||
}
|
||||
"S(A(CZ_6))": {
|
||||
"key": "CZ_DAGG",
|
||||
"label": "†",
|
||||
}
|
||||
"S(A(CZ_7))": {
|
||||
"key": "CZ_PARA",
|
||||
"label": "¶",
|
||||
}
|
||||
"S(A(CZ_8))": {
|
||||
"key": "CZ_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"S(A(CZ_9))": {
|
||||
"key": "CZ_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"S(A(CZ_0))": {
|
||||
"key": "CZ_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"S(A(CZ_EQL))": {
|
||||
"key": "CZ_DCOM",
|
||||
"label": ", (dead)",
|
||||
}
|
||||
"S(A(CZ_ACUT))": {
|
||||
"key": "CZ_DHPN",
|
||||
"label": "- (dead)",
|
||||
}
|
||||
"S(A(CZ_W))": {
|
||||
"key": "CZ_CEDT",
|
||||
"label": "Ė",
|
||||
}
|
||||
"S(A(CZ_E))": {
|
||||
"key": "CZ_CEOG",
|
||||
"label": "Ę",
|
||||
}
|
||||
"S(A(CZ_R))": {
|
||||
"key": "CZ_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"S(A(CZ_T))": {
|
||||
"key": "CZ_TM",
|
||||
"label": "™",
|
||||
}
|
||||
"S(A(CZ_Z))": {
|
||||
"key": "CZ_CZDT",
|
||||
"label": "Ż",
|
||||
}
|
||||
"S(A(CZ_UACU))": {
|
||||
"key": "CZ_LSAQ",
|
||||
"label": "‹",
|
||||
}
|
||||
"S(A(CZ_RPRN))": {
|
||||
"key": "CZ_RSAQ",
|
||||
"label": "›",
|
||||
}
|
||||
"S(A(CZ_DIAE))": {
|
||||
"key": "CZ_DDQT",
|
||||
"label": "\" (dead)",
|
||||
}
|
||||
"S(A(CZ_A))": {
|
||||
"key": "CZ_CAOG",
|
||||
"label": "Ą",
|
||||
}
|
||||
"S(A(CZ_S))": {
|
||||
"key": "CZ_NARS",
|
||||
"label": "∑",
|
||||
}
|
||||
"S(A(CZ_D))": {
|
||||
"key": "CZ_INCR",
|
||||
"label": "∆",
|
||||
}
|
||||
"S(A(CZ_H))": {
|
||||
"key": "CZ_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"S(A(CZ_J))": {
|
||||
"key": "CZ_RDQU",
|
||||
"label": "”",
|
||||
}
|
||||
"S(A(CZ_L))": {
|
||||
"key": "CZ_CLST",
|
||||
"label": "Ł",
|
||||
}
|
||||
"S(A(CZ_URNG))": {
|
||||
"key": "CZ_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
"S(A(CZ_SECT))": {
|
||||
"key": "CZ_DTIL",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"S(A(CZ_C))": {
|
||||
"key": "CZ_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
"S(A(CZ_V))": {
|
||||
"key": "CZ_SQRT",
|
||||
"label": "√",
|
||||
}
|
||||
"S(A(CZ_N))": {
|
||||
"key": "CZ_DLQU",
|
||||
"label": "„",
|
||||
}
|
||||
"S(A(CZ_COMM))": {
|
||||
"key": "CZ_LEQL",
|
||||
"label": "≤",
|
||||
}
|
||||
"S(A(CZ_DOT))": {
|
||||
"key": "CZ_GEQL",
|
||||
"label": "≥",
|
||||
}
|
||||
"S(A(CZ_MINS))": {
|
||||
"key": "CZ_MDSH",
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,580 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ' │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"KC_1": {
|
||||
"key": "CZ_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "CZ_ECAR",
|
||||
"label": "ě",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "CZ_SCAR",
|
||||
"label": "š",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "CZ_CCAR",
|
||||
"label": "č",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "CZ_RCAR",
|
||||
"label": "ř",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "CZ_ZCAR",
|
||||
"label": "ž",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "CZ_YACU",
|
||||
"label": "ý",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "CZ_AACU",
|
||||
"label": "á",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "CZ_IACU",
|
||||
"label": "í",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "CZ_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "CZ_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "CZ_ACUT",
|
||||
"label": "' (dead)",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "CZ_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "CZ_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "CZ_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "CZ_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "CZ_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "CZ_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "CZ_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "CZ_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "CZ_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "CZ_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "CZ_UACU",
|
||||
"label": "ú",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "CZ_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "CZ_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "CZ_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "CZ_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "CZ_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "CZ_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "CZ_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "CZ_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "CZ_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "CZ_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "CZ_URNG",
|
||||
"label": "ů",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "CZ_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "CZ_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "CZ_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "CZ_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "CZ_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "CZ_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "CZ_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "CZ_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "CZ_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "CZ_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "CZ_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "CZ_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "CZ_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ / │ ( │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ " │ ! │ ` │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ | │ │ │ │ │ │ │ │ ? │ : │ _ │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(CZ_PLUS)": {
|
||||
"key": "CZ_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(CZ_ECAR)": {
|
||||
"key": "CZ_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(CZ_SCAR)": {
|
||||
"key": "CZ_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(CZ_CCAR)": {
|
||||
"key": "CZ_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(CZ_RCAR)": {
|
||||
"key": "CZ_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(CZ_ZCAR)": {
|
||||
"key": "CZ_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(CZ_YACU)": {
|
||||
"key": "CZ_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(CZ_AACU)": {
|
||||
"key": "CZ_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(CZ_IACU)": {
|
||||
"key": "CZ_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(CZ_EACU)": {
|
||||
"key": "CZ_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(CZ_EQL)": {
|
||||
"key": "CZ_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(CZ_ACUT)": {
|
||||
"key": "CZ_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"S(CZ_UACU)": {
|
||||
"key": "CZ_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(CZ_RPRN)": {
|
||||
"key": "CZ_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(CZ_URNG)": {
|
||||
"key": "CZ_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(CZ_SECT)": {
|
||||
"key": "CZ_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(CZ_DIAE)": {
|
||||
"key": "CZ_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"S(CZ_BSLS)": {
|
||||
"key": "CZ_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(CZ_COMM)": {
|
||||
"key": "CZ_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(CZ_DOT)": {
|
||||
"key": "CZ_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(CZ_MINS)": {
|
||||
"key": "CZ_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ │ │ @ │ # │ $ │ ~ │ ^ │ & │ * │ { │ } │ ° │ ^ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ ė │ ę │ € │ │ ż │ │ │ │ │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ ą │ ß │ ∂ │ │ │ ‘ │ ’ │ │ ł │ ; │ ' │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ │ │ │ │ │ │ ‚ │ │ < │ > │ – │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"A(CZ_ECAR)": {
|
||||
"key": "CZ_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"A(CZ_SCAR)": {
|
||||
"key": "CZ_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"A(CZ_CCAR)": {
|
||||
"key": "CZ_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"A(CZ_RCAR)": {
|
||||
"key": "CZ_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"A(CZ_ZCAR)": {
|
||||
"key": "CZ_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"A(CZ_YACU)": {
|
||||
"key": "CZ_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"A(CZ_AACU)": {
|
||||
"key": "CZ_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"A(CZ_IACU)": {
|
||||
"key": "CZ_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"A(CZ_EACU)": {
|
||||
"key": "CZ_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"A(CZ_EQL)": {
|
||||
"key": "CZ_RNGA",
|
||||
"label": "° (dead)",
|
||||
}
|
||||
"A(CZ_ACUT)": {
|
||||
"key": "CZ_DCIR",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"A(CZ_W)": {
|
||||
"key": "CZ_LEDT",
|
||||
"label": "ė",
|
||||
}
|
||||
"A(CZ_E)": {
|
||||
"key": "CZ_LEOG",
|
||||
"label": "ę",
|
||||
}
|
||||
"A(CZ_R)": {
|
||||
"key": "CZ_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"A(CZ_Z)": {
|
||||
"key": "CZ_LZDT",
|
||||
"label": "ż",
|
||||
}
|
||||
"A(CZ_UACU)": {
|
||||
"key": "CZ_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"A(CZ_RPRN)": {
|
||||
"key": "CZ_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"A(CZ_A)": {
|
||||
"key": "CZ_LAOG",
|
||||
"label": "ą",
|
||||
}
|
||||
"A(CZ_S)": {
|
||||
"key": "CZ_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"A(CZ_D)": {
|
||||
"key": "CZ_PDIF",
|
||||
"label": "∂",
|
||||
}
|
||||
"A(CZ_H)": {
|
||||
"key": "CZ_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"A(CZ_J)": {
|
||||
"key": "CZ_RSQU",
|
||||
"label": "’",
|
||||
}
|
||||
"A(CZ_L)": {
|
||||
"key": "CZ_LLST",
|
||||
"label": "ł",
|
||||
}
|
||||
"A(CZ_URNG)": {
|
||||
"key": "CZ_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"A(CZ_SECT)": {
|
||||
"key": "CZ_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"A(CZ_N)": {
|
||||
"key": "CZ_SLQU",
|
||||
"label": "‚",
|
||||
}
|
||||
"A(CZ_COMM)": {
|
||||
"key": "CZ_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"A(CZ_DOT)": {
|
||||
"key": "CZ_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"A(CZ_MINS)": {
|
||||
"key": "CZ_NDSH",
|
||||
"label": "–",
|
||||
}
|
||||
/* Shift+Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ │ ¬ │ • │ ≠ │ £ │ ◊ │ † │ ¶ │ ÷ │ « │ » │ , │ - │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ Ė │ Ę │ ® │ ™ │ Ż │ │ │ │ │ ‹ │ › │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Ą │ ∑ │ ∆ │ │ │ “ │ ” │ │ Ł │ … │ ~ │ " │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ │ │ │ © │ √ │ │ „ │ │ ≤ │ ≥ │ — │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(A(CZ_1))": {
|
||||
"key": "CZ_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"S(A(CZ_2))": {
|
||||
"key": "CZ_BULT",
|
||||
"label": "•",
|
||||
}
|
||||
"S(A(CZ_3))": {
|
||||
"key": "CZ_NEQL",
|
||||
"label": "≠",
|
||||
}
|
||||
"S(A(CZ_4))": {
|
||||
"key": "CZ_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(A(CZ_5))": {
|
||||
"key": "CZ_LOZN",
|
||||
"label": "◊",
|
||||
}
|
||||
"S(A(CZ_6))": {
|
||||
"key": "CZ_DAGG",
|
||||
"label": "†",
|
||||
}
|
||||
"S(A(CZ_7))": {
|
||||
"key": "CZ_PARA",
|
||||
"label": "¶",
|
||||
}
|
||||
"S(A(CZ_8))": {
|
||||
"key": "CZ_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"S(A(CZ_9))": {
|
||||
"key": "CZ_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"S(A(CZ_0))": {
|
||||
"key": "CZ_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"S(A(CZ_EQL))": {
|
||||
"key": "CZ_DCOM",
|
||||
"label": ", (dead)",
|
||||
}
|
||||
"S(A(CZ_ACUT))": {
|
||||
"key": "CZ_DHPN",
|
||||
"label": "- (dead)",
|
||||
}
|
||||
"S(A(CZ_W))": {
|
||||
"key": "CZ_CEDT",
|
||||
"label": "Ė",
|
||||
}
|
||||
"S(A(CZ_E))": {
|
||||
"key": "CZ_CEOG",
|
||||
"label": "Ę",
|
||||
}
|
||||
"S(A(CZ_R))": {
|
||||
"key": "CZ_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"S(A(CZ_T))": {
|
||||
"key": "CZ_TM",
|
||||
"label": "™",
|
||||
}
|
||||
"S(A(CZ_Z))": {
|
||||
"key": "CZ_CZDT",
|
||||
"label": "Ż",
|
||||
}
|
||||
"S(A(CZ_UACU))": {
|
||||
"key": "CZ_LSAQ",
|
||||
"label": "‹",
|
||||
}
|
||||
"S(A(CZ_RPRN))": {
|
||||
"key": "CZ_RSAQ",
|
||||
"label": "›",
|
||||
}
|
||||
"S(A(CZ_A))": {
|
||||
"key": "CZ_CAOG",
|
||||
"label": "Ą",
|
||||
}
|
||||
"S(A(CZ_S))": {
|
||||
"key": "CZ_NARS",
|
||||
"label": "∑",
|
||||
}
|
||||
"S(A(CZ_D))": {
|
||||
"key": "CZ_INCR",
|
||||
"label": "∆",
|
||||
}
|
||||
"S(A(CZ_H))": {
|
||||
"key": "CZ_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"S(A(CZ_J))": {
|
||||
"key": "CZ_RDQU",
|
||||
"label": "”",
|
||||
}
|
||||
"S(A(CZ_L))": {
|
||||
"key": "CZ_CLST",
|
||||
"label": "Ł",
|
||||
}
|
||||
"S(A(CZ_URNG))": {
|
||||
"key": "CZ_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
"S(A(CZ_SECT))": {
|
||||
"key": "CZ_DTIL",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"S(A(CZ_DIAE))": {
|
||||
"key": "CZ_DDQT",
|
||||
"label": "\" (dead)",
|
||||
}
|
||||
"S(A(CZ_C))": {
|
||||
"key": "CZ_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
"S(A(CZ_V))": {
|
||||
"key": "CZ_SQRT",
|
||||
"label": "√",
|
||||
}
|
||||
"S(A(CZ_N))": {
|
||||
"key": "CZ_DLQU",
|
||||
"label": "„",
|
||||
}
|
||||
"S(A(CZ_COMM))": {
|
||||
"key": "CZ_LEQL",
|
||||
"label": "≤",
|
||||
}
|
||||
"S(A(CZ_DOT))": {
|
||||
"key": "CZ_GEQL",
|
||||
"label": "≥",
|
||||
}
|
||||
"S(A(CZ_MINS))": {
|
||||
"key": "CZ_MDSH",
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,359 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ½ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ Ø │ ' │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "DK_HALF",
|
||||
"label": "½",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "DK_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "DK_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "DK_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "DK_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "DK_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "DK_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "DK_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "DK_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "DK_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "DK_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "DK_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "DK_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "DK_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "DK_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "DK_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "DK_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "DK_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "DK_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "DK_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "DK_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "DK_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "DK_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "DK_ARNG",
|
||||
"label": "Å",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "DK_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "DK_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "DK_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "DK_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "DK_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "DK_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "DK_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "DK_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "DK_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "DK_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "DK_AE",
|
||||
"label": "Æ",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "DK_OSTR",
|
||||
"label": "Ø",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "DK_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "DK_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "DK_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "DK_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "DK_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "DK_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "DK_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "DK_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "DK_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "DK_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "DK_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "DK_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ § │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(DK_HALF)": {
|
||||
"key": "DK_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"S(DK_1)": {
|
||||
"key": "DK_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(DK_2)": {
|
||||
"key": "DK_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(DK_3)": {
|
||||
"key": "DK_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(DK_4)": {
|
||||
"key": "DK_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
"S(DK_5)": {
|
||||
"key": "DK_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(DK_6)": {
|
||||
"key": "DK_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(DK_7)": {
|
||||
"key": "DK_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(DK_8)": {
|
||||
"key": "DK_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(DK_9)": {
|
||||
"key": "DK_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(DK_0)": {
|
||||
"key": "DK_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(DK_PLUS)": {
|
||||
"key": "DK_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(DK_ACUT)": {
|
||||
"key": "DK_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"S(DK_DIAE)": {
|
||||
"key": "DK_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"S(DK_QUOT)": {
|
||||
"key": "DK_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(DK_LABK)": {
|
||||
"key": "DK_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(DK_COMM)": {
|
||||
"key": "DK_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(DK_DOT)": {
|
||||
"key": "DK_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(DK_MINS)": {
|
||||
"key": "DK_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ │ | │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ \ │ │ │ │ │ │ │ µ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(DK_2)": {
|
||||
"key": "DK_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(DK_3)": {
|
||||
"key": "DK_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"ALGR(DK_4)": {
|
||||
"key": "DK_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"ALGR(DK_5)": {
|
||||
"key": "DK_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(DK_7)": {
|
||||
"key": "DK_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(DK_8)": {
|
||||
"key": "DK_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(DK_9)": {
|
||||
"key": "DK_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(DK_0)": {
|
||||
"key": "DK_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(DK_ACUT)": {
|
||||
"key": "DK_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(DK_DIAE)": {
|
||||
"key": "DK_TILD",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"ALGR(DK_LABK)": {
|
||||
"key": "DK_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(DK_M)": {
|
||||
"key": "DK_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,302 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "DV_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "DV_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "DV_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "DV_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "DV_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "DV_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "DV_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "DV_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "DV_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "DV_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "DV_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "DV_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "DV_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "DV_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "DV_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "DV_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "DV_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "DV_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "DV_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "DV_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "DV_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "DV_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "DV_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "DV_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "DV_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_BSLS": {
|
||||
"key": "DV_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "DV_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "DV_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "DV_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "DV_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "DV_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "DV_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "DV_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "DV_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "DV_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "DV_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "DV_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "DV_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "DV_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "DV_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "DV_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "DV_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "DV_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "DV_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "DV_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "DV_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "DV_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ { │ } │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ " │ < │ > │ │ │ │ │ │ │ │ ? │ + │ | │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ : │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(DV_GRV)": {
|
||||
"key": "DV_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"S(DV_1)": {
|
||||
"key": "DV_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(DV_2)": {
|
||||
"key": "DV_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"S(DV_3)": {
|
||||
"key": "DV_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(DV_4)": {
|
||||
"key": "DV_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(DV_5)": {
|
||||
"key": "DV_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(DV_6)": {
|
||||
"key": "DV_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(DV_7)": {
|
||||
"key": "DV_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(DV_8)": {
|
||||
"key": "DV_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(DV_9)": {
|
||||
"key": "DV_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(DV_0)": {
|
||||
"key": "DV_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(DV_LBRC)": {
|
||||
"key": "DV_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(DV_RBRC)": {
|
||||
"key": "DV_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(DV_QUOT)": {
|
||||
"key": "DV_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(DV_COMM)": {
|
||||
"key": "DV_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(DV_DOT)": {
|
||||
"key": "DV_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(DV_SLSH)": {
|
||||
"key": "DV_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(DV_EQL)": {
|
||||
"key": "DV_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(DV_BSLS)": {
|
||||
"key": "DV_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(DV_MINS)": {
|
||||
"key": "DV_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(DV_SCLN)": {
|
||||
"key": "DV_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,317 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/* Dvorak for the French language
|
||||
* Version: 2
|
||||
*
|
||||
* The layout is designed by Francis Leboutte <dvorak-fr@algo.be>
|
||||
*
|
||||
* Source: https://algo.be/ergo/dvorak-fr.html
|
||||
*/
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ « │ » │ / │ - │ è │ \ │ ^ │ ( │ ` │ ) │ _ │ [ │ ] │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ : │ ' │ é │ G │ . │ H │ V │ C │ M │ K │ Z │ ¨ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ O │ A │ U │ E │ B │ F │ S │ T │ N │ D │ W │ ~ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ à │ ; │ Q │ , │ I │ Y │ X │ R │ L │ P │ J │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "DV_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "DV_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "DV_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "DV_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "DV_EGRV",
|
||||
"label": "è",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "DV_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "DV_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "DV_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "DV_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "DV_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "DV_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "DV_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "DV_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "DV_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "DV_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "DV_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "DV_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "DV_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "DV_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "DV_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "DV_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "DV_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "DV_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "DV_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "DV_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "DV_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "DV_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "DV_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "DV_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "DV_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "DV_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "DV_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "DV_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "DV_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "DV_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "DV_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "DV_TILD",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "DV_AGRV",
|
||||
"label": "à",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "DV_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "DV_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "DV_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "DV_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "DV_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "DV_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "DV_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "DV_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "DV_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "DV_J",
|
||||
"label": "J",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 0 │ 0 │ + │ % │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ ? │ < │ > │ │ ! │ │ │ │ │ │ │ = │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ # │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ ç │ | │ │ @ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(DV_LDAQ)": {
|
||||
"key": "DV_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(DV_RDAQ)": {
|
||||
"key": "DV_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(DV_SLSH)": {
|
||||
"key": "DV_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(DV_MINS)": {
|
||||
"key": "DV_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(DV_EGRV)": {
|
||||
"key": "DV_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(DV_BSLS)": {
|
||||
"key": "DV_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(DV_CIRC)": {
|
||||
"key": "DV_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(DV_LPRN)": {
|
||||
"key": "DV_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(DV_GRV)": {
|
||||
"key": "DV_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(DV_RPRN)": {
|
||||
"key": "DV_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(DV_UNDS)": {
|
||||
"key": "DV_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(DV_LBRC)": {
|
||||
"key": "DV_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(DV_RBRC)": {
|
||||
"key": "DV_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(DV_COLN)": {
|
||||
"key": "DV_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(DV_QUOT)": {
|
||||
"key": "DV_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(DV_EACU)": {
|
||||
"key": "DV_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(DV_DOT)": {
|
||||
"key": "DV_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(DV_DIAE)": {
|
||||
"key": "DV_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(DV_TILD)": {
|
||||
"key": "DV_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(DV_AGRV)": {
|
||||
"key": "DV_CCED",
|
||||
"label": "ç",
|
||||
}
|
||||
"S(DV_SCLN)": {
|
||||
"key": "DV_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(DV_COMM)": {
|
||||
"key": "DV_AT",
|
||||
"label": "@",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,302 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ $ │ & │ [ │ { │ } │ ( │ = │ * │ ) │ + │ ] │ ! │ # │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ ; │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ @ │ \ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ ' │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "DP_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "DP_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "DP_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "DP_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "DP_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "DP_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "DP_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "DP_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "DP_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "DP_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "DP_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "DP_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "DP_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "DP_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "DP_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "DP_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "DP_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "DP_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "DP_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "DP_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "DP_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "DP_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "DP_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "DP_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "DP_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"KC_BSLS": {
|
||||
"key": "DP_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "DP_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "DP_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "DP_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "DP_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "DP_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "DP_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "DP_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "DP_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "DP_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "DP_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "DP_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "DP_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "DP_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "DP_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "DP_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "DP_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "DP_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "DP_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "DP_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "DP_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "DP_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ % │ 7 │ 5 │ 3 │ 1 │ 9 │ 0 │ 2 │ 4 │ 6 │ 8 │ ` │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ : │ < │ > │ │ │ │ │ │ │ │ ? │ ^ │ | │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ " │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(DP_DLR)": {
|
||||
"key": "DP_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"S(DP_AMPR)": {
|
||||
"key": "DP_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(DP_LBRC)": {
|
||||
"key": "DP_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(DP_LCBR)": {
|
||||
"key": "DP_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(DP_RCBR)": {
|
||||
"key": "DP_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(DP_LPRN)": {
|
||||
"key": "DP_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(DP_EQL)": {
|
||||
"key": "DP_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(DP_ASTR)": {
|
||||
"key": "DP_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(DP_RPRN)": {
|
||||
"key": "DP_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(DP_PLUS)": {
|
||||
"key": "DP_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(DP_RBRC)": {
|
||||
"key": "DP_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(DP_EXLM)": {
|
||||
"key": "DP_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(DP_HASH)": {
|
||||
"key": "DP_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"S(DP_SCLN)": {
|
||||
"key": "DP_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(DP_COMM)": {
|
||||
"key": "DP_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(DP_DOT)": {
|
||||
"key": "DP_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(DP_SLSH)": {
|
||||
"key": "DP_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(DP_AT)": {
|
||||
"key": "DP_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(DP_BSLS)": {
|
||||
"key": "DP_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(DP_MINS)": {
|
||||
"key": "DP_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(DP_QUOT)": {
|
||||
"key": "DP_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,367 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ˇ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ü │ Õ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "EE_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "EE_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "EE_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "EE_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "EE_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "EE_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "EE_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "EE_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "EE_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "EE_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "EE_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "EE_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "EE_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "EE_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "EE_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "EE_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "EE_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "EE_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "EE_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "EE_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "EE_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "EE_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "EE_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "EE_UDIA",
|
||||
"label": "Ü",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "EE_OTIL",
|
||||
"label": "Õ",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "EE_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "EE_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "EE_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "EE_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "EE_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "EE_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "EE_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "EE_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "EE_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "EE_ODIA",
|
||||
"label": "Ö",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "EE_ADIA",
|
||||
"label": "Ä",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "EE_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "EE_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "EE_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "EE_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "EE_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "EE_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "EE_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "EE_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "EE_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "EE_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "EE_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "EE_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(EE_CARN)": {
|
||||
"key": "EE_TILD",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"S(EE_1)": {
|
||||
"key": "EE_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(EE_2)": {
|
||||
"key": "EE_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(EE_3)": {
|
||||
"key": "EE_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(EE_4)": {
|
||||
"key": "EE_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
"S(EE_5)": {
|
||||
"key": "EE_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(EE_6)": {
|
||||
"key": "EE_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(EE_7)": {
|
||||
"key": "EE_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(EE_8)": {
|
||||
"key": "EE_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(EE_9)": {
|
||||
"key": "EE_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(EE_0)": {
|
||||
"key": "EE_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(EE_PLUS)": {
|
||||
"key": "EE_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(EE_ACUT)": {
|
||||
"key": "EE_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"S(EE_QUOT)": {
|
||||
"key": "EE_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(EE_LABK)": {
|
||||
"key": "EE_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(EE_COMM)": {
|
||||
"key": "EE_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(EE_DOT)": {
|
||||
"key": "EE_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(EE_MINS)": {
|
||||
"key": "EE_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ § │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ š │ │ │ │ │ │ │ │ │ ^ │ ½ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ | │ ž │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(EE_2)": {
|
||||
"key": "EE_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(EE_3)": {
|
||||
"key": "EE_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"ALGR(EE_4)": {
|
||||
"key": "EE_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"ALGR(EE_5)": {
|
||||
"key": "EE_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(EE_7)": {
|
||||
"key": "EE_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(EE_8)": {
|
||||
"key": "EE_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(EE_9)": {
|
||||
"key": "EE_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(EE_0)": {
|
||||
"key": "EE_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(EE_PLUS)": {
|
||||
"key": "EE_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(EE_OTIL)": {
|
||||
"key": "EE_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"ALGR(EE_S)": {
|
||||
"key": "EE_SCAR",
|
||||
"label": "š",
|
||||
}
|
||||
"ALGR(EE_ADIA)": {
|
||||
"key": "EE_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"ALGR(EE_QUOT)": {
|
||||
"key": "EE_HALF",
|
||||
"label": "½",
|
||||
}
|
||||
"ALGR(EE_LABK)": {
|
||||
"key": "EE_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(EE_Z)": {
|
||||
"key": "EE_ZCAR",
|
||||
"label": "ž",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,596 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "EU_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "EU_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "EU_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "EU_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "EU_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "EU_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "EU_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "EU_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "EU_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "EU_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "EU_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "EU_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "EU_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "EU_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "EU_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "EU_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "EU_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "EU_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "EU_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "EU_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "EU_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "EU_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "EU_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "EU_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "EU_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_BSLS": {
|
||||
"key": "EU_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "EU_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "EU_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "EU_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "EU_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "EU_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "EU_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "EU_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "EU_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "EU_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "EU_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "EU_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "EU_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "EU_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "EU_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "EU_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "EU_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "EU_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "EU_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "EU_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "EU_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "EU_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ | │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ : │ " │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(EU_GRV)": {
|
||||
"key": "EU_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"S(EU_1)": {
|
||||
"key": "EU_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(EU_2)": {
|
||||
"key": "EU_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"S(EU_3)": {
|
||||
"key": "EU_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(EU_4)": {
|
||||
"key": "EU_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(EU_5)": {
|
||||
"key": "EU_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(EU_6)": {
|
||||
"key": "EU_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(EU_7)": {
|
||||
"key": "EU_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(EU_8)": {
|
||||
"key": "EU_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(EU_9)": {
|
||||
"key": "EU_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(EU_0)": {
|
||||
"key": "EU_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(EU_MINS)": {
|
||||
"key": "EU_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(EU_EQL)": {
|
||||
"key": "EU_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(EU_LBRC)": {
|
||||
"key": "EU_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(EU_RBRC)": {
|
||||
"key": "EU_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(EU_BSLS)": {
|
||||
"key": "EU_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(EU_SCLN)": {
|
||||
"key": "EU_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(EU_QUOT)": {
|
||||
"key": "EU_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(EU_COMM)": {
|
||||
"key": "EU_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(EU_DOT)": {
|
||||
"key": "EU_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(EU_SLSH)": {
|
||||
"key": "EU_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ` │ ¡ │ ª │ º │ £ │ € │ ^ │ ˚ │ „ │ “ │ ” │ – │ × │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ æ │ å │ ë │ ý │ þ │ ÿ │ ü │ ï │ ö │ œ │ « │ » │ ¬ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ ä │ ß │ ð │ è │ é │ ù │ ú │ ij │ ø │ ° │ ´ │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ à │ á │ ç │ ì │ í │ ñ │ μ │ ò │ ó │ ¿ │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(EU_GRV)": {
|
||||
"key": "EU_DGRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"ALGR(EU_1)": {
|
||||
"key": "EU_IEXL",
|
||||
"label": "¡",
|
||||
}
|
||||
"ALGR(EU_2)": {
|
||||
"key": "EU_FORD",
|
||||
"label": "ª",
|
||||
}
|
||||
"ALGR(EU_3)": {
|
||||
"key": "EU_MORD",
|
||||
"label": "º",
|
||||
}
|
||||
"ALGR(EU_4)": {
|
||||
"key": "EU_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"ALGR(EU_5)": {
|
||||
"key": "EU_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(EU_6)": {
|
||||
"key": "EU_DCIR",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"ALGR(EU_7)": {
|
||||
"key": "EU_RNGA",
|
||||
"label": "˚ (dead)",
|
||||
}
|
||||
"ALGR(EU_8)": {
|
||||
"key": "EU_DLQU",
|
||||
"label": "„",
|
||||
}
|
||||
"ALGR(EU_9)": {
|
||||
"key": "EU_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"ALGR(EU_0)": {
|
||||
"key": "EU_RDQU",
|
||||
"label": "”",
|
||||
}
|
||||
"ALGR(EU_MINS)": {
|
||||
"key": "EU_NDSH",
|
||||
"label": "–",
|
||||
}
|
||||
"ALGR(EU_EQL)": {
|
||||
"key": "EU_MUL",
|
||||
"label": "×",
|
||||
}
|
||||
"ALGR(EU_Q)": {
|
||||
"key": "EU_AE",
|
||||
"label": "æ",
|
||||
}
|
||||
"ALGR(EU_W)": {
|
||||
"key": "EU_ARNG",
|
||||
"label": "Å",
|
||||
}
|
||||
"ALGR(EU_E)": {
|
||||
"key": "EU_EDIA",
|
||||
"label": "Ë",
|
||||
}
|
||||
"ALGR(EU_R)": {
|
||||
"key": "EU_YACU",
|
||||
"label": "Ý",
|
||||
}
|
||||
"ALGR(EU_T)": {
|
||||
"key": "EU_THRN",
|
||||
"label": "Þ",
|
||||
}
|
||||
"ALGR(EU_Y)": {
|
||||
"key": "EU_YDIA",
|
||||
"label": "Ÿ",
|
||||
}
|
||||
"ALGR(EU_U)": {
|
||||
"key": "EU_UDIA",
|
||||
"label": "Ü",
|
||||
}
|
||||
"ALGR(EU_I)": {
|
||||
"key": "EU_IDIA",
|
||||
"label": "Ï",
|
||||
}
|
||||
"ALGR(EU_O)": {
|
||||
"key": "EU_ODIA",
|
||||
"label": "Ö",
|
||||
}
|
||||
"ALGR(EU_P)": {
|
||||
"key": "EU_OE",
|
||||
"label": "Œ",
|
||||
}
|
||||
"ALGR(EU_LBRC)": {
|
||||
"key": "EU_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"ALGR(EU_RBRC)": {
|
||||
"key": "EU_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"ALGR(EU_BSLS)": {
|
||||
"key": "EU_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"ALGR(EU_A)": {
|
||||
"key": "EU_ADIA",
|
||||
"label": "Ä",
|
||||
}
|
||||
"ALGR(EU_S)": {
|
||||
"key": "EU_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"ALGR(EU_D)": {
|
||||
"key": "EU_ETH",
|
||||
"label": "Ð",
|
||||
}
|
||||
"ALGR(EU_F)": {
|
||||
"key": "EU_EGRV",
|
||||
"label": "È",
|
||||
}
|
||||
"ALGR(EU_G)": {
|
||||
"key": "EU_EACU",
|
||||
"label": "É",
|
||||
}
|
||||
"ALGR(EU_H)": {
|
||||
"key": "EU_UGRV",
|
||||
"label": "Ù",
|
||||
}
|
||||
"ALGR(EU_J)": {
|
||||
"key": "EU_UACU",
|
||||
"label": "Ú",
|
||||
}
|
||||
"ALGR(EU_K)": {
|
||||
"key": "EU_IJ",
|
||||
"label": "IJ",
|
||||
}
|
||||
"ALGR(EU_L)": {
|
||||
"key": "EU_OSTR",
|
||||
"label": "Ø",
|
||||
}
|
||||
"ALGR(EU_SCLN)": {
|
||||
"key": "EU_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"ALGR(EU_QUOT)": {
|
||||
"key": "EU_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"ALGR(EU_Z)": {
|
||||
"key": "EU_AGRV",
|
||||
"label": "À",
|
||||
}
|
||||
"ALGR(EU_X)": {
|
||||
"key": "EU_AACU",
|
||||
"label": "Á",
|
||||
}
|
||||
"ALGR(EU_C)": {
|
||||
"key": "EU_CCED",
|
||||
"label": "Ç",
|
||||
}
|
||||
"ALGR(EU_V)": {
|
||||
"key": "EU_IGRV",
|
||||
"label": "Ì",
|
||||
}
|
||||
"ALGR(EU_B)": {
|
||||
"key": "EU_IACU",
|
||||
"label": "Í",
|
||||
}
|
||||
"ALGR(EU_N)": {
|
||||
"key": "EU_NTIL",
|
||||
"label": "Ñ",
|
||||
}
|
||||
"ALGR(EU_M)": {
|
||||
"key": "EU_DGRK",
|
||||
"label": "μ (dead Greek key)",
|
||||
}
|
||||
"ALGR(EU_COMM)": {
|
||||
"key": "EU_OGRV",
|
||||
"label": "Ò",
|
||||
}
|
||||
"ALGR(EU_DOT)": {
|
||||
"key": "EU_OACU",
|
||||
"label": "Ó",
|
||||
}
|
||||
"ALGR(EU_SLSH)": {
|
||||
"key": "EU_IQUE",
|
||||
"label": "¿",
|
||||
}
|
||||
/* Shift+AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ ¹ │ ² │ ³ │ ¥ │ ¢ │ ˇ │ ¯ │ ‚ │ ‘ │ ’ │ — │ ÷ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ‹ │ › │ ¦ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ │ § │ │ │ │ │ │ │ │ · │ ¨ │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ … │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(EU_TILD)": {
|
||||
"key": "EU_DTIL",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"S(ALGR(EU_1))": {
|
||||
"key": "EU_SUP1",
|
||||
"label": "¹",
|
||||
}
|
||||
"S(ALGR(EU_2))": {
|
||||
"key": "EU_SUP2",
|
||||
"label": "²",
|
||||
}
|
||||
"S(ALGR(EU_3))": {
|
||||
"key": "EU_SUP3",
|
||||
"label": "³",
|
||||
}
|
||||
"ALGR(EU_DLR)": {
|
||||
"key": "EU_YEN",
|
||||
"label": "¥",
|
||||
}
|
||||
"S(EU_EURO)": {
|
||||
"key": "EU_CENT",
|
||||
"label": "¢",
|
||||
}
|
||||
"S(EU_DCIR)": {
|
||||
"key": "EU_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"S(ALGR(EU_7))": {
|
||||
"key": "EU_MACR",
|
||||
"label": "¯ (dead)",
|
||||
}
|
||||
"S(EU_DLQU)": {
|
||||
"key": "EU_SLQU",
|
||||
"label": "‚",
|
||||
}
|
||||
"S(EU_LDQU)": {
|
||||
"key": "EU_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"S(EU_RDQU)": {
|
||||
"key": "EU_RSQU",
|
||||
"label": "’",
|
||||
}
|
||||
"S(EU_NDSH)": {
|
||||
"key": "EU_MDSH",
|
||||
"label": "—",
|
||||
}
|
||||
"S(EU_MUL)": {
|
||||
"key": "EU_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"S(EU_LDAQ)": {
|
||||
"key": "EU_LSAQ",
|
||||
"label": "‹",
|
||||
}
|
||||
"S(EU_RDAQ)": {
|
||||
"key": "EU_RSAQ",
|
||||
"label": "›",
|
||||
}
|
||||
"S(ALGR(EU_BSLS))": {
|
||||
"key": "EU_BRKP",
|
||||
"label": "¦",
|
||||
}
|
||||
"S(ALGR(EU_S))": {
|
||||
"key": "EU_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"S(ALGR(EU_SCLN))": {
|
||||
"key": "EU_MDDT",
|
||||
"label": "·",
|
||||
}
|
||||
"ALGR(EU_DQUO)": {
|
||||
"key": "EU_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"ALGR(EU_QUES)": {
|
||||
"key": "EU_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,616 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ ۱ │ ۲ │ ۳ │ ۴ │ ۵ │ ۶ │ ۷ │ ۸ │ ۹ │ ۰ │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ ض │ ص │ ث │ ق │ ف │ غ │ ع │ ه │ خ │ ح │ ج │ چ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ ش │ س │ ی │ ب │ ل │ ا │ ت │ ن │ م │ ک │ گ │ \ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ ظ │ ط │ ز │ ر │ ذ │ د │ پ │ و │ . │ / │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "FA_ZWJ",
|
||||
"label": "(zero-width joiner)",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "FA_1A",
|
||||
"label": "۱",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "FA_2A",
|
||||
"label": "۲",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "FA_3A",
|
||||
"label": "۳",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "FA_4A",
|
||||
"label": "۴",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "FA_5A",
|
||||
"label": "۵",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "FA_6A",
|
||||
"label": "۶",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "FA_7A",
|
||||
"label": "۷",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "FA_8A",
|
||||
"label": "۸",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "FA_9A",
|
||||
"label": "۹",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "FA_0A",
|
||||
"label": "۰",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "FA_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "FA_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "FA_ZAD",
|
||||
"label": "ض",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "FA_SAD",
|
||||
"label": "ص",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "FA_SE",
|
||||
"label": "ث",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "FA_QAF",
|
||||
"label": "ق",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "FA_FE",
|
||||
"label": "ف",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "FA_GHYN",
|
||||
"label": "غ",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "FA_EYN",
|
||||
"label": "ع",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "FA_HE",
|
||||
"label": "ه",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "FA_KHE",
|
||||
"label": "خ",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "FA_HEJ",
|
||||
"label": "ح",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "FA_JIM",
|
||||
"label": "ج",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "FA_CHE",
|
||||
"label": "چ",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "FA_SHIN",
|
||||
"label": "ش",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "FA_SIN",
|
||||
"label": "س",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "FA_YE",
|
||||
"label": "ی",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "FA_BE",
|
||||
"label": "ب",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "FA_LAM",
|
||||
"label": "ل",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "FA_ALEF",
|
||||
"label": "ا",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "FA_TE",
|
||||
"label": "ت",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "FA_NOON",
|
||||
"label": "ن",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "FA_MIM",
|
||||
"label": "م",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "FA_KAF",
|
||||
"label": "ک",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "FA_GAF",
|
||||
"label": "گ",
|
||||
}
|
||||
"KC_BSLS": {
|
||||
"key": "FA_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_LT": {
|
||||
"key": "FA_LT",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "FA_ZA",
|
||||
"label": "ظ",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "FA_TA",
|
||||
"label": "ط",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "FA_ZE",
|
||||
"label": "ز",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "FA_RE",
|
||||
"label": "ر",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "FA_ZAL",
|
||||
"label": "ذ",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "FA_DAL",
|
||||
"label": "د",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "FA_PE",
|
||||
"label": "پ",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "FA_WAW",
|
||||
"label": "و",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "FA_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "FA_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_SPC": {
|
||||
"key": "FA_SPC",
|
||||
"label": " ",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ÷ │ ! │ ٬ │ ٫ │ ﷼ │ ٪ │ × │ ، │ * │ ) │ ( │ ـ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ ْ │ ٌ │ ٍ │ ً │ ُ │ ِ │ َ │ ّ │ ] │ [ │ } │ { │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ ؤ │ ئ │ ي │ إ │ أ │ آ │ ة │ » │ « │ : │ ؛ │ | │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ ك │ ٓ │ ژ │ ٰ │ │ ٔ │ ء │ │ │ ؟ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(FA_ZWJ)": {
|
||||
"key": "FA_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"S(FA_1A)": {
|
||||
"key": "FA_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(FA_2A)": {
|
||||
"key": "FA_THS",
|
||||
"label": "٬",
|
||||
}
|
||||
"S(FA_3A)": {
|
||||
"key": "FA_DECS",
|
||||
"label": "٫",
|
||||
}
|
||||
"S(FA_4A)": {
|
||||
"key": "FA_RIAL",
|
||||
"label": "﷼",
|
||||
}
|
||||
"S(FA_5A)": {
|
||||
"key": "FA_PRCA",
|
||||
"label": "٪",
|
||||
}
|
||||
"S(FA_6A)": {
|
||||
"key": "FA_MUL",
|
||||
"label": "×",
|
||||
}
|
||||
"S(FA_7A)": {
|
||||
"key": "FA_COMA",
|
||||
"label": "،",
|
||||
}
|
||||
"S(FA_8A)": {
|
||||
"key": "FA_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(FA_9A)": {
|
||||
"key": "FA_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(FA_0A)": {
|
||||
"key": "FA_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(FA_MINS)": {
|
||||
"key": "FA_TATW",
|
||||
"label": "ـ",
|
||||
}
|
||||
"S(FA_EQL)": {
|
||||
"key": "FA_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(FA_ZAD)": {
|
||||
"key": "FA_SUK",
|
||||
"label": "ْ",
|
||||
}
|
||||
"S(FA_SAD)": {
|
||||
"key": "FA_DMTN",
|
||||
"label": "ٌ",
|
||||
}
|
||||
"S(FA_SE)": {
|
||||
"key": "FA_KSTN",
|
||||
"label": "ٍ",
|
||||
}
|
||||
"S(FA_QAF)": {
|
||||
"key": "FA_FTHN",
|
||||
"label": "ً",
|
||||
}
|
||||
"S(FA_FE)": {
|
||||
"key": "FA_DMM",
|
||||
"label": "ُ",
|
||||
}
|
||||
"S(FA_GHYN)": {
|
||||
"key": "FA_KAS",
|
||||
"label": "ِ",
|
||||
}
|
||||
"S(FA_EYN)": {
|
||||
"key": "FA_FAT",
|
||||
"label": "َ",
|
||||
}
|
||||
"S(FA_HE)": {
|
||||
"key": "FA_TSDD",
|
||||
"label": "",
|
||||
}
|
||||
"S(FA_KHE)": {
|
||||
"key": "FA_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"S(FA_HEJ)": {
|
||||
"key": "FA_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"S(FA_JIM)": {
|
||||
"key": "FA_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(FA_CHE)": {
|
||||
"key": "FA_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(FA_SHIN)": {
|
||||
"key": "FA_HMZV",
|
||||
"label": "ؤ",
|
||||
}
|
||||
"S(FA_SIN)": {
|
||||
"key": "FA_HMZY",
|
||||
"label": "ئ",
|
||||
}
|
||||
"S(FA_YE)": {
|
||||
"key": "FA_YEA",
|
||||
"label": "ي",
|
||||
}
|
||||
"S(FA_BE)": {
|
||||
"key": "FA_HMZU",
|
||||
"label": "إ",
|
||||
}
|
||||
"S(FA_LAM)": {
|
||||
"key": "FA_HMZO",
|
||||
"label": "أ",
|
||||
}
|
||||
"S(FA_ALEF)": {
|
||||
"key": "FA_MALF",
|
||||
"label": "آ",
|
||||
}
|
||||
"S(FA_TE)": {
|
||||
"key": "FA_TEHM",
|
||||
"label": "ة",
|
||||
}
|
||||
"S(FA_NOON)": {
|
||||
"key": "FA_RQOT",
|
||||
"label": "»",
|
||||
}
|
||||
"S(FA_MIM)": {
|
||||
"key": "FA_LQOT",
|
||||
"label": "«",
|
||||
}
|
||||
"S(FA_KAF)": {
|
||||
"key": "FA_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(FA_GAF)": {
|
||||
"key": "FA_SCLA",
|
||||
"label": "؛",
|
||||
}
|
||||
"S(FA_LT)": {
|
||||
"key": "FA_GT",
|
||||
"label": ">",
|
||||
}
|
||||
"S(FA_ZA)": {
|
||||
"key": "FA_KAFA",
|
||||
"label": "ك",
|
||||
}
|
||||
"S(FA_TA)": {
|
||||
"key": "FA_MADO",
|
||||
"label": "ٓ",
|
||||
}
|
||||
"S(FA_ZE)": {
|
||||
"key": "FA_JEH",
|
||||
"label": "ژ",
|
||||
}
|
||||
"S(FA_RE)": {
|
||||
"key": "FA_SUPA",
|
||||
"label": "ٰ",
|
||||
}
|
||||
"S(FA_ZAL)": {
|
||||
"key": "FA_ZWNJ",
|
||||
"label": "(zero-width non-joiner)",
|
||||
}
|
||||
"S(FA_DAL)": {
|
||||
"key": "FA_HMZA",
|
||||
"label": "ٔ",
|
||||
}
|
||||
"S(FA_PE)": {
|
||||
"key": "FA_HMZ",
|
||||
"label": "ء",
|
||||
}
|
||||
"S(FA_SLSH)": {
|
||||
"key": "FA_QSA",
|
||||
"label": "؟",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ ` │ @ │ # │ $ │ % │ ^ │ & │ • │ │ │ _ │ − │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ ° │ │ € │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ ى │ │ │ ٱ │ │ ﴾ │ ﴿ │ ; │ " │ ‐ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ | │ │ │ │ ٖ │ │ ٕ │ … │ , │ ' │ ? │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(FA_ZWJ)": {
|
||||
"key": "FA_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"ALGR(FA_1A)": {
|
||||
"key": "FA_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"ALGR(FA_2A)": {
|
||||
"key": "FA_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(FA_3A)": {
|
||||
"key": "FA_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"ALGR(FA_4A)": {
|
||||
"key": "FA_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"ALGR(FA_5A)": {
|
||||
"key": "FA_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"ALGR(FA_6A)": {
|
||||
"key": "FA_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"ALGR(FA_7A)": {
|
||||
"key": "FA_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"ALGR(FA_8A)": {
|
||||
"key": "FA_BULT",
|
||||
"label": "•",
|
||||
}
|
||||
"ALGR(FA_9A)": {
|
||||
"key": "FA_LRM",
|
||||
"label": "(left-to-right mark)",
|
||||
}
|
||||
"ALGR(FA_0A)": {
|
||||
"key": "FA_RLM",
|
||||
"label": "(right-to-left mark)",
|
||||
}
|
||||
"ALGR(FA_MINS)": {
|
||||
"key": "FA_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"ALGR(FA_EQL)": {
|
||||
"key": "FA_DMNS",
|
||||
"label": "− (dead)",
|
||||
}
|
||||
"ALGR(FA_ZAD)": {
|
||||
"key": "FA_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"ALGR(FA_SE)": {
|
||||
"key": "FA_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(FA_HE)": {
|
||||
"key": "FA_LRO",
|
||||
"label": "(left-to-right override)",
|
||||
}
|
||||
"ALGR(FA_KHE)": {
|
||||
"key": "FA_RLO",
|
||||
"label": "(right-to-left override)",
|
||||
}
|
||||
"ALGR(FA_HEJ)": {
|
||||
"key": "FA_PDF",
|
||||
"label": "(pop directional formatting)",
|
||||
}
|
||||
"ALGR(FA_JIM)": {
|
||||
"key": "FA_LRE",
|
||||
"label": "(left-to-right embedding)",
|
||||
}
|
||||
"ALGR(FA_CHE)": {
|
||||
"key": "FA_RLE",
|
||||
"label": "(right-to-left embedding)",
|
||||
}
|
||||
"ALGR(FA_YE)": {
|
||||
"key": "FA_ALFM",
|
||||
"label": "ى",
|
||||
}
|
||||
"ALGR(FA_ALEF)": {
|
||||
"key": "FA_ALFW",
|
||||
"label": "ٱ",
|
||||
}
|
||||
"ALGR(FA_NOON)": {
|
||||
"key": "FA_LORP",
|
||||
"label": "﴾",
|
||||
}
|
||||
"ALGR(FA_MIM)": {
|
||||
"key": "FA_RORP",
|
||||
"label": "﴿",
|
||||
}
|
||||
"ALGR(FA_KAF)": {
|
||||
"key": "FA_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"ALGR(FA_GAF)": {
|
||||
"key": "FA_DQT",
|
||||
"label": "\"",
|
||||
}
|
||||
"ALGR(FA_BSLS)": {
|
||||
"key": "FA_MINA",
|
||||
"label": "-",
|
||||
}
|
||||
"ALGR(FA_ZA)": {
|
||||
"key": "FA_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(FA_RE)": {
|
||||
"key": "FA_SUBA",
|
||||
"label": "ٖ",
|
||||
}
|
||||
"ALGR(FA_DAL)": {
|
||||
"key": "FA_HMZB",
|
||||
"label": "ء",
|
||||
}
|
||||
"ALGR(FA_PE)": {
|
||||
"key": "FA_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
"ALGR(FA_WAW)": {
|
||||
"key": "FA_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"ALGR(FA_DOT)": {
|
||||
"key": "FA_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"ALGR(FA_SLSH)": {
|
||||
"key": "FA_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
/* Shift+AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ ¦ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(ALGR(FA_1A))": {
|
||||
"key": "FA_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(ALGR(FA_2A))": {
|
||||
"key": "FA_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(ALGR(FA_3A))": {
|
||||
"key": "FA_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(ALGR(FA_4A))": {
|
||||
"key": "FA_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(ALGR(FA_5A))": {
|
||||
"key": "FA_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(ALGR(FA_6A))": {
|
||||
"key": "FA_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(ALGR(FA_7A))": {
|
||||
"key": "FA_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(ALGR(FA_8A))": {
|
||||
"key": "FA_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(ALGR(FA_9A))": {
|
||||
"key": "FA_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(ALGR(FA_0A))": {
|
||||
"key": "FA_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(ALGR(FA_LT))": {
|
||||
"key": "FA_BRKP",
|
||||
"label": "¦",
|
||||
}
|
||||
"S(ALGR(FA_SPC))": {
|
||||
"key": "FA_NNBS",
|
||||
"label": "(narrow non-breaking space)",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,359 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ ´ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Å │ ¨ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "FI_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "FI_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "FI_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "FI_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "FI_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "FI_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "FI_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "FI_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "FI_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "FI_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "FI_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "FI_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "FI_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "FI_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "FI_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "FI_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "FI_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "FI_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "FI_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "FI_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "FI_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "FI_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "FI_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "FI_ARNG",
|
||||
"label": "Å",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "FI_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "FI_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "FI_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "FI_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "FI_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "FI_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "FI_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "FI_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "FI_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "FI_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "FI_ODIA",
|
||||
"label": "Ö",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "FI_ADIA",
|
||||
"label": "Ä",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "FI_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "FI_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "FI_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "FI_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "FI_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "FI_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "FI_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "FI_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "FI_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "FI_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "FI_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "FI_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ½ │ ! │ " │ # │ ¤ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ^ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(FI_SECT)": {
|
||||
"key": "FI_HALF",
|
||||
"label": "½",
|
||||
}
|
||||
"S(FI_1)": {
|
||||
"key": "FI_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(FI_2)": {
|
||||
"key": "FI_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(FI_3)": {
|
||||
"key": "FI_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(FI_4)": {
|
||||
"key": "FI_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
"S(FI_5)": {
|
||||
"key": "FI_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(FI_6)": {
|
||||
"key": "FI_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(FI_7)": {
|
||||
"key": "FI_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(FI_8)": {
|
||||
"key": "FI_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(FI_9)": {
|
||||
"key": "FI_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(FI_0)": {
|
||||
"key": "FI_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(FI_PLUS)": {
|
||||
"key": "FI_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(FI_ACUT)": {
|
||||
"key": "FI_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"S(FI_DIAE)": {
|
||||
"key": "FI_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"S(FI_QUOT)": {
|
||||
"key": "FI_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(FI_LABK)": {
|
||||
"key": "FI_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(FI_COMM)": {
|
||||
"key": "FI_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(FI_DOT)": {
|
||||
"key": "FI_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(FI_MINS)": {
|
||||
"key": "FI_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ @ │ £ │ $ │ € │ │ { │ [ │ ] │ } │ \ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ~ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(FI_2)": {
|
||||
"key": "FI_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(FI_3)": {
|
||||
"key": "FI_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"ALGR(FI_4)": {
|
||||
"key": "FI_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"ALGR(FI_5)": {
|
||||
"key": "FI_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(FI_7)": {
|
||||
"key": "FI_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(FI_8)": {
|
||||
"key": "FI_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(FI_9)": {
|
||||
"key": "FI_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(FI_0)": {
|
||||
"key": "FI_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(FI_PLUS)": {
|
||||
"key": "FI_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(FI_DIAE)": {
|
||||
"key": "FI_TILD",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"ALGR(FI_LABK)": {
|
||||
"key": "FI_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(FI_M)": {
|
||||
"key": "FI_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,367 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ² │ & │ é │ " │ ' │ ( │ - │ è │ _ │ ç │ à │ ) │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ * │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ ! │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "FR_SUP2",
|
||||
"label": "²",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "FR_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "FR_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "FR_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "FR_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "FR_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "FR_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "FR_EGRV",
|
||||
"label": "è",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "FR_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "FR_CCED",
|
||||
"label": "ç",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "FR_AGRV",
|
||||
"label": "à",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "FR_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "FR_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "FR_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "FR_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "FR_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "FR_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "FR_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "FR_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "FR_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "FR_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "FR_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "FR_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "FR_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "FR_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "FR_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "FR_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "FR_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "FR_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "FR_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "FR_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "FR_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "FR_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "FR_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "FR_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "FR_UGRV",
|
||||
"label": "ù",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "FR_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "FR_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "FR_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "FR_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "FR_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "FR_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "FR_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "FR_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "FR_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "FR_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "FR_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "FR_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ £ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ % │ µ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ ? │ . │ / │ § │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(FR_AMPR)": {
|
||||
"key": "FR_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(FR_EACU)": {
|
||||
"key": "FR_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(FR_DQUO)": {
|
||||
"key": "FR_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(FR_QUOT)": {
|
||||
"key": "FR_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(FR_LPRN)": {
|
||||
"key": "FR_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(FR_MINS)": {
|
||||
"key": "FR_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(FR_EGRV)": {
|
||||
"key": "FR_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(FR_UNDS)": {
|
||||
"key": "FR_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(FR_CCED)": {
|
||||
"key": "FR_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(FR_AGRV)": {
|
||||
"key": "FR_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(FR_RPRN)": {
|
||||
"key": "FR_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"S(FR_EQL)": {
|
||||
"key": "FR_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(FR_CIRC)": {
|
||||
"key": "FR_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(FR_DLR)": {
|
||||
"key": "FR_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(FR_UGRV)": {
|
||||
"key": "FR_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(FR_ASTR)": {
|
||||
"key": "FR_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
"S(FR_LABK)": {
|
||||
"key": "FR_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(FR_COMM)": {
|
||||
"key": "FR_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(FR_SCLN)": {
|
||||
"key": "FR_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"S(FR_COLN)": {
|
||||
"key": "FR_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(FR_EXLM)": {
|
||||
"key": "FR_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ ~ │ # │ { │ [ │ | │ ` │ \ │ │ @ │ ] │ } │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ € │ │ │ │ │ │ │ │ │ ¤ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(FR_EACU)": {
|
||||
"key": "FR_TILD",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"ALGR(FR_DQUO)": {
|
||||
"key": "FR_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"ALGR(FR_QUOT)": {
|
||||
"key": "FR_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(FR_LPRN)": {
|
||||
"key": "FR_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(FR_MINS)": {
|
||||
"key": "FR_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(FR_EGRV)": {
|
||||
"key": "FR_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"ALGR(FR_UNDS)": {
|
||||
"key": "FR_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(FR_AGRV)": {
|
||||
"key": "FR_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(FR_RPRN)": {
|
||||
"key": "FR_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(FR_EQL)": {
|
||||
"key": "FR_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(KC_E)": {
|
||||
"key": "FR_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(FR_DLR)": {
|
||||
"key": "FR_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,623 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/* French AZERTY - AFNOR NF Z71-300
|
||||
*
|
||||
* A standard for the French keyboard
|
||||
*
|
||||
* The project was launched at the end of 2015 on the proposal of the General
|
||||
* Delegation for the French language and the languages of France (Ministry
|
||||
* of Culture), starting from the observation that the current "azerty"
|
||||
* keyboards constrain the writing of French, languages regional and European
|
||||
* languages with Latin alphabet.
|
||||
*
|
||||
* For the first time, a standard (NF Z71-300) defines the placement of
|
||||
* characters on the French keyboard. It offers two layouts, one of which
|
||||
* closely follows the QWERTY keyboard used by most people who write in French.
|
||||
*
|
||||
* However, it is in many ways superior to the old keyboard:
|
||||
*
|
||||
* - it contains all the characters required to enter text in French (for example É, œ and ")
|
||||
* - it is designed to be more ergonomic and allow faster typing
|
||||
* - it includes almost 60 additional characters for entering foreign languages, technical content, etc
|
||||
* - however, the characters remain easy to locate thanks to intuitive groupings
|
||||
*
|
||||
* Source: https://norme-azerty.fr
|
||||
*/
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ @ │ à │ é │ è │ ê │ ( │ ) │ ‘ │ ’ │ « │ » │ ' │ ^ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ - │ + │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ / │ * │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ W │ X │ C │ V │ B │ N │ . │ , │ : │ ; │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "FR_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "FR_AGRV",
|
||||
"label": "à",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "FR_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "FR_EGRV",
|
||||
"label": "è",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "FR_ECIR",
|
||||
"label": "ê",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "FR_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "FR_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "FR_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "FR_RSQU",
|
||||
"label": "’",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "FR_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "FR_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "FR_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "FR_DCIR",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "FR_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "FR_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "FR_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "FR_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "FR_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "FR_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "FR_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "FR_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "FR_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "FR_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "FR_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "FR_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "FR_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "FR_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "FR_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "FR_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "FR_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "FR_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "FR_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "FR_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "FR_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "FR_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "FR_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "FR_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "FR_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "FR_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "FR_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "FR_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "FR_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "FR_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "FR_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "FR_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "FR_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "FR_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "FR_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ " │ ¨ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ \ │ ½ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ ? │ ! │ … │ = │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(FR_AT)": {
|
||||
"key": "FR_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(FR_AGRV)": {
|
||||
"key": "FR_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(FR_EACU)": {
|
||||
"key": "FR_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(FR_EGRV)": {
|
||||
"key": "FR_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(FR_ECIR)": {
|
||||
"key": "FR_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(FR_LPRN)": {
|
||||
"key": "FR_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(FR_RPRN)": {
|
||||
"key": "FR_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(FR_LSQU)": {
|
||||
"key": "FR_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(FR_RSQU)": {
|
||||
"key": "FR_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(FR_LDAQ)": {
|
||||
"key": "FR_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(FR_RDAQ)": {
|
||||
"key": "FR_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(FR_QUOT)": {
|
||||
"key": "FR_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(FR_DCIR)": {
|
||||
"key": "FR_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(FR_MINS)": {
|
||||
"key": "FR_NDSH",
|
||||
"label": "–",
|
||||
}
|
||||
"S(FR_PLUS)": {
|
||||
"key": "FR_PLMN",
|
||||
"label": "±",
|
||||
}
|
||||
"S(FR_SLSH)": {
|
||||
"key": "FR_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"S(FR_ASTR)": {
|
||||
"key": "FR_HALF",
|
||||
"label": "½",
|
||||
}
|
||||
"S(FR_LABK)": {
|
||||
"key": "FR_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(FR_DOT)": {
|
||||
"key": "FR_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(FR_COMM)": {
|
||||
"key": "FR_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(FR_COLN)": {
|
||||
"key": "FR_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
"S(FR_SCLN)": {
|
||||
"key": "FR_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ˘ │ § │ ´ │ ` │ & │ [ │ ] │ ¯ │ _ │ “ │ ” │ ° │ ˇ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ æ │ £ │ € │ ® │ { │ } │ ù │ ˙ │ œ │ % │ − │ † │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ θ │ ß │ $ │ ¤ │ µ │ Eu│ │ ∕ │ | │ ∞ │ ÷ │ × │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ ≤ │ ʒ │ © │ ç │ ¸ │ − │ ~ │ ¿ │ ¡ │ · │ ≃ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(FR_AT)": {
|
||||
"key": "FR_BREV",
|
||||
"label": "˘ (dead)",
|
||||
}
|
||||
"ALGR(FR_AGRV)": {
|
||||
"key": "FR_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"ALGR(FR_EACU)": {
|
||||
"key": "FR_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"ALGR(FR_EGRV)": {
|
||||
"key": "FR_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"ALGR(FR_ECIR)": {
|
||||
"key": "FR_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"ALGR(FR_LPRN)": {
|
||||
"key": "FR_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(FR_RPRN)": {
|
||||
"key": "FR_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(FR_LSQU)": {
|
||||
"key": "FR_MACR",
|
||||
"label": "¯ (dead)",
|
||||
}
|
||||
"ALGR(FR_RSQU)": {
|
||||
"key": "FR_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"ALGR(FR_LDAQ)": {
|
||||
"key": "FR_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"ALGR(FR_RDAQ)": {
|
||||
"key": "FR_RDQU",
|
||||
"label": "”",
|
||||
}
|
||||
"ALGR(FR_QUOT)": {
|
||||
"key": "FR_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"ALGR(FR_DCIR)": {
|
||||
"key": "FR_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"ALGR(FR_A)": {
|
||||
"key": "FR_AE",
|
||||
"label": "æ",
|
||||
}
|
||||
"ALGR(FR_Z)": {
|
||||
"key": "FR_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"ALGR(FR_E)": {
|
||||
"key": "FR_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(FR_R)": {
|
||||
"key": "FR_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"ALGR(FR_T)": {
|
||||
"key": "FR_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(FR_Y)": {
|
||||
"key": "FR_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(FR_U)": {
|
||||
"key": "FR_UGRV",
|
||||
"label": "ù",
|
||||
}
|
||||
"ALGR(FR_I)": {
|
||||
"key": "FR_DOTA",
|
||||
"label": "˙ (dead)",
|
||||
}
|
||||
"ALGR(FR_O)": {
|
||||
"key": "FR_OE",
|
||||
"label": "œ",
|
||||
}
|
||||
"ALGR(FR_P)": {
|
||||
"key": "FR_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"ALGR(FR_MINS)": {
|
||||
"key": "FR_MMNS",
|
||||
"label": "−",
|
||||
}
|
||||
"ALGR(FR_PLUS)": {
|
||||
"key": "FR_DAGG",
|
||||
"label": "†",
|
||||
}
|
||||
"ALGR(FR_Q)": {
|
||||
"key": "FR_THET",
|
||||
"label": "θ",
|
||||
}
|
||||
"ALGR(FR_S)": {
|
||||
"key": "FR_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"ALGR(FR_D)": {
|
||||
"key": "FR_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"ALGR(FR_F)": {
|
||||
"key": "FR_CURR",
|
||||
"label": "¤ (dead monetary key)",
|
||||
}
|
||||
"ALGR(FR_G)": {
|
||||
"key": "FR_DGRK",
|
||||
"label": "µ (dead Greek key)",
|
||||
}
|
||||
"ALGR(FR_H)": {
|
||||
"key": "FR_EU",
|
||||
"label": "Eu (dead European symbol key)",
|
||||
}
|
||||
"ALGR(FR_K)": {
|
||||
"key": "FR_DSLS",
|
||||
"label": "∕ (dead)",
|
||||
}
|
||||
"ALGR(FR_L)": {
|
||||
"key": "FR_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(FR_M)": {
|
||||
"key": "FR_INFN",
|
||||
"label": "∞",
|
||||
}
|
||||
"ALGR(FR_SLSH)": {
|
||||
"key": "FR_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"ALGR(FR_ASTR)": {
|
||||
"key": "FR_MUL",
|
||||
"label": "×",
|
||||
}
|
||||
"ALGR(FR_LABK)": {
|
||||
"key": "FR_LEQL",
|
||||
"label": "≤",
|
||||
}
|
||||
"ALGR(FR_W)": {
|
||||
"key": "FR_EZH",
|
||||
"label": "ʒ",
|
||||
}
|
||||
"ALGR(FR_X)": {
|
||||
"key": "FR_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
"ALGR(FR_C)": {
|
||||
"key": "FR_CCED",
|
||||
"label": "ç",
|
||||
}
|
||||
"ALGR(FR_V)": {
|
||||
"key": "FR_CEDL",
|
||||
"label": "¸ (dead)",
|
||||
}
|
||||
"ALGR(FR_B)": {
|
||||
"key": "FR_DMNS",
|
||||
"label": "− (dead)",
|
||||
}
|
||||
"ALGR(FR_N)": {
|
||||
"key": "FR_DTIL",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"ALGR(FR_DOT)": {
|
||||
"key": "FR_IQUE",
|
||||
"label": "¿",
|
||||
}
|
||||
"ALGR(FR_COMM)": {
|
||||
"key": "FR_IEXL",
|
||||
"label": "¡",
|
||||
}
|
||||
"ALGR(FR_COLN)": {
|
||||
"key": "FR_MDDT",
|
||||
"label": "·",
|
||||
}
|
||||
"ALGR(FR_SCLN)": {
|
||||
"key": "FR_AEQL",
|
||||
"label": "≃",
|
||||
}
|
||||
/* Shift+AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ̑ │ │ │ │ │ ˝ │ ̏ │ │ — │ ‹ │ › │ ˚ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ ™ │ │ │ ̣ │ │ ‰ │ ‑ │ ‡ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ ˍ │ │ │ │ │ √ │ ¼ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ ≥ │ │ │ │ ˛ │ │ │ │ ̦ │ │ ≠ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(ALGR(FR_AT))": {
|
||||
"key": "FR_IBRV",
|
||||
"label": "̑ (dead)",
|
||||
}
|
||||
"S(ALGR(FR_LPRN))": {
|
||||
"key": "FR_DACU",
|
||||
"label": "˝ (dead)",
|
||||
}
|
||||
"S(ALGR(FR_RPRN))": {
|
||||
"key": "FR_DGRV",
|
||||
"label": "̏ (dead)",
|
||||
}
|
||||
"S(ALGR(FR_RSQU))": {
|
||||
"key": "FR_MDSH",
|
||||
"label": "—",
|
||||
}
|
||||
"S(ALGR(FR_LDAQ))": {
|
||||
"key": "FR_LSAQ",
|
||||
"label": "‹",
|
||||
}
|
||||
"S(ALGR(FR_RDAQ))": {
|
||||
"key": "FR_RSAQ",
|
||||
"label": "›",
|
||||
}
|
||||
"S(ALGR(FR_QUOT))": {
|
||||
"key": "FR_RNGA",
|
||||
"label": "˚ (dead)",
|
||||
}
|
||||
"S(ALGR(FR_T))": {
|
||||
"key": "FR_TM",
|
||||
"label": "™",
|
||||
}
|
||||
"S(ALGR(FR_I))": {
|
||||
"key": "FR_DOTB",
|
||||
"label": "̣ (dead)",
|
||||
}
|
||||
"S(ALGR(FR_P))": {
|
||||
"key": "FR_PERM",
|
||||
"label": "‰",
|
||||
}
|
||||
"S(ALGR(FR_MINS))": {
|
||||
"key": "FR_NBHY",
|
||||
"label": "‑ (non-breaking hyphen)",
|
||||
}
|
||||
"S(ALGR(FR_PLUS))": {
|
||||
"key": "FR_DDAG",
|
||||
"label": "‡",
|
||||
}
|
||||
"S(ALGR(FR_H))": {
|
||||
"key": "FR_MACB",
|
||||
"label": "ˍ (dead)",
|
||||
}
|
||||
"S(ALGR(FR_SLSH))": {
|
||||
"key": "FR_SQRT",
|
||||
"label": "√",
|
||||
}
|
||||
"S(ALGR(FR_ASTR))": {
|
||||
"key": "FR_QRTR",
|
||||
"label": "¼",
|
||||
}
|
||||
"S(ALGR(FR_LABK))": {
|
||||
"key": "FR_GEQL",
|
||||
"label": "≥",
|
||||
}
|
||||
"S(ALGR(FR_V))": {
|
||||
"key": "FR_OGON",
|
||||
"label": "˛ (dead)",
|
||||
}
|
||||
"S(ALGR(FR_COMM))": {
|
||||
"key": "FR_DCMM",
|
||||
"label": "̦ (dead)",
|
||||
}
|
||||
"S(ALGR(FR_SCLN))": {
|
||||
"key": "FR_NEQL",
|
||||
"label": "≠",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,676 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ @ │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ ` │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "FR_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "FR_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "FR_LEAC",
|
||||
"label": "é",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "FR_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "FR_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "FR_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "FR_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "FR_LEGR",
|
||||
"label": "è",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "FR_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "FR_LCCE",
|
||||
"label": "ç",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "FR_LAGR",
|
||||
"label": "à",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "FR_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "FR_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "FR_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "FR_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "FR_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "FR_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "FR_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "FR_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "FR_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "FR_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "FR_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "FR_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "FR_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "FR_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "FR_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "FR_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "FR_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "FR_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "FR_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "FR_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "FR_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "FR_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "FR_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "FR_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "FR_LUGR",
|
||||
"label": "ù",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "FR_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "FR_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "FR_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "FR_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "FR_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "FR_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "FR_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "FR_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "FR_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "FR_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "FR_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "FR_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(FR_AT)": {
|
||||
"key": "FR_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(FR_AMPR)": {
|
||||
"key": "FR_1",
|
||||
"label": "1",
|
||||
}
|
||||
"S(FR_LEAC)": {
|
||||
"key": "FR_2",
|
||||
"label": "2",
|
||||
}
|
||||
"S(FR_DQUO)": {
|
||||
"key": "FR_3",
|
||||
"label": "3",
|
||||
}
|
||||
"S(FR_QUOT)": {
|
||||
"key": "FR_4",
|
||||
"label": "4",
|
||||
}
|
||||
"S(FR_LPRN)": {
|
||||
"key": "FR_5",
|
||||
"label": "5",
|
||||
}
|
||||
"S(FR_SECT)": {
|
||||
"key": "FR_6",
|
||||
"label": "6",
|
||||
}
|
||||
"S(FR_LEGR)": {
|
||||
"key": "FR_7",
|
||||
"label": "7",
|
||||
}
|
||||
"S(FR_EXLM)": {
|
||||
"key": "FR_8",
|
||||
"label": "8",
|
||||
}
|
||||
"S(FR_LCCE)": {
|
||||
"key": "FR_9",
|
||||
"label": "9",
|
||||
}
|
||||
"S(FR_LAGR)": {
|
||||
"key": "FR_0",
|
||||
"label": "0",
|
||||
}
|
||||
"S(FR_RPRN)": {
|
||||
"key": "FR_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"S(FR_MINS)": {
|
||||
"key": "FR_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(FR_CIRC)": {
|
||||
"key": "FR_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(FR_DLR)": {
|
||||
"key": "FR_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(FR_LUGR)": {
|
||||
"key": "FR_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(FR_GRV)": {
|
||||
"key": "FR_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(FR_LABK)": {
|
||||
"key": "FR_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(FR_COMM)": {
|
||||
"key": "FR_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(FR_SCLN)": {
|
||||
"key": "FR_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"S(FR_COLN)": {
|
||||
"key": "FR_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(FR_EQL)": {
|
||||
"key": "FR_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
/* Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ • │ │ ë │ “ │ ‘ │ { │ ¶ │ « │ ¡ │ Ç │ Ø │ } │ — │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ Æ │  │ Ê │ ® │ † │ Ú │ º │ î │ Œ │ π │ Ô │ € │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ ‡ │ Ò │ ∂ │ ƒ │ fi │ Ì │ Ï │ È │ ¬ │ µ │ Ù │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ ≤ │ ‹ │ ≈ │ © │ ◊ │ ß │ ~ │ ∞ │ … │ ÷ │ ≠ │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"A(FR_AT)": {
|
||||
"key": "FR_BULT",
|
||||
"label": "•",
|
||||
}
|
||||
"A(FR_AMPR)": {
|
||||
"key": "FR_APPL",
|
||||
"label": " (Apple logo)",
|
||||
}
|
||||
"A(FR_LEAC)": {
|
||||
"key": "FR_LEDI",
|
||||
"label": "ë",
|
||||
}
|
||||
"A(FR_DQUO)": {
|
||||
"key": "FR_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"A(FR_QUOT)": {
|
||||
"key": "FR_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"A(FR_LPRN)": {
|
||||
"key": "FR_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"A(FR_SECT)": {
|
||||
"key": "FR_PILC",
|
||||
"label": "¶",
|
||||
}
|
||||
"A(FR_LEGR)": {
|
||||
"key": "FR_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"A(FR_EXLM)": {
|
||||
"key": "FR_IEXL",
|
||||
"label": "¡",
|
||||
}
|
||||
"A(FR_LCCE)": {
|
||||
"key": "FR_CCCE",
|
||||
"label": "Ç",
|
||||
}
|
||||
"A(FR_LAGR)": {
|
||||
"key": "FR_OSTR",
|
||||
"label": "Ø",
|
||||
}
|
||||
"A(FR_RPRN)": {
|
||||
"key": "FR_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"A(FR_MINS)": {
|
||||
"key": "FR_MDSH",
|
||||
"label": "—",
|
||||
}
|
||||
"A(FR_A)": {
|
||||
"key": "FR_AE",
|
||||
"label": "Æ",
|
||||
}
|
||||
"A(FR_Z)": {
|
||||
"key": "FR_CACI",
|
||||
"label": "Â",
|
||||
}
|
||||
"A(FR_E)": {
|
||||
"key": "FR_ECIR",
|
||||
"label": "Ê",
|
||||
}
|
||||
"A(FR_R)": {
|
||||
"key": "FR_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"A(FR_T)": {
|
||||
"key": "FR_DAGG",
|
||||
"label": "†",
|
||||
}
|
||||
"A(FR_Y)": {
|
||||
"key": "FR_CUAC",
|
||||
"label": "Ú",
|
||||
}
|
||||
"A(FR_U)": {
|
||||
"key": "FR_MORD",
|
||||
"label": "º",
|
||||
}
|
||||
"A(FR_I)": {
|
||||
"key": "FR_LICI",
|
||||
"label": "î",
|
||||
}
|
||||
"A(FR_O)": {
|
||||
"key": "FR_OE",
|
||||
"label": "Œ",
|
||||
}
|
||||
"A(FR_P)": {
|
||||
"key": "FR_PI",
|
||||
"label": "π",
|
||||
}
|
||||
"A(FR_CIRC)": {
|
||||
"key": "FR_OCIR",
|
||||
"label": "Ô",
|
||||
}
|
||||
"A(FR_DLR)": {
|
||||
"key": "FR_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"A(FR_Q)": {
|
||||
"key": "FR_DDAG",
|
||||
"label": "‡",
|
||||
}
|
||||
"A(FR_S)": {
|
||||
"key": "FR_COGR",
|
||||
"label": "Ò",
|
||||
}
|
||||
"A(FR_D)": {
|
||||
"key": "FR_PDIF",
|
||||
"label": "∂",
|
||||
}
|
||||
"A(FR_F)": {
|
||||
"key": "FR_FHK",
|
||||
"label": "ƒ",
|
||||
}
|
||||
"A(FR_G)": {
|
||||
"key": "FR_FI",
|
||||
"label": "fi",
|
||||
}
|
||||
"A(FR_H)": {
|
||||
"key": "FR_CIGR",
|
||||
"label": "Ì",
|
||||
}
|
||||
"A(FR_J)": {
|
||||
"key": "FR_CIDI",
|
||||
"label": "Ï",
|
||||
}
|
||||
"A(FR_K)": {
|
||||
"key": "FR_CEGR",
|
||||
"label": "È",
|
||||
}
|
||||
"A(FR_L)": {
|
||||
"key": "FR_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"A(FR_M)": {
|
||||
"key": "FR_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
"A(FR_LUGR)": {
|
||||
"key": "FR_CUGR",
|
||||
"label": "Ù",
|
||||
}
|
||||
"A(FR_LABK)": {
|
||||
"key": "FR_LTEQ",
|
||||
"label": "≤",
|
||||
}
|
||||
"A(FR_W)": {
|
||||
"key": "FR_LSAQ",
|
||||
"label": "‹",
|
||||
}
|
||||
"A(FR_X)": {
|
||||
"key": "FR_AEQL",
|
||||
"label": "≈",
|
||||
}
|
||||
"A(FR_C)": {
|
||||
"key": "FR_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
"A(FR_V)": {
|
||||
"key": "FR_LOZN",
|
||||
"label": "◊",
|
||||
}
|
||||
"A(FR_B)": {
|
||||
"key": "FR_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"A(FR_N)": {
|
||||
"key": "FR_TILD",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"A(FR_COMM)": {
|
||||
"key": "FR_INFN",
|
||||
"label": "∞",
|
||||
}
|
||||
"A(FR_SCLN)": {
|
||||
"key": "FR_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
"A(FR_COLN)": {
|
||||
"key": "FR_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"A(FR_EQL)": {
|
||||
"key": "FR_NEQL",
|
||||
"label": "≠",
|
||||
}
|
||||
/* Shift+Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ Ÿ │ ´ │ „ │ │ │ [ │ å │ » │ Û │ Á │ │ ] │ – │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ Å │ │ ‚ │ ™ │ │ ª │ ï │ │ ∏ │ │ ¥ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Ω │ ∑ │ ∆ │ · │ fl │ Î │ Í │ Ë │ | │ Ó │ ‰ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ ≥ │ › │ ⁄ │ ¢ │ √ │ ∫ │ ı │ ¿ │ │ \ │ ± │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(A(FR_AT))": {
|
||||
"key": "FR_CYDI",
|
||||
"label": "Ÿ",
|
||||
}
|
||||
"S(A(FR_AMPR))": {
|
||||
"key": "FR_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"S(A(FR_LEAC))": {
|
||||
"key": "FR_DLQU",
|
||||
"label": "„",
|
||||
}
|
||||
"S(A(FR_LPRN))": {
|
||||
"key": "FR_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"S(A(FR_SECT))": {
|
||||
"key": "FR_LARI",
|
||||
"label": "å",
|
||||
}
|
||||
"S(A(FR_LEGR))": {
|
||||
"key": "FR_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"S(A(FR_EXLM))": {
|
||||
"key": "FR_CUCI",
|
||||
"label": "Û",
|
||||
}
|
||||
"S(A(FR_LCCE))": {
|
||||
"key": "FR_CAAC",
|
||||
"label": "Á",
|
||||
}
|
||||
"S(A(FR_RPRN))": {
|
||||
"key": "FR_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"S(A(FR_MINS))": {
|
||||
"key": "FR_NDSH",
|
||||
"label": "–",
|
||||
}
|
||||
"S(A(FR_Z))": {
|
||||
"key": "FR_CARI",
|
||||
"label": "Å",
|
||||
}
|
||||
"S(A(FR_R))": {
|
||||
"key": "FR_SLQU",
|
||||
"label": "‚",
|
||||
}
|
||||
"S(A(FR_T))": {
|
||||
"key": "FR_TM",
|
||||
"label": "™",
|
||||
}
|
||||
"S(A(FR_U))": {
|
||||
"key": "FR_FORD",
|
||||
"label": "ª",
|
||||
}
|
||||
"S(A(FR_I))": {
|
||||
"key": "FR_LIDI",
|
||||
"label": "ï",
|
||||
}
|
||||
"S(A(FR_P))": {
|
||||
"key": "FR_NARP",
|
||||
"label": "∏",
|
||||
}
|
||||
"S(A(FR_DLR))": {
|
||||
"key": "FR_YEN",
|
||||
"label": "¥",
|
||||
}
|
||||
"S(A(FR_Q))": {
|
||||
"key": "FR_OMEG",
|
||||
"label": "Ω",
|
||||
}
|
||||
"S(A(FR_S))": {
|
||||
"key": "FR_NARS",
|
||||
"label": "∑",
|
||||
}
|
||||
"S(A(FR_D))": {
|
||||
"key": "FR_INCR",
|
||||
"label": "∆",
|
||||
}
|
||||
"S(A(FR_F))": {
|
||||
"key": "FR_MDDT",
|
||||
"label": "·",
|
||||
}
|
||||
"S(A(FR_G))": {
|
||||
"key": "FR_FL",
|
||||
"label": "fl",
|
||||
}
|
||||
"S(A(FR_H))": {
|
||||
"key": "FR_CICI",
|
||||
"label": "Î",
|
||||
}
|
||||
"S(A(FR_J))": {
|
||||
"key": "FR_CIAC",
|
||||
"label": "Í",
|
||||
}
|
||||
"S(A(FR_K))": {
|
||||
"key": "FR_CEDI",
|
||||
"label": "Ë",
|
||||
}
|
||||
"S(A(FR_L))": {
|
||||
"key": "FR_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(A(FR_M))": {
|
||||
"key": "FR_COAC",
|
||||
"label": "Ó",
|
||||
}
|
||||
"S(A(FR_LUGR))": {
|
||||
"key": "FR_PERM",
|
||||
"label": "‰",
|
||||
}
|
||||
"S(A(FR_LABK))": {
|
||||
"key": "FR_GTEQ",
|
||||
"label": "≥",
|
||||
}
|
||||
"S(A(FR_W))": {
|
||||
"key": "FR_RSAQ",
|
||||
"label": "›",
|
||||
}
|
||||
"S(A(FR_X))": {
|
||||
"key": "FR_FRSL",
|
||||
"label": "⁄",
|
||||
}
|
||||
"S(A(FR_C))": {
|
||||
"key": "FR_CENT",
|
||||
"label": "¢",
|
||||
}
|
||||
"S(A(FR_V))": {
|
||||
"key": "FR_SQRT",
|
||||
"label": "√",
|
||||
}
|
||||
"S(A(FR_B))": {
|
||||
"key": "FR_INTG",
|
||||
"label": "∫",
|
||||
}
|
||||
"S(A(FR_N))": {
|
||||
"key": "FR_DLSI",
|
||||
"label": "ı",
|
||||
}
|
||||
"S(A(FR_COMM))": {
|
||||
"key": "FR_IQUE",
|
||||
"label": "¿",
|
||||
}
|
||||
"S(A(FR_COLN))": {
|
||||
"key": "FR_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"S(A(FR_EQL))": {
|
||||
"key": "FR_PLMN",
|
||||
"label": "±",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,359 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "DE_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "DE_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "DE_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "DE_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "DE_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "DE_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "DE_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "DE_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "DE_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "DE_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "DE_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "DE_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "DE_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "DE_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "DE_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "DE_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "DE_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "DE_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "DE_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "DE_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "DE_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "DE_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "DE_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "DE_UDIA",
|
||||
"label": "Ü",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "DE_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "DE_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "DE_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "DE_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "DE_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "DE_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "DE_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "DE_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "DE_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "DE_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "DE_ODIA",
|
||||
"label": "Ö",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "DE_ADIA",
|
||||
"label": "Ä",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "DE_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "DE_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "DE_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "DE_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "DE_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "DE_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "DE_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "DE_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "DE_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "DE_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "DE_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "DE_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(DE_CIRC)": {
|
||||
"key": "DE_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"S(DE_1)": {
|
||||
"key": "DE_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(DE_2)": {
|
||||
"key": "DE_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(DE_3)": {
|
||||
"key": "DE_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"S(DE_4)": {
|
||||
"key": "DE_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(DE_5)": {
|
||||
"key": "DE_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(DE_6)": {
|
||||
"key": "DE_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(DE_7)": {
|
||||
"key": "DE_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(DE_8)": {
|
||||
"key": "DE_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(DE_9)": {
|
||||
"key": "DE_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(DE_0)": {
|
||||
"key": "DE_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(DE_SS)": {
|
||||
"key": "DE_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(DE_ACUT)": {
|
||||
"key": "DE_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"S(DE_PLUS)": {
|
||||
"key": "DE_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(DE_HASH)": {
|
||||
"key": "DE_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"S(DE_LABK)": {
|
||||
"key": "DE_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(DE_COMM)": {
|
||||
"key": "DE_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(DE_DOT)": {
|
||||
"key": "DE_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(DE_MINS)": {
|
||||
"key": "DE_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ ² │ ³ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(DE_2)": {
|
||||
"key": "DE_SUP2",
|
||||
"label": "²",
|
||||
}
|
||||
"ALGR(DE_3)": {
|
||||
"key": "DE_SUP3",
|
||||
"label": "³",
|
||||
}
|
||||
"ALGR(DE_7)": {
|
||||
"key": "DE_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(DE_8)": {
|
||||
"key": "DE_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(DE_9)": {
|
||||
"key": "DE_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(DE_0)": {
|
||||
"key": "DE_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(DE_SS)": {
|
||||
"key": "DE_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(DE_Q)": {
|
||||
"key": "DE_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(DE_E)": {
|
||||
"key": "DE_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(DE_PLUS)": {
|
||||
"key": "DE_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"ALGR(DE_LABK)": {
|
||||
"key": "DE_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(DE_M)": {
|
||||
"key": "DE_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,656 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "DE_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "DE_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "DE_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "DE_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "DE_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "DE_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "DE_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "DE_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "DE_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "DE_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "DE_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "DE_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "DE_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "DE_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "DE_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "DE_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "DE_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "DE_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "DE_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "DE_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "DE_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "DE_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "DE_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "DE_UDIA",
|
||||
"label": "Ü",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "DE_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "DE_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "DE_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "DE_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "DE_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "DE_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "DE_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "DE_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "DE_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "DE_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "DE_ODIA",
|
||||
"label": "Ö",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "DE_ADIA",
|
||||
"label": "Ä",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "DE_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "DE_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "DE_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "DE_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "DE_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "DE_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "DE_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "DE_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "DE_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "DE_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "DE_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "DE_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(DE_CIRC)": {
|
||||
"key": "DE_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"S(DE_1)": {
|
||||
"key": "DE_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(DE_2)": {
|
||||
"key": "DE_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(DE_3)": {
|
||||
"key": "DE_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"S(DE_4)": {
|
||||
"key": "DE_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(DE_5)": {
|
||||
"key": "DE_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(DE_6)": {
|
||||
"key": "DE_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(DE_7)": {
|
||||
"key": "DE_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(DE_8)": {
|
||||
"key": "DE_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(DE_9)": {
|
||||
"key": "DE_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(DE_0)": {
|
||||
"key": "DE_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(DE_SS)": {
|
||||
"key": "DE_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(DE_ACUT)": {
|
||||
"key": "DE_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"S(DE_PLUS)": {
|
||||
"key": "DE_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(DE_HASH)": {
|
||||
"key": "DE_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"S(DE_LABK)": {
|
||||
"key": "DE_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(DE_COMM)": {
|
||||
"key": "DE_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(DE_DOT)": {
|
||||
"key": "DE_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(DE_MINS)": {
|
||||
"key": "DE_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ „ │ ¡ │ “ │ ¶ │ ¢ │ [ │ ] │ | │ { │ } │ ≠ │ ¿ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ « │ ∑ │ € │ ® │ † │ Ω │ ¨ │ ⁄ │ Ø │ π │ • │ ± │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Å │ ‚ │ ∂ │ ƒ │ © │ ª │ º │ ∆ │ @ │ Œ │ Æ │ ‘ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ ≤ │ ¥ │ ≈ │ Ç │ √ │ ∫ │ ~ │ µ │ ∞ │ … │ – │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"A(DE_CIRC)": {
|
||||
"key": "DE_DLQU",
|
||||
"label": "„",
|
||||
}
|
||||
"A(DE_1)": {
|
||||
"key": "DE_IEXL",
|
||||
"label": "¡",
|
||||
}
|
||||
"A(DE_2)": {
|
||||
"key": "DE_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"A(DE_3)": {
|
||||
"key": "DE_PILC",
|
||||
"label": "¶",
|
||||
}
|
||||
"A(DE_4)": {
|
||||
"key": "DE_CENT",
|
||||
"label": "¢",
|
||||
}
|
||||
"A(DE_5)": {
|
||||
"key": "DE_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"A(DE_6)": {
|
||||
"key": "DE_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"A(DE_7)": {
|
||||
"key": "DE_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"A(DE_8)": {
|
||||
"key": "DE_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"A(DE_9)": {
|
||||
"key": "DE_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"A(DE_0)": {
|
||||
"key": "DE_NEQL",
|
||||
"label": "≠",
|
||||
}
|
||||
"A(DE_SS)": {
|
||||
"key": "DE_IQUE",
|
||||
"label": "¿",
|
||||
}
|
||||
"A(DE_Q)": {
|
||||
"key": "DE_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"A(DE_W)": {
|
||||
"key": "DE_NARS",
|
||||
"label": "∑",
|
||||
}
|
||||
"A(DE_E)": {
|
||||
"key": "DE_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"A(DE_R)": {
|
||||
"key": "DE_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"A(DE_T)": {
|
||||
"key": "DE_DAGG",
|
||||
"label": "†",
|
||||
}
|
||||
"A(DE_Z)": {
|
||||
"key": "DE_OMEG",
|
||||
"label": "Ω",
|
||||
}
|
||||
"A(DE_U)": {
|
||||
"key": "DE_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"A(DE_I)": {
|
||||
"key": "DE_FRSL",
|
||||
"label": "⁄",
|
||||
}
|
||||
"A(DE_O)": {
|
||||
"key": "DE_OSTR",
|
||||
"label": "Ø",
|
||||
}
|
||||
"A(DE_P)": {
|
||||
"key": "DE_PI",
|
||||
"label": "π",
|
||||
}
|
||||
"A(DE_UDIA)": {
|
||||
"key": "DE_BULT",
|
||||
"label": "•",
|
||||
}
|
||||
"A(DE_PLUS)": {
|
||||
"key": "DE_PLMN",
|
||||
"label": "±",
|
||||
}
|
||||
"A(DE_A)": {
|
||||
"key": "DE_ARNG",
|
||||
"label": "Å",
|
||||
}
|
||||
"A(DE_S)": {
|
||||
"key": "DE_SLQU",
|
||||
"label": "‚",
|
||||
}
|
||||
"A(DE_D)": {
|
||||
"key": "DE_PDIF",
|
||||
"label": "∂",
|
||||
}
|
||||
"A(DE_F)": {
|
||||
"key": "DE_FHK",
|
||||
"label": "ƒ",
|
||||
}
|
||||
"A(DE_G)": {
|
||||
"key": "DE_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
"A(DE_H)": {
|
||||
"key": "DE_FORD",
|
||||
"label": "ª",
|
||||
}
|
||||
"A(DE_J)": {
|
||||
"key": "DE_MORD",
|
||||
"label": "º",
|
||||
}
|
||||
"A(DE_K)": {
|
||||
"key": "DE_INCR",
|
||||
"label": "∆",
|
||||
}
|
||||
"A(DE_L)": {
|
||||
"key": "DE_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"A(DE_ODIA)": {
|
||||
"key": "DE_OE",
|
||||
"label": "Œ",
|
||||
}
|
||||
"A(DE_ADIA)": {
|
||||
"key": "DE_AE",
|
||||
"label": "Æ",
|
||||
}
|
||||
"A(DE_HASH)": {
|
||||
"key": "DE_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"A(DE_LABK)": {
|
||||
"key": "DE_LTEQ",
|
||||
"label": "≤",
|
||||
}
|
||||
"A(DE_Y)": {
|
||||
"key": "DE_YEN",
|
||||
"label": "¥",
|
||||
}
|
||||
"A(DE_X)": {
|
||||
"key": "DE_AEQL",
|
||||
"label": "≈",
|
||||
}
|
||||
"A(DE_C)": {
|
||||
"key": "DE_CCCE",
|
||||
"label": "Ç",
|
||||
}
|
||||
"A(DE_V)": {
|
||||
"key": "DE_SQRT",
|
||||
"label": "√",
|
||||
}
|
||||
"A(DE_B)": {
|
||||
"key": "DE_INTG",
|
||||
"label": "∫",
|
||||
}
|
||||
"A(DE_N)": {
|
||||
"key": "DE_TILD",
|
||||
"label": "~ (dead)",
|
||||
}
|
||||
"A(DE_M)": {
|
||||
"key": "DE_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
"A(DE_COMM)": {
|
||||
"key": "DE_INFN",
|
||||
"label": "∞",
|
||||
}
|
||||
"A(DE_DOT)": {
|
||||
"key": "DE_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
"A(DE_MINS)": {
|
||||
"key": "DE_NDSH",
|
||||
"label": "–",
|
||||
}
|
||||
/* Shift+Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ │ ¬ │ ” │ │ £ │ fi │ │ \ │ ˜ │ · │ ¯ │ ˙ │ ˚ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ » │ │ ‰ │ ¸ │ ˝ │ ˇ │ Á │ Û │ │ ∏ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ Í │ ™ │ Ï │ Ì │ Ó │ ı │ │ fl │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ ≥ │ ‡ │ Ù │ │ ◊ │ ‹ │ › │ ˘ │ ˛ │ ÷ │ — │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(A(DE_1))": {
|
||||
"key": "DE_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"S(A(DE_2))": {
|
||||
"key": "DE_RDQU",
|
||||
"label": "”",
|
||||
}
|
||||
"S(A(DE_4))": {
|
||||
"key": "DE_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(A(DE_5))": {
|
||||
"key": "DE_FI",
|
||||
"label": "fi",
|
||||
}
|
||||
"S(A(DE_7))": {
|
||||
"key": "DE_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"S(A(DE_8))": {
|
||||
"key": "DE_STIL",
|
||||
"label": "˜",
|
||||
}
|
||||
"S(A(DE_9))": {
|
||||
"key": "DE_MDDT",
|
||||
"label": "·",
|
||||
}
|
||||
"S(A(DE_0))": {
|
||||
"key": "DE_MACR",
|
||||
"label": "¯",
|
||||
}
|
||||
"S(A(DE_SS))": {
|
||||
"key": "DE_DOTA",
|
||||
"label": "˙",
|
||||
}
|
||||
"S(A(DE_ACUT))": {
|
||||
"key": "DE_RNGA",
|
||||
"label": "˚",
|
||||
}
|
||||
"S(A(DE_Q))": {
|
||||
"key": "DE_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"S(A(DE_E))": {
|
||||
"key": "DE_PERM",
|
||||
"label": "‰",
|
||||
}
|
||||
"S(A(DE_R))": {
|
||||
"key": "DE_CEDL",
|
||||
"label": "¸",
|
||||
}
|
||||
"S(A(DE_T))": {
|
||||
"key": "DE_DACU",
|
||||
"label": "˝",
|
||||
}
|
||||
"S(A(DE_Z))": {
|
||||
"key": "DE_CARN",
|
||||
"label": "ˇ",
|
||||
}
|
||||
"S(A(DE_U))": {
|
||||
"key": "DE_AACU",
|
||||
"label": "Á",
|
||||
}
|
||||
"S(A(DE_I))": {
|
||||
"key": "DE_UCIR",
|
||||
"label": "Û",
|
||||
}
|
||||
"S(A(DE_P))": {
|
||||
"key": "DE_NARP",
|
||||
"label": "∏",
|
||||
}
|
||||
"S(A(DE_PLUS))": {
|
||||
"key": "DE_APPL",
|
||||
"label": " (Apple logo)",
|
||||
}
|
||||
"S(A(DE_S))": {
|
||||
"key": "DE_IACU",
|
||||
"label": "Í",
|
||||
}
|
||||
"S(A(DE_D))": {
|
||||
"key": "DE_TM",
|
||||
"label": "™",
|
||||
}
|
||||
"S(A(DE_F))": {
|
||||
"key": "DE_IDIA",
|
||||
"label": "Ï",
|
||||
}
|
||||
"S(A(DE_G))": {
|
||||
"key": "DE_IGRV",
|
||||
"label": "Ì",
|
||||
}
|
||||
"S(A(DE_H))": {
|
||||
"key": "DE_OACU",
|
||||
"label": "Ó",
|
||||
}
|
||||
"S(A(DE_J))": {
|
||||
"key": "DE_DLSI",
|
||||
"label": "ı",
|
||||
}
|
||||
"S(A(DE_L))": {
|
||||
"key": "DE_FL",
|
||||
"label": "fl",
|
||||
}
|
||||
"S(A(DE_LABK))": {
|
||||
"key": "DE_GTEQ",
|
||||
"label": "≥",
|
||||
}
|
||||
"S(A(DE_Y))": {
|
||||
"key": "DE_DDAG",
|
||||
"label": "‡",
|
||||
}
|
||||
"S(A(DE_X))": {
|
||||
"key": "DE_UGRV",
|
||||
"label": "Ù",
|
||||
}
|
||||
"S(A(DE_V))": {
|
||||
"key": "DE_LOZN",
|
||||
"label": "◊",
|
||||
}
|
||||
"S(A(DE_B))": {
|
||||
"key": "DE_LSAQ",
|
||||
"label": "‹",
|
||||
}
|
||||
"S(A(DE_N))": {
|
||||
"key": "DE_RSAQ",
|
||||
"label": "›",
|
||||
}
|
||||
"S(A(DE_M))": {
|
||||
"key": "DE_BREV",
|
||||
"label": "˘",
|
||||
}
|
||||
"S(A(DE_COMM))": {
|
||||
"key": "DE_OGON",
|
||||
"label": "˛",
|
||||
}
|
||||
"S(A(DE_DOT))": {
|
||||
"key": "DE_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"S(A(DE_MINS))": {
|
||||
"key": "DE_MDSH",
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,391 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ ; │ ς │ Ε │ Ρ │ Τ │ Υ │ Θ │ Ι │ Ο │ Π │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Α │ Σ │ Δ │ Φ │ Γ │ Η │ Ξ │ Κ │ Λ │ ΄ │ ' │ \ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ Ζ │ Χ │ Ψ │ Ω │ Β │ Ν │ Μ │ , │ . │ / │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "GR_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "GR_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "GR_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "GR_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "GR_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "GR_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "GR_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "GR_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "GR_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "GR_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "GR_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "GR_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "GR_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "GR_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "GR_FSIG",
|
||||
"label": "ς",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "GR_EPSL",
|
||||
"label": "Ε",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "GR_RHO",
|
||||
"label": "Ρ",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "GR_TAU",
|
||||
"label": "Τ",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "GR_UPSL",
|
||||
"label": "Υ",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "GR_THET",
|
||||
"label": "Θ",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "GR_IOTA",
|
||||
"label": "Ι",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "GR_OMCR",
|
||||
"label": "Ο",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "GR_PI",
|
||||
"label": "Π",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "GR_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "GR_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "GR_ALPH",
|
||||
"label": "Α",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "GR_SIGM",
|
||||
"label": "Σ",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "GR_DELT",
|
||||
"label": "Δ",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "GR_PHI",
|
||||
"label": "Φ",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "GR_GAMM",
|
||||
"label": "Γ",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "GR_ETA",
|
||||
"label": "Η",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "GR_XI",
|
||||
"label": "Ξ",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "GR_KAPP",
|
||||
"label": "Κ",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "GR_LAMB",
|
||||
"label": "Λ",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "GR_TONS",
|
||||
"label": "΄ (dead)",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "GR_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "GR_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "GR_ZETA",
|
||||
"label": "Ζ",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "GR_CHI",
|
||||
"label": "Χ",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "GR_PSI",
|
||||
"label": "Ψ",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "GR_OMEG",
|
||||
"label": "Ω",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "GR_BETA",
|
||||
"label": "Β",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "GR_NU",
|
||||
"label": "Ν",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "GR_MU",
|
||||
"label": "Μ",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "GR_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "GR_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "GR_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ : │ ΅ │ │ │ │ │ │ │ │ │ { │ } │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ ¨ │ " │ | │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ < │ > │ ? │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(GR_GRV)": {
|
||||
"key": "GR_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"S(GR_1)": {
|
||||
"key": "GR_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(GR_2)": {
|
||||
"key": "GR_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"S(GR_3)": {
|
||||
"key": "GR_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(GR_4)": {
|
||||
"key": "GR_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(GR_5)": {
|
||||
"key": "GR_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(GR_6)": {
|
||||
"key": "GR_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(GR_7)": {
|
||||
"key": "GR_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(GR_8)": {
|
||||
"key": "GR_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(GR_9)": {
|
||||
"key": "GR_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(GR_0)": {
|
||||
"key": "GR_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(GR_MINS)": {
|
||||
"key": "GR_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(GR_EQL)": {
|
||||
"key": "GR_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(GR_SCLN)": {
|
||||
"key": "GR_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(GR_FSIG)": {
|
||||
"key": "GR_DIAT",
|
||||
"label": "΅ (dead)",
|
||||
}
|
||||
"S(GR_LBRC)": {
|
||||
"key": "GR_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(GR_RBRC)": {
|
||||
"key": "GR_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(GR_TONS)": {
|
||||
"key": "GR_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(GR_QUOT)": {
|
||||
"key": "GR_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(GR_BSLS)": {
|
||||
"key": "GR_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(GR_COMM)": {
|
||||
"key": "GR_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(GR_DOT)": {
|
||||
"key": "GR_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(GR_SLSH)": {
|
||||
"key": "GR_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ ² │ ³ │ £ │ § │ ¶ │ │ ¤ │ ¦ │ ° │ ± │ ½ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ € │ ® │ │ ¥ │ │ │ │ │ « │ » │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ¬ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ © │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(GR_2)": {
|
||||
"key": "GR_SUP2",
|
||||
"label": "²",
|
||||
}
|
||||
"ALGR(GR_3)": {
|
||||
"key": "GR_SUP3",
|
||||
"label": "³",
|
||||
}
|
||||
"ALGR(GR_4)": {
|
||||
"key": "GR_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"ALGR(GR_5)": {
|
||||
"key": "GR_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"ALGR(GR_6)": {
|
||||
"key": "GR_PILC",
|
||||
"label": "¶",
|
||||
}
|
||||
"ALGR(GR_8)": {
|
||||
"key": "GR_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
"ALGR(GR_9)": {
|
||||
"key": "GR_BRKP",
|
||||
"label": "¦",
|
||||
}
|
||||
"ALGR(GR_0)": {
|
||||
"key": "GR_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"ALGR(GR_MINS)": {
|
||||
"key": "GR_PLMN",
|
||||
"label": "±",
|
||||
}
|
||||
"ALGR(GR_EQL)": {
|
||||
"key": "GR_HALF",
|
||||
"label": "½",
|
||||
}
|
||||
"ALGR(GR_EPSL)": {
|
||||
"key": "GR_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(GR_RHO)": {
|
||||
"key": "GR_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"ALGR(GR_UPSL)": {
|
||||
"key": "GR_YEN",
|
||||
"label": "¥",
|
||||
}
|
||||
"ALGR(GR_LBRC)": {
|
||||
"key": "GR_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"ALGR(GR_RBRC)": {
|
||||
"key": "GR_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"ALGR(GR_BSLS)": {
|
||||
"key": "GR_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"ALGR(GR_PSI)": {
|
||||
"key": "GR_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,347 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ / │ ' │ פ │ ם │ ן │ ו │ ט │ א │ ר │ ק │ ] │ [ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ ף │ ך │ ל │ ח │ י │ ע │ כ │ ג │ ד │ ש │ , │ \ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ ץ │ ת │ צ │ מ │ נ │ ה │ ב │ ס │ ז │ . │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "IL_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "IL_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "IL_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "IL_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "IL_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "IL_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "IL_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "IL_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "IL_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "IL_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "IL_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "IL_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "IL_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "IL_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "IL_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "IL_QOF",
|
||||
"label": "ק",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "IL_RESH",
|
||||
"label": "ר",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "IL_ALEF",
|
||||
"label": "א",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "IL_TET",
|
||||
"label": "ט",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "IL_VAV",
|
||||
"label": "ו",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "IL_FNUN",
|
||||
"label": "ן",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "IL_FMEM",
|
||||
"label": "ם",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "IL_PE",
|
||||
"label": "פ",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "IL_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "IL_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "IL_SHIN",
|
||||
"label": "ש",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "IL_DALT",
|
||||
"label": "ד",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "IL_GIML",
|
||||
"label": "ג",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "IL_KAF",
|
||||
"label": "כ",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "IL_AYIN",
|
||||
"label": "ע",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "IL_YOD",
|
||||
"label": "י",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "IL_HET",
|
||||
"label": "ח",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "IL_LAMD",
|
||||
"label": "ל",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "IL_FKAF",
|
||||
"label": "ך",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "IL_FPE",
|
||||
"label": "ף",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "IL_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "IL_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "IL_ZAYN",
|
||||
"label": "ז",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "IL_SMKH",
|
||||
"label": "ס",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "IL_BET",
|
||||
"label": "ב",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "IL_HE",
|
||||
"label": "ה",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "IL_NUN",
|
||||
"label": "נ",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "IL_MEM",
|
||||
"label": "מ",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "IL_TSDI",
|
||||
"label": "צ",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "IL_TAV",
|
||||
"label": "ת",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "IL_FTSD",
|
||||
"label": "ץ",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "IL_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ) │ ( │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ } │ { │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ : │ " │ | │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ > │ < │ ? │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(IL_SCLN)": {
|
||||
"key": "IL_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"S(IL_1)": {
|
||||
"key": "IL_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(IL_2)": {
|
||||
"key": "IL_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"S(IL_3)": {
|
||||
"key": "IL_PND",
|
||||
"label": "#",
|
||||
}
|
||||
"S(IL_4)": {
|
||||
"key": "IL_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(IL_5)": {
|
||||
"key": "IL_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(IL_6)": {
|
||||
"key": "IL_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(IL_7)": {
|
||||
"key": "IL_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(IL_8)": {
|
||||
"key": "IL_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(IL_9)": {
|
||||
"key": "IL_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(IL_0)": {
|
||||
"key": "IL_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(IL_MINS)": {
|
||||
"key": "IL_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(IL_EQL)": {
|
||||
"key": "IL_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(IL_RBRC)": {
|
||||
"key": "IL_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(IL_LBRC)": {
|
||||
"key": "IL_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(IL_FPE)": {
|
||||
"key": "IL_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(IL_COMM)": {
|
||||
"key": "IL_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(IL_BSLS)": {
|
||||
"key": "IL_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(IL_TAV)": {
|
||||
"key": "IL_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(IL_FTSD)": {
|
||||
"key": "IL_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(IL_DOT)": {
|
||||
"key": "IL_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ │ € │ ₪ │ ° │ │ │ × │ │ │ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ װ │ │ │ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ ײ │ ױ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ÷ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(IL_3)": {
|
||||
"key": "IL_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(IL_4)": {
|
||||
"key": "IL_SHKL",
|
||||
"label": "₪",
|
||||
}
|
||||
"ALGR(IL_5)": {
|
||||
"key": "IL_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"ALGR(IL_8)": {
|
||||
"key": "IL_MUL",
|
||||
"label": "×",
|
||||
}
|
||||
"ALGR(IL_TET)": {
|
||||
"key": "IL_DVAV",
|
||||
"label": "װ",
|
||||
}
|
||||
"ALGR(IL_AYIN)": {
|
||||
"key": "IL_VYOD",
|
||||
"label": "ױ",
|
||||
}
|
||||
"ALGR(IL_YOD)": {
|
||||
"key": "IL_DYOD",
|
||||
"label": "ײ",
|
||||
}
|
||||
"ALGR(IL_DOT)": {
|
||||
"key": "IL_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,435 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ Ö │ Ü │ Ó │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ő │ Ú │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ É │ Á │ Ű │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ Í │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "HU_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "HU_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "HU_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "HU_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "HU_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "HU_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "HU_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "HU_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "HU_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "HU_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "HU_ODIA",
|
||||
"label": "Ö",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "HU_UDIA",
|
||||
"label": "Ü",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "HU_OACU",
|
||||
"label": "Ó",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "HU_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "HU_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "HU_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "HU_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "HU_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "HU_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "HU_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "HU_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "HU_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "HU_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "HU_ODAC",
|
||||
"label": "Ő",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "HU_UACU",
|
||||
"label": "Ú",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "HU_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "HU_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "HU_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "HU_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "HU_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "HU_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "HU_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "HU_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "HU_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "HU_EACU",
|
||||
"label": "É",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "HU_AACU",
|
||||
"label": "Á",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "HU_UDAC",
|
||||
"label": "Ű",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "HU_IACU",
|
||||
"label": "Í",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "HU_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "HU_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "HU_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "HU_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "HU_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "HU_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "HU_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "HU_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "HU_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "HU_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ § │ ' │ " │ + │ ! │ % │ / │ = │ ( │ ) │ │ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ ? │ : │ _ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(HU_0)": {
|
||||
"key": "HU_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"S(HU_1)": {
|
||||
"key": "HU_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"S(HU_2)": {
|
||||
"key": "HU_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(HU_3)": {
|
||||
"key": "HU_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(HU_4)": {
|
||||
"key": "HU_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(HU_5)": {
|
||||
"key": "HU_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(HU_6)": {
|
||||
"key": "HU_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(HU_7)": {
|
||||
"key": "HU_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(HU_8)": {
|
||||
"key": "HU_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(HU_9)": {
|
||||
"key": "HU_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(HU_COMM)": {
|
||||
"key": "HU_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(HU_DOT)": {
|
||||
"key": "HU_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(HU_MINS)": {
|
||||
"key": "HU_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ \ │ | │ Ä │ │ │ │ € │ │ │ │ ÷ │ × │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ ä │ đ │ Đ │ [ │ ] │ │ │ ł │ Ł │ $ │ ß │ ¤ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ > │ # │ & │ @ │ { │ } │ │ ; │ │ * │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(HU_1)": {
|
||||
"key": "HU_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"ALGR(HU_2)": {
|
||||
"key": "HU_CARN",
|
||||
"label": "ˇ (dead)",
|
||||
}
|
||||
"ALGR(HU_3)": {
|
||||
"key": "HU_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"ALGR(HU_4)": {
|
||||
"key": "HU_BREV",
|
||||
"label": "˘ (dead)",
|
||||
}
|
||||
"ALGR(HU_5)": {
|
||||
"key": "HU_RNGA",
|
||||
"label": "° (dead)",
|
||||
}
|
||||
"ALGR(HU_6)": {
|
||||
"key": "HU_OGON",
|
||||
"label": "˛ (dead)",
|
||||
}
|
||||
"ALGR(HU_7)": {
|
||||
"key": "HU_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"ALGR(HU_8)": {
|
||||
"key": "HU_DOTA",
|
||||
"label": "˙ (dead)",
|
||||
}
|
||||
"ALGR(HU_9)": {
|
||||
"key": "HU_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"ALGR(HU_ODIA)": {
|
||||
"key": "HU_DACU",
|
||||
"label": "˝ (dead)",
|
||||
}
|
||||
"ALGR(HU_UDIA)": {
|
||||
"key": "HU_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"ALGR(HU_OACU)": {
|
||||
"key": "HU_CEDL",
|
||||
"label": "¸ (dead)",
|
||||
}
|
||||
"ALGR(HU_Q)": {
|
||||
"key": "HU_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(HU_W)": {
|
||||
"key": "HU_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(HU_E)": {
|
||||
"key": "HU_CADI",
|
||||
"label": "Ä",
|
||||
}
|
||||
"ALGR(HU_U)": {
|
||||
"key": "HU_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(HU_ODAC)": {
|
||||
"key": "HU_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"ALGR(HU_UACU)": {
|
||||
"key": "HU_MUL",
|
||||
"label": "×",
|
||||
}
|
||||
"ALGR(HU_A)": {
|
||||
"key": "HU_LADI",
|
||||
"label": "ä",
|
||||
}
|
||||
"ALGR(HU_S)": {
|
||||
"key": "HU_LDST",
|
||||
"label": "đ",
|
||||
}
|
||||
"ALGR(HU_D)": {
|
||||
"key": "HU_CDST",
|
||||
"label": "Đ",
|
||||
}
|
||||
"ALGR(HU_F)": {
|
||||
"key": "HU_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(HU_G)": {
|
||||
"key": "HU_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(HU_K)": {
|
||||
"key": "HU_LLST",
|
||||
"label": "ł",
|
||||
}
|
||||
"ALGR(HU_L)": {
|
||||
"key": "HU_CLST",
|
||||
"label": "Ł",
|
||||
}
|
||||
"ALGR(HU_EACU)": {
|
||||
"key": "HU_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"ALGR(HU_AACU)": {
|
||||
"key": "HU_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"ALGR(HU_UDAC)": {
|
||||
"key": "HU_CURR",
|
||||
"label": "¤",
|
||||
}
|
||||
"ALGR(HU_IACU)": {
|
||||
"key": "HU_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"ALGR(HU_Y)": {
|
||||
"key": "HU_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"ALGR(HU_X)": {
|
||||
"key": "HU_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"ALGR(HU_C)": {
|
||||
"key": "HU_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"ALGR(HU_V)": {
|
||||
"key": "HU_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(HU_B)": {
|
||||
"key": "HU_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(HU_N)": {
|
||||
"key": "HU_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(HU_COMM)": {
|
||||
"key": "HU_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"ALGR(HU_MINS)": {
|
||||
"key": "HU_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,355 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ Ö │ - │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ð │ ' │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Æ │ ´ │ + │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Þ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "IS_RNGA",
|
||||
"label": "° (dead)",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "IS_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "IS_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "IS_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "IS_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "IS_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "IS_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "IS_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "IS_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "IS_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "IS_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "IS_ODIA",
|
||||
"label": "Ö",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "IS_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "IS_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "IS_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "IS_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "IS_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "IS_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "IS_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "IS_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "IS_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "IS_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "IS_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "IS_ETH",
|
||||
"label": "Ð",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "IS_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "IS_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "IS_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "IS_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "IS_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "IS_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "IS_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "IS_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "IS_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "IS_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "IS_AE",
|
||||
"label": "Æ",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "IS_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "IS_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "IS_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "IS_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "IS_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "IS_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "IS_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "IS_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "IS_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "IS_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "IS_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "IS_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "IS_THRN",
|
||||
"label": "Þ",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ¨ │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ │ _ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ? │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(IS_RNGA)": {
|
||||
"key": "IS_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"S(IS_1)": {
|
||||
"key": "IS_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(IS_2)": {
|
||||
"key": "IS_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(IS_3)": {
|
||||
"key": "IS_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(IS_4)": {
|
||||
"key": "IS_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(IS_5)": {
|
||||
"key": "IS_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(IS_6)": {
|
||||
"key": "IS_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(IS_7)": {
|
||||
"key": "IS_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(IS_8)": {
|
||||
"key": "IS_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(IS_9)": {
|
||||
"key": "IS_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(IS_0)": {
|
||||
"key": "IS_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(IS_MINS)": {
|
||||
"key": "IS_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(IS_QUOT)": {
|
||||
"key": "IS_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(IS_PLUS)": {
|
||||
"key": "IS_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(IS_LABK)": {
|
||||
"key": "IS_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(IS_COMM)": {
|
||||
"key": "IS_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(IS_DOT)": {
|
||||
"key": "IS_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ° │ │ │ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ^ │ ` │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(IS_RNGA)": {
|
||||
"key": "IS_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"ALGR(IS_7)": {
|
||||
"key": "IS_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"ALGR(IS_8)": {
|
||||
"key": "IS_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(IS_9)": {
|
||||
"key": "IS_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(IS_0)": {
|
||||
"key": "IS_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"ALGR(IS_ODIA)": {
|
||||
"key": "IS_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"ALGR(IS_Q)": {
|
||||
"key": "IS_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(IS_E)": {
|
||||
"key": "IS_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(IS_QUOT)": {
|
||||
"key": "IS_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"ALGR(IS_ACUT)": {
|
||||
"key": "IS_CIRC",
|
||||
"label": "^ (dead)",
|
||||
}
|
||||
"ALGR(IS_PLUS)": {
|
||||
"key": "IS_GRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"ALGR(IS_LABK)": {
|
||||
"key": "IS_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"ALGR(IS_M)": {
|
||||
"key": "IS_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,355 +0,0 @@
|
|||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "IE_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "IE_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "IE_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "IE_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "IE_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "IE_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "IE_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "IE_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "IE_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "IE_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "IE_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "IE_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "IE_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "IE_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "IE_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "IE_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "IE_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "IE_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "IE_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "IE_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "IE_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "IE_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "IE_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "IE_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "IE_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "IE_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "IE_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "IE_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "IE_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "IE_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "IE_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "IE_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "IE_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "IE_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "IE_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "IE_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "IE_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "IE_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "IE_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "IE_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "IE_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "IE_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "IE_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "IE_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "IE_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "IE_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "IE_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "IE_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ : │ @ │ ~ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ | │ │ │ │ │ │ │ │ < │ > │ ? │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(IE_GRV)": {
|
||||
"key": "IE_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"S(IE_1)": {
|
||||
"key": "IE_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(IE_2)": {
|
||||
"key": "IE_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(IE_3)": {
|
||||
"key": "IE_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(IE_4)": {
|
||||
"key": "IE_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(IE_5)": {
|
||||
"key": "IE_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(IE_6)": {
|
||||
"key": "IE_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(IE_7)": {
|
||||
"key": "IE_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(IE_8)": {
|
||||
"key": "IE_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(IE_9)": {
|
||||
"key": "IE_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(IE_0)": {
|
||||
"key": "IE_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(IE_MINS)": {
|
||||
"key": "IE_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
"S(IE_EQL)": {
|
||||
"key": "IE_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(IE_LBRC)": {
|
||||
"key": "IE_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(IE_RBRC)": {
|
||||
"key": "IE_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(IE_SCLN)": {
|
||||
"key": "IE_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(IE_QUOT)": {
|
||||
"key": "IE_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"S(IE_HASH)": {
|
||||
"key": "IE_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"S(IE_BSLS)": {
|
||||
"key": "IE_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(IE_COMM)": {
|
||||
"key": "IE_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(IE_DOT)": {
|
||||
"key": "IE_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(IE_SLSH)": {
|
||||
"key": "IE_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ¦ │ │ │ │ € │ │ │ │ │ │ │ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ É │ │ │ │ Ú │ Í │ Ó │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Á │ │ │ │ │ │ │ │ │ │ ´ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(IE_GRV)": {
|
||||
"key": "IE_BRKP",
|
||||
"label": "¦",
|
||||
}
|
||||
"ALGR(IE_4)": {
|
||||
"key": "IE_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(IE_E)": {
|
||||
"key": "IE_EACU",
|
||||
"label": "É",
|
||||
}
|
||||
"ALGR(IE_U)": {
|
||||
"key": "IE_UACU",
|
||||
"label": "Ú",
|
||||
}
|
||||
"ALGR(IE_I)": {
|
||||
"key": "IE_IACU",
|
||||
"label": "Í",
|
||||
}
|
||||
"ALGR(IE_O)": {
|
||||
"key": "IE_OACU",
|
||||
"label": "Ó",
|
||||
}
|
||||
"ALGR(IE_A)": {
|
||||
"key": "IE_AACU",
|
||||
"label": "Á",
|
||||
}
|
||||
"ALGR(IE_QUOT)": {
|
||||
"key": "IE_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue