1. 05 Apr, 2022 1 commit
    • hemidark's avatar
      gdk: always populate GDK_AXIS_{X,Y} in merged event history · 0c448518
      hemidark authored
      Since GdkTimeCoord stores only axis values, prior to this change,
      if a device didn't report GDK_AXIS_X or GDK_AXIS_Y, the history
      attached to merged motion events wouldn't contain any positional
      information.
      
      Commit 60122760 already addressed
      this issue for devices without tools by storing the event position
      in GdkTimeCoord using GDK_AXIS_X and GDK_AXIS_Y and augmenting the
      GdkTimeCoord's axis bitmask accordingly.
      
      This change generalizes that workaround to all devices. Note that
      if a device DOES report values for GDK_AXIS_X and GDK_AXIS_Y, those
      values won't be overwritten.
      
      Closes #4809
      0c448518
  2. 18 Mar, 2022 1 commit
  3. 26 Jan, 2022 2 commits
    • José Expósito's avatar
      gdk/events: Add hold GdkEvent · 331f1ee7
      José Expósito authored and Carlos Garnacho's avatar Carlos Garnacho committed
      Allow to create hold events as well as the required functions to get
      information about the event: gesture phase, finger count, etc
      
      Part-of: <!3454>
      331f1ee7
    • Carlos Garnacho's avatar
      gdk: Always request "flush events" frame clock phase on events · 2b41e721
      Carlos Garnacho authored
      This change is done for 2 reasons:
      
      - The logic to request this phase when compressing scroll events is
        slightly broken. If there are multiple scroll events that are
        coalesced into one, the surface frame clock will not get this request.
        The worst case is having >= 2 scroll events on every frame, as the
        compressed event will be left in the queue, and be further compressed
        on future events.
      
      - Even scroll events aside, this phase is requested in oddly specific
        places that are not enough to cover all events, others do rely on
        unrelated GdkFrameClock activity that happens to flush the events
        as well.
      
      Unify this phase request so it explicitly happens on the arrival of any
      event. This ensures that events (compressed or not) will be handled
      promptly after arrival.
      2b41e721
  4. 01 Jan, 2022 1 commit
  5. 20 Dec, 2021 1 commit
  6. 16 Dec, 2021 2 commits
  7. 15 Dec, 2021 1 commit
    • Matthias Clasen's avatar
      Fix event history · 60122760
      Matthias Clasen authored
      Collecting of history wasn't working correctly
      for either motion or scroll events.
      60122760
  8. 24 Sep, 2021 2 commits
  9. 22 May, 2021 1 commit
  10. 21 May, 2021 1 commit
    • Matthias Clasen's avatar
      docs: Reduce redundancy · 4a0d3d7a
      Matthias Clasen authored
      Remove a boatload of "or %NULL" from nullable parameters
      and return values. gi-docgen generates suitable text from
      the annotation that we don't need to duplicate.
      
      This adds a few missing nullable annotations too.
      4a0d3d7a
  11. 26 Mar, 2021 1 commit
    • Matthias Clasen's avatar
      gdk: Add gdk_device_get_timestamp · 7849590a
      Matthias Clasen authored
      Give each device a timestamp that reflects the last
      user activity with that device, as reflected in the
      events that are produced for this device.
      7849590a
  12. 15 Mar, 2021 1 commit
    • Matthias Clasen's avatar
      wayland: Fix cross-layout accelerators · e3dcc3d3
      Matthias Clasen authored
      GTK traditionally lets you activate keyboard shortcuts
      even if they are for a non-active layout. But it is meant
      to only activate with a keysym from a non-active layout
      when that symbol is not present in the current layout.
      That last condition was lost when key event handling
      was redone for GTK4. Bring it back.
      e3dcc3d3
  13. 11 Mar, 2021 3 commits
  14. 11 Feb, 2021 1 commit
  15. 21 Dec, 2020 1 commit
  16. 16 Dec, 2020 1 commit
    • Emmanuele Bassi's avatar
      docs: Complete symbol coverage for GDK · 4fb55b32
      Emmanuele Bassi authored
      100% symbol docs coverage.
      833 symbols documented.
      0 symbols incomplete.
      0 not documented.
      
      What's left are just type system macros and windowing system opaque
      structures.
      4fb55b32
  17. 07 Dec, 2020 1 commit
  18. 19 Nov, 2020 1 commit
    • Christian Hergert's avatar
      types: fix various use of volatile in type registration · 0d2ea14a
      Christian Hergert authored
      The use of volatile was incorrect in GLib and has been that way for
      a long time. Recently however that has changed, and this makes GTK
      follow suit to avoid using volatile in the type registration.
      
      See also: glib!1719
      
      Combined with the above merge request for GLib, this fixes a large
      number of compilation warnings when using Clang.
      0d2ea14a
  19. 23 Oct, 2020 1 commit
    • Matthias Clasen's avatar
      gdk: Deliver queued events on flush · c5ed5c5f
      Matthias Clasen authored
      The current code was marking queued events as flushed,
      but left them in the queue. That doesn't make sense to
      me - we should deliver all events we have before we
      reach the paint phase of the frame cycle.
      c5ed5c5f
  20. 08 Oct, 2020 1 commit
    • Matthias Clasen's avatar
      gdk: Drop some unused private api · ba108f26
      Matthias Clasen authored
      No users of gdk_display_peek_event, gdk_display_has_pending
      _gdk_display_event_data_copy or _gdk_display_event_data_free,
      so drop all of these, and related vfuncs.
      ba108f26
  21. 14 Aug, 2020 1 commit
  22. 06 Aug, 2020 1 commit
  23. 05 Aug, 2020 1 commit
  24. 28 Jul, 2020 2 commits
    • Carlos Garnacho's avatar
      gdk: Conflate GDK devices · cab1dcb6
      Carlos Garnacho authored
      Make GdkEvents hold a single GdkDevice. This device is closer to
      the logical device conceptually, although it must be sufficient for
      device checks (i.e. GdkInputSource), which makes it similar to the
      physical devices.
      
      Make the logical devices have a more accurate GdkInputSource where
      needed, and conflate the event devices altogether.
      cab1dcb6
    • Carlos Garnacho's avatar
      gdk: Make events hold an axis array matching GdkAxisUse · 4a2bbed1
      Carlos Garnacho authored
      Instead of doing device-specific translations of array positions,
      use GdkAxisUse as an array index right away.
      4a2bbed1
  25. 24 Jul, 2020 3 commits
  26. 28 Jun, 2020 1 commit
  27. 23 Jun, 2020 1 commit
  28. 18 Jun, 2020 1 commit
    • Emmanuele Bassi's avatar
      Rename master and slave device · 1c856a20
      Emmanuele Bassi authored
      We already use the "logical/virtual" and "physical" names in the
      documentation, there's no reason to use loaded terms just because X11
      uses them.
      1c856a20
  29. 09 Jun, 2020 4 commits
    • Matthias Clasen's avatar
      Address review comments · 4317c008
      Matthias Clasen authored
      We were casting scroll events to motion events
      rather carelessly. Don't do that.
      4317c008
    • Matthias Clasen's avatar
      gdk: Add documentation · d605d9ae
      Matthias Clasen authored
      Add some useful information about event history.
      d605d9ae
    • Matthias Clasen's avatar
      gdk: Rename gdk_motion_event_get_history · c9fad251
      Matthias Clasen authored
      Scroll events can have history too, so make a
      getter that works for both. This drops the
      gdk_scroll_event_get_history getter that was
      added a few commits earlier, since we now
      store scroll history in the same way as
      motion history.
      
      Update the docs, and all callers.
      c9fad251
    • Matthias Clasen's avatar
      Keep scroll history · b9cde6f8
      Matthias Clasen authored
      Similar to how we keep motion history for compressed
      events, keep scroll history for compressed scroll
      events.
      b9cde6f8