Skip to content

Commit 86c5162

Browse files
committed
[extra layout] add bepo keymap
1 parent 0b25e60 commit 86c5162

File tree

1 file changed

+172
-0
lines changed

1 file changed

+172
-0
lines changed
Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
from kmk.extensions.keymap_extras.base import KeyMapConverter
2+
from kmk.keys import KC
3+
4+
5+
class BEPO(KeyMapConverter):
6+
MAPPING = {
7+
# Row 1
8+
'DOLLAR': KC.GRV, # $
9+
'DQUOTE': KC.N1, # "
10+
'LDAQ': KC.N2, # «
11+
'RDAQ': KC.N3, # »
12+
'LPRN': KC.N4, # (
13+
'RPRN': KC.N5, # )
14+
'AT': KC.N6, # @
15+
'PLUS': KC.N7, # +
16+
'MINUS': KC.N8, # -
17+
'SLASH': KC.N9, # /
18+
'ASTERISK': KC.N0, # *
19+
'EQUAL': KC.MINS, # =
20+
'PERCENT': KC.EQL, # %
21+
# Row 2
22+
'B': KC.Q, # B
23+
'EACUTE': KC.W, # É
24+
'P': KC.E, # P
25+
'O': KC.R, # O
26+
'EGRAVE': KC.T, # È
27+
'DCIR': KC.Y, # ^ (dead)
28+
'V': KC.U, # V
29+
'D': KC.I, # D
30+
'L': KC.O, # L
31+
'J': KC.P, # J
32+
'Z': KC.LBRC, # Z
33+
'W': KC.RBRC, # W
34+
# Row 3
35+
'A': KC.A, # A
36+
'U': KC.S, # U
37+
'I': KC.D, # I
38+
'E': KC.F, # E
39+
'COMM': KC.G, # ,
40+
'COMMA': KC.G, # ,
41+
'C': KC.H, # C
42+
'T': KC.J, # T
43+
'S': KC.K, # S
44+
'R': KC.L, # R
45+
'N': KC.SCLN, # N
46+
'M': KC.QUOT, # M
47+
'CCED': KC.BSLS, # Ç
48+
# Row 4
49+
'ECIR': KC.NUBS, # Ê
50+
'AGRAVE': KC.Z, # À
51+
'Y': KC.X, # Y
52+
'X': KC.C, # X
53+
'DOT': KC.V, # .
54+
'K': KC.B, # K
55+
'QUOTE': KC.N, # '
56+
'Q': KC.M, # Q
57+
'G': KC.COMM, # G
58+
'H': KC.DOT, # H
59+
'F': KC.SLSH, # F
60+
# Shifted symbols
61+
# Row 1
62+
'HASH': KC.LSFT(KC.GRV), # #
63+
'N1': KC.LSFT(KC.N1), # 1
64+
'N2': KC.LSFT(KC.N2), # 2
65+
'N3': KC.LSFT(KC.N3), # 3
66+
'N4': KC.LSFT(KC.N4), # 4
67+
'N5': KC.LSFT(KC.N5), # 5
68+
'N6': KC.LSFT(KC.N6), # 6
69+
'N7': KC.LSFT(KC.N7), # 7
70+
'N8': KC.LSFT(KC.N8), # 8
71+
'N9': KC.LSFT(KC.N9), # 9
72+
'N0': KC.LSFT(KC.N0), # 0
73+
'DEG': KC.LSFT(KC.MINS), # °
74+
'GRAVE': KC.LSFT(KC.EQL), # `
75+
# Row 2
76+
'EXLM': KC.LSFT(KC.Y), # !
77+
# Row 3
78+
'SCLN': KC.LSFT(KC.G), # ;
79+
# Row 4
80+
'COLN': KC.LSFT(KC.V), # :
81+
'QUES': KC.LSFT(KC.N), # ?
82+
# Row 5
83+
'NBSP': KC.LSFT(KC.SPC), # (non-breaking space)
84+
# AltGr symbols
85+
# Row 1
86+
'NDSH': KC.RALT(KC.GRV), # –
87+
'MDSH': KC.RALT(KC.N1), # —
88+
'LESS': KC.RALT(KC.N2), # <
89+
'GRTR': KC.RALT(KC.N3), # >
90+
'LBRC': KC.RALT(KC.N4), # [
91+
'RBRC': KC.RALT(KC.N5), # ]
92+
'CIRC': KC.RALT(KC.N6), # ^
93+
'PLMN': KC.RALT(KC.N7), # ±
94+
'MMNS': KC.RALT(KC.N8), # −
95+
'DIV': KC.RALT(KC.N9), # ÷
96+
'MUL': KC.RALT(KC.N0), # ×
97+
'NEQL': KC.RALT(KC.MINS), # ≠
98+
'PERM': KC.RALT(KC.EQL), # ‰
99+
# Row 2
100+
'PIPE': KC.RALT(KC.Q), # |
101+
'DACUTE': KC.RALT(KC.W), # ´ (dead)
102+
'AMPR': KC.RALT(KC.E), # &
103+
'OE': KC.RALT(KC.R), # Œ
104+
'DGRAVE': KC.RALT(KC.T), # ` (dead)
105+
'IEXL': KC.RALT(KC.Y), # ¡
106+
'CARN': KC.RALT(KC.U), # ˇ (dead)
107+
'ETH': KC.RALT(KC.I), # Ð
108+
'DSLS': KC.RALT(KC.O), # / (dead)
109+
'IJ': KC.RALT(KC.P), # IJ
110+
'SCHW': KC.RALT(KC.LBRC), # Ə
111+
'BREV': KC.RALT(KC.RBRC), # ˘ (dead)
112+
# Row 3
113+
'AE': KC.RALT(KC.A), # Æ
114+
'UGRAVE': KC.RALT(KC.S), # Ù
115+
'DTREMA': KC.RALT(KC.D), # ¨ (dead)
116+
'EURO': KC.RALT(KC.F), # €
117+
'COPY': KC.RALT(KC.H), # ©
118+
'THRN': KC.RALT(KC.J), # Þ
119+
'SS': KC.RALT(KC.K), # ẞ
120+
'REGD': KC.RALT(KC.L), # ®
121+
'DTIL': KC.RALT(KC.SCLN), # ~ (dead)
122+
'MACR': KC.RALT(KC.QUOTE), # ¯ (dead)
123+
'CEDL': KC.RALT(KC.BSLS), # ¸ (dead)
124+
# Row 4
125+
'BSLS': KC.RALT(KC.Z), # (backslash)
126+
'LCBR': KC.RALT(KC.X), # {
127+
'RCBR': KC.RALT(KC.C), # }
128+
'ELLP': KC.RALT(KC.V), # …
129+
'TILD': KC.RALT(KC.B), # ~
130+
'IQUE': KC.RALT(KC.LSFT(KC.N)), # ¿
131+
'RNGA': KC.RALT(KC.M), # ° (dead)
132+
'DGRK': KC.RALT(KC.COMM), # µ (dead Greek key)
133+
'DAGG': KC.RALT(KC.DOT), # †
134+
'OGON': KC.RALT(KC.SLSH), # ˛ (dead)
135+
# Row 5
136+
'UNDS': KC.RALT(KC.SPC), # _
137+
# Shift+AltGr symbols
138+
# Row 1
139+
'PARA': KC.LSFT(KC.RALT(KC.GRV)), # ¶
140+
'DLQU': KC.LSFT(KC.RALT(KC.N1)), # „
141+
'LDQU': KC.LSFT(KC.RALT(KC.N2)), # “
142+
'RDQU': KC.LSFT(KC.RALT(KC.N3)), # ”
143+
'LEQL': KC.LSFT(KC.RALT(KC.N4)), # ≤
144+
'GEQL': KC.LSFT(KC.RALT(KC.N5)), # ≥
145+
'NOT': KC.LSFT(KC.RALT(KC.N7)), # ¬
146+
'QRTR': KC.LSFT(KC.RALT(KC.N8)), # ¼
147+
'HALF': KC.LSFT(KC.RALT(KC.N9)), # ½
148+
'TQTR': KC.LSFT(KC.RALT(KC.N0)), # ¾
149+
'PRIM': KC.LSFT(KC.RALT(KC.MINS)), # ′
150+
'DPRM': KC.LSFT(KC.RALT(KC.EQL)), # ″
151+
# Row 2
152+
'BRKP': KC.LSFT(KC.RALT(KC.Q)), # ¦
153+
'DACU': KC.LSFT(KC.RALT(KC.W)), # ˝ (dead)
154+
'SECT': KC.LSFT(KC.RALT(KC.E)), # §
155+
# Row 3
156+
'DOTA': KC.LSFT(KC.RALT(KC.D)), # ˙ (dead)
157+
'CURR': KC.LSFT(KC.RALT(KC.F)), # ¤ (dead)
158+
'HORN': KC.LSFT(KC.RALT(KC.G)), # ̛ (dead)
159+
'LNGS': KC.LSFT(KC.RALT(KC.H)), # ſ
160+
'TM': KC.LSFT(KC.RALT(KC.L)), # ™
161+
'MORD': KC.LSFT(KC.RALT(KC.QUOTE)), # º
162+
'DCMM': KC.LSFT(KC.RALT(KC.BSLS)), # , (dead)
163+
# Row 4
164+
'LSQU': KC.LSFT(KC.RALT(KC.X)), # ‘
165+
'TAPO': KC.LSFT(KC.RALT(KC.C)), # ’
166+
'MDDT': KC.LSFT(KC.RALT(KC.V)), # ·
167+
'KEYB': KC.LSFT(KC.RALT(KC.B)), # ⌨
168+
'HOKA': KC.LSFT(KC.RALT(KC.N)), # ̉ (dead)
169+
'DOTB': KC.LSFT(KC.RALT(KC.M)), # ̣ (dead)
170+
'DDAG': KC.LSFT(KC.RALT(KC.DOT)), # ‡
171+
'FORD': KC.LSFT(KC.RALT(KC.SLSH)), # ª
172+
}

0 commit comments

Comments
 (0)