Skip to content

Commit 5ef319b

Browse files
committed
add UK layout and update copyright in the generator
1 parent 5bdff7e commit 5ef319b

File tree

3 files changed

+304
-2
lines changed

3 files changed

+304
-2
lines changed

generator/layout_generator.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@
5757
""" no altgr flag for the first combined key """
5858
NO_ALTGR_FLAG = 0x00
5959

60-
COMMON_HEADER_COPYRIGHT = """# SPDX-FileCopyrightText: 2021 Neradoc [email protected]
61-
#
60+
COMMON_HEADER_COPYRIGHT = """# SPDX-FileCopyrightText: 2022 Neradoc [email protected]
6261
# SPDX-License-Identifier: MIT
6362
\"\"\"
6463
This file was automatically generated using Circuitpython_Keyboard_Layouts

libraries/keycodes/keycode_win_uk.py

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# SPDX-FileCopyrightText: 2022 Neradoc [email protected]
2+
# SPDX-License-Identifier: MIT
3+
"""
4+
This file was automatically generated using Circuitpython_Keyboard_Layouts
5+
"""
6+
7+
8+
__version__ = "0.0.1-alpha.0"
9+
__repo__ = "https://github.com/Neradoc/Circuitpython_Keyboard_Layouts.git"
10+
11+
12+
class Keycode:
13+
A = 0x04
14+
B = 0x05
15+
C = 0x06
16+
D = 0x07
17+
E = 0x08
18+
F = 0x09
19+
G = 0x0a
20+
H = 0x0b
21+
I = 0x0c
22+
J = 0x0d
23+
K = 0x0e
24+
L = 0x0f
25+
M = 0x10
26+
N = 0x11
27+
O = 0x12
28+
P = 0x13
29+
Q = 0x14
30+
R = 0x15
31+
S = 0x16
32+
T = 0x17
33+
U = 0x18
34+
V = 0x19
35+
W = 0x1a
36+
X = 0x1b
37+
Y = 0x1c
38+
Z = 0x1d
39+
ALT = 0xe2
40+
END = 0x4d
41+
F1 = 0x3a
42+
F2 = 0x3b
43+
F3 = 0x3c
44+
F4 = 0x3d
45+
F5 = 0x3e
46+
F6 = 0x3f
47+
F7 = 0x40
48+
F8 = 0x41
49+
F9 = 0x42
50+
F10 = 0x43
51+
F11 = 0x44
52+
F12 = 0x45
53+
F13 = 0x68
54+
F14 = 0x69
55+
F15 = 0x6a
56+
F16 = 0x6b
57+
F17 = 0x6c
58+
F18 = 0x6d
59+
F19 = 0x6e
60+
F20 = 0x6f
61+
F21 = 0x70
62+
F22 = 0x71
63+
F23 = 0x72
64+
F24 = 0x73
65+
GUI = 0xe3
66+
ONE = 0x1e
67+
SIX = 0x23
68+
TAB = 0x2b
69+
TWO = 0x1f
70+
FIVE = 0x22
71+
FOUR = 0x21
72+
HOME = 0x4a
73+
NINE = 0x26
74+
ZERO = 0x27
75+
ALTGR = 0xe6
76+
COMMA = 0x36
77+
EIGHT = 0x25
78+
ENTER = 0x28
79+
MINUS = 0x2d
80+
OEM_8 = 0x35
81+
PAUSE = 0x48
82+
QUOTE = 0x31
83+
SEVEN = 0x24
84+
SHIFT = 0xe1
85+
SPACE = 0x2c
86+
THREE = 0x20
87+
APPLICATION = 0x65
88+
BACKSLASH = 0x64
89+
BACKSPACE = 0x2a
90+
CAPS_LOCK = 0x39
91+
COMMAND = 0xe3
92+
CONTROL = 0xe0
93+
DELETE = 0x4c
94+
DOWN_ARROW = 0x51
95+
EQUALS = 0x2e
96+
ESCAPE = 0x29
97+
FORWARD_SLASH = 0x38
98+
GRAVE_ACCENT = 0x34
99+
INSERT = 0x49
100+
KEYPAD_ASTERISK = 0x55
101+
KEYPAD_EIGHT = 0x60
102+
KEYPAD_FIVE = 0x5d
103+
KEYPAD_FORWARD_SLASH = 0x54
104+
KEYPAD_FOUR = 0x5c
105+
KEYPAD_MINUS = 0x56
106+
KEYPAD_NINE = 0x61
107+
KEYPAD_NUMLOCK = 0x53
108+
KEYPAD_ONE = 0x59
109+
KEYPAD_PERIOD = 0x63
110+
KEYPAD_PLUS = 0x57
111+
KEYPAD_SEVEN = 0x5f
112+
KEYPAD_SIX = 0x5e
113+
KEYPAD_THREE = 0x5b
114+
KEYPAD_TWO = 0x5a
115+
KEYPAD_ZERO = 0x62
116+
LEFT_ALT = 0xe2
117+
LEFT_ARROW = 0x50
118+
LEFT_BRACKET = 0x2f
119+
LEFT_CONTROL = 0xe0
120+
LEFT_GUI = 0xe3
121+
LEFT_SHIFT = 0xe1
122+
OPTION = 0xe2
123+
PAGE_DOWN = 0x4e
124+
PAGE_UP = 0x4b
125+
PERIOD = 0x37
126+
PRINT_SCREEN = 0x46
127+
RETURN = 0x28
128+
RIGHT_ALT = 0xe6
129+
RIGHT_ARROW = 0x4f
130+
RIGHT_BRACKET = 0x30
131+
RIGHT_CONTROL = 0xe4
132+
RIGHT_GUI = 0xe7
133+
RIGHT_SHIFT = 0xe5
134+
SCROLL_LOCK = 0x47
135+
SEMICOLON = 0x33
136+
SPACEBAR = 0x2c
137+
UP_ARROW = 0x52
138+
WINDOWS = 0xe3
139+
140+
@classmethod
141+
def modifier_bit(cls, keycode):
142+
"""Return the modifer bit to be set in an HID keycode report if this is a
143+
modifier key; otherwise return 0."""
144+
return (
145+
1 << (keycode - 0xE0) if cls.LEFT_CONTROL <= keycode <= cls.RIGHT_GUI else 0
146+
)
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
# SPDX-FileCopyrightText: 2022 Neradoc [email protected]
2+
# SPDX-License-Identifier: MIT
3+
"""
4+
This file was automatically generated using Circuitpython_Keyboard_Layouts
5+
"""
6+
from adafruit_hid.keyboard_layout_base import KeyboardLayoutBase
7+
8+
9+
__version__ = "0.0.1-alpha.0"
10+
__repo__ = "https://github.com/Neradoc/Circuitpython_Keyboard_Layouts.git"
11+
12+
13+
class KeyboardLayout(KeyboardLayoutBase):
14+
ASCII_TO_KEYCODE = (
15+
b'\x00'
16+
b'\x00'
17+
b'\x00'
18+
b'\x00'
19+
b'\x00'
20+
b'\x00'
21+
b'\x00'
22+
b'\x00'
23+
b'\x2a' # BACKSPACE
24+
b'\x2b' # '\t'
25+
b'\x28' # '\n'
26+
b'\x00'
27+
b'\x00'
28+
b'\x00'
29+
b'\x00'
30+
b'\x00'
31+
b'\x00'
32+
b'\x00'
33+
b'\x00'
34+
b'\x00'
35+
b'\x00'
36+
b'\x00'
37+
b'\x00'
38+
b'\x00'
39+
b'\x00'
40+
b'\x00'
41+
b'\x00'
42+
b'\x29' # ESC
43+
b'\x00'
44+
b'\x00'
45+
b'\x00'
46+
b'\x00'
47+
b'\x2c' # ' '
48+
b'\x9e' # '!'
49+
b'\x9f' # '"'
50+
b'\x31' # '#'
51+
b'\xa1' # '$'
52+
b'\xa2' # '%'
53+
b'\xa4' # '&'
54+
b'\x34' # "'"
55+
b'\xa6' # '('
56+
b'\xa7' # ')'
57+
b'\xa5' # '*'
58+
b'\xae' # '+'
59+
b'\x36' # ','
60+
b'\x2d' # '-'
61+
b'\x37' # '.'
62+
b'\x38' # '/'
63+
b'\x27' # '0'
64+
b'\x1e' # '1'
65+
b'\x1f' # '2'
66+
b'\x20' # '3'
67+
b'\x21' # '4'
68+
b'\x22' # '5'
69+
b'\x23' # '6'
70+
b'\x24' # '7'
71+
b'\x25' # '8'
72+
b'\x26' # '9'
73+
b'\xb3' # ':'
74+
b'\x33' # ';'
75+
b'\xb6' # '<'
76+
b'\x2e' # '='
77+
b'\xb7' # '>'
78+
b'\xb8' # '?'
79+
b'\xb4' # '@'
80+
b'\x84' # 'A'
81+
b'\x85' # 'B'
82+
b'\x86' # 'C'
83+
b'\x87' # 'D'
84+
b'\x88' # 'E'
85+
b'\x89' # 'F'
86+
b'\x8a' # 'G'
87+
b'\x8b' # 'H'
88+
b'\x8c' # 'I'
89+
b'\x8d' # 'J'
90+
b'\x8e' # 'K'
91+
b'\x8f' # 'L'
92+
b'\x90' # 'M'
93+
b'\x91' # 'N'
94+
b'\x92' # 'O'
95+
b'\x93' # 'P'
96+
b'\x94' # 'Q'
97+
b'\x95' # 'R'
98+
b'\x96' # 'S'
99+
b'\x97' # 'T'
100+
b'\x98' # 'U'
101+
b'\x99' # 'V'
102+
b'\x9a' # 'W'
103+
b'\x9b' # 'X'
104+
b'\x9c' # 'Y'
105+
b'\x9d' # 'Z'
106+
b'\x2f' # '['
107+
b'\x31' # '\\'
108+
b'\x30' # ']'
109+
b'\xa3' # '^'
110+
b'\xad' # '_'
111+
b'\x35' # '`'
112+
b'\x04' # 'a'
113+
b'\x05' # 'b'
114+
b'\x06' # 'c'
115+
b'\x07' # 'd'
116+
b'\x08' # 'e'
117+
b'\x09' # 'f'
118+
b'\x0a' # 'g'
119+
b'\x0b' # 'h'
120+
b'\x0c' # 'i'
121+
b'\x0d' # 'j'
122+
b'\x0e' # 'k'
123+
b'\x0f' # 'l'
124+
b'\x10' # 'm'
125+
b'\x11' # 'n'
126+
b'\x12' # 'o'
127+
b'\x13' # 'p'
128+
b'\x14' # 'q'
129+
b'\x15' # 'r'
130+
b'\x16' # 's'
131+
b'\x17' # 't'
132+
b'\x18' # 'u'
133+
b'\x19' # 'v'
134+
b'\x1a' # 'w'
135+
b'\x1b' # 'x'
136+
b'\x1c' # 'y'
137+
b'\x1d' # 'z'
138+
b'\xaf' # '{'
139+
b'\xe4' # '|'
140+
b'\xb0' # '}'
141+
b'\xb1' # '~'
142+
b'\x00'
143+
)
144+
NEED_ALTGR = '\\¦áéíóú€'
145+
HIGHER_ASCII = {
146+
0xa3: 0xa0, # '£'
147+
0x20ac: 0x21, # '€'
148+
0xe9: 0x08, # 'é'
149+
0xfa: 0x18, # 'ú'
150+
0xed: 0x0c, # 'í'
151+
0xf3: 0x12, # 'ó'
152+
0xe1: 0x04, # 'á'
153+
0xac: 0xb5, # '¬'
154+
0xa6: 0x35, # '¦'
155+
}
156+
COMBINED_KEYS = {
157+
}

0 commit comments

Comments
 (0)