D7336: Migrate Xkb::toQtKey away from KKeyServer

Martin Flöser noreply at phabricator.kde.org
Tue Aug 15 19:27:16 UTC 2017


graesslin created this revision.
Restricted Application added a project: KWin.
Restricted Application added subscribers: kwin, plasma-devel.

REVISION SUMMARY
  Turn Xkb into a QObject
  
  Reduced dependencies on other classes and allows to emit signal directly
  instead of emitting a signal on another class.
  
  Dependency inject KWayland::Server::SeatInterface into Xkb
  
  No need to depend on WaylandServer from within Xkb.
  
  [autotests] Add test case for Xkb::toQtKey
  
  Tests all key codes KKeyServer is able to map to Qt.
  
  Migrate Xkb::toQtKey away from KKeyServer
  
  The regression in kwindowsystem in
  https://phabricator.kde.org/R278:32526718eae99ccb594360627586eebdf793372b showed once more that it's time
  to migrate the xkb keysym to Qt::Key mapping away from KKeyServer. The
  main problem with KKeyServer is that it's made for X11 and we don't have
  X11 here. This causes warnings printed at runtime and the code only
  works by accident at all because KKeyServer fails to initialise
  modifiers. That is normally KKeyServer would include the modifiers, but
  that is nothing we are interested in for mapping xkb keysyms to Qt::Key.
  
  So to address this, KWin now implements the mapping itself. It's based
  on the implementation in KKeyServer, but also improved by providing
  faster xkb to Qt conversion (which matters for KWin more than the other
  direction).
  
  Long term plan is to extend this so that also on X11 it can be used.
  Then it should be split out and be used in KKeyServer as a replacement
  for the current implementation which could support both X11 and Wayland.

TEST PLAN
  New test case added which covers all keysyms supported by
  existing KKeyserver mapping

REPOSITORY
  R108 KWin

BRANCH
  xkb-no-kkeyserver

REVISION DETAIL
  https://phabricator.kde.org/D7336

AFFECTED FILES
  autotests/CMakeLists.txt
  autotests/test_xkb.cpp
  keyboard_input.cpp
  xkb.cpp
  xkb.h
  xkb_qt_mapping.h

To: graesslin, #kwin, #plasma
Cc: plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart, lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170815/05690fbe/attachment.html>


More information about the Plasma-devel mailing list