임베디드리눅스 키 입력

classicid의 이미지

안녕하세요.

임베디드 리눅스 단말기에서 hardkey 를 눌렀을때

1. 현재 구동중인 어플리케이션에 key 값을 어떻게 전달하는지

2. 어플리케이션에서는 이 키값을 어떻게 받는지

궁금합니다.

감사합니다.

paldad111의 이미지

특정 hardkey가 gic 를 통해 인터럽트 번호에 맵핑되어 있을 것이고..
커널 드라이버 단에서는 request_irq 를 통해 그 번호에 핸들라를 등록시켜 놓았겟죠?

핸들러가 동작하면 특정 키 번호에 하드코딩된 값- 혹은 레지스터룰 읽어서 어떤 키가 눌렸는지를 알 수 있을테고..

여기서 읽은 값을 유저스페이스로 어떻게 올려 주는지는 어떤 드라이버를 어떻게 구현했는지에 따라 다릅니다

표준 input 드라이버를 통해서 구현했을수도 있고.. 간단한 키패드라면 char 드라이버를 사용해서 /dev 아래의 노드를 읽을때마다 저장해놓은
값을 넘겨줄수고 있고... (물론 input drv 의 백앤드는 char drv 지만 동작이 약간 다릅니당)