def keyPressEvent(self, event): if event.key() == Qt.Key_Left: r = Rotation().set_from_angle_about_unit_vector(-0.05, [0, 0, -1]) self.trackball.rotation_incremented.emit(r) elif event.key() == Qt.Key_Right: r = Rotation().set_from_angle_about_unit_vector( 0.05, [0, 0, -1]) self.trackball.rotation_incremented.emit(r) elif event.key() == Qt.Key_Up: self.trackball.pixel_translated.emit(0, 0, 50); elif event.key() == Qt.Key_Down: self.trackball.pixel_translated.emit(0, 0, -50); QGLWidget.keyPressEvent(self, event) # not my event