Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Apr 2005 12:51:54 -0700
From:      Maksim Yevmenkin <maksim.yevmenkin@savvis.net>
To:        Ronald Klop <ronald-freebsd8@klop.yi.org>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: bthidd
Message-ID:  <4266B2DA.50609@savvis.net>
In-Reply-To: <opspjmf0198527sy@smtp.local>
References:  <opsn65wosp8527sy@smtp.local> <42444AB4.7080300@savvis.net> <opsocok7yo8527sy@smtp.local> <42483D9F.2090805@savvis.net> <opsoge2fqk8527sy@smtp.local> <opspjmf0198527sy@smtp.local>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4266B2DA.50609>