Beispiel #1
0
/*
  post_levent_*(event[,unk])
  post the event with PostLogicalEventToUI or PostLogicaEventForNotPowerType
  This sends the event. The difference between functions isn't clear.
  event is an event id (number) or name (string).
  unk is an optional number whose meaning is unknown, defaults to zero.
    Based on code, other values would probably be a pointer.
	This is NOT the 3rd item in the event table.
*/
static int luaCB_post_levent_to_ui( lua_State* L )
{
    unsigned event_id,arg;

    event_id = levent_id_from_lua_arg(L,1);
    arg = luaL_optnumber(L, 2, 0);
    PostLogicalEventToUI(event_id,arg);
    return 0;
}
Beispiel #2
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;
}
Beispiel #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;
        }
    }
}
Beispiel #4
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;
        }
    }
}