正如警告我正在工作,目前无法在此答案中测试代码,但它至少应该指向正确的方向。
我假设问题是你不能组合两个回调。
我能想到两种解决方案。
1)使用全局存储剪贴板数据并从中读取键盘回调
import gtk
import keybinder
cbText = ""
def keybinder_callback():
print cbText
gtk.main_quit()
def _clipboard_changed(clipboard, event):
global cbText
cbText = clipboard.wait_for_text()
gtk.clipboard_get(gtk.gdk.SELECTION_PRIMARY).connect("owner-change", _clipboard_changed)
if __name__ == '__main__':
keystr = "A"
keybinder.bind(keystr, keybinder_callback)
gtk.main()2)摆脱第一次回调。
import gtk
import keybinder
def callback():
print "pressed"
clipboard = gtk.clipboard_get()
text = clipboard.wait_for_text()
print text
gtk.main_quit()
if __name__ == '__main__':
keystr = "A"
keybinder.bind(keystr, callback)
gtk.main()