이게 봐도봐도 이해가 안가더라구요


이해한 부분

어플리케이션 영역

/dev/input/* 를 읽어 하드웨어 이벤트를 가져간다


/dev/input/* 장치

input core를 통해 input event driver로부터 데이터를 획득


input event driver

input core(drivers/input/input.c) 에서 제공하는 

input_allocate_device와 input_register_device 등을 통해 만든 드라이버

/dev/input/*에 데이터를 주는 역할을 한다


궁금한 부분

그렇다면 input event driver 에게는 누가 하드웨어 이벤트를 전달하는가?

즉 윗 그림의 input device driver는 어떻게 만드는가??


정리

hw -> input core[input device driver -> input event driver] -> /dev/input/* -> application

맞나요?



linux input system이 생각보다 복잡하고 크고 어렵네요

이런저런 조언 많이 부탁드려요