2012-06-19 7 views
6

Ich nehme eine ISBN vom Benutzer. Wahrscheinlich von einem Barcodescanner (18-stellige EAN-Ziffern mit Return), kann aber auch manuell eingegeben werden (13 Ziffern). Wenn es von Hand ist, kommt es vom Nummernblock und kann mit "Number Pad Enter" enden. Ich habe eine Bindung an meinen Code hinzugefügt:Perl Tk Bind <Return> ist nicht Nummernblock zurück?

$isbn_entry->bind("<Return>", sub{shift->focusNext}); 

Welche richtig funktioniert, wenn die Enter-Taste auf der Tastatur gedrückt wird, aber nicht, wenn die Enter-Taste auf dem Ziffernblock gedrückt wird. Muss ich eine weitere Bindung hinzufügen, um auch diese zu fangen? Wenn das so ist, wie? Oder habe ich das anfangs falsch gemacht?

Antwort

9

<KP_Enter> sollte dem numerischen Tastenblock entsprechen eingeben. Sie können es auf die gleiche Weise wie Return binden.

+0

Ich habe eine Reihe anderer Ereignisse gefunden, aber ich muss diese verpasst haben. Vielen Dank! – charlesbridge

+0

Dies könnte nur als "tk" bezeichnet werden, denn das gleiche passiert in Pythons "Tkinter". –