* [Bluez-users] bthid updated
@ 2003-11-06 1:45 Peter Klausler
2003-11-06 9:02 ` Gareth Reakes
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Peter Klausler @ 2003-11-06 1:45 UTC (permalink / raw)
To: bluez-users
I've updated my bthid daemon with some tweaks that
may or may not have been necessary to get the new
Apple Bluetooth keyboard to work, and a new "-p"
option that enables regular pinging after inactivity,
which appears to be the key to keeping the Microsoft
keyboard from going to sleep so hard that it needs
to be power-cycled. Michal Semler suggested the
technique, and I wish that I had thought of it before
I broke the keyboard's battery compartment cover from
overuse.
The code is linked to http://klausler.com/msbtkb-linux.html,
a web page that badly needs revamping, I know.
I'm *very* happy with the new Apple keyboard, by the way.
It's affordable, solidly built, has an ON/OFF switch (!), and
is much more amenable to the Dvorak layout. But I still prefer
the 5-button Microsoft mouse with its scroll wheel to Apple's
one-button Bluetooth mouse.
The Microsoft and Apple offerings remain the only Bluetooth
keyboards of commercial availability known to me. Has anyone
seen another?
--
Peter Klausler, Sr. Principal Engineer, Cray Inc. ',.PY FGCRL
pmk@cray.com, peter@klausler.com, http://klausler.com AOEUI DHTNS
O/S kernel, compilers, simulation, and ISA design ;QJKX BMWVZ
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-06 1:45 [Bluez-users] bthid updated Peter Klausler
@ 2003-11-06 9:02 ` Gareth Reakes
2003-11-06 9:10 ` Marcel Holtmann
` (2 subsequent siblings)
3 siblings, 0 replies; 13+ messages in thread
From: Gareth Reakes @ 2003-11-06 9:02 UTC (permalink / raw)
To: Peter Klausler; +Cc: bluez-users
> technique, and I wish that I had thought of it before
> I broke the keyboard's battery compartment cover from
> overuse.
I have been using this technique. I think there is another timeout
somewhere as both the mouse and keyboard drop connection within 5 mins
of each other after about a day. Could just be my broken kit though :(
Thanks for all your work Peter. Did the UK keyboard patch make it into
this release?
Gareth
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-06 1:45 [Bluez-users] bthid updated Peter Klausler
2003-11-06 9:02 ` Gareth Reakes
@ 2003-11-06 9:10 ` Marcel Holtmann
2003-11-10 11:25 ` Michal Semler (volny.cz)
2003-11-10 13:06 ` Olivier Bornet
2003-11-15 18:02 ` Edd Dumbill
3 siblings, 1 reply; 13+ messages in thread
From: Marcel Holtmann @ 2003-11-06 9:10 UTC (permalink / raw)
To: Peter Klausler; +Cc: BlueZ Mailing List
Hi Peter,
> I've updated my bthid daemon with some tweaks that
> may or may not have been necessary to get the new
> Apple Bluetooth keyboard to work, and a new "-p"
> option that enables regular pinging after inactivity,
> which appears to be the key to keeping the Microsoft
> keyboard from going to sleep so hard that it needs
> to be power-cycled. Michal Semler suggested the
> technique, and I wish that I had thought of it before
> I broke the keyboard's battery compartment cover from
> overuse.
if you have some extra time, please send me the information from
"hcitool inq" and "hcitool info" of the Apple devices. And the output
from the libs2 CVS "sdptest records" could be very helpful, too.
Let's talk a little bit about the freezing of the Microsoft devices,
because I already solved this for my own HID implementation, but I
forgot to share my knowledge. The mouse and the keyboard drop both L2CAP
connections after 12 minutes of idle time and try to disconnect the ACL
link after that, but on the Linux side we don't handle this correctly.
It seems that closing the two L2CAP connections at the same time causes
problems. The problem must be inside the kernel HCI or L2CAP layer, but
on my latest review I found nothing wrong. So I used this pseudo code
if (we_close_connection) {
close(control_psm);
sleep(1);
close(interrupt_psm);
} else { /* HID device after 12 minutes idle */
close(interrupt_psm);
sleep(1);
close(control_psm);
}
If you don't do it this way the ACL connection between the host and the
HID device will not be terminated. In general this is not a problem, but
it gets unusable and so you have to power-cycle.
Keeping the HID device alive with some kind of pinging is not a good
idea, because it consumes to much power ;)
> The Microsoft and Apple offerings remain the only Bluetooth
> keyboards of commercial availability known to me. Has anyone
> seen another?
Logitech seems to have some devices on the market. Last time I tried the
old Logitech Presenter I found that your SDP implementation can't get
the HID descriptor out of this device. I don't have this device handy,
so I can't reproduce the error.
Have you ever looked at the "User level driver support for input"? It
maybe can replace your fake driver and I also backported it to 2.4, but
Marcelo didn't picked it up.
Regards
Marcel
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-06 9:10 ` Marcel Holtmann
@ 2003-11-10 11:25 ` Michal Semler (volny.cz)
2003-11-10 11:52 ` Marcel Holtmann
0 siblings, 1 reply; 13+ messages in thread
From: Michal Semler (volny.cz) @ 2003-11-10 11:25 UTC (permalink / raw)
To: Marcel Holtmann; +Cc: bluez-users
Dne =E8t 6. listopadu 2003 10:10 Marcel Holtmann napsal(a):
> Hi Peter,
>
> > I've updated my bthid daemon with some tweaks that
> > may or may not have been necessary to get the new
> > Apple Bluetooth keyboard to work, and a new "-p"
> > option that enables regular pinging after inactivity,
> > which appears to be the key to keeping the Microsoft
> > keyboard from going to sleep so hard that it needs
> > to be power-cycled. Michal Semler suggested the
> > technique, and I wish that I had thought of it before
> > I broke the keyboard's battery compartment cover from
> > overuse.
>
> if you have some extra time, please send me the information from
> "hcitool inq" and "hcitool info" of the Apple devices. And the output
> from the libs2 CVS "sdptest records" could be very helpful, too.
>
> Let's talk a little bit about the freezing of the Microsoft devices,
> because I already solved this for my own HID implementation, but I
> forgot to share my knowledge. The mouse and the keyboard drop both L2CAP
> connections after 12 minutes of idle time and try to disconnect the ACL
> link after that, but on the Linux side we don't handle this correctly.
Maybe M$ handle it incorrectly on theit side :)
> It seems that closing the two L2CAP connections at the same time causes
> problems. The problem must be inside the kernel HCI or L2CAP layer, but
> on my latest review I found nothing wrong. So I used this pseudo code
>
> if (we_close_connection) {
> close(control_psm);
> sleep(1);
> close(interrupt_psm);
> } else { /* HID device after 12 minutes idle */
> close(interrupt_psm);
> sleep(1);
> close(control_psm);
> }
>
> If you don't do it this way the ACL connection between the host and the
> HID device will not be terminated. In general this is not a problem, but
> it gets unusable and so you have to power-cycle.
>
> Keeping the HID device alive with some kind of pinging is not a good
> idea, because it consumes to much power ;)
=46or now I prefer working solution if non other and better is known...
>
> > The Microsoft and Apple offerings remain the only Bluetooth
> > keyboards of commercial availability known to me. Has anyone
> > seen another?
>
> Logitech seems to have some devices on the market. Last time I tried the
> old Logitech Presenter I found that your SDP implementation can't get
> the HID descriptor out of this device. I don't have this device handy,
> so I can't reproduce the error.
>
> Have you ever looked at the "User level driver support for input"? It
> maybe can replace your fake driver and I also backported it to 2.4, but
> Marcelo didn't picked it up.
>
> Regards
>
> Marcel
Michal
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-10 11:25 ` Michal Semler (volny.cz)
@ 2003-11-10 11:52 ` Marcel Holtmann
0 siblings, 0 replies; 13+ messages in thread
From: Marcel Holtmann @ 2003-11-10 11:52 UTC (permalink / raw)
To: cijoml; +Cc: BlueZ Mailing List
Hi Michal,
> > Let's talk a little bit about the freezing of the Microsoft devices,
> > because I already solved this for my own HID implementation, but I
> > forgot to share my knowledge. The mouse and the keyboard drop both L2CAP
> > connections after 12 minutes of idle time and try to disconnect the ACL
> > link after that, but on the Linux side we don't handle this correctly.
>
> Maybe M$ handle it incorrectly on theit side :)
I don't think that this is a Microsoft problem, because it works fine
with the XP Bluetooth stack and the keyboard and mouse are running the
HID implementation from CSR.
> > Keeping the HID device alive with some kind of pinging is not a good
> > idea, because it consumes to much power ;)
>
> For now I prefer working solution if non other and better is known...
Try to include my approach into the code from Peter and see if it works
for you.
Regards
Marcel
-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-06 1:45 [Bluez-users] bthid updated Peter Klausler
2003-11-06 9:02 ` Gareth Reakes
2003-11-06 9:10 ` Marcel Holtmann
@ 2003-11-10 13:06 ` Olivier Bornet
2003-11-15 18:02 ` Edd Dumbill
3 siblings, 0 replies; 13+ messages in thread
From: Olivier Bornet @ 2003-11-10 13:06 UTC (permalink / raw)
To: Peter Klausler; +Cc: bluez-users
[-- Attachment #1: Type: text/plain, Size: 1331 bytes --]
Hello,
> I've updated my bthid daemon with some tweaks that
I have just look at it very shortly. I'm not really happy: my patches
against the 0.6 release for the Logitech diNovo desktop is not inclued.
I have send it two time: one times directly to you, one time to the
mailing BlueZ mailing list. I have received no feedback from you at all.
The patches was for:
- support correctly the LT mouse buttons (it has 8 buttons).
- support for more keymaps (using the table from the USB
driver).
Is there some reason to have not answered me ?
> The Microsoft and Apple offerings remain the only Bluetooth
> keyboards of commercial availability known to me. Has anyone
> seen another?
Logitech at at least two keyboards and one mouse with Bluetooth. Don't
have see them in shops, but they will be available really soon. I have
one pre-release.
See: http://logitech.com/bluetooth/ for Logitech bluetooth products.
A review on CNET:
http://reviews.cnet.com/Logitech_DiNovo_Media_Desktop/4505-3134_7-30586106.html
Some online shops already take orders, and even say they have some in
stock.
Good day.
Olivier
--
Olivier Bornet http://www.smartdata.ch/
Olivier.Bornet@smartdata.ch SMARTDATA SA
GPG key ID: C53D9218 CH Martigny/Lausanne
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-06 1:45 [Bluez-users] bthid updated Peter Klausler
` (2 preceding siblings ...)
2003-11-10 13:06 ` Olivier Bornet
@ 2003-11-15 18:02 ` Edd Dumbill
2003-11-15 19:39 ` Marcel Holtmann
3 siblings, 1 reply; 13+ messages in thread
From: Edd Dumbill @ 2003-11-15 18:02 UTC (permalink / raw)
To: Peter Klausler; +Cc: BlueZ Users List
On Thu, 2003-11-06 at 01:45, Peter Klausler wrote:
> I've updated my bthid daemon with some tweaks that
> may or may not have been necessary to get the new
> Apple Bluetooth keyboard to work
Hi Peter,
Is there any chance you might update your module to work against the 2.6
kernel too?
Thanks
-- Edd
-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-15 18:02 ` Edd Dumbill
@ 2003-11-15 19:39 ` Marcel Holtmann
2003-11-15 21:59 ` Edd Dumbill
0 siblings, 1 reply; 13+ messages in thread
From: Marcel Holtmann @ 2003-11-15 19:39 UTC (permalink / raw)
To: Edd Dumbill; +Cc: Peter Klausler, BlueZ Users List
Hi Edd,
> > I've updated my bthid daemon with some tweaks that
> > may or may not have been necessary to get the new
> > Apple Bluetooth keyboard to work
>
> Is there any chance you might update your module to work against the 2.6
> kernel too?
the "User level driver support for input subsystem" should replace the
fake.o driver. For the 2.4 series I have posted a backport to the LKML,
but Marcelo don't picked it up by now.
Regards
Marcel
-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-15 19:39 ` Marcel Holtmann
@ 2003-11-15 21:59 ` Edd Dumbill
2003-11-15 22:50 ` Edd Dumbill
2003-11-15 22:57 ` Marcel Holtmann
0 siblings, 2 replies; 13+ messages in thread
From: Edd Dumbill @ 2003-11-15 21:59 UTC (permalink / raw)
To: Marcel Holtmann; +Cc: Peter Klausler, BlueZ Users List
[-- Attachment #1: Type: text/plain, Size: 1115 bytes --]
On Sat, 2003-11-15 at 19:39, Marcel Holtmann wrote:
> the "User level driver support for input subsystem" should replace the
> fake.o driver. For the 2.4 series I have posted a backport to the LKML,
> but Marcelo don't picked it up by now.
Thanks for the pointer. Attached is a patch to make Peter's software
work with the uinput driver, suitable for bthid-0.8. Tested under
2.6.0-test9.
With a bit of trouble I have this working with an Apple keyboard and an
MS mouse. I have found it troublesome to connect the devices:
* power cycling the mouse is required after a connection is
lost, and even this doesn't always work
* the Apple keyboard is very difficult to connect. Often after
reading the HID descriptor it receives no key events.
Also, the mouse events get lagged and the cursor sways drunkenly around
the desktop: looks like we need to do something to batch up mouse events
so the cursor keeps up with the mouse.
Anyway, I guess this is progress. Thanks Peter and Marcel!
My patch also adds support for the CD eject key on the apple keyboard.
-- Edd
[-- Attachment #2: bthid-uinput.diff --]
[-- Type: text/x-patch, Size: 6689 bytes --]
Only in bthid: bthid
Only in bthid.orig: fake.c
diff -ur bthid.orig/hid.c bthid/hid.c
--- bthid.orig/hid.c 2003-09-08 16:01:35.000000000 +0100
+++ bthid/hid.c 2003-11-15 21:51:31.000000000 +0000
@@ -565,6 +565,7 @@
case 0xb5: butt = KEY_NEXTSONG; break;
case 0xb6: butt = KEY_PREVIOUSSONG; break;
case 0xb7: butt = KEY_STOPCD; break;
+ case 0xb8: butt = KEY_EJECTCD; break; /* Apple kbd */
case 0xcd: butt = KEY_PLAYPAUSE; break;
case 0xe2: butt = KEY_MUTE; break;
case 0xe9: butt = KEY_VOLUMEUP; break;
diff -ur bthid.orig/main.c bthid/main.c
--- bthid.orig/main.c 2003-11-06 01:20:03.000000000 +0000
+++ bthid/main.c 2003-11-15 21:14:37.000000000 +0000
@@ -781,9 +781,6 @@
int scan_mode = 0;
int listen_mode = 0;
-
- out_path = "/dev/input/bluetooth-in";
-
for (argi = 1; argi < argc; argi++)
if (argv [argi][0] != '-')
break;
@@ -791,8 +788,6 @@
daemonize = 0;
else if (!strcmp (argv [argi], "-v"))
verbosity++;
- else if (!strcmp (argv [argi], "-o") && argi < argc-1)
- out_path = argv [++argi];
else if (!strcmp (argv [argi], "-l"))
listen_mode = 1;
else if (!strcmp (argv [argi], "-s"))
@@ -822,7 +817,6 @@
" -n don't become daemon\n"
" -l listen for incoming connections\n"
" -s scan for devices\n"
- " -o output device (%s)\n"
" -b reverse mouse buttons 2 and 5\n"
" -B ms keyboard debounce time (millisecs)\n"
" -a authentication link mode\n"
@@ -833,8 +827,7 @@
" -d Dvorak keyboard and system\n"
" -D Dvorak keyboard on QWERTY system\n"
" -r attempt automatic reconnection\n"
- " -v verbose mode (-v -v is extra)\n",
- out_path);
+ " -v verbose mode (-v -v is extra)\n");
return EXIT_FAILURE;
}
Only in bthid.orig: make.fake
diff -ur bthid.orig/Makefile bthid/Makefile
--- bthid.orig/Makefile 2003-06-17 17:32:07.000000000 +0100
+++ bthid/Makefile 2003-11-15 21:22:25.000000000 +0000
@@ -1,41 +1,34 @@
BTHID_C = global.c sock.c kb.c main.c out.c sdp.c hid.c
BTHID_HDRS = global.h hid.h sock.h kb.h out.h sdp.h hid.h
-EXTRA = README Makefile make.fake fake.c \
- bluetooth-hid bthid-modules msblue.def
+EXTRA = README Makefile \
+ bluetooth-hid msblue.def
SHIP = $(BTHID_C) $(BTHID_HDRS) $(EXTRA)
BTHID_RELS = $(BTHID_C:.c=.o)
CFLAGS = -O -Wall -Wno-parentheses
-MODINSTDIR = /lib/modules/`uname -r`/kernel/drivers/input
-world: bthid fake.o
+world: bthid
bthid: $(BTHID_RELS)
cc -o $@ $(BTHID_RELS) -lbluetooth
$(BTHID_RELS): $(BTHID_HDRS)
-fake.o: fake.c
- make -f make.fake $@
-
-install: bthid fake.o
+install: bthid
[ -c /dev/input/mice ] || \
mknod -m 644 /dev/input/mice c 13 63
- [ -c /dev/input/bluetooth-in ] || \
- mknod -m 644 /dev/input/bluetooth-in c 250 0
+ [ -c /dev/input/uinput ] || \
+ mknod -m 644 /dev/input/bluetooth-in c 10 223
install -m u=rwxs,go=rxs -o pmk -g os bthid /usr/local/bin
- install -m u=rw,go=r -o root -g root fake.o $(MODINSTDIR)
install -m u=rwx,go=rx -o root -g root bluetooth-hid /etc/init.d
- install -m u=rw,go=r -o root -g root bthid-modules /etc/modutils
install -m u=rw,go=r -o root -g root msblue.def /usr/share/hotkeys
(cd /etc/rc2.d; \
rm -f S90bluetooth-hid; \
ln -s ../init.d/bluetooth-hid S90bluetooth-hid)
- update-modules
clean:
rm -f $(BTHID_RELS)
clobber: clean
- rm -f fake.o bthid
+ rm -f bthid
bthid.tar.gz: $(SHIP)
rm -f bthid.tar bthid.tar.gz
diff -ur bthid.orig/out.c bthid/out.c
--- bthid.orig/out.c 2003-01-19 00:58:05.000000000 +0000
+++ bthid/out.c 2003-11-15 21:16:01.000000000 +0000
@@ -3,58 +3,84 @@
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
+#include <stdio.h>
#include <errno.h>
+
+#include <asm/types.h>
+#include <linux/input.h>
+#include <linux/uinput.h>
+
/*
* Output to the pseudo-input device
*/
-#define MAX_BUFF 1024
+char *out_path;
-char *out_path;
-
-static int out_fd = -1;
-static int out_ct;
-static char out_buff [MAX_BUFF];
+static int out_fd=-1;
void
-out_open (void) {
- if (out_fd < 0 && out_path) {
- out_fd = open (out_path, O_WRONLY | O_NDELAY);
- if (out_fd < 0) {
- syslog (LOG_ERR, "can't open %s: %s",
- out_path, strerror (errno));
- out_path = 0;
- }
- }
+out_open(void)
+{
+ struct uinput_user_dev device;
+ int aux;
+
+ if (out_fd >=0)
+ return;
+
+ out_fd = open ("/dev/input/uinput", O_RDWR);
+ if (out_fd < 0) {
+ syslog (LOG_ERR, "can't open %s: %s",
+ out_path, strerror (errno));
+ out_path = 0;
+ }
+
+ strcpy(device.name, "Bluetooth device");
+ device.id.bustype = BUS_USB;
+ device.id.vendor = 2;
+ device.id.product = 3;
+ device.id.version = 4;
+ ioctl(out_fd, UI_SET_EVBIT, EV_KEY);
+ ioctl(out_fd, UI_SET_EVBIT, EV_REL);
+
+ /* set key events we can generate (in this case, all) */
+ for (aux = 0; aux < KEY_MAX; aux++)
+ ioctl(out_fd, UI_SET_KEYBIT, aux);
+
+ for (aux = REL_X; aux <= REL_MISC; aux++)
+ ioctl(out_fd, UI_SET_RELBIT, aux);
+
+ /* write down information for creating a new device */
+ if (write(out_fd, &device, sizeof(struct uinput_user_dev)) < 0) {
+ syslog (LOG_ERR, "can't write device description: %s",
+ strerror (errno));
+ close(out_fd);
+ out_fd=0;
+ return;
+ }
+
+ /* actually creates the device */
+ ioctl(out_fd, UI_DEV_CREATE);
}
+static struct input_event event;
+
void
out_event (int evt, int which, int amount) {
- out_buff [out_ct++] = evt;
- out_buff [out_ct++] = which;
- out_buff [out_ct++] = which >> 8;
- out_buff [out_ct++] = amount;
- if (out_ct == MAX_BUFF)
- out_ct = 0;
-}
+ if (out_fd < 0)
+ return;
+ memset(&event, 0, sizeof(struct input_event));
-void
-out_flush (void) {
+ event.code = which;
+ event.type = evt;
+ event.value = amount;
- int n;
+ write(out_fd, &event, sizeof(struct input_event));
+}
- if (!out_ct)
- return;
- if (out_fd >= 0) {
- n = write (out_fd, out_buff, out_ct);
- if (n != out_ct) {
- syslog (LOG_ERR, "error writing to %s: %s",
- out_path, strerror (errno));
- close (out_fd);
- out_fd = -1;
- }
- }
- out_ct = 0;
+void out_flush (void) {
+ memset(&event, 0, sizeof(struct input_event));
+ event.type = EV_SYN;
+ write(out_fd, &event, sizeof(struct input_event));
}
diff -ur bthid.orig/out.h bthid/out.h
--- bthid.orig/out.h 2003-01-19 00:56:33.000000000 +0000
+++ bthid/out.h 2003-11-15 21:14:44.000000000 +0000
@@ -5,8 +5,6 @@
* Output to the pseudo-input device
*/
-extern char *out_path;
-
void out_open (void);
void out_event (int /*event*/, int /*which*/, int /*amount*/);
void out_flush (void);
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-15 21:59 ` Edd Dumbill
@ 2003-11-15 22:50 ` Edd Dumbill
2003-11-15 22:57 ` Marcel Holtmann
1 sibling, 0 replies; 13+ messages in thread
From: Edd Dumbill @ 2003-11-15 22:50 UTC (permalink / raw)
To: Marcel Holtmann; +Cc: Peter Klausler, BlueZ Users List
On Sat, 2003-11-15 at 21:59, Edd Dumbill wrote:
> Also, the mouse events get lagged and the cursor sways drunkenly around
> the desktop: looks like we need to do something to batch up mouse events
> so the cursor keeps up with the mouse.
OK, I just read Marcel's note about the MS mouse and older CSR chipsets,
like mine. That explains the lag then.
-- Edd
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-15 21:59 ` Edd Dumbill
2003-11-15 22:50 ` Edd Dumbill
@ 2003-11-15 22:57 ` Marcel Holtmann
2003-11-16 13:14 ` Florian Echtler
1 sibling, 1 reply; 13+ messages in thread
From: Marcel Holtmann @ 2003-11-15 22:57 UTC (permalink / raw)
To: Edd Dumbill; +Cc: Peter Klausler, BlueZ Users List
Hi Edd,
> Thanks for the pointer. Attached is a patch to make Peter's software
> work with the uinput driver, suitable for bthid-0.8. Tested under
> 2.6.0-test9.
>
> With a bit of trouble I have this working with an Apple keyboard and an
> MS mouse. I have found it troublesome to connect the devices:
>
> * power cycling the mouse is required after a connection is
> lost, and even this doesn't always work
>
> * the Apple keyboard is very difficult to connect. Often after
> reading the HID descriptor it receives no key events.
>
> Also, the mouse events get lagged and the cursor sways drunkenly around
> the desktop: looks like we need to do something to batch up mouse events
> so the cursor keeps up with the mouse.
maybe it is a good idea to read my notes about HID
http://www.holtmann.org/linux/bluetooth/hid.html
I also put my bthid utility into the utils2 CVS repository. It was
working fine for me and I solved the problem when the HID device
disconnects the L2CAP channels. However it depends on a modified USB HID
kernel module which allows us to input the HID reports directly into
their HID parser. But this USB HID modification is only a bad hack at
the moment.
I like to reuse the kernel HID parser from the USB subsystem, but this
is not as easy as I thought in the first place, because it is hardwired
with the USB subsystem. A HID parser is not a USB only thing, not
anymore. Maybe we should have the HID parser also in user space like
Peter's code does and use the uinput driver. At the moment I think this
is bad, because both parsers must be maintained and writing a good HID
parser is not a easy job. The kernel parser is doing quite a very good
job, but the people from the input subsystem are not very helpful in
building a general HID interface. Any thoughts about how to proceed?
As a side note, be careful with libs2 and utils2 ;)
Regards
Marcel
-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-15 22:57 ` Marcel Holtmann
@ 2003-11-16 13:14 ` Florian Echtler
2003-11-16 13:22 ` Marcel Holtmann
0 siblings, 1 reply; 13+ messages in thread
From: Florian Echtler @ 2003-11-16 13:14 UTC (permalink / raw)
To: Marcel Holtmann; +Cc: Edd Dumbill, Peter Klausler, BlueZ Users List
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> I also put my bthid utility into the utils2 CVS repository. It was
..at SourceForge? Either I'm too dumb to find it, or it's not there.
> their HID parser. But this USB HID modification is only a bad hack at
> the moment.
Hmm, as long as it works, it's not a bad hack :-)
Yours, Florian
- --
Zeit fuer eine neue .sig
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (NetBSD)
iD8DBQE/t3hE7CzyshGvatgRAhIYAJ0Suse6ESXP0eb38pa5Wy7P27JDhACfYcIi
B+TpZU/qnbnzm5wErFqvNYU=
=RyW9
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Bluez-users] bthid updated
2003-11-16 13:14 ` Florian Echtler
@ 2003-11-16 13:22 ` Marcel Holtmann
0 siblings, 0 replies; 13+ messages in thread
From: Marcel Holtmann @ 2003-11-16 13:22 UTC (permalink / raw)
To: Florian Echtler; +Cc: Edd Dumbill, Peter Klausler, BlueZ Users List
Hi Florian,
> > I also put my bthid utility into the utils2 CVS repository. It was
> ..at SourceForge? Either I'm too dumb to find it, or it's not there.
it looks like that the anonymous CVS is not updated yet :(
> > their HID parser. But this USB HID modification is only a bad hack at
> > the moment.
> Hmm, as long as it works, it's not a bad hack :-)
In this case it is a very bad and ugly hack ;)
Regards
Marcel
-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2003-11-16 13:22 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-06 1:45 [Bluez-users] bthid updated Peter Klausler
2003-11-06 9:02 ` Gareth Reakes
2003-11-06 9:10 ` Marcel Holtmann
2003-11-10 11:25 ` Michal Semler (volny.cz)
2003-11-10 11:52 ` Marcel Holtmann
2003-11-10 13:06 ` Olivier Bornet
2003-11-15 18:02 ` Edd Dumbill
2003-11-15 19:39 ` Marcel Holtmann
2003-11-15 21:59 ` Edd Dumbill
2003-11-15 22:50 ` Edd Dumbill
2003-11-15 22:57 ` Marcel Holtmann
2003-11-16 13:14 ` Florian Echtler
2003-11-16 13:22 ` Marcel Holtmann
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.