안녕하세요?
아래 탭키, 방향키 질문 했던 사람입니다.~~
답변에 너무 감사하구요~~
termios.h 를 이용한
비정규모드에서 백스페이스를 어떻게 구현할까요?
한문자씩입력받기 때문에, 백스페이스가 안 먹어서 따로 구현해줘야 할 것 같은데요....
꽁수 부탁드립니다~~~
ㅎㅎ 결국은 소스가 스스히 폭로가 되네요... 비정규모드로 동작할때 가급적이면 ECHO OFF하시야 이런 부분을 원활하게 처리할 수 있습니다. 주의하실건 ascii 문자일경우에 한해서, 유저 프로그램에서 입력받은 문자를 다시 출력하는 걸 추가하셔야 할 겁니다.
아래 코드에서 백스페이스와 DEL키에 대한 처리 부분입니다. if문 아래에서 입력받은 문자열의 가장 최근걸 지우는 거 빠뜨리지 마시구요. 입력받은 문자가 하나도 없는 상태에서 백스페이스나 DEL키를 입력받으면, 저는 벨 소리를 울려줬답니다.
도움이 되시길...
else if(ch == 0x08 || ch == 0x7f) /* bs or del */ { if(pWindow->nRecvCount) { pWindow->PutChar(0x08); pWindow->PutChar(' '); pWindow->PutChar(0x08); pWindow->nRecvCount--; pWindow->szRecvData[pWindow->nRecvCount] = '\0'; } else pWindow->PutChar(0x07); /* print bell */ } else if(isascii(ch)) MWIN_OnChar(pWindow, ch);
텍스트 포맷에 대한 자세한 정보
<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]
ㅎㅎ 결국은 소스가 스스히 폭로가 되네요...비정규모드로 동작할때 가
ㅎㅎ 결국은 소스가 스스히 폭로가 되네요...
비정규모드로 동작할때 가급적이면 ECHO OFF하시야 이런 부분을 원활하게 처리할 수 있습니다. 주의하실건 ascii 문자일경우에 한해서, 유저 프로그램에서 입력받은 문자를 다시 출력하는 걸 추가하셔야 할 겁니다.
아래 코드에서 백스페이스와 DEL키에 대한 처리 부분입니다.
if문 아래에서 입력받은 문자열의 가장 최근걸 지우는 거 빠뜨리지 마시구요.
입력받은 문자가 하나도 없는 상태에서 백스페이스나 DEL키를 입력받으면, 저는 벨 소리를 울려줬답니다.
도움이 되시길...
댓글 달기