구체적인 이유는, 터치스크린을 연결했을 때 모니터 모델마다
해상도라든지 좌표계가 다르게 나오더라구요
그래서 제조사에 문의해보니 드라이버를 사용하거나, 아니면
스스로 코딩해 해결하는 방법밖에 없다고 합니다.
그래서 살펴보니 드라이버가 들어있긴 한 것 같은데..
(~~~/linux/drivers/input/touchscreen/usbtouchscreen.c 를
열어보면 해당 제조사의 드라이버 함수들이 있던데요..)
예를 들어 연결된 터치스크린의 해상도가 알고 싶다.고 한다면
어떤 방법으로 알 수 있는지, 드라이버를 써야한다고 하니,
그럼 어떻게 쓰면 되는 것인지 해서 질문하게 되었습니다.
"I'm convinced that the only thing that kept me going was that I loved what I did." - Steve Jobs 1955-2011
확실하게 어떻게 하라는 말씀은 못드리겠고...저도 초보라..
저는 이렇게 썼어요..
abc.c에서 zzz.c의 int aaa()를 불러다 쓸때
zzz.h파일에서
int aaa();
abc.c에 #include "zzz.h"를 하고..
aaa();해서 사용했어요..
네
답변 감사합니다 ㅋ
"I'm convinced that the only thing that kept me going was that I loved what I did." - Steve Jobs 1955-2011
기본적으로
기본적으로 유저영역에서 kernel 함수 호출은 불가능합니다.
다만, 굳이 driver의 함수를 떠나서 kernel 함수를 호출하려면, system call에 추가를 하셔서 호출하도록 하셔야 합니다. 이 부분은 작업할 게 좀 될거 같네요.
어떠한 이유로 driver의 함수를 유저영역에서 가져다 쓰시려고 하시는지 이유를 달아주시면 다른 분들도 답변 드리기 수월할 거 같습니다.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
드라이버 함수를 사용하려는 이유
구체적인 이유는, 터치스크린을 연결했을 때 모니터 모델마다
해상도라든지 좌표계가 다르게 나오더라구요
그래서 제조사에 문의해보니 드라이버를 사용하거나, 아니면
스스로 코딩해 해결하는 방법밖에 없다고 합니다.
그래서 살펴보니 드라이버가 들어있긴 한 것 같은데..
(~~~/linux/drivers/input/touchscreen/usbtouchscreen.c 를
열어보면 해당 제조사의 드라이버 함수들이 있던데요..)
예를 들어 연결된 터치스크린의 해상도가 알고 싶다.고 한다면
어떤 방법으로 알 수 있는지, 드라이버를 써야한다고 하니,
그럼 어떻게 쓰면 되는 것인지 해서 질문하게 되었습니다.
"I'm convinced that the only thing that kept me going was that I loved what I did." - Steve Jobs 1955-2011
절대좌표를 사용하는
절대좌표를 사용하는 장치의 경우,
linux input subsystem 의 evdev interface 가 제공하는 API 중 EVIOCGABS ioctl를 사용하면 됩니다.
예제는 http://cgit.freedesktop.org/xorg/driver/xf86-input-evdev/tree/src/evdev.c?id=95099cb0368d76ee139f1442253f26f68d493df9
OTL
감사합니다
참고하겠습니다 ㅋ
"I'm convinced that the only thing that kept me going was that I loved what I did." - Steve Jobs 1955-2011
댓글 달기