Developer´s Corner |
|
HID USB and SPLAT ModeThe Human Input Device Classification in the Universal Serial BusUSB is a very versatile port supporting many types of devices. While most devices need a special driver, a sub class of USB devices called “Human Interface Devices” (HID) are supported by built in drivers in the operating systems (Win and Mac). Only a small portion of the supported input types are actually turned into useful data. Namely, “legacy devices”; mouse, keyboard and joystick. The data from these devices is fully recognized by the OS and sent on to applications. However, the vast majority of the theoretical devices supported by HID are read by the OS HID driver, but the data goes no further. The only way to communicate with software applications that are not aware of specific HID devices is to send in mouse, keyboard, or joystick data. Most of P.I. Engineering’s X-keys devices can do this, but this method does not provide for correct use of special devices such as jog wheels, knobs, sliders, and other similar input devices. If the application accesses the data directly, far more control and accuracy can be achieved. Special HID data is directly available at this application level. At device boot up, a HID hardware device declares the format and type of data it will send and receive. Many of the X-keys devices can communicate in both a standard keyboard mode and in a special HID format we call “SPLAT” mode. (SPLAT is not an acronym, it is simply the sound that a toad makes when it jumps to the concrete. We felt that the acronym for “Special HID Input Technology” might be inappropriate.) Advantages of SPLAT ModeAccess to Complete DataThe ability to access the actual position data from a jog wheel, for example, has many advantages. The speed that a person spins a wheel can be very fast or extremely slow. Usually a person is trying to achieve different results in these two speed ranges. Using a keyboard keystroke to represent say 10 degrees in the clockwise direction may work for simple applications, but for accurate high speed or precision reporting in programs this limited data is not sufficient. Also, most operating systems protect keyboard data so it is difficult to access at a low level. The USB HID class has defined a complete hierarchy that allows devices to send data based on descriptors (keyboard, mouse, joystick, scanner, etc.). While most of these location may be occupied by other input devices, one location that is available in most operating systems is the “consumer page.” This location is also not dedicated to one specific data type such as the keyboard location. SPLAT mode sends the data for a device to the HID driver on the “consumer page”. Exclusive Use of DataOnly software applications specifically programmed for the X-keys in SPLAT mode will “see” the data. In keyboard emulation mode, the data is automatically sent to the application with focus and to the control with focus. The user can randomly change focus with the click of a mouse, so sometimes keyboard data is sent to the wrong place. In Splat mode, the data has no meaning to the OS so it is not sent anywhere. A programmer can choose to look for the data, or not, even when other applications have focus. In this manner a program can still receive messages from the hardware even when running in the background. For More InformationLearn more about HID and SPLAT mode on our web site: www.xkeys.com, contact us by E-mail: [email protected] Download a copy of this document here: splatmode.pdf © Copyright 2004, P.I. Engineering, Inc. All rights reserved. | |
|
Home | Products | X-keys | Y-mouse | Viewport | Custom Accessories | Developer´s Corner | Resources | Support Shopping Cart | Checkout | Privacy Policy | Site Map |
|
|
X-keys, Y-mouse, RailDriver and The No Slogan Company are Trademarks of P.I. Engineering, Inc. 101 Innovation Parkway Williamston, MI U.S.A. 48895 1-517-655-5523 FAX: 1-517-655-4926 www.piengineering.com | www.xkeys.com | www.ymouse.com | www.raildriver.com |
Visit Our New Divisions: |