aboutsummaryrefslogtreecommitdiffstats
path: root/quantum/keymap_extras/keymap_belgian.h
blob: 764c56141711c6773afb55cae221bd496759072a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/* Copyright 2015-2016 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/>.
 */
#ifndef KEYMAP_BELGIAN_H
#define KEYMAP_BELGIAN_H

#include "keymap.h"

#define BE_LGUI KC_LALT
#define BE_LALT KC_LGUI

// Alt gr
#ifndef ALGR
#define ALGR(kc) RALT(kc)
#endif
#define NO_ALGR KC_RALT

// Normal characters
// Line 1
#define BE_SUP2	KC_GRV
#define BE_AMP	KC_1
#define BE_EACU	KC_2
#define BE_QUOT	KC_3
#define BE_APOS	KC_4
#define BE_LPRN	KC_5
#define BE_PARA	KC_6
#define BE_EGRV	KC_7
#define BE_EXLM	KC_8
#define BE_CCED	KC_9
#define BE_AGRV	KC_0
#define BE_RPRN	KC_MINS
#define BE_MINS	KC_EQL

// Line 2
#define BE_A    KC_Q
#define BE_Z	  KC_W
#define	BE_CIRC	KC_LBRC
#define BE_DLR	KC_RBRC

// Line 3
#define BE_Q 	  KC_A
#define BE_M 	  KC_SCLN
#define BE_UGRV	KC_QUOT
#define BE_MU 	KC_NUHS

// Line 4
#define BE_LESS	KC_NUBS
#define BE_W	  KC_Z
#define BE_COMM	KC_M
#define BE_SCLN	KC_COMM
#define BE_COLN	KC_DOT
#define BE_EQL	KC_SLSH

// Shifted characters
// Line 1
#define BE_SUP3 KC_TILD
#define BE_1  	LSFT(KC_1)
#define BE_2 	  LSFT(KC_2)
#define BE_3 	  LSFT(KC_3)
#define BE_4 	  LSFT(KC_4)
#define BE_5 	  LSFT(KC_5)
#define BE_6 	  LSFT(KC_6)
#define BE_7 	  LSFT(KC_7)
#define BE_8 	  LSFT(KC_8)
#define BE_9 	  LSFT(KC_9)
#define BE_0 	  LSFT(KC_0)
#define BE_OVRR	KC_UNDS
#define BE_UNDS KC_PLUS

// Line 2
#define BE_UMLT	LSFT(BE_CIRC)
#define BE_PND	LSFT(BE_DLR)

// Line 3
#define	BE_PERC	LSFT(BE_UGRV)

// Line 4
#define BE_GRTR	LSFT(BE_LESS)
#define BE_QUES	LSFT(BE_COMM)
#define BE_DOT	LSFT(BE_SCLN)
#define BE_SLSH	LSFT(BE_COLN)
#define BE_PLUS	LSFT(BE_EQL)

// Alt Gr-ed characters
// Line 1
#define BE_PIPE ALGR(KC_1)
#define BE_AT	  ALGR(KC_2)
#define BE_HASH	ALGR(KC_3)
#define BE_LCBR ALGR(KC_9)
#define BE_RCBR	ALGR(KC_0)

// Line 2
#define BE_EURO	ALGR(KC_E)
#define BE_LSBR ALGR(BE_CIRC)
#define BE_RSBR ALGR(BE_DLR)

// Line 3
#define BE_ACUT ALGR(BE_UGRV)
#define BE_GRV	ALGR(BE_MU)

// Line 4
#define BE_BSLS ALGR(BE_LESS)
#define BE_TILT ALGR(BE_EQL)

#endif