Skip to content

Commit 27a4234

Browse files
committed
seperate key modules for each platform
1 parent 3aa11fb commit 27a4234

File tree

3 files changed

+117
-96
lines changed

3 files changed

+117
-96
lines changed

readchar/_posix_key.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# common
2+
LF = "\x0a"
3+
CR = "\x0d"
4+
ENTER = "\x0a"
5+
BACKSPACE = "\x7f"
6+
SPACE = "\x20"
7+
ESC = "\x1b"
8+
TAB = "\x09"
9+
10+
# CTRL
11+
CTRL_A = "\x01"
12+
CTRL_B = "\x02"
13+
CTRL_C = "\x03"
14+
CTRL_D = "\x04"
15+
CTRL_E = "\x05"
16+
CTRL_F = "\x06"
17+
CTRL_G = "\x07"
18+
CTRL_H = "\x08"
19+
CTRL_I = "\t"
20+
CTRL_J = "\n"
21+
CTRL_K = "\x0b"
22+
CTRL_L = "\x0c"
23+
CTRL_M = "\r"
24+
CTRL_N = "\x0e"
25+
CTRL_O = "\x0f"
26+
CTRL_P = "\x10"
27+
CTRL_Q = "\x11"
28+
CTRL_R = "\x12"
29+
CTRL_S = "\x13"
30+
CTRL_T = "\x14"
31+
CTRL_U = "\x15"
32+
CTRL_V = "\x16"
33+
CTRL_W = "\x17"
34+
CTRL_X = "\x18"
35+
CTRL_Y = "\x19"
36+
CTRL_Z = "\x1a"
37+
38+
# cursors
39+
UP = "\x1b\x5b\x41"
40+
DOWN = "\x1b\x5b\x42"
41+
LEFT = "\x1b\x5b\x44"
42+
RIGHT = "\x1b\x5b\x43"
43+
44+
# navigation keys
45+
INSERT = "\x1b\x5b\x32\x7e"
46+
SUPR = "\x1b\x5b\x33\x7e"
47+
HOME = "\x1b\x5b\x48"
48+
END = "\x1b\x5b\x46"
49+
PAGE_UP = "\x1b\x5b\x35\x7e"
50+
PAGE_DOWN = "\x1b\x5b\x36\x7e"
51+
52+
# funcion keys
53+
F1 = "\x1b\x4f\x50"
54+
F2 = "\x1b\x4f\x51"
55+
F3 = "\x1b\x4f\x52"
56+
F4 = "\x1b\x4f\x53"
57+
F5 = "\x1b\x4f\x31\x35\x7e"
58+
F6 = "\x1b\x4f\x31\x37\x7e"
59+
F7 = "\x1b\x4f\x31\x38\x7e"
60+
F8 = "\x1b\x4f\x31\x39\x7e"
61+
F9 = "\x1b\x4f\x32\x30\x7e"
62+
F10 = "\x1b\x4f\x32\x31\x7e"
63+
F11 = "\x1b\x4f\x32\x33\x7e"
64+
F12 = "\x1b\x4f\x32\x34\x7e"
65+
66+
# other
67+
CTRL_ALT_SUPR = "\x1b\x5b\x33\x5e"
68+
69+
# ALT+_
70+
ALT_A = "\x1b\x61"
71+
72+
# CTRL+ALT+_
73+
CTRL_ALT_A = "\x1b\x01"

readchar/_win_key.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# common
2+
LF = "\x0a"
3+
CR = "\x0d"
4+
ENTER = "\x0d"
5+
BACKSPACE = "\x08"
6+
SPACE = "\x20"
7+
ESC = "\x1b"
8+
TAB = "\x09"
9+
10+
# CTRL
11+
CTRL_A = "\x01"
12+
CTRL_B = "\x02"
13+
CTRL_C = "\x03"
14+
CTRL_D = "\x04"
15+
CTRL_E = "\x05"
16+
CTRL_F = "\x06"
17+
CTRL_G = "\x07"
18+
CTRL_H = "\x08"
19+
CTRL_I = "\t"
20+
CTRL_J = "\n"
21+
CTRL_K = "\x0b"
22+
CTRL_L = "\x0c"
23+
CTRL_M = "\r"
24+
CTRL_N = "\x0e"
25+
CTRL_O = "\x0f"
26+
CTRL_P = "\x10"
27+
CTRL_Q = "\x11"
28+
CTRL_R = "\x12"
29+
CTRL_S = "\x13"
30+
CTRL_T = "\x14"
31+
CTRL_U = "\x15"
32+
CTRL_V = "\x16"
33+
CTRL_W = "\x17"
34+
CTRL_X = "\x18"
35+
CTRL_Y = "\x19"
36+
CTRL_Z = "\x1a"

readchar/key.py

Lines changed: 8 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,10 @@
1-
# common
2-
LF = "\x0a"
3-
CR = "\x0d"
4-
ENTER = "\x0d"
5-
BACKSPACE = "\x7f"
6-
SUPR = ""
7-
SPACE = "\x20"
8-
ESC = "\x1b"
1+
# flake8: noqa E401,E403
92

10-
# CTRL
11-
CTRL_A = "\x01"
12-
CTRL_B = "\x02"
13-
CTRL_C = "\x03"
14-
CTRL_D = "\x04"
15-
CTRL_E = "\x05"
16-
CTRL_F = "\x06"
17-
CTRL_G = "\x07"
18-
CTRL_H = "\x08"
19-
CTRL_I = "\t"
20-
CTRL_J = "\n"
21-
CTRL_K = "\x0b"
22-
CTRL_L = "\x0c"
23-
CTRL_M = "\r"
24-
CTRL_N = "\x0e"
25-
CTRL_O = "\x0f"
26-
CTRL_P = "\x10"
27-
CTRL_Q = "\x11"
28-
CTRL_R = "\x12"
29-
CTRL_S = "\x13"
30-
CTRL_T = "\x14"
31-
CTRL_U = "\x15"
32-
CTRL_V = "\x16"
33-
CTRL_W = "\x17"
34-
CTRL_X = "\x18"
35-
CTRL_Y = "\x19"
36-
CTRL_Z = "\x1a"
3+
from . import platform
374

38-
# ALT
39-
ALT_A = "\x1b\x61"
40-
41-
# CTRL + ALT
42-
CTRL_ALT_A = "\x1b\x01"
43-
44-
# cursors
45-
UP = "\x1b\x5b\x41"
46-
DOWN = "\x1b\x5b\x42"
47-
LEFT = "\x1b\x5b\x44"
48-
RIGHT = "\x1b\x5b\x43"
49-
50-
CTRL_ALT_SUPR = "\x1b\x5b\x33\x5e"
51-
52-
# other
53-
F1 = "\x1b\x4f\x50"
54-
F2 = "\x1b\x4f\x51"
55-
F3 = "\x1b\x4f\x52"
56-
F4 = "\x1b\x4f\x53"
57-
F5 = "\x1b\x4f\x31\x35\x7e"
58-
F6 = "\x1b\x4f\x31\x37\x7e"
59-
F7 = "\x1b\x4f\x31\x38\x7e"
60-
F8 = "\x1b\x4f\x31\x39\x7e"
61-
F9 = "\x1b\x4f\x32\x30\x7e"
62-
F10 = "\x1b\x4f\x32\x31\x7e"
63-
F11 = "\x1b\x4f\x32\x33\x7e"
64-
F12 = "\x1b\x4f\x32\x34\x7e"
65-
66-
PAGE_UP = "\x1b\x5b\x35\x7e"
67-
PAGE_DOWN = "\x1b\x5b\x36\x7e"
68-
HOME = "\x1b\x5b\x48"
69-
END = "\x1b\x5b\x46"
70-
71-
INSERT = "\x1b\x5b\x32\x7e"
72-
SUPR = "\x1b\x5b\x33\x7e"
73-
74-
75-
ESCAPE_SEQUENCES = (
76-
ESC,
77-
ESC + "\x5b",
78-
ESC + "\x5b" + "\x31",
79-
ESC + "\x5b" + "\x32",
80-
ESC + "\x5b" + "\x33",
81-
ESC + "\x5b" + "\x35",
82-
ESC + "\x5b" + "\x36",
83-
ESC + "\x5b" + "\x31" + "\x35",
84-
ESC + "\x5b" + "\x31" + "\x36",
85-
ESC + "\x5b" + "\x31" + "\x37",
86-
ESC + "\x5b" + "\x31" + "\x38",
87-
ESC + "\x5b" + "\x31" + "\x39",
88-
ESC + "\x5b" + "\x32" + "\x30",
89-
ESC + "\x5b" + "\x32" + "\x31",
90-
ESC + "\x5b" + "\x32" + "\x32",
91-
ESC + "\x5b" + "\x32" + "\x33",
92-
ESC + "\x5b" + "\x32" + "\x34",
93-
ESC + "\x4f",
94-
ESC + ESC,
95-
ESC + ESC + "\x5b",
96-
ESC + ESC + "\x5b" + "\x32",
97-
ESC + ESC + "\x5b" + "\x33",
98-
)
5+
if platform.startswith("linux"):
6+
from ._posix_key import *
7+
elif platform in ("win32", "cygwin"):
8+
from ._win_key import *
9+
else:
10+
raise NotImplementedError(f"The platform {platform} is not supported yet")

0 commit comments

Comments
 (0)