Summary: Background:

Similar documents
KNX manual High-performance switch actuators RM 4 H FIX1 RM 8 H FIX2

KNX manual 1-channel flush-mounted switch actuator SU 1

IEEE Broadband Wireless Access Working Group < Extended IE format for concurrent transmission of bursts

PGT313 Digital Communication Technology. Lab 3. Quadrature Phase Shift Keying (QPSK) and 8-Phase Shift Keying (8-PSK)

Valve Control Unit ValDi

Resubmitting Tiered Permitting

PROFINET USER S GUIDE ACSI Servo

Automate. Hardware: Software: 1. Somove Lite V (or latest version available) for drive configuration optional

SignalCalc Drop Test Demo Guide

E3 Adjustable Speed Drive Engineering Specification

ZT 20xx IOG SERIES. Quick Start 1 What s in the Shipping Package? ANT

IVI STEP TYPES. Contents

Know your energy. Modbus Register Map EB etactica Power Bar

ADAM-4022T Serial Base Dual Loops PID Controller User s Manual

LYNX CE CENTRAL CONTROL FOR NETWORK VP. General Specifications

Live Agent for Administrators

Peripheral Sensor Interface for Automotive Applications

SAP Dynamic Edge Processing IoT Edge Console - Administration Guide Version 2.0 FP01

Mesh Device Properties

DT 9818 Waveform-Generator. Hardware Trigger Version. Operating Manual. Version 2.0. May Page 1 of 21

David Grandblaise Voice: +33 (0) Motorola Fax: +33 (0)

Live Agent for Administrators

Vibration Transducer Calibration System

Korde Sequencer Operation Manual

Work Instruction. Submitting a Census Roster: Dropping Students and Recording Early Alerts

PSF-520 Instruction Manual

Quick Start: Radiator Control

User Manual Solenoid Controller BI-SC1001

LPR SETUP AND FIELD INSTALLATION GUIDE

Implementing VID Function with Platform Manager 2

MDT Switch Actuator/FanCoil

It s Logical! Technical Newsletter. Logic, the basics you need to know

Live Agent for Administrators

Advanced Tools for Graphical Authoring of Dynamic Virtual Environments at the NADS

Rocksmith PC Configuration and FAQ

Field Software Notice

User Manual. P6 Barcode Scanner. English

CANopen Programmer s Manual Part Number Version 1.0 October All rights reserved

Copyright 2014 YASKAWA ELECTRIC CORPORATION All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or

The IPT user can listen to BGM through the speaker when the station is idle. The sound source of BGM is shared with Music On Hold.

Oculus Rift Getting Started Guide

HCA Tech Note 102. Checkbox Control. Home Mode aka Green Mode

Mono/Fury. VST Software Synthesizer. Version by Björn Full Bucket Music

Using CME 2 with AccelNet

Tech Note #3: Setting up a Servo Axis For Closed Loop Position Control Application note by Tim McIntosh September 10, 2001

Square I User Manual

Windmill Village Homeowners Association

Oculus Rift Getting Started Guide

QWEST Communications International Inc. Technical Publication

RAZER CENTRAL ONLINE MASTER GUIDE

Kodiak Corporate Administration Tool

PowerFlex 400 AC Drive Guide Specification

DRG-Series. Digital Radio Gateway. Tait P25 CCDI Tier-2 (TM9400 Series Mobile Radio) Digital Radio Supplement

Built-in soft-start feature. Up-Slope and Down-Slope. Power-Up safe start feature. Motor will only start if pulse of 1.5ms is detected.

Insight VCS: Maya User s Guide

Kameleono. User Guide Ver 1.2.3

Agilent N5411A Serial ATA Electrical Performance Validation and Compliance Software Release Notes

Midi Fighter 3D. User Guide DJTECHTOOLS.COM. Ver 1.03

USB Multifunction Arbitrary Waveform Generator AWG2300. User Guide

inphoto ID PS Automatic ID photography With Canon PowerShot camera User Guide

Localized HD Haptics for Touch User Interfaces

WaveAce Integration with WaveStation

OWNERS MANUAL FOR STERLING SERIES CONTROLLERS

