2017-02-03 10 views
0

저는 Python의 curses 라이브러리를 사용하여 Linux 터미널에서 마우스 클릭 가능 UI를 구현하고 있습니다. 내가 눈치가 화면 폭은 250 열보다 크거나 내가Python curses getmouse가 음수를 반환합니다.

_, mouse_x, mouse_y, _, mouse_event_type = curses.getmouse() 

mouse_x는 음수가 될 것입니다 호출하는 경우 때문에, (예를 들어, -33)

어떤 생각을 왜 그런 경우가있을 때?

답변

2

현행 xterm 마우스 프로토콜은 최대 224 (즉, 256-32)의 값만 허용합니다. 이 범위를 벗어나면 흥미로운 결과를 얻을 수 있습니다.

텀 마우스 프로토콜을 지원하는 단말의 일부 (하지만 모든하지 )의 좌표 값을 크게 할 수있는 최신의 xterm 프로토콜 (SGR 1006)를 지원하도록 수정 된

. 일부 (다시 모두) 응용 프로그램은 최신 프로토콜을 사용할 수 있습니다.

전체 ncurses 터미널 데이터베이스가 설치되어 있고이 프로토콜과 함께 작동하는 응용 프로그램 (ncurses 포함)을 사용하는 경우 TERM=xterm-1006을 사용하여이 기능을 사용할 수 있습니다.