/* Copyright 2011 Jun Wako This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef MOUSEKEY_H #define MOUSEKEY_H #endif #include #include "host.h" #ifndef MK_3_SPEED /* max value on report descriptor */ #ifndef MOUSEKEY_MOVE_MAX #define MOUSEKEY_MOVE_MAX 127 #elif MOUSEKEY_MOVE_MAX > 127 #error MOUSEKEY_MOVE_MAX needs to be smaller than 127 #endif #ifndef MOUSEKEY_WHEEL_MAX #define MOUSEKEY_WHEEL_MAX 127 #elif MOUSEKEY_WHEEL_MAX > 127 #error MOUSEKEY_WHEEL_MAX needs to be smaller than 127 #endif #ifndef MOUSEKEY_MOVE_DELTA #define MOUSEKEY_MOVE_DELTA 5 #endif #ifndef MOUSEKEY_WHEEL_DELTA #define MOUSEKEY_WHEEL_DELTA 1 #endif #ifndef MOUSEKEY_DELAY #define MOUSEKEY_DELAY 300 #endif #ifndef MOUSEKEY_INTERVAL #define MOUSEKEY_INTERVAL 50 #endif #ifndef MOUSEKEY_MAX_SPEED #define MOUSEKEY_MAX_SPEED 10 #endif #ifndef MOUSEKEY_TIME_TO_MAX #define MOUSEKEY_TIME_TO_MAX 20 #endif #ifndef MOUSEKEY_WHEEL_MAX_SPEED #define MOUSEKEY_WHEEL_MAX_SPEED 8 #endif #ifndef MOUSEKEY_WHEEL_TIME_TO_MAX #define MOUSEKEY_WHEEL_TIME_TO_MAX 40 #endif #else /* #ifndef MK_3_SPEED */ #ifndef MK_C_OFFSET_UNMOD #define MK_C_OFFSET_UNMOD 16 #endif #ifndef MK_C_INTERVAL_UNMOD #define MK_C_INTERVAL_UNMOD 16 #endif #ifndef MK_C_OFFSET_0 #define MK_C_OFFSET_0 1 #endif #ifndef MK_C_INTERVAL_0 #define MK_C_INTERVAL_0 32 #endif #ifndef MK_C_OFFSET_1 #define MK_C_OFFSET_1 4 #endif #ifndef MK_C_INTERVAL_1 #define MK_C_INTERVAL_1 16 #endif #ifndef MK_C_OFFSET_2 #define MK_C_OFFSET_2 32 #endif #ifndef MK_C_INTERVAL_2 #define MK_C_INTERVAL_2 16 #endif #ifndef MK_W_OFFSET_UNMOD #define MK_W_OFFSET_UNMOD 1 #endif #ifndef MK_W_INTERVAL_UNMOD #define MK_W_INTERVAL_UNMOD 40 #endif #ifndef MK_W_OFFSET_0 #define MK_W_OFFSET_0 1 #endif #ifndef MK_W_INTERVAL_0 #define MK_W_INTERVAL_0 360 #endif #ifndef MK_W_OFFSET_1 #define MK_W_OFFSET_1 1 #endif #ifndef MK_W_INTERVAL_1 #define MK_W_INTERVAL_1 120 #endif #ifndef MK_W_OFFSET_2 #define MK_W_OFFSET_2 1 #endif #ifndef MK_W_INTERVAL_2 #define MK_W_INTERVAL_2 20 #endif #endif /* #ifndef MK_3_SPEED */ #ifdef __cplusplus extern "C" { #endif extern uint8_t mk_delay; extern uint8_t mk_interval; extern uint8_t mk_max_speed; extern uint8_t mk_time_to_max; extern uint8_t mk_wheel_max_speed; extern uint8_t mk_wheel_time_to_max; void mousekey_task(void); void mousekey_on(uint8_t code); void mousekey_off(uint8_t code); void mousekey_clear(void); void mousekey_send(void); #ifdef __cplusplus } #endif