DUKANE. Frequency Tracking in iq Systems APPLICATION NOTE AN513. Intelligent Assembly Solutions

Smart Pump VMS2310-D. Smart Pump with DeviceNet Installation & Maintenance

ScopeMeter Test Tool CSV files available for FlukeView software and Microsoft Excel Application Note

XIM Gen4 Sensor Programming Examples. Rev /05/2016

About the DSR Dropout, Surge, Ripple Simulator and AC/DC Voltage Source

HP Designjet HD Scanner and T1200 HD Multifunction Printer

Helm Manual. v Developed by: Matt Tytel

ANLAN203. KSZ84xx GPIO Pin Output Functionality. Introduction. Overview of GPIO and TOU

Title: LE Task Group Report - Session #45

the qyooo Polyphonic Synthesizer Version by Björn Full Bucket Music

P a g e 1 ST985. TDR Cable Analyzer Instruction Manual. Analog Arts Inc.

CHAPTER 6 INPUT VOLATGE REGULATION AND EXPERIMENTAL INVESTIGATION OF NON-LINEAR DYNAMICS IN PV SYSTEM

FR FAMILY MB91460 PROGRAMMABLE PULSE GENERATOR 32-BIT MICROCONTROLLER APPLICATION NOTE. Fujitsu Microelectronics Europe Application Note

Eighth Annual QUIKLOOK Users Group Meeting

Haptic Technologies Consume Minimal Power in Smart Phones. August 2017

Agilent N7509A Waveform Generation Toolbox Application Program

F²MC-16FX FAMILY ALL SERIES PROGRAMMABLE PULSE GENERATOR 16-BIT MICROCONTROLLER APPLICATION NOTE. Fujitsu Microelectronics Europe Application Note

UNIVERSAL-DDS-VFO UDV ( 1 Hz to 10 MHz)

Question: Answer: I m using a third-party EtherCAT master. What do I need to know in regards to the Yaskawa drive interface?

VK-1 Viking Synthesizer

Certification Test CT.Sigma7.01.eLV.Tuning.CertificationTest

Peripheral Sensor Interface for Automotive Applications

Instruction manual. art Installation manual

LC-10 Chipless TagReader v 2.0 August 2006

VHF LAND MOBILE SERVICE

BCV-1203 Barcode Verification System Users Guide Version 1.2

LIGHT STUDIO 485. Software Instrrctions Mancal. Read trhe mancal tarefclly before operaing trhis software

Installation and Operating Instructions

HT7610A/HT7610B/HT7611A/HT7611B General Purpose PIR Controller

Distance Peak Detector. User Guide

Boe-Bot robot manual

inphoto ID SLR Automatic ID photography With Canon SLR camera User Guide

Midi Fighter Spectra. Traktor Remix Deck User Guide. Ver 1.01 DJTECHTOOLS.COM

ECE 511: FINAL PROJECT REPORT GROUP 7 MSP430 TANK

Model 392. Continuous-trace circular-chart recorder. Controller and Setpoint Generator Manual EUROT H ERM

Quick Start. Overview Blamsoft, Inc. All rights reserved.

Variable Frequency Drive Packages with Harmonic Mitigation. Low Harmonic Drive Packages Engineered by Rockwell Automation

Transcription:

Request #: HUTRR63 Title: Creation of a Haptic Usage Page and Simplified Haptics Controller Spec Release: 1.12 Received: Requester: Nathan C. Sherman Company: Microsoft Phone: +1.425.882.8080 FAX: +1.425.936.7329 email: nathans@microsoft.com Current Status: Approved Priority: Normal Submitted: 08 Mar 2016 Voting Starts: 08 Apr 2016 Voting Ends: 28 Apr 2016 Required Voter: Apple Required Voter: Wacom Required Voter: Intel Required Voter: Microsoft (Chair) Chair s Note Due to the nature of this Review Request, particularly around the use of third party Vendor ID and Vendor Page controls, and usage based Control Association, additional review time has been added. These methods have the potential become a useful pattern for similar innovations in HID.

