Ubuntu 12.04 и клавиатура Microsoft Sculpt

Существует некоторое недопонимание между моим ноутбуком Dell с Ubuntu и клавиатурой Microsoft . При использовании программного обеспечения Bluetooth по умолчанию клавиатура найдена, но соединение диспетчера Bluetooth завершается сообщением «Невозможно подключиться».

Blueman обнаруживает клавиатуру, но не может подключить ее тоже.

Но эта последовательность команд соединяет его без какого-либо пароля:

hcitool scan
sudo hidd --connect 00:12:A1:63:34:6E

Однако даже в этом случае после 15 минут простоя клавиатура переключается в спящий режим и не может быть правильно подключена обратно.

С другой стороны, эта клавиатура успешно подключается ко всем моим устройствам Android. В этом случае у меня есть этот соединительный поток:

  • выбрать устройство клавиатуры в списке найденных устройств
  • Android-устройство генерирует уникальный проход (например, 6789)
  • после ввода пароля с помощью клавиш клавиатуры устройства сопряжены

На мой взгляд, что-то подобное должно произойти при подключении к ноутбуку.

Так что, если вы знаете какой-либо способ решить эту проблему, не становясь хакером и не исправляя стек Bluetooth, я буду очень признателен.

0
задан 23 September 2013 в 12:24

1 ответ

Вы помогли мне в получении клавиатуры, работающей с Вашим потоком, почему я совместно использую свое быстрое (и вероятно грязный) обходное решение, как избежать 15 минут неактивная проблема, возможно, это полезно для любого.

В основном я создал маленький сценарий, который будет пытаться каждые 5 секунд установить соединение с клавиатурой, если клавиатура не будет уже подключена.

Вот сценарий:

#!/bin/bash
DEVICE_ID=7C:1E:52:A9:B5:B6
SHOW_OUTPUT=$(hidd --show)
echo ${SHOW_OUTPUT}

if [[ $SHOW_OUTPUT == *connected* ]]
    then echo "MS Sculp Keyboard is already connected."
else
    # try to connect the device:
    CONNECT_OUTPUT=$(hidd --connect ${DEVICE_ID})
    if [[ $CONNECT_OUTPUT == *down* ]]
    then
        echo "Device cannot be reached, maybe it is deactivated."
    fi
    #
    # check if the device was connected successfully:
    #
    SHOW_OUTPUT=$(hidd --show)
    if [[ $SHOW_OUTPUT == *connected* ]]
    then
        echo "The device was connected successfully."
    fi
fi
sleep 5
exec $0

DEVICE_ID должен быть заменен идентификатором, полученным из hcitool - сканирование. Я использовал cronjob для запуска сценария при начальной загрузке системы. Я открыл таблицу крона в текстовом редакторе с

sudo crontab-e

и добавил строку:

@reboot/usr/local/bin/establishMSSculpKeyboard.sh

к таблице, где establishMSSculpKeyboard.sh является названием сценария, который я скопировал в папку

/usr/local/bin

С наилучшими пожеланиями, aUser

1
ответ дан 23 September 2013 в 12:24

Другие вопросы по тегам:

Похожие вопросы: