コード例 #1
0
ファイル: mouse.c プロジェクト: hanguangyi/egui
si_t mouse_init(struct input_device * self, char * mouse_device_path, si_t double_click_delay)
{
    si_t fd;

    if((fd = open(mouse_device_path, O_RDONLY)) < 0)
    {
		EGUI_PRINT_SYS_ERROR("failed to open mouse device: open()");
        return -1;
    }

    uds_init_from_naked_socket(&self->uds, fd);
	self->deal_with_input = deal_with_mouse;
	self->input_exit = mouse_exit;

	mouse_double_click_delay = double_click_delay;

    return 0;
}
コード例 #2
0
ファイル: keybd.c プロジェクト: Zhangtongjian/egui
si_t keybd_init(struct input_device * self, char * keybd_device_path)
{
    si_t fd;

    fd = open(keybd_device_path, O_RDONLY);

    if(fd < 0)
    {
		EGUI_PRINT_SYS_ERROR("failed to open keybd device: open()");
        return -1;
    }

    /* TODO:是否检查指针合法性? */
    uds_init_from_naked_socket(&self->uds, fd);
	self->deal_with_input = deal_with_keybd;
	self->input_exit = keybd_exit;

    return 0;
}
コード例 #3
0
ファイル: test_client.c プロジェクト: FangKuangKuang/egui
int main(void)
{
	struct event_listener client_listener;
	struct egui_uds client_uds;
	struct egui_uds stdin_uds;

	event_listener_init(&client_listener);

	/**
	 * 初始化客户端通信句柄并将其对应的回调函数设置为server_message_handler
	 **/
	if(0 != uds_init(&client_uds, SOCK_STREAM, SERVER_PATH, PEER_ROLE_CLIENT))
	{
		EGUI_PRINT_ERROR("Failed to init server uds");
		return -1;
	}
	event_listener_add_read_event(&client_listener, &client_uds, NULL, server_message_handler, NULL);

	/**
	 * 初始化标准输入通信句柄并将对应的回调函数设置为command_handler
	 **/
	uds_init_from_naked_socket(&stdin_uds, STDIN_FILENO);
	event_listener_add_read_event(&client_listener, &stdin_uds, &client_uds, command_handler, NULL);

	/** 打印帮助信息 **/
	EGUI_PRINT_INFO(help_str);

	if(0 != event_listener_exec(&client_listener))
	{
		EGUI_PRINT_ERROR("failed to execute event_listener");
		return -1;
	}

	event_listener_exit(&client_listener);

	return 0;
}