Summary: This request is to establish a new Usage Page for simple haptics feedback controls. Such controls do not need the complex model contained in the Physical Input Devices document (PID 1.01) with its rigorous approach to textured 6D force feedback. The proposed haptics model is simpler, using simple timing, triggers and pre defined waveform profiles. Creation of the page does permit more complex models to build upon this simple model as needed where PID 1.01 is not appropriate. Background: The current Physical Input Device framework defines a protocol for rich control of force feedback devices, typically joysticks or "rumble packs." However, for many devices, only simple feedback is needed for common feedback such as clicks, buzzes and such that are non directional, and should be consistent from device to device and vendor to vendor, albeit tuned to the specific hardware. The Proposal defines a page with facilities to discover and control such simplified haptics feedback mechanisms. This Proposal permits simplified haptics feedback control, with most features being optional, from simple, autonomous click feedback to somewhat more complex models with hostcontrolled variable intensity and timing. The protocol uses discoverable, pre defined user level haptic events. These haptics controls can be stand alone, such as a phone vibration unit, or associated with a particular control or set of controls, such as a rigid surface keyboard. As such, they may be contained within an independent Haptic Controller Application Collection (CA), or contained within an Logical or Physical Collection (CL or CP) within another CA.

Proposal: Add the following to Table 1: Usage Page Summary: Page ID = 0x0E Page Name = Haptics Section or Document = (next available per technical editor) Edit the appropriate Reserved range in Table 1 in which the Page 0x0E ID lies to not include Page 0x0E Create a new section for the Haptics Page, with usage table and add the following to it. Section and table numbering are at technical editor discretion Table (x): Haptics Page Usage ID Name Type Section 0x0000 Undefined 0x0001 Simple Haptic Controller CA or CL 0x0002 0x000F Reserved 0x0010 Waveform List NAry 0x0011 Duration List NAry 0x0012 0x001F Reserved 0x0020 Auto Trigger DV 0x0021 Manual Trigger DV 0x0022 Auto Trigger Associated Control SV 0x0023 Intensity DV 0x0024 Repeat Count DV 0x0025 Retrigger Period DV 0x0026 Waveform Vendor Page SV 0x0027 Waveform Vendor ID SV 0x0028 Waveform Cutoff Time SV 0x0029 0x0FFF Reserved 0x1000 Reserved 0x1001 WAVEFORM_NONE SV 0x1002 WAVEFORM_STOP SV 0x1003 WAVEFORM_CLICK SV 0x1004 WAVEFORM_BUZZ_CONTINUOUS SV 0x1005 WAVEFORM_RUMBLE_CONTINUOUS SV 0x1006 WAVEFORM_PRESS SV 0x1007 WAVEFORM_RELEASE SV 0x1006 0x1FFF Reserved for standard waveforms 0x2000 Reserved 0x2001 0x2FFF Vendor Waveforms 0x3000 0xFFFF Add to a new description section (per technical editor) after the Usage Page table with the following text:

