From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1IqVbO-0003ok-0b for mharc-grub-devel@gnu.org; Fri, 09 Nov 2007 10:16:58 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IqVbM-0003oc-9b for grub-devel@gnu.org; Fri, 09 Nov 2007 10:16:56 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IqVbJ-0003lz-II for grub-devel@gnu.org; Fri, 09 Nov 2007 10:16:55 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IqVbJ-0003lk-AD for grub-devel@gnu.org; Fri, 09 Nov 2007 10:16:53 -0500 Received: from smtp-vbr6.xs4all.nl ([194.109.24.26]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IqVbI-0003kS-Vz for grub-devel@gnu.org; Fri, 09 Nov 2007 10:16:53 -0500 Received: from localhost.localdomain (249-174.surfsnel.dsl.internl.net [145.99.174.249]) by smtp-vbr6.xs4all.nl (8.13.8/8.13.8) with ESMTP id lA9FGp3G087808 for ; Fri, 9 Nov 2007 16:16:52 +0100 (CET) (envelope-from mgerards@xs4all.nl) From: Marco Gerards To: The development of GRUB 2 References: <472B9CBF.9030702@t-online.de> Mail-Copies-To: mgerards@xs4all.nl Date: Fri, 09 Nov 2007 16:17:23 +0100 In-Reply-To: <472B9CBF.9030702@t-online.de> (Christian Franke's message of "Fri, 02 Nov 2007 22:55:11 +0100") Message-ID: <87ir4bla7w.fsf@xs4all.nl> User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Scanned: by XS4ALL Virus Scanner X-detected-kernel: by monty-python.gnu.org: FreeBSD 4.6-4.9 Subject: Re: [PATCH] Fix grub-emu curses KEY_* mapping X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Nov 2007 15:16:56 -0000 Christian Franke writes: > Curses function keys do not work in grub-emu, this patch fixes this in > grub_ncurses_getkey(). Ha! I once noticed this and forgot to document this bug :( > Another approach would be to remove the scancode translation in > grub_console_getkey(), and check for GRUB_CONSOLE_KEY_* in > grub_cmdline_get() instead. The GRUB_CONSOLE_KEY_* definitions are > already platform specific. Yes, this is really weird! All archs define these macros and expect for i386-pc none of them are used. I actually wonder if any of those work :-) > Christian > > 2007-11-02 Christian Franke > > * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping, > now return control chars instead of GRUB_CONSOLE_KEY_* constants. > This fixes the problem that function keys did not work in grub-emu. > > > --- grub2.orig/util/console.c 2007-07-22 01:32:31.000000000 +0200 > +++ grub2/util/console.c 2007-10-13 16:13:46.000000000 +0200 > @@ -161,53 +161,59 @@ grub_ncurses_getkey (void) > c = getch (); > } > > + /* XXX: return GRUB_CONSOLE_KEY_* does not work here, > + grub_cmdline_get() does not check for these constants. > + At least on i386-pc, GRUB_CONSOLE_KEY_* are in fact keyboard > + scancodes which are converted into control chars by > + grub_console_getkey(). */ > + I do not think this comment is needed. You explained it in the email. I do not like comments that explain why we aren't doing some things, it is usually better to explain why we do something if it is a hack or not obvious. In this case I prefer no comment. > switch (c) > { > case KEY_LEFT: > - c = GRUB_CONSOLE_KEY_LEFT; > + c = 2; /*GRUB_CONSOLE_KEY_LEFT*/ > break; Please just remove the comment. As this appears to be wrong anyways :-) Thanks, Marco