Ubuntu 12.04 e Microsoft Sculpt keyboard

0

há algum mal-entendido entre meu laptop Dell com o Ubuntu e o teclado da Microsoft . Ao usar o software padrão do bluetooth, o teclado é encontrado, mas o emparelhamento do gerenciador do bluetooth termina com a mensagem 'Não é possível conectar'.

O Blueman detecta o teclado, mas não consegue conectá-lo também.

Mas essa sequência de comandos conecta-a sem nenhuma senha:

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

No entanto, mesmo neste caso, após 15 minutos inativos, o teclado alterna para o modo de espera e não pode ser conectado corretamente.

Por outro lado, este teclado se conecta com sucesso a todo o meu dispositivo android. Neste caso, eu tenho esse fluxo de conexão:

  • escolha um dispositivo de teclado na lista de dispositivos encontrados
  • dispositivo android gera um passo único (como 6789)
  • após a entrada da senha usando os dispositivos das teclas do teclado emparelhados

Na minha opinião, algo como isso deve acontecer ao conectar ao laptop.

Então, se você sabe alguma maneira de resolver este problema sem se tornar um hacker bluetooth e consertar uma pilha bluetooth, eu serei muito grato.

    
por Alex Povar 23.09.2013 / 10:24

1 resposta

1

Você me ajudou a fazer com que o teclado trabalhasse com o seu tópico, portanto compartilharei minha solução rápida (e provavelmente suja) de como evitar o problema de 15 min, talvez seja útil para qualquer um.

Basicamente eu criei um pequeno script que tentará a cada 5 segundos para estabelecer uma conexão com o teclado se o teclado ainda não estiver conectado.

Aqui está o script:

#!/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 deve ser substituído pelo id obtido de hcitool -scan. Eu usei um cronjob para iniciar o script ao inicializar o sistema. Eu abri a tabela cron em um editor de texto com

sudo crontab -e

e adicionou a linha:

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

para a tabela, em que establishMSSculpKeyboard.sh é o nome do script, que eu copiei para a pasta

/ usr / local / bin

Atenciosamente, aUser

    
por aUser 24.08.2014 / 19:57