Simple Haptic Controller Operation A Simple Haptic Controller is declared by declaring an Application Collection or Logical Collection with the Simple Haptic Controller usage. Lists For the purposes of Simple Haptic Controllers, a List is a Logical Collection containing non zero Ordinals. Lists are declared by naming a Logical Collection with a Named Array usage, and then defining a set of Ordinal Page inputs, outputs or features within that collection. A member of the List is referred to in this document as an Ordinal, and the Ordinal contains a value type appropriate for array. As such, Lists may contain Selectors, On Off Controls, Dynamic Values or other appropriate Usage Types. If a List is specified herein as read only, then all Ordinals in the List are unchanged if written. If any Ordinal receives a Null value, the Ordinal is unchanged. Note that Ordinal 0 is Reserved on the Ordinals page and shall not be declared. The purpose of a List is to create an ordered array of elements. While the HID Specification indicates that collections may contain any number of elements, the order of presentation of the elements is not specified. By using unique Ordinals, the position of elements within a collection of controls is deterministic. An example of a List can be found in the Graphic Equalizer example in Appendix A.13 of the HID Usage Tables. Below is an example of a Haptic Waveform List WAVEFORMS Simple Haptic Controllers shall expose the waveforms that can be triggered, and their durations. This is accomplished with a Waveform List and a Duration List. Simple Haptic Controllers shall declare a Waveform List feature with at least one Waveform other than the implicit required WAVEFORM_NONE and WAVEFORM_STOP waveforms (see below). The Waveform List is read only. Each Ordinal in the Waveform List contains the 16 bit Usage value of a valid waveform from the Haptics Page. Any Ordinal containing a Usage value that is unknown to the Host should not be triggered by the Host. Required Waveforms All Simple Haptic Controllers shall support WAVEFORM_NONE in Ordinal 1 and WAVEFORM_STOP in Ordinal 2 of the Waveform List. WAVEFORM_NONE is ignored by the Simple Haptic Controller and is provided as a means to permit writing other values in a report without changing the waveform. WAVEFORM_NONE also permits gaps in the Waveform List. WAVEFORM_STOP cancels any triggered waveform immediately. A Waveform List may contain additional WAVEFORM_NONE or WAVEFORM_STOP Ordinals in any other Ordinal aside from Ordinal 1 and Ordinal 2. The implicit Ordinal 1 and Ordinal 2 are not declared in the Waveform List. Vendor Waveforms A range is provided for vendor specific waveform usages. If these are declared, a Waveform Vendor Page shall also be declared within the Waveform List. To enable use of third party haptic libraries, a third party Waveform Vendor ID may also be declared within the Waveform List to override the device Vendor ID. Irrespective of the optional Vendor ID or Vendor Page declared, the vendor waveform usages themselves shall be within the Vendor Waveform range shown in the Haptic Usage Page. Hosts

shall correlate the Waveform Vendor Page and device Vendor ID or third party Waveform Vendor ID, if provided, to known waveform tables before triggering any vendor specific waveform. Behavior of vendor specific waveforms other than Duration is unspecified. Below is an example Waveform List using Vendor Waveforms from a fictional Vendor ID 0xABCD and their vendor page 0xFFF0: UsagePage(Haptics) Usage(Waveform List) Collection(Logical) Usage(Vendor ID) // Waveform Library Vendor = 0xABCD Usage(Vendor Page) // Waveform Library Vendor Page = 0xFFF0 UsagePage(Ordinal) // COMMENT Usage(Ordinal 1) // WAVEFORM_NONE = 0x1001 // COMMENT Usage(Ordinal 2) // WAVEFORM_STOP = 0x1002 Usage(Ordinal 3) // WAVEFORM_CLICK = 0x1003 Usage(Ordinal 4) // WAVEFORM_BUZZ_CONTINUOUS = 0x1004 Usage(Ordinal 5) // WAVEFORM_RUMBLE_CONTINUOUS = 0x1005 Usage(Ordinal 6) // WAVEFORM_PRESS = 0x1006 Usage(Ordinal 7) // WAVEFORM_RELEASE = 0x1007 Usage(Ordinal 8) // WAVEFORM_VENDOR_1 = 0x2100 Usage(Ordinal 9) // WAVEFORM_VENDOR_2 = 0x2114 ReportCount(9) ReportSize(16) Feature(Data, Variable, Absolute, Null) End Collection() DURATION OF WAVEFORMS Simple Haptic Controllers shall declare a Duration List feature with the same Ordinals declared in the Waveform List. The Duration List is read only. The Duration Ordinals contain the duration of each waveform declared in the corresponding Ordinal in the Waveform List. The default units are milliseconds but other units may be applied. The Default Duration of Ordinal 1 and Ordinal 2 are implicitly zero and are not declared. Continuous Waveforms A zero Duration indicates a Continuous Waveform. A continuous waveform triggered with a Manual Trigger shall be stopped by triggering any waveform other than WAVEFORM_NONE, and WAVEFORM_STOP is recommended before triggering any other waveform. A Continuous Waveform triggered by an Auto Trigger stops after cessation of input activity. The hold time to detect cessation of input activity is not defined but should be short enough to correlate with the cessation of change but long enough to endure continuously during typical continuous user input. If a Continuous Waveform is declared, a Waveform Cutoff time shall also be declared to ensure that the waveform does eventually cease. Below is an example Duration List: UsagePage(Haptics) Usage(Duration List) Collection(Logical) UsagePage(Ordinal) // COMMENT Usage(Ordinal 1) // WAVEFORM_NONE // COMMENT Usage(Ordinal 2) // WAVEFORM_STOP Usage(Ordinal 3) // WAVEFORM_CLICK = 40 Usage(Ordinal 4) // WAVEFORM_BUZZ_CONTINUOUS = 0 (Continuous) Usage(Ordinal 5) // WAVEFORM_RUMBLE_CONTINUOUS = 0 (Continuous) Usage(Ordinal 6) // WAVEFORM_PRESS = 100 Usage(Ordinal 7) // WAVEFORM_RELEASE = 80 Usage(Ordinal 8) // WAVEFORM_VENDOR_1 = 55 Usage(Ordinal 9) // WAVEFORM_VENDOR_2 = 70

