1/*
2 *
3 * @APPLE_LICENSE_HEADER_START@
4 *
5 * Copyright (c) 1999-2009 Apple Computer, Inc.  All Rights Reserved.
6 *
7 * This file contains Original Code and/or Modifications of Original Code
8 * as defined in and that are subject to the Apple Public Source License
9 * Version 2.0 (the 'License'). You may not use this file except in
10 * compliance with the License. Please obtain a copy of the License at
11 * http://www.opensource.apple.com/apsl/ and read it before using this
12 * file.
13 *
14 * The Original Code and all software distributed under the License are
15 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
19 * Please see the License for the specific language governing rights and
20 * limitations under the License.
21 *
22 * @APPLE_LICENSE_HEADER_END@
23 */
24
25#ifndef _IOKIT_HID_IOHIDPRIVATEKEYS_H_
26#define _IOKIT_HID_IOHIDPRIVATEKEYS_H_
27
28#include <sys/cdefs.h>
29#include <IOKit/hid/IOHIDKeys.h>
30
31__BEGIN_DECLS
32
33/*!
34    @defined HID Device Property Keys
35    @abstract Keys that represent properties of a paticular device.
36    @discussion Keys that represent properties of a paticular element.  Can be added
37        to your matching dictionary when refining searches for HID devices.
38*/
39#define kIOHIDInputReportElementsKey        "InputReportElements"
40
41#define kIOHIDReportModeKey                 "ReportMode"
42
43typedef enum {
44    kIOHIDReportModeTypeNormal      = 0,
45    kIOHIDReportModeTypeFiltered
46} IOHIDReportModeType;
47
48
49/*!
50    @defined kIOHIDLogLevelKey
51    @abstract Level of detailed logging generated by device driver.
52    @discussion The values should match level used in syslog and asl.
53*/
54
55#define kIOHIDLogLevelKey                   "LogLevel"
56
57typedef enum {
58     kIOHIDLogLevelTypeEmergency = 0,
59     kIOHIDLogLevelTypeAlert,
60     kIOHIDLogLevelTypeCritical,
61     kIOHIDLogLevelTypeError,
62     kIOHIDLogLevelTypeWarning,
63     kIOHIDLogLevelTypeNotice,
64     kIOHIDLogLevelTypeInfo,
65     kIOHIDLogLevelTypeDebug
66} IOHIDLogLevelType;
67
68/*!
69    @defined HID Element Dictionary Keys
70    @abstract Keys that represent properties of a particular elements.
71    @discussion These keys can also be added to a matching dictionary
72        when searching for elements via copyMatchingElements.
73*/
74#define kIOHIDElementCollectionCookieKey    "CollectionCookie"
75
76#define kIOHIDKeyboardCapsLockDelay         "CapsLockDelay"
77#define kIOHIDKeyboardCapsLockDelayOverride "CapsLockDelayOverride"
78#define kIOHIDKeyboardEjectDelay            "EjectDelay"
79
80#define kIOHIDAbsoluteAxisBoundsRemovalPercentage   "AbsoluteAxisBoundsRemovalPercentage"
81
82#define kIOHIDEventServiceQueueSize         "QueueSize"
83#define kIOHIDAltSenderIdKey                "alt_sender_id"
84
85#define kIOHIDAppleVendorSupported          "AppleVendorSupported"
86
87#define kIOHIDSetButtonPropertiesKey        "SetButtonProperties"
88#define kIOHIDSetButtonPriorityKey          "SetButtonPriority"
89#define kIOHIDSetButtonDelayKey             "SetButtonDelay"
90
91__END_DECLS
92
93#endif /* !_IOKIT_HID_IOHIDPRIVATEKEYS_H_ */
94