转发Android手机连接蓝牙键盘

Android手机NexusOne连接AppleBluetoothKeyboard

PostedonAugust20,2010byhenry

首先所有带蓝牙的android手机理论上都是可以连接蓝牙键盘鼠标的(HumanInterfaceDevice),不幸地是官方的蓝牙profile中默认不包括HIDprofile。所以只有采用第三方的ROM如Cyanogen(CM6版本以上)或在官方的rom上搭配bluezutility来实现蓝牙键鼠的连接。

这里我们仅讨论第二种在官方ROM上添加工具的方案。手机必须取得root权限,或者是ADP(AndroidDevPhone),并且需要安装busybox。

1.先下载需要的工具。

$wgethttp://androidobex.googlecode.com/files/hciconfig

$wgethttp://androidobex.googlecode.com/files/hcitool

$wgethttp://androidobex.googlecode.com/files/hidd

2.提升到root权限,并且将/system挂载成可读写,默认为read-only

$su

#mount-oremount,rw-tyaffs2/dev/block/mtdblock3/system

#chmod777/system/xbin

3.从本地复制第一步下载的文件到手机

$adbpushhidd/system/xbin

$adbpushhcitool/system/xbin

$adbpushhciconfig/system/xbin

4.如果你的手机不是ADP的话,可能无法直接从本地电脑复制文件到手机。这样你可以先用usb线连接手机,把以上三个文件复制到sdcard根目录上,然后执行。

#cp/sdcard/hidd/system/xbin/

#cp/sdcard/hcitool/system/xbin/

#cp/sdcard/hciconfig/system/xbin/

5.打开手机蓝牙,在Settings->Wireless&networksettings->Bluetoothsettings中找到键盘并且配对。pincode可以填写0000,配对成功后会发现该设备显示为’pariedbutnotconnected’,这是因为缺少HIDprofile。

6.现在要用到之前拷入手机的三个文件。实际情况中设备的Mac地址会与下面的例子有所不同,根据实际情况输入。

#hciconfig

hci0:Type:UART

BDAddress:00:22:A5:B8:AD:65ACLMTU:1021:4SCOMTU:180:4

UPRUNNINGPSCAN

RXbytes:8672acl:98sco:0events:285errors:0

TXbytes:3336acl:102sco:0commands:89errors:0

#hcitooldev

Devices:

hci000:22:A5:B8:AD:65

#hcitoolscan

Scanning…

00:1D:4F:A7:9A:49AppleWirelessKeyboard

#hidd–connect00:1D:4F:A7:9A:49

#hcitoolcon

Connections:

<ACL00:1D:4F:A7:9A:49handle1state1lmMASTER

9.至此,AppleBluetoothKeyboard连接成功。打开任意程序,蓝牙键盘敲击的键将出现在输入栏。经过测试,谷歌中文法也可以正常使用并且可以用数字键选择候选字。

10.剩下的问题就是苹果的键盘的多功能键(调节音量,屏幕亮度)暂时还不能在手机里使用,有待进一步研究如何修改这几个键位。

相关推荐