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