키 - 누르기 이벤트 핸들러가 있는데 어떤 키가 눌 렸는지 확인해야합니다 : 수정 자인가요?pygtk : 키가 수정 자임을 결정합니다.
modifier가 다른 것으로 눌려 졌을 때만 작동하기 때문에 event.state에 없지만 단일 키 (즉, 단순히 control 또는 alt 키를 눌러야 함)에 필요합니다.
키 - 누르기 이벤트 핸들러가 있는데 어떤 키가 눌 렸는지 확인해야합니다 : 수정 자인가요?pygtk : 키가 수정 자임을 결정합니다.
modifier가 다른 것으로 눌려 졌을 때만 작동하기 때문에 event.state에 없지만 단일 키 (즉, 단순히 control 또는 alt 키를 눌러야 함)에 필요합니다.
, 키 이벤트가 is_modifier
속성을 가지고있다. PyGTK 참조 문서에는 설명되어 있지 않지만 GDK API 문서에 있으며 PyGTK를 통해 공개됩니다. GDK 2.10에 추가되었습니다.
원하는 것을 event.keyval에서 찾을 수 있습니다. 예를 들어, 다음 코드는 나를 위해 작동 : GTK +/PyGTK 버전이 충분히 최근의 경우
이def key_press_event(widget, event):
keyname = gtk.gdk.keyval_name(event.keyval)
if "Control" in keyname or "Alt" in keyname:
print "You pressed a modifier!"
난 당신이 보여준 것 같은를 얻었으나, 한 훨씬 더 큰 : 수정 = ( gtk.keysyms.Control_L, ..... gtk.keysyms.Hyper_L, gtk.keysyms.Hyper_R , gtk.keysyms.Meta_L, gtk.keysyms.Meta_R, 는) .... 것은 수정에 event.keyval 경우 :하지만 난 생각 .... 몇 가지 다른 방법이있을 수 있습니다 – Daniel