TRIGGERS ReportCount(5) ReportSize(8) Feature(Data, Variable, Absolute, Null) End Collection() At least one trigger mechanism shall exist. This can be a Manual Trigger output control or an Auto Trigger feature control, or an Implicit Waveform. The Auto Trigger and Manual Trigger contain Waveform Ordinals to play. Both are optional. Setting the Manual Trigger immediately triggers the selected Waveform Ordinal. Setting the Auto Trigger selects the waveform to be triggered with autonomous triggering. Setting Manual Trigger or Auto Trigger to Ordinal 1 (WAVEFORM_NONE) has no effect. If the Auto Trigger is set to Ordinal 2 (WAVEFORM_STOP), then Auto Mode is disabled. If the Manual Trigger is declared and the Auto Trigger is not declared, then the device does not support autonomous triggering. If neither a Manual Trigger nor an Auto Trigger is declared, then the lowest declared Waveform Ordinal is the default Implicit Waveform and is autonomously triggered as if it were selected in a declared Auto Trigger. In this case, Haptic events can only be disabled by declaring and setting Intensity to 0. Manual Trigger is an output and Auto Trigger have no default values it is up to the device manufacturer to determine if Auto Trigger has a WAVEFORM_STOP or other waveform by default. If the host needs to know the Auto Trigger value at any time, it may read the control. Table (x): Trigger Behavior by Definition Triggers defined Behavior None Autonomous Trigger of Implicit Waveform (use Intensity to enable/disable) Manual Selectable waveform Manual Trigger only Auto Selectable waveform Autonomous Trigger only Manual and Auto Selectable waveform Manual and Auto Triggers Ordinal 0 is reserved on the Ordinals page and shall not be declared, is a Null value, and shall be ignored if issued to either Manual Trigger or Auto Trigger. Auto Mode Trigger Association Simple Haptic Controllers that support autonomous triggering may need a means to associate the Simple Haptic Controller with one or more other HID input controls in the Application Collection. There are three scenarios supported: No Association: In this scenario, the Simple Haptic Control is placed in a Simple Haptic Controller Application Collection. The control or events that trigger autonomous haptic events is not associated with any HID control. Limited input trigger: In this scenario, a read only Auto Trigger Associated Control feature is declared. The Auto Trigger Associated Control contains a unique Extended Usage of a HID input control or collection (with HID inputs) within the Application Collection but outside the Simple Haptic Controller collection. If identical controls exist, wrap the associated control in a Logical Collection with a unique usage and indicate that usage. Any input change in the control or

