82 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */2/*3 * Copyright (c) 1999 Andreas Gal4 * Copyright (c) 2000-2001 Vojtech Pavlik5 * Copyright (c) 2006-2007 Jiri Kosina6 */7/*8 * This program is free software; you can redistribute it and/or modify9 * it under the terms of the GNU General Public License as published by10 * the Free Software Foundation; either version 2 of the License, or11 * (at your option) any later version.12 *13 * This program is distributed in the hope that it will be useful,14 * but WITHOUT ANY WARRANTY; without even the implied warranty of15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the16 * GNU General Public License for more details.17 *18 * You should have received a copy of the GNU General Public License19 * along with this program; if not, write to the Free Software20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA21 *22 * Should you need to contact me, the author, you can do so either by23 * e-mail - mail your message to <vojtech@ucw.cz>, or by paper mail:24 * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic25 */26#ifndef _UAPI__HID_H27#define _UAPI__HID_H28 29 30 31/*32 * USB HID (Human Interface Device) interface class code33 */34 35#define USB_INTERFACE_CLASS_HID 336 37/*38 * USB HID interface subclass and protocol codes39 */40 41#define USB_INTERFACE_SUBCLASS_BOOT 142#define USB_INTERFACE_PROTOCOL_KEYBOARD 143#define USB_INTERFACE_PROTOCOL_MOUSE 244 45/*46 * HID report types --- Ouch! HID spec says 1 2 3!47 */48 49enum hid_report_type {50 HID_INPUT_REPORT = 0,51 HID_OUTPUT_REPORT = 1,52 HID_FEATURE_REPORT = 2,53 54 HID_REPORT_TYPES,55};56 57/*58 * HID class requests59 */60 61enum hid_class_request {62 HID_REQ_GET_REPORT = 0x01,63 HID_REQ_GET_IDLE = 0x02,64 HID_REQ_GET_PROTOCOL = 0x03,65 HID_REQ_SET_REPORT = 0x09,66 HID_REQ_SET_IDLE = 0x0A,67 HID_REQ_SET_PROTOCOL = 0x0B,68};69 70/*71 * HID class descriptor types72 */73 74#define HID_DT_HID (USB_TYPE_CLASS | 0x01)75#define HID_DT_REPORT (USB_TYPE_CLASS | 0x02)76#define HID_DT_PHYSICAL (USB_TYPE_CLASS | 0x03)77 78#define HID_MAX_DESCRIPTOR_SIZE 409679 80 81#endif /* _UAPI__HID_H */82