1. 24 Feb, 2018 - 4 commits
    • Gatis Paeglis's avatar
      xcb: minor cleanup in QXcbKeyboard::handleKeyEvent() · 9df6f336
      Gatis Paeglis authored
      
      - Use smart pointer for handling xkb state.
      
      - Make it more clear (in the code and the comment) when a latin
        keysym is used.
      
      Change-Id: Iee8106c72177c22b1a8fe875027b1dda82196b36
      Reviewed-by: default avatarShawn Rutledge <shawn.rutledge@qt.io>
      v5.11.0-beta1
      9df6f336
    • Gatis Paeglis's avatar
      xcb: refactor QXcbKeyboard::keysymToQtKey() and fix bug · 7878bb68
      Gatis Paeglis authored
      Now also digits from other alphabets e.g ۲ (arabic two) are mapped
      to Qt::Key_* digit keys.
      
      Re-factored logic:
      
      - All known dead keys have direct mappings since
      1d86e5f8
      
      . Don't special treat them
      in "unicode mapping" code path.
      
      - Removed the ISO8859-1 legacy logic, which is leftover from Qt4
      where keysym to Qt decoding was done from raw data. In Qt5 we always
      get a utf8 string from xkb_state_key_get_utf8(). Furthermore,
      ISO8859-1 and utf8 encode ASCII exactly the same way.
      
      - Set Qt::KeypadModifier from key input handler methods. This logic
      does not belong in keysymToQtKey().
      
      Note:
      
      KeyTbl[] and keysymToQtKey() have been duplicated in several places
      in Qt. That stuff will be cleaned up as part of QTBUG-65503. This
      change will make those cleanups easier.
      
      Task-number: QTBUG-58865
      Task-number: QTBUG-65503
      Change-Id: Iaf10205a26804f7fc03eb8a16a0879f1bd7bf332
      Reviewed-by: default avatarShawn Rutledge <shawn.rutledge@qt.io>
      7878bb68
    • Gatis Paeglis's avatar
      xcb: re-factor QXcbKeyboard::updateKeymap() to remove various fallbacks · d5abf545
      Gatis Paeglis authored
      3edcd942
      
       added more robust support
      for keyboard input on XKeyboard-less X servers. The various fallbacks
      that we had did not work that well in practice. We can remove them now.
      
      The xkb_keymap_new_from_names() function relies on reading XKB config
      files from a file system. Since we don't use this function anymore, we
      can also simplify xkb context creation (see XKB_CONTEXT_NO_DEFAULT_INCLUDES),
      as we don't care about DFLT_XKB_CONFIG_ROOT (which we previously set
      via -xkb-config-root for the bundled libxkbcommon).
      
      This patch also changes the code to use smart pointers for managing
      the global xkb context, keymap and state.
      
      [ChangeLog][X11] The -xkb-config-root command line switch has been
      removed as it it no longer needed when configuring with -qt-xkbcommon-x11.
      
      Change-Id: I80eecf83adae90af5cd20df434c1fba0358a12fd
      Reviewed-by: default avatarShawn Rutledge <shawn.rutledge@qt.io>
      d5abf545
    • Gatis Paeglis's avatar
      xcb: remove xlib dependency from core keymap assembling · 9280a04a
      Gatis Paeglis authored
      
      Remove the Xlib dependency by extracting XConvertCase
      from libxkbcommon sources (xkbcommon/src/keysym.c).
      
      libxkbcommon >= 0.8.0 exposes case conversion APIs, but
      we should prefer using the slightly adjusted version (see
      the patch for more details).
      
      This change also is necessary for follow-up cleanups.
      
      Change-Id: Icf1716e0ad26f46a7aefb23722cfc57957754d5e
      Reviewed-by: default avatarShawn Rutledge <shawn.rutledge@qt.io>
      Reviewed-by: default avatarThiago Macieira <thiago.macieira@intel.com>
      9280a04a
  2. 23 Feb, 2018 - 3 commits
  3. 22 Feb, 2018 - 16 commits
  4. 21 Feb, 2018 - 14 commits
  5. 20 Feb, 2018 - 3 commits