collection will trigger the Auto Mode or Implicit Waveform. Global input trigger: In this scenario, the Auto Trigger Associated Control feature is not declared. Any HID input in the Application Collection will trigger the Auto Trigger or Implicit Waveform. Retriggering A Simple Haptic Controller may declare a Repeat Count feature and/or output control. The Repeat Count indicates the number of times to trigger any selected Waveform Ordinal per Auto Trigger or Manual Trigger. Default Repeat Count is zero. Writing a Null Repeat Count has no effect. A repeat trigger is called a retrigger. Continuous retrigger is not supported. By default, the retrigger occurs at the end of the waveform. To modify the pacing of the retrigger in a Repeat Count, a Retrigger Period feature and/or output may be declared. If declared, the Retrigger Period defines the time between retriggers. If the Repeat Count is zero, Retrigger Period is ignored. Writing a Null Retrigger Period has no effect. Writing a zero Retrigger Period value resets the retrigger to the corresponding value in the Duration List so that the waveform immediately retriggers when it completes. Default Retrigger Period is zero. Default units of Retrigger Period is milliseconds, but other units may be applied. If a Repeat Count or Retrigger Period feature is declared, it supplies the default value for all triggered waveforms. If a Manual Trigger output is accompanied by a Repeat Count or Retrigger Period output in the same report, the accompanying value overrides the default value for that single Manual Trigger. Behavior when they are not in the same output report is undefined. Repeat Count and Retrigger Period are valid for continuous waveforms. Issuing Ordinal 0 (WAVEFORM_NONE) to a Manual Trigger or Auto Trigger will have no effect. Any waveform can be immediately canceled by writing Ordinal 1 (WAVEFORM_STOP) to a Manual Trigger. If Ordinal 1 is written to the Auto Trigger, the waveform will be stopped at the next autonomous trigger. If a waveform is triggered, either via receipt of a Manual Trigger, an autonomous trigger or retrigger before the prior waveform has completed, it shall stop the prior waveform and start the new waveform. Intensity A Simple Haptic Controller may declare an Intensity feature and/or output control. The Intensity indicates the relative intensity of the haptic waveform as a percentage of the designed full strength capability of the transducer(s). Default Intensity is unspecified. Writing a Null Intensity has no effect. If Intensity is set to zero, then the haptic transducer is disabled. If an Intensity feature is declared, it supplies the default value for all triggered waveforms. If a Manual Trigger is accompanied by an Intensity output in the same report, the accompanying value overrides the default value. It is recommended that if an Intensity output is declared that an Intensity feature also be declared so that the Host can read the default value. Behavior when Intensity and Manual Trigger are not in the same output report is undefined. NOTE: For the most consistent experience, hardware designers are encouraged to linearize Intensity according to perceived intensity, not according to power or amplitude.

Usage Definitions: Simple Haptic Controller CA or CL Applied to a collection containing a Haptic Transducer Set to control simple haptics events. The CA is for Haptic Transducer Sets with no association with other HID controls. The CL form is used when contained within another CA. Waveform List NAry Collection containing Ordinals that contain the Usages of supported waveforms. Vendorspecific waveform IDs may also be used. See the Haptics Usage Page table for the enumeration of pre defined Waveform selector usages that can be placed in the set. The Waveform List is mandatory, there is no default defined. Standard waveform usage names are generic and are not intended to specify the particular properties of a waveform. It is assumed that the device manufacturer will design and incorporate waveforms appropriate to the resonance, dampening and other properties of the mechanical system with a best effort to provide the intended effect. Duration List NAry Collection of Ordinals containing the default duration for each haptic waveform. Default units are milliseconds. Auto Trigger DV Feature. Ordinal in the Waveform List to trigger autonomously. Default is undefined. If 0, autonomous triggering is disabled. Manual Trigger DV Output. Ordinal in the Waveform List to trigger immediately. May be accompanied by Intensity, Repeat Count and/or Retrigger Period outputs to override feature variants of those controls. Auto Trigger Associated Control SV Feature. Contains the 32 bit Extended Usage of a HID Input or Logical Collection containing at least one HID Input. The Auto Trigger waveform is autonomously triggered when a HID Input in the Auto Trigger Associated Control changes. Intensity DV Feature or Output. Percentage of maximum intensity to apply to the waveform. If declared as a feature, applies to all waveforms. If declared as an output, applies to the Waveform ordinal specified by a Manual Trigger in the same output report. Default is unspecified. Null values are ignored. Repeat Count DV Feature or Output. Count of retriggered waveform firings per trigger. Default is zero. Null values are ignored.

