1*53ee8cc1Swenshuai.xi #ifndef __HID_H 2*53ee8cc1Swenshuai.xi #define __HID_H 3*53ee8cc1Swenshuai.xi 4*53ee8cc1Swenshuai.xi /* 5*53ee8cc1Swenshuai.xi * Copyright (c) 1999 Andreas Gal 6*53ee8cc1Swenshuai.xi * Copyright (c) 2000-2001 Vojtech Pavlik 7*53ee8cc1Swenshuai.xi * Copyright (c) 2006-2007 Jiri Kosina 8*53ee8cc1Swenshuai.xi */ 9*53ee8cc1Swenshuai.xi 10*53ee8cc1Swenshuai.xi /* 11*53ee8cc1Swenshuai.xi * This program is free software; you can redistribute it and/or modify 12*53ee8cc1Swenshuai.xi * it under the terms of the GNU General Public License as published by 13*53ee8cc1Swenshuai.xi * the Free Software Foundation; either version 2 of the License, or 14*53ee8cc1Swenshuai.xi * (at your option) any later version. 15*53ee8cc1Swenshuai.xi * 16*53ee8cc1Swenshuai.xi * This program is distributed in the hope that it will be useful, 17*53ee8cc1Swenshuai.xi * but WITHOUT ANY WARRANTY; without even the implied warranty of 18*53ee8cc1Swenshuai.xi * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19*53ee8cc1Swenshuai.xi * GNU General Public License for more details. 20*53ee8cc1Swenshuai.xi * 21*53ee8cc1Swenshuai.xi * You should have received a copy of the GNU General Public License 22*53ee8cc1Swenshuai.xi * along with this program; if not, write to the Free Software 23*53ee8cc1Swenshuai.xi * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24*53ee8cc1Swenshuai.xi * 25*53ee8cc1Swenshuai.xi * Should you need to contact me, the author, you can do so either by 26*53ee8cc1Swenshuai.xi * e-mail - mail your message to <vojtech@ucw.cz>, or by paper mail: 27*53ee8cc1Swenshuai.xi * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic 28*53ee8cc1Swenshuai.xi */ 29*53ee8cc1Swenshuai.xi 30*53ee8cc1Swenshuai.xi /* 31*53ee8cc1Swenshuai.xi * USB HID (Human Interface Device) interface class code 32*53ee8cc1Swenshuai.xi */ 33*53ee8cc1Swenshuai.xi 34*53ee8cc1Swenshuai.xi #define USB_INTERFACE_CLASS_HID 3 35*53ee8cc1Swenshuai.xi 36*53ee8cc1Swenshuai.xi /* 37*53ee8cc1Swenshuai.xi * USB HID interface subclass and protocol codes 38*53ee8cc1Swenshuai.xi */ 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xi #define USB_INTERFACE_SUBCLASS_BOOT 1 41*53ee8cc1Swenshuai.xi #define USB_INTERFACE_PROTOCOL_KEYBOARD 1 42*53ee8cc1Swenshuai.xi #define USB_INTERFACE_PROTOCOL_MOUSE 2 43*53ee8cc1Swenshuai.xi 44*53ee8cc1Swenshuai.xi /* 45*53ee8cc1Swenshuai.xi * HID class requests 46*53ee8cc1Swenshuai.xi */ 47*53ee8cc1Swenshuai.xi 48*53ee8cc1Swenshuai.xi #define HID_REQ_GET_REPORT 0x01 49*53ee8cc1Swenshuai.xi #define HID_REQ_GET_IDLE 0x02 50*53ee8cc1Swenshuai.xi #define HID_REQ_GET_PROTOCOL 0x03 51*53ee8cc1Swenshuai.xi #define HID_REQ_SET_REPORT 0x09 52*53ee8cc1Swenshuai.xi #define HID_REQ_SET_IDLE 0x0A 53*53ee8cc1Swenshuai.xi #define HID_REQ_SET_PROTOCOL 0x0B 54*53ee8cc1Swenshuai.xi 55*53ee8cc1Swenshuai.xi /* 56*53ee8cc1Swenshuai.xi * HID class descriptor types 57*53ee8cc1Swenshuai.xi */ 58*53ee8cc1Swenshuai.xi 59*53ee8cc1Swenshuai.xi #define HID_DT_HID (USB_TYPE_CLASS | 0x01) 60*53ee8cc1Swenshuai.xi #define HID_DT_REPORT (USB_TYPE_CLASS | 0x02) 61*53ee8cc1Swenshuai.xi #define HID_DT_PHYSICAL (USB_TYPE_CLASS | 0x03) 62*53ee8cc1Swenshuai.xi 63*53ee8cc1Swenshuai.xi #define HID_MAX_DESCRIPTOR_SIZE 4096 64*53ee8cc1Swenshuai.xi 65*53ee8cc1Swenshuai.xi #endif 66*53ee8cc1Swenshuai.xi 67