nativeEventFilter ってどうやってハンドルするの?

Windowsで、ウィンドウメッセージ (WM_KEYDOWN とか) みたいなネイティブメッセージをハンドルしたい時、どうするのか調べてみました。nativeEventFilter( ... ) を TMainWindow や QApplication でオーバーライドしてもメッセージが飛んでこなかったので挫折しそうになりましたが、こちらを参考にしたら上手く行きました。

http://www.qtcentre.org/threads/56438-help-with-QAbstractNativeEventFilter

よく理解してなくて申し訳ないですが、念のためコードをメモっときます。

mainwindow.h

#include <QAbstractNativeEventFilter>

class usbworker : public QAbstractNativeEventFilter
{
public:
    usbworker();
    virtual bool nativeEventFilter( const QByteArray &eventType, void *message, long *result );
};

MainWindow に usbworker usb; プロパティを追加

mainwindow.cpp

usbworker::usbworker()
{
}

bool usbworker::nativeEventFilter( const QByteArray &eventType, void *message, long *result )
Q_DECL_OVERRIDE
{
    qDebug("i came here");

    if (eventType == "windows_generic_MSG")
    {
      MSG *msg = static_cast<MSG *>(message);
      if (msg->message == WM_KEYDOWN)
      {
        // キーボード押したら飛んでくる
        return false;
      }
    }

    return false;
}

main.cpp

  QApplication a(argc, argv);
  MainWindow w;
  a.installNativeEventFilter( &w.usb );
  w.show();

Q_DECL_OVERRIDE って初めて知りましたが、Javaでいう@Override アノテーションでしょうか?