2012-11-12 29 views
12

Tôi đã viết một chương trình nhỏ trong C# 2010 mà có thể chia đầu vào từ bàn phím khác bằng cách đặt một loạt các thiết bị sử dụng, một phần, như sau:Độc đáo xác định Logitech Thống nhất Bàn phím (Trong C#)


--This đang hoạt động tốt cho người không thống nhất 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. 
} 


Rất vui vì điều này, tôi đã hết và mua 4 bàn phím Logitech K230 sử dụng bộ thu hợp nhất. Đáng buồn thay, tất cả dữ liệu bàn phím hiện được ghép kênh và hiển thị trong mã của tôi dưới dạng một bàn phím duy nhất!

Tôi làm cách nào để xác định bàn phím "hợp nhất" nào được nhập? Lý tưởng nhất là trong C#, nhưng tôi cho rằng tôi sẵn sàng xem xét các ngôn ngữ khác nếu các giải pháp tồn tại.

+0

Tôi đã thấy một trình điều khiển Linux phá vỡ đầu vào "thống nhất" ngoài để lớp HID có thể thấy bàn phím khác nhau (và đối xử với chúng khác nhau.) Điều này làm tôi lạc quan một giải pháp Windows nên tồn tại quá. – cdehaan

+0

Xin lỗi vì đã thêm rất nhiều nhận xét vào câu hỏi của riêng tôi, nhưng đối với bất kỳ ai quan tâm, đây là dự án nơi phân tách đầu vào ban đầu của tôi xuất phát từ: http://www.codeproject.com/Articles/17123/Using-Raw-Input-from -C-to-handle-multiple-keyboard – cdehaan

+0

USB dongle là thiết bị USB HID, vì vậy tất cả lưu lượng truy cập mà bạn đang xem về cơ bản là lưu lượng HID chung đã được tạo bởi USB dongle. Trừ khi các thông số kỹ thuật có bất kỳ thứ gì trên lưu lượng truy cập được tạo ra chứa siêu dữ liệu trong đó. Tôi không nghĩ rằng nó có thể. Bạn có thể sử dụng [USBlyzer] (http://www.usblyzer.com/download.htm) để đánh hơi lưu lượng truy cập usb. Nếu bạn có thể giao tiếp với USB dongle bạn có thể yêu cầu thông tin từ nó. – jduncanator

Trả lời

1

Tôi không có bàn phím hợp nhất, nhưng hãy kiểm tra xem bạn có thể thấy nhiều bàn phím trong các thiết bị Windows hay không. Sau đó, bạn có thể thử điều này http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard và kiểm tra đầu ra.

+1

Cảm ơn bạn đã bình luận, nhưng tiếc là liên kết là những gì tôi ban đầu được sử dụng như là một điểm khởi đầu (và đã được đưa ra trong bình luận thứ hai của tôi.) Nó làm việc tốt cho bàn phím không thống nhất, nhưng không thể phân biệt bàn phím hợp nhất. – cdehaan

Các vấn đề liên quan