쉬프트-스페이스 를 눌렀는지 인지하려면...?

keedi의 이미지

안녕하세요.

C 프로그램에서 쉬프트-스페이스 를 눌렀는지 인지하고 싶으면 어떻게 해야하나요.
그리고 리눅스 콘솔 모드에서 그러니까 쉘 프롬프트가 떠 있는 상태에서도 shift-space가
눌려졌는지 체크하려면 어떤식으로 해야 하는지요. 프로그램을 데몬으로 띄워야 하는
것인지요? 아니라면 터미널 자체가 그런 기능을 지원하게 터미널 드라이버를 고쳐야 하는지요
ncurses로 하는것인지 어떤지... 도통 감이 안오네요.

조언 부탁드립니다. 감사합니다~ (-:

codebank의 이미지

실행되는 상태에 따라서 방법이 틀려질겁니다.
일반 Console상이라면 아래 문서의 마지막 부분의 demo.tar.gz을 참고해
보세요.
ioctl을 써서 직접 Shift가 눌렸는지를 확인하더군요.

http://linuxgazette.net/issue76/marinov.html

X의 경우라면 xim의 영향을 받는지가 중요합니다.
즉, 입력을 xim에 맡겼다면 xim의 event발생 함수를 사용해서 그 값을 찾을 수
있을겁니다.
qt나 gtk같은 라이브러리를 사용한다면 그 일을 대신해주는 부분이 있을겁니다.
즉, event가 발생했을 때 동작할 함수를 등록시켜주는 부분이 API로 존재할겁니다.
(이부분은 nabi소스를 분석해 보시면 되겠죠.)

------------------------------
좋은 하루 되세요.

keedi의 이미지

자료 감사드립니다. 영어로 되어 있다보니 차근차근 읽는데 시간이 좀 걸리네요

콘솔 상태에서 한글을 구현하는 프로그램을 만들어보려고 하는데 생각했던것
보다 훨씬 난이도가 있네요. 터미널이 이것을 지원해야 한다고 하고 실제로
유니콘의 경우 유니콘을 위한 터미널 드라이버를 제공하고 있구요.

그래서 저도 그런 한글 지원을 위한 터미널을 만들어서 한글을 입출력을
구현해보려고 하는데 기존 터미널에 비해 무슨 기능이 더 들어가야 하는지도
감이 잘 안오고, 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

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.