gtkmm  3.91.2
Public Member Functions | Related Functions | List of all members
Gdk::EventKey Class Reference

Generated when a key is pressed or released. More...

#include <gdkmm/events.h>

Inheritance diagram for Gdk::EventKey:
Inheritance graph
[legend]

Public Member Functions

 EventKey ()
 Creates an invalid event object. More...
 
 EventKey (GdkEventKey* gobject, bool make_a_copy=false)
 Wraps a C event instance. More...
 
void swap (EventKey& other) noexcept
 
GdkEventKey* gobj () noexcept
 Provides access to the underlying C instance. More...
 
const GdkEventKey* gobj () const noexcept
 Provides access to the underlying C instance. More...
 
GdkEventKey* gobj_copy () const
 Provides access to the underlying C instance. More...
 
guint32 get_time () const
 Returns the timestamp of the event in milliseconds. More...
 
ModifierType get_state () const
 Returns a bit mask representing the state of the modifier keys (e.g. More...
 
guint get_keyval () const
 Returns the key that was pressed or released. More...
 
guint16 get_hardware_keycode () const
 Returns the raw code of the key that was pressed or released. More...
 
int get_scancode () const
 Gets the keyboard low-level scancode of a key event. More...
 
guint8 get_group () const
 Returns the keyboard group. More...
 
bool get_is_modifier () const
 Returns true if the hardware keycode is mapped to a modifier key. More...
 
- Public Member Functions inherited from Gdk::Event
 Event ()
 Creates an invalid event object. More...
 
 Event (GdkEvent* gobject, bool make_a_copy=false)
 Wraps a C event instance. More...
 
 Event (const Event& other)
 
Eventoperator= (const Event& other)
 
 Event (Event&& other) noexcept
 
Eventoperator= (Event&& other) noexcept
 
 ~Event () noexcept
 
void swap (Event& other) noexcept
 
GdkEvent* gobj () noexcept
 Provides access to the underlying C instance. More...
 
const GdkEvent* gobj () const noexcept
 Provides access to the underlying C instance. More...
 
GdkEvent* gobj_copy () const
 Provides access to the underlying C instance. More...
 
 operator bool () const noexcept
 Discover whether the event is valid. More...
 
Event::Type get_event_type () const
 Retrieves the type of the event. More...
 
Glib::RefPtr< Gdk::Windowget_window ()
 Returns the window which received the event. More...
 
Glib::RefPtr< const Gdk::Windowget_window () const
 
bool is_send_event () const
 Returns true if the event was sent explicitly (e.g. More...
 
Glib::RefPtr< Screenget_screen ()
 Returns the screen for the event. More...
 
Glib::RefPtr< const Screenget_screen () const
 Returns the screen for the event. More...
 
Glib::RefPtr< Seatget_seat ()
 Returns the Gdk::Seat this event was generated for. More...
 
Glib::RefPtr< const Seatget_seat () const
 Returns the Gdk::Seat this event was generated for. More...
 
void put ()
 Appends a copy of the given event onto the front of the event queue for event->any.window’s display, or the default event queue if event->any.window is nullptr. More...
 

Related Functions

(Note that these are not member functions.)

void swap (EventKey& lhs, EventKey& rhs) noexcept
 
const EventKeywrap_event (const GdkEventKey*& event)
 Wraps a C event instance without making unnecessary copy when the ownership can not be acquired. More...
 
EventKeywrap_event (GdkEventKey*& event)
 See wrap_event(const GdkEventKey*& event). More...
 
Gdk::EventKey wrap (GdkEventKey* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Additional Inherited Members

- Public Types inherited from Gdk::Event
enum  Type {
  Type::NOTHING = -1,
  Type::DELETE = 0,
  Type::DESTROY = 1,
  Type::EXPOSE = 2,
  Type::MOTION_NOTIFY = 3,
  Type::BUTTON_PRESS = 4,
  Type::DOUBLE_BUTTON_PRESS = 5,
  Type::TRIPLE_BUTTON_PRESS = 6,
  Type::BUTTON_RELEASE = 7,
  Type::KEY_PRESS = 8,
  Type::KEY_RELEASE = 9,
  Type::ENTER_NOTIFY = 10,
  Type::LEAVE_NOTIFY = 11,
  Type::FOCUS_CHANGE = 12,
  Type::CONFIGURE = 13,
  Type::MAP = 14,
  Type::UNMAP = 15,
  Type::PROPERTY_NOTIFY = 16,
  Type::SELECTION_CLEAR = 17,
  Type::SELECTION_REQUEST = 18,
  Type::SELECTION_NOTIFY = 19,
  Type::PROXIMITY_IN = 20,
  Type::PROXIMITY_OUT = 21,
  Type::DRAG_ENTER = 22,
  Type::DRAG_LEAVE = 23,
  Type::DRAG_MOTION = 24,
  Type::DRAG_STATUS = 25,
  Type::DROP_START = 26,
  Type::DROP_FINISHED = 27,
  Type::CLIENT_EVENT = 28,
  Type::VISIBILITY_NOTIFY = 29,
  Type::SCROLL = 31,
  Type::WINDOW_STATE = 32,
  Type::SETTING = 33,
  Type::OWNER_CHANGE = 34,
  Type::GRAB_BROKEN = 35,
  Type::DAMAGE = 36,
  Type::TOUCH_BEGIN = 37,
  Type::TOUCH_UPDATE = 38,
  Type::TOUCH_END = 39,
  Type::TOUCH_CANCEL = 40,
  Type::TOUCHPAD_SWIPE = 41,
  Type::TOUCHPAD_PINCH = 42,
  Type::PAD_BUTTON_PRESS = 43,
  Type::PAD_BUTTON_RELEASE = 44,
  Type::PAD_RING = 45,
  Type::PAD_STRIP = 46,
  Type::PAD_GROUP_MODE = 47,
  Type::EVENT_LAST = 48
}
 Specifies the type of the event. More...
 
- Static Public Member Functions inherited from Gdk::Event
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 
static void set_show_events (bool show_events)
 Sets whether a trace of received events is output. More...
 
static bool get_show_events ()
 Gets whether event debugging output is enabled. More...
 
static Event get ()
 Checks all open displays for a Gdk::Event to process,to be processed on, fetching events from the windowing system if necessary. More...
 
static Event peek ()
 If there is an event waiting in the event queue of some open display, returns a copy of it. More...
 
static bool events_pending ()
 Checks if any events are ready to be processed for any display. More...
 

Detailed Description

Generated when a key is pressed or released.

get_event_type() will return Gdk::Event::Type::KEY_PRESS or Gdk::Event::Type::KEY_RELEASE.

Since gtkmm 3.90:

Constructor & Destructor Documentation

Gdk::EventKey::EventKey ( )

Creates an invalid event object.

Calling any member functions other than operator bool() is undefined behavior. An invalid event object can be used in a function call, if the underlying C function expects a NULL GdkEventKey pointer.

Gdk::EventKey::EventKey ( GdkEventKey *  gobject,
bool  make_a_copy = false 
)
explicit

Wraps a C event instance.

This constructor either acquires ownership of gobject, or copies it.

Parameters
gobjectEvent to wrap.
make_a_copyIf false, the ownership of gobject is acquired, otherwise a copy is made.

Member Function Documentation

guint8 Gdk::EventKey::get_group ( ) const

Returns the keyboard group.

guint16 Gdk::EventKey::get_hardware_keycode ( ) const

Returns the raw code of the key that was pressed or released.

bool Gdk::EventKey::get_is_modifier ( ) const

Returns true if the hardware keycode is mapped to a modifier key.

guint Gdk::EventKey::get_keyval ( ) const

Returns the key that was pressed or released.

See the <gdk/gdkkeysyms.h> header file for a complete list of GDK key codes.

int Gdk::EventKey::get_scancode ( ) const

Gets the keyboard low-level scancode of a key event.

This is usually hardware_keycode. On Windows this is the high word of WM_KEY{DOWN,UP} lParam which contains the scancode and some extended flags.

Since gtkmm 3.22:
Returns
The associated keyboard scancode or 0.
ModifierType Gdk::EventKey::get_state ( ) const

Returns a bit mask representing the state of the modifier keys (e.g.

Control, Shift and Alt) and the pointer buttons.

guint32 Gdk::EventKey::get_time ( ) const

Returns the timestamp of the event in milliseconds.

GdkEventKey* Gdk::EventKey::gobj ( )
inlinenoexcept

Provides access to the underlying C instance.

const GdkEventKey* Gdk::EventKey::gobj ( ) const
inlinenoexcept

Provides access to the underlying C instance.

GdkEventKey* Gdk::EventKey::gobj_copy ( ) const

Provides access to the underlying C instance.

The caller is responsible for freeing it with gdk_event_free(). Use when directly setting fields in structs.

void Gdk::EventKey::swap ( EventKey other)
noexcept

Friends And Related Function Documentation

void swap ( EventKey lhs,
EventKey rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Gdk::EventKey wrap ( GdkEventKey *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyfalse if the result should take ownership of the C instance, true if it should take a new copy.
Returns
A C++ instance that wraps this C instance.
const EventKey& wrap_event ( const GdkEventKey *&  event)
related

Wraps a C event instance without making unnecessary copy when the ownership can not be acquired.

The event pointer must not be deleted until last usage of the returned instance. Note, that this requirement applies to the pointer itself, in addition to the object it is pointing to.

EventKey& wrap_event ( GdkEventKey *&  event)
related