From owner-cvs-all@FreeBSD.ORG Wed Nov 17 00:22:46 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A720316A4CE; Wed, 17 Nov 2004 00:22:46 +0000 (GMT) Received: from gateway.nixsys.be (gateway.nixsys.be [195.144.77.33]) by mx1.FreeBSD.org (Postfix) with ESMTP id AC8AF43D1D; Wed, 17 Nov 2004 00:22:45 +0000 (GMT) (envelope-from philip@paeps.cx) Received: from wotan.home.paeps.cx (wotan.home.paeps.cx [IPv6:2001:838:37f:10:a00:20ff:fe9b:138c]) by gateway.nixsys.be (Postfix) with ESMTP id 9547DA5; Wed, 17 Nov 2004 01:22:43 +0100 (CET) Received: from fasolt.home.paeps.cx (fasolt.home.paeps.cx [IPv6:2001:838:37f:10:20a:e6ff:fe7d:c08]) by wotan.home.paeps.cx (Postfix) with ESMTP id 4234961AA; Wed, 17 Nov 2004 01:22:43 +0100 (CET) Received: from fasolt.home.paeps.cx (philip@localhost [127.0.0.1]) by fasolt.home.paeps.cx (8.13.1/8.13.1) with ESMTP id iAH0Mh7q025602; Wed, 17 Nov 2004 01:22:43 +0100 (CET) (envelope-from philip@fasolt.home.paeps.cx) Received: (from philip@localhost) by fasolt.home.paeps.cx (8.13.1/8.13.1/Submit) id iAH0Mf3k025601; Wed, 17 Nov 2004 01:22:41 +0100 (CET) (envelope-from philip) Date: Wed, 17 Nov 2004 01:22:41 +0100 From: Philip Paeps To: Scott Long Message-ID: <20041117002241.GG24418@fasolt.home.paeps.cx> Mail-Followup-To: Scott Long , Maksim Yevmenkin , Brooks Davis , Poul-Henning Kamp , src-committers@freebsd.org, cvs-src@freebsd.org, cvs-all@freebsd.org References: <7302.1100627038@critter.freebsd.dk> <20041116180905.GA11906@odin.ac.hmc.edu> <419A492A.7020602@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <419A492A.7020602@freebsd.org> X-Date-in-Rome: ante diem XV Kalendas Decembres MMDCCLVII ab Urbe Condida X-PGP-Fingerprint: FA74 3C27 91A6 79D5 F6D3 FC53 BF4B D0E6 049D B879 X-Message-Flag: Get a proper mailclient! Organization: Happily Disorganized User-Agent: Mutt/1.5.6i cc: src-committers@freebsd.org cc: Brooks Davis cc: cvs-src@freebsd.org cc: cvs-all@freebsd.org cc: Poul-Henning Kamp cc: Maksim Yevmenkin Subject: Re: cvs commit: src/sys/dev/vkbd vkbd.c vkbd_var.h src/sys/modules/vkbd Makefile X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Nov 2004 00:22:47 -0000 On 2004-11-16 11:38:34 (-0700), Scott Long wrote: > What we really need is a single unified keyboard and mouse virtualization > layer that allows bluetooth, usb, and at/ps2 devices to plug in at the > bottom and talk to the one or more console interfaces at the top. I sollicited ideas for a 'generic input core' layer on -arch not long ago :-) My idea/dream/goal/foo is to have a little driver provide an interface to sit between what we now know as kbd and all its children, psm, ums, and the three usb-but-not-hid touchscreen drivers I've been procrastinating on porting, and feed events back to syscons in a consistent sort of way. Something like input-core in the Linux kernel, but prettier *grin* I envision an API where we can do an input_register_mouse() or _kbd() during attachment of a hardware driver (or indeed a virtual driver like vkbd(4)), followed by input_feed_event() in the interrupt handler to send the events over to syscons. Hardware drivers would only need to do a minimum of processing before feeding to syscons (have the Magic Input Core deal with scaling and translating from absolute coordinates to motions and whatnot). The 'on top of the hardware drivers' bit should be fairly simple to do, I think. I've been hacking at it on the bus in the last week or so, getting strange looks from people because apparantly I've been talking to myself. Getting syscons to like input might be a bit trickier, mainly because everytime I try to grasp how syscons works, it becomes even less clear :-o One of the things I'd like to achieve as a nice bonus is to be able to get rid of moused and the duplication it causes, and to allow X11 to get to the mice directly without stealing them from syscons. > It should allow devices to be plugged in at runtime and should insulate the > real console interface from caring which keyboard is plugged in at boot, if > any are at all. And yt _does_ need to work in single user mode and in DDB. That'll be another challenge :-) The problem with ddb will be getting the input to the debugger through the different bits of kernel without losing anything along the way. > I know I'm saying a lot of 'shoulds' right now, but the rise of these > non-at/ps2 keyboards is causing us lots of problems and we need to fix it. > Brooks had talked about working on something similar to what I've described > above, so please work with him to mold your vkbd work into that model. Keyboards, mice, joysticks, voodoo dolls, anything that produces input, I'd like to see under one happy little interface... I hope to have some useful code to post on -hackers or -arch in a couple of busrides. Ideas most welcome. - Philip -- Philip Paeps Please don't Cc me, I am philip@freebsd.org subscribed to the list. The organisation of any program reflects the organisation of the people who developed it.