쉬프트-스페이스 를 눌렀는지 인지하려면...?
글쓴이: keedi / 작성시간: 월, 2004/07/19 - 11:22오후
안녕하세요.
C 프로그램에서 쉬프트-스페이스 를 눌렀는지 인지하고 싶으면 어떻게 해야하나요.
그리고 리눅스 콘솔 모드에서 그러니까 쉘 프롬프트가 떠 있는 상태에서도 shift-space가
눌려졌는지 체크하려면 어떤식으로 해야 하는지요. 프로그램을 데몬으로 띄워야 하는
것인지요? 아니라면 터미널 자체가 그런 기능을 지원하게 터미널 드라이버를 고쳐야 하는지요
ncurses로 하는것인지 어떤지... 도통 감이 안오네요.
조언 부탁드립니다. 감사합니다~ (-:
Forums:
실행되는 상태에 따라서 방법이 틀려질겁니다.일반 Console상이라면
실행되는 상태에 따라서 방법이 틀려질겁니다.
일반 Console상이라면 아래 문서의 마지막 부분의 demo.tar.gz을 참고해
보세요.
ioctl을 써서 직접 Shift가 눌렸는지를 확인하더군요.
http://linuxgazette.net/issue76/marinov.html
X의 경우라면 xim의 영향을 받는지가 중요합니다.
즉, 입력을 xim에 맡겼다면 xim의 event발생 함수를 사용해서 그 값을 찾을 수
있을겁니다.
qt나 gtk같은 라이브러리를 사용한다면 그 일을 대신해주는 부분이 있을겁니다.
즉, event가 발생했을 때 동작할 함수를 등록시켜주는 부분이 API로 존재할겁니다.
(이부분은 nabi소스를 분석해 보시면 되겠죠.)
------------------------------
좋은 하루 되세요.
자료 감사드립니다. 영어로 되어 있다보니 차근차근 읽는데 시간이 좀 걸리
자료 감사드립니다. 영어로 되어 있다보니 차근차근 읽는데 시간이 좀 걸리네요
콘솔 상태에서 한글을 구현하는 프로그램을 만들어보려고 하는데 생각했던것
보다 훨씬 난이도가 있네요. 터미널이 이것을 지원해야 한다고 하고 실제로
유니콘의 경우 유니콘을 위한 터미널 드라이버를 제공하고 있구요.
그래서 저도 그런 한글 지원을 위한 터미널을 만들어서 한글을 입출력을
구현해보려고 하는데 기존 터미널에 비해 무슨 기능이 더 들어가야 하는지도
감이 잘 안오고, POSIX문서라도 찾아보려고 하는데 이 문서를 보는것이
도움이 되는지도 잘 모르겠네요...
터미널이 무엇인지 콘솔이 무엇인지 조차도 아직 잘 구분이 안가는데
그냥 웬지 좀 막막하네요 하하 ㅠㅠ
현재 아래와 같은 문서들을 보고 있는 중입니다.
혹시 뭐 이런저런 조언이라도 구할수 없을까요~ :-)
유닉스상의 한글 출력
http://wiki.kldp.org/wiki.php/LinuxdocSgml/HangulOnUnixGuide-KLDP
Linux Backspace/Delete mini-HOWTO
http://wiki.kldp.org/wiki.php/DocbookSgml/BackspaceDelete
리눅스 키보드, 콘솔 하우투
http://wiki.kldp.org/wiki.php/LinuxdocSgml/Keyboard-and-Console-HOWTO
----
use perl;
Keedi Kim
댓글 달기