Python 在 Mac OS X 上诅咒鼠标事件
Python curses mouse event on Mac OS X
我正在尝试通过 python curses 运行ning 在 Mac OS X 10.10.3 上检索鼠标事件。我一直在关注另一个问题 (Python curses.getmouse()),它有一个简单的例子,但它没有为我产生预期的结果。我认为这与我的终端有关 and/or OS,但我不确定。
这是我正在使用的代码:
import curses
screen = curses.initscr()
#curses.noecho()
curses.curs_set(0)
screen.keypad(1)
curses.mousemask(1)
screen.addstr("This is a Sample Curses Script\n\n")
while True:
event = screen.getch()
if event == ord("q"):
screen.addstr(20, 10, "Q")
if event == curses.KEY_MOUSE:
a = curses.getmouse()
screen.addstr(20, 10, a)
screen.refresh()
curses.endwin()
有谁知道为什么 curses.KEY_MOUSE 事件似乎从未发生过?
编辑:我已经检查了 mousemask 的 return 值,当它最初是 运行 时,它 return 是元组 (1, 0),正如预期的那样。
Mac OS X ("Terminal.app") 上的默认终端应用程序不支持鼠标事件。您需要使用另一个终端应用程序,例如 iTerm,以获取这些事件。
如前所述,Terminal.app 本身不支持鼠标事件。之前有人问过这个问题,建议使用另一个终端仿真器。或者,至少有一个附加程序可以提供帮助,如 Does OS X's terminal app support mouse? suggests iTerm and iTerm2, but also mentions MouseTerm (an add-on). The same information is given in Mac OS X Terminal: mouse support?
中所述
最初的问题是在 2015 年 6 月提出并回答的。Apple 提供了更新的 Terminal.app
,参见 El Capitan OSX (后来更名为 macOS)10.11,当年晚些时候,在 ncurses 中记录为 nsterm-build361 (see note for October 2015).
我正在尝试通过 python curses 运行ning 在 Mac OS X 10.10.3 上检索鼠标事件。我一直在关注另一个问题 (Python curses.getmouse()),它有一个简单的例子,但它没有为我产生预期的结果。我认为这与我的终端有关 and/or OS,但我不确定。
这是我正在使用的代码:
import curses
screen = curses.initscr()
#curses.noecho()
curses.curs_set(0)
screen.keypad(1)
curses.mousemask(1)
screen.addstr("This is a Sample Curses Script\n\n")
while True:
event = screen.getch()
if event == ord("q"):
screen.addstr(20, 10, "Q")
if event == curses.KEY_MOUSE:
a = curses.getmouse()
screen.addstr(20, 10, a)
screen.refresh()
curses.endwin()
有谁知道为什么 curses.KEY_MOUSE 事件似乎从未发生过?
编辑:我已经检查了 mousemask 的 return 值,当它最初是 运行 时,它 return 是元组 (1, 0),正如预期的那样。
Mac OS X ("Terminal.app") 上的默认终端应用程序不支持鼠标事件。您需要使用另一个终端应用程序,例如 iTerm,以获取这些事件。
如前所述,Terminal.app 本身不支持鼠标事件。之前有人问过这个问题,建议使用另一个终端仿真器。或者,至少有一个附加程序可以提供帮助,如 Does OS X's terminal app support mouse? suggests iTerm and iTerm2, but also mentions MouseTerm (an add-on). The same information is given in Mac OS X Terminal: mouse support?
中所述最初的问题是在 2015 年 6 月提出并回答的。Apple 提供了更新的 Terminal.app
,参见 El Capitan OSX (后来更名为 macOS)10.11,当年晚些时候,在 ncurses 中记录为 nsterm-build361 (see note for October 2015).