+
    i"  c                   s   R t ^ RIt^ RIt^ RIt^ RIt. ROt]P                  ! ]P                  R,          R. RO4      w  tt]'       g   ]	! R4       ]
! ^4       ]'       d   ]tR]9   tRt]P                  ! ]4      t]'       d   RtM:]! ]P                  ! 4       4      tRP!                  ]^ ,          .]R,          O54      tR	tR
t]3R lt]! ]! 4       4      t]'       g=   ]	! RRP!                  ]4      ,          ]P*                  R7       ]P                  ! ^4       R]9   d   R ] 4       t]tMR]9   d   R ] 4       t]t]P0                  P!                  ]4      t]]]'       g   ]MR.]3,          t]	! ]P5                  4       4       R# )zQ
Generate a Python extension module with the constants defined in linux/input.h.
N:   NN zAusage: genecodes.py [--ecodes|--stubs] [--reproducible] <headers>zX#define\s+((?:KEY|ABS|REL|SW|MSC|LED|BTN|REP|SND|ID|EV|BUS|SYN|FF|UI_FF|INPUT_PROP)_\w+)zhidden for reproducibilityZ :i   NNaE  
#include <Python.h>
#ifdef __FreeBSD__
#include <dev/evdev/input.h>
#include <dev/evdev/uinput.h>
#else
#include <linux/input.h>
#include <linux/uinput.h>
#endif

/* Automatically generated by evdev.genecodes */
/* Generated on   %s */
/* Generated from %s */

#define MODULE_NAME "_ecodes"
#define MODULE_HELP "linux/input.h macros"

static PyMethodDef MethodTable[] = {
    { NULL, NULL, 0, NULL}
};

static struct PyModuleDef moduledef = {
    PyModuleDef_HEAD_INIT,
    MODULE_NAME,
    MODULE_HELP,
    -1,          /* m_size */
    MethodTable, /* m_methods */
    NULL,        /* m_reload */
    NULL,        /* m_traverse */
    NULL,        /* m_clear */
    NULL,        /* m_free */
};

PyMODINIT_FUNC
PyInit__ecodes(void)
{
    PyObject* m = PyModule_Create(&moduledef);
    if (m == NULL) return NULL;

%s

    return m;
}
a  
# Automatically generated by evdev.genecodes
# Generated on %s
# Generated from %s

# pylint: skip-file

ecodes: dict[str, int]
keys: dict[int, str|list[str]]
bytype: dict[int, dict[int, str|list[str]]]

KEY: dict[int, str|list[str]]
ABS: dict[int, str|list[str]]
REL: dict[int, str|list[str]]
SW:  dict[int, str|list[str]]
MSC: dict[int, str|list[str]]
LED: dict[int, str|list[str]]
BTN: dict[int, str|list[str]]
REP: dict[int, str|list[str]]
SND: dict[int, str|list[str]]
ID:  dict[int, str|list[str]]
EV:  dict[int, str|list[str]]
BUS: dict[int, str|list[str]]
SYN: dict[int, str|list[str]]
FF_STATUS:     dict[int, str|list[str]]
FF_INPUT_PROP: dict[int, str|list[str]]

%s
c              #   s   "   V  FJ  p \        V4      pT F5  p\        P	                  T4      pT'       g   K"  TP                  ^4      x  K7  	  KL  	  R#   \        \        3 d     Kd  i ; i5i)r    N)ZopenZIOErrorZOSErrormacro_regexZsearchZgroup)headersZheaderZfhZlinemacros   &    8/usr/lib64/python3.14/site-packages/evdev/genecodes_c.pyparse_headersr   w   sd     	fB D&&t,Eukk!n$   ! 		s,   A-AA-A-A*&A-)A**A-zno input macros found in: %s)Zfilec              #   4   "   T F  pR V,          x  K  	  R# 5i)z     PyModule_AddIntMacro(m, %s);N Z.0r      & r   	<genexpr>r      s     OJ5.66J   c              #   r   )z%s: intNr   r	   r
   r   r   r      s     6:%I:r   )z/usr/include/linux/input.hz&/usr/include/linux/input-event-codes.hz/usr/include/linux/uinput.h)ZecodesZstubsreproducible)z--reproducibler   )z--ecodesr   )z--stubsr   )Z__doc__ZgetoptZosZreZsysr   ZargvZoptsZargsZprintZexitr   r   ZcompileZunameZlistZjoinZtemplate_ecodesZtemplate_stubsr   Z
all_macrosZstderrZbodyZtemplateZlinesepZtextZstripr       r   <module>r      so    	 	 
 ]]388B<-PQ
d	
MNGG%- jjj%(E EHHeAh+r+,E+\> " 
% -/"
	
(388G+<
<3::NHHQK tOJODH6:6DH	zzt5'<X;Y[_`` djjl r   