안녕하세요.
임베디드 리눅스 단말기에서 hardkey 를 눌렀을때
1. 현재 구동중인 어플리케이션에 key 값을 어떻게 전달하는지
2. 어플리케이션에서는 이 키값을 어떻게 받는지
궁금합니다.
감사합니다.
특정 hardkey가 gic 를 통해 인터럽트 번호에 맵핑되어 있을 것이고.. 커널 드라이버 단에서는 request_irq 를 통해 그 번호에 핸들라를 등록시켜 놓았겟죠?
핸들러가 동작하면 특정 키 번호에 하드코딩된 값- 혹은 레지스터룰 읽어서 어떤 키가 눌렸는지를 알 수 있을테고..
여기서 읽은 값을 유저스페이스로 어떻게 올려 주는지는 어떤 드라이버를 어떻게 구현했는지에 따라 다릅니다
표준 input 드라이버를 통해서 구현했을수도 있고.. 간단한 키패드라면 char 드라이버를 사용해서 /dev 아래의 노드를 읽을때마다 저장해놓은 값을 넘겨줄수고 있고... (물론 input drv 의 백앤드는 char drv 지만 동작이 약간 다릅니당)
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
키입력 받는 드라이버에 따라 다를수 있습니다
특정 hardkey가 gic 를 통해 인터럽트 번호에 맵핑되어 있을 것이고..
커널 드라이버 단에서는 request_irq 를 통해 그 번호에 핸들라를 등록시켜 놓았겟죠?
핸들러가 동작하면 특정 키 번호에 하드코딩된 값- 혹은 레지스터룰 읽어서 어떤 키가 눌렸는지를 알 수 있을테고..
여기서 읽은 값을 유저스페이스로 어떻게 올려 주는지는 어떤 드라이버를 어떻게 구현했는지에 따라 다릅니다
표준 input 드라이버를 통해서 구현했을수도 있고.. 간단한 키패드라면 char 드라이버를 사용해서 /dev 아래의 노드를 읽을때마다 저장해놓은
값을 넘겨줄수고 있고... (물론 input drv 의 백앤드는 char drv 지만 동작이 약간 다릅니당)
댓글 달기