# HID devices on Raw Panel With SKAARHOJs HID application (*xpanel-hids* package) you can **connect one or more particular USB devices** to a SKAARHOJ product (with USB-A) and integrate the USB device as a control panel with your existing SKAARHOJ devices. In this way you can enjoy even **more freedom of user friendly integration with professional SKAARHOJ panels** and your existing HID devices. [](https://wiki.skaarhoj.com/uploads/images/gallery/2023-08/ZJYimage.png) The devices supported are specific models and brands of HID devices. We know this list is very short at the moment, and we are looking to extend it by your help, so reach out to [innovationlab@skaarhoj.com](mailto:innovationlab@skaarhoj.comi) if you have a device you think should be supported here.
**Device** | **Vendor ID** | **Product ID** | **Comment** | |
**Tangent Ripple** ("TangentRipple") | 1240 | 64015 | Trackballs are read out as two encoders, one for each axis. Encoders and trackballs are scaled down by a factor 20 to reach a usable level for most applications, such as Reactor. You can change this by setting this JSON string into the "Deep Config" field which will set scaling to "1:1" instead. You can experiment with the values to reach your desired resolution. {"EncoderScaler":1,"TrackballScaler":1} A mount for the Tangent Ripple ([rippleMount.stp](https://wiki.skaarhoj.com/attachments/53)) has been contributed by user Jaron Berman. Thanks! | [](https://wiki.skaarhoj.com/uploads/images/gallery/2023-11/wbPimage.png) |
**USB Generic Gamepad** ("GamePad") | 2064 | 1 | Supports all buttons. Left button array is linked to left joystick. Analog button changes that function. Precision of the joysticks is very low. | [](https://wiki.skaarhoj.com/uploads/images/gallery/2023-08/woEimage.png) |
**[Delcom FootSwitch Mouse](https://www.delcomproducts.com/productdetails.asp?PartNumber=703600-5M)** ("FootSwitchDelcom") | 4037 | 13921 | [](https://wiki.skaarhoj.com/uploads/images/gallery/2023-08/QdFimage.png) | |
**Contour ShuttlePro**
("ContourShuttlePro") | 2867 | 48 | [](https://wiki.skaarhoj.com/uploads/images/gallery/2023-08/image.png) | |
**Logitech Presenter R400**
("LogitechR400") | 1133 | (50477) | (see R500) | [](https://wiki.skaarhoj.com/uploads/images/gallery/2024-02/rF8image.png) |
**Logitech Presenter R500s** ("LogitechR500") | 1133 | 50496 (50494) | The presenter remote recognizes two types of button presses: forward and backward. It only responds to short presses (less than 0.5 second), ignoring longer ones. Upon releasing the button, the down-press trigger is sent, followed by an automatic up-press trigger approximately 50ms after the initial press. | [](https://wiki.skaarhoj.com/uploads/images/gallery/2024-02/ewZimage.png) |
**APEM HF-45S10-U Joystick**
("APEM-HF45S10U") | 1678 | 415 | APEM USB Joystick with two buttons on top. | [](https://wiki.skaarhoj.com/uploads/images/gallery/2024-06/HDgimage.png) |
**Generic Keyboard** ("GenericKeyboard") | 1133 | 49974 | Logitech G213 (Y-U0029) *Many other keyboards would work too, but you will need to detect it's vendor and product IDs and inject into the package. See below for instructions.* | |
**Generic Mouse** ("GenericMouse") | 1133 | 49271 | Logitech B100 (M-U0026). Notice that by default the X/Y positions are reported as encoder input scaled down by a factor 5 and also sampled at only 10Hz. *Many other mice would work too, but you will need to detect it's vendor and product IDs and inject into the package. See below for instructions.* |
**Deep Config** | **Description** |
`{"Development":{"Mode":"Scan"}}` | Stops normal run mode of the application and scans the USB hub repeatedly, reporting in detail the results. This is very technical and output looks very chaotic. |
`{"Development":{"Mode":"Log","SleepMS":100}}` `{"Development":{"Mode":"Log","SleepMS":500,"VendorID":1240}}` | Stops normal run mode of the application and and rather connects to the first found device that corresponds to the filter settings. After that it will report back the received HID reports as bytes in the log with a max period of 100 ms. Filters include "VendorID", "ProductID", "UsagePage", "Usage", "InterfaceNum" |
`{"InjectVIDsAndPIDs":{"GenericKeyboard":[[1267, 259]]}}` | This adds the VID (1267) and PID (259) to the existing list of devices recognized as a Generic Keyboard. "GenericKeyboard" is the identifier found under the title of the device type in the table of supported devices in the top. This can be used to test if a mouse, keyboard, game pad, remote control etc. could potentially work as one of the known devices. If successful the user can help SKAARHOJ make the support permanent by reporting a working pair of VID and PID. |
`{"XYScaler":5} ` | Divides the Generic Mouse input for X/Y positions by 5. |