PDA

Просмотр полной версии : Вариант подключения USB клавиатуры, мыши, геймпада



HighLander
03.02.2022, 15:44
Добрый день!

На просторах али нашел такое интересное устройство (https://aliexpress.ru/item/1005002503028302.html)
Основано на чипе ch9359, суть его передача данных от USB HID устройств по последовательному порту.
Даташит слабенький, но есть.
Разные варианты по компоновке на али тоже есть, я купил вариант по ссылке, чтобы можно было на компе его погонять.

По итогу, проводная клава гениус работает, беспроводной комплект от a4tech работает, беспроводная клавиатура с тачпадом с али работает, причем когда оба свистка воткнуты, обе клавы и мышь с тачпадом работают )))), геймпад простейший от ритмикс с аналоговыми стиками тоже работает. Даже работают беспроводная PS/2 клавиатура и мышь через переходник на USB ))))
Мультимедийные и офисные доп кнопки с клавиатур работают.

Под работой я имею ввиду что в терминал на компе приходят данные с подключенных устройств

Сейчас планирую поменять прошивку этого контроллера клавиатуры (https://zx-pk.ru/threads/33211-universalnyj-kontroller-ps-2-klaviatury-dlya-kompyuterov-s-matrichnymi-klaviaturami.html) под работу с этим устройством.

valerium
03.02.2022, 20:03
Под работой я имею ввиду что в терминал на компе приходят данные с подключенных устройств

Сейчас планирую поменять прошивку этого контроллера клавиатуры (https://zx-pk.ru/threads/33211-universalnyj-kontroller-ps-2-klaviatury-dlya-kompyuterov-s-matrichnymi-klaviaturami.html) под работу с этим устройством.
Если я правильно увидел, эта плата формирует какие-то наборы событий и передает их по RS232 на скорости до 115200.
А формат этих событий у разных устройств одинаков ? Скажем, две сильно разные клавиатуры нажатие одноименной клавиши отрабатывают одинаково ?
115200 - вроде бы и много, но надо разбираться, достаточно ли при том формате данных, которые там передаются.

Кстати, а что передается в UART, когда воткнуты две клавиатуры и на обеих давим одну клавишу ? одно и то же событие или два разных "с оттенками" ?

HighLander
04.02.2022, 09:24
Есть 4 скорости передачи, 300000, 115200, 57600, 38200
Передает пакет, состоящий из заголовка, идентификатора устройства (мышь, клава, или др), режим устройства, номер порта к которому подключен, пакет данных, номер пакета и контрольная сумма
Пакеты от клавиатуры и мыши идут по событию (кнопку нажали, мышь подвигали), от геймпада пакеты идут постоянно.
В пакете от клавиатуры в одном байте флаги клавиш альт, вин, шифты и т.п., и сканкоды до 4-х одновременно нажатых клавиш. Можно командой включать светики на клавиатуре (нум, скролл и капс)
Пакет от мыши может быть разной длинны, похоже зависит от дпи мыши, в нем приращение координат по направлениям, направление вращения колесика и нажатие кнопок.
Пакет от геймпада - смещения аналоговых стиков по осям, и кнопки. Как заставить работать виброотклик не разбирался...

OrionExt
04.02.2022, 15:48
прикольное очередное поделие от китайцев на стероидном x51. осталось понять как его программить с 64 ячейками озу :)

освежу закостенелое в консервной банке обсуждение на этот форуме. https://aliexpress.ru/item/1005003068579958.html без привязки к теме автора :)

простых usb штук.

HighLander
10.03.2022, 11:19
Контроллер ch9350 победил, подробности тут (https://zx-pk.ru/threads/33211-universalnyj-kontroller-ps-2-klaviatury-dlya-kompyuterov-s-matrichnymi-klaviaturami.html?p=1149280&viewfull=1#post1149280)