우선 초보적인 질문에 대해 사과드립니다. 예를 들어, "파일" 아이콘을 클릭한 다음 파일을 클릭한 후에도 내 시스템(Ubuntu 21.10)에서 무슨 일이 일어나고 있는지 여전히 알 수 없습니다. 마우스를 클릭하여 gedit 등과 관련된 파일을 호출하거나 디렉토리나 프로그램을 호출하는 과정은 실제로 무엇으로 구성됩니까? 비슷한 곳에 적혀있나요 /proc/bus/input/devices Ev = ...
? 키보드는 어떻게 되나요?
답변1
무엇을 질문하시는지 모르겠지만 대략적으로는 다음과 같습니다.
- 커널 드라이버는 마우스 및 키보드의 하드웨어 이벤트에 반응합니다.
- 각 커널 계층은 마우스 클릭을 변환하여 마우스 이벤트로 커널 입력 계층에 넣습니다.
/dev/input/eventX
를 사용하여 이를 읽을 수 있습니다evtest
. - X 드라이버(X는 윈도우 시스템)는 이를 X 이벤트로 변환합니다.
xev
예를 들어 다음 을 사용하여 볼 수 있습니다 . - X 서버는 이벤트를 수신해야 하는 창을 결정합니다.
- "아이콘 클릭"의 경우 수신자는 창 관리자(WM)입니다.
- "파일 클릭"의 경우 수신자는 파일을 표시하는 응용 프로그램입니다(Ubuntu에 있는 파일에 관계없이 많은 옵션이 있습니다).
- 애플리케이션은 이벤트 처리 방법을 결정합니다(컨트롤러가 있는 창 팝업, 시스템 호출을 사용하여 프로그램 실행 등).
/proc/bus/input/devices
이 과정에서 역할을 하지 않습니다.
Linux에 대해 배우고 싶다면 먼저 명령줄을 배우는 것이 좋습니다. 사용자 인터페이스는 선택 사항입니다.