Пример #1
0
// note, slow linear search every time
int levent_post_to_ui_by_name(const char *name)
{
	unsigned id=levent_id_for_name(name);
	if(id) {
		PostLogicalEventToUI(id,0);
		return 1;
	}
	return 0;
}
Пример #2
0
int UnlockMF(void)
{
  if (!camera_info.state.mode_play) {
     int mf_lock;
     get_property_case(PROPCASE_FOCUS_MODE,&mf_lock,sizeof(mf_lock));
     if( mf_lock == 1 ) PostLogicalEventForNotPowerType(levent_id_for_name("PressSw1AndMF"),0);
     return(1);
  }
  return(0);
}
Пример #3
0
void kbd_key_release(long key)
{
#ifdef KBD_SIMULATE_VIDEO_KEY
    if (key == KEY_VIDEO && is_video_key_pressed)
    {
        PostLogicalEventToUI(levent_id_for_name("UnpressMovieButton"),0);
        is_video_key_pressed = 0;
        return;
    }
#endif
    int i;
    for (i=0;keymap[i].hackkey;i++){
        if (keymap[i].hackkey == key){
            kbd_mod_state[keymap[i].grp] |= keymap[i].canonkey;
            return;
        }
    }
}
Пример #4
0
// get the string or number passed in index and return it as an event id
static unsigned levent_id_from_lua_arg( lua_State* L, int index)
{
    unsigned event_id;
    if (lua_type(L, index) == LUA_TSTRING) {
        const char *ev_name = lua_tostring(L, index);
        event_id = levent_id_for_name(ev_name);
        if (event_id == 0) {
            return luaL_error( L, "bad event name '%s'", ev_name );
        }
    }
    // could check here if it is in the table, but even valid ones can crash
    // so we avoid searching the table if given a number
    else if (lua_type(L,index) == LUA_TNUMBER) {
        event_id = lua_tonumber(L,index);
    }
    else {
        return luaL_error( L, "expected event name or id" );
    }
    return event_id;
}
Пример #5
0
void kbd_key_press(long key)
{
#ifdef KBD_SIMULATE_VIDEO_KEY
    if (key == KEY_VIDEO && !is_video_key_pressed)
    {
        // TODO define for ID would be more efficient
        PostLogicalEventToUI(levent_id_for_name("PressMovieButton"),0);
        is_video_key_pressed = 1;
        // TODO not clear if this should return, or set state too
        return;
    }    
#endif
    int i;
    for (i=0;keymap[i].hackkey;i++){
        if (keymap[i].hackkey == key){
            kbd_mod_state[keymap[i].grp] &= ~keymap[i].canonkey;
            return;
        }
    }
}