Where, Who and How of Struct input_event in Linux Input Subsystem
Hi, I am a newbie to linux and am trying to understand the linux input subsystem.
With the online help(which is prolifically available) I understood the basics to a certain extent. Although, there is one thing that I am not able to understand, here it goes :
Lets say there's a input device that is capable of generating an event with the help of its driver. Eg: con_dev_drv.c (attached)
Its a driver for a virtual/fake device. One can complie it as a module and then install it by using : sudo insmod ./file_name.ko
Now, say this application is trying to access this device : keybd_test_app.c (attached)
All, I want to know is where is the application getting the input_event structure from.
Who writes to this structure input_event?
does each device has a separate input_event structure? (I guess yes)
As,there is no input_event structure in any of these structues : struct device, struct input_dev, struct handle, struct handler. So, how is an input_event attached to the corresponding device.
Thanks in advance.