5

現在、TERM 環境変数を「xterm-1003」に設定すると、マウス移動イベントを取得できますが、色が悪く、curses.can_change_color() == False になります。

os.environ['TERM'] = 'xterm-1003'
...
curses.mousemask(curses.ALL_MOUSE_EVENTS | curses.REPORT_MOUSE_POSITION)
...
while True:
    event = screen.getch()
    if event == curses.KEY_MOUSE:
        # I get nice events whenever I move the mouse (no click required)
        _, mx, my, _, _ = curses.getmouse()

TERM 環境変数を 'xterm-256color' に設定すると、素敵なカラー パレットと curses.can_change_color() == True が得られますが、ボタンをクリックしない限り、マウス イベントを受け取りません!

>ls /usr/share/terminfo/x/ 

レポート

xfce           xterm-256color  xterm-hp      xterm-r5     xterm-xf86-v32   xterm-xfree86
xterm          xterm-88color   xterm-new     xterm-r6     xterm-xf86-v33   xterm-xi
xterm-1002     xterm-8bit      xterm-nic     xterm-sco    xterm-xf86-v333  xterms
xterm-1003     xterm-basic     xterm-noapp   xterm-sun    xterm-xf86-v40
xterm-16color  xterm-bold      xterm-old     xterm-vt220  xterm-xf86-v43
xterm-24       xterm-color     xterm-pcolor  xterm-vt52   xterm-xf86-v44

私が試したもののどれも、curses.can_change_color() == True とマウス移動イベントの両方をサポートしていないようです。適切な $TERM 値を設定するか、他の方法で両方を取得する方法はありますか?

ありがとうございました!

4

2 に答える 2