Skip to main content

X-keys on Raw Panel

With SKAARHOJ's X-keys application (xpanel-xkeys package), you have the capability to connect one or more X-keys keyboards to a SKAARHOJ product, equipped with USB-A. This integration allows the X-keys keyboard to function as a control panel alongside your existing SKAARHOJ devices. As a result, you'll experience increased user-friendly integration between SKAARHOJ panels and your HID devices, expanding your overall control freedom.

  • Mix your X-keys devices with SKAARHOJ controllers
  • Enjoy easy and powerful configuration with Reactor
  • No external computer needed - connects to SKAARHOJ devices directly
  • Raw Panel enables X-keys over network with PoE
  • Add unique workflows with X-keys specialty devices

image.png

Support Table

The X-keys models supported are listed below.

Name Tested  Comment Image
XK-24
 
Yes   

XK24.jpg

 
XK-12 Jog-Shuttle
 Yes  

 

XK12JOG.jpg

XK-12 Joystick
 
Yes  Joystick rotation is an encoder component. 

XK12JOYSTICK.jpg

XK-68 Joystick
Yes

XK68JOYSTICK.jpg

XK-60
Yes

XK60.jpg

XK-80
Yes

XK80.jpg

XKE-124 T-bar
PendingYes

XKE124TBAR.jpg

XKE-128
Yes

XKE128.jpg

XK-68 Jog-Shuttle
PendingYes

XK68JOGSHUTTLE.jpg

XKE-64 Jog T-bar
PendingYes

XK64JOGTBAR.jpg

XK-4 Stick
PendingYes

XK4.jpg

XK-8 Stick
PendingYes

XK8.jpg

XK-16 Stick
Yes

XK16.jpg

XK-3 Switch Interface
Yes

XK3SI.jpg

XKE-40
PendingYes

XKE40.jpg

XK-3 Foot Pedal
Yes

XK3FOOT.jpg

XBA-T-bar Module
Pending LED feedback not implemented yet

XBATBAR.jpg

(more switch interfaces?)
Pending


How It Works

The X-keys devices become network enabled as they are turned into Raw Panel compliant devices. This means that Reactor and any other third party application fully compliant with Raw Panel can use them.

Below, you see an X-keys XK-24 connected directly to a SKAARHOJ Blue Pill Server which in turn is connected to a PoE powered network switch. The X-keys device can be accessed via the Raw Panel TCP protocol on the IP address of the Blue Pill Server.

IMG_8012.JPG

Multiple X-keys devices can be driven by a single Blue Pill using a (powered) USB hub in between:

IMG_8015.JPG

You can use an application like Raw Panel Explorer to search for and test your Raw Panel enabled X-keys devices. Here is an example of a scan for panels on the network (using the -aggressive setting):

image.png

Inside Reactor you can discover the panels on the network, add them and configure actions for their buttons, knobs, faders and joysticks:

image.png

image.png


Watch it

(TODO)

Getting Started

  • Connect your X-keys device to your SKAARHOJ Blue Pill Inside (with USB-A).

  • Go to the Settings tab of the Web UI of your Blue Pill device, find where it says "USB-A" and turn it on. After doing so, please power cycle your Blue Pill once or twice and then confirm that USB-A is still enabled:

    image.png


  • Go to the Packages tab of the Web UI of your Blue Pill device

    image.png


  • Find the xpanel-xkeys package in the list of Available Packages. Click "Install"

    image.png


  • When installed, you should find it listed as "Running" in the top of the Packages page:

    image.png


  • Click the package name "xpanel-xkeys" to go to the configuration page. Here you may want to make sure it's set up for Auto Start and attend to other config settings:

    image.png


  • Please check the log view on the right side. It may contain important information such as licensing status. Since the X-keys panels don't have displays there will be no other indications of errors or license quarantine than what you see in this view:

     

    image.png

  • Using PuTTy, Telnet or nc you can now make a TCP connection manually to test it. On a Mac, try "nc 192.168.10.204 9933" from the Terminal, then it should connect, type in "list"+Enter and you should see something like this:

    image.png

  • With PuTTy on Windows you should make sure to set "Implicit CR in every LF"

    image.png

USB Hubs

You can operate multiple devices simultaneously by using a USB hub. For the best results, it is recommended to use a powered hub if possible.

Licensing

As of August 2023, we are offering complimentary licenses to early adopters at no cost. To avail of this offer, please send your SKAARHOJ Blue Pill product serial number to innovationlab@skaarhoj.com. In your message, kindly include a note to Kasper about your intended use for the product and what your expectations are.

The xpanel-xkeys application will always provide approximately 10 minutes of free and unlimited Raw Panel usage. This starts 30 seconds after the application (re-)start for any number of X-keys devices. Please note that after 10 minutes, an unlicensed X-keys device will stop sending triggers. However, you can reset this period by re-starting the xpanel-xkeys package in the Blue Pill Web UI.

The xpanel-xkeys logs will report when the quarantine periods start and end:

image.png

Configuration

By default, the xpanel-xkeys application will scan for X-keys devices on the USB port and as it finds them, assign them a Raw Panel port number starting with 9933 - and locking that to their serial numbers (which are hashes of the USB Product ID)

You can change this behavior. The configuration page for the xpanel-xkeys application has a number of options worth knowing about. 

image.png

The Server Starting Port should be changed if you have other applications running on the same Blue Pill trying to use this port. There is no clear indication if this is the case, but if something doesn't work, please check the logs if there are errors related to binding to the port.

The protocol mode can mostly stay as it is since most SKAARHOJ applications at least will detect whether ASCII or Binary mode can/should be used. Max Clients and Lock to IP is to help you guard your Raw Panel enabled X-keys against too many connected clients or connections from unauthorized IP addresses. It's still a fairly low-tech type of security that still assumes a friendly network environment, just keep that in mind.

Lock Serials to Port is on by default because we assume it would be nicest that any panel that once was connected to your Blue Pill you receive the same port next time it is connected. 

Fixed Panels

For fixed installations, it's recommended that you set up discrete X-keys as fixed panels. This allows you to assign a specific port to a specific serial number and set individual settings for the above mentioned general settings for the panels.

image.png

Serial Numbers

X-keys devices don't report unique serial numbers and therefore the Raw Panel server generates a sort-of serial number by making a so called "hash" (like "fb3ab267") based on the USB Product ID. The Product ID will usually be the exact same for the same product. So if you have two XK-24 X-keys devices, they will report the same serial number. 

The serial number may be found in the logs or you can discover it using Raw Panel Explorer.

Handling Multiple Similar devices

The fact that serial numbers will be the same for the same Product IDs still needs a really good solution. P.I. Engineering (the company behind X-keys) propose to set a unique ID in the X-keys internal memory, but that is not available to the Raw Panel server before it's connected to the panel, so this cannot be used (at least not readily).

At this point we have solved it by the option "Multiple Similar" which includes a hash of the USB path. This will at least give the possibility of attaching multiple of the similar X-Keys device, but unfortunately the USB path may change when you reboot your USB-HUB, so this may not be a stable solution either. Of course you can (and should ;-) just attach the same type of X-keys device to multiple SKAARHOJ Blue Pill devices so they will sit on different IP addresses, can have the same port and same serial and then the problem is solved in a stable way.

 

Please write to innovationlab@skaarhoj.com for any comments or questions. We would love to hear (positive and constructive) remarks from you.

- kasper