lomoco_logitech.h
Go to the documentation of this file.00001 /* 00002 * logitech - Logitech Mouse Control for Linux 00003 * 00004 * Copyright (c) 2007 by Andreas Schneider <mail@cynapses.org> 00005 * 00006 * This program is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU General Public License 00008 * as published by the Free Software Foundation; either version 2 00009 * of the License, or (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software Foundation, 00018 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 * 00020 * vim: ts=2 sw=2 et cindent 00021 */ 00022 00023 #ifndef _LOMOCO_LOGITECH_H 00024 #define _LOMOCO_LOGITECH_H 00025 00026 #include "lomoco.h" 00027 00028 enum { 00029 LOGITECH_CORDED_MOUSE, 00030 #define LOGITECH_CORDED_MOUSE LOGITECH_CORDED_MOUSE 00031 LOGITECH_CORDLESS_MOUSE, 00032 #define LOGITECH_CORDLESS_MOUSE LOGITECH_CORDLESS_MOUSE 00033 LOGITECH_RECEIVER 00034 }; 00035 00036 /** 00037 * @struct logitech_mouse_s 00038 * 00039 * Used to store the information about the features of a cordless mouse. 00040 */ 00041 00042 /** 00043 * @typedef logitech_mouse_t 00044 * Creates a type name for logitech_mouse_s 00045 */ 00046 typedef struct logitech_device_s { 00047 /** Name of the mouse */ 00048 char name[128]; 00049 /** Product ID */ 00050 int pid; 00051 /** Device type */ 00052 int type; 00053 /** Receiver id of the mouse */ 00054 int rid; 00055 /** Receiver id of the mouse on 2nd channel */ 00056 int rid2; 00057 /** Maximum resolution */ 00058 int max_res; 00059 /** Minimum resolution */ 00060 int min_res; 00061 /** Resolution step */ 00062 int step; 00063 /** Smart control reporting */ 00064 int ssr; 00065 /** Smart control support */ 00066 int sms; 00067 /** Free Spin control */ 00068 int fsp; 00069 /** Click-to-Click control */ 00070 int ctc; 00071 /** Has a second hiddev */ 00072 int hiddev; 00073 /** Dual receiver */ 00074 int dual; 00075 } logitech_device_t; 00076 00077 /** 00078 * @brief Check if the the attached Logitech device is supported. 00079 * 00080 * @param base The initialized base structure. 00081 * @param pid The product id of the attached device we are looking for. 00082 * 00083 * @return The supported device. 00084 */ 00085 lomoco_device_t *lomoco_get_logitech_usb_device(lomoco_base_t *base, int pid); 00086 00087 /** 00088 * @brief Check if the the attached Logitech hid device is supported. 00089 * 00090 * @param base The initialized base structure. 00091 * @param pid The product id of the attached device we are looking for. 00092 * 00093 * @return The supported device. 00094 */ 00095 lomoco_device_t *lomoco_get_logitech_hid_device(lomoco_base_t *base, int pid); 00096 00097 #endif /* _LOMOCO_LOGITECH_H */ 00098