public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: Vojtech Pavlik <vojtech@suse.cz>
Cc: Dmitry Torokhov <dtor_core@ameritech.net>,
	Michael Hanselmann <linux-kernel@hansmi.ch>,
	linux-kernel@vger.kernel.org,
	linux-input@atrey.karlin.mff.cuni.cz
Subject: Re: [PATCH 1/1] usb/input: Add missing keys to hid-debug.h
Date: Thu, 05 Jan 2006 01:24:34 +0100	[thread overview]
Message-ID: <1136420674.6652.27.camel@localhost> (raw)
In-Reply-To: <20060103195344.GC6443@corona.home.nbox.cz>

Hi guys,

> We should split HID in two parts - transport and decoding. This would
> help in many places:
> 
> 	Bluetooth would be happy, because it uses the same HID protocol
> 	on top of a different transport layer (completely non-USB).
> 
> 	Wacom and many other blacklisted devices would be happy, because
> 	they could use the USB HID transport - no blacklist would be
> 	needed.
> 
> 	Would allow for /dev/usb/rawhid0 style devices, which would give
> 	access to raw HID reports without any parsing done.
> 
> 	Would allow userspace drivers for broken UPS devices (like APC)
> 	without the need for special handling of their bugs in the kernel.
> 
> It seems to me it could be almost its own layer, like serio or gameport.
> Windows has an API like that.
> 
> I don't have the time to do the split myself, but it shouldn't be too
> hard.

I actually started this work when I presented the Bluetooth HID at the
Linux-Kongress 2004. However getting this fully done is not as easy as
it sounds. There are still parts inside the HID driver that I still have
no clue why they exists and what they actually do. A good revision
history inside the SCM seems really important for this driver.

The biggest problem that I see is that we can't break the current USB
HID driver, because this will render a lot of desktop system totally
useless and one 2.6 release is not enough to sort the problems out. Even
breaking the -mm kernel doesn't sound very helpful.

My idea actually was to create a HID subsystem under drivers/hid/ which
will be a fully copy of the current usbhid.ko driver, but without any
USB related code. This means that hiddev needs its own major number.
After that I am happy to offer the Bluetooth subsystem as testing base
for the new HID subsystem. The number of devices are still limited, but
it should be enough to sort out the basic problems.

The rawhidX devices should not be USB specific, because we might even
need them with Bluetooth as transport. There exists a Wacom tablet that
might make use of it.

I also need raw access to the reports (sending and receiving) for some
special features. The LCD displays of some Logitech keyboards are using
two report IDs for this job. It would be great to handle them via a
special rawhidX (with a ID filter) or via an extra driver while the
basic input processing is still done by the HID driver.

Regards

Marcel



      parent reply	other threads:[~2006-01-05  0:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-02 23:37 [PATCH 1/1] usb/input: Add missing keys to hid-debug.h Michael Hanselmann
2006-01-03  6:42 ` Dmitry Torokhov
2006-01-03 19:53   ` Vojtech Pavlik
2006-01-03 22:11     ` usb/input: Split into separate layers (was: Re: [PATCH 1/1] usb/input: Add missing keys to hid-debug.h) Michael Hanselmann
2006-01-04  7:10       ` Dmitry Torokhov
2006-01-04 10:34       ` Vojtech Pavlik
2006-01-05  0:24     ` Marcel Holtmann [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1136420674.6652.27.camel@localhost \
    --to=marcel@holtmann.org \
    --cc=dtor_core@ameritech.net \
    --cc=linux-input@atrey.karlin.mff.cuni.cz \
    --cc=linux-kernel@hansmi.ch \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vojtech@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox