|
| 1 | +import sys |
| 2 | +from unittest import mock |
| 3 | +from pprint import PrettyPrinter |
| 4 | + |
| 5 | +sys.modules["evdev.ecodes"] = mock.Mock() |
| 6 | +from evdev import ecodes_runtime as ecodes |
| 7 | + |
| 8 | +pprint = PrettyPrinter(indent=2, sort_dicts=True, width=120).pprint |
| 9 | + |
| 10 | + |
| 11 | +print("# Automatically generated by evdev.genecodes_py") |
| 12 | +print() |
| 13 | +print('"""') |
| 14 | +print(ecodes.__doc__.strip()) |
| 15 | +print('"""') |
| 16 | + |
| 17 | +print() |
| 18 | +print("from typing import Final, Dict, List, Union") |
| 19 | +print() |
| 20 | + |
| 21 | +for name, value in ecodes.ecodes.items(): |
| 22 | + print(f"{name}: Final = {value}") |
| 23 | +print() |
| 24 | + |
| 25 | +entries = [ |
| 26 | + ("ecodes", "Dict[str, int]", "#: Mapping of names to values."), |
| 27 | + ("bytype", "Dict[int, Dict[int, Union[str, List[str]]", "#: Mapping of event types to other value/name mappings."), |
| 28 | + ("keys", "Dict[int, Union[str, List[str]]", "#: Keys are a combination of all BTN and KEY codes."), |
| 29 | + ("KEY", "Dict[int, Union[str, List[str]]", None), |
| 30 | + ("ABS", "Dict[int, Union[str, List[str]]", None), |
| 31 | + ("REL", "Dict[int, Union[str, List[str]]", None), |
| 32 | + ("SW", "Dict[int, Union[str, List[str]]", None), |
| 33 | + ("MSC", "Dict[int, Union[str, List[str]]", None), |
| 34 | + ("LED", "Dict[int, Union[str, List[str]]", None), |
| 35 | + ("BTN", "Dict[int, Union[str, List[str]]", None), |
| 36 | + ("REP", "Dict[int, Union[str, List[str]]", None), |
| 37 | + ("SND", "Dict[int, Union[str, List[str]]", None), |
| 38 | + ("ID", "Dict[int, Union[str, List[str]]", None), |
| 39 | + ("EV", "Dict[int, Union[str, List[str]]", None), |
| 40 | + ("BUS", "Dict[int, Union[str, List[str]]", None), |
| 41 | + ("SYN", "Dict[int, Union[str, List[str]]", None), |
| 42 | + ("FF", "Dict[int, Union[str, List[str]]", None), |
| 43 | + ("FF_STATUS", "Dict[int, Union[str, List[str]]", None), |
| 44 | + ("INPUT_PROP", "Dict[int, Union[str, List[str]]", None) |
| 45 | +] |
| 46 | + |
| 47 | +for key, annotation, doc in entries: |
| 48 | + if doc: |
| 49 | + print(doc) |
| 50 | + |
| 51 | + print(f"{key}: {annotation} = ", end="") |
| 52 | + pprint(getattr(ecodes, key)) |
| 53 | + print() |
0 commit comments