Как получить RAW USB-вход с беспроводной клавиатуры - PullRequest
1 голос
/ 29 августа 2011

Я пользуюсь Ubuntu и приобрел беспроводную клавиатуру Logitech K750, работающую от солнечной энергии. Я хотел бы использовать это устройство не только в качестве клавиатуры, но и в качестве датчика освещенности для моего офиса. Клавиатура (это я знаю из имеющегося для нее инструмента Windows, который показывает уровень освещенности в люксах) передает текущий свет на компьютер, поэтому должна быть возможность использовать его в качестве датчика.

У меня вопрос, как получить данные, передаваемые с клавиатуры. Я попытался идентифицировать USB-порт с помощью dmesg, в результате чего (это только последние строки после того, как я вставил usb-приемник)

[  379.352041] usb 5-1: new full speed USB device using uhci_hcd and address 4
[  379.556188] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/input/input12
[  379.556345] generic-usb 0003:046D:C52B.0005: input,hidraw0: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:1d.3-1/input0
[  379.563530] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.1/input/input13
[  379.563794] generic-usb 0003:046D:C52B.0006: input,hiddev0,hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:1d.3-1/input1
[  379.571558] generic-usb 0003:046D:C52B.0007: hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:1d.3-1/input2

lsusb дает мне

Bus 005 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 005 Device 003: ID 046a:0106 Cherry GmbH 
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Я точно уверен, что это значит.

Я пробовал sudo cat / dev / usb / hiddev0, который выглядел как вероятное решение, но данные не отображаются. (Некоторое время назад я мог получать данные от мыши с помощью этой команды, но теперь это тоже не работает)

Кто-нибудь знает, как получить данные с устройства?

Редактировать sudo cat / dev / tty0 работает, но я не вижу символов, которые я могу отобразить ... терминал показывает "9 9 9 9 ".

Edit2 Я не уверен, что этот сигнал даже от моей клавиатуры. Когда я нажимаю «aaabbbcccabcd», а затем разрешаю нечитаемый текст, используя od -x, я получаю

0000000 1e9e b030 b030 2eae ae2e 9e1e 2030 00a0
0000017

Я не вижу рисунка ...

Ответы [ 2 ]

2 голосов
/ 05 декабря 2012

Я недавно купил эту клавиатуру, а затем наткнулся на сообщение в блоге разработчика Debian Джулиана Данжу на , использующем upower с объединяющими устройствами Logitech и солнечным K750, в частности . В посте упоминается, что его работа по недвижимости может появиться в следующей версии upower, v0.9.19. Пока это не так, я собираюсь попробовать версию в их репозитории (см. Страницу upower на freedesktop.org).

Если вы намереваетесь погрузиться в него самостоятельно, этот блог (и предыдущая запись на K750) отметит, что для подключения используется протокол HID ++, и ссылается на черновую спецификацию. Вчера я видел твит Джулиана Данжу о том, что его работа в этом направлении продвигается - вы можете связаться с ним напрямую.

edit - Update: эта работа теперь (частично?) Интегрирована в менеджер питания gnome (через upower).

Кроме того, эта работа была продолжена и превращена в приложение для управления адаптером Logitech Unifying (сопряжение, отключение), а также для проверки яркости, которая называется Solaar: https://github.com/pwr/Solaar Это большая помощь:)

2 голосов
/ 17 декабря 2011

Я недавно выполнил поиск в Google и нашел этот сайт: https://github.com/aheadley/logitech-solar-k750-linux Это может быть полезно для вас и мира Linux. Я скорее пользователь Windows, поэтому я не могу много вам посоветовать с Ubuntu / Linux и Python. Исходный код на языке Python. Надеюсь, это поможет вам куда-нибудь добраться.

...