diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index 1f2be1476..9ad233c68 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -26,7 +26,7 @@ import typing import attr from PyQt5.QtCore import (pyqtSignal, pyqtSlot, QUrl, QObject, QSizeF, Qt, QEvent, QPoint) -from PyQt5.QtGui import QIcon +from PyQt5.QtGui import QKeyEvent, QIcon from PyQt5.QtWidgets import QWidget, QApplication, QDialog from PyQt5.QtPrintSupport import QPrintDialog, QPrinter from PyQt5.QtNetwork import QNetworkAccessManager @@ -1041,7 +1041,11 @@ class AbstractTab(QWidget): key: Qt.Key, modifier: Qt.KeyboardModifier = Qt.NoModifier) -> None: """Send a fake key event to this tab.""" - raise NotImplementedError + press_evt = QKeyEvent(QEvent.KeyPress, key, modifier, 0, 0, 0) + release_evt = QKeyEvent(QEvent.KeyRelease, key, modifier, + 0, 0, 0) + self.send_event(press_evt) + self.send_event(release_evt) def dump_async(self, callback: typing.Callable[[str], None], *, diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 63f1201da..e04a28652 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -26,7 +26,7 @@ import html as html_utils from PyQt5.QtCore import (pyqtSignal, pyqtSlot, Qt, QEvent, QPoint, QPointF, QUrl, QTimer, QObject) -from PyQt5.QtGui import QKeyEvent, QIcon +from PyQt5.QtGui import QIcon from PyQt5.QtNetwork import QAuthenticator from PyQt5.QtWidgets import QApplication from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineScript @@ -1193,13 +1193,6 @@ class WebEngineTab(browsertab.AbstractTab): # percent encoded content is 2 megabytes minus 30 bytes. self._widget.setHtml(html, base_url) - def key_press(self, key, modifier=Qt.NoModifier): - press_evt = QKeyEvent(QEvent.KeyPress, key, modifier, 0, 0, 0) - release_evt = QKeyEvent(QEvent.KeyRelease, key, modifier, - 0, 0, 0) - self.send_event(press_evt) - self.send_event(release_evt) - def _show_error_page(self, url, error): """Show an error page in the tab.""" log.misc.debug("Showing error page for {}".format(error)) diff --git a/qutebrowser/browser/webkit/webkittab.py b/qutebrowser/browser/webkit/webkittab.py index dcac1a3cb..7f1b8783a 100644 --- a/qutebrowser/browser/webkit/webkittab.py +++ b/qutebrowser/browser/webkit/webkittab.py @@ -25,7 +25,7 @@ import xml.etree.ElementTree from PyQt5.QtCore import (pyqtSlot, Qt, QEvent, QUrl, QPoint, QTimer, QSizeF, QSize) -from PyQt5.QtGui import QKeyEvent, QIcon +from PyQt5.QtGui import QIcon from PyQt5.QtWebKitWidgets import QWebPage, QWebFrame from PyQt5.QtWebKit import QWebSettings from PyQt5.QtPrintSupport import QPrinter @@ -755,13 +755,6 @@ class WebKitTab(browsertab.AbstractTab): def title(self): return self._widget.title() - def key_press(self, key, modifier=Qt.NoModifier): - press_evt = QKeyEvent(QEvent.KeyPress, key, modifier, 0, 0, 0) - release_evt = QKeyEvent(QEvent.KeyRelease, key, modifier, - 0, 0, 0) - self.send_event(press_evt) - self.send_event(release_evt) - @pyqtSlot() def _on_history_trigger(self): url = self.url()