Software Development Kits for Windows

This Software Development Kit (SDK) supports all X-keys devices we are currently shipping and offers code examples for Visual Studio 2010 C#, Visual Basic, and C++, also included is an Eclipse sample. Eclipse for Android.

Download Windows SDK

PI Engineering SDK (v1074) (20.6 MB)
Updated: 2/22/2024

Note: The information on this page is for Windows-based developers writing applications for Windows or Android operating systems.

Technical Note

Users of the .NET Express versions; C# Express and Visual Basic Express. These versions no longer have the Platform Target selection in the project properties. It is necessary to use a platform target of x86 when using PIEHidDotNet.dll or PIEHid32Net.dll. To do this, open the project's .csproj file (C#) or the .vbproj file (VB) in any text editor and add the line:

<PlatformTarget>x86</PlatformTarget>

.Net Component

SDK Comparison

The Windows SDK includes two different ways of communicating with the X-keys on Windows systems:

  • The traditional SDK where the developer uses calls to our unmanaged or managed (.NET) DLL to communicate with the device. Samples are included for C++, C#, and VB.NET. All modern X-keys devices are supported.
  • The new X-keys .NET Components, which include a simplified API that encapsulates much of the functionality of the standard SDK. Once installed in the Visual Studio environment, just drag-and-drop onto your form and support an X-keys device in mere minutes of development time. Samples are included for C# and VB.NET.

More Code Samples

Though the samples in our standard SDK above fit a wide variety of developers' needs, occasionally we've had cause to write special samples. These odd ducks do not fit in with the other samples in our SDK, but you can find them here or on our Legacy SDK's page. If you don't find what you're looking for, please contact us.

Large Key Samples

Download Large Key C#

LargeKeyDemoCsharpExpress.zip (60Kb)

Download Large Key .NET

Large Key Sample for .NET (249Kb)

IDE: Microsoft Visual C# Express 2008, Microsoft Visual C# 2010
Product: XK-24
Description: Demonstrates how to read incoming data if using large key caps; tall, wide and quad.

Device Notification C++ 2003

Download Notification C++

DeviceNotification CPlusPlus 2003.zip (897Kb)

IDE: Microsoft Visual Studio 2003 C++ .NET
Product: XK-24
Description: Detects the removal and arrival of any usb hid device. Uses RegisterForDeviceNotification call.

Device Notification C# Express

Download Notification C#

Device Notification CSharp Express.zip (20Kb)

IDE: Microsoft Visual C# Express 2008, Windows Form Application
Product: any P.I. Engineering device
Description: Detects the removal and arrival of any USB hid device with P.I. Engineering devices specifically noted. Uses RegisterForDeviceNotification call.

Multi-Unit C# Express

Download Multi Unit C#

Multi-Unit CSharpExpress.zip (62KB)

IDE: Microsoft Visual C# Express 2008, Windows Form Application
Product: any P.I. Engineering device
Description: Use of the PIEHidDotNet.dll .NET class library to communicate with X-keys devices. Demonstrates reading of two or more simultaneously connected P.I. Engineering products.

WPF Application

Download WPF App

WpfApplication1.zip< (132KB)

IDE: Microsoft Visual C# Express 2008, WPF Application
Product: X-keys Pro MWII
Description: Use of the PIEHidDotNet.dll .NET class library to communicate with X-keys devices.

Keyboard Reflector C# Express

Download Reflector C#

Reflector CSharp Express.zip (169Kb)

IDE: Microsoft Visual C# Express 2008, WPF Application
Product: XK-24, applicable only to Pi3 devices
Description: Demonstrates more extensively the use of keyboard reflector commands.

Polling C# Express

Download Polling C#

Polling Csharp Sample.zip (59Kb)

IDE: Microsoft Visual C# Express 2008, Windows Form Application
Product: X-keys XK-16 Stick
Description: Use of the PIEHid32Net.dll .NET class library to communicate with X-keys devices. Demonstrates 2 ways of reading data; with the callback and with a polling timer.