Retrigger Period DV Feature or Output. Period before a retrigger occurs. Default units are milliseconds. Setting to 0 uses the Duration in the Duration List. Default is zero. Null values are ignored. Waveform Vendor Page SV Read only Feature. Vendor Page in which the vendor specific waveform usages are defined. No default. If vendor specific waveforms are declared, Waveform Vendor Page is required. Writes to Waveform Vendor Page shall be ignored. Waveform Vendor ID SV Read only Feature. Vendor ID of the vendor whom the Waveform Vendor Page is defined. Default is the USB Device Vendor ID. Writes to Waveform Vendor ID shall be ignored. Waveform Cutoff Time DV Feature. Maximum time for a continuous waveform or set of retriggered waveforms before being automatically cut off. If any continuous waveform is declared (Duration = 0), Waveform Cutoff time is required. Default units are seconds. No default.

Sample Collections Example 1: A Keyboard with an implicit waveform, automatic trigger on any keypress, manual trigger not supported, adjustable intensity, disabled by setting Intensity to 0. Figure (x): Example 1 Keyboard with Haptic Feedback Generic Desktop: Keyboard CA (Keyboard) Simple Haptic Controller CL Intensity (Feature) Default 100 Waveform List (Read only Feature) WAVEFORM_CLICK Duration List (Read Only Feature) WAVEFORM_CLICK Duration (keyboard inputs) (keyboard LEDs)

Example 2: Remote control with a rotary dial with generic buttons, consumer selectors, multiple waveforms, manual and automatic trigger supported, click or buzz, autonomous trigger supported on motion (not button), retrigger supported, variable intensity not supported, disabled by setting Auto Trigger to WAVEFORM_OFF. Figure (x): Example 2 Remote Control with Haptic Dial Consumer: Remote Control CA Generic Desktop: Dial CP (Dial) Simple Haptic Controller CL Manual Trigger (Output) Auto Trigger (Feature) Default: WAVEFORM_BUZZ_CONTINUOUS Auto Trigger Assoc. Control (Read only Feature) Generic Desktop: Dial Repeat Count (Feature) Default 0 (No repeat) Retrigger Period (Feature) Default 0 (Waveform period) Waveform Cutoff Time (Feature) 10.0 seconds Waveform List (Read only Feature) WAVEFORM_CLICK, WAVEFORM_BUZZ_CONT. Duration List (Read only Feature) WAVEFORM_CLICK Duration 0 (remote control inputs) Generic Desktop: Dial (associated control) Buttons: Button 1 (remote control inputs) Consumer: (various selectors)

Example 3: Generic haptic vibration controller, single waveform, host controlled, continuous waveform, fixed intensity (e.g., phone vibration) Figure (x): Example 3 Generic Haptic Vibration Controller Haptic: Simple Haptic Controller CA Manual Trigger (Output) Waveform Cutoff Time (Feature) 10.0 seconds Waveform List (Read only Feature) WAVEFORM_BUZZ_CONT Duration List (Read only Feature) 0

Response: <Added by HID Chair upon closing the Request> Notes on Approval Procedure: HID WG On Line Voting Procedures 1. Votes are on a per company basis. 2. Each Review Request shall have attached a Required Voter List that is the result of recruiting by the HID Chair and submitter of members of the USB IF. Required Voter List must include the HID Chair plus 2 companies (other than the submitter) plus any others designated by the HID Chair at the Chair s discretion. The Required Voter List ensures that a quorum is available to approve the Request. 3. Impose a 7 calendar day posting time limit for new Review Requests. HID Chair or designate must post the RR within 7 calendar days. HID Chair or designate must work with the submitter to make sure the request is valid prior to posting. Valid review request must include all fields marked as required in the template. A new template will be adopted that requires at least the following fields: Change Text, Required Voter List, Review Period End Date and Voting End Date, Submittal Date, Submitter, Review Request Title and RR Number. 4. If a RR approval process stalls, the HID Chair may call a face to face meeting or conference call to decide the issue. Submitter may request that this take place. 5. Impose a minimum 15 calendar day review period on a posted RR prior to the voting period. At HID Chair discretion, changes to the RR may require this review period to restart. 6. The Chair will accept votes via documentable means such as mail or e mail during the 7 calendar days after the close of the review period. If a Required Voter does not vote during the period, then there is no quorum and the Chair may pursue the absent required voter and extend the voting period. The Chair may designate a substitute for the absent voter and extend the voting period if necessary.