1

Недавно я купил небольшое USB-устройство, которое работает как «устройство HID-клавиатуры» (стандартная USB-клавиатура).

У него есть только один ключ, который связан со строчной буквой «b».

Я хочу, чтобы это отразилось на чем-то другом, и на ум приходят несколько вариантов:

  1. Перепривязка программного обеспечения. Легко и просто, но я не хочу настраивать каждую машину, к которой подключаю устройство.

  2. Устройство поставляется с драйвером Windows. Это имеет два неудобства: нет поддержки Linux/BSD/ чего-либо еще, и драйвер МОЖЕТ быть вредоносным (учитывая происхождение устройства, это реалистичная возможность). Однако этот драйвер может позволить устройству быть восстановленным.

  3. Напишите мой собственный драйвер. Также неудобно развертывать его везде, но это может быть интересно :)

  4. Перепрограммируйте устройство.

Я хотел бы избежать вариантов 1 и 2. И я, конечно, хотел бы сделать 4, но я не знаю, можно ли перепрограммировать USB-устройство клавиатуры для вывода разных клавиш (это может быть просто, поскольку устройства имеют ТОЛЬКО 1 клавишу).

ПОЯСНЕНИЯ: Устройство работает на всех платформах , как стандартная клавиатура USB делает. Однако на прилагаемом компакт-диске имеется собственный драйвер, который можно настроить для перевода ключа в то, что выбирает пользователь

3 ответа3

1

Почему бы вам не построить свой собственный? Просто возьмите старую клавиатуру, которой вы не пользуетесь, отследите ключи и восстановите только ту клавишу, которую хотите использовать! Примерно так:

One-Key-клавиатура

USB-клавиатура

Или вы можете пойти еще дальше и использовать микроконтроллер и некоторые переключатели для отправки сигнала на любую клавишу, которую хотите использовать, и написать свой собственный драйвер для микроконтроллера. Что-то вроде того:

КЛЮЧ ---> Микроконтроллер ---> Шина данных ---> Электронная плата клавиатуры

редактировать: перепрограммирование не стоило бы. Это займет у вас целую вечность за электронику за 2 доллара. Почему буква «б»? производитель сказал что-нибудь об этом? Можете ли вы изменить это письмо с помощью драйвера? Чип в клавиатуре в теории является тем, что посылает строку 'b' с использованием RS232. А как насчет физического USB-регистратора ключей?

0

Привязка программного обеспечения является наиболее разумным решением здесь. Проверьте autohotkey. Он имеет целый язык сценариев и может делать действительно интересные вещи с помощью вашей, возможно, причудливой одноклавишной клавиатуры (даже ДЛИННЫЕ комбинации клавиш - которые я могу себе представить, ОЧЕНЬ странные и забавные): " https://www.autohotkey.com/ "

0

Если есть специальный драйвер для Windows, который позволяет перепрограммировать устройство, установить usbsnoop или подобное программное обеспечение, захватывать USB-трафик, привязывая его к различным ключам, выяснить протокол и внедрить собственный инструмент связывания или просто повторить трафик под Linux.

Если пользовательский драйвер Windows просто перехватывает их ключевое событие и заменяет что-то еще, вы можете сделать то же самое в Linux, см., Например, здесь или здесь.

Что касается (4), я бы предположил, что на устройстве есть какой-то микроконтроллер, и в принципе вы должны быть в состоянии перепрограммировать его, используя правильные инструменты, но сначала будут приложены значительные усилия для его реинжиниринга.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .