int main() { // Disable the logger. hook_set_logger_proc(&logger_proc); // Retrieves the keyboard auto repeat rate. long int repeat_rate = hook_get_auto_repeat_rate(); if (repeat_rate >= 0) { fprintf(stdout, "Auto Repeat Rate:\t%ld\n", repeat_rate); } else { fprintf(stderr, "Failed to aquire keyboard auto repeat rate!\n"); } // Retrieves the keyboard auto repeat delay. long int repeat_delay = hook_get_auto_repeat_delay(); if (repeat_delay >= 0) { fprintf(stdout, "Auto Repeat Delay:\t%ld\n", repeat_delay); } else { fprintf(stderr, "Failed to acquire keyboard auto repeat delay!\n"); } // Retrieves the mouse acceleration multiplier. long int acceleration_multiplier = hook_get_pointer_acceleration_multiplier(); if (acceleration_multiplier >= 0) { fprintf(stdout, "Mouse Acceleration Multiplier:\t%ld\n", acceleration_multiplier); } else { fprintf(stderr, "Failed to acquire mouse acceleration multiplier!\n"); } // Retrieves the mouse acceleration threshold. long int acceleration_threshold = hook_get_pointer_acceleration_threshold(); if (acceleration_threshold >= 0) { fprintf(stdout, "Mouse Acceleration Threshold:\t%ld\n", acceleration_threshold); } else { fprintf(stderr, "Failed to acquire mouse acceleration threshold!\n"); } // Retrieves the mouse sensitivity. long int sensitivity = hook_get_pointer_sensitivity(); if (sensitivity >= 0) { fprintf(stdout, "Mouse Sensitivity:\t%ld\n", sensitivity); } else { fprintf(stderr, "Failed to acquire keyboard auto repeat rate!\n"); } // Retrieves the double/triple click interval. long int click_time = hook_get_multi_click_time(); if (click_time >= 0) { fprintf(stdout, "Multi-Click Time:\t%ld\n", click_time); } else { fprintf(stderr, "Failed to acquire keyboard auto repeat rate!\n"); } return EXIT_SUCCESS; }
static char * test_pointer_sensitivity() { long int i = hook_get_pointer_sensitivity(); fprintf(stdout, "Pointer sensitivity: %li\n", i); mu_assert("error, could not determine pointer sensitivity", i >= 0); return NULL; }
int main() { // Disable the logger. hook_set_logger_proc(&logger_proc); // Retrieves an array of screen data for each available monitor. uint8_t count = 0; screen_data *screens = hook_create_screen_info(&count); if (screens != NULL) { fprintf(stdout, "Found %d Monitors:\n", count); for (int i = 0; i < count; i++) { fprintf(stdout, "\tNumber:\t\t%d\n", screens[i].number); fprintf(stdout, "\tOffset X:\t%d\n", screens[i].x); fprintf(stdout, "\tOffset Y:\t%d\n", screens[i].y); fprintf(stdout, "\tWidth:\t\t%d\n", screens[i].width); fprintf(stdout, "\tHeight:\t\t%d\n", screens[i].height); fprintf(stdout, "\n"); } // You are responsible for freeing the memory returned by hook_create_screen_info. free(screens); } else { fprintf(stderr, "Failed to aquire screen information!\n"); } // Retrieves the keyboard auto repeat rate. long int repeat_rate = hook_get_auto_repeat_rate(); if (repeat_rate >= 0) { fprintf(stdout, "Auto Repeat Rate:\t%ld\n", repeat_rate); } else { fprintf(stderr, "Failed to aquire keyboard auto repeat rate!\n"); } // Retrieves the keyboard auto repeat delay. long int repeat_delay = hook_get_auto_repeat_delay(); if (repeat_delay >= 0) { fprintf(stdout, "Auto Repeat Delay:\t%ld\n", repeat_delay); } else { fprintf(stderr, "Failed to aquire keyboard auto repeat delay!\n"); } // Retrieves the mouse acceleration multiplier. long int acceleration_multiplier = hook_get_pointer_acceleration_multiplier(); if (acceleration_multiplier >= 0) { fprintf(stdout, "Mouse Acceleration Multiplier:\t%ld\n", acceleration_multiplier); } else { fprintf(stderr, "Failed to aquire mouse acceleration multiplier!\n"); } // Retrieves the mouse acceleration threshold. long int acceleration_threshold = hook_get_pointer_acceleration_threshold(); if (acceleration_threshold >= 0) { fprintf(stdout, "Mouse Acceleration Threshold:\t%ld\n", acceleration_threshold); } else { fprintf(stderr, "Failed to aquire mouse acceleration threshold!\n"); } // Retrieves the mouse sensitivity. long int sensitivity = hook_get_pointer_sensitivity(); if (sensitivity >= 0) { fprintf(stdout, "Mouse Sensitivity:\t%ld\n", sensitivity); } else { fprintf(stderr, "Failed to aquire keyboard auto repeat rate!\n"); } // Retrieves the double/triple click interval. long int click_time = hook_get_multi_click_time(); if (click_time >= 0) { fprintf(stdout, "Multi-Click Time:\t%ld\n", click_time); } else { fprintf(stderr, "Failed to aquire keyboard auto repeat rate!\n"); } return EXIT_SUCCESS; }
void jni_SetProperties(JNIEnv *env) { // Create a buffer for converting numbers to strings. char buffer[16]; // Set the native keyboard auto repeat rate. long rate = hook_get_auto_repeat_rate(); if (rate >= 0) { jni_Logger(LOG_LEVEL_DEBUG, "%s [%u]: hook_get_auto_repeat_rate(): successful. (%li)\n", __FUNCTION__, __LINE__, rate); if (snprintf(buffer, sizeof(buffer), "%li", rate) >= 0) { jstring name = (*env)->NewStringUTF(env, "jnativehook.autoRepeatRate"); jstring value = (*env)->NewStringUTF(env, buffer); (*env)->CallStaticObjectMethod( env, java_lang_System->cls, java_lang_System->setProperty, name, value); (*env)->DeleteLocalRef(env, name); (*env)->DeleteLocalRef(env, value); } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Failed to convert auto repeat rate to string!\n", __FUNCTION__, __LINE__); } } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Invalid result returned from hook_get_auto_repeat_rate()!\n", __FUNCTION__, __LINE__); } long delay = hook_get_auto_repeat_delay(); if (delay >= 0) { jni_Logger(LOG_LEVEL_DEBUG, "%s [%u]: hook_get_auto_repeat_delay(): successful. (%li)\n", __FUNCTION__, __LINE__, delay); if (snprintf(buffer, sizeof(buffer), "%li", delay) >= 0) { jstring name = (*env)->NewStringUTF(env, "jnativehook.autoRepeatDelay"); jstring value = (*env)->NewStringUTF(env, buffer); (*env)->CallStaticObjectMethod( env, java_lang_System->cls, java_lang_System->setProperty, name, value); (*env)->DeleteLocalRef(env, name); (*env)->DeleteLocalRef(env, value); } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Failed to convert auto repeat delay to string!\n", __FUNCTION__, __LINE__); } } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Invalid result returned from hook_get_auto_repeat_delay()!\n", __FUNCTION__, __LINE__); } // 0-Threshold X, 1-Threshold Y and 2-Speed. long multiplier = hook_get_pointer_acceleration_multiplier(); if (multiplier >= 0) { jni_Logger(LOG_LEVEL_DEBUG, "%s [%u]: hook_get_pointer_acceleration_multiplier(): successful. (%li)\n", __FUNCTION__, __LINE__, multiplier); if (snprintf(buffer, sizeof(buffer), "%li", multiplier) >= 0) { jstring name = (*env)->NewStringUTF(env, "jnativehook.pointerAccelerationMultiplier"); jstring value = (*env)->NewStringUTF(env, buffer); (*env)->CallStaticObjectMethod( env, java_lang_System->cls, java_lang_System->setProperty, name, value); (*env)->DeleteLocalRef(env, name); (*env)->DeleteLocalRef(env, value); } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Failed to convert pointer acceleration multiplier to string!\n", __FUNCTION__, __LINE__); } } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Invalid result returned from hook_get_pointer_acceleration_multiplier()!\n", __FUNCTION__, __LINE__); } // 0-Threshold X, 1-Threshold Y and 2-Speed. long threshold = hook_get_pointer_acceleration_threshold(); if (threshold >= 0) { jni_Logger(LOG_LEVEL_DEBUG, "%s [%u]: hook_get_pointer_acceleration_threshold(): successful. (%li)\n", __FUNCTION__, __LINE__, threshold); if (snprintf(buffer, sizeof(buffer), "%li", threshold) >= 0) { jstring name = (*env)->NewStringUTF(env, "jnativehook.pointerAccelerationThreshold"); jstring value = (*env)->NewStringUTF(env, buffer); (*env)->CallStaticObjectMethod( env, java_lang_System->cls, java_lang_System->setProperty, name, value); (*env)->DeleteLocalRef(env, name); (*env)->DeleteLocalRef(env, value); } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Failed to convert pointer acceleration threshold to string!\n", __FUNCTION__, __LINE__); } } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Invalid result returned from hook_get_pointer_acceleration_threshold()!\n", __FUNCTION__, __LINE__); } long sensitivity = hook_get_pointer_sensitivity(); if (sensitivity >= 0) { jni_Logger(LOG_LEVEL_DEBUG, "%s [%u]: hook_get_pointer_sensitivity(): successful. (%li)\n", __FUNCTION__, __LINE__, sensitivity); if (snprintf(buffer, sizeof(buffer), "%li", sensitivity) >= 0) { jstring name = (*env)->NewStringUTF(env, "jnativehook.pointerSensitivity"); jstring value = (*env)->NewStringUTF(env, buffer); (*env)->CallStaticObjectMethod( env, java_lang_System->cls, java_lang_System->setProperty, name, value); (*env)->DeleteLocalRef(env, name); (*env)->DeleteLocalRef(env, value); } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Failed to convert pointer sensitivity to string!\n", __FUNCTION__, __LINE__); } } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Invalid result returned from hook_get_pointer_sensitivity()!\n", __FUNCTION__, __LINE__); } long clicktime = hook_get_multi_click_time(); if (clicktime >= 0) { jni_Logger(LOG_LEVEL_DEBUG, "%s [%u]: hook_get_multi_click_time(): successful. (%li)\n", __FUNCTION__, __LINE__, clicktime); if (snprintf(buffer, sizeof(buffer), "%li", clicktime) >= 0) { jstring name = (*env)->NewStringUTF(env, "jnativehook.multiClickInterval"); jstring value = (*env)->NewStringUTF(env, buffer); (*env)->CallStaticObjectMethod( env, java_lang_System->cls, java_lang_System->setProperty, name, value); (*env)->DeleteLocalRef(env, name); (*env)->DeleteLocalRef(env, value); } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Failed to convert multi click time to string!\n", __FUNCTION__, __LINE__); } } else { jni_Logger(LOG_LEVEL_WARN, "%s [%u]: Invalid result returned from hook_get_multi_click_time()!\n", __FUNCTION__, __LINE__); } }