Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S266892AbUAXIjx (ORCPT ); Sat, 24 Jan 2004 03:39:53 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S266893AbUAXIjx (ORCPT ); Sat, 24 Jan 2004 03:39:53 -0500 Received: from twilight.ucw.cz ([81.30.235.3]:4224 "EHLO midnight.ucw.cz") by vger.kernel.org with ESMTP id S266892AbUAXIju (ORCPT ); Sat, 24 Jan 2004 03:39:50 -0500 Date: Sat, 24 Jan 2004 09:39:58 +0100 From: Vojtech Pavlik To: "P. Christeas" Cc: lkml , omnibook@zurich.csail.mit.edu Subject: Re: Solved: atkbd w 2.6.2rc1 : HowTo for extra (inet) keys ? Message-ID: <20040124083958.GA445@ucw.cz> References: <200401232204.27819.p_christ@hol.gr> <20040123210953.GA12647@ucw.cz> <200401240428.30493.p_christ@hol.gr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200401240428.30493.p_christ@hol.gr> User-Agent: Mutt/1.4.1i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3163 Lines: 84 On Sat, Jan 24, 2004 at 04:28:30AM +0200, P. Christeas wrote: > After spending my evening on it :-( I managed to find the correct keys for > the Omnibook XE3: > (I could only reverse-engineer the previous hack I 've had for it) > Download and hack the 'console-tools' package (from sourceforge, project > "lct") so that 'setkeycodes' does accept keycodes >127. > > Vojtech, is 512 the upper bound for at setkeycodes? > > Using 2.6.2-rc1, issue: > setkeycodes e071 236 > setkeycodes e072 237 > setkeycodes e073 238 > setkeycodes e074 239 > > so that the upper (near the screen) row of "internet" buttons is assigned to > the keys X expect to receive. > e071 etc. can be found using 'showkey -s' > I still don't get where 236 came from (so that I could help other kbds, as > well). The almost right solution here would be to write an xkb keyboard description that matches the 2.6 keycode->scancode mappings, so that once you get the 'setkeycodes' command right, both the kernel and X will understand the keys correctly. With your approach you got the keys correct solely in X, not the kernel. I'll take a look at this. The completely right approach would be to teach X to either use the event interface or at least the medium raw mode. > > On Fri, Jan 23, 2004 at 10:04:27PM +0200, P. Christeas wrote: > > > Hello again. > > > I just reverted my atkbd.c code to your version (Linus's tree) and > > > unfortunately have 4 keys 'missing' from my HP Omnibook XE3GC extra > > > "internet keys". > > > Question 1: Can I fix the table from userland, using some utility? That > > > is, can I upload an updated table into the kernel, so that I don't have > > > to reboot? > > > > 'setkeycodes' can do that. > > > > > Q 2: Do you have any HowTo/QA for that? > > > > Not yet, but I'll have to write one. > > > > > Q 3: Will that work under X? (which AFAIK reads the 'raw' codes) > > > > X needs to be set up as well. In 2.6, X doesn't get real raw codes but > > instead simulated raw codes generated by the kernel. > > > > > Q 4: It has been rather difficult for me to compute the scancodes needed > > > for the table. Could you put the "formula" onto the HowTo? > > > > > > FYI, the codes are: > > > "www": Unknown key pressed (translated set 2, code 0xf3 on > > > isa0060/serio0). "Mail": Unknown key pressed (translated set 2, code > > > 0xf4 on isa0060/serio0). "Launch": Unknown key pressed (translated set 2, > > > code 0xf2 on isa0060/serio0). "Help": Unknown key pressed (translated > > > set 2, code 0xf1 on isa0060/serio0). > > > > The formula for setkeycodes is: > > > > if (code > 0x100) > > you're out of luck, setkeycodes doesn't handle this yet; > > else if (code > 0x80) > > result = code - 0x80 + 0xe000; > > else > > result = code; > > > > And then you use 'setkeycodes result keycode', > > > > where keycode you find in include/linux/input.h. -- Vojtech Pavlik SuSE Labs, SuSE CR - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/