bthidd
Maksim Yevmenkin
maksim.yevmenkin at savvis.net
Wed Apr 20 12:52:14 PDT 2005
Ronald,
>>>>>> Is bthidd usable? It isn't connected to the build.
>>>>>
>>>>>
>>>>> define "usable"? :) you should be able to use it with bluetooth
>>>>> mice, but not with bluetooth keyboards. so, imo, its not very
>>>>> usable at the moment. bluetooth keyboard support is not there
>>>>> because i do not like the fact that i can not have more then one
>>>>> keyboard attached to the system. as soon as i find some time i
>>>>> will look into the system console driver to see what it takes to
>>>>> add support for more then one keyboard.
>>>>
>>>> Usable... Mmm. I have a SonyEricsson K700i phone and on Windows I
>>>> can use the joystick of the phone as a mouse to control
>>>> mediaplayer, etc. I would like to do the same on FreeBSD, just for
>>>> the coolness of it. :-)
>>>
>>> :)
>>>
>>>> Can I just do this?
>>>
>>> i do not know. it depends. if k700i looks like mouse then it most
>>> likely will work. if k700i looks like keypad/keyboard then it will
>>> not work (for the reason described above - cant have more then one
>>> active keyboard/keypad attached to the console).
>>>
>>> there is a bthidcontrol(8) tool in
>>> /usr/src/usr.sbin/bluetooth/bthidcontrol. could you please compile
>>> it and send me the output of "query" command? there is a
>>> bthidcontrol.8 man page in the same directory ("nroff -man
>>> bthidcontrol.8 |less" - to read it)
>>>
>>>> cd /usr/src/usr.sbin/bluetooth/bthidd/
>>>> make && make install && make clean
>>>> Or is there more to it?
>>>
>>> you will also need to create /etc/bluetooth/bthidd.conf
>>> configuration file. bthidcontrol(8) will help you with that.
>>
>> Thanks for the info. I'm going to try this soon. But I left my phone
>> at my moms house, just one evening before she went on holiday for
>> two weeks. :-(
>
> Da phone is back.
> # bthidcontrol -a phone query
> device {
> bdaddr 00:0f:de:78:93:d8;
> control_psm 0x11;
> interrupt_psm 0x13;
> reconnect_initiate true;
> battery_power false;
> normally_connectable false;
> hid_descriptor {
> 0x05 0x01 0x09 0x06 0xa1 0x01 0x85 0x01
> 0x05 0x07 0x19 0xe0 0x29 0xe7 0x15 0x00
> 0x25 0x01 0x75 0x01 0x95 0x08 0x81 0x02
> 0x95 0x01 0x75 0x08 0x81 0x03 0x95 0x05
> 0x75 0x01 0x05 0x08 0x19 0x01 0x29 0x05
> 0x91 0x02 0x95 0x01 0x75 0x03 0x91 0x03
> 0x95 0x06 0x75 0x08 0x15 0x00 0x25 0x65
> 0x05 0x07 0x19 0x00 0x29 0x65 0x81 0x00
> 0xc0 0x05 0x01 0x09 0x02 0xa1 0x01 0x85
> 0x02 0x09 0x01 0xa1 0x00 0x05 0x09 0x19
> 0x01 0x29 0x03 0x15 0x00 0x25 0x01 0x95
> 0x03 0x75 0x01 0x81 0x02 0x95 0x01 0x75
> 0x05 0x81 0x03 0x05 0x01 0x09 0x30 0x09
> 0x31 0x15 0x81 0x25 0x7f 0x75 0x08 0x95
> 0x02 0x81 0x06 0xc0 0xc0
> };
> }
i have copied your config and run 'bthidcontrol dump'
% bthidcontrol -a 00:0f:de:78:93:d8 dump
Collection page=Generic_Desktop usage=Keyboard
Input id=1 size=1 count=1 page=Keyboard usage=Keyboard_LeftControl
Variable, logical range 0..1
Input id=1 size=1 count=1 page=Keyboard usage=Keyboard_LeftShift
Variable, logical range 0..1
Input id=1 size=1 count=1 page=Keyboard usage=Keyboard_LeftAlt
Variable, logical range 0..1
Input id=1 size=1 count=1 page=Keyboard usage=Keyboard_Left_GUI
Variable, logical range 0..1
Input id=1 size=1 count=1 page=Keyboard usage=Keyboard_RightControl
Variable, logical range 0..1
Input id=1 size=1 count=1 page=Keyboard usage=Keyboard_RightShift
Variable, logical range 0..1
Input id=1 size=1 count=1 page=Keyboard usage=Keyboard_RightAlt
Variable, logical range 0..1
Input id=1 size=1 count=1 page=Keyboard usage=Keyboard_Right_GUI
Variable, logical range 0..1
Input id=1 size=8 count=1 page=0x0000 usage=0x0000 Const Variable,
logical range 0..1
Output id=1 size=1 count=1 page=LEDs usage=Num_Lock Variable, logical
range 0..1
Output id=1 size=1 count=1 page=LEDs usage=Caps_Lock Variable, logical
range 0..1
Output id=1 size=1 count=1 page=LEDs usage=Scroll_Lock Variable,
logical range 0..1
Output id=1 size=1 count=1 page=LEDs usage=Compose Variable, logical
range 0..1
Output id=1 size=1 count=1 page=LEDs usage=Kana Variable, logical range
0..1
Output id=1 size=3 count=1 page=0x0000 usage=0x0000 Const Variable,
logical range 0..1
Input id=1 size=8 count=6 page=Keyboard
usage=Reserved_(no_event_indicated), logical range 0..101
End collection
Collection page=Generic_Desktop usage=Mouse
Collection page=Generic_Desktop usage=Pointer
Input id=2 size=1 count=1 page=Button usage=Button_1 Variable, logical
range 0..1
Input id=2 size=1 count=1 page=Button usage=Button_2 Variable, logical
range 0..1
Input id=2 size=1 count=1 page=Button usage=Button_3 Variable, logical
range 0..1
Input id=2 size=5 count=1 page=0x0000 usage=0x0000 Const Variable,
logical range 0..1
Input id=2 size=8 count=1 page=Generic_Desktop usage=X Variable
Relative, logical range -127..127
Input id=2 size=8 count=1 page=Generic_Desktop usage=Y Variable
Relative, logical range -127..127
End collection
End collection
looks like the phone has both keyboard and the mouse part. do you know
if phone sends mouse events (if you move joystick i guess)? how about
running 'hcidump' while pressing buttons on the phone?
> # bthidcontrol -a phone query > /etc/bluetooth/bthidd.conf
>
> # bthidd -d
> <select 'control external device' on my phone>
> bthidd[786]: Accepted control connection from 00:0f:de:78:93:d8
> bthidd[786]: Accepted interrupt connection from 00:0f:de:78:93:d8
that looks fine. it means there is a hid session between phone and the
computer. please use hcidump to see if there is any hid events going
from the phone.
> And now I'm stuck. I don't see a new device in /dev or a msg in
> dmesg/console.
there wont be any device. the mouse part *might* work. btw try to run
bthidd on console (not on xterm).
thanks,
max
More information about the freebsd-bluetooth
mailing list