Ignoring section.key-pressed
This commit is contained in:
@ -210,7 +210,9 @@ eek_gtk_keyboard_real_button_press_event (GtkWidget *self,
|
||||
(gdouble)event->x,
|
||||
(gdouble)event->y);
|
||||
if (key) {
|
||||
g_signal_emit_by_name (key, "pressed", priv->keyboard);
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "emit EekKey pressed");
|
||||
g_signal_emit_by_name (key, "pressed");
|
||||
eek_keyboard_press_key(priv->keyboard, key);
|
||||
}
|
||||
// TODO: send time
|
||||
return TRUE;
|
||||
@ -229,6 +231,7 @@ eek_gtk_keyboard_real_button_release_event (GtkWidget *self,
|
||||
|
||||
list = eek_keyboard_get_pressed_keys (priv->keyboard);
|
||||
for (head = list; head; head = g_list_next (head)) {
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "emit EekKey released");
|
||||
g_signal_emit_by_name (head->data, "released", priv->keyboard);
|
||||
}
|
||||
g_list_free (list);
|
||||
@ -258,12 +261,14 @@ eek_gtk_keyboard_real_motion_notify_event (GtkWidget *self,
|
||||
if (head->data == key)
|
||||
found = TRUE;
|
||||
else
|
||||
g_signal_emit_by_name (head->data, "cancelled", priv->keyboard);
|
||||
g_signal_emit_by_name (head->data, "cancelled");
|
||||
}
|
||||
g_list_free (list);
|
||||
|
||||
if (!found)
|
||||
g_signal_emit_by_name (key, "pressed", priv->keyboard);
|
||||
if (!found) {
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "emit EekKey pressed");
|
||||
g_signal_emit_by_name (key, "pressed");
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -281,8 +286,10 @@ eek_gtk_keyboard_real_unmap (GtkWidget *self)
|
||||
EekKeyboard::key-released signal can remove elements from its
|
||||
internal copy */
|
||||
list = eek_keyboard_get_pressed_keys (priv->keyboard);
|
||||
for (head = list; head; head = g_list_next (head))
|
||||
g_signal_emit_by_name (head->data, "released", priv->keyboard);
|
||||
for (head = list; head; head = g_list_next (head)) {
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "emit EekKey released");
|
||||
g_signal_emit_by_name (head->data, "released");
|
||||
}
|
||||
g_list_free (list);
|
||||
}
|
||||
|
||||
@ -399,6 +406,7 @@ eek_gtk_keyboard_dispose (GObject *object)
|
||||
|
||||
list = eek_keyboard_get_pressed_keys (priv->keyboard);
|
||||
for (head = list; head; head = g_list_next (head)) {
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "emit EekKey pressed");
|
||||
g_signal_emit_by_name (head->data, "released", priv->keyboard);
|
||||
}
|
||||
g_list_free (list);
|
||||
|
||||
@ -43,6 +43,9 @@ typedef struct _EekKeyPrivate EekKeyPrivate;
|
||||
/**
|
||||
* EekKey:
|
||||
*
|
||||
* Contains information about the state of a key.
|
||||
* TODO: rewrite as a plain struct
|
||||
*
|
||||
* The #EekKey structure contains only private data and should only be
|
||||
* accessed using the provided API.
|
||||
*/
|
||||
|
||||
@ -91,12 +91,18 @@ eek_modifier_key_free (EekModifierKey *modkey)
|
||||
g_slice_free (EekModifierKey, modkey);
|
||||
}
|
||||
|
||||
void eek_keyboard_press_key(EekKeyboard *keyboard, EekKey *key) {
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "emit EekKeyboard key-pressed");
|
||||
g_signal_emit (keyboard, signals[KEY_PRESSED], 0, key);
|
||||
}
|
||||
|
||||
static void
|
||||
on_key_pressed (EekSection *section,
|
||||
EekKey *key,
|
||||
EekKeyboard *keyboard)
|
||||
{
|
||||
g_signal_emit (keyboard, signals[KEY_PRESSED], 0, key);
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "DO NOT emit EekKeyboard key-pressed");
|
||||
//g_signal_emit (keyboard, signals[KEY_PRESSED], 0, key);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -104,6 +110,7 @@ on_key_released (EekSection *section,
|
||||
EekKey *key,
|
||||
EekKeyboard *keyboard)
|
||||
{
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "emit EekKeyboard key-released");
|
||||
g_signal_emit (keyboard, signals[KEY_RELEASED], 0, key);
|
||||
}
|
||||
|
||||
|
||||
@ -188,5 +188,7 @@ EekModifierKey *eek_modifier_key_copy
|
||||
void eek_modifier_key_free
|
||||
(EekModifierKey *modkey);
|
||||
|
||||
void eek_keyboard_press_key(EekKeyboard *keyboard, EekKey *key);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* EEK_KEYBOARD_H */
|
||||
|
||||
@ -118,6 +118,7 @@ static void
|
||||
on_pressed (EekKey *key,
|
||||
EekSection *section)
|
||||
{
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "emit EekSection key-pressed");
|
||||
g_signal_emit (section, signals[KEY_PRESSED], 0, key);
|
||||
}
|
||||
|
||||
@ -125,6 +126,7 @@ static void
|
||||
on_released (EekKey *key,
|
||||
EekSection *section)
|
||||
{
|
||||
g_log("squeek", G_LOG_LEVEL_DEBUG, "emit EekSection key-released");
|
||||
g_signal_emit (section, signals[KEY_RELEASED], 0, key);
|
||||
}
|
||||
|
||||
@ -365,7 +367,9 @@ eek_section_class_init (EekSectionClass *klass)
|
||||
g_signal_new (I_("key-pressed"),
|
||||
G_TYPE_FROM_CLASS(gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET(EekSectionClass, key_pressed),
|
||||
// FIXME: this handler seems to be unnecessary complexity. Either remove or justify
|
||||
// G_STRUCT_OFFSET(EekSectionClass, key_pressed),
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
g_cclosure_marshal_VOID__OBJECT,
|
||||
|
||||
Reference in New Issue
Block a user