[webkit-qt] Custom keycodes not accepted
Massimo Callegari
massimocallegari at yahoo.it
Fri Sep 5 04:01:34 PDT 2014
Hi everyone,
I have a problem with QtWebKit 5.3.1 not forwarding custom keycodes to the Javascript layer. Basically the "onkeypress" event is not fired.
I am developing my own IR remote control driver inside the eglfs plugin. I submit the keycodes to the upper layers like this:
QWindowSystemInterface::handleKeyEvent(0, QEvent::KeyPress, keyCode, Qt::NoModifier);
QWindowSystemInterface::handleKeyEvent(0, QEvent::KeyRelease, keyCode, Qt::NoModifier);
As long as I send Qt keycodes (like Qt::Key_0, Qt::Key_Up, etc..) I receive the Javascript event. When I send custom keycodes like 61506, 61507, etc, they get marked as not accepted. I guess by the QWebView class.
In my previous system I was using QtWebKit 2.3.3 + Qt 4.8.6 + DirectFB and it was working fine with the same keycodes.
In my simple browser application I redefined the keyPressEvent method like this:
void MainWindow::keyPressEvent(QKeyEvent *ev)
{
qDebug() << "key pressed:" << ev->key() << "accepted:" << ev->isAccepted();
ev->accept();
m_view->event(ev);
if (ev->isAccepted())
qDebug() << "Event accepted";
else
qDebug() << "Event NOT accepted";
QWidget::keyPressEvent(ev);
}
m_view is a pointer to QWebView.
I receive all the keycodes and at the beginning of the function the events are still marked as accepted.
But even if I try to force to accept them, when they enter the QWebView they are always not accepted, thus not forwarded to the Javascript layer.
Is there a particular reason for this or is there a way to workaround it ?
Thanks in advance,
Massimo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-qt/attachments/20140905/5867d43d/attachment.html>
More information about the webkit-qt
mailing list