aboutsummaryrefslogtreecommitdiff
path: root/quantum/keymap_extras
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/keymap_extras')
-rw-r--r--quantum/keymap_extras/keymap_br_abnt2.h58
-rw-r--r--quantum/keymap_extras/keymap_dvp.h82
2 files changed, 140 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_br_abnt2.h b/quantum/keymap_extras/keymap_br_abnt2.h
new file mode 100644
index 000000000..0df177721
--- /dev/null
+++ b/quantum/keymap_extras/keymap_br_abnt2.h
@@ -0,0 +1,58 @@
1#ifndef KEYMAP_BR_ABNT2_H
2#define KEYMAP_BR_ABNT2_H
3
4#include "keymap_common.h"
5
6/* Scan codes for the Brazilian ABNT2 keyboard layout */
7
8#define BR_CCDL KC_SCLN // Ç same scancode as ;: on US layout
9#define BR_SCLN KC_SLSH // ;: same scancode as /? on US layout
10#define BR_QUOT KC_GRV // '" same scancode as `~ on US layout
11#define BR_TILD KC_QUOT // ~^ dead keys, same scancode as '" on US layout
12#define BR_ACUT KC_LBRC // ´` dead keys, same scancode as [{ on US layout
13#define BR_LBRC KC_RBRC // [{ same scancode as ]} on US layout
14#define BR_RBRC KC_BSLS // ]} same scancode as \| on US layout
15#define BR_BSLS KC_NUBS // \| uses the non-US hash scancode (#~, sometimes §±)
16#define BR_SLSH KC_INT1 // /? uses the INTL1 scancode
17
18#define BR_COLN LSFT(BR_SCLN) // shifted :
19#define BR_DQT LSFT(BR_QUOT) // shifted "
20#define BR_CIRC LSFT(BR_TILD) // shifted ^ (dead key)
21#define BR_GRAV LSFT(BR_ACUT) // shifted ` (dead key)
22#define BR_LCBR LSFT(BR_LBRC) // shifted {
23#define BR_RCBR LSFT(BR_RBRC) // shifted }
24#define BR_PIPE LSFT(BR_BSLS) // shifted |
25#define BR_QUES LSFT(BR_SLSH) // shifted ?
26#define BR_TRMA LSFT(KC_6) // shifted ¨ (dead key - trema accent)
27
28// On the ABNT2 the keypad comma and the keypad dot scancodes are switched
29// (presumably because in Brazil comma is used as the decimal separator)
30#define BR_KPDT KC_KP_COMMA // keypad .
31#define BR_KPCM KC_KP_DOT // keypad ,
32
33#define BR_1UP LALT(KC_1) // 1 superscript ¹ alt+1
34#define BR_2UP LALT(KC_2) // 2 superscript ² alt+2
35#define BR_3UP LALT(KC_3) // 3 superscript ³ alt+3
36#define BR_PND LALT(KC_4) // Pound sign £ alt+4
37#define BR_CENT LALT(KC_5) // Cent sign ¢ alt+5
38#define BR_NOT LALT(KC_6) // Not sign ¬ alt+6
39#define BR_SECT LALT(KC_EQL) // Section sign § alt+=
40#define BR_FORD LALT(BR_LBRC) // Feminine Ordinal Sign ª alt+[
41#define BR_MORD LALT(BR_RBRC) // Masculine Ordinal Sign º alt+]
42#define BR_DGRE LALT(BR_SLSH) // Degree sign ° alt+/
43
44#define BR_EURO LALT(KC_E) // Euro sign € alt+e
45#define BR_NDTD LALT(BR_TILD) // Non-dead key tilde ~ alt+~
46#define BR_NDAC LALT(BR_ACUT) // Non-dead key acute accent ´ alt+´
47#define BR_NDGV LALT(BR_QUOT) // Non-dead key grave accent ` alt+'
48#define BR_NDCR LALT(BR_CIRC) // Non-dead key circumflex accent ^ alt+^ (alt+shift+~)
49#define BR_NDTR LALT(BR_TRMA) // Non-dead key trema accent ¨ alt+¨ (alt+shift+6)
50
51// For 101-key keyboard layouts, the ABNT2 layout allows
52// the slash and question mark to be typed using alt+q and alt+w.
53// The shortcuts are provided here for completeness' sake,
54// but it's recommended to use BR_SLSH and BR_QUES instead
55#define BR_ASLS LALT(KC_Q)
56#define BR_AQST LALT(KC_W)
57
58#endif
diff --git a/quantum/keymap_extras/keymap_dvp.h b/quantum/keymap_extras/keymap_dvp.h
new file mode 100644
index 000000000..83f49a52b
--- /dev/null
+++ b/quantum/keymap_extras/keymap_dvp.h
@@ -0,0 +1,82 @@
1#ifndef KEYMAP_DVP_H
2#define KEYMAP_DVP_H
3
4#include "keymap.h"
5
6// Normal characters
7#define DP_DLR KC_GRV
8#define DP_AMPR KC_1
9#define DP_LBRC KC_2
10#define DP_LCBR KC_3
11#define DP_RCBR KC_4
12#define DP_LPRN KC_5
13#define DP_EQL KC_6
14#define DP_ASTR KC_7
15#define DP_RPRN KC_8
16#define DP_PLUS KC_9
17#define DP_RBRC KC_0
18#define DP_EXLM KC_MINS
19#define DP_HASH KC_EQL
20
21#define DP_SCLN KC_Q
22#define DP_COMM KC_W
23#define DP_DOT KC_E
24#define DP_P KC_R
25#define DP_Y KC_T
26#define DP_F KC_Y
27#define DP_G KC_U
28#define DP_C KC_I
29#define DP_R KC_O
30#define DP_L KC_P
31#define DP_SLSH KC_LBRC
32#define DP_AT KC_RBRC
33#define DP_BSLS KC_BSLS
34
35#define DP_A KC_A
36#define DP_O KC_S
37#define DP_E KC_D
38#define DP_U KC_F
39#define DP_I KC_G
40#define DP_D KC_H
41#define DP_H KC_J
42#define DP_T KC_K
43#define DP_N KC_L
44#define DP_S KC_SCLN
45#define DP_MINS KC_QUOT
46
47#define DP_QUOT KC_Z
48#define DP_Q KC_X
49#define DP_J KC_C
50#define DP_K KC_V
51#define DP_X KC_B
52#define DP_B KC_N
53#define DP_M KC_M
54#define DP_W KC_COMM
55#define DP_V KC_DOT
56#define DP_Z KC_SLSH
57
58// Shifted characters
59#define DP_TILD LSFT(DP_DLR)
60#define DP_PERC LSFT(DP_AMPR)
61#define DP_7 LSFT(DP_LBRC)
62#define DP_5 LSFT(DP_LCBR)
63#define DP_3 LSFT(DP_RCBR)
64#define DP_1 LSFT(DP_LPRN)
65#define DP_9 LSFT(DP_EQL)
66#define DP_0 LSFT(DP_ASTR)
67#define DP_2 LSFT(DP_RPRN)
68#define DP_4 LSFT(DP_PLUS)
69#define DP_6 LSFT(DP_RBRC)
70#define DP_8 LSFT(DP_EXLM)
71#define DP_GRV LSFT(DP_HASH)
72
73#define DP_COLN LSFT(DP_SCLN)
74#define DP_LABK LSFT(DP_COMM)
75#define DP_RABK LSFT(DP_DOT)
76#define DP_QUES LSFT(DP_SLSH)
77#define DP_CIRC LSFT(DP_AT)
78#define DP_PIPE LSFT(DP_BSLS)
79#define DP_UNDS LSFT(DP_MINS)
80#define DP_DQUO LSFT(DP_QUOT)
81
82#endif