aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-11-10 18:45:09 -0500
committerGitHub <noreply@github.com>2016-11-10 18:45:09 -0500
commit631b8999a737ec73610f8b569b1f775cadf08172 (patch)
treee6350b0a9166c91f6b6bb2b92b1e0d981580ffe5
parentf73a378f0f98c229d578a1c33563ea8d57dc5bf6 (diff)
parent7aa31ad338325477199f752ac3e344a6ab9b27d0 (diff)
downloadqmk_firmware-631b8999a737ec73610f8b569b1f775cadf08172.tar.gz
qmk_firmware-631b8999a737ec73610f8b569b1f775cadf08172.zip
Merge pull request #868 from potz/master
Add brazilian ABNT2 keymap
-rw-r--r--quantum/keymap_extras/keymap_br_abnt2.h58
1 files changed, 58 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