Skip to content

Move event handling from vncview to base class remoteview; reuse the same methods in rdpview. BUG: 483638

Fabio Bas requested to merge ctrlaltca/krdc:rdp_tab into master

While using an RDP session, i noticed that after pressing the TAB key the keyboard input was no more responsive on the remote session. This is an expected behavior described here: https://doc.qt.io/qt-6/qwidget.html#events

keyPressEvent() is called whenever a key is pressed, and again when a key has been held down long enough for it to auto-repeat. The Tab and Shift+Tab keys are only passed to the widget if they are not used by the focus-change mechanisms. To force those keys to be processed by your widget, you must reimplement QWidget::event().

Vncview already reimplemented QWidget::event() and QWidget::eventFilter() taking care of this problem. Instead of reinventing the wheel, i moved the vncview implementation in the base class remoteview and rewired rdpview to use it. Now the TAB key works as expected in an rdp session.

BUG: 483638

Edited by Fabio Bas

Merge request reports