gcc_pure static unsigned key_to_event(InputEvents::Mode mode, InputEvents::Mode overlay_mode, unsigned key_code) { if (overlay_mode != InputEvents::MODE_DEFAULT) { unsigned event_id = key_to_event(overlay_mode, key_code); if (event_id > 0) return event_id; } return key_to_event(mode, key_code); }
bool InputEvents::ProcessKey(Mode mode, unsigned key_code) { if (IsAltair() && key_code == 0xF5) { UIActions::SignalShutdown(false); return true; } if (!global_running) return false; #ifdef KOBO #ifdef ENABLE_SDL if (key_code == SDLK_POWER) /* the Kobo power button opens the main menu */ key_code = KEY_MENU; #else // TODO: check the console key code #endif #endif // Which key - can be defined locally or at default (fall back to default) unsigned event_id = key_to_event(mode, overlay_mode, key_code); if (event_id == 0) return false; ProcessEvent(event_id); return true; }
gboolean key_release_cb (GtkWidget* window, GdkEventKey* event) { (void) window; if(event->type == GDK_KEY_RELEASE) key_to_event(event->keyval, event->state, event->is_modifier, GDK_KEY_RELEASE); return uzbl.behave.forward_keys ? FALSE : TRUE; }
gboolean key_press_cb (GtkWidget* window, GdkEventKey* event) { (void) window; if(event->type == GDK_KEY_PRESS) key_to_event(event->keyval, GDK_KEY_PRESS); return uzbl.behave.forward_keys ? FALSE : TRUE; }
bool InputEvents::ProcessKey(Mode mode, unsigned key_code) { if (IsAltair() && key_code == 0xF5) { XCSoarInterface::SignalShutdown(false); return true; } if (!globalRunningEvent.Test()) return false; // Which key - can be defined locally or at default (fall back to default) unsigned event_id = key_to_event(mode, overlay_mode, key_code); if (event_id == 0) return false; ProcessEvent(event_id); return true; }