From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HGzrQ-00057j-I9 for qemu-devel@nongnu.org; Tue, 13 Feb 2007 10:46:28 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HGzrO-000522-02 for qemu-devel@nongnu.org; Tue, 13 Feb 2007 10:46:28 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HGzrN-00051u-LC for qemu-devel@nongnu.org; Tue, 13 Feb 2007 10:46:25 -0500 Received: from mtaout03-winn.ispmail.ntl.com ([81.103.221.49]) by monty-python.gnu.org with esmtp (Exim 4.52) id 1HGzrN-00087i-4C for qemu-devel@nongnu.org; Tue, 13 Feb 2007 10:46:25 -0500 Received: from aamtaout03-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout03-winn.ispmail.ntl.com with ESMTP id <20070213154622.WJAH1468.mtaout03-winn.ispmail.ntl.com@aamtaout03-winn.ispmail.ntl.com> for ; Tue, 13 Feb 2007 15:46:22 +0000 Received: from miranda.arrow ([213.107.21.212]) by aamtaout03-winn.ispmail.ntl.com with ESMTP id <20070213154622.WDFI26699.aamtaout03-winn.ispmail.ntl.com@miranda.arrow> for ; Tue, 13 Feb 2007 15:46:22 +0000 Received: from sdb by miranda.arrow with local (Exim 4.50) id 1HGzrI-0002Bv-GA for qemu-devel@nongnu.org; Tue, 13 Feb 2007 15:46:20 +0000 Date: Tue, 13 Feb 2007 15:46:20 +0000 From: Stuart Brady Message-ID: <20070213154620.GA8409@miranda.arrow> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="pWyiEgJYm5f9v55/" Content-Disposition: inline Subject: [Qemu-devel] [PATCH] allow shift-pageup and shift-pagedown for scrolling in text consoles Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --pWyiEgJYm5f9v55/ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello, I've attached a patch that allows shift-pageup and shift-pagedown to be used for scrolling in text consoles. Some users are surprised that they have to use ctrl-pageup and ctrl-pagedown instead. Obviously this does affect all text consoles, and not just the monitor. I added a separate QEMU_KEY_SHIFT_PAGEUP and QEMU_KEY_SHIFT_PAGEDOWN, but I'm not sure if I should have renamed QEMU_KEY_CTRL_PAGEUP and QEMU_KEY_CTRL_PAGEDOWN instead. It also fixes a minor fomatting problem in the same code. Does it look okay? Cheers, -- Stuart Brady --pWyiEgJYm5f9v55/ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="shift.diff" Index: console.c =================================================================== RCS file: /sources/qemu/qemu/console.c,v retrieving revision 1.12 diff -u -r1.12 console.c --- console.c 10 Feb 2007 22:37:56 -0000 1.12 +++ console.c 13 Feb 2007 15:30:49 -0000 @@ -1078,6 +1078,12 @@ case QEMU_KEY_CTRL_PAGEDOWN: console_scroll(10); break; + case QEMU_KEY_SHIFT_PAGEUP: + console_scroll(-10); + break; + case QEMU_KEY_SHIFT_PAGEDOWN: + console_scroll(10); + break; default: /* convert the QEMU keysym to VT100 key string */ q = buf; Index: sdl.c =================================================================== RCS file: /sources/qemu/qemu/sdl.c,v retrieving revision 1.34 diff -u -r1.34 sdl.c --- sdl.c 24 Jan 2007 21:40:21 -0000 1.34 +++ sdl.c 13 Feb 2007 15:30:49 -0000 @@ -366,6 +366,12 @@ case SDLK_PAGEDOWN: keysym = QEMU_KEY_CTRL_PAGEDOWN; break; default: break; } + } else if (ev->key.keysym.mod & (KMOD_LSHIFT | KMOD_RSHIFT)) { + switch(ev->key.keysym.sym) { + case SDLK_PAGEUP: keysym = QEMU_KEY_SHIFT_PAGEUP; break; + case SDLK_PAGEDOWN: keysym = QEMU_KEY_SHIFT_PAGEDOWN; break; + default: break; + } } else { switch(ev->key.keysym.sym) { case SDLK_UP: keysym = QEMU_KEY_UP; break; @@ -376,7 +382,8 @@ case SDLK_END: keysym = QEMU_KEY_END; break; case SDLK_PAGEUP: keysym = QEMU_KEY_PAGEUP; break; case SDLK_PAGEDOWN: keysym = QEMU_KEY_PAGEDOWN; break; - case SDLK_BACKSPACE: keysym = QEMU_KEY_BACKSPACE; break; case SDLK_DELETE: keysym = QEMU_KEY_DELETE; break; + case SDLK_BACKSPACE: keysym = QEMU_KEY_BACKSPACE; break; + case SDLK_DELETE: keysym = QEMU_KEY_DELETE; break; default: break; } } Index: vl.h =================================================================== RCS file: /sources/qemu/qemu/vl.h,v retrieving revision 1.185 diff -u -r1.185 vl.h --- vl.h 8 Feb 2007 23:09:59 -0000 1.185 +++ vl.h 13 Feb 2007 15:30:49 -0000 @@ -226,6 +226,8 @@ #define QEMU_KEY_CTRL_END 0xe405 #define QEMU_KEY_CTRL_PAGEUP 0xe406 #define QEMU_KEY_CTRL_PAGEDOWN 0xe407 +#define QEMU_KEY_SHIFT_PAGEUP 0xe408 +#define QEMU_KEY_SHIFT_PAGEDOWN 0xe409 void kbd_put_keysym(int keysym); --pWyiEgJYm5f9v55/--