Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Uniquely identifying Logitech Unifying Keyboards (In C#)

I have written a small program in C# 2010 which can split input from different keyboards by making an array of devices using, in part, the following:


--This code works fine for non-unified keyboards--

InputDevice id;
NumberOfKeyboards = id.EnumerateDevices();
id = new InputDevice( Handle );
id.KeyPressed += new InputDevice.DeviceEventHandler( m_KeyPressed );
private void m_KeyPressed( object sender, InputDevice.KeyControlEventArgs e ) {
  lbDescription.Text = e.Keyboard.Name;
  // e.Keyboard.* has many useful strings, none work for me anymore.
}


Very happy with this, I ran out and bought 4 Logitech K230 keyboards which use the Unifying receiver. Sadly, all the keyboard data is now multiplexed and shows up in my code as a single keyboard!

How can I identify which "unified" keyboard the input is coming from? Ideally in C#, but I suppose I am willing to look at other languages if solutions exist.

like image 300
cdehaan Avatar asked Nov 12 '12 00:11

cdehaan


People also ask

How do I identify my Logitech Unifying Receiver?

For the full and current list of Unifying products, visit www.logitech.com/unifying. For identification of Unifying products, please look for the Unifying icon on mice or keyboards and wireless receivers.

What protocol does Logitech Unifying Receiver use?

Logitech's Unifying is a proprietary wireless peripheral protocol on the 2.4 GHz band, introduced in 2009. It can connect up to six compatible Logitech devices to one Unifying receiver, which must be plugged into a USB Type-A port. Some of Logitech's mice and keyboards with Unifying support also Bluetooth.

Do all Logitech keyboards work with Unifying receiver?

Unifying Receiver for Mouse and Keyboard Compatible for Any Logitech Product That Display The Unifying Logo (Orange Star, Connects up to 6 Devices) 001.


1 Answers

I don't have unifying keyboard, but check if you can see multiple keyboards in Windows devices. Then you could try this http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard and check output.

like image 106
Arci Avatar answered Nov 15 '22 19:11

Arci