Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Feb 2006 09:40:11 -0800
From:      Maksim Yevmenkin <maksim.yevmenkin@savvis.net>
To:        Eric Anderson <anderson@centtech.com>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: mouse battery status?
Message-ID:  <43F60A7B.2090206@savvis.net>
In-Reply-To: <43F5D186.7060302@centtech.com>
References:  <43F34314.7030606@centtech.com> <43F3688B.8060700@savvis.net> <43F4B7AA.5030000@centtech.com> <43F5229C.8050106@savvis.net> <43F5D186.7060302@centtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Eric Anderson wrote:

[...]

>> do not know. this code in bthidd(8) was written by looking at msdn 
>> docs (i think).
>>
>>> I have a microsoft bluetooth mouse at home that I'll try to get the 
>>> info from.
>>
>> ok. let us know about the results.
> 
> Here's a bthidcontrol dump from a microsoft mouse:

[...]

> Collection page=Consumer usage=Consumer_Control
> Collection page=Generic_Desktop usage=Mouse
> Input   id=3 size=2 count=1 page=Microsoft usage=0xfe01 Variable, 
> logical range 0..3
> Input   id=3 size=1 count=1 page=Microsoft usage=0xfe00 Variable, 
> logical range 0..1
> Input   id=3 size=5 count=1 page=0x0000 usage=0x0000 Const, logical 
> range 0..1
> End collection
> End collection

as you can see there is an input hid report, page == "Microsoft usage", 
usage == 0xfe01 and range 0..3. this looks like "battery report".

i do not know what 0xfe00 report is

> Collection page=Consumer usage=Consumer_Control
> Collection page=Generic_Desktop usage=Mouse
> Input   id=4 size=8 count=1 page=Consumer usage=AC_Pan Variable 
> Relative, logical range -127..127
> Feature id=4 size=1 count=1 page=Microsoft usage=0xff04 Variable, 
> logical range 0..1
> Feature id=4 size=1 count=1 page=Microsoft usage=0xff06 Variable, 
> logical range 0..1
> Feature id=4 size=1 count=6 page=0x0000 usage=0x0000 Const, logical 
> range 0..1
> End collection
> End collection

i'm not sure what these are

> I also noticed that a query shows this line:
> 
> battery_power           true;
> 
> What is that telling me?  That it is currently on battery power?   I 
> suppose if that's the case, then some devices may report false for AC 
> power and true for battery..

no, its telling you that device uses battery as its power source. this 
information comes from the sdp record. usually, it only needs to pulled 
once during connection establishment.

>>> I wonder where the right place to report the battery information is?
>>
>> like i said, right now it goes to /var/log/messages. info, notice and 
>> warning levels are used for different battery states (ok, low, very 
>> low). if this is not the right place, please let me know where do you 
>> want it to be?
> 
> I suppose if one wanted to make a tool to monitor the mouse battery 
> (say, for an X window manager), you could poll/parse the output of 
> bthidcontrol, right?  Is there a better way to grab the info (a bthid 
> library or something)?   Sorry if this is a trivial question - I'm not a 
> bluetooth hacker :)

not quite. "battery report" is an input report, i.e. mouse should send 
it periodically. bhtidd(8) already parses it. the question is what 
should it do with this information? right now it just logs it. it could 
send another message to another application (i.e. mouse battery 
monitoring tool) so it can do whatever is required.

thanks,
max



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43F60A7B.2090206>