Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
0002 /*
0003  *  Copyright (c) 1999 Andreas Gal
0004  *  Copyright (c) 2000-2001 Vojtech Pavlik
0005  *  Copyright (c) 2006-2007 Jiri Kosina
0006  */
0007 /*
0008  * This program is free software; you can redistribute it and/or modify
0009  * it under the terms of the GNU General Public License as published by
0010  * the Free Software Foundation; either version 2 of the License, or
0011  * (at your option) any later version.
0012  *
0013  * This program is distributed in the hope that it will be useful,
0014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0016  * GNU General Public License for more details.
0017  *
0018  * You should have received a copy of the GNU General Public License
0019  * along with this program; if not, write to the Free Software
0020  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
0021  *
0022  * Should you need to contact me, the author, you can do so either by
0023  * e-mail - mail your message to <vojtech@ucw.cz>, or by paper mail:
0024  * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic
0025  */
0026 #ifndef _UAPI__HID_H
0027 #define _UAPI__HID_H
0028 
0029 
0030 
0031 /*
0032  * USB HID (Human Interface Device) interface class code
0033  */
0034 
0035 #define USB_INTERFACE_CLASS_HID     3
0036 
0037 /*
0038  * USB HID interface subclass and protocol codes
0039  */
0040 
0041 #define USB_INTERFACE_SUBCLASS_BOOT 1
0042 #define USB_INTERFACE_PROTOCOL_KEYBOARD 1
0043 #define USB_INTERFACE_PROTOCOL_MOUSE    2
0044 
0045 /*
0046  * HID class requests
0047  */
0048 
0049 #define HID_REQ_GET_REPORT      0x01
0050 #define HID_REQ_GET_IDLE        0x02
0051 #define HID_REQ_GET_PROTOCOL        0x03
0052 #define HID_REQ_SET_REPORT      0x09
0053 #define HID_REQ_SET_IDLE        0x0A
0054 #define HID_REQ_SET_PROTOCOL        0x0B
0055 
0056 /*
0057  * HID class descriptor types
0058  */
0059 
0060 #define HID_DT_HID          (USB_TYPE_CLASS | 0x01)
0061 #define HID_DT_REPORT           (USB_TYPE_CLASS | 0x02)
0062 #define HID_DT_PHYSICAL         (USB_TYPE_CLASS | 0x03)
0063 
0064 #define HID_MAX_DESCRIPTOR_SIZE     4096
0065 
0066 
0067 #endif /* _UAPI__HID_H */