События клавиатуры - PullRequest
       24

События клавиатуры

2 голосов
/ 06 апреля 2011

Мне нужно прослушивать события клавиатуры от определенного устройства клавиатуры и знать, какая клавиша нажата в (C #) приложении WPF.В идеале, это не должно зависеть от окна и работать, пока приложение находится в фокусе.

к сожалению, я не могу придумать / найти какой-либо способ сделать это.

Есть идеи?

DR

Редактировать: Я искал библиотеку OpenTK.Input , которая имеет хороший интерфейс для ключей ... Кто-нибудьзнать, как получить KeyboardDevice, не создавая GameWindow

Информация: Кстати, это для сканера штрих-кода, который имитирует клавиатуру ... у кого блестящая идея, чтоа?

Ответы [ 3 ]

1 голос
/ 13 апреля 2011

Я на самом деле работаю над проектом, который делает именно это.Проверьте Kaptivate .Он устанавливает глобальный хук клавиатуры и связывает вместе (используя магию) необработанный ввод API, а затем вызывает функцию обратного вызова, чтобы ВЫ могли решить (1) это устройство, которое мне нужно? И (2) я должен разрешитьдругие приложения, чтобы увидеть его, или просто сохранить нажатие клавиши для себя.На данный момент это только C ++, но одна из целей в конечном итоге состоит в том, чтобы иметь оболочки C #.

Для клавиатур каждое сгенерированное событие сообщает вам vkey, код сканирования и исходное устройство.

0 голосов
/ 13 апреля 2011

Удалось найти этот учебник на MSDN.вместе с объектом Sample Scanner, который поставляется с POS.Net SDK

У меня не было времени, чтобы разобраться, как он работает, чтобы дать хороший обзор, но кажется,Я должен быть в состоянии написать собственную абстракцию сервисного объекта для любого устройства HID с клавиатурным клином.

0 голосов
/ 06 апреля 2011

Посмотрите 2 статьи ниже.

Использование глобальной клавиатуры (WH_KEYBOARD_LL) в WPF / C #

https://gist.github.com/471698

оба должны быть именно тем, что вы хотите ...

...