void Keys_releaseAll( PressedKeys::Keys& keys, guint state ){ for ( PressedKeys::Keys::iterator i = keys.begin(); i != keys.end(); ++i ) { AcceleratorMap_activate( g_keyup_accelerators, accelerator_for_event_key( *i, state ) ); } keys.clear(); }
bool Keys_release(PressedKeys::Keys& keys, guint keyval) { if(keys.erase(keyval) != 0) { return AcceleratorMap_activate(g_keyup_accelerators, accelerator_for_event_key(keyval, 0)); } return g_keyup_accelerators.find(accelerator_for_event_key(keyval, 0)) != g_keyup_accelerators.end(); }
bool Keys_press(PressedKeys::Keys& keys, guint keyval) { if(keys.insert(keyval).second) { return AcceleratorMap_activate(g_keydown_accelerators, accelerator_for_event_key(keyval, 0)); } return g_keydown_accelerators.find(accelerator_for_event_key(keyval, 0)) != g_keydown_accelerators.end(); }
static gboolean accelerator_key_event( ui::Window window, GdkEventKey* event, AcceleratorMap* acceleratorMap ){ return AcceleratorMap_activate( *acceleratorMap, accelerator_for_event_key( event->keyval, event->state ) ); }