mirror of
https://github.com/zsa/qmk_firmware.git
synced 2026-01-12 00:18:01 +00:00
Compare commits
277 Commits
firmware24
...
10
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
573e0bfab1 | ||
|
|
c8db6dfdd3 | ||
|
|
4de36ce45b | ||
|
|
5a30142914 | ||
|
|
927969d6cb | ||
|
|
d2100ba45d | ||
|
|
4a5b36ec4c | ||
|
|
6d6506e6ee | ||
|
|
81c563c692 | ||
|
|
8c164726e8 | ||
|
|
1102bea973 | ||
|
|
4df874a1d9 | ||
|
|
e0eecc6834 | ||
|
|
04eb1226b9 | ||
|
|
a393d4d43e | ||
|
|
8253427f12 | ||
|
|
aa482e2e4f | ||
|
|
f5980a2478 | ||
|
|
4cc72c55e5 | ||
|
|
7e3af676e7 | ||
|
|
3aced2b5c9 | ||
|
|
ce1b51be8b | ||
|
|
90853e60bb | ||
|
|
c08ddb41a6 | ||
|
|
c7dcc83e5e | ||
|
|
e237feba30 | ||
|
|
3acf64b708 | ||
|
|
4083565334 | ||
|
|
b279d2b94e | ||
|
|
656b2ee939 | ||
|
|
d8925d7ba7 | ||
|
|
9fb4d67877 | ||
|
|
a20730f634 | ||
|
|
4562a637bf | ||
|
|
e8de784425 | ||
|
|
0b25414aec | ||
|
|
3dd97c383b | ||
|
|
ffc273b14a | ||
|
|
7f75ee8cd6 | ||
|
|
8ca6a89078 | ||
|
|
7e080e7ecd | ||
|
|
1879c6e734 | ||
|
|
c98d65fd03 | ||
|
|
ecf353a1d5 | ||
|
|
92d137cec9 | ||
|
|
fd2246f972 | ||
|
|
16a8150de3 | ||
|
|
dd148c595c | ||
|
|
642986a834 | ||
|
|
ea40d07776 | ||
|
|
3e7e8a3d9f | ||
|
|
70ed220c19 | ||
|
|
517329696b | ||
|
|
341cf42d92 | ||
|
|
4675f2727b | ||
|
|
dba5ec7d92 | ||
|
|
d29148f289 | ||
|
|
d5aa21b024 | ||
|
|
b69a93d65e | ||
|
|
47909e2821 | ||
|
|
2f960abb51 | ||
|
|
0ea9391236 | ||
|
|
d49944f1a2 | ||
|
|
59055df0d4 | ||
|
|
071e51994b | ||
|
|
e2f2d8b22e | ||
|
|
03a8adc19b | ||
|
|
1c9011fbd1 | ||
|
|
2aa3b88823 | ||
|
|
a31212a389 | ||
|
|
f55c4ced28 | ||
|
|
1a3f69b02a | ||
|
|
b2f15ce264 | ||
|
|
dc13f5f518 | ||
|
|
61d1932f7c | ||
|
|
1ba27782ef | ||
|
|
9b248baf43 | ||
|
|
f781b36aaa | ||
|
|
028d02d1f1 | ||
|
|
524e2b9487 | ||
|
|
3a96a585e1 | ||
|
|
6005f6b6bb | ||
|
|
12e79b6972 | ||
|
|
a9f88d121e | ||
|
|
a92ab87f98 | ||
|
|
bb71ba4b00 | ||
|
|
4cb92b05ed | ||
|
|
f3c7a253ca | ||
|
|
877b962dcc | ||
|
|
4b6c1b8c2c | ||
|
|
f76e726edd | ||
|
|
4bc1ac65ca | ||
|
|
96147e03e8 | ||
|
|
9e86204fd4 | ||
|
|
548848645a | ||
|
|
655a4e7cec | ||
|
|
5b346419c7 | ||
|
|
0315ef645b | ||
|
|
680c966e8e | ||
|
|
20218bebf5 | ||
|
|
85291ed7a3 | ||
|
|
b58ea9ad0f | ||
|
|
09e6b94927 | ||
|
|
75eb509452 | ||
|
|
0cce8cbab0 | ||
|
|
3ed039ed76 | ||
|
|
24d05fee49 | ||
|
|
a90a78c265 | ||
|
|
3662999df2 | ||
|
|
5cb5e04f13 | ||
|
|
0554bced7c | ||
|
|
18e15a7077 | ||
|
|
2e08096ba6 | ||
|
|
5b69491bac | ||
|
|
05e01eb565 | ||
|
|
fd7caea42e | ||
|
|
1e51f568dd | ||
|
|
1724b515b5 | ||
|
|
cf1b36bf83 | ||
|
|
689303e49f | ||
|
|
37d0686bd0 | ||
|
|
8ca41899d2 | ||
|
|
95e4c8a461 | ||
|
|
c4f2f95db8 | ||
|
|
a8ed2608b5 | ||
|
|
665e719e31 | ||
|
|
5d9a4c4414 | ||
|
|
b4dab5b09b | ||
|
|
4d57a049b5 | ||
|
|
6364fe4efb | ||
|
|
51cc6f398d | ||
|
|
9ab77d760c | ||
|
|
be58a68473 | ||
|
|
4b5a0375d4 | ||
|
|
ff3e430970 | ||
|
|
270ab0d3fb | ||
|
|
43aae47b38 | ||
|
|
c7d9b48cc9 | ||
|
|
3c5dd583e1 | ||
|
|
3504bf30e1 | ||
|
|
7a136f7440 | ||
|
|
8e9ac7d142 | ||
|
|
46ea7dfd51 | ||
|
|
1f3fd52b6d | ||
|
|
e622e6d1bb | ||
|
|
2a70dc8eea | ||
|
|
feb7c58f30 | ||
|
|
4f2efc06ce | ||
|
|
8903b7913a | ||
|
|
25aa7bcbdb | ||
|
|
19c6b7fe10 | ||
|
|
caef39bf2a | ||
|
|
4550e29f95 | ||
|
|
22426a4b4a | ||
|
|
2351739cd9 | ||
|
|
882b8df7af | ||
|
|
fd776b06b3 | ||
|
|
8a9e766bdc | ||
|
|
59d28fe288 | ||
|
|
fd06a342ee | ||
|
|
c382378a35 | ||
|
|
882651dc06 | ||
|
|
c3d6f89274 | ||
|
|
f6743b86a9 | ||
|
|
edf5c533d6 | ||
|
|
b6648f46a8 | ||
|
|
51b568a197 | ||
|
|
396c6adaa8 | ||
|
|
38c65e4928 | ||
|
|
9e8cd4f5ea | ||
|
|
c941ef0f09 | ||
|
|
eedffbdfc4 | ||
|
|
1a3d6cd98f | ||
|
|
cc1e4cde13 | ||
|
|
98a35272cf | ||
|
|
d663b42978 | ||
|
|
ebca01b46b | ||
|
|
d1d0211bf1 | ||
|
|
190bc5bada | ||
|
|
5a7085b642 | ||
|
|
2e76759f76 | ||
|
|
b71e3e80c6 | ||
|
|
8eb37fa4f3 | ||
|
|
57bfdd8b50 | ||
|
|
1267504957 | ||
|
|
9f37354851 | ||
|
|
bd66bf5f8f | ||
|
|
f93b7b53b7 | ||
|
|
2d95c30c28 | ||
|
|
7ca465911d | ||
|
|
d22fda3ca4 | ||
|
|
ff2838d2dd | ||
|
|
86f437c81f | ||
|
|
95462d0d65 | ||
|
|
c3a160bf72 | ||
|
|
70945f1146 | ||
|
|
9470a4b17d | ||
|
|
3dbbb83d59 | ||
|
|
e0fe8edb2d | ||
|
|
25c88b2bb4 | ||
|
|
9f180afb25 | ||
|
|
3fe282f1c1 | ||
|
|
5959e23fd0 | ||
|
|
6cb88628e9 | ||
|
|
28cbf7c352 | ||
|
|
95f8ac3424 | ||
|
|
4bbdd77e83 | ||
|
|
cedda573be | ||
|
|
f661d86d97 | ||
|
|
0a04a0e419 | ||
|
|
0886c7ce57 | ||
|
|
60204faed0 | ||
|
|
0612c9968b | ||
|
|
c8cbf4733a | ||
|
|
021df9d028 | ||
|
|
9c17531c19 | ||
|
|
bcb37d5f57 | ||
|
|
69ab70c97c | ||
|
|
f5e47ed1e5 | ||
|
|
52044905a4 | ||
|
|
c752284c7c | ||
|
|
ad02b62dd2 | ||
|
|
25a9a2f91c | ||
|
|
b51f1e0971 | ||
|
|
51a682bb9c | ||
|
|
09d1ff9a32 | ||
|
|
5f65ba63e7 | ||
|
|
362eaec0a3 | ||
|
|
12c0611189 | ||
|
|
54a7f66aee | ||
|
|
eed7c15c2f | ||
|
|
7b3545c3d8 | ||
|
|
4c2444a4e2 | ||
|
|
a5ded39656 | ||
|
|
e26b21baf4 | ||
|
|
7f3d1b627c | ||
|
|
e3fce19c55 | ||
|
|
417d80d421 | ||
|
|
637c276070 | ||
|
|
590a07bf94 | ||
|
|
743fda2658 | ||
|
|
7b19fcc9e9 | ||
|
|
72537dd8e9 | ||
|
|
7a5cbcac9f | ||
|
|
bb91bc4309 | ||
|
|
1fa1feec59 | ||
|
|
8b5c5b5699 | ||
|
|
cd1a59c614 | ||
|
|
e2f96b9d53 | ||
|
|
33178f1261 | ||
|
|
36f667f09e | ||
|
|
6e57437c42 | ||
|
|
317735239f | ||
|
|
4506931676 | ||
|
|
60ffa59a77 | ||
|
|
ea4581cef1 | ||
|
|
4a98f1e7a0 | ||
|
|
f2332d2bcb | ||
|
|
dc9736a806 | ||
|
|
a98777199e | ||
|
|
7661468719 | ||
|
|
45207b079b | ||
|
|
431766476b | ||
|
|
5f8fdefe3a | ||
|
|
6acfceaeb4 | ||
|
|
5747449ca5 | ||
|
|
fd770232d9 | ||
|
|
c846f82fa7 | ||
|
|
399b992b01 | ||
|
|
ffd18ce409 | ||
|
|
25609b09ae | ||
|
|
51a7fb1f1e | ||
|
|
7c9d1d58ee | ||
|
|
b6850bc043 | ||
|
|
19ed62114a | ||
|
|
6baec0fffd | ||
|
|
23a52e40b3 |
@@ -1,13 +1,10 @@
|
||||
---
|
||||
---
|
||||
BasedOnStyle: Google
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: 'true'
|
||||
AlignConsecutiveDeclarations: 'true'
|
||||
AlignOperands: 'true'
|
||||
AllowAllParametersOfDeclarationOnNextLine: 'false'
|
||||
AllowShortCaseLabelsOnASingleLine: 'false'
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
AllowShortLoopsOnASingleLine: 'false'
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: 'false'
|
||||
@@ -16,15 +13,14 @@ BinPackParameters: 'true'
|
||||
ColumnLimit: '1000'
|
||||
IndentCaseLabels: 'true'
|
||||
IndentPPDirectives: AfterHash
|
||||
IndentWidth: '4'
|
||||
IndentWidth: '2'
|
||||
MaxEmptyLinesToKeep: '1'
|
||||
PointerAlignment: Right
|
||||
SortIncludes: 'false'
|
||||
SpaceBeforeAssignmentOperators: 'true'
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceInEmptyParentheses: 'false'
|
||||
SpacesBeforeTrailingComments: 1
|
||||
TabWidth: '4'
|
||||
TabWidth: '2'
|
||||
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)\"
|
||||
4
.clangd
4
.clangd
@@ -1,4 +0,0 @@
|
||||
CompileFlags:
|
||||
Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option]
|
||||
Remove: [-W*, -mmcu=*, -mcpu=*, -mfpu=*, -mfloat-abi=*, -mno-unaligned-access, -mno-thumb-interwork, -mcall-prologues]
|
||||
Compiler: clang
|
||||
@@ -4,39 +4,39 @@
|
||||
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
|
||||
|
||||
[{*.yaml,*.yml}] # To match GitHub Actions formatting
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
indent_size = 4
|
||||
|
||||
[{Makefile,*.mk}]
|
||||
[{qmk,*.py}]
|
||||
charset = utf-8
|
||||
max_line_length = 200
|
||||
|
||||
# Make these match what we have in .gitattributes
|
||||
[*.mk]
|
||||
end_of_line = lf
|
||||
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}]
|
||||
[Makefile]
|
||||
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
|
||||
indent_style = tab
|
||||
|
||||
[*.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
|
||||
|
||||
5
.github/ISSUE_TEMPLATE/blank.md
vendored
Normal file
5
.github/ISSUE_TEMPLATE/blank.md
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
name: Blank issue
|
||||
about: If you're 100% sure that you don't need one of the other issue templates, use this one instead.
|
||||
|
||||
---
|
||||
32
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
32
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve the QMK Firmware
|
||||
---
|
||||
<!-- Provide a general summary of the bug in the title above. -->
|
||||
|
||||
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
|
||||
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
|
||||
|
||||
## Describe the Bug
|
||||
|
||||
<!-- A clear and concise description of what the bug is. -->
|
||||
|
||||
## System Information
|
||||
|
||||
- Keyboard:
|
||||
- Revision (if applicable):
|
||||
- Operating system:
|
||||
- AVR GCC version:
|
||||
<!-- Run `avr-gcc --version` to find this out. -->
|
||||
- ARM GCC version:
|
||||
<!-- Run `arm-none-eabi-gcc --version` to find this out. -->
|
||||
- QMK Firmware version:
|
||||
<!-- Run `git describe --abbrev=0 --tags` to find this out. -->
|
||||
- Any keyboard related software installed?
|
||||
- [ ] AutoHotKey
|
||||
- [ ] Karabiner
|
||||
- [ ] Other:
|
||||
|
||||
## Additional Context
|
||||
|
||||
<!-- Add any other relevant information about the problem here. -->
|
||||
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/Uq7gcHh
|
||||
about: Ask questions, discuss issues and features. Chill.
|
||||
- name: OLKB Subreddit
|
||||
url: https://www.reddit.com/r/olkb
|
||||
about: All things OLKB and QMK.
|
||||
19
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
19
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest a new feature or changes to existing features
|
||||
---
|
||||
<!--- Provide a general summary of the changes you want in the title above. -->
|
||||
|
||||
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
|
||||
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
|
||||
|
||||
## Feature Request Type
|
||||
|
||||
- [ ] Core functionality
|
||||
- [ ] Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
|
||||
- [ ] Alteration (enhancement/optimization) of existing feature(s)
|
||||
- [ ] New behavior
|
||||
|
||||
## 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. -->
|
||||
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.
|
||||
9
.github/ISSUE_TEMPLATE/other_issues.md
vendored
Normal file
9
.github/ISSUE_TEMPLATE/other_issues.md
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
name: Other issues
|
||||
about: Anything else that doesn't fall into the above categories.
|
||||
---
|
||||
<!--- Provide a general summary of the changes you want in the title above. -->
|
||||
|
||||
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
|
||||
|
||||
<!-- Please check 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. -->
|
||||
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: ''
|
||||
|
||||
---
|
||||
|
||||
|
||||
3
.github/PULL_REQUEST_TEMPLATE.md
vendored
3
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -26,8 +26,7 @@
|
||||
|
||||
<!--- 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 code follows the code style of this project.
|
||||
- [ ] 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).
|
||||
|
||||
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"
|
||||
46
.github/labeler.yml
vendored
46
.github/labeler.yml
vendored
@@ -1,46 +0,0 @@
|
||||
core:
|
||||
- quantum/**/*
|
||||
- tmk_core/**/*
|
||||
- drivers/**/*
|
||||
- tests/**/*
|
||||
- util/**/*
|
||||
- platforms/**/*
|
||||
- builddefs/**/*
|
||||
- Makefile
|
||||
- '*.mk'
|
||||
dependencies:
|
||||
- any:
|
||||
- 'lib/**/*'
|
||||
- '!lib/python/**/*'
|
||||
keyboard:
|
||||
- any:
|
||||
- 'keyboards/**/*'
|
||||
- '!keyboards/**/keymaps/**/*'
|
||||
keymap:
|
||||
- users/**/*
|
||||
- layouts/**/*
|
||||
- keyboards/**/keymaps/**/*
|
||||
via:
|
||||
- keyboards/**/keymaps/via/*
|
||||
cli:
|
||||
- requirements.txt
|
||||
- lib/python/**/*
|
||||
python:
|
||||
- '**/*.py'
|
||||
documentation:
|
||||
- docs/**/*
|
||||
translation:
|
||||
- docs/fr-fr/**/*
|
||||
- docs/es/**/*
|
||||
- docs/ja/**/*
|
||||
- docs/he-il/**/*
|
||||
- docs/pt-br/**/*
|
||||
- docs/zh-cn/**/*
|
||||
- docs/de/**/*
|
||||
- docs/ru-ru/**/*
|
||||
CI:
|
||||
- .github/**/*
|
||||
dd:
|
||||
- data/constants/**/*
|
||||
- data/mappings/**/*
|
||||
- data/schemas/**/*
|
||||
34
.github/workflows/build.yml
vendored
34
.github/workflows/build.yml
vendored
@@ -1,34 +0,0 @@
|
||||
name: Build firmware
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
jobs:
|
||||
build-firmware:
|
||||
runs-on: ubuntu-latest
|
||||
container: qmkfm/qmk_cli
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
keymap:
|
||||
- default
|
||||
- oryx
|
||||
|
||||
steps:
|
||||
- name: Checkout QMK Firmware
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
submodules: true
|
||||
|
||||
- name: Build
|
||||
id: build
|
||||
run: |
|
||||
qmk mass-compile -f manufacturer="ZSA Technology Labs" -km ${{ matrix.keymap }} -e SKIP_GIT=1
|
||||
57
.github/workflows/format.yml
vendored
57
.github/workflows/format.yml
vendored
@@ -1,57 +0,0 @@
|
||||
name: PR Lint Format
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'drivers/**'
|
||||
- 'lib/arm_atsam/**'
|
||||
- 'lib/lib8tion/**'
|
||||
- 'lib/python/**'
|
||||
- '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@v44
|
||||
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)"
|
||||
18
.github/workflows/labeler.yml
vendored
18
.github/workflows/labeler.yml
vendored
@@ -1,18 +0,0 @@
|
||||
name: "Pull Request Labeler"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, synchronize, reopened, ready_for_review, locked]
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@v4
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
configuration-path: '.github/labeler.yml'
|
||||
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@v44
|
||||
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)"
|
||||
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
|
||||
154
.gitignore
vendored
154
.gitignore
vendored
@@ -1,132 +1,68 @@
|
||||
# Junk files
|
||||
*.bak
|
||||
*.swp
|
||||
*~
|
||||
.DS_Store
|
||||
._*
|
||||
|
||||
# Merge files
|
||||
*.orig
|
||||
*.rej
|
||||
|
||||
# Build artifacts
|
||||
.clang_complete
|
||||
.build/
|
||||
.history/
|
||||
.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
|
||||
|
||||
# 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
|
||||
/users/
|
||||
/layouts/
|
||||
/keyboards/*/Makefile
|
||||
!/keyboards/ergodox_ez/
|
||||
!/keyboards/planck/
|
||||
|
||||
# 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
|
||||
|
||||
# things travis sees
|
||||
secrets.tar
|
||||
id_rsa_*
|
||||
/.vs
|
||||
|
||||
# Python things
|
||||
# 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/vial/*
|
||||
|
||||
# ZSA Specific ignores
|
||||
/docs/**
|
||||
/users/**
|
||||
/layouts/community/**
|
||||
/keyboards/**
|
||||
!/keyboards/zsa/
|
||||
!/keyboards/zsa/**
|
||||
/keyboards/zsa/**/keymaps/**
|
||||
!/keyboards/zsa/**/keymaps/default
|
||||
!/keyboards/zsa/**/keymaps/default/**
|
||||
!/keyboards/zsa/**/keymaps/oryx
|
||||
!/keyboards/zsa/**/keymaps/oryx/**
|
||||
|
||||
24
.gitmodules
vendored
24
.gitmodules
vendored
@@ -1,27 +1,13 @@
|
||||
[submodule "lib/chibios"]
|
||||
path = lib/chibios
|
||||
url = https://github.com/qmk/ChibiOS
|
||||
branch = master
|
||||
[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
|
||||
|
||||
28
.travis.yml
Normal file
28
.travis.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
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=
|
||||
- MAKEFLAGS="-j3 --output-sync"
|
||||
services:
|
||||
- docker
|
||||
install:
|
||||
- npm install -g moxygen
|
||||
script:
|
||||
- git rev-parse --short HEAD
|
||||
- bash util/travis_test.sh
|
||||
- bash util/travis_build.sh
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- pandoc
|
||||
- diffutils
|
||||
- dos2unix
|
||||
- doxygen
|
||||
10
.vscode/extensions.json
vendored
10
.vscode/extensions.json
vendored
@@ -1,10 +0,0 @@
|
||||
// Suggested extensions
|
||||
{
|
||||
"recommendations": [
|
||||
"EditorConfig.EditorConfig",
|
||||
"xaver.clang-format",
|
||||
"llvm-vs-code-extensions.vscode-clangd",
|
||||
"bierner.github-markdown-preview",
|
||||
"donjayamanne.git-extension-pack"
|
||||
]
|
||||
}
|
||||
34
.vscode/settings.json
vendored
34
.vscode/settings.json
vendored
@@ -1,34 +0,0 @@
|
||||
// Place your settings in this file to overwrite default and user settings.
|
||||
{
|
||||
// Unofficially, QMK uses spaces for indentation
|
||||
"editor.insertSpaces": true,
|
||||
// Configure glob patterns for excluding files and folders.
|
||||
"files.exclude": {
|
||||
"**/.build": true,
|
||||
"**/*.hex": true,
|
||||
"**/*.bin": true,
|
||||
"**/*.uf2": true
|
||||
},
|
||||
"files.associations": {
|
||||
"*.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"
|
||||
]
|
||||
}
|
||||
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, tolerant, and welcoming community. We encourage 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 kindness and respect, to assume good intentions, and to gently correct, where possible, rather than react with escalation. While our goal is to be as accurate as possible, kindness and understanding are more valuable than correctness. 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.
|
||||
7
Dockerfile
Normal file
7
Dockerfile
Normal file
@@ -0,0 +1,7 @@
|
||||
FROM qmkfm/base_container
|
||||
|
||||
VOLUME /qmk_firmware
|
||||
WORKDIR /qmk_firmware
|
||||
COPY . .
|
||||
|
||||
CMD make all:all
|
||||
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 = */protocol/arm_atsam/*
|
||||
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
|
||||
|
||||
451
Makefile
451
Makefile
@@ -19,51 +19,150 @@ 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
|
||||
|
||||
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))
|
||||
|
||||
.PHONY: list-keyboards
|
||||
list-keyboards:
|
||||
echo $(KEYBOARDS)
|
||||
|
||||
define PRINT_KEYBOARD
|
||||
$(info $(PRINTING_KEYBOARD))
|
||||
endef
|
||||
|
||||
.PHONY: generate-keyboards-file
|
||||
generate-keyboards-file:
|
||||
$(foreach PRINTING_KEYBOARD,$(KEYBOARDS),$(eval $(call PRINT_KEYBOARD)))
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
echo -n 'Deleting .build/ ... '
|
||||
rm -rf $(BUILD_DIR)
|
||||
echo 'done.'
|
||||
|
||||
.PHONY: distclean
|
||||
distclean: clean
|
||||
echo -n 'Deleting *.bin and *.hex ... '
|
||||
rm -f *.bin *.hex
|
||||
echo 'done.'
|
||||
|
||||
#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)
|
||||
@@ -90,20 +189,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 :=
|
||||
@@ -132,32 +265,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,$$(shell $(QMK_BIN) list-keyboards --no-resolve-defaults)),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
|
||||
@@ -195,21 +321,39 @@ define PARSE_KEYBOARD
|
||||
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.)))
|
||||
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.)))
|
||||
KEYMAPS += $$(notdir $$(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)))
|
||||
|
||||
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/*/.)))
|
||||
KEYBOARD_LAYOUTS :=
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
|
||||
endif
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
|
||||
endif
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
|
||||
endif
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/rules.mk)
|
||||
KEYBOARD_LAYOUTS := $$(sort $$(LAYOUTS) $$(KEYBOARD_LAYOUTS))
|
||||
endif
|
||||
ifneq ("$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/rules.mk)","")
|
||||
LAYOUTS :=
|
||||
$$(eval include $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_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))
|
||||
|
||||
@@ -220,18 +364,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
|
||||
@@ -242,18 +380,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
|
||||
@@ -265,7 +410,7 @@ 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)
|
||||
# If we are compiling a keyboard without a subproject, we want to display just the name
|
||||
@@ -274,9 +419,9 @@ define PARSE_KEYMAP
|
||||
# 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
|
||||
@@ -293,8 +438,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 \
|
||||
@@ -314,20 +457,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 ]; \
|
||||
@@ -337,21 +478,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
|
||||
@@ -370,7 +504,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
|
||||
@@ -395,18 +529,25 @@ 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;
|
||||
# Ensure that python3 is installed. This check can be removed after python is used in more places.
|
||||
if ! python3 --version 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; 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 --depth 1 --init lib/chibios; fi
|
||||
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 1 --init lib/chibios-contrib; fi
|
||||
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --depth 1 --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,$@))
|
||||
@@ -421,62 +562,50 @@ endif
|
||||
$(foreach TEST,$(sort $(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 --progress
|
||||
|
||||
.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
|
||||
|
||||
93
Vagrantfile
vendored
Normal file
93
Vagrantfile
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
# define a name instead of just 'default'
|
||||
config.vm.define "qmk_firmware"
|
||||
|
||||
# VMware/Virtualbox ( and also Hyperv/Parallels) 64 bit
|
||||
config.vm.box = "generic/debian9"
|
||||
|
||||
# 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"
|
||||
# Uncomment the below lines if you have time sync
|
||||
# issues with make and incremental builds
|
||||
#vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 1000 ]
|
||||
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. In this case, we adhoc build util/vagrant/Dockerfile.
|
||||
# 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.build_dir = "util/vagrant"
|
||||
docker.has_ssh = true
|
||||
end
|
||||
|
||||
# Unless we are running the docker container directly
|
||||
# 1. run container detached on vm
|
||||
# 2. attach on 'vagrant ssh'
|
||||
["virtualbox", "vmware_workstation", "vmware_fusion"].each do |type|
|
||||
config.vm.provider type do |virt, override|
|
||||
override.vm.provision "docker" do |d|
|
||||
d.run "qmkfm/base_container",
|
||||
cmd: "tail -f /dev/null",
|
||||
args: "--privileged -v /dev:/dev -v '/vagrant:/vagrant'"
|
||||
end
|
||||
|
||||
override.vm.provision "shell", inline: <<-SHELL
|
||||
echo 'docker restart qmkfm-base_container && exec docker exec -it qmkfm-base_container /bin/bash -l' >> ~vagrant/.bashrc
|
||||
SHELL
|
||||
end
|
||||
end
|
||||
|
||||
config.vm.post_up_message = <<-EOT
|
||||
|
||||
Log into the environment using 'vagrant ssh'. QMK directory synchronized with
|
||||
host is located at /vagrant
|
||||
To compile the .hex files use make command inside this directory, e.g.
|
||||
cd /vagrant
|
||||
make <keyboard>:default
|
||||
|
||||
Examples:
|
||||
make planck/rev4:default:dfu
|
||||
make planck:default
|
||||
|
||||
EOT
|
||||
end
|
||||
1
autocomplete.sh
Normal file
1
autocomplete.sh
Normal file
File diff suppressed because one or more lines are too long
97
bin/qmk
Executable file
97
bin/qmk
Executable file
@@ -0,0 +1,97 @@
|
||||
#!/usr/bin/env python3
|
||||
"""CLI wrapper for running QMK commands.
|
||||
"""
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from glob import glob
|
||||
from time import strftime
|
||||
from importlib import import_module
|
||||
from importlib.util import find_spec
|
||||
|
||||
# Add the QMK python libs to our path
|
||||
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
qmk_dir = os.path.abspath(os.path.join(script_dir, '..'))
|
||||
python_lib_dir = os.path.abspath(os.path.join(qmk_dir, 'lib', 'python'))
|
||||
sys.path.append(python_lib_dir)
|
||||
|
||||
# Change to the root of our checkout
|
||||
os.environ['ORIG_CWD'] = os.getcwd()
|
||||
os.chdir(qmk_dir)
|
||||
|
||||
# Make sure our modules have been setup
|
||||
with open('requirements.txt', 'r') as fd:
|
||||
for line in fd.readlines():
|
||||
line = line.strip().replace('<', '=').replace('>', '=')
|
||||
|
||||
if line[0] == '#':
|
||||
continue
|
||||
|
||||
if '#' in line:
|
||||
line = line.split('#')[0]
|
||||
|
||||
module = line.split('=')[0] if '=' in line else line
|
||||
if not find_spec(module):
|
||||
print('Your QMK build environment is not fully setup!\n')
|
||||
print('Please run `./util/qmk_install.sh` to setup QMK.')
|
||||
exit(255)
|
||||
|
||||
# Figure out our version
|
||||
command = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags']
|
||||
result = subprocess.run(command, text=True, capture_output=True)
|
||||
|
||||
if result.returncode == 0:
|
||||
os.environ['QMK_VERSION'] = 'QMK ' + result.stdout.strip()
|
||||
else:
|
||||
os.environ['QMK_VERSION'] = 'QMK ' + strftime('%Y-%m-%d-%H:%M:%S')
|
||||
|
||||
# Setup the CLI
|
||||
import milc
|
||||
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}ψ{style_reset_all}'
|
||||
|
||||
# If we were invoked as `qmk <cmd>` massage sys.argv into `qmk-<cmd>`.
|
||||
# This means we can't accept arguments to the qmk script itself.
|
||||
script_name = os.path.basename(sys.argv[0])
|
||||
if script_name == 'qmk':
|
||||
if len(sys.argv) == 1:
|
||||
milc.cli.log.error('No subcommand specified!\n')
|
||||
|
||||
if len(sys.argv) == 1 or sys.argv[1] in ['-h', '--help']:
|
||||
milc.cli.echo('usage: qmk <subcommand> [...]')
|
||||
milc.cli.echo('\nsubcommands:')
|
||||
subcommands = glob(os.path.join(qmk_dir, 'bin', 'qmk-*'))
|
||||
for subcommand in sorted(subcommands):
|
||||
subcommand = os.path.basename(subcommand).split('-', 1)[1]
|
||||
milc.cli.echo('\t%s', subcommand)
|
||||
milc.cli.echo('\nqmk <subcommand> --help for more information')
|
||||
exit(1)
|
||||
|
||||
if sys.argv[1] in ['-V', '--version']:
|
||||
milc.cli.echo(os.environ['QMK_VERSION'])
|
||||
exit(0)
|
||||
|
||||
sys.argv[0] = script_name = '-'.join((script_name, sys.argv[1]))
|
||||
del sys.argv[1]
|
||||
|
||||
# Look for which module to import
|
||||
if script_name == 'qmk':
|
||||
milc.cli.print_help()
|
||||
exit(0)
|
||||
elif not script_name.startswith('qmk-'):
|
||||
milc.cli.log.error('Invalid symlink, must start with "qmk-": %s', script_name)
|
||||
else:
|
||||
subcommand = script_name.replace('-', '.').replace('_', '.').split('.')
|
||||
subcommand.insert(1, 'cli')
|
||||
subcommand = '.'.join(subcommand)
|
||||
|
||||
try:
|
||||
import_module(subcommand)
|
||||
except ModuleNotFoundError as e:
|
||||
if e.__class__.__name__ != subcommand:
|
||||
raise
|
||||
|
||||
milc.cli.log.error('Invalid subcommand! Could not import %s.', subcommand)
|
||||
exit(1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
milc.cli()
|
||||
1
bin/qmk-compile-json
Symbolic link
1
bin/qmk-compile-json
Symbolic link
@@ -0,0 +1 @@
|
||||
qmk
|
||||
1
bin/qmk-doctor
Symbolic link
1
bin/qmk-doctor
Symbolic link
@@ -0,0 +1 @@
|
||||
qmk
|
||||
1
bin/qmk-hello
Symbolic link
1
bin/qmk-hello
Symbolic link
@@ -0,0 +1 @@
|
||||
qmk
|
||||
1
bin/qmk-json-keymap
Symbolic link
1
bin/qmk-json-keymap
Symbolic link
@@ -0,0 +1 @@
|
||||
qmk
|
||||
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/"
|
||||
}
|
||||
86
bootloader.mk
Normal file
86
bootloader.mk
Normal file
@@ -0,0 +1,86 @@
|
||||
# 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
|
||||
ifeq ($(strip $(BOOTLOADER)), USBasp)
|
||||
OPT_DEFS += -DBOOTLOADER_USBASP
|
||||
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
|
||||
27
build_json.mk
Normal file
27
build_json.mk
Normal file
@@ -0,0 +1,27 @@
|
||||
# Look for a json keymap file
|
||||
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","")
|
||||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","")
|
||||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","")
|
||||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","")
|
||||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
|
||||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","")
|
||||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
|
||||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json
|
||||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
|
||||
endif
|
||||
|
||||
# Generate the keymap.c
|
||||
ifneq ("$(KEYMAP_JSON)","")
|
||||
_ = $(shell test -e $(KEYMAP_C) || bin/qmk-json-keymap $(KEYMAP_JSON) -o $(KEYMAP_C))
|
||||
endif
|
||||
404
build_keyboard.mk
Normal file
404
build_keyboard.mk
Normal file
@@ -0,0 +1,404 @@
|
||||
# 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 common.mk
|
||||
|
||||
# Set the filename for the final firmware binary
|
||||
KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD))
|
||||
TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP)
|
||||
KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE)
|
||||
STM32_PATH := quantum/stm32
|
||||
|
||||
# Force expansion
|
||||
TARGET := $(TARGET)
|
||||
|
||||
# For split boards we need to set a master half.
|
||||
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
|
||||
|
||||
ifdef SKIP_VERSION
|
||||
OPT_DEFS += -DSKIP_VERSION
|
||||
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
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_5)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_4)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_3)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_2)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_1)/rules.mk
|
||||
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)
|
||||
|
||||
# Check for keymap.json first, so we can regenerate keymap.c
|
||||
include build_json.mk
|
||||
|
||||
ifeq ("$(wildcard $(KEYMAP_PATH))", "")
|
||||
# Look through the possible keymap folders until we find a matching keymap.c
|
||||
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 ("$(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_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_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_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 ($(LAYOUTS),)
|
||||
# If we haven't found a keymap yet fall back to community layouts
|
||||
include build_layout.mk
|
||||
else
|
||||
$(error Could not find keymap)
|
||||
# this state should never be reached
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(CTPC)), yes)
|
||||
CONVERT_TO_PROTON_C=yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes)
|
||||
TARGET := $(TARGET)_proton_c
|
||||
include $(STM32_PATH)/proton_c.mk
|
||||
OPT_DEFS += -DCONVERT_TO_PROTON_C
|
||||
endif
|
||||
|
||||
ifneq ($(FORCE_LAYOUT),)
|
||||
TARGET := $(TARGET)_$(FORCE_LAYOUT)
|
||||
endif
|
||||
|
||||
include quantum/mcu_selection.mk
|
||||
|
||||
ifdef MCU_FAMILY
|
||||
OPT_DEFS += -DQMK_STM32
|
||||
KEYBOARD_PATHS += $(STM32_PATH)
|
||||
endif
|
||||
|
||||
|
||||
# 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 neccesary 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)","")
|
||||
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
|
||||
|
||||
# Determine and set parameters based on the keyboard's processor family.
|
||||
# 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 ifdef ARM_ATSAM
|
||||
PLATFORM=ARM_ATSAM
|
||||
FIRMWARE_FORMAT=bin
|
||||
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
|
||||
|
||||
# Find all of the config.h files and add them to our CONFIG_H define.
|
||||
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
|
||||
|
||||
POST_CONFIG_H :=
|
||||
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
|
||||
|
||||
# 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)
|
||||
|
||||
# Userspace setup and definitions
|
||||
ifeq ("$(USER_NAME)","")
|
||||
USER_NAME := $(KEYMAP)
|
||||
endif
|
||||
USER_PATH := users/$(USER_NAME)
|
||||
|
||||
-include $(USER_PATH)/rules.mk
|
||||
ifneq ("$(wildcard $(USER_PATH)/config.h)","")
|
||||
CONFIG_H += $(USER_PATH)/config.h
|
||||
endif
|
||||
|
||||
# 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)
|
||||
|
||||
ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
|
||||
CONFIG_H += $(KEYMAP_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 += $(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 += $(patsubst %.c,%.clib,$(LIB_SRC))
|
||||
SRC += $(patsubst %.c,%.clib,$(QUANTUM_LIB_SRC))
|
||||
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),ARM_ATSAM)
|
||||
include $(TMK_PATH)/arm_atsam.mk
|
||||
include $(TMK_PATH)/protocol/arm_atsam.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
|
||||
|
||||
CONFIG_H += $(POST_CONFIG_H)
|
||||
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
|
||||
build: elf cpfirmware
|
||||
check-size: build
|
||||
objs-size: build
|
||||
|
||||
include show_options.mk
|
||||
include $(TMK_PATH)/rules.mk
|
||||
27
build_layout.mk
Normal file
27
build_layout.mk
Normal file
@@ -0,0 +1,27 @@
|
||||
LAYOUTS_PATH := layouts
|
||||
LAYOUTS_REPOS := $(patsubst %/,%,$(sort $(dir $(wildcard $(LAYOUTS_PATH)/*/))))
|
||||
|
||||
define SEARCH_LAYOUTS_REPO
|
||||
LAYOUT_KEYMAP_PATH := $$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP)
|
||||
LAYOUT_KEYMAP_C := $$(LAYOUT_KEYMAP_PATH)/keymap.c
|
||||
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
|
||||
$(error Forced layout does not exist)
|
||||
endif
|
||||
endif
|
||||
|
||||
$(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/test_driver.cpp \
|
||||
tests/test_common/keyboard_report_util.cpp \
|
||||
tests/test_common/keycode_util.cpp \
|
||||
tests/test_common/keycode_table.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,566 +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)/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
|
||||
TARGET := $(TARGET)
|
||||
|
||||
ifneq ($(FORCE_LAYOUT),)
|
||||
TARGET := $(TARGET)_$(FORCE_LAYOUT)
|
||||
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
|
||||
|
||||
# Generate the board's version.h file.
|
||||
$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(INTERMEDIATE_OUTPUT)/src/version.h)
|
||||
|
||||
# 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
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_5)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_4)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_3)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_2)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_1)/rules.mk
|
||||
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))", "")
|
||||
$(call WARNING_MESSAGE,Keymap is specified as both keymap.json and keymap.c -- keymap.json file wins.)
|
||||
endif
|
||||
|
||||
KEYMAP_PATH := $(KEYMAP_JSON_PATH)
|
||||
|
||||
KEYMAP_C := $(INTERMEDIATE_OUTPUT)/src/keymap.c
|
||||
KEYMAP_H := $(INTERMEDIATE_OUTPUT)/src/config.h
|
||||
|
||||
# Load the keymap-level rules.mk if exists
|
||||
-include $(KEYMAP_PATH)/rules.mk
|
||||
|
||||
# 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)
|
||||
@$(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)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --output $(KEYMAP_H) $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/keymap.c
|
||||
|
||||
endif
|
||||
|
||||
include $(BUILDDEFS_PATH)/converters.mk
|
||||
|
||||
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 :=
|
||||
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 :=
|
||||
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
|
||||
|
||||
# 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
|
||||
|
||||
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
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_1)/post_rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_2)/post_rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_3)/post_rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_4)/post_rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_5)/post_rules.mk
|
||||
endif
|
||||
|
||||
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,92 +0,0 @@
|
||||
ifndef VERBOSE
|
||||
.SILENT:
|
||||
endif
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
OPT = g
|
||||
|
||||
include paths.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
|
||||
|
||||
ifeq ($(strip $(DEBUG)), 1)
|
||||
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)
|
||||
@@ -1,992 +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/>.
|
||||
|
||||
QUANTUM_SRC += \
|
||||
$(QUANTUM_DIR)/quantum.c \
|
||||
$(QUANTUM_DIR)/bitwise.c \
|
||||
$(QUANTUM_DIR)/led.c \
|
||||
$(QUANTUM_DIR)/action.c \
|
||||
$(QUANTUM_DIR)/action_layer.c \
|
||||
$(QUANTUM_DIR)/action_tapping.c \
|
||||
$(QUANTUM_DIR)/action_util.c \
|
||||
$(QUANTUM_DIR)/eeconfig.c \
|
||||
$(QUANTUM_DIR)/keyboard.c \
|
||||
$(QUANTUM_DIR)/keymap_common.c \
|
||||
$(QUANTUM_DIR)/keycode_config.c \
|
||||
$(QUANTUM_DIR)/sync_timer.c \
|
||||
$(QUANTUM_DIR)/logging/debug.c \
|
||||
$(QUANTUM_DIR)/logging/sendchar.c \
|
||||
|
||||
VPATH += $(QUANTUM_DIR)/logging
|
||||
# Fall back to lib/printf if there is no platform provided print
|
||||
ifeq ("$(wildcard $(PLATFORM_PATH)/$(PLATFORM_KEY)/printf.mk)","")
|
||||
include $(QUANTUM_PATH)/logging/print.mk
|
||||
else
|
||||
include $(PLATFORM_PATH)/$(PLATFORM_KEY)/printf.mk
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes)
|
||||
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
|
||||
CONSOLE_ENABLE = yes
|
||||
else ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), api)
|
||||
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
|
||||
endif
|
||||
|
||||
AUDIO_ENABLE ?= no
|
||||
ifeq ($(strip $(AUDIO_ENABLE)), yes)
|
||||
ifeq ($(PLATFORM),CHIBIOS)
|
||||
AUDIO_DRIVER ?= dac_basic
|
||||
ifeq ($(strip $(AUDIO_DRIVER)), dac_basic)
|
||||
OPT_DEFS += -DAUDIO_DRIVER_DAC
|
||||
else ifeq ($(strip $(AUDIO_DRIVER)), dac_additive)
|
||||
OPT_DEFS += -DAUDIO_DRIVER_DAC
|
||||
## stm32f2 and above have a usable DAC unit, f1 do not, and need to use pwm instead
|
||||
else ifeq ($(strip $(AUDIO_DRIVER)), pwm_software)
|
||||
OPT_DEFS += -DAUDIO_DRIVER_PWM
|
||||
else ifeq ($(strip $(AUDIO_DRIVER)), pwm_hardware)
|
||||
OPT_DEFS += -DAUDIO_DRIVER_PWM
|
||||
endif
|
||||
else
|
||||
# fallback for all other platforms is pwm
|
||||
AUDIO_DRIVER ?= pwm_hardware
|
||||
OPT_DEFS += -DAUDIO_DRIVER_PWM
|
||||
endif
|
||||
OPT_DEFS += -DAUDIO_ENABLE
|
||||
COMMON_VPATH += $(QUANTUM_PATH)/audio
|
||||
MUSIC_ENABLE = yes
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_clicky.c
|
||||
SRC += $(QUANTUM_DIR)/audio/audio.c ## common audio code, hardware agnostic
|
||||
SRC += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/audio_$(strip $(AUDIO_DRIVER)).c
|
||||
SRC += $(QUANTUM_DIR)/audio/voices.c
|
||||
SRC += $(QUANTUM_DIR)/audio/luts.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SEQUENCER_ENABLE)), yes)
|
||||
MUSIC_ENABLE = yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(MIDI_ENABLE)), yes)
|
||||
OPT_DEFS += -DMIDI_ENABLE
|
||||
MUSIC_ENABLE = yes
|
||||
COMMON_VPATH += $(QUANTUM_PATH)/midi
|
||||
SRC += $(QUANTUM_DIR)/midi/midi.c
|
||||
SRC += $(QUANTUM_DIR)/midi/midi_device.c
|
||||
SRC += $(QUANTUM_DIR)/midi/qmk_midi.c
|
||||
SRC += $(QUANTUM_DIR)/midi/sysex_tools.c
|
||||
SRC += $(QUANTUM_DIR)/midi/bytequeue/bytequeue.c
|
||||
SRC += $(QUANTUM_DIR)/midi/bytequeue/interrupt_setting.c
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c
|
||||
endif
|
||||
|
||||
VALID_STENO_PROTOCOL_TYPES := geminipr txbolt all
|
||||
STENO_PROTOCOL ?= all
|
||||
ifeq ($(strip $(STENO_ENABLE)), yes)
|
||||
ifeq ($(filter $(STENO_PROTOCOL),$(VALID_STENO_PROTOCOL_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid STENO_PROTOCOL,STENO_PROTOCOL="$(STENO_PROTOCOL)" is not a valid stenography protocol)
|
||||
else
|
||||
OPT_DEFS += -DSTENO_ENABLE
|
||||
VIRTSER_ENABLE ?= yes
|
||||
|
||||
ifeq ($(strip $(STENO_PROTOCOL)), geminipr)
|
||||
OPT_DEFS += -DSTENO_ENABLE_GEMINI
|
||||
endif
|
||||
ifeq ($(strip $(STENO_PROTOCOL)), txbolt)
|
||||
OPT_DEFS += -DSTENO_ENABLE_BOLT
|
||||
endif
|
||||
ifeq ($(strip $(STENO_PROTOCOL)), all)
|
||||
OPT_DEFS += -DSTENO_ENABLE_ALL
|
||||
OPT_DEFS += -DSTENO_ENABLE_GEMINI
|
||||
OPT_DEFS += -DSTENO_ENABLE_BOLT
|
||||
endif
|
||||
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_steno.c
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(MOUSEKEY_ENABLE)), yes)
|
||||
MOUSE_ENABLE := yes
|
||||
endif
|
||||
|
||||
VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick azoteq_iqs5xx cirque_pinnacle_i2c cirque_pinnacle_spi paw3204 pmw3320 pmw3360 pmw3389 pimoroni_trackball custom
|
||||
ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
|
||||
ifeq ($(filter $(POINTING_DEVICE_DRIVER),$(VALID_POINTING_DEVICE_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid POINTING_DEVICE_DRIVER,POINTING_DEVICE_DRIVER="$(POINTING_DEVICE_DRIVER)" is not a valid pointing device type)
|
||||
else
|
||||
OPT_DEFS += -DPOINTING_DEVICE_ENABLE
|
||||
MOUSE_ENABLE := yes
|
||||
VPATH += $(QUANTUM_DIR)/pointing_device
|
||||
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device.c
|
||||
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_drivers.c
|
||||
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_auto_mouse.c
|
||||
ifneq ($(strip $(POINTING_DEVICE_DRIVER)), custom)
|
||||
SRC += drivers/sensors/$(strip $(POINTING_DEVICE_DRIVER)).c
|
||||
OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(shell echo $(POINTING_DEVICE_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
endif
|
||||
OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(POINTING_DEVICE_DRIVER))
|
||||
ifeq ($(strip $(POINTING_DEVICE_DRIVER)), adns9800)
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick)
|
||||
ANALOG_DRIVER_REQUIRED = yes
|
||||
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), azoteq_iqs5xx)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_i2c)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
SRC += drivers/sensors/cirque_pinnacle.c
|
||||
SRC += drivers/sensors/cirque_pinnacle_gestures.c
|
||||
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c
|
||||
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_spi)
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
SRC += drivers/sensors/cirque_pinnacle.c
|
||||
SRC += drivers/sensors/cirque_pinnacle_gestures.c
|
||||
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c
|
||||
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pimoroni_trackball)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
else ifneq ($(filter $(strip $(POINTING_DEVICE_DRIVER)),pmw3360 pmw3389),)
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
SRC += drivers/sensors/pmw33xx_common.c
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
QUANTUM_PAINTER_ENABLE ?= no
|
||||
ifeq ($(strip $(QUANTUM_PAINTER_ENABLE)), yes)
|
||||
include $(QUANTUM_DIR)/painter/rules.mk
|
||||
endif
|
||||
|
||||
VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling legacy_stm32_flash
|
||||
EEPROM_DRIVER ?= vendor
|
||||
ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver)
|
||||
else
|
||||
OPT_DEFS += -DEEPROM_ENABLE
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
|
||||
COMMON_VPATH += $(DRIVER_PATH)/eeprom
|
||||
COMMON_VPATH += $(PLATFORM_COMMON_DIR)
|
||||
ifeq ($(strip $(EEPROM_DRIVER)), custom)
|
||||
# Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM
|
||||
SRC += eeprom_driver.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling)
|
||||
# Wear-leveling EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
|
||||
# External I2C EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
SRC += eeprom_driver.c eeprom_i2c.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), spi)
|
||||
# External SPI EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
SRC += eeprom_driver.c eeprom_spi.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
|
||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), transient)
|
||||
# Transient EEPROM implementation -- no data storage but provides runtime area for it
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||
SRC += eeprom_driver.c eeprom_transient.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), vendor)
|
||||
# Vendor-implemented EEPROM
|
||||
OPT_DEFS += -DEEPROM_VENDOR
|
||||
ifeq ($(PLATFORM),AVR)
|
||||
# Automatically provided by avr-libc, nothing required
|
||||
else ifeq ($(PLATFORM),CHIBIOS)
|
||||
ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
|
||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||
else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G4xx WB32F3G71xx WB32FQ95xx GD32VF103),)
|
||||
# Wear-leveling EEPROM implementation, backed by MCU flash
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
WEAR_LEVELING_DRIVER ?= embedded_flash
|
||||
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
|
||||
# True EEPROM on STM32L0xx, L1xx
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
|
||||
SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
|
||||
else ifneq ($(filter $(MCU_SERIES),RP2040),)
|
||||
# Wear-leveling EEPROM implementation, backed by RP2040 flash
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
WEAR_LEVELING_DRIVER ?= rp2040_flash
|
||||
else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
|
||||
# Teensy EEPROM implementations
|
||||
OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
|
||||
SRC += eeprom_kinetis_flexram.c
|
||||
else
|
||||
# Fall back to transient, i.e. non-persistent
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||
SRC += eeprom_driver.c eeprom_transient.c
|
||||
endif
|
||||
else ifeq ($(PLATFORM),ARM_ATSAM)
|
||||
# arm_atsam EEPROM
|
||||
OPT_DEFS += -DEEPROM_SAMD
|
||||
SRC += eeprom_samd.c
|
||||
else ifeq ($(PLATFORM),TEST)
|
||||
# Test harness "EEPROM"
|
||||
OPT_DEFS += -DEEPROM_TEST_HARNESS
|
||||
SRC += eeprom.c
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
VALID_WEAR_LEVELING_DRIVER_TYPES := custom embedded_flash spi_flash rp2040_flash legacy
|
||||
WEAR_LEVELING_DRIVER ?= none
|
||||
ifneq ($(strip $(WEAR_LEVELING_DRIVER)),none)
|
||||
ifeq ($(filter $(WEAR_LEVELING_DRIVER),$(VALID_WEAR_LEVELING_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid WEAR_LEVELING_DRIVER,WEAR_LEVELING_DRIVER="$(WEAR_LEVELING_DRIVER)" is not a valid wear leveling driver)
|
||||
else
|
||||
FNV_ENABLE := yes
|
||||
OPT_DEFS += -DWEAR_LEVELING_ENABLE
|
||||
OPT_DEFS += -DWEAR_LEVELING_$(strip $(shell echo $(WEAR_LEVELING_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/wear_leveling
|
||||
COMMON_VPATH += $(DRIVER_PATH)/wear_leveling
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/wear_leveling
|
||||
SRC += wear_leveling.c
|
||||
ifeq ($(strip $(WEAR_LEVELING_DRIVER)), embedded_flash)
|
||||
OPT_DEFS += -DHAL_USE_EFL
|
||||
SRC += wear_leveling_efl.c
|
||||
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/wear_leveling/wear_leveling_efl_config.h
|
||||
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), spi_flash)
|
||||
FLASH_DRIVER := spi
|
||||
SRC += wear_leveling_flash_spi.c
|
||||
POST_CONFIG_H += $(DRIVER_PATH)/wear_leveling/wear_leveling_flash_spi_config.h
|
||||
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), rp2040_flash)
|
||||
SRC += wear_leveling_rp2040_flash.c
|
||||
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_rp2040_flash_config.h
|
||||
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), legacy)
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||
SRC += legacy_flash_ops.c wear_leveling_legacy.c
|
||||
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/wear_leveling/wear_leveling_legacy_config.h
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
VALID_FLASH_DRIVER_TYPES := spi
|
||||
FLASH_DRIVER ?= none
|
||||
ifneq ($(strip $(FLASH_DRIVER)), none)
|
||||
ifeq ($(filter $(FLASH_DRIVER),$(VALID_FLASH_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid FLASH_DRIVER,FLASH_DRIVER="$(FLASH_DRIVER)" is not a valid flash driver)
|
||||
else
|
||||
OPT_DEFS += -DFLASH_ENABLE
|
||||
ifeq ($(strip $(FLASH_DRIVER)),spi)
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
OPT_DEFS += -DFLASH_DRIVER -DFLASH_SPI
|
||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||
SRC += flash_spi.c
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
RGBLIGHT_ENABLE ?= no
|
||||
VALID_RGBLIGHT_TYPES := ws2812 apa102 custom
|
||||
|
||||
ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
|
||||
RGBLIGHT_DRIVER ?= ws2812
|
||||
|
||||
ifeq ($(filter $(RGBLIGHT_DRIVER),$(VALID_RGBLIGHT_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid RGBLIGHT_DRIVER,RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type)
|
||||
else
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/rgblight
|
||||
POST_CONFIG_H += $(QUANTUM_DIR)/rgblight/rgblight_post_config.h
|
||||
OPT_DEFS += -DRGBLIGHT_ENABLE
|
||||
OPT_DEFS += -DRGBLIGHT_$(strip $(shell echo $(RGBLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
SRC += $(QUANTUM_DIR)/color.c
|
||||
SRC += $(QUANTUM_DIR)/rgblight/rgblight.c
|
||||
SRC += $(QUANTUM_DIR)/rgblight/rgblight_drivers.c
|
||||
CIE1931_CURVE := yes
|
||||
RGB_KEYCODES_ENABLE := yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGBLIGHT_DRIVER)), ws2812)
|
||||
WS2812_DRIVER_REQUIRED := yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGBLIGHT_DRIVER)), apa102)
|
||||
APA102_DRIVER_REQUIRED := yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VELOCIKEY_ENABLE)), yes)
|
||||
OPT_DEFS += -DVELOCIKEY_ENABLE
|
||||
endif
|
||||
endif
|
||||
|
||||
# Deprecated driver names - do not use
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), aw20216)
|
||||
LED_MATRIX_DRIVER := aw20216s
|
||||
endif
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), ckled2001)
|
||||
LED_MATRIX_DRIVER := snled27351
|
||||
endif
|
||||
|
||||
LED_MATRIX_ENABLE ?= no
|
||||
VALID_LED_MATRIX_TYPES := is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 custom
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
|
||||
ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid LED_MATRIX_DRIVER,LED_MATRIX_DRIVER="$(LED_MATRIX_DRIVER)" is not a valid matrix type)
|
||||
endif
|
||||
OPT_DEFS += -DLED_MATRIX_ENABLE
|
||||
OPT_DEFS += -DLED_MATRIX_$(strip $(shell echo $(LED_MATRIX_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations/runners
|
||||
POST_CONFIG_H += $(QUANTUM_DIR)/led_matrix/post_config.h
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_led_matrix.c
|
||||
SRC += $(QUANTUM_DIR)/led_matrix/led_matrix.c
|
||||
SRC += $(QUANTUM_DIR)/led_matrix/led_matrix_drivers.c
|
||||
LIB8TION_ENABLE := yes
|
||||
CIE1931_CURVE := yes
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3218)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3218-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3236)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3236-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3729)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3729-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3731)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3731-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3733)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3733-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3736)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3736-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3737)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3737-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3741)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3741-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3742a-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3743a-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3745-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3746a-mono.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), snled27351)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led
|
||||
SRC += snled27351-mono.c
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
# Deprecated driver names - do not use
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216)
|
||||
RGB_MATRIX_DRIVER := aw20216s
|
||||
endif
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), ckled2001)
|
||||
RGB_MATRIX_DRIVER := snled27351
|
||||
endif
|
||||
|
||||
RGB_MATRIX_ENABLE ?= no
|
||||
|
||||
VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 custom
|
||||
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
|
||||
ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type)
|
||||
endif
|
||||
OPT_DEFS += -DRGB_MATRIX_ENABLE
|
||||
OPT_DEFS += -DRGB_MATRIX_$(strip $(shell echo $(RGB_MATRIX_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations/runners
|
||||
POST_CONFIG_H += $(QUANTUM_DIR)/rgb_matrix/post_config.h
|
||||
SRC += $(QUANTUM_DIR)/color.c
|
||||
SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix.c
|
||||
SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix_drivers.c
|
||||
LIB8TION_ENABLE := yes
|
||||
CIE1931_CURVE := yes
|
||||
RGB_KEYCODES_ENABLE := yes
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216s)
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led
|
||||
SRC += aw20216s.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3218)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3218.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3236)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3236.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3729)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3729.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3731.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3733)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3733.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3736)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3736.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3737)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3737.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3741)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3741.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3742a.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3743a.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3745.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3746a.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), snled27351)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led
|
||||
SRC += snled27351.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), ws2812)
|
||||
WS2812_DRIVER_REQUIRED := yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), apa102)
|
||||
APA102_DRIVER_REQUIRED := yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes)
|
||||
OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_CUSTOM_USER)), yes)
|
||||
OPT_DEFS += -DRGB_MATRIX_CUSTOM_USER
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_KEYCODES_ENABLE)), yes)
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_rgb.c
|
||||
endif
|
||||
|
||||
VARIABLE_TRACE ?= no
|
||||
ifneq ($(strip $(VARIABLE_TRACE)),no)
|
||||
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 $(SLEEP_LED_ENABLE)), yes)
|
||||
SRC += $(PLATFORM_COMMON_DIR)/sleep_led.c
|
||||
OPT_DEFS += -DSLEEP_LED_ENABLE
|
||||
|
||||
NO_SUSPEND_POWER_DOWN := yes
|
||||
endif
|
||||
|
||||
VALID_BACKLIGHT_TYPES := pwm timer software custom
|
||||
|
||||
BACKLIGHT_ENABLE ?= no
|
||||
BACKLIGHT_DRIVER ?= pwm
|
||||
ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
|
||||
ifeq ($(filter $(BACKLIGHT_DRIVER),$(VALID_BACKLIGHT_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid BACKLIGHT_DRIVER,BACKLIGHT_DRIVER="$(BACKLIGHT_DRIVER)" is not a valid backlight type)
|
||||
endif
|
||||
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/backlight
|
||||
COMMON_VPATH += $(DRIVER_PATH)/backlight
|
||||
SRC += $(QUANTUM_DIR)/backlight/backlight.c
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c
|
||||
OPT_DEFS += -DBACKLIGHT_ENABLE
|
||||
OPT_DEFS += -DBACKLIGHT_$(strip $(shell echo $(BACKLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
|
||||
ifneq ($(strip $(BACKLIGHT_DRIVER)), custom)
|
||||
SRC += $(QUANTUM_DIR)/backlight/backlight_driver_common.c
|
||||
|
||||
ifeq ($(strip $(BACKLIGHT_DRIVER)), software)
|
||||
SRC += $(DRIVER_PATH)/backlight/backlight_software.c
|
||||
else
|
||||
SRC += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/backlight_$(strip $(BACKLIGHT_DRIVER)).c
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(CIE1931_CURVE)), yes)
|
||||
OPT_DEFS += -DUSE_CIE1931_CURVE
|
||||
LED_TABLES := yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_TABLES)), yes)
|
||||
SRC += $(QUANTUM_DIR)/led_tables.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VIA_ENABLE)), yes)
|
||||
DYNAMIC_KEYMAP_ENABLE := yes
|
||||
RAW_ENABLE := yes
|
||||
BOOTMAGIC_ENABLE := yes
|
||||
TRI_LAYER_ENABLE := yes
|
||||
endif
|
||||
|
||||
VALID_CUSTOM_MATRIX_TYPES:= yes lite no
|
||||
|
||||
CUSTOM_MATRIX ?= no
|
||||
ifneq ($(strip $(CUSTOM_MATRIX)), yes)
|
||||
ifeq ($(filter $(CUSTOM_MATRIX),$(VALID_CUSTOM_MATRIX_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid CUSTOM_MATRIX,CUSTOM_MATRIX="$(CUSTOM_MATRIX)" is not a valid custom matrix type)
|
||||
endif
|
||||
|
||||
# Include common stuff for all non custom matrix users
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/matrix_common.c
|
||||
|
||||
# if 'lite' then skip the actual matrix implementation
|
||||
ifneq ($(strip $(CUSTOM_MATRIX)), lite)
|
||||
# Include the standard or split matrix code if needed
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c
|
||||
endif
|
||||
endif
|
||||
|
||||
# Debounce Modules. Set DEBOUNCE_TYPE=custom if including one manually.
|
||||
DEBOUNCE_TYPE ?= sym_defer_g
|
||||
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/debounce/$(strip $(DEBOUNCE_TYPE)).c
|
||||
endif
|
||||
|
||||
|
||||
VALID_SERIAL_DRIVER_TYPES := bitbang usart vendor
|
||||
|
||||
SERIAL_DRIVER ?= bitbang
|
||||
ifeq ($(filter $(SERIAL_DRIVER),$(VALID_SERIAL_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid SERIAL_DRIVER,SERIAL_DRIVER="$(SERIAL_DRIVER)" is not a valid SERIAL driver)
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
POST_CONFIG_H += $(QUANTUM_DIR)/split_common/post_config.h
|
||||
OPT_DEFS += -DSPLIT_KEYBOARD
|
||||
CRC_ENABLE := yes
|
||||
|
||||
# Include files used by all split keyboards
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/split_util.c
|
||||
|
||||
# Determine which (if any) transport files are required
|
||||
ifneq ($(strip $(SPLIT_TRANSPORT)), custom)
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/transport.c \
|
||||
$(QUANTUM_DIR)/split_common/transactions.c
|
||||
|
||||
OPT_DEFS += -DSPLIT_COMMON_TRANSACTIONS
|
||||
|
||||
# Functions added via QUANTUM_LIB_SRC are only included in the final binary if they're called.
|
||||
# Unused functions are pruned away, which is why we can add multiple drivers here without bloat.
|
||||
ifeq ($(PLATFORM),AVR)
|
||||
ifneq ($(NO_I2C),yes)
|
||||
QUANTUM_LIB_SRC += i2c_master.c \
|
||||
i2c_slave.c
|
||||
endif
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DSERIAL_DRIVER_$(strip $(shell echo $(SERIAL_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
ifeq ($(strip $(SERIAL_DRIVER)), bitbang)
|
||||
QUANTUM_LIB_SRC += serial.c
|
||||
else
|
||||
QUANTUM_LIB_SRC += serial_protocol.c
|
||||
QUANTUM_LIB_SRC += serial_$(strip $(SERIAL_DRIVER)).c
|
||||
endif
|
||||
endif
|
||||
COMMON_VPATH += $(QUANTUM_PATH)/split_common
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(FNV_ENABLE)), yes)
|
||||
OPT_DEFS += -DFNV_ENABLE
|
||||
VPATH += $(LIB_PATH)/fnv
|
||||
SRC += qmk_fnv_type_validation.c hash_32a.c hash_64a.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LIB8TION_ENABLE)), yes)
|
||||
ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162))
|
||||
# ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines
|
||||
OPT_DEFS += -DLIB8_ATTINY
|
||||
endif
|
||||
SRC += $(LIB_PATH)/lib8tion/lib8tion.c
|
||||
endif
|
||||
|
||||
VALID_HAPTIC_DRIVER_TYPES := drv2605l solenoid
|
||||
ifeq ($(strip $(HAPTIC_ENABLE)),yes)
|
||||
ifeq ($(filter $(HAPTIC_DRIVER),$(VALID_HAPTIC_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid HAPTIC_DRIVER,HAPTIC_DRIVER="$(HAPTIC_DRIVER)" is not a valid Haptic driver)
|
||||
else
|
||||
OPT_DEFS += -DHAPTIC_$(strip $(shell echo $(HAPTIC_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
COMMON_VPATH += $(DRIVER_PATH)/haptic
|
||||
|
||||
ifeq ($(strip $(HAPTIC_DRIVER)), drv2605l)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
SRC += drv2605l.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(HAPTIC_DRIVER)), solenoid)
|
||||
SRC += solenoid.c
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(HD44780_ENABLE)), yes)
|
||||
OPT_DEFS += -DHD44780_ENABLE
|
||||
COMMON_VPATH += $(DRIVER_PATH)/lcd
|
||||
SRC += hd44780.c
|
||||
endif
|
||||
|
||||
VALID_OLED_DRIVER_TYPES := custom ssd1306
|
||||
OLED_DRIVER ?= ssd1306
|
||||
VALID_OLED_TRANSPORT_TYPES := i2c spi custom
|
||||
OLED_TRANSPORT ?= i2c
|
||||
ifeq ($(strip $(OLED_ENABLE)), yes)
|
||||
ifeq ($(filter $(OLED_DRIVER),$(VALID_OLED_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid OLED_DRIVER,OLED_DRIVER="$(OLED_DRIVER)" is not a valid OLED driver)
|
||||
else
|
||||
ifeq ($(filter $(OLED_TRANSPORT),$(VALID_OLED_TRANSPORT_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid OLED_TRANSPORT,OLED_TRANSPORT="$(OLED_TRANSPORT)" is not a valid OLED transport)
|
||||
else
|
||||
OPT_DEFS += -DOLED_ENABLE
|
||||
OPT_DEFS += -DOLED_$(strip $(shell echo $(OLED_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
COMMON_VPATH += $(DRIVER_PATH)/oled
|
||||
ifneq ($(strip $(OLED_DRIVER)), custom)
|
||||
SRC += oled_driver.c
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DOLED_TRANSPORT_$(strip $(shell echo $(OLED_TRANSPORT) | tr '[:lower:]' '[:upper:]'))
|
||||
ifeq ($(strip $(OLED_TRANSPORT)), i2c)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
endif
|
||||
ifeq ($(strip $(OLED_TRANSPORT)), spi)
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(ST7565_ENABLE)), yes)
|
||||
OPT_DEFS += -DST7565_ENABLE
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/oled # For glcdfont.h
|
||||
COMMON_VPATH += $(DRIVER_PATH)/lcd
|
||||
SRC += st7565.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(UCIS_ENABLE)), yes)
|
||||
OPT_DEFS += -DUCIS_ENABLE
|
||||
UNICODE_COMMON := yes
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c \
|
||||
$(QUANTUM_DIR)/unicode/ucis.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
|
||||
OPT_DEFS += -DUNICODEMAP_ENABLE
|
||||
UNICODE_COMMON := yes
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c \
|
||||
$(QUANTUM_DIR)/unicode/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)
|
||||
OPT_DEFS += -DUNICODE_COMMON_ENABLE
|
||||
COMMON_VPATH += $(QUANTUM_DIR)/unicode
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c \
|
||||
$(QUANTUM_DIR)/unicode/unicode.c \
|
||||
$(QUANTUM_DIR)/unicode/utf8.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(PS2_MOUSE_ENABLE)), yes)
|
||||
PS2_ENABLE := yes
|
||||
MOUSE_ENABLE := yes
|
||||
SRC += ps2_mouse.c
|
||||
OPT_DEFS += -DPS2_MOUSE_ENABLE
|
||||
endif
|
||||
|
||||
VALID_PS2_DRIVER_TYPES := busywait interrupt usart vendor
|
||||
|
||||
PS2_DRIVER ?= busywait
|
||||
ifeq ($(strip $(PS2_ENABLE)), yes)
|
||||
ifeq ($(filter $(PS2_DRIVER),$(VALID_PS2_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid PS2_DRIVER,PS2_DRIVER="$(PS2_DRIVER)" is not a valid PS/2 driver)
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DPS2_DRIVER_$(strip $(shell echo $(PS2_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
|
||||
COMMON_VPATH += $(DRIVER_PATH)/ps2
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/ps2
|
||||
OPT_DEFS += -DPS2_ENABLE
|
||||
|
||||
ifneq ($(strip $(PS2_DRIVER)), vendor)
|
||||
SRC += ps2_io.c
|
||||
endif
|
||||
|
||||
SRC += ps2_$(strip $(PS2_DRIVER)).c
|
||||
endif
|
||||
|
||||
JOYSTICK_ENABLE ?= no
|
||||
VALID_JOYSTICK_TYPES := analog digital
|
||||
JOYSTICK_DRIVER ?= analog
|
||||
ifeq ($(strip $(JOYSTICK_ENABLE)), yes)
|
||||
ifeq ($(filter $(JOYSTICK_DRIVER),$(VALID_JOYSTICK_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid JOYSTICK_DRIVER,JOYSTICK_DRIVER="$(JOYSTICK_DRIVER)" is not a valid joystick driver)
|
||||
endif
|
||||
OPT_DEFS += -DJOYSTICK_ENABLE
|
||||
OPT_DEFS += -DJOYSTICK_$(strip $(shell echo $(JOYSTICK_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_joystick.c
|
||||
SRC += $(QUANTUM_DIR)/joystick.c
|
||||
|
||||
ifeq ($(strip $(JOYSTICK_DRIVER)), analog)
|
||||
ANALOG_DRIVER_REQUIRED = yes
|
||||
endif
|
||||
endif
|
||||
|
||||
USBPD_ENABLE ?= no
|
||||
VALID_USBPD_DRIVER_TYPES = custom vendor
|
||||
USBPD_DRIVER ?= vendor
|
||||
ifeq ($(strip $(USBPD_ENABLE)), yes)
|
||||
ifeq ($(filter $(strip $(USBPD_DRIVER)),$(VALID_USBPD_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid USBPD_DRIVER,USBPD_DRIVER="$(USBPD_DRIVER)" is not a valid USBPD driver)
|
||||
else
|
||||
OPT_DEFS += -DUSBPD_ENABLE
|
||||
ifeq ($(strip $(USBPD_DRIVER)), vendor)
|
||||
# Vendor-specific implementations
|
||||
OPT_DEFS += -DUSBPD_VENDOR
|
||||
ifeq ($(strip $(MCU_SERIES)), STM32G4xx)
|
||||
OPT_DEFS += -DUSBPD_STM32G4
|
||||
SRC += usbpd_stm32g4.c
|
||||
else
|
||||
$(call CATASTROPHIC_ERROR,Invalid USBPD_DRIVER,There is no vendor-provided USBPD driver available)
|
||||
endif
|
||||
else ifeq ($(strip $(USBPD_DRIVER)), custom)
|
||||
OPT_DEFS += -DUSBPD_CUSTOM
|
||||
# Board designers can add their own driver to $(SRC)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
BLUETOOTH_ENABLE ?= no
|
||||
VALID_BLUETOOTH_DRIVER_TYPES := bluefruit_le custom rn42
|
||||
ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
|
||||
ifeq ($(filter $(strip $(BLUETOOTH_DRIVER)),$(VALID_BLUETOOTH_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid BLUETOOTH_DRIVER,BLUETOOTH_DRIVER="$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type)
|
||||
endif
|
||||
OPT_DEFS += -DBLUETOOTH_ENABLE
|
||||
OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
NO_USB_STARTUP_CHECK := yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/bluetooth
|
||||
SRC += outputselect.c
|
||||
|
||||
ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le)
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
ANALOG_DRIVER_REQUIRED = yes
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42)
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
||||
SRC += $(DRIVER_PATH)/bluetooth/rn42.c
|
||||
endif
|
||||
endif
|
||||
|
||||
ENCODER_ENABLE ?= no
|
||||
ENCODER_DRIVER ?= quadrature
|
||||
VALID_ENCODER_DRIVER_TYPES := quadrature custom
|
||||
ifeq ($(strip $(ENCODER_ENABLE)), yes)
|
||||
ifeq ($(filter $(ENCODER_DRIVER),$(VALID_ENCODER_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid ENCODER_DRIVER,ENCODER_DRIVER="$(ENCODER_DRIVER)" is not a valid encoder driver)
|
||||
endif
|
||||
SRC += $(QUANTUM_DIR)/encoder.c
|
||||
OPT_DEFS += -DENCODER_ENABLE
|
||||
OPT_DEFS += -DENCODER_DRIVER_$(strip $(shell echo $(ENCODER_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/encoder
|
||||
COMMON_VPATH += $(DRIVER_PATH)/encoder
|
||||
|
||||
ifneq ($(strip $(ENCODER_DRIVER)), custom)
|
||||
SRC += encoder_$(strip $(ENCODER_DRIVER)).c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(ENCODER_MAP_ENABLE)), yes)
|
||||
OPT_DEFS += -DENCODER_MAP_ENABLE
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
|
||||
ifeq ($(strip $(DIP_SWITCH_MAP_ENABLE)), yes)
|
||||
OPT_DEFS += -DDIP_SWITCH_MAP_ENABLE
|
||||
endif
|
||||
endif
|
||||
|
||||
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
|
||||
|
||||
WS2812_DRIVER ?= bitbang
|
||||
ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes)
|
||||
ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver)
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
|
||||
SRC += ws2812_$(strip $(WS2812_DRIVER)).c
|
||||
|
||||
ifeq ($(strip $(PLATFORM)), CHIBIOS)
|
||||
ifeq ($(strip $(WS2812_DRIVER)), pwm)
|
||||
OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
|
||||
endif
|
||||
endif
|
||||
|
||||
# add extra deps
|
||||
ifeq ($(strip $(WS2812_DRIVER)), i2c)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes)
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led
|
||||
SRC += apa102.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(ANALOG_DRIVER_REQUIRED)), yes)
|
||||
OPT_DEFS += -DHAL_USE_ADC=TRUE
|
||||
QUANTUM_LIB_SRC += analog.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(I2C_DRIVER_REQUIRED)), yes)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SPI_DRIVER_REQUIRED)), yes)
|
||||
OPT_DEFS += -DHAL_USE_SPI=TRUE
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(UART_DRIVER_REQUIRED)), yes)
|
||||
ifeq ($(strip $(PLATFORM)), CHIBIOS)
|
||||
ifneq ($(filter $(MCU_SERIES),RP2040),)
|
||||
OPT_DEFS += -DHAL_USE_SIO=TRUE
|
||||
QUANTUM_LIB_SRC += uart_sio.c
|
||||
else
|
||||
OPT_DEFS += -DHAL_USE_SERIAL=TRUE
|
||||
QUANTUM_LIB_SRC += uart_serial.c
|
||||
endif
|
||||
else
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(strip $(ACHORDION_ENABLE)), yes)
|
||||
OPT_DEFS += -DACHORDION_ENABLE -DPERMISSIVE_HOLD
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_achordion.c
|
||||
endif
|
||||
@@ -1,419 +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
|
||||
|
||||
#---------------- C Compiler Options ----------------
|
||||
|
||||
ifeq ($(strip $(LTO_ENABLE)), yes)
|
||||
ifeq ($(PLATFORM),ARM_ATSAM)
|
||||
$(info Enabling LTO on arm_atsam-targeting boards is known to have a high likelihood of failure.)
|
||||
$(info If unsure, set LTO_ENABLE = no.)
|
||||
endif
|
||||
CDEFS += -flto
|
||||
CDEFS += -DLTO_ENABLE
|
||||
endif
|
||||
|
||||
DEBUG_ENABLE ?= yes
|
||||
ifeq ($(strip $(SKIP_DEBUG_INFO)),yes)
|
||||
DEBUG_ENABLE=no
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(DEBUG_ENABLE)),yes)
|
||||
CFLAGS += -g$(DEBUG)
|
||||
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 ----------------
|
||||
|
||||
ifeq ($(strip $(DEBUG_ENABLE)),yes)
|
||||
CXXFLAGS += -g$(DEBUG)
|
||||
endif
|
||||
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 ----------------
|
||||
|
||||
CREATE_MAP ?= yes
|
||||
ifeq ($(CREATE_MAP),yes)
|
||||
LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref
|
||||
endif
|
||||
ifeq ($(VERBOSE_LD_CMD),yes)
|
||||
LDFLAGS += -v
|
||||
endif
|
||||
#LDFLAGS += -Wl,--relax
|
||||
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)
|
||||
ifeq ($(strip $(DEBUG_ENABLE)),yes)
|
||||
ASFLAGS = -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
|
||||
else
|
||||
ASFLAGS = -Wa,-adhlns=$(@:%.o=%.lst),--listing-cont-lines=100
|
||||
endif
|
||||
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)): INIT_HOOK_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) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
@$$(BUILD_CMD)
|
||||
ifneq ($$(DUMP_C_MACROS),)
|
||||
$$(eval CMD := $$(CC) -E -dM $$($1_CFLAGS) $$(INIT_HOOK_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) $$(INIT_HOOK_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) $$(INIT_HOOK_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,49 +0,0 @@
|
||||
# Note for new boards -- CTPC and CONVERT_TO_PROTON_C are deprecated terms
|
||||
# and should not be replicated for new boards. These will be removed from
|
||||
# documentation as well as existing keymaps in due course.
|
||||
ifneq ($(findstring yes, $(CTPC)$(CONVERT_TO_PROTON_C)),)
|
||||
$(call CATASTROPHIC_ERROR,The `CONVERT_TO_PROTON_C` and `CTPC` options are now deprecated. `CONVERT_TO=proton_c` should be used instead.)
|
||||
endif
|
||||
|
||||
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)
|
||||
|
||||
# force setting as value can be from environment
|
||||
override TARGET := $(TARGET)_$(CONVERT_TO)
|
||||
|
||||
# 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,51 +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",
|
||||
},
|
||||
|
||||
sidebar: sidebar,
|
||||
|
||||
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.2.10",
|
||||
"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,797 +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.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
|
||||
integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
|
||||
|
||||
"@esbuild/android-arm64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
|
||||
integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
|
||||
|
||||
"@esbuild/android-arm@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
|
||||
integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
|
||||
|
||||
"@esbuild/android-x64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
|
||||
integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
|
||||
|
||||
"@esbuild/darwin-arm64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb"
|
||||
integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
|
||||
|
||||
"@esbuild/darwin-x64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
|
||||
integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
|
||||
|
||||
"@esbuild/freebsd-arm64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
|
||||
integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
|
||||
|
||||
"@esbuild/freebsd-x64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
|
||||
integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
|
||||
|
||||
"@esbuild/linux-arm64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
|
||||
integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
|
||||
|
||||
"@esbuild/linux-arm@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
|
||||
integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
|
||||
|
||||
"@esbuild/linux-ia32@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
|
||||
integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
|
||||
|
||||
"@esbuild/linux-loong64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
|
||||
integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
|
||||
|
||||
"@esbuild/linux-mips64el@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
|
||||
integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
|
||||
|
||||
"@esbuild/linux-ppc64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
|
||||
integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
|
||||
|
||||
"@esbuild/linux-riscv64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
|
||||
integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
|
||||
|
||||
"@esbuild/linux-s390x@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
|
||||
integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
|
||||
|
||||
"@esbuild/linux-x64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
|
||||
integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
|
||||
|
||||
"@esbuild/netbsd-x64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
|
||||
integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
|
||||
|
||||
"@esbuild/openbsd-x64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
|
||||
integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
|
||||
|
||||
"@esbuild/sunos-x64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
|
||||
integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
|
||||
|
||||
"@esbuild/win32-arm64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
|
||||
integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
|
||||
|
||||
"@esbuild/win32-ia32@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
|
||||
integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
|
||||
|
||||
"@esbuild/win32-x64@0.20.2":
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc"
|
||||
integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
|
||||
|
||||
"@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.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz#5e8930291f1e5ead7fb1171d53ba5c87718de062"
|
||||
integrity sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==
|
||||
|
||||
"@rollup/rollup-android-arm64@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.4.tgz#ffb84f1359c04ec8a022a97110e18a5600f5f638"
|
||||
integrity sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==
|
||||
|
||||
"@rollup/rollup-darwin-arm64@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.4.tgz#b2fcee8d4806a0b1b9185ac038cc428ddedce9f4"
|
||||
integrity sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==
|
||||
|
||||
"@rollup/rollup-darwin-x64@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.4.tgz#fcb25ccbaa3dd33a6490e9d1c64bab2e0e16b932"
|
||||
integrity sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==
|
||||
|
||||
"@rollup/rollup-linux-arm-gnueabihf@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.4.tgz#40d46bdfe667e5eca31bf40047460e326d2e26bb"
|
||||
integrity sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==
|
||||
|
||||
"@rollup/rollup-linux-arm-musleabihf@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.4.tgz#7741df2448c11c56588b50835dbfe91b1a10b375"
|
||||
integrity sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==
|
||||
|
||||
"@rollup/rollup-linux-arm64-gnu@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.4.tgz#0a23b02d2933e4c4872ad18d879890b6a4a295df"
|
||||
integrity sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==
|
||||
|
||||
"@rollup/rollup-linux-arm64-musl@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.4.tgz#e37ef259358aa886cc07d782220a4fb83c1e6970"
|
||||
integrity sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==
|
||||
|
||||
"@rollup/rollup-linux-powerpc64le-gnu@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.4.tgz#8c69218b6de05ee2ba211664a2d2ac1e54e43f94"
|
||||
integrity sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==
|
||||
|
||||
"@rollup/rollup-linux-riscv64-gnu@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.4.tgz#d32727dab8f538d9a4a7c03bcf58c436aecd0139"
|
||||
integrity sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==
|
||||
|
||||
"@rollup/rollup-linux-s390x-gnu@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.4.tgz#d46097246a187d99fc9451fe8393b7155b47c5ec"
|
||||
integrity sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==
|
||||
|
||||
"@rollup/rollup-linux-x64-gnu@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.4.tgz#6356c5a03a4afb1c3057490fc51b4764e109dbc7"
|
||||
integrity sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==
|
||||
|
||||
"@rollup/rollup-linux-x64-musl@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.4.tgz#03a5831a9c0d05877b94653b5ddd3020d3c6fb06"
|
||||
integrity sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==
|
||||
|
||||
"@rollup/rollup-win32-arm64-msvc@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.4.tgz#6cc0db57750376b9303bdb6f5482af8974fcae35"
|
||||
integrity sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==
|
||||
|
||||
"@rollup/rollup-win32-ia32-msvc@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.4.tgz#aea0b7e492bd9ed46971cb80bc34f1eb14e07789"
|
||||
integrity sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==
|
||||
|
||||
"@rollup/rollup-win32-x64-msvc@4.16.4":
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.4.tgz#c09ad9a132ccb5a67c4f211d909323ab1294f95f"
|
||||
integrity sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==
|
||||
|
||||
"@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.5":
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
|
||||
integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
|
||||
|
||||
"@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.20.1:
|
||||
version "0.20.2"
|
||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1"
|
||||
integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==
|
||||
optionalDependencies:
|
||||
"@esbuild/aix-ppc64" "0.20.2"
|
||||
"@esbuild/android-arm" "0.20.2"
|
||||
"@esbuild/android-arm64" "0.20.2"
|
||||
"@esbuild/android-x64" "0.20.2"
|
||||
"@esbuild/darwin-arm64" "0.20.2"
|
||||
"@esbuild/darwin-x64" "0.20.2"
|
||||
"@esbuild/freebsd-arm64" "0.20.2"
|
||||
"@esbuild/freebsd-x64" "0.20.2"
|
||||
"@esbuild/linux-arm" "0.20.2"
|
||||
"@esbuild/linux-arm64" "0.20.2"
|
||||
"@esbuild/linux-ia32" "0.20.2"
|
||||
"@esbuild/linux-loong64" "0.20.2"
|
||||
"@esbuild/linux-mips64el" "0.20.2"
|
||||
"@esbuild/linux-ppc64" "0.20.2"
|
||||
"@esbuild/linux-riscv64" "0.20.2"
|
||||
"@esbuild/linux-s390x" "0.20.2"
|
||||
"@esbuild/linux-x64" "0.20.2"
|
||||
"@esbuild/netbsd-x64" "0.20.2"
|
||||
"@esbuild/openbsd-x64" "0.20.2"
|
||||
"@esbuild/sunos-x64" "0.20.2"
|
||||
"@esbuild/win32-arm64" "0.20.2"
|
||||
"@esbuild/win32-ia32" "0.20.2"
|
||||
"@esbuild/win32-x64" "0.20.2"
|
||||
|
||||
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.7:
|
||||
version "3.3.7"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
|
||||
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
|
||||
|
||||
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.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
||||
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
|
||||
|
||||
postcss@^8.4.38:
|
||||
version "8.4.38"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e"
|
||||
integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
|
||||
dependencies:
|
||||
nanoid "^3.3.7"
|
||||
picocolors "^1.0.0"
|
||||
source-map-js "^1.2.0"
|
||||
|
||||
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.13.0:
|
||||
version "4.16.4"
|
||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.16.4.tgz#fe328eb41293f20c9593a095ec23bdc4b5d93317"
|
||||
integrity sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==
|
||||
dependencies:
|
||||
"@types/estree" "1.0.5"
|
||||
optionalDependencies:
|
||||
"@rollup/rollup-android-arm-eabi" "4.16.4"
|
||||
"@rollup/rollup-android-arm64" "4.16.4"
|
||||
"@rollup/rollup-darwin-arm64" "4.16.4"
|
||||
"@rollup/rollup-darwin-x64" "4.16.4"
|
||||
"@rollup/rollup-linux-arm-gnueabihf" "4.16.4"
|
||||
"@rollup/rollup-linux-arm-musleabihf" "4.16.4"
|
||||
"@rollup/rollup-linux-arm64-gnu" "4.16.4"
|
||||
"@rollup/rollup-linux-arm64-musl" "4.16.4"
|
||||
"@rollup/rollup-linux-powerpc64le-gnu" "4.16.4"
|
||||
"@rollup/rollup-linux-riscv64-gnu" "4.16.4"
|
||||
"@rollup/rollup-linux-s390x-gnu" "4.16.4"
|
||||
"@rollup/rollup-linux-x64-gnu" "4.16.4"
|
||||
"@rollup/rollup-linux-x64-musl" "4.16.4"
|
||||
"@rollup/rollup-win32-arm64-msvc" "4.16.4"
|
||||
"@rollup/rollup-win32-ia32-msvc" "4.16.4"
|
||||
"@rollup/rollup-win32-x64-msvc" "4.16.4"
|
||||
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==
|
||||
|
||||
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.10, vite@^5.2.9:
|
||||
version "5.2.10"
|
||||
resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.10.tgz#2ac927c91e99d51b376a5c73c0e4b059705f5bd7"
|
||||
integrity sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==
|
||||
dependencies:
|
||||
esbuild "^0.20.1"
|
||||
postcss "^8.4.38"
|
||||
rollup "^4.13.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,71 +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 \
|
||||
CRC \
|
||||
DEFERRED_EXEC \
|
||||
DIGITIZER \
|
||||
DIP_SWITCH \
|
||||
DYNAMIC_KEYMAP \
|
||||
DYNAMIC_MACRO \
|
||||
DYNAMIC_TAPPING_TERM \
|
||||
GRAVE_ESC \
|
||||
HAPTIC \
|
||||
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)
|
||||
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,116 +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_STACKSIZE = Checking stack size of $(TARGET)
|
||||
MSG_CHECK_FILESIZE = Checking file size of $(TARGET).$(FIRMWARE_FORMAT)
|
||||
MSG_MEMORY_OVERFLOW = $(ERROR_COLOR)RAM usage (not including stack) exceeds available RAM by $(RAM_OVERFLOW_AMOUNT) bytes\n
|
||||
MSG_STACK_SIZE = Available stack size: $(STACK_SIZE) bytes\n
|
||||
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,152 +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 \
|
||||
RING_BUFFERED_6KRO_REPORT_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,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)
|
||||
360
common_features.mk
Normal file
360
common_features.mk
Normal file
@@ -0,0 +1,360 @@
|
||||
# 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)
|
||||
|
||||
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)
|
||||
POST_CONFIG_H += $(QUANTUM_DIR)/rgblight_post_config.h
|
||||
OPT_DEFS += -DRGBLIGHT_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/color.c
|
||||
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
|
||||
|
||||
VALID_MATRIX_TYPES := yes IS31FL3731 IS31FL3733 IS31FL3737 WS2812 custom
|
||||
|
||||
LED_MATRIX_ENABLE ?= no
|
||||
ifneq ($(strip $(LED_MATRIX_ENABLE)), no)
|
||||
ifeq ($(filter $(LED_MATRIX_ENABLE),$(VALID_MATRIX_TYPES)),)
|
||||
$(error LED_MATRIX_ENABLE="$(LED_MATRIX_ENABLE)" is not a valid matrix type)
|
||||
else
|
||||
OPT_DEFS += -DLED_MATRIX_ENABLE -DBACKLIGHT_ENABLE -DBACKLIGHT_CUSTOM_DRIVER
|
||||
SRC += $(QUANTUM_DIR)/led_matrix.c
|
||||
SRC += $(QUANTUM_DIR)/led_matrix_drivers.c
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_ENABLE)), IS31FL3731)
|
||||
OPT_DEFS += -DIS31FL3731
|
||||
COMMON_VPATH += $(DRIVER_PATH)/issi
|
||||
SRC += is31fl3731-simple.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
RGB_MATRIX_ENABLE ?= no
|
||||
|
||||
ifneq ($(strip $(RGB_MATRIX_ENABLE)), no)
|
||||
ifeq ($(filter $(RGB_MATRIX_ENABLE),$(VALID_MATRIX_TYPES)),)
|
||||
$(error RGB_MATRIX_ENABLE="$(RGB_MATRIX_ENABLE)" is not a valid matrix type)
|
||||
endif
|
||||
OPT_DEFS += -DRGB_MATRIX_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/color.c
|
||||
SRC += $(QUANTUM_DIR)/rgb_matrix.c
|
||||
SRC += $(QUANTUM_DIR)/rgb_matrix_drivers.c
|
||||
CIE1931_CURVE = yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
|
||||
RGB_MATRIX_ENABLE = IS31FL3731
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3731)
|
||||
OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE
|
||||
COMMON_VPATH += $(DRIVER_PATH)/issi
|
||||
SRC += is31fl3731.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3733)
|
||||
OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE
|
||||
COMMON_VPATH += $(DRIVER_PATH)/issi
|
||||
SRC += is31fl3733.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3737)
|
||||
OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE
|
||||
COMMON_VPATH += $(DRIVER_PATH)/issi
|
||||
SRC += is31fl3737.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_ENABLE)), WS2812)
|
||||
OPT_DEFS += -DWS2812
|
||||
SRC += ws2812.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes)
|
||||
OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_CUSTOM_USER)), yes)
|
||||
OPT_DEFS += -DRGB_MATRIX_CUSTOM_USER
|
||||
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
|
||||
OPT_DEFS += -DUSER_PRINT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(USB_HID_ENABLE)), yes)
|
||||
include $(TMK_DIR)/protocol/usb_hid.mk
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(ENCODER_ENABLE)), yes)
|
||||
SRC += $(QUANTUM_DIR)/encoder.c
|
||||
OPT_DEFS += -DENCODER_ENABLE
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(HAPTIC_ENABLE)), DRV2605L)
|
||||
COMMON_VPATH += $(DRIVER_PATH)/haptic
|
||||
SRC += haptic.c
|
||||
SRC += DRV2605L.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
OPT_DEFS += -DHAPTIC_ENABLE
|
||||
OPT_DEFS += -DDRV2605L
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(HAPTIC_ENABLE)), SOLENOID)
|
||||
COMMON_VPATH += $(DRIVER_PATH)/haptic
|
||||
SRC += haptic.c
|
||||
SRC += solenoid.c
|
||||
OPT_DEFS += -DHAPTIC_ENABLE
|
||||
OPT_DEFS += -DSOLENOID_ENABLE
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(HD44780_ENABLE)), yes)
|
||||
SRC += drivers/avr/hd44780.c
|
||||
OPT_DEFS += -DHD44780_ENABLE
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(VELOCIKEY_ENABLE)), yes)
|
||||
OPT_DEFS += -DVELOCIKEY_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/velocikey.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(DYNAMIC_KEYMAP_ENABLE)), yes)
|
||||
OPT_DEFS += -DDYNAMIC_KEYMAP_ENABLE
|
||||
SRC += $(QUANTUM_DIR)/dynamic_keymap.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LEADER_ENABLE)), yes)
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_leader.c
|
||||
OPT_DEFS += -DLEADER_ENABLE
|
||||
endif
|
||||
|
||||
include $(DRIVER_PATH)/qwiic/qwiic.mk
|
||||
|
||||
QUANTUM_SRC:= \
|
||||
$(QUANTUM_DIR)/quantum.c \
|
||||
$(QUANTUM_DIR)/keymap_common.c \
|
||||
$(QUANTUM_DIR)/keycode_config.c
|
||||
|
||||
# Include the standard or split matrix code if needed
|
||||
ifneq ($(strip $(CUSTOM_MATRIX)), yes)
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/matrix.c
|
||||
else
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c
|
||||
endif
|
||||
endif
|
||||
|
||||
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
|
||||
# Debounce Modules. Set DEBOUNCE_TYPE=custom if including one manually.
|
||||
DEBOUNCE_TYPE?= sym_g
|
||||
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
|
||||
QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||
POST_CONFIG_H += $(QUANTUM_DIR)/split_common/post_config.h
|
||||
OPT_DEFS += -DSPLIT_KEYBOARD
|
||||
|
||||
# Include files used by all split keyboards
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/split_util.c
|
||||
|
||||
# Determine which (if any) transport files are required
|
||||
ifneq ($(strip $(SPLIT_TRANSPORT)), custom)
|
||||
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/transport.c
|
||||
# Functions added via QUANTUM_LIB_SRC are only included in the final binary if they're called.
|
||||
# Unused functions are pruned away, which is why we can add multiple drivers here without bloat.
|
||||
QUANTUM_LIB_SRC += $(QUANTUM_DIR)/split_common/serial.c \
|
||||
i2c_master.c \
|
||||
i2c_slave.c
|
||||
endif
|
||||
COMMON_VPATH += $(QUANTUM_PATH)/split_common
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(OLED_DRIVER_ENABLE)), yes)
|
||||
OPT_DEFS += -DOLED_DRIVER_ENABLE
|
||||
COMMON_VPATH += $(DRIVER_PATH)/oled
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
SRC += oled_driver.c
|
||||
endif
|
||||
|
||||
SPACE_CADET_ENABLE ?= yes
|
||||
ifeq ($(strip $(SPACE_CADET_ENABLE)), yes)
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_space_cadet.c
|
||||
OPT_DEFS += -DSPACE_CADET_ENABLE
|
||||
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,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)",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,364 +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": "IT_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "IT_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "IT_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "IT_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "IT_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "IT_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "IT_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "IT_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "IT_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "IT_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "IT_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "IT_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "IT_IGRV",
|
||||
"label": "ì",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "IT_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "IT_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "IT_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "IT_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "IT_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "IT_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "IT_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "IT_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "IT_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "IT_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "IT_EGRV",
|
||||
"label": "è",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "IT_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "IT_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "IT_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "IT_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "IT_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "IT_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "IT_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "IT_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "IT_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "IT_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "IT_OGRV",
|
||||
"label": "ò",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "IT_AGRV",
|
||||
"label": "à",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "IT_UGRV",
|
||||
"label": "ù",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "IT_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "IT_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "IT_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "IT_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "IT_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "IT_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "IT_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "IT_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "IT_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "IT_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "IT_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(IT_BSLS)": {
|
||||
"key": "IT_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(IT_1)": {
|
||||
"key": "IT_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(IT_2)": {
|
||||
"key": "IT_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(IT_3)": {
|
||||
"key": "IT_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(IT_4)": {
|
||||
"key": "IT_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(IT_5)": {
|
||||
"key": "IT_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(IT_6)": {
|
||||
"key": "IT_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(IT_7)": {
|
||||
"key": "IT_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(IT_8)": {
|
||||
"key": "IT_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(IT_9)": {
|
||||
"key": "IT_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(IT_0)": {
|
||||
"key": "IT_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(IT_QUOT)": {
|
||||
"key": "IT_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(IT_IGRV)": {
|
||||
"key": "IT_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(IT_EGRV)": {
|
||||
"key": "IT_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"S(IT_PLUS)": {
|
||||
"key": "IT_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(IT_OGRV)": {
|
||||
"key": "IT_CCED",
|
||||
"label": "ç",
|
||||
}
|
||||
"S(IT_AGRV)": {
|
||||
"key": "IT_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"S(IT_UGRV)": {
|
||||
"key": "IT_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"S(IT_LABK)": {
|
||||
"key": "IT_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(IT_DOT)": {
|
||||
"key": "IT_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(IT_COMM)": {
|
||||
"key": "IT_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(IT_MINS)": {
|
||||
"key": "IT_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ @ │ # │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"ALGR(IT_E)": {
|
||||
"key": "IT_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"ALGR(IT_EGRV)": {
|
||||
"key": "IT_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"ALGR(IT_PLUS)": {
|
||||
"key": "IT_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"ALGR(IT_OGRV)": {
|
||||
"key": "IT_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"ALGR(IT_AGRV)": {
|
||||
"key": "IT_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
/* Shift+AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
"S(ALGR(IT_EGRV))": {
|
||||
"key": "IT_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(ALGR(IT_PLUS))": {
|
||||
"key": "IT_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,684 +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": "IT_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "IT_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "IT_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "IT_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "IT_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "IT_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "IT_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "IT_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "IT_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "IT_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "IT_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "IT_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "IT_IGRV",
|
||||
"label": "ì",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "IT_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "IT_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "IT_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "IT_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "IT_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "IT_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "IT_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "IT_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "IT_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "IT_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "IT_EGRV",
|
||||
"label": "è",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "IT_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_BSLS": {
|
||||
"key": "IT_UGRV",
|
||||
"label": "ù",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "IT_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "IT_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "IT_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "IT_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "IT_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "IT_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "IT_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "IT_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "IT_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "IT_OGRV",
|
||||
"label": "ò",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "IT_AGRV",
|
||||
"label": "à",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "IT_BSLS",
|
||||
"label": "(backslash, not physically present)",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "IT_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "IT_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "IT_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "IT_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "IT_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "IT_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "IT_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "IT_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "IT_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "IT_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ > │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ § │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
|
||||
* │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(IT_LABK)": {
|
||||
"key": "IT_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(IT_1)": {
|
||||
"key": "IT_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(IT_2)": {
|
||||
"key": "IT_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(IT_3)": {
|
||||
"key": "IT_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(IT_4)": {
|
||||
"key": "IT_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(IT_5)": {
|
||||
"key": "IT_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(IT_6)": {
|
||||
"key": "IT_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(IT_7)": {
|
||||
"key": "IT_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(IT_8)": {
|
||||
"key": "IT_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(IT_9)": {
|
||||
"key": "IT_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(IT_0)": {
|
||||
"key": "IT_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(IT_QUOT)": {
|
||||
"key": "IT_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(IT_IGRV)": {
|
||||
"key": "IT_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(IT_EGRV)": {
|
||||
"key": "IT_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"S(IT_PLUS)": {
|
||||
"key": "IT_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(IT_UGRV)": {
|
||||
"key": "IT_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"S(IT_OGRV)": {
|
||||
"key": "IT_LCCE",
|
||||
"label": "ç",
|
||||
}
|
||||
"S(IT_AGRV)": {
|
||||
"key": "IT_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"S(IT_BSLS)": {
|
||||
"key": "IT_PIPE",
|
||||
"label": "| (not physically present)",
|
||||
}
|
||||
"S(IT_COMM)": {
|
||||
"key": "IT_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(IT_DOT)": {
|
||||
"key": "IT_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(IT_MINS)": {
|
||||
"key": "IT_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ ≤ │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ ¶ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
|
||||
* │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
|
||||
* │ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
|
||||
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"A(IT_LABK)": {
|
||||
"key": "IT_LTEQ",
|
||||
"label": "≤",
|
||||
}
|
||||
"A(IT_1)": {
|
||||
"key": "IT_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"A(IT_2)": {
|
||||
"key": "IT_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"A(IT_3)": {
|
||||
"key": "IT_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"A(IT_4)": {
|
||||
"key": "IT_YEN",
|
||||
"label": "¥",
|
||||
}
|
||||
"A(IT_5)": {
|
||||
"key": "IT_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"A(IT_6)": {
|
||||
"key": "IT_LSAQ",
|
||||
"label": "‹",
|
||||
}
|
||||
"A(IT_7)": {
|
||||
"key": "IT_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"A(IT_8)": {
|
||||
"key": "IT_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"A(IT_9)": {
|
||||
"key": "IT_DGRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"A(IT_0)": {
|
||||
"key": "IT_NEQL",
|
||||
"label": "≠",
|
||||
}
|
||||
"A(IT_QUOT)": {
|
||||
"key": "IT_IEXL",
|
||||
"label": "¡",
|
||||
}
|
||||
"A(IT_IGRV)": {
|
||||
"key": "IT_DCIR",
|
||||
"label": "ˆ (dead)",
|
||||
}
|
||||
"A(IT_Q)": {
|
||||
"key": "IT_DLQU",
|
||||
"label": "„",
|
||||
}
|
||||
"A(IT_W)": {
|
||||
"key": "IT_OMEG",
|
||||
"label": "Ω",
|
||||
}
|
||||
"A(IT_E)": {
|
||||
"key": "IT_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"A(IT_R)": {
|
||||
"key": "IT_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"A(IT_T)": {
|
||||
"key": "IT_TM",
|
||||
"label": "™",
|
||||
}
|
||||
"A(IT_Y)": {
|
||||
"key": "IT_AE",
|
||||
"label": "Æ",
|
||||
}
|
||||
"A(IT_U)": {
|
||||
"key": "IT_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"A(IT_I)": {
|
||||
"key": "IT_OE",
|
||||
"label": "Œ",
|
||||
}
|
||||
"A(IT_O)": {
|
||||
"key": "IT_OSTR",
|
||||
"label": "Ø",
|
||||
}
|
||||
"A(IT_P)": {
|
||||
"key": "IT_PI",
|
||||
"label": "π",
|
||||
}
|
||||
"A(IT_EGRV)": {
|
||||
"key": "IT_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"A(IT_PLUS)": {
|
||||
"key": "IT_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"A(IT_A)": {
|
||||
"key": "IT_ARNG",
|
||||
"label": "Å",
|
||||
}
|
||||
"A(IT_S)": {
|
||||
"key": "IT_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"A(IT_D)": {
|
||||
"key": "IT_PDIF",
|
||||
"label": "∂",
|
||||
}
|
||||
"A(IT_F)": {
|
||||
"key": "IT_FHK",
|
||||
"label": "ƒ",
|
||||
}
|
||||
"A(IT_G)": {
|
||||
"key": "IT_INFN",
|
||||
"label": "∞",
|
||||
}
|
||||
"A(IT_H)": {
|
||||
"key": "IT_INCR",
|
||||
"label": "∆",
|
||||
}
|
||||
"A(IT_J)": {
|
||||
"key": "IT_FORD",
|
||||
"label": "ª",
|
||||
}
|
||||
"A(IT_K)": {
|
||||
"key": "IT_MORD",
|
||||
"label": "º",
|
||||
}
|
||||
"A(IT_L)": {
|
||||
"key": "IT_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"A(IT_OGRV)": {
|
||||
"key": "IT_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"A(IT_AGRV)": {
|
||||
"key": "IT_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"A(IT_UGRV)": {
|
||||
"key": "IT_PILC",
|
||||
"label": "¶",
|
||||
}
|
||||
"A(IT_BSLS)": {
|
||||
"key": "IT_GRV",
|
||||
"label": "` (not physically present)",
|
||||
}
|
||||
"A(IT_Z)": {
|
||||
"key": "IT_NARS",
|
||||
"label": "∑",
|
||||
}
|
||||
"A(IT_X)": {
|
||||
"key": "IT_DAGG",
|
||||
"label": "†",
|
||||
}
|
||||
"A(IT_C)": {
|
||||
"key": "IT_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
"A(IT_V)": {
|
||||
"key": "IT_SQRT",
|
||||
"label": "√",
|
||||
}
|
||||
"A(IT_B)": {
|
||||
"key": "IT_INTG",
|
||||
"label": "∫",
|
||||
}
|
||||
"A(IT_N)": {
|
||||
"key": "IT_STIL",
|
||||
"label": "˜ (dead)",
|
||||
}
|
||||
"A(IT_M)": {
|
||||
"key": "IT_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
"A(IT_COMM)": {
|
||||
"key": "IT_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
"A(IT_DOT)": {
|
||||
"key": "IT_BULT",
|
||||
"label": "•",
|
||||
}
|
||||
"A(IT_MINS)": {
|
||||
"key": "IT_NDSH",
|
||||
"label": "–",
|
||||
}
|
||||
/* Shift+Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ ≥ │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │ │ │ ≈ │ ¿ │ ± │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ ◊ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤
|
||||
* │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ ∞ │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤
|
||||
* │ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
|
||||
* ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(A(IT_LABK))": {
|
||||
"key": "IT_GTEQ",
|
||||
"label": "≥",
|
||||
}
|
||||
"S(A(IT_1))": {
|
||||
"key": "IT_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"S(A(IT_2))": {
|
||||
"key": "IT_RDQU",
|
||||
"label": "”",
|
||||
}
|
||||
"S(A(IT_3))": {
|
||||
"key": "IT_RSQU",
|
||||
"label": "’",
|
||||
}
|
||||
"S(A(IT_4))": {
|
||||
"key": "IT_CENT",
|
||||
"label": "¢",
|
||||
}
|
||||
"S(A(IT_5))": {
|
||||
"key": "IT_PERM",
|
||||
"label": "‰",
|
||||
}
|
||||
"S(A(IT_6))": {
|
||||
"key": "IT_RSAQ",
|
||||
"label": "›",
|
||||
}
|
||||
"S(A(IT_7))": {
|
||||
"key": "IT_FRSL",
|
||||
"label": "⁄",
|
||||
}
|
||||
"S(A(IT_8))": {
|
||||
"key": "IT_APPL",
|
||||
"label": " (Apple logo)",
|
||||
}
|
||||
"S(A(IT_0))": {
|
||||
"key": "IT_AEQL",
|
||||
"label": "≈",
|
||||
}
|
||||
"S(A(IT_QUOT))": {
|
||||
"key": "IT_IQUE",
|
||||
"label": "¿",
|
||||
}
|
||||
"S(A(IT_IGRV))": {
|
||||
"key": "IT_PLMN",
|
||||
"label": "±",
|
||||
}
|
||||
"S(A(IT_Q))": {
|
||||
"key": "IT_SLQU",
|
||||
"label": "‚",
|
||||
}
|
||||
"S(A(IT_W))": {
|
||||
"key": "IT_CAGR",
|
||||
"label": "À",
|
||||
}
|
||||
"S(A(IT_E))": {
|
||||
"key": "IT_CEGR",
|
||||
"label": "È",
|
||||
}
|
||||
"S(A(IT_R))": {
|
||||
"key": "IT_CIGR",
|
||||
"label": "Ì",
|
||||
}
|
||||
"S(A(IT_T))": {
|
||||
"key": "IT_COGR",
|
||||
"label": "Ò",
|
||||
}
|
||||
"S(A(IT_U))": {
|
||||
"key": "IT_CUGR",
|
||||
"label": "Ù",
|
||||
}
|
||||
"S(A(IT_P))": {
|
||||
"key": "IT_NARP",
|
||||
"label": "∏",
|
||||
}
|
||||
"S(A(IT_EGRV))": {
|
||||
"key": "IT_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(A(IT_PLUS))": {
|
||||
"key": "IT_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(A(IT_UGRV))": {
|
||||
"key": "IT_LOZN",
|
||||
"label": "◊",
|
||||
}
|
||||
"S(A(IT_S))": {
|
||||
"key": "IT_MACR",
|
||||
"label": "¯",
|
||||
}
|
||||
"S(A(IT_D))": {
|
||||
"key": "IT_BREV",
|
||||
"label": "˘",
|
||||
}
|
||||
"S(A(IT_F))": {
|
||||
"key": "IT_DOTA",
|
||||
"label": "˙",
|
||||
}
|
||||
"S(A(IT_G))": {
|
||||
"key": "IT_RGNA",
|
||||
"label": "˚",
|
||||
}
|
||||
"S(A(IT_H))": {
|
||||
"key": "IT_CEDL",
|
||||
"label": "¸",
|
||||
}
|
||||
"S(A(IT_J))": {
|
||||
"key": "IT_DACU",
|
||||
"label": "˝",
|
||||
}
|
||||
"S(A(IT_K))": {
|
||||
"key": "IT_OGON",
|
||||
"label": "˛",
|
||||
}
|
||||
"S(A(IT_L))": {
|
||||
"key": "IT_CARN",
|
||||
"label": "ˇ",
|
||||
}
|
||||
"S(A(IT_OGRV))": {
|
||||
"key": "IT_CCCE",
|
||||
"label": "Ç",
|
||||
}
|
||||
"S(A(IT_X))": {
|
||||
"key": "IT_DDAG",
|
||||
"label": "‡",
|
||||
}
|
||||
"S(A(IT_C))": {
|
||||
"key": "IT_CAAC",
|
||||
"label": "Á",
|
||||
}
|
||||
"S(A(IT_V))": {
|
||||
"key": "IT_CEAC",
|
||||
"label": "É",
|
||||
}
|
||||
"S(A(IT_B))": {
|
||||
"key": "IT_CIAC",
|
||||
"label": "Í",
|
||||
}
|
||||
"S(A(IT_N))": {
|
||||
"key": "IT_COAC",
|
||||
"label": "Ó",
|
||||
}
|
||||
"S(A(IT_M))": {
|
||||
"key": "IT_CUAC",
|
||||
"label": "Ú",
|
||||
}
|
||||
"S(A(IT_DOT))": {
|
||||
"key": "IT_MDDT",
|
||||
"label": "·",
|
||||
}
|
||||
"S(A(IT_MINS))": {
|
||||
"key": "IT_MDSH",
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,688 +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": "IT_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "IT_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "IT_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "IT_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "IT_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "IT_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "IT_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "IT_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "IT_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "IT_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "IT_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "IT_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "IT_IGRV",
|
||||
"label": "ì",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "IT_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "IT_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "IT_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "IT_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "IT_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "IT_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "IT_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "IT_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "IT_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "IT_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "IT_EGRV",
|
||||
"label": "è",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "IT_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "IT_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "IT_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "IT_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "IT_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "IT_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "IT_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "IT_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "IT_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "IT_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "IT_OGRV",
|
||||
"label": "ò",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "IT_AGRV",
|
||||
"label": "à",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "IT_UGRV",
|
||||
"label": "ù",
|
||||
}
|
||||
"KC_NUBS": {
|
||||
"key": "IT_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "IT_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "IT_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "IT_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "IT_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "IT_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "IT_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "IT_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "IT_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "IT_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "IT_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(IT_BSLS)": {
|
||||
"key": "IT_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(IT_1)": {
|
||||
"key": "IT_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(IT_2)": {
|
||||
"key": "IT_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(IT_3)": {
|
||||
"key": "IT_PND",
|
||||
"label": "£",
|
||||
}
|
||||
"S(IT_4)": {
|
||||
"key": "IT_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(IT_5)": {
|
||||
"key": "IT_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(IT_6)": {
|
||||
"key": "IT_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(IT_7)": {
|
||||
"key": "IT_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"S(IT_8)": {
|
||||
"key": "IT_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(IT_9)": {
|
||||
"key": "IT_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(IT_0)": {
|
||||
"key": "IT_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(IT_QUOT)": {
|
||||
"key": "IT_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(IT_IGRV)": {
|
||||
"key": "IT_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"S(IT_EGRV)": {
|
||||
"key": "IT_EACU",
|
||||
"label": "é",
|
||||
}
|
||||
"S(IT_PLUS)": {
|
||||
"key": "IT_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(IT_OGRV)": {
|
||||
"key": "IT_LCCE",
|
||||
"label": "ç",
|
||||
}
|
||||
"S(IT_AGRV)": {
|
||||
"key": "IT_DEG",
|
||||
"label": "°",
|
||||
}
|
||||
"S(IT_UGRV)": {
|
||||
"key": "IT_SECT",
|
||||
"label": "§",
|
||||
}
|
||||
"S(IT_LABK)": {
|
||||
"key": "IT_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(IT_COMM)": {
|
||||
"key": "IT_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"S(IT_DOT)": {
|
||||
"key": "IT_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"S(IT_MINS)": {
|
||||
"key": "IT_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
/* Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ ` │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ ¶ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ ≤ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"A(IT_BSLS)": {
|
||||
"key": "IT_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"A(IT_1)": {
|
||||
"key": "IT_LDAQ",
|
||||
"label": "«",
|
||||
}
|
||||
"A(IT_2)": {
|
||||
"key": "IT_LDQU",
|
||||
"label": "“",
|
||||
}
|
||||
"A(IT_3)": {
|
||||
"key": "IT_LSQU",
|
||||
"label": "‘",
|
||||
}
|
||||
"A(IT_4)": {
|
||||
"key": "IT_YEN",
|
||||
"label": "¥",
|
||||
}
|
||||
"A(IT_5)": {
|
||||
"key": "IT_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"A(IT_6)": {
|
||||
"key": "IT_LSAQ",
|
||||
"label": "‹",
|
||||
}
|
||||
"A(IT_7)": {
|
||||
"key": "IT_DIV",
|
||||
"label": "÷",
|
||||
}
|
||||
"A(IT_8)": {
|
||||
"key": "IT_ACUT",
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
"A(IT_9)": {
|
||||
"key": "IT_DGRV",
|
||||
"label": "` (dead)",
|
||||
}
|
||||
"A(IT_0)": {
|
||||
"key": "IT_NEQL",
|
||||
"label": "≠",
|
||||
}
|
||||
"A(IT_QUOT)": {
|
||||
"key": "IT_IEXL",
|
||||
"label": "¡",
|
||||
}
|
||||
"A(IT_IGRV)": {
|
||||
"key": "IT_DCIR",
|
||||
"label": "ˆ (dead)",
|
||||
}
|
||||
"A(IT_Q)": {
|
||||
"key": "IT_DLQU",
|
||||
"label": "„",
|
||||
}
|
||||
"A(IT_W)": {
|
||||
"key": "IT_OMEG",
|
||||
"label": "Ω",
|
||||
}
|
||||
"A(IT_E)": {
|
||||
"key": "IT_EURO",
|
||||
"label": "€",
|
||||
}
|
||||
"A(IT_R)": {
|
||||
"key": "IT_REGD",
|
||||
"label": "®",
|
||||
}
|
||||
"A(IT_T)": {
|
||||
"key": "IT_TM",
|
||||
"label": "™",
|
||||
}
|
||||
"A(IT_Y)": {
|
||||
"key": "IT_AE",
|
||||
"label": "Æ",
|
||||
}
|
||||
"A(IT_U)": {
|
||||
"key": "IT_DIAE",
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
"A(IT_I)": {
|
||||
"key": "IT_OE",
|
||||
"label": "Œ",
|
||||
}
|
||||
"A(IT_O)": {
|
||||
"key": "IT_OSTR",
|
||||
"label": "Ø",
|
||||
}
|
||||
"A(IT_P)": {
|
||||
"key": "IT_PI",
|
||||
"label": "π",
|
||||
}
|
||||
"A(IT_EGRV)": {
|
||||
"key": "IT_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"A(IT_PLUS)": {
|
||||
"key": "IT_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"A(IT_A)": {
|
||||
"key": "IT_ARNG",
|
||||
"label": "Å",
|
||||
}
|
||||
"A(IT_S)": {
|
||||
"key": "IT_SS",
|
||||
"label": "ß",
|
||||
}
|
||||
"A(IT_D)": {
|
||||
"key": "IT_PDIF",
|
||||
"label": "∂",
|
||||
}
|
||||
"A(IT_F)": {
|
||||
"key": "IT_FHK",
|
||||
"label": "ƒ",
|
||||
}
|
||||
"A(IT_G)": {
|
||||
"key": "IT_INFN",
|
||||
"label": "∞",
|
||||
}
|
||||
"A(IT_H)": {
|
||||
"key": "IT_INCR",
|
||||
"label": "∆",
|
||||
}
|
||||
"A(IT_J)": {
|
||||
"key": "IT_FORD",
|
||||
"label": "ª",
|
||||
}
|
||||
"A(IT_K)": {
|
||||
"key": "IT_MORD",
|
||||
"label": "º",
|
||||
}
|
||||
"A(IT_L)": {
|
||||
"key": "IT_NOT",
|
||||
"label": "¬",
|
||||
}
|
||||
"A(IT_OGRV)": {
|
||||
"key": "IT_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"A(IT_AGRV)": {
|
||||
"key": "IT_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"A(IT_UGRV)": {
|
||||
"key": "IT_PILC",
|
||||
"label": "¶",
|
||||
}
|
||||
"A(IT_LABK)": {
|
||||
"key": "IT_LTEQ",
|
||||
"label": "≤",
|
||||
}
|
||||
"A(IT_Z)": {
|
||||
"key": "IT_NARS",
|
||||
"label": "∑",
|
||||
}
|
||||
"A(IT_X)": {
|
||||
"key": "IT_DAGG",
|
||||
"label": "†",
|
||||
}
|
||||
"A(IT_C)": {
|
||||
"key": "IT_COPY",
|
||||
"label": "©",
|
||||
}
|
||||
"A(IT_V)": {
|
||||
"key": "IT_SQRT",
|
||||
"label": "√",
|
||||
}
|
||||
"A(IT_B)": {
|
||||
"key": "IT_INTG",
|
||||
"label": "∫",
|
||||
}
|
||||
"A(IT_N)": {
|
||||
"key": "IT_STIL",
|
||||
"label": "˜ (dead)",
|
||||
}
|
||||
"A(IT_M)": {
|
||||
"key": "IT_MICR",
|
||||
"label": "µ",
|
||||
}
|
||||
"A(IT_COMM)": {
|
||||
"key": "IT_ELLP",
|
||||
"label": "…",
|
||||
}
|
||||
"A(IT_DOT)": {
|
||||
"key": "IT_BULT",
|
||||
"label": "•",
|
||||
}
|
||||
"A(IT_MINS)": {
|
||||
"key": "IT_NDSH",
|
||||
"label": "–",
|
||||
}
|
||||
/* Shift+Alted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
* │ ı │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │ │ │ ≈ │ ¿ │ ± │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
|
||||
* │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ │ ◊ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
|
||||
* │ │ ≥ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │
|
||||
* ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │
|
||||
* └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
|
||||
*/
|
||||
"S(A(IT_BSLS))": {
|
||||
"key": "IT_DLSI",
|
||||
"label": "ı",
|
||||
}
|
||||
"S(A(IT_1))": {
|
||||
"key": "IT_RDAQ",
|
||||
"label": "»",
|
||||
}
|
||||
"S(A(IT_2))": {
|
||||
"key": "IT_RDQU",
|
||||
"label": "”",
|
||||
}
|
||||
"S(A(IT_3))": {
|
||||
"key": "IT_RSQU",
|
||||
"label": "’",
|
||||
}
|
||||
"S(A(IT_4))": {
|
||||
"key": "IT_CENT",
|
||||
"label": "¢",
|
||||
}
|
||||
"S(A(IT_5))": {
|
||||
"key": "IT_PERM",
|
||||
"label": "‰",
|
||||
}
|
||||
"S(A(IT_6))": {
|
||||
"key": "IT_RSAQ",
|
||||
"label": "›",
|
||||
}
|
||||
"S(A(IT_7))": {
|
||||
"key": "IT_FRSL",
|
||||
"label": "⁄",
|
||||
}
|
||||
"S(A(IT_8))": {
|
||||
"key": "IT_APPL",
|
||||
"label": " (Apple logo)",
|
||||
}
|
||||
"S(A(IT_0))": {
|
||||
"key": "IT_AEQL",
|
||||
"label": "≈",
|
||||
}
|
||||
"S(A(IT_QUOT))": {
|
||||
"key": "IT_IQUE",
|
||||
"label": "¿",
|
||||
}
|
||||
"S(A(IT_IGRV))": {
|
||||
"key": "IT_PLMN",
|
||||
"label": "±",
|
||||
}
|
||||
"S(A(IT_Q))": {
|
||||
"key": "IT_SLQU",
|
||||
"label": "‚",
|
||||
}
|
||||
"S(A(IT_W))": {
|
||||
"key": "IT_CAGR",
|
||||
"label": "À",
|
||||
}
|
||||
"S(A(IT_E))": {
|
||||
"key": "IT_CEGR",
|
||||
"label": "È",
|
||||
}
|
||||
"S(A(IT_R))": {
|
||||
"key": "IT_CIGR",
|
||||
"label": "Ì",
|
||||
}
|
||||
"S(A(IT_T))": {
|
||||
"key": "IT_COGR",
|
||||
"label": "Ò",
|
||||
}
|
||||
"S(A(IT_U))": {
|
||||
"key": "IT_CUGR",
|
||||
"label": "Ù",
|
||||
}
|
||||
"S(A(IT_P))": {
|
||||
"key": "IT_NARP",
|
||||
"label": "∏",
|
||||
}
|
||||
"S(A(IT_EGRV))": {
|
||||
"key": "IT_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(A(IT_PLUS))": {
|
||||
"key": "IT_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(A(IT_S))": {
|
||||
"key": "IT_MACR",
|
||||
"label": "¯",
|
||||
}
|
||||
"S(A(IT_D))": {
|
||||
"key": "IT_BREV",
|
||||
"label": "˘",
|
||||
}
|
||||
"S(A(IT_F))": {
|
||||
"key": "IT_DOTA",
|
||||
"label": "˙",
|
||||
}
|
||||
"S(A(IT_G))": {
|
||||
"key": "IT_RNGA",
|
||||
"label": "˚",
|
||||
}
|
||||
"S(A(IT_H))": {
|
||||
"key": "IT_CEDL",
|
||||
"label": "¸",
|
||||
}
|
||||
"S(A(IT_J))": {
|
||||
"key": "IT_DACU",
|
||||
"label": "˝",
|
||||
}
|
||||
"S(A(IT_K))": {
|
||||
"key": "IT_OGON",
|
||||
"label": "˛",
|
||||
}
|
||||
"S(A(IT_L))": {
|
||||
"key": "IT_CARN",
|
||||
"label": "ˇ",
|
||||
}
|
||||
"S(A(IT_OGRV))": {
|
||||
"key": "IT_CCCE",
|
||||
"label": "Ç",
|
||||
}
|
||||
"S(A(IT_UGRV))": {
|
||||
"key": "IT_LOZN",
|
||||
"label": "◊",
|
||||
}
|
||||
"S(A(IT_LABK))": {
|
||||
"key": "IT_GTEQ",
|
||||
"label": "≥",
|
||||
}
|
||||
"S(A(IT_X))": {
|
||||
"key": "IT_DDAG",
|
||||
"label": "‡",
|
||||
}
|
||||
"S(A(IT_C))": {
|
||||
"key": "IT_CAAC",
|
||||
"label": "Á",
|
||||
}
|
||||
"S(A(IT_V))": {
|
||||
"key": "IT_CEAC",
|
||||
"label": "É",
|
||||
}
|
||||
"S(A(IT_B))": {
|
||||
"key": "IT_CIAC",
|
||||
"label": "Í",
|
||||
}
|
||||
"S(A(IT_N))": {
|
||||
"key": "IT_COAC",
|
||||
"label": "Ó",
|
||||
}
|
||||
"S(A(IT_M))": {
|
||||
"key": "IT_CUAC",
|
||||
"label": "Ú",
|
||||
}
|
||||
"S(A(IT_DOT))": {
|
||||
"key": "IT_MDDT",
|
||||
"label": "·",
|
||||
}
|
||||
"S(A(IT_MINS))": {
|
||||
"key": "IT_MDSH",
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,330 +0,0 @@
|
||||
{
|
||||
"aliases": {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │Z↔H│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ Eisū │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
||||
* │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ │
|
||||
* ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
|
||||
* │ │ │ │Muhen│ │ Hen │K↔H│ │ │ │ │
|
||||
* └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
|
||||
*/
|
||||
"KC_GRV": {
|
||||
"key": "JP_ZKHK",
|
||||
"label": "Zenkaku ↔ Hankaku ↔ Kanji (半角 ↔ 全角 ↔ 漢字)",
|
||||
}
|
||||
"KC_1": {
|
||||
"key": "JP_1",
|
||||
"label": "1",
|
||||
}
|
||||
"KC_2": {
|
||||
"key": "JP_2",
|
||||
"label": "2",
|
||||
}
|
||||
"KC_3": {
|
||||
"key": "JP_3",
|
||||
"label": "3",
|
||||
}
|
||||
"KC_4": {
|
||||
"key": "JP_4",
|
||||
"label": "4",
|
||||
}
|
||||
"KC_5": {
|
||||
"key": "JP_5",
|
||||
"label": "5",
|
||||
}
|
||||
"KC_6": {
|
||||
"key": "JP_6",
|
||||
"label": "6",
|
||||
}
|
||||
"KC_7": {
|
||||
"key": "JP_7",
|
||||
"label": "7",
|
||||
}
|
||||
"KC_8": {
|
||||
"key": "JP_8",
|
||||
"label": "8",
|
||||
}
|
||||
"KC_9": {
|
||||
"key": "JP_9",
|
||||
"label": "9",
|
||||
}
|
||||
"KC_0": {
|
||||
"key": "JP_0",
|
||||
"label": "0",
|
||||
}
|
||||
"KC_MINS": {
|
||||
"key": "JP_MINS",
|
||||
"label": "-",
|
||||
}
|
||||
"KC_EQL": {
|
||||
"key": "JP_CIRC",
|
||||
"label": "^",
|
||||
}
|
||||
"KC_INT3": {
|
||||
"key": "JP_YEN",
|
||||
"label": "¥",
|
||||
}
|
||||
"KC_Q": {
|
||||
"key": "JP_Q",
|
||||
"label": "Q",
|
||||
}
|
||||
"KC_W": {
|
||||
"key": "JP_W",
|
||||
"label": "W",
|
||||
}
|
||||
"KC_E": {
|
||||
"key": "JP_E",
|
||||
"label": "E",
|
||||
}
|
||||
"KC_R": {
|
||||
"key": "JP_R",
|
||||
"label": "R",
|
||||
}
|
||||
"KC_T": {
|
||||
"key": "JP_T",
|
||||
"label": "T",
|
||||
}
|
||||
"KC_Y": {
|
||||
"key": "JP_Y",
|
||||
"label": "Y",
|
||||
}
|
||||
"KC_U": {
|
||||
"key": "JP_U",
|
||||
"label": "U",
|
||||
}
|
||||
"KC_I": {
|
||||
"key": "JP_I",
|
||||
"label": "I",
|
||||
}
|
||||
"KC_O": {
|
||||
"key": "JP_O",
|
||||
"label": "O",
|
||||
}
|
||||
"KC_P": {
|
||||
"key": "JP_P",
|
||||
"label": "P",
|
||||
}
|
||||
"KC_LBRC": {
|
||||
"key": "JP_AT",
|
||||
"label": "@",
|
||||
}
|
||||
"KC_RBRC": {
|
||||
"key": "JP_LBRC",
|
||||
"label": "[",
|
||||
}
|
||||
"KC_CAPS": {
|
||||
"key": "JP_EISU",
|
||||
"label": "Eisū (英数)",
|
||||
}
|
||||
"KC_A": {
|
||||
"key": "JP_A",
|
||||
"label": "A",
|
||||
}
|
||||
"KC_S": {
|
||||
"key": "JP_S",
|
||||
"label": "S",
|
||||
}
|
||||
"KC_D": {
|
||||
"key": "JP_D",
|
||||
"label": "D",
|
||||
}
|
||||
"KC_F": {
|
||||
"key": "JP_F",
|
||||
"label": "F",
|
||||
}
|
||||
"KC_G": {
|
||||
"key": "JP_G",
|
||||
"label": "G",
|
||||
}
|
||||
"KC_H": {
|
||||
"key": "JP_H",
|
||||
"label": "H",
|
||||
}
|
||||
"KC_J": {
|
||||
"key": "JP_J",
|
||||
"label": "J",
|
||||
}
|
||||
"KC_K": {
|
||||
"key": "JP_K",
|
||||
"label": "K",
|
||||
}
|
||||
"KC_L": {
|
||||
"key": "JP_L",
|
||||
"label": "L",
|
||||
}
|
||||
"KC_SCLN": {
|
||||
"key": "JP_SCLN",
|
||||
"label": ";",
|
||||
}
|
||||
"KC_QUOT": {
|
||||
"key": "JP_COLN",
|
||||
"label": ":",
|
||||
}
|
||||
"KC_NUHS": {
|
||||
"key": "JP_RBRC",
|
||||
"label": "]",
|
||||
}
|
||||
"KC_Z": {
|
||||
"key": "JP_Z",
|
||||
"label": "Z",
|
||||
}
|
||||
"KC_X": {
|
||||
"key": "JP_X",
|
||||
"label": "X",
|
||||
}
|
||||
"KC_C": {
|
||||
"key": "JP_C",
|
||||
"label": "C",
|
||||
}
|
||||
"KC_V": {
|
||||
"key": "JP_V",
|
||||
"label": "V",
|
||||
}
|
||||
"KC_B": {
|
||||
"key": "JP_B",
|
||||
"label": "B",
|
||||
}
|
||||
"KC_N": {
|
||||
"key": "JP_N",
|
||||
"label": "N",
|
||||
}
|
||||
"KC_M": {
|
||||
"key": "JP_M",
|
||||
"label": "M",
|
||||
}
|
||||
"KC_COMM": {
|
||||
"key": "JP_COMM",
|
||||
"label": ",",
|
||||
}
|
||||
"KC_DOT": {
|
||||
"key": "JP_DOT",
|
||||
"label": ".",
|
||||
}
|
||||
"KC_SLSH": {
|
||||
"key": "JP_SLSH",
|
||||
"label": "/",
|
||||
}
|
||||
"KC_INT1": {
|
||||
"key": "JP_BSLS",
|
||||
"label": "\\",
|
||||
}
|
||||
"KC_INT5": {
|
||||
"key": "JP_MHEN",
|
||||
"label": "Muhenkan (無変換)",
|
||||
}
|
||||
"KC_INT4": {
|
||||
"key": "JP_HENK",
|
||||
"label": "Henkan (変換)",
|
||||
}
|
||||
"KC_INT2": {
|
||||
"key": "JP_KANA",
|
||||
"label": "Katakana ↔ Hiragana ↔ Rōmaji (カタカナ ↔ ひらがな ↔ ローマ字)",
|
||||
}
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │ │ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ │ = │ ~ │ | │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ Caps │ │ │ │ │ │ │ │ │ │ + │ * │ } │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ < │ > │ ? │ _ │ │
|
||||
* ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
|
||||
*/
|
||||
"S(JP_1)": {
|
||||
"key": "JP_EXLM",
|
||||
"label": "!",
|
||||
}
|
||||
"S(JP_2)": {
|
||||
"key": "JP_DQUO",
|
||||
"label": "\"",
|
||||
}
|
||||
"S(JP_3)": {
|
||||
"key": "JP_HASH",
|
||||
"label": "#",
|
||||
}
|
||||
"S(JP_4)": {
|
||||
"key": "JP_DLR",
|
||||
"label": "$",
|
||||
}
|
||||
"S(JP_5)": {
|
||||
"key": "JP_PERC",
|
||||
"label": "%",
|
||||
}
|
||||
"S(JP_6)": {
|
||||
"key": "JP_AMPR",
|
||||
"label": "&",
|
||||
}
|
||||
"S(JP_7)": {
|
||||
"key": "JP_QUOT",
|
||||
"label": "'",
|
||||
}
|
||||
"S(JP_8)": {
|
||||
"key": "JP_LPRN",
|
||||
"label": "(",
|
||||
}
|
||||
"S(JP_9)": {
|
||||
"key": "JP_RPRN",
|
||||
"label": ")",
|
||||
}
|
||||
"S(JP_MINS)": {
|
||||
"key": "JP_EQL",
|
||||
"label": "=",
|
||||
}
|
||||
"S(JP_CIRC)": {
|
||||
"key": "JP_TILD",
|
||||
"label": "~",
|
||||
}
|
||||
"S(JP_YEN)": {
|
||||
"key": "JP_PIPE",
|
||||
"label": "|",
|
||||
}
|
||||
"S(JP_AT)": {
|
||||
"key": "JP_GRV",
|
||||
"label": "`",
|
||||
}
|
||||
"S(JP_LBRC)": {
|
||||
"key": "JP_LCBR",
|
||||
"label": "{",
|
||||
}
|
||||
"S(JP_EISU)": {
|
||||
"key": "JP_CAPS",
|
||||
"label": "Caps Lock",
|
||||
}
|
||||
"S(JP_SCLN)": {
|
||||
"key": "JP_PLUS",
|
||||
"label": "+",
|
||||
}
|
||||
"S(JP_COLN)": {
|
||||
"key": "JP_ASTR",
|
||||
"label": "*",
|
||||
}
|
||||
"S(JP_RBRC)": {
|
||||
"key": "JP_RCBR",
|
||||
"label": "}",
|
||||
}
|
||||
"S(JP_COMM)": {
|
||||
"key": "JP_LABK",
|
||||
"label": "<",
|
||||
}
|
||||
"S(JP_DOT)": {
|
||||
"key": "JP_RABK",
|
||||
"label": ">",
|
||||
}
|
||||
"S(JP_SLSH)": {
|
||||
"key": "JP_QUES",
|
||||
"label": "?",
|
||||
}
|
||||
"S(JP_BSLS)": {
|
||||
"key": "JP_UNDS",
|
||||
"label": "_",
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user