boot vs. report protocol
Hi,
In net/bluetooth/core.c there is:
if (session->input) {
hidp_send_ctrl_message(session,
HIDP_TRANS_SET_PROTOCOL | HIDP_PROTO_BOOT, NULL, 0);
session->flags |= (1 << HIDP_BOOT_PROTOCOL_MODE);
session->leds = 0xff;
hidp_input_event(session->input, EV_LED, 0, 0);
}which effectively sets the boot protocol for all input devices. To support some scroll wheel mice they need to be put into report mode, though:
if (session->input) {
hidp_send_ctrl_message(session,
HIDP_TRANS_SET_PROTOCOL | HIDP_PROTO_REPORT, NULL, 0);
session->leds = 0xff;
hidp_input_event(session->input, EV_LED, 0, 0);
}I assume that's safe. Solaris for instance, initializes all devices in report mode by default. It never even tries boot protocol.
Maybe it would make sense to have a userspace interface to switch the mode from within hidd.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
Marcel Holtmann
maintainerHi Ortwin,
Quoted 23 lines
In
net/bluetooth/core.cthere is:if (session->input) { hidp_send_ctrl_message(session, HIDP_TRANS_SET_PROTOCOL | HIDP_PROTO_BOOT, NULL, 0); session->flags |= (1 << HIDP_BOOT_PROTOCOL_MODE); session->leds = 0xff; hidp_input_event(session->input, EV_LED, 0, 0); }which effectively sets the boot protocol for all input devices. To support some scroll wheel mice they need to be put into report mode, though:
if (session->input) { hidp_send_ctrl_message(session, HIDP_TRANS_SET_PROTOCOL | HIDP_PROTO_REPORT, NULL, 0); session->leds = 0xff; hidp_input_event(session->input, EV_LED, 0, 0); }
Quoted 2 lines
I assume that's safe. Solaris for instance, initializes all devices in report mode by default. It never even tries boot protocol.
you assumption is wrong. The flags variable doesn't change anything. You might wanna try 2.6.20-mh1 which is the first one that includes the official report mode support.
Regards
Marcel
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel