1
1
import sys
2
- from typing import IO , Any
2
+ import termios
3
+ from typing import IO
3
4
from typing_extensions import TypeAlias
4
5
5
6
if sys .platform != "win32" :
6
7
__all__ = ["setraw" , "setcbreak" ]
7
8
if sys .version_info >= (3 , 12 ):
8
9
__all__ += ["cfmakeraw" , "cfmakecbreak" ]
9
10
11
+ _ModeSetterReturn : TypeAlias = termios ._AttrReturn
12
+ else :
13
+ _ModeSetterReturn : TypeAlias = None
14
+
10
15
_FD : TypeAlias = int | IO [str ]
11
16
12
17
# XXX: Undocumented integer constants
@@ -17,12 +22,9 @@ if sys.platform != "win32":
17
22
ISPEED : int
18
23
OSPEED : int
19
24
CC : int
20
- def setraw (fd : _FD , when : int = 2 ) -> None : ...
21
- def setcbreak (fd : _FD , when : int = 2 ) -> None : ...
25
+ def setraw (fd : _FD , when : int = 2 ) -> _ModeSetterReturn : ...
26
+ def setcbreak (fd : _FD , when : int = 2 ) -> _ModeSetterReturn : ...
22
27
23
28
if sys .version_info >= (3 , 12 ):
24
- # It is: `list[int, int, int, int, int, int, list[str]]
25
- _Mode : TypeAlias = list [Any ]
26
-
27
- def cfmakeraw (mode : _Mode ) -> None : ...
28
- def cfmakecbreak (mode : _Mode ) -> None : ...
29
+ def cfmakeraw (mode : termios ._Attr ) -> None : ...
30
+ def cfmakecbreak (mode : termios ._Attr ) -> None : ...
0 commit comments