ncurses로 간단한 테스트 프로그램을 작성숭인데 키입력에서 상당히 애를 먹었다.
F1~F5 까지의 키와 bacpspace, tab, enter 등의 키를 인식하지 못 하는 사태가 발생..
웃기는건 콘솔상에서는 잘 인식하는데 터미널 프로그램(putty) 로 접속하면 인식을 못 하는것이다.
무슨 이유일까 한참을 찾아봤는데 해결을 못 하고 있다가
우연히 확인한 터미널 접속과 콘솔 상의 환경 변수값이 틀린걸 발견!!!
혹시 이것 때문인가 싶어서 바로 확인하니 잘 동작 한다..
역시나...
문제를 일으킨 환경 변수는 TERM
콘솔 상에서는 이 TERM 변수 값이 linux로 들어가 있는데 putty로 접속하니까 xterm으로 바뀌는 것이다.
이걸 조정해주니까 아주 쉽게 해결...
아예 .bashrc 등에 설정해 놓기는 왠지 좀 그렇고 프로그램 상에서 해결해보자..
char *org_env = getenv( "TERM" );
setenv( "TERM", "linux", 1, );
setenv( "TERM", org_env, 1, );
return 0;
메인함수에서 위와 같이 해주면
프로그램이 동작할 때문 적용된다.!!!
'프로그래밍 > 라이브러리' 카테고리의 다른 글
[QT5] 표준 위젯(QtWidgets 패키지)의 슬롯과 시그널 (0) | 2014.09.27 |
---|---|
[sqlite] 자동증가 컬럼 만들기, 멀티 컬럼 primary key (0) | 2014.03.21 |
[ncurses] set_field_type(), field_buffer() 함수의 문제점 (0) | 2014.03.11 |
[sqlite/SQL] 문법 몇가지 (0) | 2014.02.26 |
[sqlite] ver.3 사용 예제 (0) | 2014.02.25 |