Ejemplo n.º 1
0
void loax_server_buttonup(loax_server_t* self, int id, int keycode,
                          double utime)
{
	assert(self);
	LOGD("debug id=%i, keycode=0x%X, utime=%lf", id, keycode, utime);

	int type = LOAX_EVENT_BUTTONUP;
	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &keycode, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &id, sizeof(int));
	net_socket_flush(self->socket_event);
}
Ejemplo n.º 2
0
void loax_server_keyup(loax_server_t* self, int keycode, int meta,
                       double utime)
{
	assert(self);
	LOGD("debug keycode=0x%X, meta=0x%X, utime=%lf", keycode, meta, utime);

	int type = LOAX_EVENT_KEYUP;
	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &keycode, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &meta, sizeof(int));
	net_socket_flush(self->socket_event);
}
Ejemplo n.º 3
0
void loax_server_touch(loax_server_t* self, int action, int count,
                       float* coord, double utime)
{
	assert(self);
	assert(coord);
	LOGD("debug action=%i, count=%i, x0=%0.1f, y0=%0.1f, x1=%0.1f, y1=%0.1f, utime=%lf",
	     action, count, coord[0], coord[1], coord[2], coord[3], utime);

	int type;
	if(action == LOAX_ANDROID_MOTION_ACTION_DOWN)
	{
		type = LOAX_EVENT_TOUCHDOWN;
	}
	else if(action == LOAX_ANDROID_MOTION_ACTION_UP)
	{
		type = LOAX_EVENT_TOUCHUP;
	}
	else if(action == LOAX_ANDROID_MOTION_ACTION_MOVE)
	{
		type = LOAX_EVENT_TOUCHMOVE;
	}
	else
	{
		// ignore depreciated actions
		return;
	}

	if(count < 1)
	{
		LOGW("invalid count=%i", count);
		return;
	}

	if(count > LOAX_EVENT_TOUCHMAX)
	{
		// silently clamp to the max touch events
		count = LOAX_EVENT_TOUCHMAX;
	}

	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &count, sizeof(int));

	int i;
	for(i = 0; i < count; ++i)
	{
		net_socket_sendall(self->socket_event, (const void*) &coord[2*i], sizeof(float));
		net_socket_sendall(self->socket_event, (const void*) &coord[2*i + 1], sizeof(float));
	}
	net_socket_flush(self->socket_event);
}
Ejemplo n.º 4
0
void loax_server_axismove(loax_server_t* self, int id, int axis,
                          float value, double utime)
{
	assert(self);
	LOGD("debug id=%i, axis=0x%X, value=%f, utime=%lf", id, axis, value, utime);

	int type = LOAX_EVENT_AXISMOVE;
	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &id, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &axis, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &value, sizeof(float));
	net_socket_flush(self->socket_event);
}
Ejemplo n.º 5
0
void loax_server_gyroscope(loax_server_t* self,
                           float ax, float ay, float az,
                           double utime)
{
	assert(self);
	LOGD("debug ax=%f, ay=%f, az=%f, utime=%lf", ax, ay, az, utime);

	int type = LOAX_EVENT_GYROSCOPE;
	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &ax, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &ay, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &az, sizeof(float));
	net_socket_flush(self->socket_event);
}
Ejemplo n.º 6
0
void loax_server_magnetometer(loax_server_t* self,
                              float mx, float my, float mz,
                              double utime)
{
	assert(self);
	LOGD("debug mx=%f, my=%f, mz=%f, utime=%lf", mx, my, mz, utime);

	int type = LOAX_EVENT_MAGNETOMETER;
	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &mx, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &my, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &mz, sizeof(float));
	net_socket_flush(self->socket_event);
}
Ejemplo n.º 7
0
void loax_server_resize(loax_server_t* self, int w, int h)
{
	assert(self);
	LOGI("%ix%i", w, h);

	self->w = w;
	self->h = h;

	int    type  = LOAX_EVENT_RESIZE;
	double utime = a3d_utime();
	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &w, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &h, sizeof(int));
	net_socket_flush(self->socket_event);
}
Ejemplo n.º 8
0
void loax_server_keydown(loax_server_t* self, int keycode, int meta,
                         double utime)
{
	assert(self);
	LOGD("debug keycode=0x%X, meta=0x%X, utime=%lf", keycode, meta, utime);

	// if shift/caps is pressed change the keycode
	keycode = loax_server_shiftkeycode(keycode, meta);

	int type = LOAX_EVENT_KEYDOWN;
	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &keycode, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &meta, sizeof(int));
	net_socket_flush(self->socket_event);
}
Ejemplo n.º 9
0
void loax_server_accelerometer(loax_server_t* self,
                               float ax, float ay, float az,
                               int rotation, double utime)
{
	assert(self);
	LOGD("debug ax=%f, ay=%f, az=%f", ax, ay, az);
	LOGD("debug rotation=%i, utime=%lf", rotation, utime);

	int type = LOAX_EVENT_ACCELEROMETER;
	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &ax, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &ay, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &az, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &rotation, sizeof(int));
	net_socket_flush(self->socket_event);
}
Ejemplo n.º 10
0
void loax_server_gps(loax_server_t* self,
                     double lat, double lon,
                     float accuracy, float altitude,
                     float speed, float bearing,
                     double utime)
{
	assert(self);
	LOGD("debug lat=%lf, lon=%lf", lat, lon);
	LOGD("debug accuracy=%f, altitude=%f, speed=%f, bearing=%f, utime=%lf",
	     accuracy, altitude, speed, bearing, utime);

	int type = LOAX_EVENT_GPS;
	net_socket_sendall(self->socket_event, (const void*) &type, sizeof(int));
	net_socket_sendall(self->socket_event, (const void*) &utime, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &lat, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &lon, sizeof(double));
	net_socket_sendall(self->socket_event, (const void*) &accuracy, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &altitude, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &speed, sizeof(float));
	net_socket_sendall(self->socket_event, (const void*) &bearing, sizeof(float));
	net_socket_flush(self->socket_event);
}