|
@@ -17,12 +17,23 @@ void print_infof(ohmd_device* hmd, const char* name, int len, ohmd_float_value v
|
|
{
|
|
{
|
|
float f[len];
|
|
float f[len];
|
|
ohmd_device_getf(hmd, val, f);
|
|
ohmd_device_getf(hmd, val, f);
|
|
- printf("%-20s", name);
|
|
|
|
|
|
+ printf("%-25s", name);
|
|
for(int i = 0; i < len; i++)
|
|
for(int i = 0; i < len; i++)
|
|
printf("%f ", f[i]);
|
|
printf("%f ", f[i]);
|
|
printf("\n");
|
|
printf("\n");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// gets int values from the device and prints them
|
|
|
|
+void print_infoi(ohmd_device* hmd, const char* name, int len, ohmd_int_value val)
|
|
|
|
+{
|
|
|
|
+ int iv[len];
|
|
|
|
+ ohmd_device_geti(hmd, val, iv);
|
|
|
|
+ printf("%-25s", name);
|
|
|
|
+ for(int i = 0; i < len; i++)
|
|
|
|
+ printf("%d ", iv[i]);
|
|
|
|
+ printf("\n");
|
|
|
|
+}
|
|
|
|
+
|
|
int main(int argc, char** argv)
|
|
int main(int argc, char** argv)
|
|
{
|
|
{
|
|
ohmd_context* ctx = ohmd_ctx_create();
|
|
ohmd_context* ctx = ohmd_ctx_create();
|
|
@@ -56,7 +67,7 @@ int main(int argc, char** argv)
|
|
int ivals[2];
|
|
int ivals[2];
|
|
ohmd_device_geti(hmd, OHMD_SCREEN_HORIZONTAL_RESOLUTION, ivals);
|
|
ohmd_device_geti(hmd, OHMD_SCREEN_HORIZONTAL_RESOLUTION, ivals);
|
|
ohmd_device_geti(hmd, OHMD_SCREEN_VERTICAL_RESOLUTION, ivals + 1);
|
|
ohmd_device_geti(hmd, OHMD_SCREEN_VERTICAL_RESOLUTION, ivals + 1);
|
|
- printf("resolution: %i x %i\n", ivals[0], ivals[1]);
|
|
|
|
|
|
+ printf("resolution: %i x %i\n", ivals[0], ivals[1]);
|
|
|
|
|
|
print_infof(hmd, "hsize:", 1, OHMD_SCREEN_HORIZONTAL_SIZE);
|
|
print_infof(hmd, "hsize:", 1, OHMD_SCREEN_HORIZONTAL_SIZE);
|
|
print_infof(hmd, "vsize:", 1, OHMD_SCREEN_VERTICAL_SIZE);
|
|
print_infof(hmd, "vsize:", 1, OHMD_SCREEN_VERTICAL_SIZE);
|
|
@@ -67,6 +78,8 @@ int main(int argc, char** argv)
|
|
print_infof(hmd, "left eye aspect:", 1, OHMD_LEFT_EYE_ASPECT_RATIO);
|
|
print_infof(hmd, "left eye aspect:", 1, OHMD_LEFT_EYE_ASPECT_RATIO);
|
|
print_infof(hmd, "right eye aspect:", 1, OHMD_RIGHT_EYE_ASPECT_RATIO);
|
|
print_infof(hmd, "right eye aspect:", 1, OHMD_RIGHT_EYE_ASPECT_RATIO);
|
|
print_infof(hmd, "distortion k:", 6, OHMD_DISTORTION_K);
|
|
print_infof(hmd, "distortion k:", 6, OHMD_DISTORTION_K);
|
|
|
|
+
|
|
|
|
+ print_infoi(hmd, "digital button count:", 1, OHMD_BUTTON_COUNT);
|
|
|
|
|
|
printf("\n");
|
|
printf("\n");
|
|
|
|
|
|
@@ -79,6 +92,18 @@ int main(int argc, char** argv)
|
|
ohmd_device_setf(hmd, OHMD_POSITION_VECTOR, zero);
|
|
ohmd_device_setf(hmd, OHMD_POSITION_VECTOR, zero);
|
|
|
|
|
|
print_infof(hmd, "rotation quat:", 4, OHMD_ROTATION_QUAT);
|
|
print_infof(hmd, "rotation quat:", 4, OHMD_ROTATION_QUAT);
|
|
|
|
+ print_infoi(hmd, "button event count:", 1, OHMD_BUTTON_EVENT_COUNT);
|
|
|
|
+
|
|
|
|
+ int event_count = 0;
|
|
|
|
+
|
|
|
|
+ ohmd_device_geti(hmd, OHMD_BUTTON_EVENT_COUNT, &event_count);
|
|
|
|
+
|
|
|
|
+ for(int i = 0; i < event_count; i++){
|
|
|
|
+ int event[2] = {0, 0};
|
|
|
|
+ ohmd_device_geti(hmd, OHMD_BUTTON_POP_EVENT, event);
|
|
|
|
+ printf("button %d: %s", event[0], event[1] == OHMD_BUTTON_DOWN ? "down" : "up");
|
|
|
|
+ }
|
|
|
|
+
|
|
ohmd_sleep(.01);
|
|
ohmd_sleep(.01);
|
|
}
|
|
}
|
|
|
|
|