Per @musicamante's advice, i put an event filter on a subclass of `QMainWindow` and now the keypress event is being read anywhere.
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
app.installEventFilter(self) #keyboard control
def eventFilter(self, obj, ev):
if (ev.type() == QtCore.QEvent.Type.KeyPress):
<<Stuff>>
return super(MainWindow, self).eventFilter(obj, ev)