11 #include "SeatSelection.h"    16 #include <wayland-client-protocol.hpp>    36   virtual void OnKeyboardKeymap(
CSeat* seat, wayland::keyboard_keymap_format format, std::string 
const& keymap) {}
    37   virtual void OnKeyboardEnter(
CSeat* seat,
    39                                const wayland::surface_t& surface,
    40                                const wayland::array_t& keys)
    43   virtual void OnKeyboardLeave(
CSeat* seat, std::uint32_t serial, 
const wayland::surface_t& surface)
    46   virtual void OnKeyboardKey(
CSeat* seat, std::uint32_t serial, std::uint32_t time, std::uint32_t key, wayland::keyboard_key_state state) {}
    47   virtual void OnKeyboardModifiers(
CSeat* seat, std::uint32_t serial, std::uint32_t modsDepressed, std::uint32_t modsLatched, std::uint32_t modsLocked, std::uint32_t 
group) {}
    48   virtual void OnKeyboardRepeatInfo(
CSeat* seat, std::int32_t rate, std::int32_t delay) {}
    61   virtual void OnPointerEnter(
CSeat* seat,
    63                               const wayland::surface_t& surface,
    68   virtual void OnPointerLeave(
CSeat* seat, std::uint32_t serial, 
const wayland::surface_t& surface)
    71   virtual void OnPointerMotion(
CSeat* seat, std::uint32_t time, 
double surfaceX, 
double surfaceY) {}
    72   virtual void OnPointerButton(
CSeat* seat, std::uint32_t serial, std::uint32_t time, std::uint32_t button, wayland::pointer_button_state state) {}
    73   virtual void OnPointerAxis(
CSeat* seat, std::uint32_t time, wayland::pointer_axis axis, 
double value) {}
    86   virtual void OnTouchDown(
CSeat* seat,
    89                            const wayland::surface_t& surface,
    95   virtual void OnTouchUp(
CSeat* seat, std::uint32_t serial, std::uint32_t time, std::int32_t 
id) {}
    96   virtual void OnTouchMotion(
CSeat* seat, std::uint32_t time, std::int32_t 
id, 
double x, 
double y) {}
    97   virtual void OnTouchCancel(
CSeat* seat) {}
    98   virtual void OnTouchShape(
CSeat* seat, std::int32_t 
id, 
double major, 
double minor) {}
   123   CSeat(std::uint32_t globalName, wayland::seat_t 
const& seat, 
CConnection& connection);
   124   virtual ~
CSeat() noexcept;
   133   std::uint32_t GetGlobalName()
 const   137   std::string 
const& GetName()
 const   141   bool HasPointerCapability()
 const   145   bool HasKeyboardCapability()
 const   149   bool HasTouchCapability()
 const   153   std::string GetSelectionText()
 const   155     return m_selection.GetSelectionText();
   175   virtual void SetCursor(std::uint32_t serial,
   176                          wayland::surface_t 
const& surface,
   177                          std::int32_t hotspotX,
   178                          std::int32_t hotspotY);
   181   virtual void InstallKeyboardRepeatInfo();
   185   CSeat& operator=(
CSeat const& other) = 
delete;
   187   void HandleOnCapabilities(
const wayland::seat_capability& caps);
   188   void HandlePointerCapability();
   189   void HandleKeyboardCapability();
   190   void HandleTouchCapability();
   192   std::uint32_t m_globalName;
   193   std::string m_name{
"<unknown>"};
   195   wayland::seat_t m_seat;
   196   wayland::pointer_t m_pointer;
   197   wayland::keyboard_t m_keyboard;
   198   wayland::touch_t m_touch;
   200   std::set<IRawInputHandlerKeyboard*> m_rawKeyboardHandlers;
   201   std::set<IRawInputHandlerPointer*> m_rawPointerHandlers;
   202   std::set<IRawInputHandlerTouch*> m_rawTouchHandlers;
 wayland::seat_t const  & GetWlSeat()
Get the wl_seat underlying this seat. 
Definition: Seat.h:164
Retrieve and accept selection (clipboard) offers on the data device of a seat. 
Definition: SeatSelection.h:30
Connection to Wayland compositor. 
Definition: Connection.h:25
Definition: AudioDecoder.h:18
Definition: SmartPlayList.cpp:137
Handle all events and requests related to one seat (including input and selection) ...
Definition: Seat.h:114