From owner-freebsd-current@FreeBSD.ORG Sat May 21 00:07:30 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB81616A4CE; Sat, 21 May 2005 00:07:30 +0000 (GMT) Received: from mailgate1b.savvis.net (mailgate1b.savvis.net [216.91.182.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5472243D64; Sat, 21 May 2005 00:07:30 +0000 (GMT) (envelope-from Maksim.Yevmenkin@savvis.net) Received: from localhost (localhost.localdomain [127.0.0.1]) by mailgate1b.savvis.net (Postfix) with ESMTP id B3BB43C03F; Fri, 20 May 2005 19:07:29 -0500 (CDT) Received: from mailgate1b.savvis.net ([127.0.0.1]) by localhost (mailgate1b.savvis.net [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 04373-01-16; Fri, 20 May 2005 19:07:29 -0500 (CDT) Received: from out002.email.savvis.net (out002.apptix.savvis.net [216.91.32.45]) by mailgate1b.savvis.net (Postfix) with ESMTP id 789AD3BE37; Fri, 20 May 2005 19:07:29 -0500 (CDT) Received: from s228130hz1ew171.apptix-01.savvis.net ([10.146.4.29]) by out002.email.savvis.net with Microsoft SMTPSVC(6.0.3790.211); Fri, 20 May 2005 19:07:26 -0500 Received: from [10.254.186.111] ([66.35.239.94]) by s228130hz1ew171.apptix-01.savvis.net with Microsoft SMTPSVC(6.0.3790.211); Fri, 20 May 2005 19:07:16 -0500 Message-ID: <428E7BAF.200@savvis.net> Date: Fri, 20 May 2005 17:07:11 -0700 From: Maksim Yevmenkin User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050404) X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-current@freebsd.org References: <4288EBEA.5030701@savvis.net> <428A5A58.6010601@savvis.net> <428B7B99.7080206@savvis.net> In-Reply-To: <428B7B99.7080206@savvis.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 21 May 2005 00:07:16.0654 (UTC) FILETIME=[0C3B9CE0:01C55D99] X-Virus-Scanned: amavisd-new at savvis.net Subject: Re: keyboard mux driver (straw man proposal & code) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 May 2005 00:07:31 -0000 dear hackers, next version of experimental keyboard mux can be downloaded from http://www.geocities.com/m_evmenkin/kbdmux-2.tar.gz (~8K) also on freefall in my home directory (freefall:~emax/kbdmux-2.tar.gz). i gave up idea of using slave keyboards in K_XLATE mode. for whatever reason i could not get it to work in console (it did work just fine in X). so, i re-shaped the code and now kbdmux treats slave keyboards just as suppliers of raw at scan codes. when keyboard is added to the mux it will set be switched into K_RAW mode. i also decided to not add auxiliary device interface. i think its better to pass keyboard mux ioctl's through /dev/console. i tried the code with one ps/2 keyboard connected to the mux (pass-through) and it worked for me in both X and console. any feedback is welcome! thanks, max Maksim Yevmenkin wrote: > and yet another reply to myself :) > > i found few problems with the code and i'm going to fix them. > > max > > Maksim Yevmenkin wrote: > >> replying to myself :) >> >> also bcc to folks who might be interested (mostly from vkbd(4) >> discussion). >> >> i have changed the proposed kbdmux code a bit. basically auxiliary >> device interface is gone. there can only be one kbdmux. it is no >> longer required to keep kbdmux control device open. so, right now its >> pretty much pure keyboard driver. i have also updated test program >> (works for me in console mode). >> >> http://www.geocities.com/m_evmenkin/kbdmux-1.tar.gz (~6K) >> >> the code also on freefall in my home directory >> (emax@freefall:kbdmux-1.tar.gz). >> >> thanks, >> max >> >> Maksim Yevmenkin wrote: >> >>> dear hackers, >>> >>> i'd like to follow up on keyboard mux driver discussion with some >>> code. please dont start jumping up and down just yet :) this is a >>> "straw man" code and everyone is welcome to beat the heck out of it. >>> >>> basically the code is based on vkbd(4) and the idea that was >>> discussed long time ago - create a "super" keyboard that consumes all >>> other keyboards in the system. the code creates a "super" kbdmux >>> keyboard. using new special ioctl's one can add multiple keyboards to >>> the mux. then one simple switches the current keyboard to the kbdmux >>> keyboard. >>> >>> as you can see it is not usable from the kernel just yet, but i have >>> managed to create a mux with two vkbd's and it worked (please see >>> kbdmux_test.c program). >>> >>> the questions that i wanted to ask >>> >>> 1) is this good enough abstraction for the keyboard mux? can anyone >>> think of anything that would not work with this model? >>> >>> 2) should we decide to make this usable from the kernel, what is the >>> best way to do it? >>> >>> 3) did i miss anything? please tell me if i did! :) >>> >>> the code can be downloaded from >>> >>> http://www.geocities.com/m_evmenkin/kbdmux.tar.gz (~7K) >>> >>> i also put it in my home directory on freefall. >>> >>> thanks, >>> max >>> _______________________________________________ >>> freebsd-current@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to >>> "freebsd-current-unsubscribe@freebsd.org" >> >> >> >> > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"