2012-11-12 10 views
12

(C#) Logitech Birleştirici Klavye belirlenmesi aşağıdakileri:Benzersiz C# kısmen kullanan cihazların bir dizi yaparak farklı klavye girişi bölme olabilir 2010'da küçük bir program yazdım


-Bu kod olmayan birleşik 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. 
} 


için çalışıyor

Bundan çok memnun kaldım ve Unifying alıcısını kullanan 4 adet Logitech K230 klavyesi aldım. Maalesef, tüm klavye verileri şimdi çoğullanıyor ve kodumda tek bir klavye olarak görünüyor!

Girişin hangi "birleşik" klavyeden geldiğini nasıl belirleyebilirim? İdeal olarak C# 'da, ama sanırım eğer çözümler mevcutsa diğer dillere bakmaya istekliyim.

+0

HID katmanının farklı klavyeler görebilmesini (ve bunları farklı şekilde ele almasını) sağlayan "birleştirilmiş" girişi parçalayan bir Linux sürücüsü gördüm. Bu da bana iyimser bir Windows çözümünün de varolmasını sağladı. – cdehaan

+0

Kendi sorduğum soruya pek çok yorum eklediğim için üzgünüm, ancak ilgilendiğim herkes için bu, orijinal giriş bölümlememin geldiği proje: http://www.codeproject.com/Articles/17123/Using-Raw-Input-from -C-to-handle-çoklu klavye – cdehaan

+0

USB dongle bir USB HID aygıtıdır, bu nedenle gördüğünüz tüm trafik temelde USB dongle tarafından oluşturulan genel HID trafiğidir. Özelliklerin, içinde meta veriler bulunduran trafikte herhangi bir şey olmadığı sürece. Bunun mümkün olduğunu düşünmüyorum. USB trafiğini koklamak için [USBlyzer] (http://www.usblyzer.com/download.htm) kullanabilirsiniz. USB dongle ile arabirim kurabiliyorsanız, ondan bilgi talep edebilirsiniz. – jduncanator

cevap

1

Klavyeyi birleştirmiyorum, ancak Windows cihazlarda birden çok klavyeyi görüp görmediğinizi kontrol edin. Sonra bu http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard deneyebilir ve çıkış kontrol edebilirsiniz.

+1

Yorumunuz için teşekkürler, ancak maalesef bu bağlantı başlangıçta bir başlangıç ​​noktası olarak kullandığım (ve ikinci yorumumda verildi.) Birleşik olmayan klavye için iyi çalıştı, ancak birleştirilmiş klavyeleri ayırt edemedi. – cdehaan

İlgili konular