Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
7fe4097792 | |||
652f4492d3 | |||
910c466cfe | |||
19dbcf3814 |
@ -57,6 +57,12 @@ Must be in keyboard directory with a default keymap, or in keymap directory for
|
||||
qmk compile
|
||||
```
|
||||
|
||||
**Usage for building all keyboards that support a specific keymap**:
|
||||
|
||||
```
|
||||
qmk compile -kb all -km <keymap_name>
|
||||
```
|
||||
|
||||
**Example**:
|
||||
```
|
||||
$ qmk config compile.keymap=default
|
||||
|
@ -97,13 +97,25 @@ You'd want to replace the year, name, email and github username with your info.
|
||||
|
||||
Additionally, this is a good place to document your code, if you wish to share it with others.
|
||||
|
||||
# Examples
|
||||
## Build All Keyboards That Support a Specific Keymap
|
||||
|
||||
Want to check all your keymaps build in a single command? You can run:
|
||||
|
||||
make all:<name>
|
||||
|
||||
For example,
|
||||
|
||||
make all:jack
|
||||
|
||||
This is ideal for when you want ensure everything compiles successfully when preparing a [_Pull request_](https://github.com/qmk/qmk_firmware/pulls).
|
||||
|
||||
## Examples
|
||||
|
||||
For a brief example, checkout [`/users/_example/`](https://github.com/qmk/qmk_firmware/tree/master/users/drashna).
|
||||
For a more complicated example, checkout [`/users/drashna/`](https://github.com/qmk/qmk_firmware/tree/master/users/drashna)'s userspace.
|
||||
|
||||
|
||||
## Customized Functions
|
||||
### Customized Functions
|
||||
|
||||
QMK has a bunch of [functions](custom_quantum_functions.md) that have [`_quantum`, `_kb`, and `_user` versions](custom_quantum_functions.md#a-word-on-core-vs-keyboards-vs-keymap) that you can use. You will pretty much always want to use the user version of these functions. But the problem is that if you use them in your userspace, then you don't have a version that you can use in your keymap.
|
||||
|
||||
@ -130,7 +142,7 @@ The `_keymap` part here doesn't matter, it just needs to be something other than
|
||||
|
||||
You can see a list of this and other common functions in [`template.c`](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/template.c) in [`users/drashna`](https://github.com/qmk/qmk_firmware/tree/master/users/drashna).
|
||||
|
||||
## Custom Features
|
||||
### Custom Features
|
||||
|
||||
Since the Userspace feature can support a staggering number of boards, you may have boards that you want to enable certain functionality for, but not for others. And you can actually create "features" that you can enable or disable in your own userspace.
|
||||
|
||||
@ -166,7 +178,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
```
|
||||
|
||||
|
||||
## Consolidated Macros
|
||||
### Consolidated Macros
|
||||
|
||||
If you wanted to consolidate macros and other functions into your userspace for all of your keymaps, you can do that. This builds upon the [Customized Functions](#customized-functions) example above. This lets you maintain a bunch of macros that are shared between the different keyboards, and allow for keyboard specific macros, too.
|
||||
|
||||
|
@ -14,61 +14,167 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef KEYMAP_BR_ABNT2_H
|
||||
#define KEYMAP_BR_ABNT2_H
|
||||
#pragma once
|
||||
|
||||
#include "keymap.h"
|
||||
|
||||
/* Scan codes for the Brazilian ABNT2 keyboard layout */
|
||||
// clang-format off
|
||||
|
||||
#define BR_CCDL KC_SCLN // Ç same scancode as ;: on US layout
|
||||
#define BR_SCLN KC_SLSH // ;: same scancode as /? on US layout
|
||||
#define BR_QUOT KC_GRV // '" same scancode as `~ on US layout
|
||||
#define BR_TILD KC_QUOT // ~^ dead keys, same scancode as '" on US layout
|
||||
#define BR_ACUT KC_LBRC // ´` dead keys, same scancode as [{ on US layout
|
||||
#define BR_LBRC KC_RBRC // [{ same scancode as ]} on US layout
|
||||
#define BR_RBRC KC_BSLS // ]} same scancode as \| on US layout
|
||||
#define BR_BSLS KC_NUBS // \| uses the non-US hash scancode (#~, sometimes §±)
|
||||
#define BR_SLSH KC_INT1 // /? uses the INTL1 scancode
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ' │ 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 │ , │ . │ ; │ / │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define BR_QUOT KC_GRV // '
|
||||
#define BR_1 KC_1 // 1
|
||||
#define BR_2 KC_2 // 2
|
||||
#define BR_3 KC_3 // 3
|
||||
#define BR_4 KC_4 // 4
|
||||
#define BR_5 KC_5 // 5
|
||||
#define BR_6 KC_6 // 6
|
||||
#define BR_7 KC_7 // 7
|
||||
#define BR_8 KC_8 // 8
|
||||
#define BR_9 KC_9 // 9
|
||||
#define BR_0 KC_0 // 0
|
||||
#define BR_MINS KC_MINS // -
|
||||
#define BR_EQL KC_EQL // =
|
||||
// Row 2
|
||||
#define BR_Q KC_Q // Q
|
||||
#define BR_W KC_W // W
|
||||
#define BR_E KC_E // E
|
||||
#define BR_R KC_R // R
|
||||
#define BR_T KC_T // T
|
||||
#define BR_Y KC_Y // Y
|
||||
#define BR_U KC_U // U
|
||||
#define BR_I KC_I // I
|
||||
#define BR_O KC_O // O
|
||||
#define BR_P KC_P // P
|
||||
#define BR_ACUT KC_LBRC // ´ (dead)
|
||||
#define BR_LBRC KC_RBRC // [
|
||||
// Row 3
|
||||
#define BR_A KC_A // A
|
||||
#define BR_S KC_S // S
|
||||
#define BR_D KC_D // D
|
||||
#define BR_F KC_F // F
|
||||
#define BR_G KC_G // G
|
||||
#define BR_H KC_H // H
|
||||
#define BR_J KC_J // J
|
||||
#define BR_K KC_K // K
|
||||
#define BR_L KC_L // L
|
||||
#define BR_CCED KC_SCLN // Ç
|
||||
#define BR_TILD KC_QUOT // ~ (dead)
|
||||
#define BR_RBRC KC_BSLS // ]
|
||||
// Row 4
|
||||
#define BR_BSLS KC_NUBS // (backslash)
|
||||
#define BR_Z KC_Z // Z
|
||||
#define BR_X KC_X // X
|
||||
#define BR_C KC_C // C
|
||||
#define BR_V KC_V // V
|
||||
#define BR_B KC_B // B
|
||||
#define BR_N KC_N // N
|
||||
#define BR_M KC_M // M
|
||||
#define BR_COMM KC_COMM // ,
|
||||
#define BR_DOT KC_DOT // .
|
||||
#define BR_SCLN KC_SLSH // ;
|
||||
#define BR_SLSH KC_INT1 // /
|
||||
// Numpad
|
||||
#define BR_PDOT KC_PCMM // .
|
||||
#define BR_PCMM KC_PDOT // ,
|
||||
|
||||
#define BR_COLN LSFT(BR_SCLN) // shifted :
|
||||
#define BR_DQT LSFT(BR_QUOT) // shifted "
|
||||
#define BR_CIRC LSFT(BR_TILD) // shifted ^ (dead key)
|
||||
#define BR_GRAV LSFT(BR_ACUT) // shifted ` (dead key)
|
||||
#define BR_LCBR LSFT(BR_LBRC) // shifted {
|
||||
#define BR_RCBR LSFT(BR_RBRC) // shifted }
|
||||
#define BR_PIPE LSFT(BR_BSLS) // shifted |
|
||||
#define BR_QUES LSFT(BR_SLSH) // shifted ?
|
||||
#define BR_TRMA LSFT(KC_6) // shifted ¨ (dead key - trema accent)
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ " │ ! │ @ │ # │ $ │ % │ ¨ │ & │ * │ ( │ ) │ _ │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ` │ { │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ^ │ } │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
||||
* │ │ | │ │ │ │ │ │ │ │ < │ > │ : │ ? │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define BR_DQUO S(BR_QUOT) // "
|
||||
#define BR_EXLM S(BR_1) // !
|
||||
#define BR_AT S(BR_2) // @
|
||||
#define BR_HASH S(BR_3) // #
|
||||
#define BR_DLR S(BR_4) // $
|
||||
#define BR_PERC S(BR_5) // %
|
||||
#define BR_DIAE S(BR_6) // ¨ (dead)
|
||||
#define BR_AMPR S(BR_7) // &
|
||||
#define BR_ASTR S(BR_8) // *
|
||||
#define BR_LPRN S(BR_9) // (
|
||||
#define BR_RPRN S(BR_0) // )
|
||||
#define BR_UNDS S(BR_MINS) // _
|
||||
#define BR_PLUS S(BR_EQL) // +
|
||||
// Row 2
|
||||
#define BR_GRV S(BR_ACUT) // ` (dead)
|
||||
#define BR_LCBR S(BR_LBRC) // {
|
||||
// Row 3
|
||||
#define BR_CIRC S(BR_TILD) // ^ (dead)
|
||||
#define BR_RCBR S(BR_RBRC) // }
|
||||
// Row 4
|
||||
#define BR_PIPE S(BR_BSLS) // |
|
||||
#define BR_LABK S(BR_COMM) // <
|
||||
#define BR_RABK S(BR_DOT) // >
|
||||
#define BR_COLN S(BR_SCLN) // :
|
||||
#define BR_QUES S(BR_SLSH) // ?
|
||||
|
||||
// On the ABNT2 the keypad comma and the keypad dot scancodes are switched
|
||||
// (presumably because in Brazil comma is used as the decimal separator)
|
||||
#define BR_KPDT KC_KP_COMMA // keypad .
|
||||
#define BR_KPCM KC_KP_DOT // keypad ,
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ ¹ │ ² │ ³ │ £ │ ¢ │ ¬ │ │ │ │ │ │ § │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ ° │ │ │ │ │ │ │ │ │ ª │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ º │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
|
||||
* │ │ │ │ │ ₢ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define BR_SUP1 ALGR(BR_1) // ¹
|
||||
#define BR_SUP2 ALGR(BR_2) // ²
|
||||
#define BR_SUP3 ALGR(BR_3) // ³
|
||||
#define BR_PND ALGR(BR_4) // £
|
||||
#define BR_CENT ALGR(BR_5) // ¢
|
||||
#define BR_NOT ALGR(BR_6) // ¬
|
||||
#define BR_SECT ALGR(BR_EQL) // §
|
||||
// Row 2
|
||||
#define BR_DEG ALGR(BR_E) // °
|
||||
#define BR_FORD ALGR(BR_LBRC) // ª
|
||||
// Row 3
|
||||
#define BR_MORD ALGR(BR_RBRC) // º
|
||||
// Row 4
|
||||
#define BR_CRUZ ALGR(BR_C) // ₢
|
||||
|
||||
#define BR_1UP LALT(KC_1) // 1 superscript ¹ alt+1
|
||||
#define BR_2UP LALT(KC_2) // 2 superscript ² alt+2
|
||||
#define BR_3UP LALT(KC_3) // 3 superscript ³ alt+3
|
||||
#define BR_PND LALT(KC_4) // Pound sign £ alt+4
|
||||
#define BR_CENT LALT(KC_5) // Cent sign ¢ alt+5
|
||||
#define BR_NOT LALT(KC_6) // Not sign ¬ alt+6
|
||||
#define BR_SECT LALT(KC_EQL) // Section sign § alt+=
|
||||
#define BR_FORD LALT(BR_LBRC) // Feminine Ordinal Sign ª alt+[
|
||||
#define BR_MORD LALT(BR_RBRC) // Masculine Ordinal Sign º alt+]
|
||||
#define BR_DGRE LALT(BR_SLSH) // Degree sign ° alt+/
|
||||
// DEPRECATED
|
||||
#define BR_CCDL BR_CCED
|
||||
#define BR_DQT BR_DQUO
|
||||
#define BR_TRMA BR_DIAE
|
||||
#define BR_GRAV BR_GRV
|
||||
#define BR_KPDT BR_PDOT
|
||||
#define BR_KPCM BR_PCMM
|
||||
#define BR_1UP BR_SUP1
|
||||
#define BR_2UP BR_SUP2
|
||||
#define BR_3UP BR_SUP3
|
||||
#define BR_ASLS BR_SLSH
|
||||
#define BR_AQST BR_QUES
|
||||
|
||||
#define BR_EURO LALT(KC_E) // Euro sign € alt+e
|
||||
#define BR_NDTD LALT(BR_TILD) // Non-dead key tilde ~ alt+~
|
||||
#define BR_NDAC LALT(BR_ACUT) // Non-dead key acute accent ´ alt+´
|
||||
#define BR_NDGV LALT(BR_QUOT) // Non-dead key grave accent ` alt+'
|
||||
#define BR_NDCR LALT(BR_CIRC) // Non-dead key circumflex accent ^ alt+^ (alt+shift+~)
|
||||
#define BR_NDTR LALT(BR_TRMA) // Non-dead key trema accent ¨ alt+¨ (alt+shift+6)
|
||||
|
||||
// For 101-key keyboard layouts, the ABNT2 layout allows
|
||||
// the slash and question mark to be typed using alt+q and alt+w.
|
||||
// The shortcuts are provided here for completeness' sake,
|
||||
// but it's recommended to use BR_SLSH and BR_QUES instead
|
||||
#define BR_ASLS LALT(KC_Q)
|
||||
#define BR_AQST LALT(KC_W)
|
||||
|
||||
#endif
|
||||
// Not present on Windows 10?
|
||||
#define BR_NDTD ALGR(BR_TILD) // ~
|
||||
#define BR_NDAC ALGR(BR_ACUT) // ´
|
||||
#define BR_NDGV ALGR(BR_QUOT) // `
|
||||
#define BR_NDCR ALGR(BR_CIRC) // ^
|
||||
#define BR_NDTR ALGR(BR_DIAE) // ¨
|
||||
|
@ -13,82 +13,153 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef KEYMAP_FRENCH_H
|
||||
#define KEYMAP_FRENCH_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "keymap.h"
|
||||
|
||||
// Normal characters
|
||||
#define FR_SUP2 KC_GRV
|
||||
#define FR_AMP KC_1
|
||||
#define FR_EACU KC_2
|
||||
#define FR_QUOT KC_3
|
||||
#define FR_APOS KC_4
|
||||
#define FR_LPRN KC_5
|
||||
#define FR_MINS KC_6
|
||||
#define FR_EGRV KC_7
|
||||
#define FR_UNDS KC_8
|
||||
#define FR_CCED KC_9
|
||||
#define FR_AGRV KC_0
|
||||
#define FR_RPRN KC_MINS
|
||||
#define FR_EQL KC_EQL
|
||||
// clang-format off
|
||||
|
||||
#define FR_A KC_Q
|
||||
#define FR_Z KC_W
|
||||
#define FR_CIRC KC_LBRC
|
||||
#define FR_DLR KC_RBRC
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ² │ & │ é │ " │ ' │ ( │ - │ è │ _ │ ç │ à │ ) │ = │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ 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 │ , │ ; │ : │ ! │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define FR_SUP2 KC_GRV // ²
|
||||
#define FR_AMPR KC_1 // &
|
||||
#define FR_EACU KC_2 // é
|
||||
#define FR_DQUO KC_3 // "
|
||||
#define FR_QUOT KC_4 // '
|
||||
#define FR_LPRN KC_5 // (
|
||||
#define FR_MINS KC_6 // -
|
||||
#define FR_EGRV KC_7 // è
|
||||
#define FR_UNDS KC_8 // _
|
||||
#define FR_CCED KC_9 // ç
|
||||
#define FR_AGRV KC_0 // à
|
||||
#define FR_RPRN KC_MINS // )
|
||||
#define FR_EQL KC_EQL // =
|
||||
// Row 2
|
||||
#define FR_A KC_Q // A
|
||||
#define FR_Z KC_W // Z
|
||||
#define FR_E KC_E // E
|
||||
#define FR_R KC_R // R
|
||||
#define FR_T KC_T // T
|
||||
#define FR_Y KC_Y // Y
|
||||
#define FR_U KC_U // U
|
||||
#define FR_I KC_I // I
|
||||
#define FR_O KC_O // O
|
||||
#define FR_P KC_P // P
|
||||
#define FR_CIRC KC_LBRC // ^ (dead)
|
||||
#define FR_DLR KC_RBRC // $
|
||||
// Row 3
|
||||
#define FR_Q KC_A // Q
|
||||
#define FR_S KC_S // S
|
||||
#define FR_D KC_D // D
|
||||
#define FR_F KC_F // F
|
||||
#define FR_G KC_G // G
|
||||
#define FR_H KC_H // H
|
||||
#define FR_J KC_J // J
|
||||
#define FR_K KC_K // K
|
||||
#define FR_L KC_L // L
|
||||
#define FR_M KC_SCLN // M
|
||||
#define FR_UGRV KC_QUOT // ù
|
||||
#define FR_ASTR KC_NUHS // *
|
||||
// Row 4
|
||||
#define FR_LABK KC_NUBS // <
|
||||
#define FR_W KC_Z // W
|
||||
#define FR_X KC_X // X
|
||||
#define FR_C KC_C // C
|
||||
#define FR_V KC_V // V
|
||||
#define FR_B KC_B // B
|
||||
#define FR_N KC_N // N
|
||||
#define FR_COMM KC_M // ,
|
||||
#define FR_SCLN KC_COMM // ;
|
||||
#define FR_COLN KC_DOT // :
|
||||
#define FR_EXLM KC_SLSH // !
|
||||
|
||||
#define FR_Q KC_A
|
||||
#define FR_M KC_SCLN
|
||||
#define FR_UGRV KC_QUOT
|
||||
#define FR_ASTR KC_NUHS
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ + │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ £ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ % │ µ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ ? │ . │ / │ § │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define FR_1 S(FR_AMPR) // 1
|
||||
#define FR_2 S(FR_EACU) // 2
|
||||
#define FR_3 S(FR_DQUO) // 3
|
||||
#define FR_4 S(FR_QUOT) // 4
|
||||
#define FR_5 S(FR_LPRN) // 5
|
||||
#define FR_6 S(FR_MINS) // 6
|
||||
#define FR_7 S(FR_EGRV) // 7
|
||||
#define FR_8 S(FR_UNDS) // 8
|
||||
#define FR_9 S(FR_CCED) // 9
|
||||
#define FR_0 S(FR_AGRV) // 0
|
||||
#define FR_DEG S(FR_RPRN) // °
|
||||
#define FR_PLUS S(FR_EQL) // +
|
||||
// Row 2
|
||||
#define FR_DIAE S(FR_CIRC) // ¨ (dead)
|
||||
#define FR_PND S(FR_DLR) // £
|
||||
// Row 3
|
||||
#define FR_PERC S(FR_UGRV) // %
|
||||
#define FR_MICR S(FR_ASTR) // µ
|
||||
// Row 4
|
||||
#define FR_RABK S(FR_LABK) // >
|
||||
#define FR_QUES S(FR_COMM) // ?
|
||||
#define FR_DOT S(FR_SCLN) // .
|
||||
#define FR_SLSH S(FR_COLN) // /
|
||||
#define FR_SECT S(FR_EXLM) // §
|
||||
|
||||
#define FR_LESS KC_NUBS
|
||||
#define FR_W KC_Z
|
||||
#define FR_COMM KC_M
|
||||
#define FR_SCLN KC_COMM
|
||||
#define FR_COLN KC_DOT
|
||||
#define FR_EXLM KC_SLSH
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ ~ │ # │ { │ [ │ | │ ` │ \ │ │ @ │ ] │ } │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ € │ │ │ │ │ │ │ │ │ ¤ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define FR_TILD ALGR(FR_EACU) // ~ (dead)
|
||||
#define FR_HASH ALGR(FR_DQUO) // #
|
||||
#define FR_LCBR ALGR(FR_QUOT) // {
|
||||
#define FR_LBRC ALGR(FR_LPRN) // [
|
||||
#define FR_PIPE ALGR(FR_MINS) // |
|
||||
#define FR_GRV ALGR(FR_EGRV) // ` (dead)
|
||||
#define FR_BSLS ALGR(FR_UNDS) // (backslash)
|
||||
#define FR_AT ALGR(FR_AGRV) // @
|
||||
#define FR_RBRC ALGR(FR_RPRN) // ]
|
||||
#define FR_RCBR ALGR(FR_EQL) // }
|
||||
// Row 2
|
||||
#define FR_EURO ALGR(KC_E) // €
|
||||
#define FR_CURR ALGR(FR_DLR) // ¤
|
||||
|
||||
// Shifted characters
|
||||
#define FR_1 LSFT(KC_1)
|
||||
#define FR_2 LSFT(KC_2)
|
||||
#define FR_3 LSFT(KC_3)
|
||||
#define FR_4 LSFT(KC_4)
|
||||
#define FR_5 LSFT(KC_5)
|
||||
#define FR_6 LSFT(KC_6)
|
||||
#define FR_7 LSFT(KC_7)
|
||||
#define FR_8 LSFT(KC_8)
|
||||
#define FR_9 LSFT(KC_9)
|
||||
#define FR_0 LSFT(KC_0)
|
||||
#define FR_OVRR LSFT(FR_RPRN)
|
||||
#define FR_PLUS LSFT(FR_EQL)
|
||||
|
||||
#define FR_UMLT LSFT(FR_CIRC)
|
||||
#define FR_PND LSFT(FR_DLR)
|
||||
#define FR_PERC LSFT(FR_UGRV)
|
||||
#define FR_MU LSFT(FR_ASTR)
|
||||
|
||||
#define FR_GRTR LSFT(FR_LESS)
|
||||
#define FR_QUES LSFT(FR_COMM)
|
||||
#define FR_DOT LSFT(FR_SCLN)
|
||||
#define FR_SLSH LSFT(FR_COLN)
|
||||
#define FR_SECT LSFT(FR_EXLM)
|
||||
|
||||
// Alt Gr-ed characters
|
||||
#define FR_TILD ALGR(KC_2)
|
||||
#define FR_HASH ALGR(KC_3)
|
||||
#define FR_LCBR ALGR(KC_4)
|
||||
#define FR_LBRC ALGR(KC_5)
|
||||
#define FR_PIPE ALGR(KC_6)
|
||||
#define FR_GRV ALGR(KC_7)
|
||||
#define FR_BSLS ALGR(KC_8)
|
||||
#define FR_CCIRC ALGR(KC_9)
|
||||
#define FR_AT ALGR(KC_0)
|
||||
#define FR_RBRC ALGR(FR_RPRN)
|
||||
#define FR_RCBR ALGR(FR_EQL)
|
||||
|
||||
#define FR_EURO ALGR(KC_E)
|
||||
#define FR_BULT ALGR(FR_DLR)
|
||||
|
||||
#endif
|
||||
// DEPRECATED
|
||||
#define FR_AMP FR_AMPR
|
||||
#define FR_APOS FR_QUOT
|
||||
#define FR_LESS FR_LABK
|
||||
#define FR_OVRR FR_DEG
|
||||
#define FR_UMLT FR_DIAE
|
||||
#define FR_MU FR_MICR
|
||||
#define FR_GRTR FR_RABK
|
||||
#define FR_CCIRC FR_CIRC
|
||||
#define FR_BULT FR_CURR
|
||||
|
@ -14,98 +14,153 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef KEYMAP_GERMAN
|
||||
#define KEYMAP_GERMAN
|
||||
#pragma once
|
||||
|
||||
#include "keymap.h"
|
||||
|
||||
// normal characters
|
||||
#define DE_Z KC_Y
|
||||
#define DE_Y KC_Z
|
||||
// clang-format off
|
||||
|
||||
#define DE_A KC_A
|
||||
#define DE_B KC_B
|
||||
#define DE_C KC_C
|
||||
#define DE_D KC_D
|
||||
#define DE_E KC_E
|
||||
#define DE_F KC_F
|
||||
#define DE_G KC_G
|
||||
#define DE_H KC_H
|
||||
#define DE_I KC_I
|
||||
#define DE_J KC_J
|
||||
#define DE_K KC_K
|
||||
#define DE_L KC_L
|
||||
#define DE_M KC_M
|
||||
#define DE_N KC_N
|
||||
#define DE_O KC_O
|
||||
#define DE_P KC_P
|
||||
#define DE_Q KC_Q
|
||||
#define DE_R KC_R
|
||||
#define DE_S KC_S
|
||||
#define DE_T KC_T
|
||||
#define DE_U KC_U
|
||||
#define DE_V KC_V
|
||||
#define DE_W KC_W
|
||||
#define DE_X KC_X
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ^ │ 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 │ , │ . │ - │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define DE_CIRC KC_GRV // ^ (dead)
|
||||
#define DE_1 KC_1 // 1
|
||||
#define DE_2 KC_2 // 2
|
||||
#define DE_3 KC_3 // 3
|
||||
#define DE_4 KC_4 // 4
|
||||
#define DE_5 KC_5 // 5
|
||||
#define DE_6 KC_6 // 6
|
||||
#define DE_7 KC_7 // 7
|
||||
#define DE_8 KC_8 // 8
|
||||
#define DE_9 KC_9 // 9
|
||||
#define DE_0 KC_0 // 0
|
||||
#define DE_SS KC_MINS // ß
|
||||
#define DE_ACUT KC_EQL // ´ (dead)
|
||||
// Row 2
|
||||
#define DE_Q KC_Q // Q
|
||||
#define DE_W KC_W // W
|
||||
#define DE_E KC_E // E
|
||||
#define DE_R KC_R // R
|
||||
#define DE_T KC_T // T
|
||||
#define DE_Z KC_Y // Z
|
||||
#define DE_U KC_U // U
|
||||
#define DE_I KC_I // I
|
||||
#define DE_O KC_O // O
|
||||
#define DE_P KC_P // P
|
||||
#define DE_UDIA KC_LBRC // Ü
|
||||
#define DE_PLUS KC_RBRC // +
|
||||
// Row 3
|
||||
#define DE_A KC_A // A
|
||||
#define DE_S KC_S // S
|
||||
#define DE_D KC_D // D
|
||||
#define DE_F KC_F // F
|
||||
#define DE_G KC_G // G
|
||||
#define DE_H KC_H // H
|
||||
#define DE_J KC_J // J
|
||||
#define DE_K KC_K // K
|
||||
#define DE_L KC_L // L
|
||||
#define DE_ODIA KC_SCLN // Ö
|
||||
#define DE_ADIA KC_QUOT // Ä
|
||||
#define DE_HASH KC_NUHS // #
|
||||
// Row 4
|
||||
#define DE_LABK KC_NUBS // <
|
||||
#define DE_Y KC_Z // Y
|
||||
#define DE_X KC_X // X
|
||||
#define DE_C KC_C // C
|
||||
#define DE_V KC_V // V
|
||||
#define DE_B KC_B // B
|
||||
#define DE_N KC_N // N
|
||||
#define DE_M KC_M // M
|
||||
#define DE_COMM KC_COMM // ,
|
||||
#define DE_DOT KC_DOT // .
|
||||
#define DE_MINS KC_SLSH // -
|
||||
|
||||
#define DE_0 KC_0
|
||||
#define DE_1 KC_1
|
||||
#define DE_2 KC_2
|
||||
#define DE_3 KC_3
|
||||
#define DE_4 KC_4
|
||||
#define DE_5 KC_5
|
||||
#define DE_6 KC_6
|
||||
#define DE_7 KC_7
|
||||
#define DE_8 KC_8
|
||||
#define DE_9 KC_9
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define DE_DEG S(DE_CIRC) // °
|
||||
#define DE_EXLM S(DE_1) // !
|
||||
#define DE_DQUO S(DE_2) // "
|
||||
#define DE_SECT S(DE_3) // §
|
||||
#define DE_DLR S(DE_4) // $
|
||||
#define DE_PERC S(DE_5) // %
|
||||
#define DE_AMPR S(DE_6) // &
|
||||
#define DE_SLSH S(DE_7) // /
|
||||
#define DE_LPRN S(DE_8) // (
|
||||
#define DE_RPRN S(DE_9) // )
|
||||
#define DE_EQL S(DE_0) // =
|
||||
#define DE_QUES S(DE_SS) // ?
|
||||
#define DE_GRV S(DE_ACUT) // ` (dead)
|
||||
// Row 2
|
||||
#define DE_ASTR S(DE_PLUS) // *
|
||||
// Row 3
|
||||
#define DE_QUOT S(DE_HASH) // '
|
||||
// Row 4
|
||||
#define DE_RABK S(DE_LABK) // >
|
||||
#define DE_SCLN S(DE_COMM) // ;
|
||||
#define DE_COLN S(DE_DOT) // :
|
||||
#define DE_UNDS S(DE_MINS) // _
|
||||
|
||||
#define DE_DOT KC_DOT
|
||||
#define DE_COMM KC_COMM
|
||||
/* AltGr symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ ² │ ³ │ │ │ │ { │ [ │ ] │ } │ \ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ @ │ │ € │ │ │ │ │ │ │ │ │ ~ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||
* │ │ | │ │ │ │ │ │ │ µ │ │ │ │ │
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define DE_SUP2 ALGR(DE_2) // ²
|
||||
#define DE_SUP3 ALGR(DE_3) // ³
|
||||
#define DE_LCBR ALGR(DE_7) // {
|
||||
#define DE_LBRC ALGR(DE_8) // [
|
||||
#define DE_RBRC ALGR(DE_9) // ]
|
||||
#define DE_RCBR ALGR(DE_0) // }
|
||||
#define DE_BSLS ALGR(DE_SS) // (backslash)
|
||||
// Row 2
|
||||
#define DE_AT ALGR(DE_Q) // @
|
||||
#define DE_EURO ALGR(DE_E) // €
|
||||
#define DE_TILD ALGR(DE_PLUS) // ~
|
||||
// Row 4
|
||||
#define DE_PIPE ALGR(DE_LABK) // |
|
||||
#define DE_MICR ALGR(DE_M) // µ
|
||||
|
||||
#define DE_SS KC_MINS
|
||||
#define DE_AE KC_QUOT
|
||||
#define DE_UE KC_LBRC
|
||||
#define DE_OE KC_SCLN
|
||||
|
||||
#define DE_CIRC KC_GRAVE // accent circumflex ^ and ring °
|
||||
#define DE_ACUT KC_EQL // accent acute ´ and grave `
|
||||
#define DE_PLUS KC_RBRC // + and * and ~
|
||||
#define DE_HASH KC_BSLS // # and '
|
||||
#define DE_LESS KC_NUBS // < and > and |
|
||||
#define DE_MINS KC_SLSH // - and _
|
||||
|
||||
// shifted characters
|
||||
#define DE_RING LSFT(DE_CIRC) // °
|
||||
#define DE_EXLM LSFT(KC_1) // !
|
||||
#define DE_DQOT LSFT(KC_2) // "
|
||||
#define DE_PARA LSFT(KC_3) // §
|
||||
#define DE_DLR LSFT(KC_4) // $
|
||||
#define DE_PERC LSFT(KC_5) // %
|
||||
#define DE_AMPR LSFT(KC_6) // &
|
||||
#define DE_SLSH LSFT(KC_7) // /
|
||||
#define DE_LPRN LSFT(KC_8) // (
|
||||
#define DE_RPRN LSFT(KC_9) // )
|
||||
#define DE_EQL LSFT(KC_0) // =
|
||||
#define DE_QST LSFT(DE_SS) // ?
|
||||
#define DE_GRV LSFT(DE_ACUT) // `
|
||||
#define DE_ASTR LSFT(DE_PLUS) // *
|
||||
#define DE_QUOT LSFT(DE_HASH) // '
|
||||
#define DE_MORE LSFT(DE_LESS) // >
|
||||
#define DE_COLN LSFT(KC_DOT) // :
|
||||
#define DE_SCLN LSFT(KC_COMM) // ;
|
||||
#define DE_UNDS LSFT(DE_MINS) // _
|
||||
|
||||
// Alt Gr-ed characters
|
||||
#define DE_SQ2 ALGR(KC_2) // ²
|
||||
#define DE_SQ3 ALGR(KC_3) // ³
|
||||
#define DE_LCBR ALGR(KC_7) // {
|
||||
#define DE_LBRC ALGR(KC_8) // [
|
||||
#define DE_RBRC ALGR(KC_9) // ]
|
||||
#define DE_RCBR ALGR(KC_0) // }
|
||||
#define DE_BSLS ALGR(DE_SS) // backslash
|
||||
#define DE_AT ALGR(KC_Q) // @
|
||||
#define DE_EURO ALGR(KC_E) // €
|
||||
#define DE_TILD ALGR(DE_PLUS) // ~
|
||||
#define DE_PIPE ALGR(DE_LESS) // |
|
||||
|
||||
#endif
|
||||
// DEPRECATED
|
||||
#define DE_UE DE_UDIA
|
||||
#define DE_OE DE_ODIA
|
||||
#define DE_AE DE_ADIA
|
||||
#define DE_LESS DE_LABK
|
||||
#define DE_RING DE_DEG
|
||||
#define DE_DQOT DE_DQUO
|
||||
#define DE_PARA DE_SECT
|
||||
#define DE_QST DE_QUES
|
||||
#define DE_MORE DE_RABK
|
||||
#define DE_SQ2 DE_SUP2
|
||||
#define DE_SQ3 DE_SUP3
|
||||
|
80
quantum/keymap_extras/sendstring_br_abnt2.h
Normal file
80
quantum/keymap_extras/sendstring_br_abnt2.h
Normal file
@ -0,0 +1,80 @@
|
||||
/* Copyright 2020
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
// Sendstring lookup tables for Brazilian (ABNT2) layouts
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "keymap_br_abnt2.h"
|
||||
#include "quantum.h"
|
||||
|
||||
// clang-format off
|
||||
|
||||
const uint8_t ascii_to_shift_lut[16] PROGMEM = {
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
|
||||
KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 0),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 1, 0, 1, 0, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 1, 1),
|
||||
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0)
|
||||
};
|
||||
|
||||
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// BS TAB LF VT FF CR SO SI
|
||||
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// CAN EM SUB ESC FS GS RS US
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// ! " # $ % & '
|
||||
KC_SPC, BR_1, BR_QUOT, BR_3, BR_4, BR_5, BR_7, BR_QUOT,
|
||||
// ( ) * + , - . /
|
||||
BR_9, BR_0, BR_8, BR_EQL, BR_COMM, BR_MINS, BR_DOT, BR_SLSH,
|
||||
// 0 1 2 3 4 5 6 7
|
||||
BR_0, BR_1, BR_2, BR_3, BR_4, BR_5, BR_6, BR_7,
|
||||
// 8 9 : ; < = > ?
|
||||
BR_8, BR_9, BR_SCLN, BR_SCLN, BR_COMM, BR_EQL, BR_DOT, BR_SLSH,
|
||||
// @ A B C D E F G
|
||||
BR_2, BR_A, BR_B, BR_C, BR_D, BR_E, BR_F, BR_G,
|
||||
// H I J K L M N O
|
||||
BR_H, BR_I, BR_J, BR_K, BR_L, BR_M, BR_N, BR_O,
|
||||
// P Q R S T U V W
|
||||
BR_P, BR_Q, BR_R, BR_S, BR_T, BR_U, BR_V, BR_W,
|
||||
// X Y Z [ \ ] ^ _
|
||||
BR_X, BR_Y, BR_Z, BR_LBRC, BR_BSLS, BR_RBRC, BR_TILD, BR_MINS,
|
||||
// ` a b c d e f g
|
||||
BR_ACUT, BR_A, BR_B, BR_C, BR_D, BR_E, BR_F, BR_G,
|
||||
// h i j k l m n o
|
||||
BR_H, BR_I, BR_J, BR_K, BR_L, BR_M, BR_N, BR_O,
|
||||
// p q r s t u v w
|
||||
BR_P, BR_Q, BR_R, BR_S, BR_T, BR_U, BR_V, BR_W,
|
||||
// x y z { | } ~ DEL
|
||||
BR_X, BR_Y, BR_Z, BR_LBRC, BR_BSLS, BR_RBRC, BR_TILD, KC_DEL
|
||||
};
|
@ -40,7 +40,7 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = {
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
|
||||
};
|
||||
|
||||
const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
|
||||
@ -60,7 +60,7 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
|
||||
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0)
|
||||
};
|
||||
|
||||
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||
@ -74,27 +74,27 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
||||
// ! " # $ % & '
|
||||
KC_SPC, FR_EXLM, FR_QUOT, FR_QUOT, FR_DLR, FR_UGRV, FR_AMP, FR_APOS,
|
||||
KC_SPC, FR_EXLM, FR_QUOT, FR_DQUO, FR_DLR, FR_UGRV, FR_AMP, FR_QUOT,
|
||||
// ( ) * + , - . /
|
||||
FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN,
|
||||
// 0 1 2 3 4 5 6 7
|
||||
FR_AGRV, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, FR_MINS, FR_EGRV,
|
||||
FR_AGRV, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, FR_MINS, FR_EGRV,
|
||||
// 8 9 : ; < = > ?
|
||||
FR_CCED, FR_AGRV, FR_COLN, FR_SCLN, FR_LESS, FR_EQL, FR_LESS, FR_COMM,
|
||||
FR_CCED, FR_AGRV, FR_COLN, FR_SCLN, FR_LABK, FR_EQL, FR_LABK, FR_COMM,
|
||||
// @ A B C D E F G
|
||||
FR_AGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||
FR_AGRV, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G,
|
||||
// H I J K L M N O
|
||||
KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O,
|
||||
FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O,
|
||||
// P Q R S T U V W
|
||||
KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W,
|
||||
FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W,
|
||||
// X Y Z [ \ ] ^ _
|
||||
KC_X, KC_Y, FR_Z, FR_LPRN, FR_UNDS, FR_RPRN, FR_CCED, FR_UNDS,
|
||||
FR_X, FR_Y, FR_Z, FR_LPRN, FR_UNDS, FR_RPRN, FR_CCED, FR_UNDS,
|
||||
// ` a b c d e f g
|
||||
FR_EGRV, FR_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||
FR_EGRV, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G,
|
||||
// h i j k l m n o
|
||||
KC_H, KC_I, KC_J, KC_K, KC_L, FR_M, KC_N, KC_O,
|
||||
FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O,
|
||||
// p q r s t u v w
|
||||
KC_P, FR_Q, KC_R, KC_S, KC_T, KC_U, KC_V, FR_W,
|
||||
FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W,
|
||||
// x y z { | } ~ DEL
|
||||
KC_X, KC_Y, FR_Z, FR_APOS, FR_MINS, FR_EQL, FR_EACU, KC_DEL
|
||||
FR_X, FR_Y, FR_Z, FR_QUOT, FR_MINS, FR_EQL, FR_EACU, KC_DEL
|
||||
};
|
||||
|
@ -40,7 +40,7 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = {
|
||||
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
|
||||
};
|
||||
|
||||
const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
|
||||
@ -60,7 +60,7 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0)
|
||||
};
|
||||
|
||||
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||
@ -80,7 +80,7 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||
// 0 1 2 3 4 5 6 7
|
||||
DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7,
|
||||
// 8 9 : ; < = > ?
|
||||
DE_8, DE_9, DE_DOT, DE_COMM, DE_LESS, DE_0, DE_LESS, DE_SS,
|
||||
DE_8, DE_9, DE_DOT, DE_COMM, DE_LABK, DE_0, DE_LABK, DE_SS,
|
||||
// @ A B C D E F G
|
||||
DE_Q, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
|
||||
// H I J K L M N O
|
||||
@ -96,5 +96,5 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||
// p q r s t u v w
|
||||
DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
|
||||
// x y z { | } ~ DEL
|
||||
DE_X, DE_Y, DE_Z, DE_7, DE_LESS, DE_0, DE_PLUS, KC_DEL
|
||||
DE_X, DE_Y, DE_Z, DE_7, DE_LABK, DE_0, DE_PLUS, KC_DEL
|
||||
};
|
||||
|
Reference in New Issue
Block a user